/* ============================================================
   Крафт Тюмень — shared store theme
   Airy / light register built strictly on brandbook tokens
   Anzac (gold) + Outer Space (charcoal) + Onest
   ============================================================ */

[hidden] { display: none !important; }

:root{
  /* Anzac — gold */
  --anzac-100:#FBEDC8;
  --anzac-200:#F6DD9B;
  --anzac-300:#F0C458;
  --anzac-500:#DEAF43;
  --anzac-700:#C28F24;
  --anzac-900:#A06C08;
  /* Outer Space — charcoal */
  --space-300:#626C72;
  --space-500:#4A5258;
  --space-700:#383F45;
  --space-900:#2D3338;
  /* neutrals / airy */
  --ink:#2D3338;
  --ink-soft:#5B636A;
  --ink-faint:#9AA1A6;
  --line:#E8EBEC;
  --line-soft:#F0F2F3;
  --paper:#FFFFFF;
  --bg:#F7F8F8;        /* page background — light, airy */
  --bg-warm:#FBF6EC;   /* soft warm tint for sphere/feature blocks */
  /* semantic */
  --ok:#3F8156;
  --ok-soft:#E6F1E9;
  --warn:#C28F24;
  --alert:#9E3B33;
  /* radii — soft, rounded */
  --r-sm:10px;
  --r-md:16px;
  --r-lg:22px;
  --r-xl:28px;
  --r-pill:999px;
  /* shadows — soft, low */
  --sh-1:0 1px 2px rgba(45,51,57,.04), 0 2px 8px rgba(45,51,57,.04);
  --sh-2:0 2px 6px rgba(45,51,57,.05), 0 10px 30px rgba(45,51,57,.07);
  --sh-3:0 8px 40px rgba(45,51,57,.10);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:'Onest',ui-sans-serif,system-ui,sans-serif;
  font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;}
::selection{background:var(--anzac-300);color:var(--space-900);}
.tnum{font-variant-numeric:tabular-nums;}
.display{letter-spacing:-0.02em;}
.caps{text-transform:uppercase;letter-spacing:0.16em;}

.container{max-width:1280px;margin:0 auto;padding:0 24px;}
@media(max-width:640px){ .container{padding:0 16px;} }

/* ===== Header ===== */
.hdr{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.86);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);}
.hdr-row{display:flex;align-items:center;gap:24px;height:68px;}
.hdr-logo{flex:0 0 auto;}
.hdr-logo img{height:26px;width:auto;}
.hdr-nav{flex:0 0 auto;display:flex;align-items:center;gap:26px;font-size:15px;color:var(--ink-soft);}
/* Режим правки Bitrix оборачивает меню в div — переносим на него flex-раскладку */
.hdr-nav > div[id^="bx_incl_area"]{display:flex;align-items:center;gap:26px;}
.hdr-nav a:hover{color:var(--anzac-700);}
.hdr-actions{flex:0 0 auto;display:flex;align-items:center;gap:14px;}
.hdr-phone{font-size:15px;font-weight:600;color:var(--space-700);white-space:nowrap;}
.icon-btn{position:relative;width:44px;height:44px;border-radius:var(--r-pill);background:var(--bg);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--space-700);}
.icon-btn:hover{border-color:var(--space-700);}
.cart-count{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 5px;border-radius:var(--r-pill);background:var(--anzac-500);color:var(--space-900);font-size:11.5px;font-weight:700;display:flex;align-items:center;justify-content:center;}
.cart-count[data-empty="1"]{display:none;}
.hdr-burger{display:none;}
@media(max-width:980px){
  .hdr-nav,.hdr-phone{display:none;}
  .hdr-burger{display:flex;}
}
@media(max-width:640px){
  .hdr-row{height:60px;gap:10px;}
  .hdr-search{display:none;}
}

/* ===== Buttons ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid transparent;border-radius:var(--r-pill);font-weight:600;font-size:15px;line-height:1;padding:14px 24px;transition:background .15s,color .15s,border-color .15s,transform .06s;white-space:nowrap;}
.btn:active{transform:translateY(1px);}
.btn-gold{background:var(--anzac-500);color:var(--space-900);}
.btn-gold:hover{background:var(--anzac-700);color:#fff;}
.btn-dark{background:var(--space-700);color:#fff;}
.btn-dark:hover{background:var(--space-900);}
.btn-ghost{background:#fff;border-color:var(--line);color:var(--space-700);}
.btn-ghost:hover{background:var(--bg);}
.btn-soft{background:var(--bg);color:var(--space-700);}
.btn-soft:hover{background:var(--line-soft);}
.btn-lg{padding:17px 30px;font-size:16px;}
.btn-block{display:flex;width:100%;}
.btn-link{color:var(--space-700);font-weight:600;display:inline-flex;align-items:center;gap:7px;}
.btn-link:hover{color:var(--anzac-700);}

/* ===== Section heading ===== */
.sec{padding:64px 0;}
.sec-sm{padding:44px 0;}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px;}
.h-eyebrow{font-size:12px;font-weight:600;color:var(--anzac-700);text-transform:uppercase;letter-spacing:0.16em;margin-bottom:10px;}
.h-title{font-size:34px;font-weight:700;letter-spacing:-0.02em;color:var(--space-700);line-height:1.04;}
@media(max-width:640px){ .sec{padding:40px 0;} .h-title{font-size:26px;} .sec-head{margin-bottom:20px;} }

/* ===== Cards / placeholders ===== */
.card{background:#fff;border-radius:var(--r-lg);box-shadow:var(--sh-1);}
.ph{position:relative;background:#EEF1F1;overflow:hidden;}
.ph-warm{background:var(--bg-warm);}
.ph svg{position:absolute;inset:0;margin:auto;opacity:.5;}
.ph-label{position:absolute;left:0;right:0;bottom:12px;text-align:center;font-size:11px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:0.14em;}

/* exploded-cube watermark used inside placeholders */
.cube-wm{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:.5;}

/* ===== Product card ===== */
.pcard{background:#fff;border-radius:var(--r-lg);box-shadow:var(--sh-1);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .18s,transform .18s;}
.pcard:hover{box-shadow:var(--sh-2);transform:translateY(-3px);}
.pcard.is-incart{outline:2px solid var(--anzac-500);outline-offset:-2px;}
.pcard-media{position:relative;aspect-ratio:1/1;background:#fff;}
.pcard-badges{position:absolute;top:12px;left:12px;display:flex;flex-direction:column;gap:6px;z-index:2;}
.pcard-body{padding:16px 16px 18px;display:flex;flex-direction:column;flex:1 1 auto;}
.pcard-cat{font-size:11px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:0.14em;}
.pcard-name{font-size:16px;font-weight:600;line-height:1.28;color:var(--space-700);margin-top:5px;height:3.84em;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.pcard-price{margin-top:12px;display:flex;align-items:baseline;gap:10px;white-space:nowrap;}
.pcard-price b{font-size:22px;font-weight:700;color:var(--space-700);white-space:nowrap;}
.pcard-pack{font-size:13px;color:var(--ink-faint);white-space:nowrap;}
.pcard-foot{margin-top:auto;padding-top:14px;}

/* stepper */
.stepper{display:flex;align-items:stretch;border:1px solid var(--anzac-500);border-radius:var(--r-pill);overflow:hidden;background:var(--anzac-100);}
.stepper button{width:44px;border:0;background:transparent;font-size:20px;line-height:1;color:var(--space-900);font-weight:600;}
.stepper button:hover{background:var(--anzac-200);}
.stepper .val{flex:1;text-align:center;align-self:center;font-size:15px;font-weight:700;color:var(--space-900);font-variant-numeric:tabular-nums;}
.stepper .unit{font-size:12px;font-weight:500;color:var(--anzac-900);margin-left:3px;}

/* ===== Badges & chips ===== */
.badge{display:inline-flex;align-items:center;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;padding:4px 9px;border-radius:var(--r-pill);}
.badge-hit{background:var(--space-700);color:#fff;}
.badge-new{background:var(--anzac-500);color:var(--space-900);}
.badge-ok{background:var(--ok-soft);color:var(--ok);}
.badge-print{background:#fff;color:var(--space-700);box-shadow:0 0 0 1px var(--line) inset;}
.chip{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;padding:8px 14px;border-radius:var(--r-pill);background:#fff;border:1px solid var(--line);color:var(--space-700);}
.chip:hover{border-color:var(--space-700);}
.chip.is-active{background:var(--space-700);color:#fff;border-color:var(--space-700);}
.chip-x{color:var(--ink-faint);}
.chip-x:hover{color:var(--alert);}

/* ===== Inputs ===== */
.field label{display:block;font-size:13px;color:var(--ink-soft);margin-bottom:7px;}
.input,.textarea{width:100%;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:13px 16px;font-size:15px;color:var(--ink);outline:none;}
.input:focus,.textarea:focus{border-color:var(--space-700);}
.input::placeholder,.textarea::placeholder{color:var(--ink-faint);}
.textarea{border-radius:var(--r-md);resize:vertical;min-height:96px;}
.check{display:flex;gap:11px;align-items:flex-start;font-size:13.5px;color:var(--ink-soft);line-height:1.45;}
.check input{margin-top:2px;width:18px;height:18px;accent-color:var(--anzac-700);flex-shrink:0;}

/* ===== Footer ===== */
.ftr{background:#fff;border-top:1px solid var(--line);margin-top:24px;}
.ftr-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:32px;padding:52px 0 40px;}
.ftr h4{font-size:12px;text-transform:uppercase;letter-spacing:0.14em;color:var(--ink-faint);margin:0 0 16px;font-weight:600;}
.ftr a,.ftr li{font-size:14.5px;color:var(--ink-soft);line-height:2;}
.ftr a:hover{color:var(--anzac-700);}
.ftr ul{list-style:none;margin:0;padding:0;}
/* Колонка "Мы на связи": кнопка-CTA прижимается к низу колонки (на одном
   уровне с нижней строкой соседних колонок) и не выходит за её ширину. */
.ftr-grid > div:last-child{display:flex;flex-direction:column;}
.ftr a.ftr-cta{align-self:flex-start;margin-top:auto;padding:11px 22px;font-size:14px;line-height:1;}
.ftr-bottom{border-top:1px solid var(--line);padding:18px 0;display:flex;justify-content:space-between;gap:16px;font-size:13px;color:var(--ink-faint);flex-wrap:wrap;}
@media(max-width:860px){
    .ftr-grid{grid-template-columns:1fr 1fr;gap:28px;}
    .ftr a.ftr-cta{align-self:stretch;text-align:center;white-space:normal;padding:11px 16px;}
}
@media(max-width:380px){ .ftr-grid{gap:24px 14px;} .ftr-grid h4{font-size:11px;} }

/* ===== Grids ===== */
.grid-products{display:grid;grid-template-columns:repeat(4,1fr);gap:24px 20px;}
@media(max-width:1023px){ .grid-products{grid-template-columns:repeat(3,1fr);} }
@media(max-width:759px){ .grid-products{grid-template-columns:repeat(2,1fr);gap:16px 12px;} }
@media(max-width:479px){ .grid-products{grid-template-columns:repeat(2,1fr);gap:12px 10px;} }

/* Популярное на десктопе: фикс. ширина карточек, чтобы при 1-3 товарах они не растягивались на весь ряд */
@media(min-width:761px){
    .grid-products--snap{
        grid-template-columns:repeat(auto-fill, 200px);
        justify-content:start;
    }
}

/* Горизонтальный свайп товаров на мобиле — только для grid-products--snap */
@media(max-width:760px){
    .grid-products--snap{
        display:flex !important;
        flex-wrap:nowrap;
        align-items:stretch;        /* все карточки тянутся до высоты самой высокой */
        overflow-x:auto;
        overflow-y:hidden;
        scroll-snap-type:x mandatory;
        scroll-padding:16px;
        gap:12px;
        padding:4px 0 16px 0;
        -webkit-overflow-scrolling:touch;
        scrollbar-width:none;
        -ms-overflow-style:none;
    }
    .grid-products--snap .pcard{
        flex:0 0 44%;
        scroll-snap-align:start;
        min-width:0;
        /* фон / радиус / тень / overflow / flex-column наследуются от базового .pcard */
    }
    /* body заполняет карточку, чтобы кнопка опускалась вниз через margin-top:auto */
    .grid-products--snap .pcard-body{
        flex:1 1 auto;
        min-height:0;
    }
    /* название строго в 2 строки — выравнивает высоту всех карточек */
    .grid-products--snap .pcard-name{
        display:-webkit-box;
        -webkit-line-clamp:2;
        -webkit-box-orient:vertical;
        overflow:hidden;
        text-overflow:ellipsis;
        line-height:1.3;
        min-height:2.6em;
        max-height:2.6em;
    }
    /* цена, упаковка и медиа не сжимаются — фиксированные места */
    .grid-products--snap .pcard-media,
    .grid-products--snap .pcard-price,
    .grid-products--snap .pcard-pack{
        flex-shrink:0;
    }
    /* кнопка прижата к низу и не сжимается */
    .grid-products--snap .pcard-foot{
        margin-top:auto;
        padding-top:14px;
        flex-shrink:0;
    }
    .grid-products--snap::-webkit-scrollbar{display:none;}
}

/* mobile drawer */
.drawer-backdrop{position:fixed;inset:0;background:rgba(45,51,57,.4);z-index:60;opacity:0;pointer-events:none;transition:opacity .2s;}
.drawer-backdrop.open{opacity:1;pointer-events:auto;}
.drawer{position:fixed;top:0;bottom:0;left:0;width:min(86vw,360px);background:#fff;z-index:61;transform:translateX(-100%);transition:transform .25s;padding:22px;overflow:auto;}
.drawer.open{transform:translateX(0);}
.drawer.right{left:auto;right:0;transform:translateX(100%);}
.drawer.right.open{transform:translateX(0);}

/* toast */
.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%) translateY(20px);background:var(--space-900);color:#fff;padding:14px 22px;border-radius:var(--r-pill);font-size:14.5px;font-weight:500;box-shadow:var(--sh-3);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:80;display:flex;align-items:center;gap:10px;}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

.hide-scrollbar::-webkit-scrollbar{display:none;}
.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none;}

/* ===== Home: CTA banner ===== */
.banner-cta{display:grid;grid-template-columns:1.2fr 1fr;gap:0;border-radius:var(--r-xl);overflow:hidden;}
.banner-cta .l{background:var(--space-700);color:#fff;padding:48px 44px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;}
.banner-cta .r{position:relative;min-height:220px;background:linear-gradient(120deg,#DEAF43,#C28F24);display:flex;align-items:center;justify-content:center;}
.banner-cta .r .cube-wm{width:60%;display:flex;align-items:center;justify-content:center;}
.banner-cta h2{font-size:30px;font-weight:800;letter-spacing:-0.02em;margin:0 0 10px;color:#fff;}
.banner-cta p{color:rgba(255,255,255,.75);margin:0 0 24px;font-size:15px;max-width:36ch;line-height:1.55;}
@media(max-width:760px){
    .banner-cta{grid-template-columns:1fr;}
    .banner-cta .r{display:none;}
    .banner-cta .l{padding:32px 26px;border-radius:var(--r-xl);}
    .banner-cta h2{font-size:24px;}
}

/* ===== Home: SEO block ===== */
.seo{background:#fff;border-radius:var(--r-xl);padding:40px 44px;box-shadow:var(--sh-1);}
.seo h2{font-size:22px;font-weight:700;color:var(--space-700);margin:0 0 12px;letter-spacing:-0.01em;}
.seo p{font-size:14.5px;line-height:1.7;color:var(--ink-soft);margin:0 0 10px;max-width:96ch;}
@media(max-width:640px){ .seo{padding:26px 22px;} }

/* ===== Breadcrumbs ===== */
.breadcrumbs{padding:14px 0;font-size:13px;color:var(--ink-faint);}
.breadcrumbs a{color:var(--ink-soft);}
.breadcrumbs a:hover{color:var(--anzac-700);}
.breadcrumbs .sep{opacity:.4;margin:0 6px;}
.breadcrumbs .cur{color:var(--space-700);}

/* ===== Catalog page ===== */
.catalog{padding-bottom:60px;}
.cat-head{margin-bottom:24px;}
.cat-title{font-size:32px;font-weight:800;letter-spacing:-0.02em;color:var(--space-900);margin:0;}
.cat-count{font-weight:500;color:var(--ink-faint);font-size:22px;margin-left:6px;}
.cat-layout{display:grid;grid-template-columns:260px 1fr;gap:32px;align-items:flex-start;}
.cat-side{position:sticky;top:88px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:22px 22px 18px;}
.filter-group{margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid var(--line-soft);}
.filter-group:last-of-type{border-bottom:0;margin-bottom:0;}
.filter-group h4{margin:0 0 12px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--space-700);}

.cb{display:flex;align-items:center;gap:9px;padding:5px 0;cursor:pointer;font-size:14px;color:var(--ink-soft);}
.cb input{width:16px;height:16px;accent-color:var(--anzac-700);flex-shrink:0;}
.cb-lbl{flex:1;}
.cb-num{font-size:12px;color:var(--ink-faint);}

.color-chips{display:flex;flex-wrap:wrap;gap:8px;}
.color-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 8px;border:1px solid var(--line);border-radius:var(--r-pill);cursor:pointer;font-size:13px;color:var(--space-700);background:#fff;transition:border-color .15s,background .15s;}
.color-chip:hover{border-color:var(--space-700);}
.color-chip.active{border-color:var(--anzac-700);background:var(--anzac-100);}
.color-dot{width:14px;height:14px;border-radius:50%;border:1px solid rgba(0,0,0,.08);flex-shrink:0;}

.price-row{display:flex;align-items:center;gap:8px;}
.price-row .dash{color:var(--ink-faint);}
.price-input{width:100%;background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 10px;font-size:14px;color:var(--ink);outline:none;font-variant-numeric:tabular-nums;}
.price-input:focus{border-color:var(--space-700);}
.price-bounds{font-size:12px;color:var(--ink-faint);margin-top:6px;}

.cat-main{min-width:0;}
.cat-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;flex-wrap:wrap;}
.cat-chips{display:flex;flex-wrap:wrap;gap:8px;min-height:32px;flex:1;}
.cat-chips .chip{cursor:pointer;}
.cat-sort{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--ink-soft);}
.cat-sort select{background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);padding:7px 28px 7px 10px;font-size:13.5px;color:var(--space-700);font-family:inherit;cursor:pointer;}

.cat-empty{background:#fff;border:1px dashed var(--line);border-radius:var(--r-lg);padding:60px 20px;text-align:center;color:var(--ink-soft);}
.cat-empty p{margin:0 0 12px;font-size:15px;}

@media(max-width:860px){
    .cat-layout{grid-template-columns:1fr;}
    .cat-side{position:static;}
}
@media(max-width:760px){
    .cat-layout{display:block;}
    .cat-side{
        position:static;width:100%;max-height:none;
        margin-bottom:24px;padding:20px;
        background:var(--paper);border-radius:var(--r-lg);box-shadow:var(--sh-1);
    }
    .filter-group{padding:12px 0;border-bottom:1px solid var(--line-soft);}
    .filter-group:last-child{border-bottom:none;}
}
@media(max-width:640px){
    .cat-title{font-size:24px;}
    .cat-count{font-size:18px;}
}

/* ===== Product page ===== */
.product{padding-bottom:60px;}
.product-layout{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:flex-start;}
.product-gallery{position:sticky;top:88px;}
.gallery-main{position:relative;aspect-ratio:1/1;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:flex;align-items:center;justify-content:center;}
.gallery-main img{width:100%;height:100%;object-fit:contain;padding:30px;}
.gallery-main .ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#EEF1F1;}
.gallery-main .cube-wm{opacity:.5;}
.gallery-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px;}
.thumb{aspect-ratio:1/1;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;padding:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .15s;}
.thumb:hover{border-color:var(--space-700);}
.thumb.active{border-color:var(--anzac-700);}
.thumb img{width:100%;height:100%;object-fit:contain;}
.thumb .cube-wm{opacity:.5;}

.product-cat{font-size:12px;font-weight:600;color:var(--ink-faint);text-transform:uppercase;letter-spacing:0.14em;}
.product-name{font-size:32px;font-weight:700;line-height:1.15;color:var(--space-900);letter-spacing:-0.02em;margin:6px 0 16px;}
.product-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;}

.price-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;}
.price-line{display:flex;align-items:baseline;gap:10px;}
.price-big{font-size:36px;font-weight:800;color:var(--space-900);letter-spacing:-0.02em;line-height:1;}
.price-unit{font-size:15px;color:var(--ink-faint);}
.price-sub{font-size:14px;color:var(--ink-soft);margin-top:8px;line-height:1.55;}
.price-sub b{color:var(--space-700);font-weight:600;}
.price-sub .ink-soft{color:var(--ink-faint);}
.price-actions{display:block;margin-top:18px;}
.price-actions > .btn,
.price-actions > .stepper{width:100%;}
.consult-box{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding:14px 16px;background:var(--bg-warm);border-radius:var(--r-md);}
.consult-box b{font-size:14px;color:var(--space-700);display:block;}
.consult-box p{margin:2px 0 0;font-size:13px;color:var(--ink-soft);line-height:1.45;}
.video-box{display:flex;align-items:center;gap:14px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:14px 18px;margin-top:14px;text-decoration:none;color:var(--ink);transition:border-color 0.15s, background 0.15s;}
.video-box:hover{background:var(--bg);border-color:var(--anzac-500);}
.video-box-icon{flex-shrink:0;}
.video-box-text{flex:1;min-width:0;}
.video-box-title{font-weight:600;font-size:14px;color:var(--ink);margin-bottom:2px;}
.video-box-hint{font-size:12px;color:var(--ink-faint);}
.video-box-arrow{flex-shrink:0;color:var(--anzac-700);}

.specs{margin-top:24px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;}
.specs h3{margin:0 0 14px;font-size:16px;font-weight:700;color:var(--space-700);}
.specs table{width:100%;border-collapse:collapse;font-size:14px;}
.specs th{font-weight:500;color:var(--ink-faint);text-align:left;padding:8px 12px 8px 0;width:42%;vertical-align:top;}
.specs td{padding:8px 0;color:var(--space-700);vertical-align:top;}
.specs tr{border-bottom:1px solid var(--line-soft);}
.specs tr:last-child{border-bottom:0;}

.related{margin-top:60px;}

@media(max-width:860px){
    .product-layout{grid-template-columns:1fr;gap:28px;}
    .product-gallery{position:static;}
    .product-name{font-size:24px;}
    .price-big{font-size:28px;}
    .price-actions{flex-wrap:wrap;}
    .consult-box{flex-direction:column;align-items:flex-start;}
}

/* ===== Zayavka page ===== */
.zayavka{padding:32px 0 80px;}
.zayavka-title{font-size:32px;font-weight:800;letter-spacing:-0.02em;margin:0 0 28px;color:var(--space-900);}
.zayavka-count{color:var(--ink-faint);font-weight:500;font-size:20px;margin-left:8px;}

.zayavka-empty{text-align:center;padding:60px 20px;background:#fff;border-radius:var(--r-xl);box-shadow:var(--sh-1);}
.zayavka-empty svg{display:inline-block;margin-bottom:18px;}
.zayavka-empty h2{font-size:22px;margin:0 0 8px;color:var(--space-700);}
.zayavka-empty p{color:var(--ink-soft);margin:0 0 24px;}

.zayavka-layout{display:grid;grid-template-columns:1fr 380px;gap:32px;align-items:start;}
.zayavka-items{background:#fff;border-radius:var(--r-lg);padding:8px 24px;box-shadow:var(--sh-1);}

.zitem{display:grid;grid-template-columns:80px 1fr 168px 110px 36px;gap:16px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line);}
.zitem:last-child{border-bottom:0;}
.zitem-media{width:80px;height:80px;background:var(--bg-warm);border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.zitem-media img{width:100%;height:100%;object-fit:contain;padding:8px;}
.zitem-cat{font-size:11px;text-transform:uppercase;color:var(--ink-faint);letter-spacing:0.08em;margin-bottom:4px;}
.zitem-name{font-size:15px;font-weight:600;color:var(--space-700);margin-bottom:4px;line-height:1.3;}
.zitem-name a{color:inherit;}
.zitem-name a:hover{color:var(--anzac-700);}
.zitem-price{font-size:13px;color:var(--ink-faint);}
.zitem-stepper .stepper{margin:0;}
.zitem-sum{font-size:16px;font-weight:700;color:var(--space-700);text-align:right;font-variant-numeric:tabular-nums;}
.zitem-remove{background:none;border:0;cursor:pointer;color:var(--ink-faint);padding:8px;border-radius:var(--r-pill);transition:background .15s,color .15s;}
.zitem-remove:hover{background:var(--line-soft);color:var(--alert);}

.zayavka-summary{position:sticky;top:90px;display:flex;flex-direction:column;gap:18px;}
.summary-card{background:#fff;border-radius:var(--r-lg);padding:24px;box-shadow:var(--sh-1);}
.summary-card h3{font-size:18px;font-weight:700;margin:0 0 16px;color:var(--space-700);}
.summary-row{display:flex;justify-content:space-between;align-items:baseline;padding:6px 0;font-size:14.5px;color:var(--ink-soft);}
.summary-row b{color:var(--space-700);font-weight:700;font-variant-numeric:tabular-nums;}
.summary-total{padding-top:14px;margin-top:6px;border-top:1px solid var(--line);font-size:15px;}
.summary-total b{font-size:22px;font-weight:800;color:var(--space-900);}
.summary-note{font-size:12.5px;color:var(--ink-faint);margin:14px 0 0;font-style:italic;line-height:1.5;}

.zayavka-form{background:#fff;border-radius:var(--r-lg);padding:24px;box-shadow:var(--sh-1);}
.form-row{margin-bottom:14px;}
.form-row label{display:block;font-size:13px;color:var(--ink-soft);margin-bottom:6px;font-weight:500;}
.form-row input[type="text"],
.form-row input[type="tel"],
.form-row input[type="email"],
.form-row textarea{
    width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:var(--r-md);
    font-family:inherit;font-size:14.5px;background:var(--bg);color:var(--ink);
    transition:border-color .15s;
}
.form-row input:focus,
.form-row textarea:focus{outline:none;border-color:var(--anzac-500);background:#fff;}
.req{color:var(--alert);font-weight:600;}
.form-check label{display:flex;align-items:flex-start;gap:9px;cursor:pointer;font-size:13px;color:var(--ink-soft);line-height:1.45;}
.form-check input{margin-top:2px;flex-shrink:0;width:16px;height:16px;accent-color:var(--anzac-700);}
.form-error{background:#FDEBE9;color:var(--alert);padding:11px 14px;border-radius:var(--r-md);margin-top:12px;font-size:13px;line-height:1.5;}

@media(max-width:980px){
    .zayavka-layout{grid-template-columns:1fr;}
    .zayavka-summary{position:static;}
}
@media(max-width:760px){
    .zitem{grid-template-columns:64px 1fr auto;gap:12px;padding:14px 0;}
    .zitem-media{width:64px;height:64px;}
    .zitem-stepper{grid-column:1 / -1;}
    .zitem-sum{grid-column:1 / 3;text-align:left;font-size:18px;}
    .zitem-remove{justify-self:end;}
}

/* ===== Thanks page ===== */
.thanks{padding:60px 0 120px;}
.thanks-card{background:#fff;border-radius:var(--r-xl);padding:60px 40px;text-align:center;max-width:560px;margin:0 auto;box-shadow:var(--sh-1);}
.thanks-icon{margin-bottom:24px;}
.thanks-card h1{font-size:30px;font-weight:800;letter-spacing:-0.02em;margin:0 0 16px;color:var(--space-900);}
.thanks-text{color:var(--ink-soft);margin-bottom:28px;font-size:15px;}
.thanks-text p{margin:0 0 10px;line-height:1.6;}
.thanks-text a{color:var(--anzac-700);}

/* ===== 404 ===== */
.notfound{padding:60px 0 100px;}
.notfound-card{background:var(--paper);border-radius:var(--r-xl);padding:64px 40px;text-align:center;max-width:620px;margin:0 auto;box-shadow:var(--sh-1);}
.notfound-code{display:flex;align-items:center;justify-content:center;gap:10px;font-size:96px;font-weight:800;letter-spacing:-0.04em;color:var(--space-700);line-height:1;margin-bottom:26px;}
.notfound-cube{display:inline-flex;width:84px;height:84px;}
.notfound-cube svg{width:100%;height:100%;display:block;}
.notfound-card h1{font-size:28px;font-weight:800;letter-spacing:-0.02em;margin:0 0 14px;color:var(--space-900);}
.notfound-text{color:var(--ink-soft);font-size:15px;line-height:1.6;margin:0 auto 28px;max-width:46ch;}
.notfound-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:22px;}
.notfound-hint{font-size:14px;color:var(--ink-faint);margin:0;}
.notfound-hint a{color:var(--anzac-700);text-decoration:underline;}
@media(max-width:640px){
    .notfound-card{padding:44px 22px;}
    .notfound-code{font-size:64px;gap:6px;}
    .notfound-cube{width:58px;height:58px;}
    .notfound-card h1{font-size:22px;}
    .notfound-actions{flex-direction:column;}
    .notfound-actions .btn{width:100%;}
}

/* ===== Static pages ===== */
.static-page{padding:40px 0 80px;}
.static-content{
    background:var(--paper);
    border-radius:var(--r-lg);
    padding:48px 56px;
    max-width:820px;
    margin:0 auto;
    box-shadow:var(--sh-1);
}
.static-content h1{font-size:32px;font-weight:800;letter-spacing:-0.02em;margin:0 0 24px;color:var(--space-700);}
.static-content h2{font-size:20px;font-weight:700;margin:36px 0 14px;color:var(--space-700);}
.static-content p{font-size:14.5px;line-height:1.7;color:var(--ink-soft);margin:0 0 12px;}
.static-content ul{font-size:14.5px;line-height:1.7;color:var(--ink-soft);margin:8px 0 16px 24px;}
.static-content a{color:var(--anzac-700);text-decoration:underline;}
.static-content em{color:var(--ink-faint);font-style:italic;}
@media(max-width:760px){
    .static-content{padding:28px 22px;}
    .static-content h1{font-size:24px;}
    .static-content h2{font-size:17px;}
}

/* consent link inside form checkbox */
.form-check a{color:var(--anzac-700);text-decoration:underline;}

/* ===== Narrow-screen product card tweaks ===== */
@media(max-width:479px){
    .pcard-price b{font-size:20px;}
    .pcard-name{font-size:14px;line-height:1.3;height:3.9em;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
}

/* ===== R12: Имя+Фамилия в две колонки ===== */
.form-row-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
.form-row-2 .form-row { margin-bottom: 16px; }
@media (max-width: 540px) {
    .form-row-2 { grid-template-columns: 1fr; gap: 0; }
}

/* ===== R12: Нижняя навигация (мобайл) ===== */
.bottom-nav { display: none; }

@media (max-width: 760px) {
    .bottom-nav {
        display: flex;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        background: #fff;
        border-top: 1px solid var(--line);
        z-index: 100;
        height: 64px;
        padding-bottom: env(safe-area-inset-bottom);
    }
    body { padding-bottom: 64px; }
    /* Тост поднимаем над нижним меню (.bottom-nav: 64px + safe-area), иначе прячется под ним */
    .toast {
        bottom: calc(64px + env(safe-area-inset-bottom, 0px) + 16px);
        z-index: 110;
    }
}

.bottom-nav-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    text-decoration: none;
    color: var(--ink-soft);
    font-size: 10px;
    line-height: 1;
    position: relative;
    padding: 8px 4px;
    transition: color 0.15s;
}
.bottom-nav-item:hover { color: var(--ink); }
.bottom-nav-item.active { color: var(--anzac-700); }

.bottom-nav-ico {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}
.bottom-nav-lbl {
    font-size: 10px;
    font-weight: 500;
    white-space: nowrap;
}
.bottom-nav-badge {
    position: absolute;
    top: -4px;
    right: -8px;
    background: var(--anzac-700);
    color: #fff;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 700;
    padding: 1px 5px;
    min-width: 16px;
    height: 16px;
    text-align: center;
    line-height: 14px;
    box-sizing: border-box;
}
.bottom-nav-badge[data-empty="1"] { display: none; }

/* ===== R12: Шапка на мобиле — только лого по центру ===== */
@media (max-width: 760px) {
    .hdr-burger,
    .hdr-nav,
    .hdr-search,
    .hdr-phone,
    .hdr-actions {
        display: none !important;
    }
    .hdr-row { justify-content: center !important; }
    .hdr-logo { margin: 0 auto; }
    .drawer,
    .drawer-backdrop {
        display: none !important;
    }
}

/* ===== R12: Модалка ===== */
.modal {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}
.modal[hidden] { display: none !important; }

.modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(45, 51, 56, 0.6);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}
.modal-window {
    position: relative;
    background: var(--paper);
    border-radius: var(--r-xl);
    padding: 32px 28px 28px;
    max-width: 440px;
    width: 100%;
    box-shadow: 0 20px 60px rgba(0,0,0,0.2);
    max-height: 90vh;
    overflow-y: auto;
}
.modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    background: none;
    border: none;
    cursor: pointer;
    color: var(--ink-faint);
    padding: 6px;
    border-radius: 50%;
    transition: background 0.15s;
}
.modal-close:hover { background: var(--bg); color: var(--ink); }

.modal-title {
    font-size: 22px;
    font-weight: 700;
    margin: 0 0 6px;
    color: var(--space-700);
}
.modal-subtitle {
    color: var(--ink-soft);
    margin: 0 0 24px;
    font-size: 14px;
}

.form-success {
    text-align: center;
    padding: 8px 4px 4px;
}
.form-success .thanks-icon { margin-bottom: 16px; }
.form-success .modal-title { margin-bottom: 10px; }
.form-success .thanks-text { margin-bottom: 0; }

/* ===== About page ===== */
.about-video { padding: 40px 0 0; }
.about-video-wrap {
    background: var(--space-700);
    border-radius: var(--r-xl);
    aspect-ratio: 16 / 9;
    max-width: 960px;
    margin: 0 auto;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}
.about-video-wrap iframe,
.about-video-wrap video {
    width: 100%;
    height: 100%;
    border: 0;
}
.about-video-placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: rgba(255,255,255,0.7);
    text-align: center;
}
.about-video-icon { margin-bottom: 16px; cursor: pointer; }
.about-video-title { font-size: 22px; font-weight: 700; color: #fff; margin: 0 0 6px; }
.about-video-hint { font-size: 14px; margin: 0; }

.about-text-sec { padding: 56px 0 16px; }
.about-text {
    max-width: 820px;
    margin: 0 auto;
}
.about-text h2 {
    font-size: 32px;
    font-weight: 800;
    letter-spacing: -0.02em;
    margin: 0 0 24px;
    color: var(--space-700);
}
.about-text p {
    font-size: 16px;
    line-height: 1.7;
    color: var(--ink-soft);
    margin: 0 0 16px;
}
@media (max-width: 760px) {
    .about-text h2 { font-size: 24px; }
    .about-text p { font-size: 15px; }
    .about-video { padding: 24px 0 0; }
}

.about-advantages { padding-top: 24px; }

/* feat-grid / feat / feat-ico — те же, что inline в шаблоне home_advantages,
   продублированы здесь, т.к. на /about/ компонент с inline-стилями не выводится */
.feat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.feat{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;display:flex;flex-direction:column;gap:12px;transition:transform .15s,box-shadow .15s;}
.feat:hover{transform:translateY(-2px);box-shadow:var(--sh-1);}
.feat-ico{width:44px;height:44px;border-radius:12px;background:var(--anzac-200);display:flex;align-items:center;justify-content:center;color:var(--anzac-900);}
.feat h3{margin:0;font-size:17px;font-weight:700;color:var(--space-900);line-height:1.25;}
.feat p{margin:0;font-size:14.5px;color:var(--ink-soft);line-height:1.5;}
@media (max-width: 980px){ .about-advantages .feat-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width: 760px){
    .about-advantages .feat-grid{grid-template-columns:1fr 1fr;gap:12px;}
    .about-advantages .feat{padding:18px 16px;}
    .about-advantages .feat h3{font-size:16px;}
    .about-advantages .feat p{font-size:13px;line-height:1.4;}
}
@media (max-width: 379px){ .about-advantages .feat{padding:14px 12px;} .about-advantages .feat p{font-size:12px;} }

.about-cta-box {
    background: linear-gradient(135deg, #FBEDC8 0%, #DEAF43 100%);
    border-radius: var(--r-xl);
    padding: 48px 40px;
    text-align: center;
}
.about-cta-box h2 {
    font-size: 28px;
    font-weight: 800;
    margin: 0 0 12px;
    color: var(--space-700);
}
.about-cta-box p {
    font-size: 16px;
    color: var(--space-700);
    margin: 0 0 24px;
    opacity: 0.85;
}
@media (max-width: 760px) {
    .about-cta-box { padding: 32px 24px; }
    .about-cta-box h2 { font-size: 22px; }
}

.factory-photos-placeholder {
    background: var(--paper);
    border: 2px dashed var(--line);
    border-radius: var(--r-lg);
    padding: 80px 20px;
    text-align: center;
    color: var(--ink-faint);
}
.factory-photos-placeholder p {
    margin: 16px 0 0;
    font-size: 15px;
}

.factory-photos-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}
.factory-photo {
    aspect-ratio: 4 / 3;
    background: var(--bg);
    border-radius: var(--r-md);
    overflow: hidden;
}
.factory-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s;
}
.factory-photo:hover img { transform: scale(1.05); }

@media (max-width: 760px) {
    .factory-photos-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
}
@media (max-width: 479px) {
    .factory-photos-grid { grid-template-columns: 1fr; }
}

/* ===== Catalog page (R14b) ===== */
.catalog-hero { padding: 40px 0 24px; }
.catalog-hero-sub { color: var(--ink-soft); max-width: 720px; margin: 12px 0 0; font-size: 16px; }
.catalog-groups-sec { padding-bottom: 60px; }
.group-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.group-tile { display: flex; flex-direction: column; padding: 24px 20px; border-radius: var(--r-lg); background: var(--paper); text-decoration: none; color: var(--ink); transition: transform 0.15s, box-shadow 0.15s; border: 1px solid var(--line); }
.group-tile:hover { transform: translateY(-2px); box-shadow: var(--sh-2); border-color: var(--anzac-500); }
.group-tile-ico { width: 48px; height: 48px; margin-bottom: 14px; }
.group-tile-ico svg { width: 100%; height: 100%; display: block; }
.group-tile-title { font-weight: 700; font-size: 15px; margin: 0 0 4px; color: var(--ink); }
.group-tile-sub { font-size: 13px; color: var(--ink-soft); margin: 0; line-height: 1.4; }
.group-tile-count { font-size: 12px; color: var(--anzac-700); margin-top: auto; padding-top: 16px; font-weight: 500; }
.group-tile-count-empty { color: var(--ink-faint); font-style: italic; font-weight: 400; }
@media (max-width: 960px) { .group-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 760px) {
    .group-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
    .group-tile { padding: 16px 14px; }
    .group-tile-ico { width: 40px; height: 40px; margin-bottom: 10px; }
}
.catalog-spheres-row { display: flex; flex-wrap: wrap; gap: 8px; }
.catalog-sphere-link { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-pill); padding: 8px 16px; color: var(--ink); text-decoration: none; font-size: 14px; transition: background 0.15s, border-color 0.15s; }
.catalog-sphere-link:hover { background: var(--bg); border-color: var(--anzac-500); }

/* ===== Group page (R14b) ===== */
.group-hero { padding: 32px 0 16px; }
.group-hero-sub { color: var(--ink-soft); margin: 8px 0 0; font-size: 15px; }
.group-text-sec { padding: 16px 0 32px; }
.group-text { max-width: 820px; }
.group-text p { font-size: 15px; line-height: 1.7; color: var(--ink-soft); margin: 0 0 14px; }
.group-items-sec { padding-bottom: 60px; }
.group-empty-sec { padding: 24px 0 80px; }
.group-empty-block { background: var(--paper); border-radius: var(--r-xl); padding: 56px 32px; text-align: center; max-width: 640px; margin: 0 auto; }
.group-empty-icon { width: 64px; height: 64px; margin: 0 auto 20px; color: var(--ink-faint); }
.group-empty-title { font-size: 24px; font-weight: 700; margin: 0 0 12px; color: var(--space-700); }
.group-empty-text { color: var(--ink-soft); margin: 0 0 28px; font-size: 15px; line-height: 1.6; }
.cat-results { font-size: 14px; color: var(--ink-soft); }

/* ===== Contacts page (R15) ===== */
.contacts-hero { padding: 40px 0 24px; }

.contacts-main-sec { padding-bottom: 40px; }

.contacts-main-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    align-items: start;
}
@media (max-width: 760px) {
    .contacts-main-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }
}

.contacts-info-col {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* Карточки контактов: телефон/email/производство */
.contact-line {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 14px 16px;
    background: var(--paper);
    border-radius: var(--r-md);
    border: 1px solid var(--line);
}
.contact-line-ico {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #FBEDC8;
    color: var(--anzac-700);
    display: flex;
    align-items: center;
    justify-content: center;
}
.contact-line-body { flex: 1; min-width: 0; }
.contact-line-lbl {
    font-size: 12px;
    color: var(--ink-faint);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 2px;
}
.contact-line-val {
    font-size: 16px;
    font-weight: 600;
    color: var(--ink);
    text-decoration: none;
    word-break: break-word;
}
a.contact-line-val:hover { color: var(--anzac-700); }

.contacts-socials-block {
    margin-top: 8px;
}
.contacts-block-title {
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--ink-faint);
    margin: 0 0 12px;
}

.socials-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.social-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: var(--r-pill);
    color: var(--ink);
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.social-pill:hover {
    background: var(--bg);
    border-color: var(--anzac-500);
    color: var(--anzac-700);
}
.social-pill-ico { display: inline-flex; color: var(--anzac-700); }
.social-pill-ico svg,
.social-pill-ico img { display: block; width: 22px; height: 22px; object-fit: contain; }

/* Заглушка фото производства */
.contacts-photo-placeholder {
    background: var(--paper);
    border: 2px dashed var(--line);
    border-radius: var(--r-xl);
    padding: 60px 32px;
    text-align: center;
    color: var(--ink-faint);
    aspect-ratio: 4/3;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.contacts-photo-icon { color: var(--ink-faint); margin-bottom: 16px; }
.contacts-photo-title { font-size: 18px; font-weight: 600; color: var(--ink-soft); margin: 0 0 4px; }
.contacts-photo-hint { font-size: 13px; color: var(--ink-faint); margin: 0; }

@media (max-width: 760px) {
    .contacts-photo-placeholder {
        padding: 40px 20px;
        aspect-ratio: 3/2;
    }
}

/* Розничные магазины */
.shops-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
.shop-card {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: var(--r-lg);
    padding: 18px 20px;
}
.shop-card-addr {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    color: var(--ink);
    font-weight: 600;
    font-size: 15px;
    margin-bottom: 10px;
}
.shop-card-addr svg {
    flex-shrink: 0;
    color: var(--anzac-700);
    margin-top: 2px;
}
.shop-card-phone {
    display: inline-block;
    color: var(--ink-soft);
    text-decoration: none;
    font-size: 15px;
    transition: color 0.15s;
}
.shop-card-phone:hover { color: var(--anzac-700); }
.shop-card-ext {
    color: var(--ink-faint);
    font-size: 13px;
    margin-left: 6px;
}

@media (max-width: 540px) {
    .shops-grid { grid-template-columns: 1fr; }
}

/* Карта-заглушка */
.contacts-map-placeholder {
    background: var(--paper);
    border: 2px dashed var(--line);
    border-radius: var(--r-xl);
    padding: 56px 32px;
    text-align: center;
}
.contacts-map-icon { color: var(--ink-faint); margin-bottom: 20px; display: flex; justify-content: center; }
.contacts-map-title {
    font-size: 20px;
    font-weight: 700;
    color: var(--ink);
    margin: 0 0 6px;
}
.contacts-map-hint {
    font-size: 13px;
    color: var(--ink-faint);
    margin: 0 0 24px;
}
.contacts-map-placeholder .btn-outline {
    max-width: 280px;
    margin: 0 auto;
}

/* ===== Dostavka page (R16) ===== */
.dostavka-hero { padding: 40px 0 16px; }
.dostavka-hero-sub {
    color: var(--ink-soft);
    font-size: 16px;
    margin: 12px 0 0;
}

.dostavka-intro-sec { padding: 16px 0 32px; }
.dostavka-intro {
    max-width: 820px;
}
.dostavka-intro p {
    font-size: 16px;
    line-height: 1.7;
    color: var(--ink-soft);
    margin: 0;
}

.dostavka-options-sec { padding-bottom: 40px; }
.dostavka-options {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}
@media (max-width: 760px) {
    .dostavka-options {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}

.dostavka-card {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: var(--r-lg);
    padding: 28px;
    display: flex;
    flex-direction: column;
}
@media (max-width: 760px) {
    .dostavka-card { padding: 20px; }
}

.dostavka-card-head {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 14px;
}
.dostavka-card-ico {
    flex-shrink: 0;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #FBEDC8;
    color: var(--anzac-700);
    display: flex;
    align-items: center;
    justify-content: center;
}
.dostavka-card-title {
    font-size: 22px;
    font-weight: 700;
    color: var(--space-700);
    margin: 0;
}
@media (max-width: 760px) {
    .dostavka-card-title { font-size: 18px; }
    .dostavka-card-ico { width: 48px; height: 48px; }
    .dostavka-card-ico svg { width: 26px; height: 26px; }
}

.dostavka-card-desc {
    color: var(--ink-soft);
    font-size: 15px;
    line-height: 1.6;
    margin: 0 0 20px;
}

.dostavka-card-detail {
    margin-top: 4px;
    padding-top: 4px;
}
.dostavka-card-label {
    font-size: 12px;
    color: var(--ink-faint);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 700;
    margin-bottom: 10px;
}

.pickup-addr-list,
.dostavka-features {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.pickup-addr-list li,
.dostavka-features li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 14px;
    color: var(--ink);
    line-height: 1.5;
}
.pickup-addr-list li svg,
.dostavka-features li svg {
    flex-shrink: 0;
    color: var(--anzac-700);
    margin-top: 2px;
}

/* CTA-блок страницы доставки */
.dostavka-cta-sec { padding-bottom: 60px; }
.dostavka-cta-box {
    background: linear-gradient(135deg, #FBEDC8 0%, #DEAF43 100%);
    border-radius: var(--r-xl);
    padding: 48px 40px;
    text-align: center;
}
.dostavka-cta-box h2 {
    font-size: 28px;
    font-weight: 800;
    margin: 0 0 12px;
    color: var(--space-700);
}
.dostavka-cta-box p {
    font-size: 16px;
    color: var(--space-700);
    margin: 0 0 24px;
    opacity: 0.85;
}
@media (max-width: 760px) {
    .dostavka-cta-box { padding: 32px 24px; }
    .dostavka-cta-box h2 { font-size: 22px; }
}

/* ===== Catalog mobile sort + filters buttons (R20/R21) ===== */
.cat-mobilebar{display:none;}
.cat-filters-toggle{display:none;}
@media(max-width:760px){
    /* Панель из двух кнопок над товарами */
    .cat-mobilebar{display:flex;gap:10px;margin-bottom:16px;}
    .cat-mobilebar > *{flex:1 1 0;min-width:0;}

    .cat-mobilebar-sort,
    .cat-filters-toggle{
        display:flex;align-items:center;justify-content:center;gap:8px;
        padding:12px 14px;min-height:48px;
        background:var(--paper);border:1px solid var(--line);
        border-radius:var(--r-lg);box-shadow:var(--sh-1);
        font-size:15px;font-weight:600;color:var(--space-700);
        cursor:pointer;font-family:inherit;
    }
    .cat-mobilebar-sort svg,
    .cat-filters-toggle svg{flex-shrink:0;color:var(--anzac-700);}
    .cat-mobilebar-sort > span,
    .cat-filters-toggle > span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

    /* Сортировка: нативный select прозрачно лежит поверх всей кнопки */
    .cat-mobilebar-sort{position:relative;}
    .cat-mobilebar-sort select{
        position:absolute;inset:0;width:100%;height:100%;
        margin:0;padding:0;border:0;opacity:0;cursor:pointer;font:inherit;
    }

    /* Активное состояние кнопки фильтров */
    .cat-filters-toggle[aria-expanded="true"]{
        border-color:var(--anzac-700);background:var(--anzac-100);color:var(--space-900);
    }

    /* Десктопную сортировку в тулбаре прячем — её заменяет кнопка в баре */
    .cat-sort{display:none;}

    /* Фильтры свёрнуты по умолчанию, открываются кнопкой */
    .cat-side{display:none;}
    .cat-side.is-open{display:block;}
}

/* Кнопка «Каталог» в шапке */
.hdr-catalog-btn{display:inline-flex;align-items:center;gap:8px;background:var(--anzac-500);color:var(--space-900);font-weight:600;font-size:15px;padding:9px 18px;border-radius:var(--r-pill);text-decoration:none;transition:background .15s,transform .15s;}
.hdr-nav a.hdr-catalog-btn:hover{background:var(--anzac-700);color:#fff;transform:translateY(-1px);}
.hdr-catalog-btn svg{flex-shrink:0;}

/* Строка поиска под хедером */
.hdr-search-bar{background:#fff;border-bottom:1px solid var(--line);padding:14px 0;}
.hdr-search-form{position:relative;display:flex;align-items:center;}
.hdr-search-ico{position:absolute;left:18px;color:var(--ink-faint);pointer-events:none;}
.hdr-search-input{width:100%;height:48px;padding:0 18px 0 48px;border:1px solid var(--line);border-radius:var(--r-pill);font-size:15px;color:var(--space-900);background:var(--paper,#F7F8F8);transition:border-color .15s,background .15s;}
.hdr-search-input:focus{outline:none;border-color:var(--anzac-500);background:#fff;}
.hdr-search-input::placeholder{color:var(--ink-faint);}
@media(max-width:760px){
    .hdr-search-bar{padding:10px 0;}
    .hdr-search-input{height:44px;font-size:14px;}
}

/* Поиск в шапке (десктоп) */
.hdr-search-inline{position:relative;display:flex;align-items:center;flex:1;min-width:0;margin:0 24px;}
.hdr-search-inline-ico{position:absolute;left:12px;color:var(--ink-faint);pointer-events:none;}
.hdr-search-inline-input{width:100%;height:38px;padding:0 12px 0 36px;border:1px solid var(--line);border-radius:var(--r-pill);font-size:14px;color:var(--space-900);background:var(--paper,#F7F8F8);transition:border-color .15s,background .15s;}
.hdr-search-inline-input:focus{outline:none;border-color:var(--anzac-500);background:#fff;}
.hdr-search-inline-input::placeholder{color:var(--ink-faint);}
/* Строка поиска под хедером — только на мобиле */
.hdr-search-bar{display:none;}
@media(max-width:760px){
    .hdr-search-bar{display:block;}
    .hdr-search-inline{display:none;}
}
/* Результаты поиска: компактные карточки на десктопе (как Популярное) */
@media(min-width:761px){
    .grid-products--search{
        grid-template-columns:repeat(auto-fill, minmax(200px, 1fr));
    }
}
/* Живой поиск — выпадашка */
.search-suggest{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-2);z-index:100;overflow:hidden;max-height:420px;overflow-y:auto;}
.search-suggest-item{display:flex;align-items:center;gap:12px;padding:10px 14px;text-decoration:none;color:var(--space-900);transition:background .12s;}
.search-suggest-item:hover{background:var(--paper,#F7F8F8);}
.search-suggest-img{width:44px;height:44px;border-radius:8px;object-fit:cover;flex-shrink:0;background:#EEF1F1;}
.search-suggest-noimg{background:#EEF1F1;}
.search-suggest-name{flex:1;font-size:14px;line-height:1.35;color:var(--space-700);}
.search-suggest-price{font-size:14px;font-weight:700;color:var(--space-900);white-space:nowrap;}
.search-suggest-all{display:block;padding:12px 14px;text-align:center;font-size:13px;font-weight:600;color:var(--anzac-700);text-decoration:none;border-top:1px solid var(--line);background:var(--paper,#F7F8F8);transition:background .12s;}
.search-suggest-all:hover{background:#fff;}
.search-suggest-empty{padding:16px;text-align:center;color:var(--ink-faint);font-size:14px;}

/* Подразделы — строка пилюль над товарами */
.subsections-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;}
.subsection-pill{display:inline-flex;align-items:center;padding:8px 16px;border:1px solid var(--line);border-radius:var(--r-pill);font-size:14px;color:var(--space-700);background:#fff;text-decoration:none;transition:background .15s,border-color .15s,color .15s;}
.subsection-pill:hover{border-color:var(--anzac-500);background:var(--paper,#F7F8F8);}
.subsection-pill.is-active{background:var(--space-900);border-color:var(--space-900);color:#fff;}
.subsection-pill.is-active:hover{background:var(--space-900);color:#fff;}
