/* ============================================================
   МаРУ кейтеринг — стили (вёрстка по макету Figma «desktop + mobile»)
   Шрифты: Playfair Display (замена TT Ramillas Trl) + Inter
   Контейнер 1180 · заголовки 42px · палитра из Figma
   ============================================================ */
:root{
  --radius:14px;--gold-2:#C6AC83;
  --ink:#0E1618; --ink-2:#141A1B; --overlay:#202020;
  --gray:#525252; --gray-2:#767676;
  --brand:#AE8F5D; --brand-h:#9a7d4d;
  --gold:#C6AC83; --brown:#8B795D; --gold-lt:#F2D8AF; --white:#ffffff;
  --line:#e7e2d8; --bg:#fff;
  --serif:"TT Ramillas Trl","Playfair Display",Georgia,serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --container:1180px;
  --pad:96px;
  --header-h:94px;
}
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:auto; -webkit-text-size-adjust:100%; overflow-x:clip; overscroll-behavior-x:none; }
body{ margin:0; background:var(--bg); color:var(--ink); font-family:var(--sans); font-size:16px; line-height:1.5; overflow-x:clip; -webkit-overflow-scrolling:touch; }
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul,ol{ margin:0; padding:0; list-style:none; }
h1,h2,h3,p{ margin:0; }
button{ font-family:inherit; cursor:pointer; border:none; background:none; color:inherit; }
input,textarea{ font-family:inherit; font-size:16px; }
:focus-visible{ outline:2px solid var(--gold); outline-offset:2px; }
.container{ width:100%; max-width:var(--container); margin:0 auto; padding:0 20px; }

/* ---------- логотип ---------- */
.logo{ display:block; width:100%; height:100%; fill:currentColor; }
.header__logo,.mobile-menu__logo,.hero__logo,.footer__logo{ display:block; flex:none; }

/* ---------- кнопки ---------- */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:10px;
  height:50px; padding:0 26px; font-size:16px; font-weight:400; line-height:1;
  transition:background .2s,transform .15s,box-shadow .2s,color .2s,border-color .2s; white-space:nowrap; border-radius:6px; }
.btn--gold{ background:var(--brand); color:#fff; }
.btn--gold:hover{ background:var(--brand-h); color:#fff; transform:translateY(-1px); box-shadow:0 8px 20px rgba(174,143,93,.35); }
.btn--ghost{ background:transparent; color:var(--gold); border:1px solid var(--gold); }
.btn--ghost:hover{ background:var(--gold); color:#fff; }
.btn--wide{ width:100%; max-width:400px; }
.btn--sm{ height:34px; padding:0 14px; font-size:14px; gap:6px; }
.btn svg{ flex:none; }

/* ---------- заголовок секции ---------- */
.section-head{ text-align:center; display:flex; flex-direction:column; align-items:center; margin-bottom:52px; }
.eyebrow{ font-family:var(--serif); color:var(--brown); font-size:16px; letter-spacing:.02em; margin-bottom:14px; text-transform:uppercase; }
.section-title{ font-family:var(--serif); font-weight:400; color:var(--ink); font-size:42px; line-height:1.16; letter-spacing:.005em; text-transform:uppercase; }
.section-title--light{ color:#fff; }
.section-lead{ max-width:1000px; margin:26px auto 0; color:var(--ink); font-size:16px; line-height:1.55; }
.divider{ display:flex; align-items:center; gap:29px; margin-top:28px; width:100%; max-width:620px; }
.divider__line{ flex:1; height:1px; background:var(--brown); opacity:.5; }
.divider__logo{ width:94px; height:45px; flex:none; color:var(--brown); fill:currentColor; }
.section-foot{ display:flex; justify-content:center; margin-top:48px; }

/* ============================================================ ШАПКА ============================================================ */
.header__nav {
    margin-left: auto! important;
}
.site-header{ position:fixed; inset:0 0 auto 0; z-index:60; height:var(--header-h); display:flex; align-items:center; transition:background .3s,height .3s,box-shadow .3s; }
.site-header.is-scrolled{ height:72px; background:rgba(14,22,24,.96); backdrop-filter:blur(8px); box-shadow:0 6px 24px rgba(0,0,0,.28); }
.header__inner{ display:flex; align-items:center; gap:22px; max-width:100%; }
.header__logo{ color:#fff; width:120px; height:58px; }
.header__nav{ margin-left:6px; }
.nav-list{ display:flex; gap:24px; }
.nav-list > li > a{ display:inline-flex; align-items:center; gap:6px; color:#fff; font-size:14px; opacity:.92; text-transform:uppercase; padding:8px 0; transition:color .2s,opacity .2s; }
.nav-list > li > a:hover{ color:var(--gold); opacity:1; }
.nav-caret{ width:11px; height:8px; flex:none; transition:transform .25s; }

/* выпадающее меню (десктоп) */
.has-dropdown{ position:relative; }
.has-dropdown:hover > a .nav-caret,
.has-dropdown:focus-within > a .nav-caret{ transform:rotate(180deg); }
.dropdown{
  position:absolute; top:100%; left:-16px; min-width:230px; list-style:none; margin:0;
  padding:10px 0; background:rgba(14,22,24,.98); backdrop-filter:blur(10px);
  border-top:2px solid var(--brand); box-shadow:0 22px 44px rgba(0,0,0,.4);
  opacity:0; visibility:hidden; transform:translateY(8px);
  transition:opacity .25s,transform .25s,visibility .25s; z-index:70;
}
.has-dropdown:hover > .dropdown,
.has-dropdown:focus-within > .dropdown{ opacity:1; visibility:visible; transform:translateY(0); }
.dropdown li a{ display:block; padding:10px 22px; font-size:14px; text-transform:uppercase; letter-spacing:.02em; white-space:nowrap; color:#e2ddd4; transition:color .2s,background .2s; }
.dropdown li a:hover{ color:var(--gold); background:rgba(255,255,255,.05); }
.header__side{ margin-left:auto; display:flex; align-items:center; gap:18px; }
.header__messengers{ display:flex; gap:12px; }
.msg-ico{ color:#fff; opacity:.9; transition:color .2s,transform .2s; display:inline-flex; }
.msg-ico:hover{ color:var(--gold); transform:translateY(-2px); }
.header__phone{ color:var(--white); font-weight:700; font-size:20px; white-space:nowrap; }
.header__cart{ position:relative; color:var(--gold); display:inline-flex; }
.header__cart-ico{ color:#fff; }
.cart-count{ position:absolute; top:-6px; right:-8px; min-width:17px; height:17px; padding:0 4px; background:#fff; color:#000; font-size:10px; font-weight:600; border-radius:50%; display:flex; align-items:center; justify-content:center; }
.header__cta{ height:44px; padding:0 20px; }
.header__menu-link{ display:none; align-items:center; color:#fff; font-size:16px; text-transform:uppercase; text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:1px; background:none; cursor:pointer; transition:color .2s; }
.header__menu-link:hover{ color:var(--gold); }
.burger{ display:none; width:44px; height:44px; flex-direction:column; justify-content:center; gap:5px; padding:0 8px; }
.burger span{ height:2px; background:#fff; border-radius:2px; transition:transform .3s,opacity .2s; }

/* ============================================================ БУРГЕР-МЕНЮ ============================================================ */
.mobile-menu{ position:fixed; top:0; right:0; z-index:80; width:min(360px,86vw); height:100dvh; background:var(--ink); transform:translateX(105%); transition:transform .35s cubic-bezier(.5,0,.2,1); display:flex; flex-direction:column; padding:22px 26px 30px; overflow-y:auto; box-shadow:-14px 0 40px rgba(0,0,0,.4); }
.mobile-menu.is-open{ transform:translateX(0); }
.mobile-menu__head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:26px; }
.mobile-menu__logo{ color:#fff; width:120px; height:56px; }
.mobile-menu__close{ color:#fff; font-size:38px; line-height:1; width:44px; height:44px; }
.mobile-menu__nav{ display:flex; flex-direction:column; }
.mobile-menu__nav > a,.mnav-trigger{ display:flex; align-items:center; justify-content:space-between; width:100%; text-align:left; color:#fff; font-family:var(--serif); font-size:16px; text-transform:uppercase; padding:14px 0; border-bottom:1px solid rgba(255,255,255,.08); transition:color .2s; }
.mobile-menu__nav > a:hover,.mnav-trigger:hover{ color:var(--gold); }
.mnav-group{ display:flex; flex-direction:column; }
.mnav-trigger .nav-caret{ width:14px; height:9px; transition:transform .3s; }
.mnav-trigger[aria-expanded="true"] .nav-caret{ transform:rotate(180deg); }
.mnav-trigger[aria-expanded="true"]{ color:var(--gold); }
.mnav-sub{ display:flex; flex-direction:column; max-height:0; overflow:hidden; transition:max-height .35s ease; }
.mnav-sub a{ color:#cfcac2; font-family:var(--sans); font-size:16px; text-transform:uppercase; letter-spacing:.02em; padding:11px 0 11px 16px; border-bottom:1px solid rgba(255,255,255,.05); transition:color .2s,padding-left .2s; }
.mnav-sub a:first-child{ padding-top:14px; }
.mnav-sub a:hover{ color:var(--gold); padding-left:22px; }
.mobile-menu__contacts{ margin-top:auto; padding-top:28px; color:#cfcac2; font-size:15px; display:flex; flex-direction:column; gap:6px; }
.mobile-menu__phone{ color:var(--gold); font-weight:700; font-size:22px; margin-bottom:4px; }
.mobile-menu__contacts .muted{ color:var(--gray-2); }
.mobile-menu__messengers{ display:flex; gap:16px; margin-top:14px; }
.menu-overlay{ position:fixed; inset:0; z-index:70; background:rgba(0,0,0,.5); opacity:0; visibility:hidden; transition:opacity .3s,visibility .3s; }
.menu-overlay.is-open{ opacity:1; visibility:visible; }

/* ============================================================ HERO ============================================================ */
.hero{ position:relative; min-height:100vh; min-height:100dvh; display:flex; align-items:center; overflow:hidden; background:var(--ink); }
.hero__media{ position:absolute; inset:0 0 0 auto; width:80%; z-index:0; overflow:hidden; }
.hero__slide{ position:absolute; inset:0; background-size:cover; background-position:center; opacity:0; transition:opacity 1.6s ease-in-out; animation:heroZoom 9s ease-out infinite alternate; }
.hero__slide.is-active{ opacity:1; }
@keyframes heroZoom{ from{ transform:scale(1.03);} to{ transform:scale(1.12);} }
.hero__fade{ position:absolute; inset:0; background:linear-gradient(90deg,var(--ink) 0%,rgba(14,22,24,.85) 26%,rgba(14,22,24,.25) 70%,rgba(14,22,24,.15) 100%); }
.hero__inner{ position:relative; z-index:2; width:100%; max-width:1630px; display:flex; align-items:center; justify-content:space-between; gap:30px; padding-top:var(--header-h); }
.hero__content{ max-width:980px; }
.hero__title{ font-family:var(--serif); font-weight:400; color:#fff; font-size:56px; line-height:1.16; letter-spacing:.005em; text-transform:uppercase; }
.hero__subtitle{ margin-top:26px; color:#fff; font-family:var(--serif); font-size:28px; line-height:1.35; opacity:.95; text-transform:uppercase; }
.hero__actions{ margin-top:36px; display:flex; flex-wrap:wrap; gap:25px; }
.hero__actions .btn{ min-width:300px; }
.hero__actions .btn--ghost{ background:transparent; color:#fff; border:1px solid #fff; }
.hero__actions .btn--ghost:hover{ background:#fff; color:var(--ink); border-color:#fff; transform:translateY(-1px); box-shadow:0 8px 20px rgba(255,255,255,.2); }

.hero__logo{ color:#fff; width:360px; height:162px; opacity:.95; align-self:flex-end; position:absolute; right:30px; bottom:30px; }

/* ============================================================ ЦИФРЫ ============================================================ */
.stats{ background:#fff; padding:80px 0; }
.stats__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.stat{ background:rgba(20,22,23,.03); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; padding:26px 14px; min-height:149px; text-align:center; }
.stat__num{ font-family:var(--serif); font-size:58px; line-height:1; color:var(--gold); }
.stat__label{ font-size:16px; color:var(--ink-2); text-transform:uppercase; }

/* ============================================================ КЛИЕНТЫ ============================================================ */
.clients{ padding:var(--pad) 0; }
.maru-gallery-section + .clients{ padding-top:0px; }
.maru-gallery-section{ padding-bottom:40px; }
@media (min-width:1200px){
  .hero:not(.hero--page) .hero__fade{ background:linear-gradient(90deg,var(--ink) 0%,rgba(14,22,24,.85) 6%,rgba(14,22,24,.25) 45%,rgba(14,22,24,.25) 100%); }
}
.clients__grid{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:34px 64px; }
.clients__grid img{ height:60px; width:auto; object-fit:contain; filter:grayscale(1); opacity:.7; transition:filter .3s,opacity .3s; }
.clients__grid img:hover{ filter:grayscale(0); opacity:1; }

/* ============================================================ ОРГАНИЗАЦИЯ / ПЛОЩАДКИ ============================================================ */
.events{ padding:var(--pad) 0 0; }
.events .section-head{ margin-bottom:0; }
.events .btn{ margin-top:36px; }
.events__grid{ margin-top:60px; display:grid; grid-template-columns:repeat(4,1fr); }
.event-card{ position:relative; aspect-ratio:480/619; min-height:300px; background-size:cover; background-position:center; display:flex; align-items:flex-end; overflow:hidden; text-align:center; justify-content:center; }
.event-card::before{ content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(14,22,24,.65),transparent 55%); opacity:1; transition:opacity .3s; }
.event-card span{ position:relative; z-index:1; color:#fff; font-family:var(--serif); font-size:28px; line-height:1.15; text-transform:uppercase; padding:28px; transition:transform .3s; }
.event-card:hover::before{ opacity:1; }
.event-card:hover span{ transform:translateY(-4px); }

/* ============================================================ ГОТОВЫЕ РЕШЕНИЯ ============================================================ */
.solutions{ background:#fff; color:var(--ink); padding:var(--pad) 0 72px; overflow:hidden; }
.solutions .section-title{ color:var(--ink); }
.solutions .divider__line{ background:var(--line); }
.sol-carousel{ margin-top:56px; }
.solutions__rows{ display:flex; flex-direction:column; margin-bottom:10px; }
.sol-row{ display:flex; align-items:baseline; gap:12px; padding:10px 0; border-bottom:1px dashed var(--line); }
.sol-row__name{ font-family:var(--serif); color:var(--brown); font-size:16px; text-transform:uppercase; }
.sol-row__dots{ flex:1; border-bottom:1px dotted #c9c3b6; transform:translateY(-4px); }
.sol-row__price{ font-family:var(--serif); color:var(--ink); font-size:16px; white-space:nowrap; text-transform:uppercase; }
.solutions__text{ color:var(--gray); font-size:16px; line-height:1.55; margin-bottom:14px; }
.solutions__card{ background:#fff; padding:38px 40px; border-radius:6px; }
.solutions__tabs{ display:flex; flex-wrap:wrap; gap:10px 10px; padding-bottom:18px; border-bottom:1px solid var(--line); margin-bottom:22px; }
.sol-tab{ font-family:var(--serif); font-size:16px; letter-spacing:.02em; color:var(--brown); position:relative; padding:2px 0; transition:color .2s; }
.sol-tab.is-active{ color:var(--ink); }
.sol-tab.is-active::after{ content:""; position:absolute; left:0; right:0; bottom:-2px; height:2px; background:var(--brand); }
.sol-slide .sol-row{ border-bottom-color:rgba(255,255,255,.22); padding:8px 0; }
.sol-slide .sol-row__name{ color:#e8e2da; font-size:15px; }
.sol-slide .sol-row__dots{ border-bottom-color:rgba(255,255,255,.35); }
.sol-slide .sol-row__price{ color:#fff; font-size:15px; }
.sol-slide .solutions__text{ color:#d8d2ca; font-size:14px; line-height:1.5; margin-bottom:10px; }
.sol-slide .solutions__rows{ margin-bottom:8px; }
.sol-slide .pkg-slide__content{ padding-top:8px; }
.sol-carousel .carousel__track{ overflow:hidden; }
.sol-carousel .pkg-carousel__track{ container-type:inline-size; }
.sol-carousel .pkg-carousel__track .pkg-slide{ flex:0 0 calc((100cqw - 32px) / 3); }
.sol-carousel .carousel__arrow{ opacity:.45; transition:opacity .2s,background .2s,color .2s,border-color .2s; }
.sol-carousel .carousel__arrow:hover{ opacity:1; }


/* ============================================================ КАТАЛОГ — КАРУСЕЛИ БЛЮД ============================================================ */
.catalog-row{ padding:0 0 52px; overflow:hidden; }
.maru-page > .catalog-hero + .catalog-row{ padding-top:56px; }
.catalog-row:last-of-type{ padding-bottom:var(--pad); }
.catalog-row__foot{ margin-top:36px; }
.catalog-row__carousel{ margin-top:36px; position:relative; overflow:hidden; min-width:0; padding-inline:16px; }
.catalog-row__track{ gap:24px; padding:6px 0 14px; scroll-padding-inline:0; scroll-snap-type:none; }
.catalog-row__track .product-card{ flex:0 0 calc((100% - 48px) / 3); border:none; box-shadow:inset 0 0 0 1px var(--line); }
.catalog-row__arrow{ opacity:.45; transition:opacity .2s,background .2s,color .2s,border-color .2s; }
.catalog-row__arrow:hover{ opacity:1; }
/* ============================================================ ДОСТАВКА ============================================================ */
.delivery{ padding:var(--pad) 0; background:#fbf9f5; }
.cat-tabs{ display:flex; flex-wrap:wrap; justify-content:center; gap:12px 26px; margin-bottom:48px; }
.cat-tab{ font-family:var(--serif); font-size:18px; color:var(--brown); text-transform:uppercase; position:relative; padding:4px 2px; transition:color .2s; }
.cat-tab.is-active{ color:var(--ink); }
.cat-tab.is-active::after{ content:""; position:absolute; left:0; right:0; bottom:-4px; height:2px; background:var(--brand); }
.cat-tab:hover{ color:var(--ink); }
.products-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.product-card{ background:#fff; border:1px solid var(--line); container:card / inline-size; display:flex; flex-direction:column; overflow:hidden; transition:transform .25s,box-shadow .25s; border-radius:6px; }
.product-card:hover{ transform:translateY(-6px); box-shadow:0 20px 40px rgba(14,22,24,.1); }
.product-card__media{ position:relative; aspect-ratio:380/465; background-size:cover; background-position:center; background-repeat:no-repeat; }
.badge{ position:absolute; top:14px; left:14px; background:var(--gold); color:#fff; font-size:16px; padding:4px 18px; }
.product-card__body{ padding:16px 20px 20px; display:flex; flex-direction:column; flex:1; }
.rating{ color:var(--gold); letter-spacing:3px; font-size:12px; }
.rating--lg{ font-size:20px; letter-spacing:5px; }
.product-card__link{ display:block; overflow:hidden; }
.product-card__link .product-card__media{ transition:transform .5s ease; }
.product-card__link:hover .product-card__media{ transform:scale(1.05); }
.product-card__title{ font-family:var(--serif); font-weight:400; font-size:20px; line-height:1.2; text-transform:uppercase; margin-top:10px; }
.product-card__title a{ color:inherit; text-decoration:none; transition:color .2s; }
.product-card__title a:hover{ color:var(--brand); }
.product-card__price{ color:var(--brown); font-family:var(--serif); font-size:18px; margin-top:8px; text-transform:uppercase; }
/* минимальный заказ — подсказка под степпером и кнопкой (2026-09-12) */
.product-card__min{ margin-top:8px; font-size:13px; line-height:1.3; color:var(--brown); }
.product-card__foot{ margin-top:auto; padding-top:16px; display:flex; flex-wrap:nowrap; align-items:center; justify-content:flex-start; gap:12px; }
.product-card__foot .btn{ min-width:0; }
.product-card__foot .stepper{ flex:none; }
.stepper{ display:flex; align-items:center; gap:8px; }
.stepper__btn{ width:28px; height:28px; border-radius:50%; border:1px solid var(--line); font-size:18px; line-height:1; color:var(--ink); display:flex; align-items:center; justify-content:center; transition:background .2s,color .2s,border-color .2s; }
.stepper__btn:hover{ background:var(--brand); color:#fff; border-color:var(--brand); }
input.stepper__val{ min-width:28px; width:34px; height:28px; text-align:center; font-size:15px; border:1px solid var(--line); border-radius:6px; background:transparent; padding:0; -moz-appearance:textfield; transition:border-color .2s; }
input.stepper__val:focus{ border-color:var(--brand); outline:none; }
.stepper__val{ min-width:28px; width:34px; text-align:center; font-size:15px; border:0; background:transparent; padding:0; -moz-appearance:textfield; }
.stepper__val::-webkit-outer-spin-button,.stepper__val::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.stepper span.stepper__val{ min-width:20px; width:auto; }

/* Подвал карточки всегда в одну строку: при узкой карточке ужимаем элементы (2026-09-10) */
@container card (max-width:340px){
  .product-card__foot{ gap:8px; }
  .product-card__foot .stepper{ gap:5px; }
  .product-card__foot .stepper__btn{ width:26px; height:26px; font-size:16px; }
  .product-card__foot input.stepper__val{ min-width:24px; width:28px; height:26px; font-size:14px; }
  .product-card__foot .btn--sm{ padding:0 10px; font-size:13px; gap:4px; }
}
@container card (max-width:245px){
  .product-card__foot{ gap:6px; }
  .product-card__foot .stepper{ gap:3px; }
  .product-card__foot .stepper__btn{ width:22px; height:22px; font-size:15px; }
  .product-card__foot input.stepper__val{ min-width:20px; width:24px; height:22px; font-size:13px; }
  .product-card__foot .btn--sm{ padding:0 8px; font-size:12px; gap:0; }
  .product-card__foot .btn--sm svg{ display:none; }
}


/* ============================================================ ПРЕИМУЩЕСТВА (тёмная) ============================================================ */
.advantages{ position:relative; padding:100px 0; background-size:cover; background-position:center; background-repeat:no-repeat; }
.advantages__overlay{ position:absolute; inset:0; background:rgba(32,32,32,.9); }
.advantages .container{ position:relative; }
.advantages__title{ text-align:center; max-width:1030px; margin:0 auto 56px !important; line-height:1.35; }
.advantages__grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:20px; }
.adv-card{ background:rgba(0,0,0,.15); border:1px solid rgba(242,216,175,.15); padding:30px 22px; text-align:center; display:flex; flex-direction:column; align-items:center; transition:transform .25s,border-color .25s; }
.adv-card:hover{ transform:translateY(-6px); border-color:var(--gold-lt); }
.adv-card__ico{ margin-bottom:20px; color:var(--gold-lt); line-height:0; }
.adv-card__ico svg{ width:50px; height:50px; }
.adv-card h3{ font-family:var(--serif); font-weight:400; font-size:18px; color:var(--gold-lt); text-transform:uppercase; margin-bottom:14px; }
.adv-card p{ color:#fff; font-size:16px; line-height:1.35; }

/* ============================================================ КАК ЭТО РАБОТАЕТ (таймлайн) ============================================================ */
.process{ padding:var(--pad) 0; }
.process__timeline{ position:relative; display:grid; grid-template-columns:repeat(3,1fr); gap:30px; padding-top:10px; }
.process__timeline::before{ content:""; position:absolute; top:80px; left:12%; right:12%; height:1px; background:var(--line); z-index:0; }
.pstep{ position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; text-align:center; }
.pstep__media{ width:160px; height:160px; border-radius:50%; background-size:cover; background-position:center; box-shadow:0 0 0 8px #fff, 0 12px 30px rgba(14,22,24,.15); }
.pstep__media::after{ content:""; position:absolute; top:150px; left:50%; transform:translateX(-50%); width:25px; height:25px; border-radius:50%; background:var(--gold); border:4px solid #fff; }
.pstep__body{ margin-top:34px; max-width:326px; }
.pstep__num{ font-family:var(--serif); font-size:22px; color:var(--brand); }
.pstep h3{ font-family:var(--serif); font-weight:400; font-size:22px; text-transform:uppercase; margin:4px 0 12px; }
.pstep p{ color:var(--ink); font-size:16px; line-height:1.35; }

/* ============================================================ ПОРТФОЛИО ============================================================ */
.portfolio{ padding:var(--pad) 0; overflow:hidden; }
.portfolio__grid{ margin-top:52px; }
.portfolio--page .portfolio__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.portfolio:not(.portfolio--page) .portfolio__grid{ display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; -webkit-overflow-scrolling:touch; scrollbar-width:none; padding:0 16px 24px; scroll-padding:16px; touch-action:pan-x pan-y; }
.portfolio:not(.portfolio--page) .portfolio__grid::-webkit-scrollbar{ display:none; }
.portfolio:not(.portfolio--page) .portfolio__grid .portfolio-item{ flex:0 0 calc((100vw - 48px) / 3); scroll-snap-align:start; }
.portfolio-item{ position:relative; aspect-ratio:380/560; background-size:cover; background-position:center; overflow:hidden; margin:0; border-radius:6px; }
.portfolio-carousel{ position:relative; width:100%; }
.portfolio-carousel .portfolio-arrow{ display:flex; position:absolute; top:50%; transform:translateY(-50%); z-index:3; }
.portfolio-carousel .carousel__arrow--prev{ left:16px; }
.portfolio-carousel .carousel__arrow--next{ right:16px; }
.portfolio-item::before{ content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(14,22,24,.65),transparent 55%); opacity:1; transition:opacity .3s; }
.portfolio-item:hover::before{ opacity:1; }
.portfolio-item figcaption{ position:absolute; left:0; right:0; bottom:0; z-index:1; padding:26px; color:#fff; font-family:var(--serif); font-size:20px; transform:none; opacity:1; transition:transform .3s,opacity .3s; }
.portfolio-item:hover figcaption{ transform:translateY(0); opacity:1; }

/* ============================================================ ВЫ СМОТРЕЛИ (карусель) ============================================================ */
.viewed{ padding:var(--pad) 0; background:#fbf9f5; }
.viewed .carousel__track .product-card{ flex:0 0 calc((100% - 72px) / 3.5); scroll-snap-align:start; border-radius:6px; }
.viewed .carousel__track .product-card__media{ aspect-ratio:317/246; }
/* карусели: десктоп — как было (3 / 3.5 карточки) */
@media (min-width:701px){
  .viewed .carousel__track .product-card{ flex:0 0 calc((100% - 72px) / 3.5); }
  .catalog-row__track .product-card{ flex:0 0 calc((100% - 48px) / 3); }
}

.carousel{ position:relative; display:flex; align-items:center; gap:14px; min-width:0; overflow:hidden; }
.carousel__track{ min-width:0; display:flex; gap:24px; overflow-x:auto; scroll-behavior:smooth; scroll-snap-type:x mandatory; padding:6px 2px 14px; scrollbar-width:none; flex:1; }
.carousel__track.is-loop{ overflow:hidden; touch-action:pan-y; scroll-snap-type:none; }
.carousel__inner{ display:flex; min-width:0; }
.portfolio__grid.is-loop{ overflow:hidden; touch-action:pan-y; scroll-snap-type:none; }
[data-carousel]{ touch-action:pan-y; }
.carousel__track::-webkit-scrollbar{ display:none; }
.carousel__arrow{ width:56px; height:56px; flex:none; border-radius:50%; background:#fff; color:var(--ink); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; transition:background .2s,color .2s; box-shadow:0 6px 18px rgba(0,0,0,.08); }
.carousel__arrow:hover{ background:var(--brand); color:#fff; border-color:var(--brand); }
.carousel__arrow:disabled{ opacity:.35; cursor:default; }
.vcard{ flex:0 0 420px; scroll-snap-align:start; display:flex; background:#fff; border:1px solid var(--line); overflow:hidden; }
.vcard__media{ position:relative; flex:0 0 200px; background-size:cover; background-position:center; background-repeat:no-repeat; }
.vcard__media .badge{ font-size:14px; padding:3px 12px; }
.vcard__body{ padding:22px 22px; display:flex; flex-direction:column; justify-content:center; gap:8px; }
.vcard__body h3{ font-family:var(--serif); font-weight:400; font-size:20px; text-transform:uppercase; line-height:1.2; }
.vcard__price{ color:var(--brown); font-family:var(--serif); font-size:16px; }

/* ============================================================ ОТЗЫВЫ (тёмная) ============================================================ */
.reviews{ background:var(--ink-2); color:#fff; padding:90px 0; }
.reviews .carousel{ justify-content:center; }
.reviews__viewport{ overflow:hidden; flex:1; max-width:1000px; touch-action:pan-y; }
.reviews__track{ display:flex; transition:transform .5s cubic-bezier(.5,0,.2,1); }
.review{ flex:0 0 100%; margin:0; text-align:center; display:flex; flex-direction:column; align-items:center; gap:18px; padding:10px 20px; }
.review__quote{ order:1; font-family:'Inter',sans-serif; font-weight:700; font-size:48px; line-height:1; color:var(--gold); }
.review__text{ order:2; font-size:18px; line-height:1.6; max-width:820px; }
.review .rating{ order:3; }
.review__author{ order:4; display:flex; align-items:center; gap:16px; margin-top:6px; }
.review__avatar{ width:64px; height:64px; border-radius:50%; object-fit:cover; }
.review__author span{ display:flex; flex-direction:column; text-align:left; font-size:16px; color:#cfcac2; }
.review__author strong{ font-family:var(--serif); font-weight:500; font-size:19px; color:#fff; }
.reviews__dots{ display:none; }

/* ============================================================ КОНТАКТЫ (тёмная) ============================================================ */
.contacts{ position:relative; background-size:cover; background-position:center; padding:var(--pad) 0; color:#fff; }
.contacts__overlay{ position:absolute; inset:0; background:rgba(32,32,32,.7); }
.contacts__inner{ position:relative; display:grid; grid-template-columns:1fr 1fr; grid-template-areas:"title title" "info info" "form media"; gap:26px 56px; align-items:start; }
.contacts__title{ grid-area:title; text-align:center; max-width:1100px; margin:0 auto 14px; }
.contacts__info{ grid-area:info; display:flex; flex-direction:column; align-items:center; text-align:center; margin-bottom:6px; }
.contacts__phone{ font-family:var(--serif); font-size:30px; color:var(--gold-lt); display:inline-block; margin-bottom:16px; }
.contacts__list{ display:flex; flex-direction:column; gap:10px; font-size:16px; color:#e9e5dd; align-items:center; }
.contacts__list a{ text-decoration:underline; text-underline-offset:3px; }
.contacts__media{ grid-area:media; align-self:stretch; min-height:100%; }
.contacts__media img{ width:100%; height:100%; min-height:420px; object-fit:cover; }
.contacts__media iframe, .contacts__media > ymaps, .contacts__media > div{ width:100% !important; min-height:400px; display:block; }
.contact-form{ grid-area:form; display:flex; flex-direction:column; gap:16px; max-width:560px; width:100%; }
.contact-form__row{ display:flex; gap:16px; }
.contact-form input,.contact-form textarea{ width:100%; background:transparent; border:1px solid rgba(255,255,255,.3); padding:15px 18px; color:#fff; transition:border-color .2s; }
.contact-form input::placeholder,.contact-form textarea::placeholder{ color:rgba(255,255,255,.6); }
.contact-form input:focus,.contact-form textarea:focus{ outline:none; border-color:var(--gold); }
.contact-form textarea{ resize:vertical; min-height:110px; }
.contact-form__consent{ display:flex; gap:12px; align-items:flex-start; text-align:left; font-size:14px; color:#cfcac2; line-height:1.45; }
.contact-form__consent input{ width:18px; height:18px; margin-top:2px; flex:none; accent-color:var(--brand); }
.contact-form__consent a, .order-summary__consent a{ color:inherit; text-decoration:underline; text-underline-offset:2px; }
.contact-form__consent a:hover, .order-summary__consent a:hover{ color:var(--brand); }
.contact-form__success{ color:var(--gold-lt); font-size:15px; }
.maru-hp{ position:absolute; left:-9999px; width:1px; height:1px; opacity:0; pointer-events:none; }

/* ============================================================ ПОДВАЛ ============================================================ */
.site-footer{ background:#000; color:#fff; padding:56px 0 34px; }
.site-footer__inner{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:30px; }
.footer__top{ display:flex; align-items:center; justify-content:center; gap:80px; width:100%; }
.footer__ico{ width:45px; height:45px; flex:none; border-radius:50%; border:1px solid rgba(198,172,131,.55); display:flex; align-items:center; justify-content:center; color:var(--gold); }
.footer__address{ display:flex; align-items:center; gap:14px; color:#fff; font-size:16px; line-height:1.4; text-align:left; }
.footer__logo{ color:#fff; width:166px; height:82px; }
.footer__contact{ display:flex; align-items:center; gap:14px; text-align:left; }
.footer__contact-text{ display:flex; flex-direction:column; }
.footer__phone{ color:var(--gold); font-weight:700; font-size:22px; display:block; }
.footer__muted{ color:#fff; font-size:16px; }
.footer__tagline{ color:#cfcac2; font-size:16px; max-width:900px; }
.footer__social{ display:flex; gap:18px; justify-content:center; }
.footer__line{ width:100%; height:1px; background:rgba(255,255,255,.14); }
.footer__bottom{ display:flex; flex-direction:column; align-items:center; gap:14px; color:var(--gray-2); font-size:14px; }
.footer__legal{ display:flex; flex-wrap:wrap; justify-content:center; gap:26px; }
.footer__legal a{ transition:color .2s; }
.footer__legal a:hover{ color:var(--gold); }

.to-top{ position:fixed; right:26px; bottom:26px; z-index:50; width:50px; height:50px; border-radius:50%; background:var(--brand); color:#fff; display:flex; align-items:center; justify-content:center; opacity:0; visibility:hidden; transform:translateY(14px); transition:opacity .3s,visibility .3s,transform .3s,background .2s; box-shadow:0 10px 24px rgba(0,0,0,.25); }
.to-top.is-visible{ opacity:1; visibility:visible; transform:translateY(0); }
.to-top:hover{ background:var(--brand-h); }

/* ---------- появление ---------- */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity .7s ease,transform .7s ease; }
.reveal.is-visible{ opacity:1; transform:none; }

/* ============================================================ СТРАНИЦА «КЕЙТЕРИНГ И ОРГАНИЗАЦИЯ» ============================================================ */
/* хлебные крошки в hero */
.breadcrumbs{ display:flex; flex-wrap:wrap; align-items:center; gap:0; font-size:14px; text-transform:uppercase; letter-spacing:.03em; margin-bottom:26px; color:#fff; }
.breadcrumbs__sep{ margin:0 10px; opacity:.55; }
.breadcrumbs a{ opacity:.8; transition:color .2s,opacity .2s; }
.breadcrumbs a:hover{ color:var(--gold); opacity:1; }
.breadcrumbs span{ color:var(--gold); }
.hero--page{ min-height:640px; background:var(--ink); overflow:visible; overflow:hidden; }
.hero--page .hero__inner{ align-items:center; gap:50px; padding-right:0; }
.hero--page .hero__title{ font-size:56px; }
.hero--page .hero__content{ max-width:785px; flex:1 1 auto; }
.hero__figure{ flex:0 0 46%; max-width:none; margin-right:calc((100% - 100vw) / 2); }
.hero__figure img{ width:100%; height:735px; display:block; object-fit:cover; }

/* событийный кейтеринг — сетка типов (последний ряд по центру) */
.ctypes{ padding:var(--pad) 0; }
.ctypes__grid{ margin-top:52px; display:flex; flex-wrap:wrap; justify-content:center; gap:20px; }
.ctype-card{ flex:0 0 calc((100% - 60px) / 4); position:relative; aspect-ratio:284/290; min-height:230px; background-size:cover; background-position:center; display:flex; align-items:flex-end; overflow:hidden; border-radius:6px; }
.ctype-card::before{ content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(14,22,24,.78),rgba(14,22,24,.05) 62%); transition:background .3s; }
.ctype-card:hover::before{ background:linear-gradient(0deg,rgba(174,143,93,.82),rgba(14,22,24,.1) 70%); }
.ctype-card span{ position:relative; z-index:1; color:#fff; font-family:var(--serif); font-size:20px; line-height:1.2; padding:22px; transition:transform .3s; }
.ctype-card:hover span{ transform:translateY(-4px); }

/* готовые решения: фото слева + карточка справа */
.solutions--split .container{ position:relative; z-index:1; }
.solutions--split .solutions__title{ text-align:center; margin-bottom:48px; }
.solutions--split .solutions__row{ display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:stretch; }
.solutions__photo{ background-size:cover; background-position:center; min-height:520px; }
.solutions--split .solutions__card{ align-self:center; width:100%; }

/* преимущества на светлом фоне */
.advantages--light{ position:static; background:#fff; padding:var(--pad) 0; }
.advantages--light .advantages__grid{ margin-top:0; }
.advantages--light .adv-card{ background:transparent; border-color:var(--gold); border-radius:6px; }
.advantages--light .adv-card__ico{ color:var(--brown); }
.advantages--light .adv-card h3{ color:var(--brown); }
.advantages--light .adv-card p{ color:var(--ink); }
.advantages--light .advantages__title{ color:var(--ink); }

/* текстовые блоки (описание/SEO) */
.textblock{ padding:var(--pad) 0 0; }
.textblock--alt{ background:#fbf9f5; overflow:hidden; padding-bottom:60px; }
.textblock--alt.textblock--white{ background:#ffffff; overflow:hidden; margin-bottom:50px; }
.textblock__title{ text-align:center; margin:0 auto 40px; max-width:1100px; }
.textblock__body{ max-width:1120px; margin:0 auto; color:var(--ink); font-size:16px; line-height:1.75; }
.textblock__body p{ margin-bottom:18px; }
.textblock__list{ display:flex; flex-direction:column; gap:14px; margin:4px 0 22px; }
.textblock__list li{ position:relative; padding-left:28px; }
.textblock__list li::before{ content:""; position:absolute; left:2px; top:10px; width:8px; height:8px; border-radius:50%; background:var(--brand); }
.textblock__list b{ font-weight:600; color:var(--ink); }
.textblock__sub{ font-family:var(--serif); font-weight:400; font-size:26px; color:var(--ink); margin:14px 0 16px; }
.textblock__ol{ counter-reset:tbo; display:flex; flex-direction:column; gap:16px; margin:4px 0 22px; }
.textblock__ol li{ position:relative; padding-left:46px; }
.textblock__ol li::before{ counter-increment:tbo; content:counter(tbo); position:absolute; left:0; top:-2px; width:30px; height:30px; display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-size:16px; color:#fff; background:var(--brand); border-radius:50%; }
.textblock__ol b{ color:var(--ink); }

/* ============================================================ СТРАНИЦА «ФУРШЕТ» ============================================================ */
/* РїР°РєРµС‚РЅС‹Рµ РїСЂРµРґР»РѕР¶РµРЅРёСЏ вЂ” РєР°СЂСѓСЃРµР»СЊ СЃ С„РѕРЅРѕРІС‹РјРё РєР°СЂС‚РѕС‡РєР°РјРё */
/* РїР°РєРµС‚РЅС‹Рµ РїСЂРµРґР»РѕР¶РµРЅРёСЏ вЂ” РєР°СЂСѓСЃРµР»СЊ СЃ С„РѕРЅРѕРІС‹РјРё РєР°СЂС‚РѕС‡РєР°РјРё */
.packages{ background:#f5f1ea; color:var(--ink); padding:var(--pad) 0 72px; overflow:hidden; }
.packages .section-title{ color:var(--ink); }
.packages .eyebrow{ color:var(--brand); }
.packages .divider__line{ background:var(--line); }
.pkg-carousel{ margin-top:56px; width:100%; max-width:none; gap:0; position:relative; }
.pkg-carousel__track{ gap:16px; padding:0 16px 24px; scroll-padding:16px; }
.pkg-carousel__track .pkg-slide{ flex:0 0 calc((100vw - 48px) / 3); scroll-snap-align:start; }
.pkg-slide{ position:relative; min-height:445px; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; background-color:var(--ink); background-size:cover; background-position:center; background-repeat:no-repeat; }
.pkg-slide__overlay{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(8,12,14,.55) 0%, rgba(8,12,14,.78) 42%, rgba(8,12,14,.94) 100%); }
.pkg-slide__content{ position:relative; z-index:1; padding:16px 28px 28px; display:flex; flex-direction:column; gap:4px; }
.pkg-slide__title{ font-family:var(--serif); font-weight:400; font-size:26px; line-height:1.2; text-transform:uppercase; color:#fff; margin:0 0 6px; }
.pkg-slide__specs{ display:flex; flex-direction:column; gap:3px; margin-bottom:6px; color:#f2ece4; font-size:15px; }
.pkg-slide__specs b{ color:var(--gold-lt); font-weight:600; }
.pkg-slide__row{ color:#e8e2da; font-size:14px; line-height:1.45; }
.pkg-slide__row b{ color:#fff; }
.pkg-slide__menu{ display:flex; flex-direction:column; gap:4px; margin:2px 0 8px; max-height:132px; overflow:hidden; }
.pkg-slide__menu li{ position:relative; padding-left:18px; color:#e0dbd4; font-size:13px; line-height:1.35; }
.pkg-slide__menu li::before{ content:""; position:absolute; left:0; top:7px; width:5px; height:5px; border-radius:50%; background:var(--gold); }
.pkg-slide__actions{ margin-top:10px; }
.pkg-slide__actions .btn{ width:100%; }
.pkg-carousel .carousel__arrow{ position:absolute; top:50%; transform:translateY(-50%); z-index:3; background:#fff; color:var(--ink); }
.pkg-carousel .carousel__arrow--prev{ left:16px; }
.pkg-carousel .carousel__arrow--next{ right:16px; }
.pkg-carousel .carousel__arrow:hover{ background:var(--brand); color:#fff; border-color:var(--brand); }
.dishes{ padding:var(--pad) 0; overflow:hidden; }
.dishes__grid{ margin-top:52px; display:grid; grid-template-columns:repeat(3,1fr); gap:16px; padding:0 16px; width:100%; }
.dish-card{ margin:0; }
.dish-card[data-full]{ cursor:pointer; }
.dish-card[data-full]:focus-visible{ outline:2px solid var(--gold); outline-offset:4px; }
.dish-card__media{ position:relative; aspect-ratio:380/465; background-size:cover; background-position:center; overflow:hidden; }
.dish-card__media .badge{ position:absolute; top:14px; left:14px; background:var(--gold); color:#fff; font-size:16px; padding:4px 18px; }
.dish-card h3{ font-family:var(--serif); font-weight:400; font-size:20px; line-height:1.25; text-transform:uppercase; color:var(--ink); margin-top:18px; }

/* ============================================================ СТРАНИЦА «ГОТОВЫЕ БЛЮДА НА ЗАКАЗ» ============================================================ */
.site-header--solid{ background:var(--ink); }
.site-header--solid.is-scrolled{ background:rgba(14,22,24,.96); }

/* светлый баннер */
.catalog-hero{ background:#f9f9f9; padding-top:calc(var(--header-h) + 34px); padding-bottom:34px; }
.catalog-hero .breadcrumbs{ color:var(--ink); margin-bottom:22px; }
.catalog-hero .breadcrumbs a{ opacity:.7; }
.catalog-hero__title{ color:var(--ink); }
.catalog-hero__subtitle{ font-family:var(--serif); font-size:clamp(20px,2vw,20px); text-transform:uppercase; color:var(--ink); margin-top:14px; }

/* каталог */
.catalog{ padding:34px 0 var(--pad); }
.catalog__sort{ display:flex; align-items:center; justify-content:flex-end; gap:14px; margin-bottom:26px; }
.catalog__sort-label{ color:#000; font-size:16px; }
.sort-select{ position:relative; }
.sort-select__btn{ display:inline-flex; align-items:center; gap:10px; min-width:270px; justify-content:space-between; padding:14px 18px; border:1px solid var(--gold); border-radius:6px; color:#000; font-size:16px; transition:border-color .2s; }
.sort-select__btn:hover{ border-color:var(--brand); }
.sort-select__list{ position:absolute; top:calc(100% + 6px); left:0; right:0; background:#fff; border:1px solid var(--line); box-shadow:0 18px 40px rgba(0,0,0,.12); border-radius:var(--radius); padding:6px 0; opacity:0; visibility:hidden; transform:translateY(6px); transition:opacity .2s,transform .2s,visibility .2s; z-index:20; }
.sort-select.is-open .sort-select__list{ opacity:1; visibility:visible; transform:none; }
.sort-select.is-open .sort-select__btn .nav-caret{ transform:rotate(180deg); }
.sort-select__list button{ display:block; width:100%; text-align:left; padding:10px 18px; font-size:15px; color:var(--ink); transition:background .2s,color .2s; }
.sort-select__list button:hover{ background:#f4f0e8; color:var(--brand); }
.catalog__view{ width:48px; height:48px; flex:none; display:flex; align-items:center; justify-content:center; border:1px solid var(--gold); border-radius:var(--radius); color:var(--gold-2); transition:background .2s,color .2s; }
.catalog__view:hover{ background:var(--brand); color:#fff; border-color:var(--brand); }
.catalog__views{ display:flex; align-items:center; gap:10px; flex:none; }
.catalog__views .catalog__view{ width:auto; height:auto; padding:2px; border:none; border-radius:0; background:transparent; color:var(--gold-2); box-shadow:none; }
.catalog__views .catalog__view:hover{ background:transparent; color:var(--brand); }
.catalog__views .catalog__view.is-active{ color:var(--brand); }
.products-grid--list{ grid-template-columns:1fr; gap:18px; }
.products-grid--list .product-card{ flex-direction:row; align-items:stretch; }
.products-grid--list .product-card__link,
.products-grid--list .product-card > .product-card__media{ flex:0 0 clamp(120px,32vw,200px); width:clamp(120px,32vw,200px); align-self:stretch; }
.products-grid--list .product-card__media{ width:100%; height:100%; min-height:120px; aspect-ratio:auto; flex:none; }
.products-grid--list .product-card__body{ justify-content:center; flex:1; min-width:0; }
.product-card__compo{ display:none; list-style:none; margin:0; padding:0; }
.products-grid--list .product-card__compo{ display:flex; flex-direction:column; gap:7px; margin:8px 0 0; font-size:14px; line-height:1.35; color:var(--gray); }
.products-grid--list .product-card__compo li{ position:relative; padding-left:20px; }
.products-grid--list .product-card__compo li::before{ content:""; position:absolute; left:2px; top:7px; width:5px; height:5px; border-radius:50%; background:var(--gold); }
.catalog__grid{ margin-top:20px; }
.catalog .product-card__media{ width:100%; aspect-ratio:380/465; background-size:cover; background-position:center; background-repeat:no-repeat; }

/* кешбэк */
.cashback{ padding:0 0 var(--pad); }
.cashback__banner{ position:relative; overflow:hidden; border-radius:6px; min-height:420px; background-size:cover; background-position:center; display:flex; }
.cashback__overlay{ position:absolute; inset:0; background:linear-gradient(90deg, rgba(247,243,236,.96) 0%, rgba(247,243,236,.82) 38%, rgba(247,243,236,.25) 68%, rgba(247,243,236,0) 100%); }
.cashback__content{ position:relative; z-index:1; display:flex; flex-direction:column; justify-content:space-between; gap:24px; padding:56px 60px; max-width:620px; }
.cashback__title{ font-family:var(--serif); font-weight:400; font-size:clamp(34px,4.6vw,58px); line-height:1.08; text-transform:uppercase; color:var(--ink); }
.cashback__text{ font-family:var(--serif); font-size:20px; line-height:1.4; color:var(--ink); max-width:440px; }

/* ============================================================ СТРАНИЦА ТОВАРА ============================================================ */
.crumbs-bar{ background:#f9f9f9; padding-top:var(--header-h); }
.crumbs-bar .container{ padding-top:15px; padding-bottom:15px; }
.crumbs-bar a,.crumbs-bar span{ font-size:15px; text-transform:uppercase; letter-spacing:.02em; }
.crumbs-bar a{ color:var(--ink); opacity:.55; transition:color .2s,opacity .2s; }
.crumbs-bar a:hover{ opacity:1; color:var(--brand); }
.crumbs-bar span{ color:var(--brand); }

.product{ padding:50px 0 var(--pad); }
.product__inner{ display:grid; grid-template-columns:670px 1fr; gap:66px; align-items:start; }
.gallery__main{ position:relative; aspect-ratio:670/780; background-size:cover; background-position:center; background-repeat:no-repeat; border-radius:6px; }
.gallery__thumbs{ display:flex; gap:16px; margin-top:16px; }
.gallery__thumb{ width:125px; height:85px; flex:none; background-size:cover; background-position:center; border:1px solid var(--line); border-radius:6px; opacity:.65; cursor:pointer; transition:opacity .2s,border-color .2s; }
.gallery__thumb:hover,.gallery__thumb.is-active{ opacity:1; border-color:var(--gold); }

.product__info{ padding-top:2px; }
.product__title{ font-family:var(--serif); font-weight:400; font-size:42px; line-height:1.1; text-transform:uppercase; color:var(--ink); }
.product__eyebrow{ font-family:var(--serif); font-size:20px; text-transform:uppercase; color:var(--brown); margin-top:8px; }
.product__price{ font-family:var(--serif); font-size:24px; color:var(--ink); margin-top:16px; }
.product .rating--lg{ margin-top:14px; color:var(--gold); }
.product__hr{ border:none; border-top:1px solid var(--gold); margin:22px 0; }
.product__desc{ color:var(--ink); font-size:16px; line-height:1.6; }
.product__buy{ display:flex; align-items:center; gap:16px; margin-top:24px; }
.product__compo-title{ font-weight:700; font-size:16px; color:var(--ink); margin-bottom:14px; }
.product__compo{ display:flex; flex-direction:column; gap:7px; color:var(--ink); font-size:16px; }
.product__compo li{ position:relative; padding-left:20px; }
.product__compo li::before{ content:""; position:absolute; left:2px; top:9px; width:6px; height:6px; border-radius:50%; background:var(--gold); }

/* подборки-карусели (по 3 карточки) */
.pick{ padding:var(--pad) 0; }
.pick--related{ padding-top:0; }
.pick .carousel{ min-width:0; overflow:hidden; }
.pick .carousel__track{ min-width:0; }
.pick .carousel__track .product-card{ flex:0 0 calc((100% - 48px) / 3); scroll-snap-align:start; }
.product-card--simple .product-card__body{ padding:18px 20px 22px; }

/* ============================================================ СТРАНИЦА «КОРЗИНА» ============================================================ */
.cart-hero{ background:#f9f9f9; padding-top:calc(var(--header-h) + 34px); padding-bottom:34px; }
.cart-hero__inner{ display:flex; align-items:center; justify-content:space-between; gap:30px; }
.container.cart-hero__inner::before, .container.cart-hero__inner::after { display: none !important; content: none !important; }
.cart-hero .breadcrumbs{ color:var(--ink); margin-bottom:16px; }
.cart-hero .breadcrumbs a{ opacity:.6; }
.cart-hero .breadcrumbs a:hover{ opacity:1; color:var(--brand); }
.cart-hero__title{ color:var(--ink); }
.cart-hero__logo{ display:block; width:280px; height:126px; color:#0c0c0c; flex:none; }

.cart{ padding:54px 0 var(--pad); }
.cart__head,.cart__row{ display:grid; grid-template-columns:130px minmax(0,1fr) 210px minmax(0,1fr) 150px 32px; align-items:center; gap:0 20px; }
.cart__remove{ color:#b9b3a7; font-size:26px; line-height:1; width:32px; height:32px; display:flex; align-items:center; justify-content:center; transition:color .2s; }
.cart__remove:hover{ color:#c96a5a; }
.cart__head{ padding-bottom:16px; }
.cart__head span{ font-weight:700; font-size:16px; color:var(--ink); }
.cart__row{ padding:16px 0; border-bottom:1px solid var(--gold); }
.cart__img{ display:block; width:109px; height:73px; background-size:cover; background-position:center; background-repeat:no-repeat; }
.cart__product{ display:flex; flex-direction:column; gap:3px; }
.cart__name{ font-size:16px; color:var(--ink); transition:color .2s; }
.cart__name:hover{ color:var(--brand); }
.cart__weight{ font-size:16px; color:var(--ink); }
.cart__price,.cart__row-total{ font-family:var(--serif); font-size:16px; color:var(--ink); }
.cart__grand{ text-align:right; font-family:var(--serif); font-size:20px; color:var(--ink); margin-top:24px; }
.cart__actions{ display:flex; justify-content:center; margin-top:34px; }
.cart__checkout{ min-width:377px; }

/* ============================================================ СТРАНИЦА «ОФОРМЛЕНИЕ ЗАКАЗА» ============================================================ */
.checkout{ padding:56px 0 var(--pad); }
.checkout__inner{ display:grid; grid-template-columns:minmax(0,1fr) 560px; gap:30px; align-items:start; }
.checkout__title{ font-weight:700; font-size:20px; color:var(--ink); margin:0 0 18px; }
.checkout__form{ display:flex; flex-direction:column; gap:36px; }
.checkout__block{ display:flex; flex-direction:column; gap:14px; }
.checkout__form input[type="text"],
.checkout__form input[type="tel"],
.checkout__form input[type="email"],
.checkout__form textarea{ width:100%; background:#fff; border:1px solid #c3c3c3; border-radius:6px; padding:15px 18px; color:#000; transition:border-color .2s; }
.checkout__form input::placeholder,.checkout__form textarea::placeholder{ color:#000; opacity:.55; }
.checkout__form input:focus,.checkout__form textarea:focus{ outline:none; border-color:var(--brand); }
.checkout__form textarea{ resize:vertical; min-height:90px; }

.promo{ background:rgba(198,172,131,.24); border-radius:var(--radius); padding:12px 12px 12px 20px; display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-top:4px; }
.promo__label{ font-weight:700; font-size:18px; color:var(--ink); white-space:nowrap; }
.promo__field{ display:flex; flex:1; min-width:220px; }
.promo__field input,
.checkout__form .promo__field input[type="text"]{ flex:1; border:1px solid #c3c3c3 !important; border-right:none !important; border-radius:6px 0 0 6px; }
.promo__btn{ background:var(--brand); color:#fff; padding:0 22px; border-radius:0 6px 6px 0; font-size:15px; white-space:nowrap; transition:background .2s; }
.promo__btn:hover{ background:var(--brand-h); }

.checkout__methods{ display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.method{ border:none; margin:0; padding:0; }
.method__opt{ display:flex; align-items:center; gap:12px; padding:7px 0; cursor:pointer; color:#000; font-size:16px; }
.method__opt input{ appearance:none; -webkit-appearance:none; width:20px; height:20px; flex:none; border:1px solid #c3c3c3; border-radius:3px; display:grid; place-content:center; transition:background .2s,border-color .2s; }
.method__opt input::before{ content:""; width:10px; height:10px; border-radius:2px; transform:scale(0); background:#fff; transition:transform .15s; }
.method__opt input:checked{ background:var(--brand); border-color:var(--brand); }
.method__opt input:checked::before{ transform:scale(1); }

.order-summary{ background:var(--ink); color:#fff; border-radius:6px; padding:32px 34px; }
.order-summary__items{ display:flex; flex-direction:column; gap:14px; }
.order-item{ display:grid; grid-template-columns:109px 1fr auto auto; grid-template-areas:"img name price remove" "img weight price remove"; gap:2px 16px; align-items:center; }
.order-item__img{ grid-area:img; width:109px; height:73px; background-size:cover; background-position:center; background-repeat:no-repeat; }
.order-item__name{ grid-area:name; align-self:end; font-size:16px; }
.order-item__weight{ grid-area:weight; align-self:start; font-family:var(--serif); font-size:16px; color:#cfcac2; }
.order-item__price{ grid-area:price; font-size:16px; }
.order-item__remove{ grid-area:remove; color:#8a857c; font-size:24px; line-height:1; width:26px; height:26px; display:flex; align-items:center; justify-content:center; transition:color .2s; }
.order-item__remove:hover{ color:#fff; }
.order-summary__lines{ margin:26px 0 22px; display:flex; flex-direction:column; gap:8px; }
.order-summary__line{ display:flex; justify-content:space-between; font-family:var(--serif); font-size:18px; }
.order-summary__line span:first-child{ color:#cfcac2; }
.checkout__submit{ width:100%; background:var(--brand); color:#fff; }
.checkout__submit:hover{ background:var(--brand-h); }
.order-summary__consent{ display:flex; gap:12px; align-items:flex-start; margin-top:16px; font-size:12px; line-height:1.45; color:#cfcac2; }
.order-summary__consent input{ width:18px; height:18px; margin-top:1px; flex:none; accent-color:var(--brand); }
.checkout__success{ color:var(--gold-lt); font-size:14px; margin-top:14px; }

/* ============================================================ СТРАНИЦА 404 ============================================================ */
.notfound{ display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; min-height:74vh; padding:calc(var(--header-h) + 50px) 20px 70px; }
.notfound__logo{ display:block; width:340px; height:150px; color:#0c0c0c; margin-bottom:18px; }
.notfound__title{ font-family:var(--serif); font-weight:400; text-transform:uppercase; color:var(--ink); margin:0 auto 40px; }
.notfound__code{ display:block; font-size:clamp(88px,13vw,180px); line-height:1; }
.notfound__text{ display:block; font-size:clamp(30px,4.6vw,60px); line-height:1.1; margin-top:8px; }
.notfound__btn{ padding:15px 36px; }

/* ============================================================ СТРАНИЦА «ПОЛИТИКА» (текст) ============================================================ */
.policy-hero__title{ font-size:clamp(26px,3.4vw,42px); max-width:1000px; }
.policy{ padding:48px 0 var(--pad); }
.policy__body{ max-width:1180px; color:var(--ink); font-size:16px; line-height:1.7; }
.policy__meta{ color:var(--gray); margin-bottom:6px; }
.policy__meta a{ color:var(--brand); text-decoration:underline; text-underline-offset:2px; }
.policy__body h2{ font-family:var(--serif); font-weight:400; font-size:26px; line-height:1.2; text-transform:uppercase; color:var(--ink); margin:38px 0 16px; }
.policy__body h2:first-of-type{ margin-top:22px; }
.policy__body p{ margin-bottom:12px; }
.policy__body ul{ margin:2px 0 16px; padding:0; list-style:none; display:flex; flex-direction:column; gap:9px; }
.policy__body li{ position:relative; padding-left:22px; }
.policy__body li::before{ content:""; position:absolute; left:4px; top:11px; width:6px; height:6px; border-radius:50%; background:var(--gold); }
.policy__body b{ font-weight:600; color:var(--ink); }

/* ============================================================ ≤1319 (узкий десктоп) ============================================================ */
@media (max-width:1319px){
  .nav-list > li > a{ display:inline-flex; align-items:center; gap:6px; color:#fff; font-size:12px; opacity:.92; text-transform:uppercase; padding:8px 0; transition:color .2s, opacity .2s; }
  .event-card span{ position:relative; z-index:1; color:#fff; font-family:var(--serif); font-size:20px; line-height:1.15; text-transform:uppercase; padding:28px; transition:transform .3s; }
  .sol-tab.is-active::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--brand); }
  .solutions__tabs{ display:flex; flex-wrap:wrap; gap:10px 10px; padding-bottom:18px; border-bottom:1px solid var(--line); margin-bottom:22px; }
}

/* ============================================================ ПЛАНШЕТ ≤1199 (макет 980) ============================================================ */
@media (max-width:1199px){
  :root{
  --radius:14px;--gold-2:#C6AC83; --header-h:76px; --pad:72px; }
  .site-header{ position:fixed; inset:0 0 auto 0; z-index:60; height:var(--header-h); display:flex; align-items:center; transition:background .3s, height .3s, box-shadow .3s; padding:0 20px; }
  .header__nav{ display:none; }
  .header__inner{ position:relative; padding:0; }
  .burger{ display:flex; position:absolute; left:0; top:50%; transform:translateY(-50%); }
  .header__logo{ margin-left:54px; }
  .header__menu-link{ display:inline-flex; }
  .header__messengers{ display:flex; }
  .header__side{ gap:15px; }
  .header__cta{ display:inline-flex; height:auto; padding:11px 18px; }
  .header__phone{ font-size:18px; }
  .hero__media{ width:100%; }
  .hero__fade{ background:linear-gradient(90deg,var(--ink) 0%,rgba(14,22,24,.8) 45%,rgba(14,22,24,.25) 100%); }
  .hero__title{ font-size:44px; }
  .hero__subtitle{ font-size:24px; }
  .hero__logo{ width:280px; height:126px; right:24px; bottom:24px; }
  .section-title{ font-size:36px; }
  .stats__grid{ grid-template-columns:repeat(4,1fr); }
  .events__grid{ grid-template-columns:repeat(2,1fr); }
  .sol-carousel{ margin-top:44px; }
  .ctype-card{ flex-basis:calc((100% - 20px) / 2); }
  .solutions--split .solutions__row{ grid-template-columns:1fr; gap:30px; }
  .solutions--split .solutions__card{ max-width:600px; margin:0 auto; }
  .solutions__photo{ min-height:340px; }
  .hero--page{ min-height:auto; }
  .hero--page .hero__inner{ gap:30px; }
  .hero--page .hero__content{ max-width:none; }
  .hero__figure img{ height:520px; }
  .hero--page .hero__title{ font-size:44px; }
  .hero__actions .btn{ min-width:0; max-width:100%; }
  .pkg-carousel__track{ padding:0 12px 20px; }
  .pkg-carousel__track .pkg-slide{ flex-basis:calc((100vw - 28px) / 2); min-height:500px; }
  .sol-carousel .pkg-carousel__track .pkg-slide{ flex-basis:calc((100cqw - 16px) / 2); }
  .pkg-slide__title{ font-size:24px; }
  .pkg-carousel .carousel__arrow--prev{ left:10px; }
  .pkg-carousel .carousel__arrow--next{ right:10px; }
  .product__inner{ grid-template-columns:1fr 1fr; gap:36px; }
  .product__title{ font-size:36px; }
  .pick .carousel__track .product-card{ flex-basis:calc((100% - 24px) / 2); }
  .products-grid{ grid-template-columns:repeat(2,1fr); }
  .advantages__grid{ grid-template-columns:repeat(3,1fr); }
  .process__timeline{ grid-template-columns:1fr; gap:40px; }
  .process__timeline::before{ display:none; }
  .pstep__media::after{ display:none; }
  .portfolio:not(.portfolio--page) .portfolio__grid{ gap:16px; padding:0 12px 20px; }
  .portfolio:not(.portfolio--page) .portfolio__grid .portfolio-item{ flex:0 0 calc((100vw - 28px) / 2); scroll-snap-align:start; aspect-ratio:380/560; }
  .dishes__grid{ grid-template-columns:repeat(2,1fr); gap:16px; padding:0 12px; }
  .carousel__track:not(.is-loop){ touch-action:pan-x pan-y; -webkit-overflow-scrolling:touch; }
  .carousel__arrow.portfolio-arrow{ display:flex; position:absolute; top:50%; transform:translateY(-50%); z-index:3; }
  .portfolio-arrow.carousel__arrow--prev{ left:10px; }
  .portfolio-arrow.carousel__arrow--next{ right:10px; }
  .contacts__media img{ height:auto; }
}

/* ============================================================ МОБАЙЛ ≤700 (макет 360) ============================================================ */
/* узкий планшет: убираем соцсети, чтобы шапка не переполнялась */
@media (max-width:900px){
  .header__messengers{ display:none; }
}

@media (max-width:700px){
  :root{
  --radius:14px;--gold-2:#C6AC83; --pad:56px; }
  body{ font-size:15px; }
  .container{ padding:0 16px; }
  .section-head{ margin-bottom:32px; }
  .section-title{ font-size:26px; }
  .eyebrow{ font-size:13px; }
  .divider{ gap:14px; }
  /* шапка ≤700: бургер, лого, «Меню», телефон, корзина */
  .header__inner{ gap:12px; }
  .header__cta{ display:none; }
  .header__phone{ font-size:18px; }
  /* на мобилке убираем пункт меню в шапке, оставляем только бургер/телефон */  
  .header__menu-link{ display:none; }
  .header__side{ gap:34px; }
  .header__cart-ico{ width:36px; height:36px; }
  .header__logo{ width:92px; height:44px; margin-left:60px; }
  .burger{ padding:0 4px; }

  .dishes__grid{ grid-template-columns:1fr; gap:14px; padding:0 16px; }
  .hero__title{ font-size:30px; }
  .hero__subtitle{ font-size:19px; margin-top:16px; }
  .hero__actions{ margin-top:26px; flex-direction:column; gap:14px; }
  .hero__actions .btn{ width:100%; min-width:0; }
  .hero__actions .btn{ min-height:52px; height:52px; font-size:16px; padding:0 22px; }

  .stats__grid{ grid-template-columns:1fr 1fr; gap:14px; }
  .stat{ min-height:120px; padding:20px 10px; }
  .stat__num{ font-size:44px; }

  .clients__grid{ gap:24px 34px; }
  .clients__grid img{ height:40px; }

  .events__grid{ grid-template-columns:1fr 1fr; }
  .event-card{ min-height:210px; align-items:flex-end; justify-content:center; }
  .event-card span{ font-size:19px; padding:0 16px 20px; width:100%; }

  .ctypes__grid{ gap:12px; }
  .ctype-card{ flex-basis:calc((100% - 12px) / 2); min-height:180px; }
  .ctype-card span{ font-size:16px; padding:14px; }
  .viewed .carousel__track, .pick .carousel__track{ container-type:inline-size; gap:12px; }
  .viewed .carousel__track .product-card, .pick .carousel__track .product-card{ flex:0 0 calc((100cqw - 18px) / 2.5); }
  .viewed .product-card__body, .pick .product-card__body{ padding:16px 10px 20px; display:flex; flex-direction:column; flex:1; }
  .viewed .product-card__title a, .pick .product-card__title a{ color:inherit; text-decoration:none; font-size:13px; }
  .viewed .product-card__price, .pick .product-card__price{ color:var(--brown); font-family:var(--serif); font-size:11px; margin-top:8px; text-transform:uppercase; }
  .viewed .product-card__foot, .pick /* минимальный заказ — подсказка под степпером и кнопкой (2026-09-12) */
.product-card__min{ margin-top:8px; font-size:13px; line-height:1.3; color:var(--brown); }
.product-card__foot{ margin-top:auto; padding-top:16px; display:flex; align-items:center; justify-content:flex-start; gap:12px; flex-direction:column; }
  .viewed .btn, .pick .btn{ gap:10px; height:36px; padding:0 10px; font-size:14px; font-weight:400; line-height:1; transition:background .2s, transform .15s, box-shadow .2s, color .2s, border-color .2s; white-space:nowrap; }
  .breadcrumbs{ font-size:13px; margin-bottom:18px; }
  .hero--page{ min-height:auto; padding-bottom:16px; }
  .hero--page .hero__inner{ flex-direction:column; align-items:center; gap:50px; padding-right:16px; padding-top:calc(var(--header-h) + 48px); }
  .hero--page .hero__content{ width:100%; max-width:100%; min-width:0; }
  .hero__actions{ width:100%; }
  .hero__actions .btn{ width:100%; max-width:100%; min-width:0; }
  .hero__actions .btn{ min-height:52px; height:52px; font-size:16px; padding:0 22px; }
  .hero__figure{ flex:none; width:100%; max-width:none; margin-right:0; }
  .hero__figure img{ height:300px; max-height:none; }
  .hero--page .hero__title{ font-size:30px; }
  .solutions__photo{ min-height:240px; }
  .textblock__body{ font-size:15px; }
  .textblock__sub{ font-size:22px; }
  .pkg-carousel__track,
  .sol-carousel .pkg-carousel__track{ container-type:inline-size; gap:12px; padding:0 16px 18px; scroll-padding:16px; }
  .pkg-carousel__track .pkg-slide,
  .sol-carousel .pkg-carousel__track .pkg-slide,
  .sol-carousel .carousel__inner .pkg-slide{ flex:0 0 calc((100cqw - 12px) / 1.2); min-height:460px; }
  .sol-carousel{ overflow:hidden; }
  .sol-carousel .carousel__track{ overflow:hidden; }
  .pkg-slide__title{ font-size:22px; }
  .pkg-carousel .carousel__arrow{ width:44px; height:44px; }
  .pkg-carousel .carousel__arrow--prev{ left:8px; }
  .pkg-carousel .carousel__arrow--next{ right:8px; }
  .catalog-row__track{ gap:12px; }
  .catalog-row__track .product-card{ flex:0 0 calc((100% - 18px) / 2.5); }
  .catalog-row__track .product-card__media{ aspect-ratio:1/1; }
  .catalog-row__track .product-card__compo{ display:none; }
  .catalog-row__track .product-card__body{ padding:10px 10px 12px; }
  .catalog-row__track .product-card__title{ font-size:13px; margin-top:6px; line-height:1.15; }
  .catalog-row__track .product-card__price{ font-size:13px; margin-top:4px; }
  .catalog-row__track .product-card__foot{ flex-direction:column; align-items:stretch; gap:8px; padding-top:8px; }
  .catalog-row__track .product-card__foot .stepper{ justify-content:center; }
  .catalog-row__track .product-card__foot .btn{ width:100%; min-width:0; justify-content:center; height:38px; padding:0 10px; font-size:13px; white-space:normal; }
  .catalog__views{ display:none; }
  .catalog .products-grid.products-grid--list{ grid-template-columns:repeat(2,1fr); gap:24px; }
  .catalog .products-grid.products-grid--list .product-card{ flex-direction:column; align-items:stretch; }
  .catalog .products-grid.products-grid--list .product-card__link,
  .catalog .products-grid.products-grid--list .product-card > .product-card__media{ flex:none; width:100%; align-self:auto; }
  .catalog .products-grid.products-grid--list .product-card__media{ width:100%; min-height:0; aspect-ratio:380/465; }
  .catalog .products-grid.products-grid--list .product-card__body{ justify-content:flex-start; }
  .catalog .products-grid.products-grid--list .product-card__compo{ display:none; }
  .catalog__sort{ flex-wrap:wrap; justify-content:flex-start; gap:10px; }
  .sort-select{ flex:1; }
  .sort-select__btn{ min-width:0; width:100%; font-size:13px; padding:11px 14px; }
  .sort-select__list button{ font-size:12px; padding:8px 14px; }
  .cashback__content{ padding:32px 22px; max-width:100%; }
  .cashback__overlay{ background:linear-gradient(0deg, rgba(247,243,236,.97) 20%, rgba(247,243,236,.55) 100%); }
  .product__inner{ grid-template-columns:1fr; gap:26px; }
  .product__title{ font-size:30px; }
  .crumbs-bar a,.crumbs-bar span{ font-size:12px; }
  .cart-hero__logo{ display:none; }
  .cart__head{ display:none; }
  .cart__row{ grid-template-columns:84px 1fr auto; grid-template-areas:"img product remove" "img stepper total"; row-gap:12px; column-gap:14px; }
  .cart__img{ grid-area:img; width:84px; height:60px; align-self:center; }
  .cart__product{ grid-area:product; }
  .cart__row .stepper{ grid-area:stepper; }
  .cart__price{ display:none; }
  .cart__row-total{ grid-area:total; align-self:center; justify-self:end; font-size:17px; }
  .cart__remove{ grid-area:remove; justify-self:end; align-self:start; }
  .cart__checkout{ min-width:0; width:100%; }
  .checkout__inner{ grid-template-columns:1fr; gap:26px; }
  .checkout__methods{ grid-template-columns:1fr; gap:22px; }
  .promo{ flex-direction:column; align-items:stretch; gap:12px; padding:16px; }
  .order-summary{ padding:26px 20px; }
  .notfound__logo{ width:210px; height:93px; }
  .notfound{ min-height:58vh; }
  .policy__body{ font-size:15px; }
  .policy__body h2{ font-size:22px; }

  .solutions__card{ padding:24px 18px; }
  .sol-slide .sol-row__name,.sol-slide .sol-row__price{ font-size:14px; }

  .cat-tabs{ flex-wrap:nowrap; overflow-x:auto; justify-content:flex-start; gap:20px; padding-bottom:10px; -webkit-overflow-scrolling:touch; }
  .cat-tab{ white-space:nowrap; font-size:16px; }
  .products-grid{ grid-template-columns:1fr; gap:18px; }

  .advantages__grid{ grid-template-columns:1fr; gap:14px; }
  .advantages__title{ font-size:26px; }

  .pstep__media{ width:130px; height:130px; }

  .portfolio:not(.portfolio--page) .portfolio__grid{ padding:0 10px 18px; gap:14px; }
  .portfolio:not(.portfolio--page) .portfolio__grid .portfolio-item{ flex:0 0 calc(100vw - 32px); aspect-ratio:380/560; scroll-snap-align:center; }
  .portfolio-item figcaption{ opacity:1; transform:none; }

  .carousel__arrow{ width:44px; height:44px; position:absolute; top:50%; transform:translateY(-50%); z-index:3; }
  .carousel__arrow svg{ width:18px; height:18px; }
  .carousel__arrow--prev{ left:6px; }
  .carousel__arrow--next{ right:6px; }
  .vcard{ flex-basis:86vw; }

  .reviews__viewport{ max-width:100%; }
  .review__author{ flex-direction:column; gap:10px; text-align:center; }
  .review__author span{ text-align:center; }

  .contacts__inner{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:22px; }
  .contacts__title{ text-align:center; max-width:100%; margin-bottom:0; }
  .contacts__info{ display:flex; flex-direction:column; align-items:center; }
  .contacts__list{ align-items:center; }
  .contacts__media{ width:100%; max-width:760px; }
  .contacts__media img{ height:auto; }
  .contact-form{ width:100%; max-width:560px; }
  .contact-form__row{ flex-direction:column; }

  .site-footer{ padding:44px 0 28px; }
  .site-footer__inner{ align-items:flex-start; text-align:left; gap:20px; }
  .footer__top{ display:contents; }
  .footer__logo{ order:1; align-self:center; }
  .footer__tagline{ order:2; align-self:center; text-align:center; }
  .footer__contact{ order:3; }
  .footer__address{ order:4; }
  .footer__line{ order:5; align-self:stretch; }
  .footer__social{ order:6; align-self:center; }
  .footer__bottom{ order:7; align-self:center; }
  .footer__legal{ flex-direction:column; align-items:center; gap:10px; }
  .to-top{ right:16px; bottom:16px; width:44px; height:44px; }
}

/* < 460: компактный бургер 14×9 + уменьшенная типографика */
@media (max-width:459px){
  .burger{ width:auto; height:auto; gap:5px; padding:6px; }
  .burger span {width: 30px; height: 3px;}
  .hero__title{ font-size:20px; }
  .hero__subtitle{ font-size:14px; margin-top:16px; }
  .btn{ gap:10px; height:36px; padding:0 26px; font-size:14px; font-weight:400; line-height:1; transition:background .2s, transform .15s, box-shadow .2s, color .2s, border-color .2s; white-space:nowrap; }
  .hero__actions .btn{ min-height:52px; height:52px; font-size:16px; padding:0 22px; }
  .section-title{ font-size:20px; }
  .eyebrow{ font-size:12px; }
  .section-lead{ max-width:1000px; margin:26px auto 0; color:var(--ink); font-size:14px; line-height:1.55; }
  .event-card{ min-height:210px; display:flex; align-items:flex-end; justify-content:center; text-align:center; }
  .event-card span{ font-size:16px; padding:0 16px 20px; width:100%; }
  .sol-row__price{ font-family:var(--serif); color:var(--ink); font-size:14px; white-space:nowrap; text-transform:uppercase; }
  .sol-row__name{ font-family:var(--serif); color:var(--brown); font-size:14px; text-transform:uppercase; }
  .section-foot{ display:flex; justify-content:center; margin-top:25px; }
}

/* очень узкие экраны: шапка (бургер, лого, «Меню», телефон, корзина) */
@media (max-width:430px){
  .header__inner{ gap:6px; }
  .header__side{ gap:20px; }
  .header__logo{ width:75px; height:40px; margin-left:36px; }
  .header__menu-link{ font-size:10px; letter-spacing:0; text-underline-offset:3px; }
  .header__phone{ font-size:16px; letter-spacing:-.3px; }
  .header__cart svg,.header__cart-ico{ width:34px; height:34px; }
}

/* режим для снятия полностраничного скриншота */
.shotmode .hero{ min-height:820px; }
.shotmode .site-header{ position:absolute; }

@media (prefers-reduced-motion:reduce){
  *{ animation-duration:.001ms !important; animation-iteration-count:1 !important; scroll-behavior:auto; }
  .hero__slide{ animation:none; }
}

/* ===== MaRU Lightbox (галерея) ===== */
.maru-gallery .portfolio-item{cursor:zoom-in; border-radius:6px}
.maru-lb{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;background:rgba(8,10,12,.92);padding:40px 72px}
.maru-lb.is-open{display:flex}
.maru-lb__dialog{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,360px);width:min(1040px,94vw);height:min(640px,90vh);background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,.45);align-items:stretch}
.maru-lb__media{position:relative;display:block;min-height:0;min-width:0;overflow:hidden;background-color:#f4f0e8;background-size:cover;background-position:center;background-repeat:no-repeat}
.maru-lb__info{min-height:0;overflow-y:auto;padding:28px 24px 32px;background:#fff}
.maru-lb__cap{margin:0;color:var(--ink,#0e1618)}
.maru-lb__title{font-family:var(--serif,serif);font-size:clamp(20px,2.2vw,28px);font-weight:400;line-height:1.2;text-transform:uppercase;margin:0 0 18px}
.maru-lb__compo-label{font-family:var(--sans,sans-serif);font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--gray-2,#8a8178);margin:0 0 10px}
.maru-lb__compo{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-family:var(--sans,sans-serif);font-size:15px;line-height:1.4;color:var(--gray,#5a534c)}
.maru-lb__compo li{position:relative;padding-left:18px}
.maru-lb__compo li::before{content:"";position:absolute;left:2px;top:9px;width:6px;height:6px;border-radius:50%;background:var(--gold,#c6ac83)}
.maru-lb__price{color:var(--brown,#6b4f3a);font-family:var(--serif,serif);font-size:18px;margin:18px 0 0;text-transform:uppercase}
.maru-lb__order{margin-top:4px}
.maru-lb__foot{margin-top:16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.maru-lb--rich .maru-lb__dialog{grid-template-columns:minmax(300px,1fr) minmax(300px,420px);height:min(680px,90vh)}
.maru-lb--media-only .maru-lb__dialog{grid-template-columns:1fr;width:auto;height:auto;max-width:94vw;background:transparent;box-shadow:none}
.maru-lb--media-only .maru-lb__info{display:none}
.maru-lb--media-only .maru-lb__media{width:min(94vw,1200px);height:min(86vh,800px);aspect-ratio:auto;background-size:contain;background-color:transparent;box-shadow:0 20px 60px rgba(0,0,0,.5)}
@media (min-width:901px){
  .maru-lb:not(.maru-lb--rich):not(.maru-lb--media-only) .maru-lb__dialog{grid-template-columns:minmax(0,1.15fr) minmax(220px,320px);height:min(560px,86vh)}
  .maru-lb:not(.maru-lb--rich):not(.maru-lb--media-only) .maru-lb__info{display:flex;align-items:center}
  .maru-lb:not(.maru-lb--rich):not(.maru-lb--media-only) .maru-lb__title{margin:0}
}
.maru-lb__close{position:absolute;top:18px;right:24px;background:none;border:0;color:#fff;font-size:40px;line-height:1;cursor:pointer;opacity:.8;z-index:2}
.maru-lb__close:hover{opacity:1}
.maru-lb__nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.08);border:0;color:#fff;width:56px;height:56px;border-radius:50%;font-size:32px;line-height:1;cursor:pointer;transition:background .15s;z-index:2}
.maru-lb__nav:hover{background:rgba(255,255,255,.18)}
.maru-lb__prev{left:24px}
.maru-lb__next{right:24px}
@media(max-width:900px){
  .maru-lb{padding:12px 48px}
  .maru-lb__dialog,.maru-lb--rich .maru-lb__dialog,.maru-lb:not(.maru-lb--rich):not(.maru-lb--media-only) .maru-lb__dialog{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);width:min(560px,94vw);height:auto;max-height:92vh}
  .maru-lb__media{aspect-ratio:380/465;width:100%;min-height:220px;flex:none}
  .maru-lb--rich .maru-lb__media{aspect-ratio:16/11;height:clamp(173px,35vh,242px);max-height:35vh}
  .maru-lb--media-only .maru-lb__media{aspect-ratio:auto;height:min(86vh,800px);max-height:86vh}
  .maru-lb__info{flex:1;min-height:0;max-height:none;padding:18px 16px 20px;overflow-y:auto}
  .maru-lb--rich .maru-lb__title{font-size:18px;margin-bottom:12px}
  .maru-lb--rich .maru-lb__compo{font-size:14px;gap:6px}
  .maru-lb--rich .maru-lb__price{font-size:16px;margin-top:12px}
  .maru-lb:not(.maru-lb--rich):not(.maru-lb--media-only) .maru-lb__info{align-items:flex-start}
}
@media(max-width:700px){
  .maru-lb{padding:8px 40px}
  .maru-lb--rich .maru-lb__media{height:clamp(150px,30vh,207px);max-height:30vh}
  .maru-lb__nav{width:44px;height:44px;font-size:24px}
  .maru-lb__prev{left:8px}
  .maru-lb__next{right:8px}
}
/* ===== MaRU: брендинг стоковых страниц OpenCart (category/product/cart/checkout/account) ===== */
#common-home, #content { color: var(--ink); }
main#top #content, #content > .container, #content > .container-fluid { }
#content { padding: 0; }
#content > .container, .breadcrumb ~ .container { max-width: var(--container); margin: 0 auto; padding: 40px 20px; }
/* breadcrumb */
.breadcrumb { background: transparent; padding: 24px 20px 0; max-width: var(--container); margin: 0 auto; font-family: var(--sans); font-size: 13px; }
.breadcrumb > li + li:before { content: "\2014"; color: var(--gray-2); }
.breadcrumb a { color: var(--brand); }
/* headings */
#content h1, #content h2, #content h3, .page-header h1 { font-family: var(--serif); font-weight: 600; color: var(--ink); }
#content h1 { font-size: 34px; margin: 10px 0 24px; }
/* buttons -> gold */
.buttons .btn, .btn-primary, #button-cart, #button-confirm, .btn-lg.btn-block, #content .btn-default.btn-lg {
  background: var(--brand) !important; border-color: var(--brand) !important; color: #ffffff !important;
  border-radius: 6px; font-family: var(--sans); font-weight: 600; letter-spacing: .02em; text-transform: none;
}
.btn-primary:hover, #button-cart:hover, #button-confirm:hover { background: var(--brand-h) !important; border-color: var(--brand-h) !important; }
/* product grid cards (category/search/special/manufacturer) */
.product-layout .product-thumb {
  border: 1px solid var(--line); border-radius: 16px; overflow: hidden; background: #fff;
  transition: box-shadow .2s, transform .2s; margin-bottom: 30px; display: flex; flex-direction: column;
}
.product-layout .product-thumb:hover { box-shadow: 0 16px 40px rgba(20,26,27,.10); transform: translateY(-3px); }
.product-thumb .image { overflow: hidden; }
.product-thumb .image img { width: 100%; height: auto; transition: transform .4s; }
.product-thumb:hover .image img { transform: scale(1.05); }
.product-thumb .caption { padding: 18px; min-height: auto; }
.product-thumb .caption h4 { font-family: var(--serif); font-size: 18px; margin: 0 0 8px; }
.product-thumb .caption h4 a { color: var(--ink); }
.product-thumb .price { font-family: var(--serif); font-size: 20px; color: var(--ink); font-weight: 600; padding: 0 18px 12px; }
.product-thumb .price-new { color: var(--brand); }
.product-thumb .price-tax { display: none; }
.product-thumb .button-group { border-top: 1px solid var(--line); display: flex; }
.product-thumb .button-group button { background: #fff; border: 0; color: var(--gray); padding: 14px; flex: 1; font-size: 13px; transition: background .15s, color .15s; }
.product-thumb .button-group button:first-child { color: #1a1206; background: var(--brand); font-weight: 600; }
.product-thumb .button-group button:first-child:hover { background: var(--brand-h); }
.product-thumb .button-group button:hover { background: #f6f2ea; color: var(--ink); }
/* cart / tables */
#content .table { font-family: var(--sans); }
#content .table > thead > tr > td, #content .table > thead > tr > th { background: var(--ink); color: #fff; border-color: var(--ink); font-family: var(--sans); }
.table-bordered { border-radius: 12px; overflow: hidden; }
#content .table .img-thumbnail { border-radius: 10px; }
/* form controls */
#content .form-control, #content .input-group .form-control { border-radius: 6px; border-color: var(--line); font-family: var(--sans); }
#content .form-control:focus { border-color: var(--brand); box-shadow: none; }
/* panels / wells */
#content .panel, #content .well { border-radius: 14px; border-color: var(--line); }
#content .panel-heading { font-family: var(--serif); }
/* refine/category list */
.list-group-item.active, .list-group-item.active:hover { background: var(--brand); border-color: var(--brand); }
a { color: var(--brand); }
a:hover { color: var(--brand-h); }
/* alerts */
#content .alert-success { border-radius: 10px; }
/* ===== MaRU: ре-темплейт category/cart страниц ===== */
.maru-page { padding-bottom: 0; }
.catalog-hero { padding-top: calc(var(--header-h) + 34px); padding-bottom: 34px; background: #f9f9f9; }
.catalog-hero__title { text-align: left; margin: 8px 0 6px; }
.catalog-hero .cart-hero__inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.catalog-hero .cart-hero__logo { display: block; width: 280px; height: 126px; color: #0c0c0c; flex: none; }
@media (max-width: 900px) { .maru-page .catalog-hero { padding-top: calc(var(--header-h) + 28px); padding-bottom: 24px; } .catalog-hero .cart-hero__logo { display: none; } }
.catalog { padding: 24px 0 10px; }
.catalog .cat-tabs { flex-wrap: wrap; gap: 8px; margin-bottom: 22px; }
.catalog .cat-tab { text-decoration: none; }
.catalog-cats { display:grid; grid-template-columns:repeat(5,1fr); gap:20px; margin-bottom:40px; }
.catalog-cat { text-decoration:none; min-height:220px; }
.catalog-cat span { font-size:18px; padding:20px; }
.delivery .delivery__row { padding:0 0 72px; }
/* Блок «Доставка готовой еды» собран из независимых секций (2026-09-12):
   заголовок и каждая строка — отдельная <section class="delivery">, поэтому
   порядок модулей в макете можно менять свободно. Соседние секции склеиваются
   по вертикали, чтобы блок читался как единый. */
.delivery--row { padding:0; }
/* .section-head в модуле-заголовке оказался последним элементом секции, и его
   margin-bottom «протекал» наружу (схлопывание отступов) — из-за этого между
   заголовком и первой строкой была белая полоса без фона. Гасим отступ и даём
   расстояние падингом, который красится фоном. */
.delivery:not(.delivery--row):has(+ .delivery--row) > .container > .section-head { margin-bottom:0; }
.delivery:not(.delivery--row) + .delivery--row { padding-top:28px; }
.delivery:has(+ .delivery) { padding-bottom:0; }
.delivery--row:first-child,
:not(.delivery) + .delivery--row { padding-top:var(--pad); }
.delivery--row:not(:has(+ .delivery--row)) { padding-bottom:var(--pad); }
.delivery--row:not(:has(+ .delivery--row)) .delivery__row { padding-bottom:48px; }
.delivery .delivery__row .section-head--compact { margin-bottom:24px; }
.delivery .delivery__row .section-head--compact .section-title { font-size:clamp(24px,2.4vw,34px); }
.delivery .delivery__row .section-title__link { color:inherit; text-decoration:none; }
.delivery .delivery__row .section-title__link:hover { color:inherit; }
.delivery .delivery__foot { margin-top:8px; margin-bottom:0; }
@media (max-width: 1100px) { .catalog-cats { grid-template-columns:repeat(3,1fr); } }
@media (max-width: 700px) { .catalog-cats { grid-template-columns:repeat(2,1fr); gap:12px; } .catalog-cat { min-height:180px; } .catalog-cat span { font-size:14px; padding:14px; } }
.catalog__sort { display: flex; align-items: center; justify-content: flex-end; gap: 14px; flex-wrap: wrap; margin-bottom: 26px; }
.catalog__grid { margin-top: 6px; }
.catalog__foot { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 34px; margin-bottom: 60px; }
.catalog__foot .pagination { margin: 0; }
.catalog__empty { text-align: center; color: var(--gray); padding: 30px 0; }
.cart { padding: 30px 0; }
.cart__summary { margin: 20px 0; }
.cart__actions { margin-top: 20px; }
.product-card__title a { color: inherit; text-decoration: none; }
.product-card__title a:hover { color: var(--brand); }
.price-old { text-decoration: line-through; color: var(--gray-2); font-size: .8em; margin-left: 6px; }
.price-new { color: var(--brand); }
/* ===== MaRU: страница товара (доп. элементы поверх портированных .product/.gallery) ===== */
.product-page .product__desc { color: var(--gray); line-height: 1.7; margin: 0 0 20px; }
.product-page .product__tax { font-size: 13px; color: var(--gray-2); font-family: var(--sans); }
.product-page .product__reviews-link { font-size: 14px; color: var(--brand); margin-left: 8px; }
.product-page .product__options { margin: 6px 0 18px; }
.product-page .product__options-title { font-family: var(--serif); font-size: 18px; margin: 0 0 12px; }
.product-page .product__options .form-group { margin-bottom: 14px; }
.product-page .product__options .control-label { display: block; font-weight: 600; margin-bottom: 6px; font-family: var(--sans); }
.product-page .product__options .form-control { border-radius: 6px; border: 1px solid var(--line); padding: 10px 14px; font-family: var(--sans); max-width: 420px; }
.product-page .product__actions { display: flex; gap: 14px; margin: 18px 0; flex-wrap: wrap; }
.product-page .product__act { background: none; border: 1px solid var(--line); border-radius: 999px; padding: 9px 18px; font-family: var(--sans); font-size: 13px; color: var(--gray); cursor: pointer; transition: border-color .15s, color .15s; }
.product-page .product__act:hover { border-color: var(--brand); color: var(--ink); }
.product-page .product__meta { margin: 14px 0 0; color: var(--gray-2); font-family: var(--sans); font-size: 14px; }
.product-page .product__meta li { margin-bottom: 4px; }
.product-page .product__meta a { color: var(--brand); }
.product-tabs { padding: 20px 0 50px; }
.product-tabs .nav-tabs { border-bottom: 1px solid var(--line); display: flex; gap: 6px; list-style: none; padding: 0; margin: 0 0 22px; }
.product-tabs .nav-tabs > li > a { display: block; padding: 12px 20px; font-family: var(--serif); font-size: 16px; color: var(--gray); text-decoration: none; border: 0; border-bottom: 2px solid transparent; }
.product-tabs .nav-tabs > li.active > a, .product-tabs .nav-tabs > li > a:hover { color: var(--ink); border-bottom-color: var(--brand); background: none; }
.product-tabs .tab-content > .tab-pane { display: none; }
.product-tabs .tab-content > .tab-pane.active { display: block; }
.product-page .rating--lg .product__reviews-link { font-family: var(--sans); }
/* ===== MaRU: совместимость OC-компонентов без Bootstrap (страница товара) ===== */
.maru-page [class*="col-sm-"], .maru-page [class*="col-xs-"], .maru-page [class*="col-md-"] { width: 100%; padding: 0; }
.maru-page .form-group { margin-bottom: 16px; }
.maru-page .control-label { display: block; font-weight: 600; margin-bottom: 6px; font-family: var(--sans); }
.maru-page .form-control { display: block; width: 100%; max-width: 460px; padding: 5px 14px; border: 1px solid var(--line); border-radius: 6px; font-family: var(--sans); font-size: 15px; background: #fff; color: var(--ink); }
.maru-page .form-control:focus { outline: none; border-color: var(--brand); }
.maru-page textarea.form-control { min-height: 110px; }
.maru-page .help-block { font-size: 13px; color: var(--gray-2); margin-top: 6px; }
.maru-page .radio, .maru-page .checkbox { margin: 6px 0; font-family: var(--sans); }
.maru-page .radio label, .maru-page .checkbox label { font-weight: 400; cursor: pointer; }
.maru-page .input-group { display: flex; max-width: 460px; }
.maru-page .input-group .form-control { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.maru-page .input-group-btn .btn { border-radius: 0 6px 6px 0; }
.maru-page .img-thumbnail { border-radius: 8px; border: 1px solid var(--line); max-width: 100%; height: auto; }
.maru-page .btn-default { background: #fff; border: 1px solid var(--line); border-radius: 6px; padding: 10px 18px; font-family: var(--sans); color: var(--gray); cursor: pointer; }
.maru-page .btn-default:hover { border-color: var(--brand); color: var(--ink); }
.maru-page .alert { padding: 14px 18px; border-radius: 10px; margin: 14px 0; font-family: var(--sans); background: #f6f2ea; border: 1px solid var(--line); }
.maru-page .alert-success { background: #edf7ed; border-color: #cfe8cf; color: #2e5b2e; }
.maru-page .alert-danger { background: #fbeaea; border-color: #f0c9c9; color: #8a2b2b; }
.maru-page .alert-info { background: #f6f2ea; }
.maru-page .table { width: 100%; border-collapse: collapse; font-family: var(--sans); margin: 10px 0; }
.maru-page .table > thead > tr > td, .maru-page .table td, .maru-page .table th { border: 1px solid var(--line); padding: 10px 14px; text-align: left; }
.maru-page .table > thead > tr > td strong { font-family: var(--serif); }
.maru-page .text-danger { color: #b23b3b; font-size: 13px; margin-top: 6px; }
.maru-page .buttons.clearfix { margin-top: 16px; overflow: hidden; }
.maru-page .pull-right { float: right; }
.product-card__price .price-val,.product__price .price-val{ font-weight:400; font-size:1.18em; }
.maru-portfolio > .catalog-hero { padding-top: calc(var(--header-h) + 34px); padding-bottom: 34px; }
.maru-portfolio .portfolio--page { padding: var(--pad) 0; }
.portfolio--page .portfolio-item::before { opacity: 1; }
.portfolio--page .portfolio-item figcaption { opacity: 1; transform: none; }

/* /portfolio: плитка + пагинация вместо горизонтальной карусели на планшете/мобайле */
@media (max-width:1199px){
  .portfolio--page .portfolio__grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    overflow:visible;
    scroll-snap-type:none;
    padding-bottom:0;
    touch-action:auto;
  }
  .portfolio--page .portfolio-item{
    flex:none;
    width:auto;
    scroll-snap-align:none;
    aspect-ratio:380/560;
  }
  .portfolio--page .portfolio-carousel .portfolio-arrow{ display:none !important; }
}
@media (max-width:700px){
  .portfolio--page .portfolio__grid{ grid-template-columns:1fr; gap:18px; }
  .portfolio--page .portfolio-item{ aspect-ratio:380/560; }
}

.portfolio__pagination { display:flex; justify-content:center; margin-top:40px; }
.portfolio__pagination .pagination { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px; list-style:none; padding:0; margin:0; }
.portfolio__pagination .pagination li { margin:0; }
.portfolio__pagination .pagination li a,
.portfolio__pagination .pagination li span {
  display:inline-flex; align-items:center; justify-content:center;
  min-width:44px; height:44px; padding:0 12px;
  border:1px solid var(--line); border-radius:10px;
  font-family:var(--sans); font-size:15px; color:var(--gray);
  text-decoration:none; transition:border-color .2s,color .2s,background .2s;
}
.portfolio__pagination .pagination li a:hover { border-color:var(--brand); color:var(--ink); }
.portfolio__pagination .pagination li.active span {
  background:var(--brand); border-color:var(--brand); color:#fff; font-weight:600;
}

/* ============================================================ РЎРўР РђРќРР¦Р« РЎ РўР•РљРЎРўРћР’Р«Рњ Р‘РђРќРќР•Р РћРњ (РЅРµ РєРѕСЂР·РёРЅР°) ============================================================ */
.page-hero{ background:#f9f9f9; padding-top:calc(var(--header-h) + 34px); padding-bottom:34px; }
.page-hero__inner{ display:flex; align-items:center; justify-content:space-between; gap:30px; }
.page-hero .breadcrumbs{ color:var(--ink); margin-bottom:16px; }
.page-hero .breadcrumbs a{ opacity:.6; }
.page-hero .breadcrumbs a:hover{ opacity:1; color:var(--brand); }
.page-hero__title{ color:var(--ink); }
.page-hero__logo{ display:block; width:280px; height:126px; color:#0c0c0c; flex:none; }
.page-hero .policy-hero__title{ font-size:clamp(26px,3.4vw,42px); max-width:1000px; }
@media (max-width:768px){ .page-hero__logo{ display:none; } }


.catering-menu{ padding:var(--pad) 0; background:#fff; }

.menu-nav{ display:flex; flex-wrap:wrap; gap:10px; margin:0 0 36px; position:sticky; top:88px; z-index:5; background:rgba(255,255,255,.96); padding:12px 0; border-bottom:1px solid rgba(14,22,24,.08); }
.menu-nav__link{ display:inline-flex; align-items:center; padding:8px 14px; border:1px solid rgba(14,22,24,.12); border-radius:999px; font-size:13px; text-transform:uppercase; letter-spacing:.04em; color:var(--ink); transition:all .2s; }
.menu-nav__link:hover,.menu-nav__link.is-active{ background:var(--ink); border-color:var(--ink); color:#fff; }

.menu-section{ margin-bottom:56px; scroll-margin-top:120px; }
.menu-section__title{ font-family:var(--serif); font-size:32px; font-weight:400; text-transform:uppercase; margin:0 0 12px; color:var(--ink); }
.menu-section__desc{ margin:0 0 24px; max-width:760px; color:var(--gray-2); line-height:1.6; }

.menu-popular{ background:#fbf9f5; border-left:3px solid var(--gold); padding:18px 22px; margin-bottom:24px; }
.menu-popular__label{ margin:0 0 10px; font-size:13px; text-transform:uppercase; letter-spacing:.06em; color:var(--gold); font-weight:600; }
.menu-popular__list{ list-style:none; margin:0; padding:0; display:grid; gap:6px; }
.menu-popular__item{ font-size:15px; color:var(--ink); }

.menu-grid{ display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:0 40px; }
.menu-grid__more{ display:contents; }
.menu-grid__more[hidden]{ display:none; }
.menu-item{ display:flex; justify-content:space-between; gap:16px; align-items:flex-start; padding:14px 0; border-bottom:1px solid rgba(14,22,24,.08); }
.menu-item__name{ font-size:15px; line-height:1.45; color:var(--ink); }
.menu-item__meta{ display:flex; flex-direction:column; align-items:flex-end; gap:4px; flex:none; min-width:110px; text-align:right; }
.menu-item__weight,.menu-item__price{ font-size:14px; color:var(--gray-2); white-space:nowrap; }
.menu-item__price{ color:var(--gold); font-weight:600; }

.menu-more{ display:block; margin:18px auto 0; background:none; border:0; border-bottom:1px solid var(--gold); color:var(--gold); font-size:14px; text-transform:uppercase; letter-spacing:.06em; padding:4px 0; cursor:pointer; transition:opacity .2s; }
.menu-more:hover{ opacity:.75; }

@media (max-width: 900px){
  .menu-grid{ grid-template-columns:1fr; gap:0; }
  .menu-nav{ top:72px; }
  .menu-section__title{ font-size:26px; }
  }

/* Catering menu page */
.catering-menu{ padding:var(--pad) 0; background:#fff; }

.menu-nav{ display:flex; flex-wrap:wrap; gap:10px; margin:0 0 36px; position:sticky; top:88px; z-index:5; background:rgba(255,255,255,.96); padding:12px 0; border-bottom:1px solid rgba(14,22,24,.08); }
.menu-nav__link{ display:inline-flex; align-items:center; padding:8px 14px; border:1px solid rgba(14,22,24,.12); border-radius:999px; font-size:13px; text-transform:uppercase; letter-spacing:.04em; color:var(--ink); transition:all .2s; }
.menu-nav__link:hover,.menu-nav__link.is-active{ background:var(--ink); border-color:var(--ink); color:#fff; }

.menu-section{ margin-bottom:56px; scroll-margin-top:120px; }
.menu-section__title{ font-family:var(--serif); font-size:32px; font-weight:400; text-transform:uppercase; margin:0 0 12px; color:var(--ink); }
.menu-section__desc{ margin:0 0 24px; max-width:760px; color:var(--gray-2); line-height:1.6; }

.menu-popular{ background:#fbf9f5; border-left:3px solid var(--gold); padding:18px 22px; margin-bottom:24px; }
.menu-popular__label{ margin:0 0 10px; font-size:13px; text-transform:uppercase; letter-spacing:.06em; color:var(--gold); font-weight:600; }
.menu-popular__list{ list-style:none; margin:0; padding:0; display:grid; gap:6px; }
.menu-popular__item{ font-size:15px; color:var(--ink); }

.menu-grid{ display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:0 40px; }
.menu-grid__more{ display:contents; }
.menu-grid__more[hidden]{ display:none; }
.menu-item{ display:flex; justify-content:space-between; gap:16px; align-items:flex-start; padding:14px 0; border-bottom:1px solid rgba(14,22,24,.08); }
.menu-item__name{ font-size:15px; line-height:1.45; color:var(--ink); }
.menu-item__meta{ display:flex; flex-direction:column; align-items:flex-end; gap:4px; flex:none; min-width:110px; text-align:right; }
.menu-item__weight,.menu-item__price{ font-size:14px; color:var(--gray-2); white-space:nowrap; }
.menu-item__price{ color:var(--gold); font-weight:600; }

.menu-more{ display:block; margin:18px auto 0; background:none; border:0; border-bottom:1px solid var(--gold); color:var(--gold); font-size:14px; text-transform:uppercase; letter-spacing:.06em; padding:4px 0; cursor:pointer; transition:opacity .2s; }
.menu-more:hover{ opacity:.75; }

@media (max-width: 900px){
  .menu-grid{ grid-template-columns:1fr; gap:0; }
  .menu-nav{ top:72px; }
  .menu-section__title{ font-size:26px; }
}

/* ===== Страница «О нас» ===== */
.stats--page{ padding-top:calc(var(--header-h) + 34px); }
.stats--dark{ background:var(--ink); color:#fff; padding-bottom:72px; }
.stats--dark.stats--page{ padding-bottom:72px; }
.stats__breadcrumbs{ margin-bottom:28px; }
.stats--dark .breadcrumbs{ color:#fff; }
.stats--dark .breadcrumbs a{ color:#fff; opacity:.65; }
.stats--dark .breadcrumbs a:hover{ opacity:1; color:var(--gold); }
.stats__title{ font-family:var(--serif); font-size:clamp(24px,3vw,34px); line-height:1.25; text-transform:uppercase; color:var(--gold); text-align:center; max-width:980px; margin:0 auto 48px; }
.stats__grid--wide{ grid-template-columns:repeat(3,1fr); gap:34px 40px; }
.stats--dark .stat{ background:transparent; align-items:flex-start; justify-content:flex-start; text-align:left; min-height:0; padding:0; gap:10px; }
.stats--dark .stat__num{ font-size:clamp(40px,4vw,56px); color:var(--gold); }
.stats--dark .stat__label{ color:#fff; text-transform:none; font-size:17px; line-height:1.45; }
.team{ padding:var(--pad) 0; background:#fff; }
.team__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.team-card{ text-align:center; }
.team-card__photo{ aspect-ratio:4/5; background-size:cover; background-position:center top; margin-bottom:18px; border-radius:6px; }
.team-card__name{ font-family:var(--serif); font-size:24px; color:var(--ink); margin-bottom:6px; font-weight:400; }
.team-card__role{ font-size:16px; color:var(--gray); line-height:1.45; }
.about-quote{ padding:var(--pad) 0; background:#fbf9f5; }
.about-quote__row{ display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; }
.about-quote__photo{ min-height:520px; background-size:cover; background-position:center; border-radius:6px; }
.about-quote__title{ font-family:var(--serif); font-size:clamp(28px,3vw,40px); text-transform:uppercase; color:var(--ink); margin-bottom:12px; font-weight:400; }
.about-quote__lead{ font-family:var(--serif); font-size:22px; color:var(--brown); margin-bottom:24px; }
.about-quote__text{ font-size:18px; line-height:1.7; color:var(--ink); border-left:3px solid var(--gold); padding-left:22px; margin:0; }
.steps{ padding:var(--pad) 0; background:#fff; }
.steps__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.step-card{ background:#fbf9f5; padding:28px 24px; min-height:180px; border-radius:6px; }
.step-card__num{ display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%; background:var(--brand); color:#fff; font-family:var(--serif); font-size:16px; margin-bottom:16px; }
.step-card__title{ font-family:var(--serif); font-size:22px; color:var(--ink); margin-bottom:10px; }
.step-card__text{ font-size:15px; line-height:1.55; color:var(--gray); }
.advantages--about{ background:#fbf9f5; }
@media (max-width: 1100px) {
  .stats__grid--wide{ grid-template-columns:repeat(2,1fr); }
  .team__grid{ grid-template-columns:repeat(2,1fr); }
  .about-quote__row{ grid-template-columns:1fr; }
  .about-quote__photo{ min-height:340px; }
  .steps__grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 700px) {
  .stats__grid--wide, .team__grid, .steps__grid{ grid-template-columns:1fr; }
  .about-quote__photo{ min-height:260px; }
}
/* ===== Всплывающая форма заявки ===== */
.request-popup{ position:fixed; inset:0; z-index:1200; display:none; align-items:center; justify-content:center; padding:24px 16px; }
.request-popup.is-open{ display:flex; }
.request-popup__backdrop{ position:absolute; inset:0; background:rgba(14,22,24,.72); }
.request-popup__dialog{ position:relative; z-index:1; width:100%; max-width:620px; max-height:calc(100vh - 48px); overflow:auto; background:#fff; padding:34px 34px 30px; box-shadow:0 24px 60px rgba(0,0,0,.28); }
.request-popup__close{ position:absolute; top:12px; right:14px; width:36px; height:36px; border:0; background:transparent; font-size:30px; line-height:1; color:var(--gray); cursor:pointer; }
.request-popup__close:hover{ color:var(--ink); }
.request-popup__title{ font-family:var(--serif); font-size:clamp(26px,3vw,34px); text-transform:uppercase; color:var(--ink); margin:0 0 10px; padding-right:36px; }
.request-popup__lead{ font-size:16px; line-height:1.55; color:var(--gray); margin:0 0 22px; }
.request-popup__form{ max-width:none; }
.contact-form--popup input,.contact-form--popup textarea{ color:var(--ink); border-color:var(--line); background:#fff; }
.contact-form--popup input::placeholder,.contact-form--popup textarea::placeholder{ color:#9a9488; }
.contact-form--popup .contact-form__consent{ color:var(--gray); }
.contact-form--popup .contact-form__success{ color:var(--brand); }
body.maru-popup-open{ overflow:hidden; }
@media (max-width: 700px) {
  .request-popup__dialog{ padding:28px 20px 24px; }
  .request-popup__form .contact-form__row{ flex-direction:column; }
}
/* О нас: 4 карточки преимуществ в ряд */
.maru-onas .advantages__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
@media (max-width: 1199px) { .maru-onas .advantages__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 700px) { .maru-onas .advantages__grid { grid-template-columns: 1fr; gap: 14px; } }
/* ===== Страница «Контакты» ===== */
.maru-kontakty .contacts--page { padding: var(--pad) 0; }
.contacts__socials-label { font-size: 14px; text-transform: uppercase; letter-spacing: .04em; color: rgba(255,255,255,.65); }
.contacts__socials-links a { color: var(--gold-lt); font-family: var(--serif); font-size: 18px; text-decoration: none; }
.contacts__socials-links a:hover { color: #fff; }
.contacts__socials { margin-top: 22px; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.contacts__socials-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px 20px; }

/* ===================== Куки-баннер ===================== */
.cookie-bar{ position:fixed; left:0; right:0; bottom:0; z-index:1150; display:none;
  background:var(--ink); color:#fff; border-top:1px solid rgba(198,172,131,.35);
  box-shadow:0 -12px 34px rgba(0,0,0,.28); }
.cookie-bar.is-visible{ display:block; animation:cookie-bar-up .35s ease-out both; }
@keyframes cookie-bar-up{ from{ transform:translateY(100%); } to{ transform:translateY(0); } }
.cookie-bar__inner{ display:flex; align-items:center; gap:30px; padding:20px 0; }
.cookie-bar__text{ margin:0; font-size:15px; line-height:1.55; color:rgba(255,255,255,.78); }
.cookie-bar__text a{ color:var(--gold-lt); text-decoration:underline; text-underline-offset:2px; }
.cookie-bar__text a:hover{ color:#fff; }
.cookie-bar__actions{ display:flex; gap:12px; flex:none; }
.cookie-bar .btn{ height:44px; padding:0 26px; font-size:15px; }
@media (max-width: 900px){
  .cookie-bar__inner{ flex-direction:column; align-items:stretch; gap:16px; padding:18px 20px; }
  .cookie-bar__text{ font-size:14px; }
  .cookie-bar__actions .btn{ flex:1 1 0; padding:0 12px; min-width:0; }
}

/* ===================== Юридические страницы (политики, согласия) ===================== */
.legal-doc h2{ font-family:var(--serif); font-weight:400; font-size:24px; line-height:1.3; color:var(--ink);
  text-transform:uppercase; letter-spacing:.005em; margin:38px 0 14px; }
.legal-doc h2:first-child{ margin-top:0; }
.legal-doc p{ margin:0 0 14px; }
.legal-doc ul{ margin:0 0 16px; padding:0; list-style:none; }
.legal-doc li{ position:relative; padding-left:20px; margin-bottom:8px; }
.legal-doc li::before{ content:""; position:absolute; left:4px; top:11px; width:5px; height:5px; border-radius:50%; background:var(--brand); }
.legal-doc strong{ font-weight:600; color:var(--ink); }
.legal-doc a{ color:var(--brand); text-decoration:underline; text-underline-offset:2px; }
.legal-doc a:hover{ color:var(--brand-h); }
@media (max-width: 700px){
  .legal-doc h2{ font-size:20px; margin:28px 0 12px; }
}

/* Таблицы в юридических страницах */
.legal-doc__table-wrap{ overflow-x:auto; margin:0 0 18px; }
.legal-doc table{ width:100%; min-width:640px; border-collapse:collapse; font-size:15px; }
.legal-doc th,.legal-doc td{ border:1px solid var(--line); padding:10px 14px; text-align:left; vertical-align:top; }
.legal-doc th{ background:#faf7f1; font-weight:600; color:var(--ink); }
.legal-doc td{ color:var(--gray); }
.legal-doc td:first-child{ color:var(--ink); font-weight:500; white-space:nowrap; }

/* Лого в шапке страницы — декор, а не ссылка */
.page-hero__logo{ pointer-events:none; }
.page-hero__logo .logo{ opacity:.2; }
.cart-hero__logo{ pointer-events:none; }
.cart-hero__logo .logo{ opacity:.2; }

/* Лого-декор в правом нижнем углу картинки страничного hero */
.hero--page .hero__corner-logo{ position:absolute; left:-70px; bottom:-65px; z-index:2; width:580px; height:213px; color:#707070; opacity:.9; display:block; pointer-events:none; }
@media (max-width: 1200px){ .hero--page .hero__corner-logo{ width:375px; height:120px; left:-60px; bottom:-40px; } }
@media (max-width: 700px){ .hero--page .hero__corner-logo{ width:220px; height:70px; left:auto; right:16px; bottom:16px; color:#fff; } }

/* ===================== Уведомления «в корзину» ===================== */
.maru-toasts{ position:fixed; right:26px; bottom:96px; z-index:1160; display:flex; flex-direction:column;
  align-items:flex-end; gap:12px; pointer-events:none; }
.maru-toast{ position:relative; display:flex; align-items:flex-start; gap:14px; width:340px; max-width:calc(100vw - 32px);
  padding:16px 40px 16px 18px; background:var(--ink); color:#fff; border-left:3px solid var(--brand);
  box-shadow:0 18px 40px rgba(0,0,0,.32); pointer-events:auto;
  opacity:0; transform:translateX(24px); transition:opacity .3s ease-out, transform .3s ease-out; }
.maru-toast.is-shown{ opacity:1; transform:translateX(0); }
.maru-toast--error{ border-left-color:#c96a5a; }
.maru-toast__ico{ flex:none; display:flex; align-items:center; justify-content:center; width:26px; height:26px;
  border-radius:50%; background:var(--brand); color:#fff; margin-top:1px; }
.maru-toast--error .maru-toast__ico{ background:#c96a5a; }
.maru-toast__body{ display:flex; flex-direction:column; gap:4px; min-width:0; }
.maru-toast__title{ font-family:var(--serif); font-size:18px; line-height:1.25; color:#fff; }
.maru-toast__text{ font-size:14px; line-height:1.45; color:rgba(255,255,255,.72); overflow-wrap:anywhere; }
.maru-toast__link{ margin-top:4px; align-self:flex-start; font-size:14px; color:var(--gold-lt);
  text-decoration:underline; text-underline-offset:3px; }
.maru-toast__link:hover{ color:#fff; }
.maru-toast__close{ position:absolute; top:6px; right:8px; width:28px; height:28px; border:0; background:transparent;
  color:rgba(255,255,255,.55); font-size:22px; line-height:1; cursor:pointer; }
.maru-toast__close:hover{ color:#fff; }
@media (max-width: 700px){
  .maru-toasts{ right:16px; left:16px; bottom:84px; align-items:stretch; }
  .maru-toast{ width:auto; }
}

/* Единый радиус текстовых полей */
input[type="text"],input[type="tel"],input[type="email"],input[type="password"],
input[type="search"],input[type="number"],input[type="url"],input[type="date"],
textarea,select{ border-radius:6px; }

/* Кнопка-заявка под блоком меню */
.catering-menu__cta{ margin-top:44px; margin-bottom:0; display:flex; justify-content:center; text-align:center; }
@media (max-width:700px){ .catering-menu__cta .btn{ width:100%; } }

/* Цены в блоке меню скрыты */
.catering-menu .menu-item__price{ display:none; }

/* Отзывы на карточке товара — всплывающее окно */
.product-page .product__reviews-link{ cursor:pointer; }
.review-popup .request-popup__dialog{ max-width:720px; }
.review-popup h2{ font-family:var(--serif); font-size:22px; color:var(--ink); margin:0 0 16px; }
.review-popup #review{ margin-bottom:22px; }
.review-popup .form-group{ margin-bottom:14px; }
.review-popup .control-label{ display:block; font-family:var(--sans); font-size:15px; font-weight:600; color:var(--ink); margin-bottom:8px; }
.review-popup .form-control,
.review-popup input[type="text"],
.review-popup textarea{ width:100%; background:#fff; border:1px solid #c3c3c3; border-radius:6px; padding:15px 18px; font-family:var(--sans); font-size:15px; color:#000; transition:border-color .2s; }
.review-popup input::placeholder,.review-popup textarea::placeholder{ color:#000; opacity:.55; }
.review-popup input:focus,.review-popup textarea:focus{ outline:none; border-color:var(--brand); }
.review-popup textarea{ resize:vertical; min-height:90px; }
.review-popup .help-block{ font-size:13px; color:var(--gray-2); margin-top:8px; }
.review-popup input[type="radio"]{ width:auto; margin:0 3px; padding:0; vertical-align:middle; accent-color:var(--brand); }
.review-popup .buttons{ margin-top:26px; }
.review-popup .buttons .pull-right{ float:none; }
.review-popup .buttons .btn{ width:100%; background:var(--brand); color:#fff; }
.review-popup .buttons .btn:hover{ background:var(--brand-h); }
.review-popup .alert{ margin-top:14px; padding:12px 14px; border-radius:6px; font-size:14px; }
.review-popup .alert-success{ background:#eef6ee; color:#2f6b34; }
.review-popup .alert-danger{ background:#fbeceb; color:#a3372c; }

/* Якоря не уезжают под фиксированную шапку */
[id]{ scroll-margin-top:calc(var(--header-h) + 20px); }

/* Шапка на средних экранах: пункты меню в одну строку */
.nav-list{ flex-wrap:nowrap; }
.nav-list > li{ flex:none; }
.nav-list > li > a{ white-space:nowrap; }
@media (min-width:1200px) and (max-width:1439px){
  .header__inner{ gap:14px; }
  .header__nav{ margin-left:0; }
  .nav-list{ gap:14px; }
  .nav-list > li > a{ font-size:13px; }
  .header__side{ gap:12px; }
  .header__messengers{ gap:8px; }
  .header__phone{ font-size:17px; }
  .header__cta{ padding:0 14px; }
}
@media (min-width:1200px) and (max-width:1319px){
  .header__inner{ gap:12px; }
  .nav-list{ gap:10px; }
  .nav-list > li > a{ font-size:12px; }
  .header__phone{ font-size:16px; }
  .header__cta{ padding:0 12px; font-size:14px; }
  .header__messengers{ gap:7px; }
}

/* Логотип в hero главной: уменьшается, но остаётся на всех экранах */
@media (max-width:900px){ .hero__logo{ width:220px; height:99px; right:18px; bottom:18px; } }
@media (max-width:700px){ .hero__logo{ width:170px; height:77px; right:14px; bottom:14px; } }
@media (max-width:430px){ .hero__logo{ width:132px; height:59px; right:12px; bottom:12px; } }

/* Разделитель перед заголовками в описании товара — как .product__hr */
.product-page .product__desc h2,
.product-page .product__desc h3,
.product-page .product__desc h4{ margin-top:22px; padding-top:22px; border-top:1px solid var(--gold); font-weight:700; font-size:16px; color:var(--ink); margin-bottom:14px; }
.product-page .product__desc > :first-child{ margin-top:0; }

/* Мелкая строка над крупным «КЕШБЭК 10%» */
.cashback__title-sm{ display:block; font-size:.42em; line-height:1.2; letter-spacing:.04em; opacity:.7; margin-bottom:.35em; }

/* Белая маска на фоне баннера кешбэка: текст читается, фото остаётся видно */
.cashback__banner::before{ content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:linear-gradient(90deg, rgba(255,255,255,.62) 0%, rgba(255,255,255,.46) 42%, rgba(255,255,255,.18) 72%, rgba(255,255,255,0) 100%); }
@media (max-width:900px){
  .cashback__banner::before{ background:linear-gradient(0deg, rgba(255,255,255,.74) 25%, rgba(255,255,255,.32) 100%); }
}

/* ===================== Заказ оформлен ===================== */
.success{ padding:56px 0 var(--pad); }
.success__inner{ display:grid; grid-template-columns:minmax(0,1fr) 560px; gap:30px; align-items:start; }
.success__badge{ width:56px; height:56px; border-radius:50%; background:var(--brand); color:#fff; display:flex; align-items:center; justify-content:center; margin-bottom:22px; }
.success__title{ font-family:var(--serif); font-weight:400; font-size:clamp(28px,3.4vw,42px); line-height:1.1; color:var(--ink); margin:0 0 14px; }
.success__lead{ font-size:16px; line-height:1.55; color:var(--ink); opacity:.75; margin:0 0 30px; max-width:560px; }
.success__info{ margin:0 0 30px; border-top:1px solid var(--line); }
.success__row{ display:flex; gap:20px; justify-content:space-between; align-items:baseline; padding:13px 0; border-bottom:1px solid var(--line); font-size:15px; }
.success__row dt{ color:var(--ink); opacity:.55; }
.success__row dd{ margin:0; text-align:right; color:var(--ink); }
.success__actions{ display:flex; flex-wrap:wrap; gap:14px; }
.success__actions .btn--ghost{ background:transparent; color:var(--ink); border:1px solid var(--ink); }
.success__actions .btn--ghost:hover{ background:var(--ink); color:#fff; }
.success__note{ margin:0; font-size:12px; line-height:1.45; color:#cfcac2; }
.order-item--static{ grid-template-columns:109px 1fr auto; grid-template-areas:"img name price" "img weight price"; }
.order-item__name small{ color:#cfcac2; font-size:13px; }
@media (max-width:1000px){
  .success__inner{ grid-template-columns:1fr; gap:26px; }
}
@media (max-width:700px){
  .success{ padding:34px 0 var(--pad); }
  .success__row{ flex-direction:column; gap:2px; }
  .success__row dd{ text-align:left; }
  .success__actions .btn{ width:100%; }
}

/* Кейтеринг: hero обрезает вылезающее (на остальных лендингах остаётся overflow:visible) */
.maru-keitering #hero{ overflow:hidden; }

.catalog-row__carousel .carousel__track.catalog-row__track{ padding:6px 0 14px; scroll-snap-type:none; }

/* Страница портфолио: на десктопе мозаика-коллаж вместо карусели (2026-09-12).
   Специфичность выше карусельного правила .portfolio:not(.portfolio--page) .portfolio__grid */
@media (min-width:1200px){
  .maru-portfolio .portfolio:not(.portfolio--page) .portfolio__grid{
    display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:190px; gap:16px;
    overflow:visible; scroll-snap-type:none; padding:0; touch-action:auto;
  }
  .maru-portfolio .portfolio:not(.portfolio--page) .portfolio__grid .portfolio-item{
    flex:none; aspect-ratio:auto; grid-column:span 1; grid-row:span 2;
  }
  .maru-portfolio .portfolio:not(.portfolio--page) .portfolio__grid .portfolio-item:nth-child(8n+1){ grid-column:span 2; grid-row:span 3; }
  .maru-portfolio .portfolio:not(.portfolio--page) .portfolio__grid .portfolio-item:nth-child(8n+4){ grid-column:span 2; grid-row:span 2; }
  .maru-portfolio .portfolio:not(.portfolio--page) .portfolio__grid .portfolio-item:nth-child(8n+6){ grid-row:span 3; }
  .maru-portfolio .portfolio-carousel .portfolio-arrow{ display:none; }
}

/* FAQ: аккордеон на нативном <details> — раскрытие работает и без JS (2026-09-12) */
.faq{ padding:var(--pad) 0; }
.faq__list{ max-width:900px; margin:52px auto 0; }
.faq__item{ border-bottom:1px solid var(--line); }
.faq__item:first-child{ border-top:1px solid var(--line); }
.faq__q{ cursor:pointer; list-style:none; padding:20px 0; display:flex; align-items:center; justify-content:space-between; gap:16px; font-family:var(--serif); font-size:20px; line-height:1.3; color:var(--ink); }
.faq__q::-webkit-details-marker{ display:none; }
.faq__q:hover{ color:var(--brand); }
.faq__caret{ flex:none; transition:transform .25s; }
.faq__item[open] .faq__caret{ transform:rotate(180deg); }
.faq__a{ padding:0 0 22px; font-size:16px; line-height:1.6; max-width:760px; }
@media (max-width:700px){
  .faq__list{ margin-top:32px; }
  .faq__q{ font-size:17px; padding:16px 0; }
  .faq__a{ font-size:15px; }
}

/* минимальный заказ в лайтбоксе (2026-09-12) */
.maru-lb__min{ margin:10px 0 0; font-size:13px; line-height:1.3; color:var(--brown); }
