/* Open Sans, вариативный */
@font-face {
    font-family: 'Open Sans';
    src: url("../font/open-sans-cyrillic.woff2") format("woff2");
    font-weight: 300 800;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
    font-family: 'Open Sans';
    src: url("../font/open-sans-cyrillic-ext.woff2") format("woff2");
    font-weight: 300 800;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
    font-family: 'Open Sans';
    src: url("../font/open-sans-latin.woff2") format("woff2");
    font-weight: 300 800;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: 'Open Sans';
    src: url("../font/open-sans-latin-ext.woff2") format("woff2");
    font-weight: 300 800;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
    /* bootstrap */
    --bs-body-line-height: 1.2;
    --bs-body-font-size: 16px;
    /* font */
    --font: 'Open Sans', sans-serif;
    /* color */
    --color: #FF3D13;
    --color-hover: #FF5C38;
    --color2: #FFFFFF;
    --color3: #57757C;
    --color-error: #E5484D;
    --bg: #0E1118;
    --bg2: #2A2E36;
    --bg3: #1E232E;
    /* подложка под автозаполнение */
    --bg-field: var(--bg);
    --line: rgba(255, 255, 255, .2);
    --line2: rgba(255, 255, 255, .5);
    /* font-size */
    --fs-xs: 12px;
    --fs-count: 12px;
    --fs-small: 13px;
    --fs-menu: 14px;
    --fs-placeholder: 15px;
    --fs-btn: 16px;
    --fs-text: 16px;
    --fs-big: 18px;
    --fs-menu-label: 20px;
    --fs-h3: 24px;
    --fs-feedback-label: 32px;
    --fs-h2: 40px;
    --fs-h1: 55px;
    --fs-footer-logo: 24px;
    --fs-logo: 42px;
    --fs-logo-mob: 20px;
    --fs-phone-mob: 18px;
    --fs-slide-text: 32px;
    --fs-slide-label: 40px;
    --fs-slide-title: 70px;
    /* минимум при подгонке текста слайда */
    --fs-slide-min: 24px;
    --fs-modal-title: 24px;
    --fs-price: 36px;
    --fs-product-label: 20px;
    --fs-product-info: 17px;
    --fs-qty: 20px;
    --fs-cart-total: 20px;
    /* height */
    --h-field: 45px;
    --h-icon: 40px;
    --h-caret: 24px;
    --h-search-icon: 24px;
    --h-cart-icon: 27px;
    --h-count: 20px;
    --h-trigger: 22px;
    --h-trigger-icon: 14px;
    /* высота админ-панели */
    --h-toolbar: 39px;
    --h-toolbar-tray: 79px;
    --h-logo: 57px;
    --h-logo-footer: 33px;
    --h-arrow: 50px;
    --h-arrow-sm: 30px;
    --h-dot: 12px;
    --h-dot-sm: 10px;
    --h-btn-float: 50px;
    --h-slider: 420px;
    --h-slide-label: 65px;
    --h-check: 18px;
    --h-check-lg: 20px;
    --h-check-icon: 12px;
    --h-menu-card: 330px;
    --h-menu-card-first: var(--h-menu-card);
    --h-about-icon: 163px;
    --h-map: 392px;
    --h-header-mob: 87px;
    --h-logo-mob: 42px;
    --h-icon-mob: 40px;
    --h-nav-mob: 38px;
    --h-cart-icon-mob: 22px;
    --h-remove-icon: 18px;
    /* line-height */
    --lh-text: 1.375;
    --lh-title: 1.35;
    --lh-note: 1.35;
    --lh-input: 1.3;
    --lh-tight: 1.2;
    --lh-h1: 1.364;
    --lh-btn: 22px;
    --lh-label: 18px;
    --lh-menu: 19px;
    --lh-value: 25px;
    /* высота строк характеристик */
    --lh-product-info: 24px;
    /* border */
    --bd: 1.3px;
    --bd2: 1px;
    --bd3: 2px;
    /* padding */
    --pd-btn: 11px 26px 12px;
    --pd-btn-sm: 6px 16px 7px;
    --pd-disclaimer: 17px 24px;
    --pd-disclaimer-sm: 32px 15px 15px;
    --pd-slide: 40px 87px;
    --pd-modal: 30px;
    --pd-field: 0 16px;
    --pd-field-lg: 0 26px;
    --pd-search-field: 0 45px 0 16px;
    --pd-textarea: 12px 16px;
    --pd-slide-label: 5px 28px;
    --pd-menu-label: 9px 22px;
    --pd-header-top: 9px 0 7px;
    --pd-header-middle: 6px 0 11px;
    --pd-header-bottom: 14px 0;
    --pd-header-mob: 7px 0;
    --pd-dropdown: 10px 0;
    --pd-dropdown-item: 6px 16px;
    --pd-offcanvas-sub: 10px 0;
    --pd-content-top: 40px;
    --pd-footer: 48px 0 42px;
    --pd-about-y: 50px;
    --pd-about-x: 39px;
    --pd-about-b: 70px;
    --pd-about: var(--pd-about-y) var(--pd-about-x) var(--pd-about-b);
    --pd-list: 22px;
    --pd-feedback: 26px 39px 31px;
    --pd-contacts: 24px 30px;
    --pd-text-card: 40px;
    --pd-search-result: 22px 30px;
    --pd-pager: 0 12px;
    --pd-cart: 24px 30px;
    --pd-cart-cell-y: 18px;
    --pd-cart-cell-x: 12px;
    --pd-cart-cell: var(--pd-cart-cell-y) var(--pd-cart-cell-x);
    --pd-checkout-pane: 24px 30px;
    --pd-product-card: 16px;
    --pd-message: 14px 20px;
    /* gap */
    --gap-menu-top: 101px;
    --gap-nav: 157px;
    --gap-contacts: 62px;
    --gap-contacts-item: 14px;
    --gap-icons: 12px;
    --gap-btn: 10px;
    --gap-header-mob: 16px;
    --gap-header-mob-row: 5px;
    --gap-schedule: 4px;
    --gap-schedule-items: 8px;
    --gap-offcanvas: 10px;
    --gap-offcanvas-block: 20px;
    --gap-product: 50px;
    --gap-product-col: 80px;
    --gap-product-tight: 13px;
    --gap-product-info: 18px;
    --gap-product-weight: 28px;
    --gap-product-price: 29px;
    --gap-product-cart: 28px;
    --gap-product-grid: 30px;
    --gap-product-card: 14px;
    --gap-section: 85px;
    --gap-page-title: 30px;
    --gap-slide: 24px;
    --gap-dots: 12px;
    --gap-dots-sm: 7px;
    --gap-arrows: 24px;
    --gap-dots-arrows: 36px;
    --gap-menu-title: 42px;
    --gap-menu-grid: 30px;
    --gap-menu-btn: 47px;
    --gap-footer: 14px;
    --gap-footer-list: 11px;
    --gap-footer-block: 30px;
    --gap-footer-btn: 21px;
    --gap-footer-bottom: 60px;
    --gap-float: 12px;
    --gap-form: 16px;
    --gap-label: 6px;
    --gap-about-title: 31px;
    --gap-about-col: 56px;
    --gap-about-block: 30px;
    --gap-about-label: 16px;
    --gap-about-list: 14px;
    --gap-about-text: 20px;
    --gap-about-btn: 40px;
    --gap-text-h2: 26px;
    --gap-text-h3: 20px;
    --gap-text-p: 20px;
    --gap-text-block: 42px;
    --gap-text-list: 14px;
    --gap-feedback: 37px;
    --gap-feedback-col: 100px;
    --gap-feedback-field: 36px;
    --gap-feedback-btn: 27px;
    --gap-check: 10px;
    --gap-check-row: 17px;
    --gap-search-form: 40px;
    --gap-search-head: 20px;
    --gap-search-result: 20px;
    --gap-pager: 40px;
    --gap-pager-item: 8px;
    --gap-cart: 24px;
    --gap-cart-product: 24px;
    --gap-dialog: 20px;
    --gap-checkout: 30px;
    --gap-checkout-pane: 24px;
    --gap-checkout-progress: 24px;
    /* offset */
    --offset-slider: 28px;
    --offset-arrow-sm: 25px;
    --offset-menu-label: 40px;
    --offset-header-baseline: 2px;
    --offset-glow: 100px;
    /* свечение вокруг фото */
    --offset-product-glow-x: 95px;
    --offset-product-glow-y: 44px;
    --offset-float: 26px;
    --offset-underline: 3px;
    --offset-search-btn: 13px;
    /* крестик диалога */
    --offset-dialog-close: 10px;
    /* сдвиг суммы позиции */
    --offset-cart-total: 10px;
    /* вынос счётчика корзины */
    --offset-count-top: -4px;
    --offset-count-right: -10px;
    /* иконка и заголовок «О нас» */
    --offset-about-icon: 33px;
    --offset-about-icon-top: 21px;
    --offset-about-icon-mob: 24px;
    --offset-about-row: calc(var(--fs-h2) * var(--lh-title) + var(--gap-about-title));
    /* строка подписи «Обратная связь» */
    --offset-feedback-form: calc(var(--fs-feedback-label) * var(--lh-text) + var(--gap-feedback));
    /* width */
    --w-container: 1200px;
    --w-search: 386px;
    --w-btn: 170px;
    --w-disclaimer: 740px;
    --w-modal: 480px;
    --w-feedback-form: 493px;
    --w-about-icon: 155px;
    --w-slide-text: 420px;
    --w-slide-label: 258px;
    --w-qty: 55px;
    /* ширина правой колонки */
    --w-product-info: 458px;
    --w-cart-img: 90px;
    /* ниже — прокрутка таблицы */
    --w-cart-table: 560px;
    --w-cart-total: 260px;
    --w-cart-product: 46%;
    --w-cart-col: 13.5%;
    --w-checkout-sidebar: 340px;
    /* columns */
    --cols-product: 4;
    /* пропорции фото блюда */
    --ratio-product-image: 638 / 486;
    /* radius */
    --radius-sm: 4px;
    --radius: 12px;
    --radius-lg: 20px;
    /* зум картинок по наведению */
    --scale-hover: 1.08;
    /* переход интерактивных элементов */
    --transition: all .40s ease;
    /* растянутый переход прячет автозаполнение */
    --transition-autofill: background-color 9999s ease-in-out 0s;
}

/* Плавная прокрутка к якорям */
html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    font-family: var(--font);
    background: var(--bg);
    color: var(--color2);
}

img {
    max-width: 100%;
    height: auto;
}

/* Базовый цвет ссылок */
a {
    color: var(--color);
    transition: var(--transition);
}

a:hover {
    color: var(--color-hover);
}

/* Ширина контента по макету */
@media (min-width: 1200px) {
    .container-xl, .container-lg, .container-md, .container-sm, .container {
        max-width: var(--w-container);
    }
}

/* Тёмная схема браузерных элементов */
#page {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--bg);
    color-scheme: dark;
}

/* Отступы контента внутренних страниц */
.not-front .wr_content {
    padding-top: var(--pd-content-top);
    padding-bottom: var(--gap-section);
}

#main {
    flex: 1;
}

/* Отступ между секциями */
#slider-block,
.wr_front_content,
.wr_menu,
.wr_about,
.wr_feedback,
.wr_map {
    margin-bottom: var(--gap-section);
}

/* Перенос длинного текста */
#slider-block .node--type-slide .content > *,
#slider-block .node--type-slide .field--name-field-dop-k-zagolovku,
.taxonomy-term--type-catalog.taxonomy-term--view-mode-teaser .field--name-taxonomy-term-title :is(h2, h3, a),
:is(.wr_about .block, .wr_content .region-content:has(.group-left)),
.product-teaser,
.product-full-title,
.product-full-row,
.product-full-weight,
.product-full-body,
.cart-form .cart-cell--product,
.wr_content,
.wr_front_content,
.wr_feedback .region,
.wr_contacts .contacts-card,
.search-result {
    overflow-wrap: break-word;
    word-break: break-word;
}

/* AUTOFILL STYLES */
/* Своя подложка полей */
.modal,
.wr_feedback {
    --bg-field: var(--bg3);
}

.commerce-checkout-flow {
    --bg-field: var(--bg2);
}

/* Автозаполнение в тон полю */
:is(.region-search, .search-page-form, .modal, .wr_feedback, .commerce-checkout-flow) :is(input, select, textarea):is(:-webkit-autofill, :autofill),
:is(.region-search, .search-page-form, .modal, .wr_feedback, .commerce-checkout-flow) :is(input, select, textarea):is(:-webkit-autofill, :autofill):is(:hover, :focus, :active) {
    -webkit-appearance: none;
    appearance: none;
    -webkit-text-fill-color: var(--color2);
    -webkit-box-shadow: inset 0 0 0 1000px var(--bg-field);
    box-shadow: inset 0 0 0 1000px var(--bg-field);
    caret-color: var(--color2);
    /* Firefox подсвечивает автозаполнение фильтром */
    filter: none;
    transition: var(--transition-autofill);
}
/* AUTOFILL STYLES */

/* BUTTON STYLES */
/* Общая база кнопок */
:is(.region-callback, .region-footer-callback, #slider-block .field--name-field-slide-link) :is(a, button):not(.contextual *),
.wr_about .field--type-link a,
:is(.more-link, .view-footer) a,
.vpa-container .vpa-actions .btn,
:is(.modal, .wr_feedback, .product-full-cart, .product-teaser-cart) :is(input, button)[type="submit"],
.modal .modal-footer .btn,
.cart-form .form-actions :is(input, button)[type="submit"],
.commerce-checkout-flow :is(input, button)[type="submit"],
.commerce-checkout-flow .link--previous,
.ui-dialog :is(.form-actions, .ui-dialog-buttonpane) .button {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--gap-btn);
    max-width: 100%;
    min-height: var(--h-field);
    padding: var(--pd-btn);
    border: var(--bd) solid var(--color);
    border-radius: var(--radius);
    color: var(--color2);
    font-family: var(--font);
    font-size: var(--fs-btn);
    font-weight: 500;
    line-height: var(--lh-btn);
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: var(--transition);
}

/* Контурная кнопка */
:is(.region-callback, .region-footer-callback, #slider-block .field--name-field-slide-link) :is(a, button):not(.contextual *),
.wr_about .field--type-link a,
:is(.more-link, .view-footer) a,
.vpa-container .vpa-actions .btn,
.cart-form .form-actions :is(input, button)[type="submit"],
.commerce-checkout-flow .link--previous,
.ui-dialog :is(.form-actions, .ui-dialog-buttonpane) .button--secondary {
    background: transparent;
}

:is(.region-callback, .region-footer-callback, #slider-block .field--name-field-slide-link) :is(a, button):not(.contextual *):hover,
.wr_about .field--type-link a:hover,
:is(.more-link, .view-footer) a:hover,
.vpa-container .vpa-actions .btn:hover,
.cart-form .form-actions :is(input, button)[type="submit"]:hover,
.commerce-checkout-flow .link--previous:hover,
.ui-dialog :is(.form-actions, .ui-dialog-buttonpane) .button--secondary:hover {
    background: var(--color);
    color: var(--color2);
}

/* Ссылки шапки и подвала */
#header-mob .region-callback :is(a, button):not(.contextual *):hover,
#footer .region-footer-callback :is(a, button):not(.contextual *):hover {
    color: var(--color2);
}

/* Ширина кнопок секций */
:is(.more-link, .view-footer) a,
.wr_about .field--type-link a,
.product-full-cart :is(input, button)[type="submit"],
.cart-form .form-actions :is(input, button)[type="submit"],
.commerce-checkout-flow :is(input, button)[type="submit"],
.commerce-checkout-flow .link--previous {
    min-width: var(--w-btn);
}

/* Кнопки во всю ширину */
:is(.modal, .wr_feedback, .product-teaser-cart) :is(input, button)[type="submit"],
.modal .modal-footer .btn,
#offcanvasNav .region-callback :is(a, button):not(.contextual *) {
    width: 100%;
}

/* Кнопка с заливкой акцентом */
:is(.modal, .wr_feedback, .product-full-cart, .product-teaser-cart) :is(input, button)[type="submit"],
.modal .modal-footer .btn,
.cart-form .form-actions :is(input, button)[id^="edit-checkout"],
.commerce-checkout-flow :is(input, button)[type="submit"],
.ui-dialog :is(.form-actions, .ui-dialog-buttonpane) .button--primary {
    background: var(--color);
}

:is(.modal, .wr_feedback, .product-full-cart, .product-teaser-cart) :is(input, button)[type="submit"]:hover,
.modal .modal-footer .btn:hover,
.cart-form .form-actions :is(input, button)[id^="edit-checkout"]:hover,
.commerce-checkout-flow :is(input, button)[type="submit"]:hover,
.ui-dialog :is(.form-actions, .ui-dialog-buttonpane) .button--primary:hover {
    background: var(--color-hover);
    border-color: var(--color-hover);
    color: var(--color2);
}
/* BUTTON STYLES */

/* LINK STYLES */
/* Ссылка в цвет текста */
#header .header-top :is(.nav-link, .mail),
#header .header-middle .col-phone a,
#header .header-bottom :is(.nav-link, .views-row a),
.region-navigation .dropdown-menu .dropdown-item,
#header-mob a:not(.contextual *),
#offcanvasNav :is(.nav-link, .dropdown-item, .views-row a, .contact-item a),
#footer a:not(.contextual *),
.cart-form .cart-cell--product a,
.wr_contacts .contact-item-el a,
.search-result-title a,
.product-teaser-title a,
:is(.product-full-set, .product-full-extra) a {
    color: var(--color2);
    text-decoration: none;
    transition: var(--transition);
}

#header .header-top :is(.nav-link, .mail):hover,
#header .header-middle .col-phone a:hover,
#header .header-bottom :is(.nav-link, .views-row a):is(:hover, .active, .is-active),
.region-navigation .dropdown-menu .dropdown-item:hover,
#header-mob a:not(.contextual *):hover,
#offcanvasNav :is(.nav-link, .dropdown-item, .views-row a, .contact-item a):hover,
#footer a:not(.contextual *):hover,
.cart-form .cart-cell--product a:hover,
.wr_contacts .contact-item-el a:hover,
.search-result-title a:hover,
.product-teaser-title a:hover,
:is(.product-full-set, .product-full-extra) a:hover {
    color: var(--color);
}

/* Сброс отступов bootstrap-меню */
#header .header-top :is(.nav-link, .mail),
#footer .nav-link {
    padding: 0;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
}

/* Логотип акцентным цветом */
#header .header-middle .logo a,
#header-mob .col-logo a,
.offcanvas .offcanvas-header .logo a,
#footer .footer-about .logo a {
    display: inline-block;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--color);
    text-decoration: none;
    transition: var(--transition);
}

#header .header-middle .logo a:hover,
#header-mob .col-logo a:hover,
.offcanvas .offcanvas-header .logo a:hover,
#footer .footer-about .logo a:hover {
    color: var(--color-hover);
}
/* LINK STYLES */

/* MESSENGER ICONS */
/* Общие иконки соцсетей */
.msngrs {
    gap: var(--gap-icons);
}

.msngrs a {
    display: flex;
    transition: var(--transition);
}

.msngrs a:hover {
    opacity: .7;
}
/* MESSENGER ICONS */

/*HEADER STYLES*/
#footer .ajax-progress,
#header .ajax-progress {
    display: none;
}

#header {
    background: var(--bg);
}

/* Верхняя строка */
#header .header-top {
    padding: var(--pd-header-top);
    font-size: var(--fs-menu);
    font-weight: 500;
    line-height: var(--lh-menu);
}

#header .header-top .nav {
    gap: var(--gap-menu-top);
}

#header .header-top .header-info {
    gap: var(--gap-contacts);
}

/* Логотип, режим работы, телефон */
#header .header-middle {
    padding: var(--pd-header-middle);
    border-bottom: var(--bd2) solid var(--line);
}

/* Сдвиг корзины и кнопки */
#header .header-middle .logo,
#header .header-schedule,
#header .header-middle .col-phone {
    margin-bottom: var(--offset-header-baseline);
}

#header .header-middle .logo a {
    font-size: var(--fs-logo);
    line-height: var(--lh-title);
}

#header .header-middle .logo img {
    max-height: var(--h-logo);
    width: auto;
}

/* Режим работы и доставка */
.header-schedule {
    gap: var(--gap-schedule);
}

.header-schedule .ico {
    flex: none;
    width: var(--h-icon);
    height: var(--h-icon);
}

.header-schedule .items {
    gap: var(--gap-schedule-items);
}

.header-schedule .item-label {
    font-size: var(--fs-small);
    font-weight: 600;
    line-height: var(--lh-label);
    color: var(--color3);
}

.header-schedule .item-value {
    font-size: var(--fs-big);
    font-weight: 600;
    line-height: var(--lh-value);
}

.header-schedule .sep {
    font-size: var(--fs-logo);
    font-weight: 300;
    line-height: 1;
    color: var(--line2);
}

#header .header-middle .col-phone a {
    font-size: var(--fs-big);
    font-weight: 600;
    line-height: var(--lh-value);
    white-space: nowrap;
}

/* Меню и поиск */
#header .header-bottom {
    padding: var(--pd-header-bottom);
    background: transparent;
}

#header .header-bottom :is(.nav, .view-content) {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap-nav);
}

#header .header-bottom :is(.nav-link, .views-row a) {
    padding: 0;
    font-size: var(--fs-big);
    font-weight: 600;
    line-height: var(--lh-value);
}

/* Выпадающее подменю */
.region-navigation .dropdown-menu {
    padding: var(--pd-dropdown);
    border: 0;
    border-radius: var(--radius);
    background: var(--bg2);
}

.region-navigation .nav > .nav-item:hover .dropdown-menu {
    display: block;
    top: 100%;
    left: 0;
}

.region-navigation .dropdown-menu .dropdown-item {
    padding: var(--pd-dropdown-item);
    font-size: var(--fs-btn);
    background: transparent;
}

/* Форма поиска */
.region-search,
.search-page-form {
    position: relative;
    max-width: 100%;
}

/* Ширина формы поиска */
.region-search {
    width: var(--w-search);
}

/* Поле во всю ширину */
:is(.region-search, .search-page-form) .form-item {
    width: 100%;
    margin: 0;
}

:is(.region-search, .search-page-form) :is(input[type="search"], input[type="text"], .form-search) {
    width: 100%;
    height: var(--h-field);
    padding: var(--pd-search-field);
    border: var(--bd) solid var(--color3);
    border-radius: var(--radius);
    background: transparent;
    color: var(--color2);
    font-family: var(--font);
    font-size: var(--fs-placeholder);
    font-weight: 500;
    transition: var(--transition);
}

:is(.region-search, .search-page-form) :is(input[type="search"], input[type="text"], .form-search)::placeholder {
    color: var(--color3);
    opacity: 1;
}

:is(.region-search, .search-page-form) :is(input[type="search"], input[type="text"], .form-search):focus {
    border-color: var(--color);
    outline: none;
}

/* Кнопка поиска — лупа */
:is(.region-search, .search-page-form) .form-actions {
    position: absolute;
    top: 50%;
    right: var(--offset-search-btn);
    margin: 0;
    transform: translateY(-50%);
}

:is(.region-search, .search-page-form) :is(input, button)[type="submit"] {
    display: block;
    width: var(--h-search-icon);
    height: var(--h-search-icon);
    padding: 0;
    border: 0;
    font-size: 0;
    background: transparent url("../image/Search.svg") no-repeat center / var(--h-search-icon);
    cursor: pointer;
    transition: var(--transition);
}

:is(.region-search, .search-page-form) :is(input, button)[type="submit"]:hover {
    opacity: .7;
}

/* Корзина */
.region-cart .cart-block--link__expand {
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--h-icon);
    height: var(--h-icon);
    border-radius: 50%;
    background: var(--color);
    transition: var(--transition);
}

.region-cart .cart-block--link__expand:hover {
    background: var(--color-hover);
}

.region-cart .cart-block--summary__icon img {
    width: var(--h-cart-icon);
    height: var(--h-cart-icon);
}

/* *** contextual-region *** */
/* Контекстные ссылки правки */
.contextual-region .contextual {
    display: none;
    top: -8px;
    right: 8px;
}

.contextual-region .contextual-region .contextual {
    top: 8px;
}

.contextual-region:hover .contextual {
    display: block;
}

.contextual-region .contextual .trigger {
    width: var(--h-trigger);
    height: var(--h-trigger);
    background-size: var(--h-trigger-icon) var(--h-trigger-icon);
}

/* Счётчик товаров поверх иконки */
.cart-block--summary .cart-block--summary__count {
    position: absolute;
    top: var(--offset-count-top);
    right: var(--offset-count-right);
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--h-count);
    height: var(--h-count);
    border: var(--bd3) solid var(--bg);
    border-radius: 50%;
    background: var(--color2);
    color: var(--color);
    font-size: var(--fs-count);
    font-weight: 500;
}

/* Мобильная и планшетная шапка */
#header-mob {
    top: 0;
    width: 100%;
    min-height: var(--h-header-mob);
    padding: var(--pd-header-mob);
    background: var(--bg2);
    color: var(--color2);
    border-bottom: 1px solid var(--line);
    z-index: 50;
}

/* Липкая шапка под админ-панелью */
.toolbar-horizontal #header-mob {
    top: var(--h-toolbar);
}

.toolbar-horizontal.toolbar-tray-open #header-mob {
    top: var(--h-toolbar-tray);
}

#header-mob :is(.header-mob-top, .header-mob-bottom) {
    gap: var(--gap-header-mob);
}

#header-mob .header-mob-bottom {
    margin-top: var(--gap-header-mob-row);
}

/* Кнопка меню в белый */
#header-mob .col-nav img {
    display: block;
    width: var(--h-nav-mob);
    height: var(--h-nav-mob);
    filter: brightness(0) invert(1);
}

#header-mob .col-logo a {
    font-size: var(--fs-logo-mob);
    line-height: var(--lh-title);
}

#header-mob .col-logo img {
    max-height: var(--h-logo-mob);
    width: auto;
}

#header-mob .col-phone a {
    font-size: var(--fs-phone-mob);
    font-weight: 600;
    white-space: nowrap;
}

#header-mob .cart-block--link__expand {
    width: var(--h-icon-mob);
    height: var(--h-icon-mob);
}

#header-mob .cart-block--summary__icon img {
    width: var(--h-cart-icon-mob);
    height: var(--h-cart-icon-mob);
}

/* Компактная кнопка звонка */
#header-mob .region-callback :is(a, button):not(.contextual *) {
    min-height: var(--h-icon-mob);
    padding: var(--pd-btn-sm);
    font-size: var(--fs-menu);
}

.offcanvas {
    --bs-offcanvas-bg: var(--bg2);
    color: var(--color2);
}

.offcanvas .btn-close {
    filter: brightness(0) invert(1);
}

/* Логотип бургер-меню */
.offcanvas .offcanvas-header .logo a {
    font-size: var(--fs-logo-mob);
    line-height: var(--lh-title);
}

.offcanvas .offcanvas-header .logo img {
    max-height: var(--h-logo-mob);
    width: auto;
}

#offcanvasNav :is(.nav, .view-content) {
    display: flex;
    flex-direction: column;
    gap: var(--gap-offcanvas);
    margin: var(--gap-offcanvas-block) 0;
}

/* Линия перед контактами */
#offcanvasNav .offcanvas-menus {
    padding-bottom: var(--gap-offcanvas-block);
    border-bottom: var(--bd2) solid var(--line);
}

/* Блоки меню подвала */
#offcanvasNav .offcanvas-block {
    margin-top: var(--gap-offcanvas-block);
}

#offcanvasNav .offcanvas-block :is(.nav, .view-content) {
    margin: 0;
}

#offcanvasNav :is(.nav-link, .dropdown-item, .views-row a) {
    padding: 0;
    font-size: var(--fs-btn);
    font-weight: 600;
}

#offcanvasNav .region-search {
    width: 100%;
    margin-bottom: var(--gap-offcanvas-block);
}

/* Верхнее меню вторичным весом */
#offcanvasNav .region-header-top .nav-link {
    font-size: var(--fs-menu);
    font-weight: 500;
}

#offcanvasNav .contact-item {
    margin-top: var(--gap-offcanvas-block);
}

/* Подписи блоков подвала */
#offcanvasNav .contact-item .contact-item-label,
#offcanvasNav .offcanvas-title {
    margin-bottom: var(--gap-label);
    font-size: var(--fs-small);
    color: var(--color3);
}

#offcanvasNav .offcanvas-callback {
    margin-top: var(--gap-offcanvas-block);
}

/*HEADER STYLES*/

/* SLICK STYLES */
/* Базовые стрелки слайдера */
button.slick-arrow {
    position: absolute;
    top: 50%;
    z-index: 10;
    width: var(--h-arrow-sm);
    height: var(--h-arrow-sm);
    padding: 0;
    border: none;
    outline: none;
    background: transparent url("../image/arrow-top.svg") no-repeat center / var(--h-arrow-sm) var(--h-arrow-sm);
    color: transparent;
    font-size: 0;
    line-height: 0;
    cursor: pointer;
}

button.slick-prev.slick-arrow {
    left: var(--offset-arrow-sm);
    transform: translateY(-50%) rotate(-90deg);
}

button.slick-next.slick-arrow {
    right: var(--offset-arrow-sm);
    transform: translateY(-50%) rotate(90deg);
}

button.slick-arrow::before {
    content: none;
}

/* Базовая пагинация */
ul.slick-dots {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--gap-dots-sm);
    margin: var(--gap-dots-sm) 0;
    padding: 0;
    list-style: none;
}

ul.slick-dots li button {
    display: block;
    width: var(--h-dot-sm);
    height: var(--h-dot-sm);
    padding: 0;
    border: none;
    border-radius: 50%;
    background: var(--color3);
    font-size: 0;
}

ul.slick-dots li button::before {
    display: none;
}

ul.slick-dots li.slick-active button {
    background: var(--color);
}
/* SLICK STYLES */

/* SLIDER STYLES */
/* Первый слайд до инициализации */
.region-slider .view-content:not(.slick-initialized) .views-row {
    display: none;
}

.region-slider .view-content:not(.slick-initialized) .views-row:first-child {
    display: block;
}

#slider-block .view-content {
    position: relative;
    border-radius: var(--radius-lg);
    overflow: hidden;
    background: var(--bg2);
}

#slider-block .node--type-slide {
    position: relative;
}

#slider-block .node--type-slide img {
    display: block;
    width: 100%;
    height: var(--h-slider);
    object-fit: cover;
}

/* Текст поверх баннера */
#slider-block .node--type-slide .content {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: var(--gap-slide);
    padding: var(--pd-slide);
    color: var(--color2);
}

/* Ширина текстовой колонки */
#slider-block .node--type-slide .content > * {
    max-width: var(--w-slide-text);
    margin: 0;
}

/* Поля слайда без отступов */
#slider-block .node--type-slide .field :is(p, ul, h2, h3) {
    margin: 0;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
}

/* Заголовок слайда */
#slider-block .node--type-slide .field--name-field-slide-title {
    font-size: var(--fs-fit, var(--fs-slide-title));
    font-weight: 600;
    line-height: var(--lh-title);
    text-align: left;
}

/* Текст, подогнанный по ширине колонки */
#slider-block .node--type-slide .slide-text--fit {
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}

/* Слово длиннее колонки даже на минимуме */
#slider-block .node--type-slide .slide-text--break {
    overflow-wrap: break-word;
    word-break: break-word;
}

/* Описание слайда */
#slider-block .node--type-slide .field--name-body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--gap-slide);
    font-size: var(--fs-fit, var(--fs-slide-text));
    font-weight: 500;
    line-height: var(--lh-text);
}

/* Акцентная плашка слайда */
#slider-block .node--type-slide .field--name-field-dop-k-zagolovku {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: min(var(--w-slide-label), 100%);
    min-height: var(--h-slide-label);
    max-width: min(var(--w-slide-text), 100%);
    padding: var(--pd-slide-label);
    border-radius: var(--radius);
    background: var(--color);
    font-size: var(--fs-fit, var(--fs-slide-label));
    font-weight: 500;
    line-height: var(--lh-title);
    text-align: center;
}

/* Пагинация */
#slider-block .slick-dots {
    position: absolute;
    right: calc(var(--offset-slider) + var(--h-arrow) * 2 + var(--gap-arrows) + var(--gap-dots-arrows));
    bottom: calc(var(--offset-slider) + (var(--h-arrow) - var(--h-dot)) / 2);
    z-index: 10;
    margin: 0;
    gap: var(--gap-dots);
}

#slider-block .slick-dots :is(li, li button) {
    width: var(--h-dot);
    height: var(--h-dot);
}

#slider-block .slick-dots li button {
    background: var(--color2);
    transition: var(--transition);
}

#slider-block .slick-dots li:is(:hover, .slick-active) button {
    background: var(--color);
}

/* Стрелки */
#slider-block button.slick-arrow {
    top: auto;
    bottom: var(--offset-slider);
    width: var(--h-arrow);
    height: var(--h-arrow);
    border-radius: 50%;
    background-color: var(--color3);
    background-size: var(--h-caret) var(--h-caret);
    transition: var(--transition);
}

#slider-block button.slick-arrow:hover {
    background-color: var(--color);
}

#slider-block button.slick-prev.slick-arrow {
    left: auto;
    right: calc(var(--offset-slider) + var(--h-arrow) + var(--gap-arrows));
    background-image: url("../image/caret-left.svg");
    transform: none;
}

#slider-block button.slick-next.slick-arrow {
    right: var(--offset-slider);
    background-image: url("../image/caret-right.svg");
    transform: none;
}
/* SLIDER STYLES */

/* H1 STYLES */
h1 {
    margin: 0;
    font-family: var(--font);
    font-size: var(--fs-h1);
    font-weight: 600;
    line-height: var(--lh-h1);
    color: var(--color2);
    overflow-wrap: break-word;
}

/* Заголовок главной по центру */
.front-h1 {
    text-align: center;
}

/* Отступ под заголовком */
.not-front .wr_content .block-page-title-block {
    margin-bottom: var(--gap-page-title);
}
/* H1 STYLES */

/* MENU STYLES */
/* Свечение выходит за контейнер */
.wr_menu,
.wr_content:has(.taxonomy-term--type-catalog.taxonomy-term--view-mode-teaser),
.wr_content:has(.product-full) {
    overflow-x: clip;
}

/* Подсветка под каталогом */
:is(.wr_menu, .wr_content:has(.taxonomy-term--type-catalog.taxonomy-term--view-mode-teaser)) > .container {
    position: relative;
    isolation: isolate;
}

:is(.wr_menu, .wr_content:has(.taxonomy-term--type-catalog.taxonomy-term--view-mode-teaser)) > .container::before {
    content: '';
    position: absolute;
    top: calc(var(--offset-glow) * -1);
    right: calc(var(--offset-glow) * -1);
    bottom: calc(var(--offset-glow) * -1);
    left: calc(var(--offset-glow) * -1);
    z-index: -1;
    background: url("../image/Ellipse.svg") no-repeat center / 100% 100%;
    pointer-events: none;
}

.wr_menu .block-title {
    margin: 0 0 var(--gap-menu-title);
    font-size: var(--fs-h2);
    font-weight: 600;
    line-height: var(--lh-title);
}

/* Сетка каталога */
#main .view-content:has(.taxonomy-term--type-catalog.taxonomy-term--view-mode-teaser) {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--gap-menu-grid);
}

#main .view-content:has(.taxonomy-term--type-catalog.taxonomy-term--view-mode-teaser) .views-row {
    height: var(--h-menu-card);
}

/* Первая карточка во всю ширину */
#main .view-content:has(.taxonomy-term--type-catalog.taxonomy-term--view-mode-teaser) .views-row:first-child {
    grid-column: 1 / -1;
}

/* Своя высота первой карточки */
#main .view-content:has(.taxonomy-term--type-catalog.taxonomy-term--view-mode-teaser) .views-row:first-child,
#main .view-content:has(.taxonomy-term--type-catalog.taxonomy-term--view-mode-teaser) .views-row:first-child .taxonomy-term--type-catalog.taxonomy-term--view-mode-teaser {
    height: var(--h-menu-card-first);
}

/* Карточка категории */
.taxonomy-term--type-catalog.taxonomy-term--view-mode-teaser {
    position: relative;
    height: var(--h-menu-card);
    overflow: hidden;
    border-radius: var(--radius-lg);
    background: var(--bg2);
}

/* Фото заполняет карточку целиком */
.taxonomy-term--type-catalog.taxonomy-term--view-mode-teaser :is(.field--type-image, .field--type-image *) {
    display: block;
    height: 100%;
}

.taxonomy-term--type-catalog.taxonomy-term--view-mode-teaser img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--transition);
}

.taxonomy-term--type-catalog.taxonomy-term--view-mode-teaser:hover img {
    transform: scale(var(--scale-hover));
}

/* Мобильное фото скрыто */
.taxonomy-term--type-catalog.taxonomy-term--view-mode-teaser .field--name-field-image-mob {
    display: none;
}

/* Плашка названия поверх фото */
.taxonomy-term--type-catalog.taxonomy-term--view-mode-teaser .field--name-taxonomy-term-title {
    position: absolute;
    bottom: var(--offset-menu-label);
    left: var(--offset-menu-label);
    z-index: 1;
    display: inline-flex;
    align-items: center;
    max-width: calc(100% - var(--offset-menu-label) * 2);
    min-height: var(--h-field);
    padding: var(--pd-menu-label);
    border-radius: var(--radius);
    background: var(--color3);
    transition: var(--transition);
}

.taxonomy-term--type-catalog.taxonomy-term--view-mode-teaser .field--name-taxonomy-term-title :is(h2, h3, a) {
    margin: 0;
    color: var(--color2);
    font-size: var(--fs-menu-label);
    font-weight: 600;
    line-height: var(--lh-text);
    text-decoration: none;
}

.taxonomy-term--type-catalog.taxonomy-term--view-mode-teaser:hover .field--name-taxonomy-term-title {
    background: var(--color);
}

/* Кнопка «Полное меню» */
:is(.more-link, .view-footer) {
    display: flex;
    justify-content: center;
    margin-top: var(--gap-menu-btn);
}

:is(.more-link, .view-footer) p {
    margin: 0;
}
/* MENU STYLES */

/* ABOUT STYLES */
/* Карточка «О нас» */
:is(.wr_about .block, .wr_content .region-content:has(.group-left)) {
    padding: var(--pd-about);
    border-radius: var(--radius-lg);
    background: var(--bg2);
}

/* Высота строки заголовка */
.wr_content .region-content:has(.group-left) {
    --offset-about-row: calc(var(--fs-h1) * var(--lh-h1) + var(--gap-about-title));
}

/* Две колонки карточки */
:is(.wr_about .block:has(.group-left), .wr_content .region-content:has(.group-left)) {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--gap-about-col);
    align-items: start;
}

/* Обёртки не мешают сетке */
:is(.wr_about .block, .wr_content .region-content:has(.group-left)) *:has(.group-left),
.wr_content .region-content:has(.group-left) > .block:has(h1) {
    display: contents;
}

:is(.wr_about .block, .wr_content .region-content:has(.group-left)) *:has(.group-left)::after {
    display: none;
}

/* Заголовок во всю ширину */
.wr_about .block-title,
.wr_content .region-content:has(.group-left) h1 {
    grid-column: 1 / -1;
    margin: 0 0 var(--gap-about-title);
}

.wr_about .block-title {
    font-size: var(--fs-h2);
    font-weight: 500;
    line-height: var(--lh-title);
}

/* Колонки во всю ширину */
:is(.wr_about .block, .wr_content .region-content:has(.group-left)) :is(.group-left, .group-right) {
    float: none;
    width: auto;
    min-width: 0;
}

/* Высота правой колонки */
:is(.wr_about, .wr_content .region-content:has(.group-left)) .group-right {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: var(--gap-about-block);
    grid-row: span 2;
}

/* Декоративная иконка карточки */
:is(.wr_about, .wr_content .region-content:has(.group-left)) .field--name-field-image {
    position: absolute;
    top: calc(var(--offset-about-icon-top) - var(--pd-about-y) - var(--offset-about-row));
    right: calc(var(--offset-about-icon) - var(--pd-about-x));
    max-width: min(var(--w-about-icon), 100%);
}

:is(.wr_about, .wr_content .region-content:has(.group-left)) .field--name-field-image img {
    display: block;
    width: 100%;
    max-height: var(--h-about-icon);
    object-fit: contain;
}

/* Подзаголовки «Преимущества» и «Гарантии» */
:is(.wr_about, .wr_content .region-content:has(.group-left)) .field__label {
    margin: 0 0 var(--gap-about-label);
    font-size: var(--fs-h3);
    font-weight: 500;
    line-height: var(--lh-title);
}

:is(.wr_about, .wr_content .region-content:has(.group-left)) :is(.field, .field p, .field li) {
    font-size: var(--fs-text);
    line-height: var(--lh-text);
}

:is(.wr_about, .wr_content .region-content:has(.group-left)) .field p {
    margin: 0 0 var(--gap-about-text);
}

/* Списки преимуществ и гарантий */
:is(.wr_about, .wr_content .region-content:has(.group-left)) .field :is(ul, ol) {
    margin: 0;
    padding-left: var(--pd-list);
}

:is(.wr_about, .wr_content .region-content:has(.group-left)) .field li + li {
    margin-top: var(--gap-about-list);
}

/* Кнопка «Подробнее» под текстом */
.wr_about :is(.more-link, .view-footer, .field--type-link) {
    grid-column: 1;
    justify-content: flex-start;
    margin-top: var(--gap-about-btn);
}
/* ABOUT STYLES */

/* PRODUCT PAGE STYLES*/
/* Сетка блюд раздела */
#main .view-content:has(.product-teaser) {
    display: grid;
    grid-template-columns: repeat(var(--cols-product), minmax(0, 1fr));
    gap: var(--gap-product-grid);
}

/* Карточки одной высоты */
#main .view-content:has(.product-teaser) .views-row {
    display: flex;
}

/* Карточка блюда */
.product-teaser {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: var(--gap-product-card);
    padding: var(--pd-product-card);
    border-radius: var(--radius-lg);
    background: var(--bg2);
}

/* Фото карточки квадратом */
.product-teaser-image {
    overflow: hidden;
    border-radius: var(--radius);
}

/* Растягиваем обёртки blazy */
.product-teaser-image :is(.field, .field__item, .blazy, picture, a) {
    display: block;
}

.product-teaser-image img {
    display: block;
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    transition: var(--transition);
}

.product-teaser:hover .product-teaser-image img {
    transform: scale(var(--scale-hover));
}

/* Цена прижата к низу */
.product-teaser-body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: var(--gap-label);
}

.product-teaser-title {
    margin: 0;
    font-size: var(--fs-text);
    font-weight: 600;
    line-height: var(--lh-text);
}

.product-teaser-price {
    margin-top: auto;
    font-size: var(--fs-big);
    font-weight: 700;
    line-height: var(--lh-tight);
}

/* Кнопка покупки из списка */
.product-teaser-cart {
    position: relative;
    margin-top: var(--gap-product-card);
}

.product-teaser-cart form {
    display: flex;
    flex-direction: column;
}

/* Из списка одна порция */
.product-teaser-cart :is(.field--name-quantity, .field--name-purchased-entity) {
    display: none;
}

/* Индикатор поверх кнопки */
.product-teaser-cart .ajax-progress {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--gap-label);
    border-radius: var(--radius);
    background: var(--bg2);
    font-size: var(--fs-small);
    line-height: 1;
    color: var(--color3);
}

/* Колонки по краям контейнера */
.product-full > .row {
    --bs-gutter-x: 0;
    column-gap: var(--gap-product-col);
}

/* Фиксированная ширина правой колонки */
.product-full > .row > .product-full-info {
    flex: 0 0 var(--w-product-info);
    max-width: 100%;
}

/* Фото блюда */
.product-full-image {
    position: relative;
    isolation: isolate;
}

/* Свечение под фото */
.product-full-image::before {
    content: '';
    position: absolute;
    top: calc(var(--offset-product-glow-y) * -1);
    right: calc(var(--offset-product-glow-x) * -1);
    bottom: calc(var(--offset-product-glow-y) * -1);
    left: calc(var(--offset-product-glow-x) * -1);
    z-index: -1;
    background: url("../image/Ellipse.svg") no-repeat center / 100% 100%;
    pointer-events: none;
}

.product-full-image-inner {
    overflow: hidden;
    border-radius: var(--radius-lg);
}

/* Растягиваем обёртки blazy */
.product-full-image :is(.field, .field__item, .current-slide, .element, .blazy, picture, a) {
    display: block;
}

.product-full-image img {
    display: block;
    width: 100%;
    aspect-ratio: var(--ratio-product-image);
    object-fit: cover;
    transition: var(--transition);
}

.product-full-image:hover img {
    transform: scale(var(--scale-hover));
}

/* Название блюда */
.product-full-title {
    margin: 0 0 var(--gap-product-tight);
    font-size: var(--fs-h1);
    font-weight: 600;
    line-height: var(--lh-h1);
}

/* Состав и пищевая ценность */
.product-full-row {
    font-size: var(--fs-product-info);
    font-weight: 400;
    line-height: var(--lh-product-info);
}

/* Подпись группы крупнее значения */
.product-full-sostav .field__label,
.product-full-set .field__label,
.product-full-extra .field__label,
.product-full-label {
    font-size: var(--fs-product-label);
    font-weight: 600;
    line-height: var(--lh-product-info);
}

.product-full-row + .product-full-row {
    margin-top: var(--gap-product-info);
}

/* Вес и количество кусочков */
.product-full-weight {
    margin-top: var(--gap-product-weight);
    font-size: var(--fs-product-info);
    font-weight: 400;
    line-height: var(--lh-product-info);
}

/* Двоеточие подписи стилями */
:is(.product-full-row, .product-full-weight) .field__label::after,
.product-full-label::after {
    content: ': ';
}

/* Подпись строкой над значением */
.product-full-label {
    display: block;
}

/* Состав в строку */
.product-full-sostav .field__items .field__item {
    display: inline;
}

.product-full-sostav .field__item:not(:last-child)::after {
    content: ', ';
}

/* Первая буква состава заглавная */
.product-full-sostav :is(.field__items, .field > .field__item)::first-letter {
    text-transform: uppercase;
}

/* Состав сета, прочие поля */
:is(.product-full-set, .product-full-extra) .field__label {
    display: block;
}

:is(.product-full-set, .product-full-extra) :is(.field__items, .field__item) {
    display: inline;
}

:is(.product-full-set, .product-full-extra) .field__item:not(:last-child)::after {
    content: ', ';
}

/* Пищевая ценность в строку */
.product-full-energy :is(.field, .field__label, .field__items, .field__item) {
    display: inline;
}

.product-full-energy .field + .field::before {
    content: ', ';
}

/* Вес и кусочки строкой */
.product-full-weight :is(.field, .field__label, .field__items, .field__item) {
    display: inline;
}

.product-full-weight .field + .field::before {
    content: ' / ';
}

/* Цена */
.product-full-price {
    margin: var(--gap-product-tight) 0 var(--gap-product-price);
    font-size: var(--fs-price);
    font-weight: 500;
    line-height: var(--lh-title);
}

.product-full-oldprice {
    display: block;
    margin-bottom: var(--gap-label);
    font-size: var(--fs-text);
    font-weight: 400;
    line-height: var(--lh-text);
    color: var(--color3);
    text-decoration: line-through;
}

/* Счётчик и кнопка одной строкой */
.product-full-cart form {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    row-gap: var(--gap-product-cart);
}

.product-full-cart :is(input, button)[type="submit"] {
    margin-left: var(--gap-product-cart);
}

/* Выбор порции над кнопкой */
.product-full-cart .field--name-purchased-entity {
    flex: 1 0 100%;
}

/* Описание блюда под карточкой */
.product-full-body {
    margin-top: var(--gap-product);
    font-size: var(--fs-text);
    line-height: var(--lh-text);
}

/* PRODUCT PAGE STYLES*/

/* QUANTITY STYLES */
/* Счётчик количества */
.product-full-cart .field--name-quantity,
.cart-form .cart-cell--qty .js-form-item {
    display: flex;
    align-items: center;
    height: var(--h-field);
    margin: 0;
    border: var(--bd) solid var(--color3);
    border-radius: var(--radius);
}

.product-full-cart .field--name-quantity .js-form-item {
    display: flex;
    align-items: center;
    height: 100%;
    margin: 0;
}

/* Счётчик корзины по содержимому */
.cart-form .cart-cell--qty .js-form-item {
    width: fit-content;
}

/* Подпись количества скрыта */
.product-full-cart .field--name-quantity label,
.cart-form .cart-cell--qty label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

.product-full-cart .field--name-quantity input,
.cart-form .cart-cell--qty input {
    width: var(--w-qty);
    height: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--color2);
    font-family: var(--font);
    font-size: var(--fs-text);
    text-align: center;
    -moz-appearance: textfield;
    appearance: textfield;
}

/* Нативные стрелки не нужны */
.cart-form .cart-cell--qty input::-webkit-outer-spin-button,
.cart-form .cart-cell--qty input::-webkit-inner-spin-button {
    margin: 0;
    -webkit-appearance: none;
    appearance: none;
}

.btn-plus,
.btn-minus {
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--w-qty);
    height: 100%;
    font-size: var(--fs-qty);
    line-height: 1;
    color: var(--color2);
    cursor: pointer;
    user-select: none;
    -webkit-user-select: none;
    transition: var(--transition);
}

/* Разделители сегментов счётчика */
.btn-minus {
    border-right: var(--bd) solid var(--color3);
}

.btn-plus {
    border-left: var(--bd) solid var(--color3);
}

.btn-plus:hover,
.btn-minus:hover {
    color: var(--color);
}

/* Индикатор AJAX под строкой */
.quantity-counter,
.product-full-cart {
    position: relative;
}

.quantity-counter .ajax-progress,
.product-full-cart .ajax-progress,
.cart-form .form-actions .ajax-progress,
.cart-form .cart-cell--remove .ajax-progress {
    position: absolute;
    top: 100%;
    left: 0;
    display: flex;
    align-items: center;
    gap: var(--gap-label);
    padding-top: var(--gap-label);
    font-size: var(--fs-small);
    line-height: 1;
    color: var(--color3);
    white-space: nowrap;
}
/* QUANTITY STYLES */

/* CART STYLES */
/* Корзина карточкой */
.cart-form,
.cart-empty-page {
    padding: var(--pd-cart);
    border-radius: var(--radius-lg);
    background: var(--bg2);
}

.cart-empty-page {
    font-size: var(--fs-big);
    font-weight: 500;
    line-height: var(--lh-text);
    text-align: center;
}

.cart-form + .cart-form {
    margin-top: var(--gap-cart);
}

/* Таблица позиций без рамок */
.wr_content :is(.cart-form, .checkout-order-summary) table {
    --bs-table-color: var(--color2);
    --bs-table-bg: transparent;
    --bs-table-accent-bg: transparent;
    --bs-table-striped-color: var(--color2);
    --bs-table-striped-bg: transparent;
    --bs-table-hover-color: var(--color2);
    --bs-table-hover-bg: transparent;
    --bs-table-active-color: var(--color2);
    --bs-table-active-bg: transparent;
    --bs-table-border-color: var(--line);
    width: 100%;
    margin: 0;
    border: 0;
    border-collapse: collapse;
    color: var(--color2);
}

.cart-form :is(th, td) {
    padding: var(--pd-cart-cell);
    border: 0;
    text-align: left;
    vertical-align: middle;
}

/* Крайние колонки без отступа */
.cart-form :is(th, td):first-child {
    padding-left: 0;
}

.cart-form :is(th, td):last-child {
    padding-right: 0;
}

/* Шапка таблицы — подписями */
.cart-form thead th {
    padding-top: 0;
    border-bottom: var(--bd2) solid var(--line);
    font-size: var(--fs-menu);
    font-weight: 600;
    color: var(--color3);
}

/* Линия между позициями */
.cart-form tbody td {
    border-bottom: var(--bd2) solid var(--line);
}

.cart-form tbody tr:last-child td {
    border-bottom: 0;
}

/* Название блюда */
.cart-form .cart-cell--product {
    width: var(--w-cart-product);
    font-size: var(--fs-text);
    font-weight: 600;
    line-height: var(--lh-text);
}

/* Фото слева от названия */
.cart-form .cart-cell--product > *:has(img) {
    float: left;
    width: var(--w-cart-img);
    margin-right: var(--gap-cart-product);
}

/* Название рядом с фото */
.cart-form .cart-cell--product:has(img) > *:not(:has(img)) {
    display: flex;
    align-items: center;
    min-height: var(--w-cart-img);
    overflow: hidden;
}

/* Фото позиции квадратом */
.cart-form .cart-cell--product :has(> img) {
    display: block;
    overflow: hidden;
    border-radius: var(--radius);
}

.cart-form .cart-cell--product img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    object-fit: cover;
    transition: var(--transition);
}

.cart-form .cart-cell--product :has(> img):hover img {
    transform: scale(var(--scale-hover));
}

/* Служебные колонки равными долями */
.cart-form :is(.cart-cell--price, .cart-cell--total, .cart-cell--qty, .cart-cell--remove) {
    width: var(--w-cart-col);
    white-space: nowrap;
}

/* Цена за порцию */
.cart-form .cart-cell--price {
    font-weight: 500;
    color: var(--color3);
}

/* Сумма по центру колонки */
.cart-form .cart-cell--total {
    padding-right: max(0px, calc(var(--pd-cart-cell-x) - var(--offset-cart-total)));
    padding-left: calc(var(--pd-cart-cell-x) + var(--offset-cart-total));
    font-weight: 700;
    text-align: center;
}

/* Удаление по правому краю */
.cart-form .cart-cell--remove {
    position: relative;
    text-align: right;
}

/* Удаление позиции иконкой */
.cart-form .cart-cell--remove :is(input, button)[type="submit"] {
    display: block;
    width: var(--h-icon);
    height: var(--h-icon);
    margin-left: auto;
    padding: 0;
    border: 0;
    background-color: var(--color3);
    font-size: 0;
    cursor: pointer;
    -webkit-mask: url("../image/trash.svg") no-repeat center / var(--h-remove-icon);
    mask: url("../image/trash.svg") no-repeat center / var(--h-remove-icon);
    transition: var(--transition);
}

.cart-form .cart-cell--remove :is(input, button)[type="submit"]:hover {
    background-color: var(--color);
}

/* Итоги заказа справа */
.cart-form .view-footer {
    display: flex;
    justify-content: flex-end;
    margin-top: var(--gap-cart);
    padding-top: var(--gap-cart);
    border-top: var(--bd2) solid var(--line);
}

.cart-form .view-footer > * {
    width: 100%;
    max-width: var(--w-cart-total);
}

:is(.cart-form, .checkout-order-summary) .order-total-line {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--gap-btn);
    padding: 0;
    font-size: var(--fs-text);
    line-height: var(--lh-text);
    color: var(--color3);
    text-align: left;
}

:is(.cart-form, .checkout-order-summary) .order-total-line + .order-total-line {
    margin-top: var(--gap-label);
}

:is(.cart-form, .checkout-order-summary) :is(.order-total-line-label, .order-total-line-value) {
    padding: 0;
}

:is(.cart-form, .checkout-order-summary) .order-total-line__total {
    margin-top: var(--gap-label);
    padding-top: var(--gap-label);
    border-top: var(--bd2) solid var(--line);
    font-size: var(--fs-cart-total);
    font-weight: 700;
    color: var(--color2);
}

/* Кнопки под таблицей */
.cart-form .form-actions {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: var(--gap-btn);
    margin: var(--gap-cart) 0 0;
}

/* Кнопка обновления не нужна */
.cart-form .form-actions .cart-update-auto {
    display: none;
}
/* CART STYLES */

/* MESSAGES STYLES */
/* Системные сообщения */
.wr_content .messages {
    margin-bottom: var(--gap-cart);
    padding: var(--pd-message);
    border: var(--bd2) solid var(--line);
    border-radius: var(--radius);
    background: var(--bg2);
    font-size: var(--fs-text);
    line-height: var(--lh-text);
    color: var(--color2);
}

.wr_content .messages--status {
    border-color: var(--color);
}

.wr_content .messages--error {
    border-color: var(--color-error);
}

.wr_content .messages a {
    color: var(--color);
    transition: var(--transition);
}

.wr_content .messages a:hover {
    color: var(--color-hover);
}

.wr_content .messages ul {
    margin: 0;
    padding-left: var(--pd-list);
}
/* MESSAGES STYLES */

/* CONTENT STYLES */
.wr_content iframe,
.wr_content video,
.wr_content table {
    max-width: 100%;
}

/* Последний абзац без отступа */
:is(.wr_about, .wr_content .region-content:has(.group-left), .wr_feedback) .field > :last-child,
:is(.wr_about, .wr_content .region-content:has(.group-left), .wr_feedback) .field p:last-child {
    margin-bottom: 0;
}

/* Хлебные крошки */
.breadcrumb {
    --bs-breadcrumb-margin-bottom: var(--gap-label);
    --bs-breadcrumb-divider-color: var(--color3);
    --bs-breadcrumb-item-active-color: var(--color3);
    font-size: var(--fs-small);
}
/* CONTENT STYLES */

/* TEXT PAGE STYLES */
/* Карточка текстовой страницы */
.wr_content .node--type-page:not(:has(.group-left)) {
    padding: var(--pd-text-card);
    border-radius: var(--radius-lg);
    background: var(--bg2);
}

/* Текст страницы */
.node--type-page .field--name-body {
    font-size: var(--fs-text);
    line-height: var(--lh-text);
    color: var(--color2);
}

/* Заголовки разделов текста */
.node--type-page .field--name-body :is(h2, h3, h4) {
    margin: var(--gap-text-block) 0 var(--gap-text-h3);
    font-weight: 600;
    line-height: var(--lh-title);
    color: var(--color2);
}

.node--type-page .field--name-body h2 {
    margin-bottom: var(--gap-text-h2);
    font-size: var(--fs-h2);
}

.node--type-page .field--name-body h3 {
    font-size: var(--fs-h3);
}

.node--type-page .field--name-body h4 {
    font-size: var(--fs-big);
}

/* Первый заголовок без верхнего отступа */
.node--type-page .field--name-body > :first-child {
    margin-top: 0;
}

.node--type-page .field--name-body p {
    margin: 0 0 var(--gap-text-p);
}

/* Списки с акцентными маркерами */
.node--type-page .field--name-body :is(ul, ol) {
    margin: 0 0 var(--gap-text-p);
    padding-left: var(--pd-list);
}

.node--type-page .field--name-body li + li {
    margin-top: var(--gap-text-list);
}

.node--type-page .field--name-body ul li::marker {
    color: var(--color);
}

/* Выделения акцентом */
.node--type-page .field--name-body strong {
    font-weight: 600;
}

/* Ссылки в тексте с подчёркиванием */
.node--type-page .field--name-body a {
    text-underline-offset: var(--offset-underline);
}

/* Картинки в тексте с зумом */
.node--type-page .field--name-body p:has(> img) {
    overflow: hidden;
    border-radius: var(--radius);
}

.node--type-page .field--name-body img {
    display: block;
    max-width: 100%;
    height: auto;
    border-radius: var(--radius);
    transition: var(--transition);
}

.node--type-page .field--name-body img:hover {
    transform: scale(var(--scale-hover));
}

/* Последний блок без отступа */
.node--type-page .field--name-body > :last-child {
    margin-bottom: 0;
}
/* TEXT PAGE STYLES */

/* FOOTER STYLES */
#footer {
    padding: var(--pd-footer);
    border-top: var(--bd2) solid var(--line);
    background: var(--bg);
    font-size: var(--fs-menu);
    font-weight: 500;
    line-height: var(--lh-menu);
    color: var(--color2);
}

/* Логотип и копирайт */
#footer .footer-about .logo a {
    font-size: var(--fs-footer-logo);
    font-weight: 500;
    line-height: var(--lh-text);
}

#footer .footer-about .logo img {
    max-height: var(--h-logo-footer);
    width: auto;
}

#footer :is(.descriptor, .copyright) {
    margin-top: var(--gap-footer);
}

#footer :is(.msngrs, .privacy) {
    margin-top: var(--gap-footer-block);
}

/* Подчёркивание ссылки на политику */
#footer .privacy {
    display: inline-block;
    text-decoration: underline;
    text-decoration-thickness: var(--bd2);
    text-underline-offset: var(--offset-underline);
}

/* Колонки меню и контактов */
#footer :is(.block-title, .footer-title) {
    margin: 0 0 var(--gap-footer-list);
    font-size: var(--fs-big);
    font-weight: 600;
    line-height: var(--lh-value);
}

/* Одинаковые отступы списков подвала */
#footer .footer-col :is(ul, .view-content) {
    display: flex;
    flex-direction: column;
    gap: var(--gap-footer-list);
    margin: 0;
    padding: 0;
    list-style: none;
}

#footer .contact-item + .contact-item {
    margin-top: var(--gap-footer-list);
}

#footer .footer-callback {
    margin-top: var(--gap-footer-btn);
}

/* Ссылка на разработчика */
#footer .footer-bottom {
    margin-top: var(--gap-footer-bottom);
}

#footer .footer-bottom a {
    color: var(--color);
}

#footer .footer-bottom a:hover {
    color: var(--color-hover);
}

/* Плавающие кнопки */
.floating-buttons {
    position: fixed;
    right: var(--offset-float);
    bottom: var(--offset-float);
    z-index: 20;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--gap-float);
}

.floating-buttons .fb-item {
    display: flex;
    transition: var(--transition);
}

.floating-buttons .fb-item:hover {
    opacity: .8;
}

.floating-buttons img {
    width: var(--h-btn-float);
    height: var(--h-btn-float);
}

/* Показывается только после прокрутки */
#scrollToTop {
    display: none;
    align-items: center;
    justify-content: center;
    width: var(--h-btn-float);
    height: var(--h-btn-float);
    margin-top: var(--gap-float);
    padding: 0;
    border: var(--bd) solid var(--color2);
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
    transition: var(--transition);
}

#scrollToTop.is-visible {
    display: flex;
}

#scrollToTop:hover {
    border-color: var(--color);
    background: var(--color);
}

#scrollToTop img {
    width: var(--h-caret);
    height: var(--h-caret);
}
/* FOOTER STYLES */

/* MODAL STYLES */
/* Затемнение под модалкой */
.modal-backdrop {
    --bs-backdrop-opacity: .75;
}

.modal {
    --bs-modal-width: var(--w-modal);
    --bs-modal-bg: var(--bg2);
    --bs-modal-color: var(--color2);
    --bs-modal-padding: var(--pd-modal);
    --bs-modal-header-padding: var(--pd-modal) var(--pd-modal) 0;
    --bs-modal-border-width: 0;
    --bs-modal-border-radius: var(--radius-lg);
    --bs-modal-header-border-width: 0;
    --bs-modal-footer-border-width: 0;
    --bs-modal-footer-gap: 0;
    --bs-btn-close-filter: invert(1) grayscale(100%) brightness(200%);
    --bs-btn-close-opacity: .6;
    --bs-btn-close-hover-opacity: 1;
    --bs-btn-close-focus-shadow: none;
    font-family: var(--font);
}

/* Центрирование ajax-диалогов */
.modal .modal-dialog {
    display: flex;
    align-items: center;
    min-height: calc(100% - var(--bs-modal-margin) * 2);
}

.modal .modal-title {
    font-size: var(--fs-modal-title);
    font-weight: 700;
    line-height: var(--lh-tight);
    overflow-wrap: break-word;
}

.modal .btn-close {
    transition: var(--transition);
}

/* Поля формы */
:is(.modal, .wr_feedback, .commerce-checkout-flow) :is(.form-item, .js-form-item) {
    margin: 0 0 var(--gap-form);
}

:is(.modal, .wr_feedback, .commerce-checkout-flow) label {
    display: block;
    margin-bottom: var(--gap-label);
    font-size: var(--fs-small);
    font-weight: 400;
    color: var(--color3);
}

:is(.modal, .wr_feedback, .commerce-checkout-flow) .form-required::after {
    color: var(--color);
}

:is(.modal, .wr_feedback, .commerce-checkout-flow) :is(input[type="text"], input[type="tel"], input[type="email"], select, textarea) {
    width: 100%;
    min-height: var(--h-field);
    padding: var(--pd-field);
    border: var(--bd) solid var(--color3);
    border-radius: var(--radius);
    background: transparent;
    color: var(--color2);
    font-family: var(--font);
    font-size: var(--fs-placeholder);
    line-height: var(--lh-input);
    outline: none;
    box-shadow: none;
    transition: var(--transition);
}

:is(.modal, .wr_feedback, .commerce-checkout-flow) textarea {
    padding: var(--pd-textarea);
    resize: vertical;
}

:is(.modal, .wr_feedback, .commerce-checkout-flow) :is(input, textarea)::placeholder {
    color: var(--color3);
}

:is(.modal, .wr_feedback, .commerce-checkout-flow) :is(input, select, textarea):focus {
    border-color: var(--color);
}

/* Чекбокс и радио */
:is(.modal, .wr_feedback, .commerce-checkout-flow) :is(input[type="checkbox"], input[type="radio"]) {
    width: var(--h-check);
    height: var(--h-check);
    margin: 0;
    flex: 0 0 auto;
    accent-color: var(--color);
    cursor: pointer;
}

/* Текст согласия напротив чекбокса */
:is(.modal, .wr_feedback, .commerce-checkout-flow) :is(.form-type-checkbox, .form-type-checkbox *):has(> input[type="checkbox"]) {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: var(--gap-label) var(--gap-check);
    padding: 0;
}

:is(.modal, .wr_feedback, .commerce-checkout-flow) .form-type-checkbox :is(label, .description, .webform-element-description) {
    flex: 1;
    min-width: 0;
    margin: 0;
    font-size: var(--fs-xs);
    line-height: var(--lh-note);
    overflow-wrap: break-word;
}

:is(.modal, .wr_feedback, .commerce-checkout-flow) .form-type-checkbox label {
    cursor: pointer;
}

/* Подписи, ссылки и ошибки */
:is(.modal, .wr_feedback, .commerce-checkout-flow) :is(.description, .form-item__description, .webform-element-description) {
    margin-top: var(--gap-label);
    font-size: var(--fs-xs);
    line-height: var(--lh-note);
    color: var(--color3);
}

.modal a,
.wr_feedback .webform-submission-form a,
.ui-dialog .ui-dialog-content a,
.commerce-checkout-flow .checkout-pane a {
    color: var(--color);
    transition: var(--transition);
}

.modal a:hover,
.wr_feedback .webform-submission-form a:hover,
.ui-dialog .ui-dialog-content a:hover,
.commerce-checkout-flow .checkout-pane a:hover {
    color: var(--color-hover);
}

:is(.modal, .wr_feedback, .commerce-checkout-flow) :is(input, textarea).error {
    border-color: var(--color-error);
}

/* Ошибка поля последней строкой */
:is(.modal, .wr_feedback, .commerce-checkout-flow) :is(.form-item--error-message, strong.error, label.error, .messages--error) {
    order: 1;
    flex: 0 0 100%;
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: var(--fs-xs);
    font-weight: 400;
    line-height: var(--lh-note);
    color: var(--color-error);
    background: transparent;
    border: 0;
}

:is(.modal, .wr_feedback, .commerce-checkout-flow) :is(.messages--status, .webform-confirmation__message) {
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--color2);
    font-size: var(--fs-big);
    line-height: var(--lh-note);
}

/* Подвал модалки */
:is(.modal, .wr_feedback, .commerce-checkout-flow) .form-actions {
    margin: 0;
}

.modal .modal-body {
    padding: var(--gap-form) var(--pd-modal);
}

.modal .modal-footer {
    padding: 0 var(--pd-modal) var(--pd-modal);
    gap: var(--gap-label);
}
/* MODAL STYLES */

/* DIALOG STYLES */
/* Диалог jQuery UI как модалка */
.ui-widget-overlay {
    position: fixed;
    inset: 0;
    background: var(--bg3);
    opacity: .75;
}

/* Инлайн-стиль перебивается только !important */
.ui-dialog {
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: var(--w-modal) !important;
    height: auto !important;
    max-width: calc(100% - var(--gap-dialog));
    max-height: calc(100% - var(--gap-dialog));
    padding: 0;
    border: 0;
    border-radius: var(--radius-lg);
    background: var(--bg2);
    font-family: var(--font);
    font-size: var(--fs-text);
    color: var(--color2);
    overflow: auto;
}

.ui-dialog .ui-dialog-content {
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    padding: var(--gap-form) var(--pd-modal) var(--pd-modal);
    background: transparent;
    color: var(--color2);
    line-height: var(--lh-text);
}

/* Шапка диалога */
.ui-dialog .ui-dialog-titlebar {
    position: static;
    padding: var(--pd-modal) calc(var(--pd-modal) + var(--h-icon)) 0 var(--pd-modal);
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--color2);
}

.ui-dialog .ui-dialog-title {
    float: none;
    margin: 0;
    font-size: var(--fs-modal-title);
    font-weight: 700;
    line-height: var(--lh-tight);
    white-space: normal;
    overflow-wrap: break-word;
}

/* Крестик вместо иконки-спрайта */
.ui-dialog .ui-dialog-titlebar-close {
    position: absolute;
    top: var(--offset-dialog-close);
    right: var(--offset-dialog-close);
    width: var(--h-icon);
    height: var(--h-icon);
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    font-size: 0;
    color: var(--color2);
    cursor: pointer;
    transition: var(--transition);
}

.ui-dialog .ui-dialog-titlebar-close::before {
    content: '×';
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--fs-h3);
    line-height: 1;
}

.ui-dialog .ui-dialog-titlebar-close .ui-icon {
    display: none;
}

.ui-dialog .ui-dialog-titlebar-close:hover {
    color: var(--color);
}

/* Кнопки диалога */
.ui-dialog .form-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap-btn);
    margin-top: var(--gap-form);
}

/* Подвал диалога без плашки */
.ui-dialog .ui-dialog-buttonpane {
    margin: 0;
    padding: var(--gap-form) var(--pd-modal) var(--pd-modal);
    border: 0;
    background: transparent;
}

.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
    float: none;
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap-btn);
}

.ui-dialog .ui-dialog-buttonpane .button {
    margin: 0;
}

/* Без двойного отступа кнопок */
.ui-dialog:has(.ui-dialog-buttonpane) .ui-dialog-content {
    padding-bottom: 0;
}

.ui-dialog:has(.ui-dialog-buttonpane) .ui-dialog-content .form-actions {
    display: none;
}

/* Окно «Блюдо добавлено в корзину» */
.atc-popup {
    display: flex;
    flex-direction: column;
    gap: var(--gap-dialog);
}

/* Окно принимает фокус без рамки */
.atc-popup:focus {
    outline: none;
}

/* Фото не распирает диалог */
.atc-popup-product img {
    display: block;
    max-width: 100%;
    height: auto;
    border-radius: var(--radius);
}

.atc-popup-message {
    font-size: var(--fs-big);
    line-height: var(--lh-text);
}
/* DIALOG STYLES */

/* CHECKOUT STYLES */
/* Шаги оформления заказа */
.checkout-progress {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap-btn) var(--gap-checkout-progress);
    margin: 0 0 var(--gap-checkout);
    padding: 0;
    list-style: none;
    font-size: var(--fs-menu);
    font-weight: 600;
    color: var(--color3);
}

.checkout-progress--step {
    display: flex;
    align-items: baseline;
    gap: var(--gap-label);
    padding: 0;
}

.checkout-progress--step__current {
    color: var(--color);
}

/* Форма слева, сводка справа */
.page-checkout .layout-checkout-form {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap-checkout);
}

.page-checkout .layout-region-checkout-main,
.page-checkout .layout-region-checkout-secondary,
.page-checkout .layout-region-checkout-footer {
    float: none;
    width: auto;
    padding: 0;
}

.page-checkout .layout-region-checkout-main {
    flex: 1 1 0;
    min-width: 0;
}

.page-checkout .layout-region-checkout-secondary {
    flex: 0 0 var(--w-checkout-sidebar);
    max-width: 100%;
}

.page-checkout .layout-region-checkout-footer {
    flex: 1 1 100%;
}

/* Панели шага — карточками */
.commerce-checkout-flow .checkout-pane {
    padding: var(--pd-checkout-pane);
    border: 0;
    border-radius: var(--radius-lg);
    background: var(--bg2);
}

.commerce-checkout-flow .checkout-pane + .checkout-pane {
    margin-top: var(--gap-checkout-pane);
}

/* Заголовки панели и сводки */
.commerce-checkout-flow .checkout-pane > legend,
.commerce-checkout-flow .checkout-pane > summary,
.page-checkout .layout-region-checkout-secondary > h3 {
    margin: 0 0 var(--gap-form);
    padding: 0;
    font-size: var(--fs-h3);
    font-weight: 700;
    line-height: var(--lh-title);
    color: var(--color2);
}

/* Вложенные группы полей */
.commerce-checkout-flow .checkout-pane fieldset {
    margin: 0;
    padding: 0;
    border: 0;
}

.commerce-checkout-flow .checkout-pane fieldset legend {
    margin: 0 0 var(--gap-form);
    padding: 0;
    font-size: var(--fs-big);
    font-weight: 600;
    line-height: var(--lh-title);
    color: var(--color2);
}

.commerce-checkout-flow :is(.form-type-radio, .js-form-type-radio) {
    display: flex;
    align-items: center;
    gap: var(--gap-check);
    margin: 0 0 var(--gap-label);
}

.commerce-checkout-flow :is(.form-type-radio, .js-form-type-radio) label {
    margin: 0;
    font-size: var(--fs-text);
    color: var(--color2);
    cursor: pointer;
}

/* Сводка заказа */
.checkout-order-summary :is(th, td) {
    padding: var(--pd-cart-cell-y) 0;
    border: 0;
    border-bottom: var(--bd2) solid var(--line);
    font-size: var(--fs-text);
    line-height: var(--lh-text);
    vertical-align: middle;
}

.checkout-order-summary tr:first-child :is(th, td) {
    padding-top: 0;
}

.checkout-order-summary .table-responsive {
    margin-bottom: var(--gap-cart);
}

/* Кнопки шага слева */
.commerce-checkout-flow .layout-region-checkout-footer .form-actions {
    display: flex;
    flex-direction: row-reverse;
    flex-wrap: wrap-reverse;
    justify-content: flex-end;
    gap: var(--gap-btn);
    margin: 0;
}
/* CHECKOUT STYLES */

/* FEEDBACK STYLES */
/* Поля секции крупнее модальных */
.wr_feedback {
    --gap-form: var(--gap-feedback-field);
    --pd-field: var(--pd-field-lg);
    --fs-placeholder: var(--fs-text);
    --h-check: var(--h-check-lg);
    --gap-check: var(--gap-check-row);
}

/* Текст слева, форма справа */
.wr_feedback .region {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap-feedback) var(--gap-feedback-col);
    padding: var(--pd-feedback);
    border-radius: var(--radius-lg);
    background: var(--bg3);
}

/* Ширина текстовой колонки */
.wr_feedback .region > .block {
    flex: 1 1 0;
    min-width: 0;
}

/* Фиксированная ширина формы */
.wr_feedback .region > .block-webform {
    flex: 0 0 var(--w-feedback-form);
    max-width: 100%;
    margin-top: var(--offset-feedback-form);
}

/* Подтверждение после отправки */
.wr_feedback .region:has(.webform-confirmation) > .block:not(.block-webform) {
    display: none;
}

.wr_feedback .region:has(.webform-confirmation) > .block-webform {
    flex: 1 1 100%;
    margin-top: 0;
}

.wr_feedback .webform-confirmation__message {
    font-size: var(--fs-h3);
    font-weight: 500;
    line-height: var(--lh-title);
    text-align: center;
}

/* Подпись секции */
.wr_feedback .block-title {
    margin: 0 0 var(--gap-feedback);
    font-size: var(--fs-feedback-label);
    font-weight: 500;
    line-height: var(--lh-text);
    color: var(--color3);
}

/* Первая строка как заголовок */
.wr_feedback .field :is(h2, h3),
.wr_feedback .field > p:first-of-type > span:first-child {
    margin: 0 0 var(--gap-feedback);
    font-size: var(--fs-h2);
    font-weight: 500;
    line-height: var(--lh-title);
    color: var(--color2);
}

.wr_feedback :is(.field, .field p) {
    font-size: var(--fs-text);
    font-weight: 500;
    line-height: var(--lh-text);
}

.wr_feedback .field p {
    margin: 0 0 var(--gap-feedback);
}

/* Отступ до согласия */
.wr_feedback .form-actions:not(:last-child) {
    margin-bottom: var(--gap-feedback-btn);
}

.wr_feedback :is(.form-item, .js-form-item):last-child {
    margin-bottom: 0;
}

/* Рамка чекбокса */
.wr_feedback input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    border: var(--bd2) solid var(--color3);
    border-radius: var(--radius-sm);
    background: transparent center / var(--h-check-icon) no-repeat;
    transition: var(--transition);
}

.wr_feedback input[type="checkbox"]:checked {
    border-color: var(--color);
    background-color: var(--color);
    background-image: url("../image/check.svg");
}

/* Текст согласия белым */
.wr_feedback .form-type-checkbox :is(label, .description, .webform-element-description) {
    margin-top: 0;
    font-size: var(--fs-small);
    line-height: var(--lh-text);
    color: var(--color2);
}

.wr_feedback .form-type-checkbox p {
    margin: 0;
}

/* Ссылка в согласии */
.wr_feedback .form-type-checkbox a {
    color: inherit;
    text-decoration: none;
}

.wr_feedback .form-type-checkbox a:hover {
    color: var(--color);
}
/* FEEDBACK STYLES */

/* MAP STYLES */
/* Карточка карты по макету */
:is(.wr_map, .wr_contacts .contacts-map) .region {
    height: var(--h-map);
    border-radius: var(--radius-lg);
    background: var(--bg3);
    overflow: hidden;
}

/* Карта ровно по карточке */
:is(.wr_map, .wr_contacts) .mapContainer {
    min-width: 100%;
    max-width: 100%;
    min-height: var(--h-map);
    max-height: var(--h-map);
}

/* Виджет по высоте карточки */
:is(.wr_map, .wr_contacts) .mapContainer > *:first-child {
    height: var(--h-map);
}

/* Подсказка карты */
:is(.wr_map, .wr_contacts) .mapHelp {
    border-radius: var(--radius-sm);
    box-shadow: none;
    background-color: var(--bg3);
    font-family: var(--font);
    font-size: var(--fs-small);
    line-height: var(--lh-text);
    color: var(--color2);
}
/* MAP STYLES */

/* CONTACTS PAGE STYLES */
.wr_contacts {
    padding-bottom: var(--gap-section);
}

/* Отступ до карточки контактов */
.not-front .wr_content:has(+ .wr_contacts) {
    padding-bottom: 0;
}

/* Ширина карточки контактов */
.wr_contacts .contacts-card {
    height: 100%;
    padding: var(--pd-contacts);
    border-radius: var(--radius-lg);
    background: var(--bg2);
}

.wr_contacts .contact-item + .contact-item {
    margin-top: var(--gap-contacts-item);
}

.wr_contacts .contact-item-label {
    margin-bottom: var(--gap-label);
    font-size: var(--fs-menu);
    font-weight: 500;
    line-height: var(--lh-text);
    color: var(--color3);
}

.wr_contacts .contact-item-el {
    font-size: var(--fs-text);
    font-weight: 600;
    line-height: var(--lh-text);
    color: var(--color2);
}

/* CONTACTS PAGE STYLES */

/* SEARCH PAGE STYLES */
/* Отступ до результатов */
.search-page-form {
    margin-bottom: var(--gap-search-form);
}

.search-page-title {
    margin: 0;
    font-size: var(--fs-h2);
    font-weight: 600;
    line-height: var(--lh-title);
    color: var(--color2);
    overflow-wrap: break-word;
}

/* Счётчик и пустая выдача */
.search-page-count,
.search-page-empty {
    font-size: var(--fs-text);
    font-weight: 500;
    line-height: var(--lh-text);
    color: var(--color3);
    overflow-wrap: break-word;
}

.search-page-title + .search-page-count {
    margin-top: var(--gap-label);
}

.search-page-help {
    margin-top: var(--gap-label);
    font-size: var(--fs-small);
}

.search-page-help ul {
    margin: 0;
    padding-left: var(--pd-list);
}

.search-page-help li + li {
    margin-top: var(--gap-label);
}

/* Список результатов */
.search-page-results {
    display: grid;
    gap: var(--gap-search-result);
}

.search-page-head + .search-page-results {
    margin-top: var(--gap-search-head);
}

/* Карточка результата */
.search-result {
    padding: var(--pd-search-result);
    border-radius: var(--radius-lg);
    background: var(--bg2);
}

.search-result-title {
    margin: 0;
    font-size: var(--fs-h3);
    font-weight: 600;
    line-height: var(--lh-title);
}

.search-result-text {
    margin: var(--gap-label) 0 0;
    font-size: var(--fs-text);
    font-weight: 500;
    line-height: var(--lh-text);
    color: var(--color2);
}

/* Найденные слова акцентом */
.search-result-text strong {
    font-weight: 600;
    color: var(--color);
}
/* SEARCH PAGE STYLES */

/* PAGER STYLES */
.wr_content .pager {
    margin-top: var(--gap-pager);
}

.wr_content .pagination {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--gap-pager-item);
    margin: 0;
    padding: 0;
    list-style: none;
}

.wr_content .page-link {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: var(--h-icon);
    height: var(--h-icon);
    padding: var(--pd-pager);
    border: var(--bd2) solid var(--line);
    border-radius: var(--radius);
    background: transparent;
    color: var(--color2);
    font-size: var(--fs-btn);
    font-weight: 600;
    text-decoration: none;
    box-shadow: none;
    transition: var(--transition);
}

.wr_content .page-link:hover,
.wr_content .page-item.active .page-link {
    border-color: var(--color);
    background: var(--color);
    color: var(--color2);
}

.wr_content .page-item.disabled .page-link {
    background: transparent;
    color: var(--color3);
}
/* PAGER STYLES */

/* COOKIE DISCLAIMER STYLES */
.vpa-container {
    font-family: var(--font);
}

.vpa-container.vpa-short #vpa-short-wrapper,
.vpa-container.vpa-full #vpa-full-wrapper {
    padding: var(--pd-disclaimer);
    border: 0;
    background: var(--bg3);
    box-shadow: none;
    color: var(--color2);
}

.vpa-container.vpa-short #vpa-short-wrapper {
    max-width: var(--w-disclaimer);
    border-radius: var(--radius-lg);
    align-items: center;
    gap: var(--gap-icons);
}

.vpa-container :is(.vpa-content, .vpa-content p) {
    font-size: var(--fs-xs);
    font-weight: 500;
    line-height: var(--lh-note);
    color: var(--color2);
    overflow-wrap: break-word;
}

.vpa-container .vpa-content strong {
    color: var(--color2);
}

/* Ссылка политики без выделения */
.vpa-container .vpa-content a {
    color: inherit;
    text-decoration: underline;
    transition: var(--transition);
}

.vpa-container .vpa-content a:hover {
    color: var(--color);
}

/* Ручка свайпа в адаптиве */
.vpa-container .vpa-close-zone .vpa-close-el {
    background: var(--line2);
}
/* COOKIE DISCLAIMER STYLES */

/* *** ADAPTIVE *** */
@media screen and (max-width: 1199px) {
    :root {
        --gap-menu-top: 40px;
        --gap-nav: 50px;
        --gap-contacts: 25px;
        --fs-logo: 32px;
        --w-search: 300px;
        --fs-slide-title: 54px;
        --fs-slide-min: 22px;
        --fs-slide-label: 32px;
        --fs-slide-text: 26px;
        --w-slide-text: 360px;
        --w-slide-label: 210px;
        --h-slide-label: 54px;
        --h-slider: 350px;
        --pd-slide: 30px 60px;
        --gap-dots-arrows: 28px;
        --pd-footer: 40px 0 35px;
        --gap-footer-bottom: 45px;
        --fs-h1: 44px;
        --fs-h2: 34px;
        --h-menu-card: 280px;
        --gap-menu-title: 32px;
        --gap-menu-btn: 36px;
        --offset-menu-label: 30px;
        --fs-menu-label: 18px;
        --pd-about-y: 40px;
        --pd-about-x: 30px;
        --pd-about-b: 50px;
        --pd-text-card: 32px;
        --gap-text-block: 34px;
        --gap-text-h2: 22px;
        --gap-about-title: 24px;
        --gap-about-col: 40px;
        --gap-about-block: 24px;
        --gap-about-btn: 32px;
        --offset-about-icon: 26px;
        --offset-about-icon-top: 14px;
        --w-about-icon: 130px;
        --h-about-icon: 137px;
        --gap-section: 60px;
        --pd-feedback: 26px 30px 28px;
        --fs-feedback-label: 28px;
        --gap-feedback: 28px;
        --gap-feedback-col: 60px;
        --gap-feedback-field: 28px;
        --w-feedback-form: 420px;
        --pd-contacts: 22px 26px;
        --gap-contacts-item: 12px;
        --h-map: 340px;
        --pd-search-result: 20px 26px;
        --gap-search-form: 32px;
        --gap-pager: 32px;
        --fs-price: 30px;
        --fs-product-label: 18px;
        --fs-product-info: 16px;
        --lh-product-info: 22px;
        --fs-qty: 18px;
        --w-product-info: 360px;
        --w-qty: 50px;
        --gap-product-col: 50px;
        --offset-product-glow-x: 78px;
        --offset-product-glow-y: 36px;
        --gap-product-tight: 11px;
        --gap-product-info: 16px;
        --gap-product-weight: 22px;
        --gap-product-price: 24px;
        --gap-product-cart: 20px;
        --pd-cart: 20px 26px;
        --pd-cart-cell-y: 16px;
        --pd-cart-cell-x: 10px;
        --w-cart-img: 80px;
        --pd-checkout-pane: 20px 26px;
        --w-checkout-sidebar: 300px;
    }
}

@media screen and (max-width: 991px) {
    :root {
        --fs-slide-title: 42px;
        --fs-slide-min: 18px;
        --fs-slide-label: 26px;
        --fs-slide-text: 22px;
        --w-slide-text: 300px;
        --w-slide-label: 175px;
        --h-slide-label: 45px;
        --h-slider: 300px;
        --h-arrow: 44px;
        --pd-slide: 25px 40px;
        --pd-slide-label: 4px 20px;
        --gap-slide: 16px;
        --gap-arrows: 16px;
        --gap-dots-arrows: 24px;
        --gap-section: 45px;
        --offset-slider: 20px;
        --gap-slider-top: 25px;
        --fs-footer-logo: 20px;
        --pd-footer: 35px 0 30px;
        --gap-footer-block: 20px;
        --gap-footer-bottom: 35px;
        --h-btn-float: 44px;
        --offset-float: 15px;
        --fs-h1: 34px;
        --fs-h2: 28px;
        --fs-h3: 20px;
        --pd-text-card: 26px;
        --gap-text-block: 28px;
        --gap-text-h2: 18px;
        --gap-text-h3: 16px;
        --gap-text-p: 16px;
        --fs-price: 26px;
        --fs-product-label: 17px;
        --fs-product-info: 16px;
        --lh-product-info: 21px;
        --w-product-info: 100%;
        --gap-product-col: 40px;
        --offset-product-glow-x: 40px;
        --offset-product-glow-y: 26px;
        --gap-product-info: 14px;
        --gap-product-weight: 18px;
        --gap-product-price: 20px;
        --gap-product-grid: 20px;
        --cols-product: 3;
        --h-menu-card: 240px;
        --gap-menu-grid: 20px;
        --gap-menu-title: 26px;
        --gap-menu-btn: 30px;
        --offset-menu-label: 24px;
        --fs-menu-label: 17px;
        --offset-glow: 60px;
        --pd-about-y: 32px;
        --pd-about-x: 24px;
        --pd-about-b: 40px;
        --gap-about-col: 30px;
        --gap-about-block: 20px;
        --gap-about-label: 12px;
        --gap-about-list: 12px;
        --gap-about-text: 16px;
        --gap-about-btn: 26px;
        --pd-list: 18px;
        --offset-about-icon: 20px;
        --offset-about-icon-top: 8px;
        --w-about-icon: 110px;
        --h-about-icon: 116px;
        --pd-feedback: 24px 24px 24px;
        --fs-feedback-label: 24px;
        --gap-feedback: 22px;
        --gap-feedback-col: 40px;
        --gap-feedback-field: 22px;
        --gap-feedback-btn: 20px;
        --pd-field-lg: 0 20px;
        --w-feedback-form: 340px;
        --pd-contacts: 22px;
        --h-map: 290px;
        --gap-product: 40px;
        --pd-content-top: 30px;
        --pd-search-result: 20px 22px;
        --gap-search-form: 26px;
        --gap-search-head: 16px;
        --gap-search-result: 16px;
        --gap-pager: 26px;
        --pd-cart: 20px 22px;
        --pd-cart-cell-y: 14px;
        --pd-cart-cell-x: 8px;
        --offset-cart-total: 6px;
        --gap-cart: 20px;
        --w-cart-img: 72px;
        --w-cart-total: 220px;
        --w-cart-product: 40%;
        --gap-cart-product: 16px;
        --pd-checkout-pane: 20px 22px;
        --gap-checkout: 24px;
        --gap-checkout-pane: 20px;
    }

    /* Отступ от шапки до слайдера */
    #slider-block {
        margin-top: var(--gap-slider-top);
    }

    /* Оформление в одну колонку */
    .page-checkout .layout-region-checkout-secondary {
        flex: 1 1 100%;
    }

    #offcanvasNav .nav .dropdown-menu {
        display: none;
        position: static;
        border: 0;
        border-bottom: var(--bd2) solid var(--line);
        background: transparent;
        padding: var(--pd-offcanvas-sub);
    }

    #offcanvasNav li.nav-item {
        width: 100%;
    }
}

@media screen and (max-width: 767px) {
    :root {
        --fs-slide-title: 32px;
        --fs-slide-min: 16px;
        --fs-slide-label: 20px;
        --fs-slide-text: 18px;
        --w-slide-text: 240px;
        --w-slide-label: 140px;
        --h-slide-label: 36px;
        --h-slider: 240px;
        --h-arrow: 36px;
        --h-dot: 10px;
        --h-caret: 20px;
        --pd-slide: 20px 24px;
        --pd-slide-label: 3px 14px;
        --gap-slide: 12px;
        --gap-dots: 8px;
        --gap-arrows: 12px;
        --gap-dots-arrows: 16px;
        --gap-section: 30px;
        --offset-slider: 15px;
        --radius-lg: 16px;
        --cols-product: 2;
        --fs-price: 24px;
        --fs-product-label: 16px;
        --fs-product-info: 15px;
        --lh-product-info: 20px;
        --fs-qty: 17px;
        --gap-product-col: 24px;
        --offset-product-glow-x: 30px;
        --offset-product-glow-y: 20px;
        --gap-product-tight: 10px;
        --gap-product-weight: 16px;
        --gap-product-cart: 16px;
        --gap-product-grid: 14px;
        --gap-product-card: 12px;
        --pd-product-card: 12px;
        --pd-footer: 30px 0 25px;
        --gap-footer-bottom: 30px;
        --h-btn-float: 40px;
        --fs-modal-title: 20px;
        --pd-modal: 24px;
        --gap-form: 14px;
        --fs-h1: 26px;
        --fs-h2: 24px;
        --fs-h3: 18px;
        --pd-about-y: 24px;
        --pd-about-x: 20px;
        --pd-about-b: 30px;
        --pd-text-card: 20px;
        --gap-text-block: 22px;
        --gap-text-h2: 14px;
        --gap-text-h3: 12px;
        --gap-text-p: 14px;
        --gap-text-list: 10px;
        --gap-about-title: 18px;
        --gap-about-block: 16px;
        --gap-about-list: 10px;
        --gap-about-text: 14px;
        --gap-about-btn: 20px;
        --w-about-icon: 90px;
        --h-about-icon: 95px;
        --pd-feedback: 20px 20px 20px;
        --fs-feedback-label: 20px;
        --gap-feedback: 18px;
        --gap-feedback-field: 18px;
        --gap-feedback-btn: 16px;
        --gap-check-row: 12px;
        --pd-contacts: 20px;
        --h-menu-card: 200px;
        --w-btn: 150px;
        --gap-menu-title: 20px;
        --gap-menu-btn: 24px;
        --offset-menu-label: 16px;
        --pd-menu-label: 7px 16px;
        --fs-menu-label: 16px;
        --offset-glow: 30px;
        --h-map: 250px;
        --h-cart-icon-mob: 20px;
        --fs-logo-mob: 18px;
        --gap-header-mob: 12px;
        --gap-offcanvas-block: 16px;
        --gap-product: 30px;
        --pd-content-top: 22px;
        --pd-search-result: 16px 18px;
        --gap-search-form: 22px;
        --gap-search-head: 14px;
        --gap-search-result: 12px;
        --gap-pager: 22px;
        --pd-pager: 0 8px;
        --pd-cart: 16px 18px;
        --pd-cart-cell-y: 12px;
        --pd-cart-cell-x: 6px;
        /* сдвиг суммы не нужен */
        --offset-cart-total: 0px;
        --gap-cart: 16px;
        --gap-cart-product: 12px;
        --w-cart-img: 64px;
        --fs-cart-total: 18px;
        --pd-message: 12px 16px;
        --pd-checkout-pane: 16px 18px;
        --gap-checkout: 20px;
        --gap-checkout-pane: 16px;
        --gap-checkout-progress: 16px;
    }

    /* Заголовок главной крупнее */
    .front-h1 {
        --fs-h1: 32px;
    }

    /* Кнопки шага шириной блока */
    .commerce-checkout-flow .layout-region-checkout-footer .form-actions :is(input, button)[type="submit"],
    .commerce-checkout-flow .layout-region-checkout-footer .form-actions .link--previous {
        flex: 1 1 auto;
    }

    /* Прокрутка широких таблиц */
    .wr_content table {
        display: block;
        overflow-x: auto;
    }

    /* Корзина остаётся таблицей */
    .wr_content .cart-form table {
        display: table;
        min-width: var(--w-cart-table);
        overflow: visible;
    }

    /* Прокрутка, если не влезает */
    .wr_content .cart-form:has(> table),
    .wr_content .cart-form *:has(> table) {
        overflow-x: auto;
    }

    /* Итоги и кнопки карточки */
    .cart-form .view-footer > * {
        max-width: 100%;
    }

    .cart-form .form-actions :is(input, button)[type="submit"] {
        flex: 1 1 auto;
    }

    /* Каталог в одну колонку */
    #main .view-content:has(.taxonomy-term--type-catalog.taxonomy-term--view-mode-teaser) {
        grid-template-columns: minmax(0, 1fr);
    }

    /* «О нас»: текст на всю ширину, иконка рядом с кнопкой */
    :is(.wr_about .block:has(.group-left), .wr_content .region-content:has(.group-left)) {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    /* Порядок блоков карточки */
    :is(.wr_about, .wr_content .region-content:has(.group-left)) .group-right {
        display: contents;
    }

    :is(.wr_about, .wr_content .region-content:has(.group-left)) :is(.group-left, .group-right > *) {
        grid-column: 1 / -1;
    }

    :is(.wr_about, .wr_content .region-content:has(.group-left)) .group-right > * {
        order: 3;
        margin-top: var(--gap-about-block);
    }

    /* Кнопка и иконка в одной строке */
    .wr_about :is(.more-link, .view-footer, .field--type-link) {
        order: 1;
        align-self: center;
        margin-top: 0;
    }

    /* Иконка опущена, высоту строки не меняет */
    :is(.wr_about, .wr_content .region-content:has(.group-left)) .field--name-field-image {
        position: relative;
        top: var(--offset-about-icon-mob);
        right: auto;
        grid-column: 2;
        order: 2;
        justify-self: end;
        margin-top: var(--gap-about-btn);
    }

    /* «Обратная связь» в одну колонку */
    .wr_feedback .region > :is(.block, .block-webform) {
        flex: 1 1 100%;
    }

    .wr_feedback .region > .block-webform {
        margin-top: 0;
    }

    /* Копирайт и соцсети в конец */
    #footer .footer-about {
        display: contents;
    }

    #footer :is(.footer-brand, .footer-legal) {
        width: 100%;
        padding: 0 calc(var(--bs-gutter-x) * .5);
        margin-top: var(--bs-gutter-y);
    }

    #footer .footer-legal {
        order: 1;
    }

    #footer .footer-legal .copyright {
        margin-top: 0;
    }

    /* Дисклеймер во всю ширину */
    .vpa-container.vpa-short #vpa-short-wrapper,
    .vpa-container.vpa-full #vpa-full-wrapper {
        padding: var(--pd-disclaimer-sm);
    }

    .vpa-container.vpa-short #vpa-short-wrapper {
        flex-direction: column;
        align-items: stretch;
        border-radius: var(--radius-lg) var(--radius-lg) 0 0;
    }

    .vpa-container .vpa-actions {
        justify-content: center;
    }
}

@media screen and (max-width: 575px) {
    :root {
        --fs-slide-title: 33px;
        --fs-slide-min: 13px;
        --fs-slide-label: 19px;
        --fs-slide-text: 15px;
        --w-slide-text: 190px;
        --w-slide-label: 125px;
        --h-slide-label: 32px;
        --h-slider: 200px;
        --pd-slide: 16px 20px;
        --gap-slide: 10px;
        --h-btn-float: 36px;
        --h-caret: 18px;
        --gap-float: 10px;
        --offset-float: 12px;
        --fs-modal-title: 18px;
        --pd-modal: 20px;
        --fs-h1: 24px;
        --fs-h2: 24px;
        --fs-h3: 17px;
        --pd-text-card: 16px;
        --gap-text-block: 18px;
        --gap-section: 26px;
        --h-menu-card: 120px;
        --h-menu-card-first: 185px;
        --w-btn: 140px;
        --pd-btn: 10px 18px 11px;
        --lh-btn: 20px;
        --offset-menu-label: 12px;
        --fs-feedback-label: 20px;
        --h-map: 210px;
        --fs-logo-mob: 17px;
        --gap-header-mob: 10px;
        --gap-product: 24px;
        --fs-price: 20px;
        --fs-product-label: 15px;
        --fs-product-info: 14px;
        --lh-product-info: 19px;
        --fs-qty: 16px;
        --w-qty: 42px;
        --offset-product-glow-x: 24px;
        --offset-product-glow-y: 14px;
        --gap-product-tight: 8px;
        --gap-product-info: 12px;
        --gap-product-weight: 14px;
        --gap-product-price: 18px;
        --gap-product-cart: 12px;
        --pd-cart: 14px 16px;
        --w-cart-img: 56px;
        --h-remove-icon: 16px;
    }

    /* Своё фото категории для мобильной */
    .taxonomy-term--type-catalog.taxonomy-term--view-mode-teaser:has(.field--name-field-image-mob) .field--type-image:not(.field--name-field-image-mob) {
        display: none;
    }

    .taxonomy-term--type-catalog.taxonomy-term--view-mode-teaser .field--name-field-image-mob {
        display: block;
    }

    /* Текст двух секций мельче */
    :is(.wr_about, .wr_content .region-content:has(.group-left), .wr_feedback) {
        --fs-text: 14px;
    }

    /* Подзаголовки «О нас» */
    :is(.wr_about, .wr_content .region-content:has(.group-left)) {
        --fs-h3: 24px;
    }

    /* Согласие мельче текста */
    .wr_feedback {
        --fs-small: 12px;
    }

    /* Кнопка занимает остаток строки */
    .product-full-cart :is(input, button)[type="submit"] {
        flex: 1 1 auto;
    }

    /* Модалка без внутренней прокрутки */
    .modal {
        --bs-modal-margin: 12px;
    }

    /* Пагинация по центру */
    #slider-block button.slick-arrow {
        display: none;
    }

    #slider-block .slick-dots {
        right: 0;
        left: 0;
        bottom: var(--offset-slider);
        justify-content: center;
    }

    /* Кнопка дисклеймера */
    .vpa-container .vpa-actions .btn {
        width: 100%;
    }
}