/* ============================================================
   ДИЗАЙН-СИСТЕМА
   ============================================================ */
:root{
  --green:#0F7A4A;          /* основной — чистый emerald */
  --green-d:#063D26;         /* топбар, футер, hover */
  --green-2:#0A6239;         /* CTA hover */
  --mint:#E5F1EA;            /* подложка чипов, бейджи */
  --mint-s:#F6F7F6;           /* фон секций — нейтральный серый */
  --orange:#C2542A;          /* акции, бренд-баннер — более «minerals» */
  --orange-d:#9A3F1A;         /* для градиентов */
  --orange-l:#FBEEE4;
  --sale:#C5392B;
  --ink:#0B130F;
  --ink-2:#1B2220;
  --muted:#6B7570;
  --muted-2:#A0A6A1;
  --border:#EAEDEA;
  --border-d:#D8DCD8;
  --bg:#FFFFFF;
  --yellow:#F0B429;           /* для звёзд */

  --r-card:6px;
  --r-btn:6px;
  --r-pill:6px;

  --maxw:1320px;
  --pad:28px;

  --sans:"Onest","Helvetica Neue",Helvetica,Arial,sans-serif;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--sans);
  font-size:15px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
a{color:inherit;text-decoration:none}
button{font-family:inherit;border:0;cursor:pointer;background:none;color:inherit;padding:0}
img,svg{display:block;max-width:100%}
h1,h2,h3,h4{margin:0;letter-spacing:-0.02em;font-weight:700;color:var(--ink)}
h1{font-size:48px;line-height:1.05}
h2{font-size:32px;line-height:1.15}
h3{font-size:20px;line-height:1.25}
.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}

/* ===== buttons ===== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  height:48px;padding:0 24px;border-radius:var(--r-btn);
  font-family:var(--sans);font-weight:600;font-size:15px;
  transition:background .15s ease, color .15s ease, border-color .15s ease, transform .15s ease;
  white-space:nowrap;letter-spacing:-0.01em;
}
.btn-primary{background:var(--green);color:#fff}
.btn-primary:hover{background:var(--green-2)}
.btn-ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--border-d)}
.btn-ghost:hover{box-shadow:inset 0 0 0 1.5px var(--ink);background:#fff}
.btn-lg{height:54px;padding:0 28px;font-size:16px}
.btn-white{background:#fff;color:var(--green-d)}
.btn-white:hover{background:var(--mint)}

/* ===== chip / badge ===== */
.chip{
  display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;
  border-radius:4px;font-size:11px;font-weight:600;letter-spacing:0.02em;
}
.chip-hit{background:var(--orange);color:#fff}
.chip-sale{background:var(--sale);color:#fff}
.chip-new{background:var(--green);color:#fff}
.chip-soft{background:var(--mint);color:var(--green-d)}

/* ===== link ===== */
.alllink{
  display:inline-flex;align-items:center;gap:6px;
  font-weight:600;font-size:14px;color:var(--green-d);
}
.alllink:hover{color:var(--green)}
.alllink svg{transition:transform .15s ease}
.alllink:hover svg{transform:translateX(3px)}

/* ============================================================
   1. ТОПБАР
   ============================================================ */
.topbar{
  background:var(--green-d);color:#fff;height:38px;font-size:13px;
}
.topbar .wrap{display:flex;align-items:center;height:100%;gap:20px}
.topbar a:hover{opacity:.85}
.tb-loc{display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.tb-loc .city{border-bottom:1px dashed rgba(255,255,255,.4)}
.tb-center{flex:1;text-align:center;color:rgba(255,255,255,.85)}
.tb-center .sep{margin:0 12px;color:rgba(255,255,255,.35)}
.tb-right{display:flex;align-items:center;gap:18px}
.tb-tg{
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(255,255,255,.12);
  padding:4px 10px;border-radius:var(--r-pill);
  font-size:12px;font-weight:500;
}
.tb-tg:hover{background:rgba(255,255,255,.2)}
.tb-tg svg{width:13px;height:13px}

/* ============================================================
   2. ХЕДЕР
   ============================================================ */
.header{
  background:#fff;border-bottom:1px solid var(--border);
  position:sticky;top:0;z-index:50;
}
.head{
  display:flex;align-items:center;gap:24px;height:88px;
}
.logo{display:flex;align-items:center;gap:10px;flex-shrink:0;min-width:200px}
.logo-mark{
  width:60px;height:60px;border-radius:6px;
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:18px;letter-spacing:-0.02em;
  padding: 5px;
}
.logo-text{display:flex;flex-direction:column;line-height:1.1}
.logo-text .n1{font-weight:700;font-size:17px;letter-spacing:-0.02em;color:var(--ink)}
.logo-text .n1 b{color:var(--green-d)}
.logo-text .n2{font-size:11px;color:var(--muted);margin-top:2px}

/* catalog button */
.cat-btn{
  display:inline-flex;align-items:center;gap:10px;
  height:48px;padding:0 20px;background:var(--green);color:#fff;
  border-radius:var(--r-btn);font-weight:600;font-size:15px;
  transition:background .15s ease;flex-shrink:0;
}
.cat-btn:hover{background:var(--green-2)}
.cat-btn svg{width:18px;height:18px}

.search{
  position:relative;flex:1;
  height:48px;background:var(--mint-s);border:1px solid transparent;
  border-radius:var(--r-btn);
  display:flex;align-items:center;
  transition:border-color .15s ease, background .15s ease;
}
.search:focus-within{border-color:var(--green);background:#fff}
.search input{
  flex:1;border:0;background:transparent;outline:0;
  font-family:var(--sans);font-size:15px;color:var(--ink);
  height:100%;padding:0 14px 0 18px;
}
.search input::placeholder{color:var(--muted)}
.search .sbtn{
  width:48px;height:48px;display:flex;align-items:center;justify-content:center;
  color:var(--green-d);
}
.search .sbtn:hover{color:var(--green)}

/* phone */
.h-phone{display:flex;flex-direction:column;line-height:1.15;flex-shrink:0}
.h-phone .num{font-weight:700;font-size:17px;color:var(--ink);letter-spacing:-0.01em}
.h-phone .hrs{font-size:12px;color:var(--muted);margin-top:2px}
.h-phone .hrs b{color:var(--green);font-weight:500}

/* icons block */
.h-icons{display:flex;gap:4px;flex-shrink:0}
.h-icon{
  position:relative;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  width:58px;height:58px;border-radius:6px;
  color:var(--ink-2);font-size:11px;font-weight:500;
  transition:background .15s ease, color .15s ease;
}
.h-icon:hover{background:var(--mint-s);color:var(--green-d)}
.h-icon svg{width:22px;height:22px;margin-bottom:3px;stroke-width:1.6}
.h-icon .badge{
  position:absolute;top:8px;right:8px;
  min-width:18px;height:18px;border-radius:9px;
  background:var(--orange);color:#fff;font-size:10px;font-weight:700;
  display:flex;align-items:center;justify-content:center;padding:0 5px;
}

/* ============================================================
   3. МЕНЮ КАТЕГОРИЙ
   ============================================================ */
.catnav{background:#fff;border-bottom:1px solid var(--border)}
.catnav .wrap{display:flex;align-items:center;height:52px;gap:4px;overflow-x:auto;scrollbar-width:none}
.catnav .wrap::-webkit-scrollbar{display:none}
.catnav a{
  display:inline-flex;align-items:center;height:32px;padding:0 14px;
  border-radius:var(--r-pill);
  font-size:14px;font-weight:500;color:var(--ink-2);
  white-space:nowrap;
  transition:background .15s ease, color .15s ease;
}
.catnav a:hover{background:var(--mint-s);color:var(--green-d)}
.catnav a.active{background:var(--mint);color:var(--green-d)}
.catnav a.promo{color:var(--orange);font-weight:600}
.catnav a.promo:hover{background:var(--orange-l);color:var(--orange)}

/* ============================================================
   4. HERO CAROUSEL
   ============================================================ */
.hero-carousel{
  position:relative;
  width:100%;
  height:820px;
  overflow:hidden;
  background:var(--green-d);
}
.hc-track{position:relative;width:100%;height:100%}
.hc-slide{
  position:absolute;inset:0;
  background-size:cover;background-position:center;background-repeat:no-repeat;
  background-color:var(--green-d);
  opacity:0;visibility:hidden;
  transition:opacity .6s ease;
  pointer-events:none;
}
.hc-slide[data-active="1"]{opacity:1;visibility:visible;pointer-events:auto}

.hc-overlay{
  position:absolute;inset:0;
  background:linear-gradient(90deg, rgba(4,40,24,.92) 0%, rgba(4,40,24,.55) 45%, rgba(4,40,24,0) 62%);
}

.hc-content{
  position:relative;z-index:2;
  height:100%;
  display:flex;flex-direction:column;justify-content:center;
}
.hc-content > *{max-width:540px}

.hc-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  padding:6px 14px;border-radius:var(--r-pill);
  font-size:12px;color:#fff;font-weight:500;
  align-self:flex-start;
  margin-bottom:20px;
}
.hc-eyebrow-dot{width:6px;height:6px;border-radius:50%;background:#9FE6BC}

.hc-title{
  font-size:48px;line-height:1.05;letter-spacing:-0.03em;
  color:#fff;font-weight:700;margin:0 0 18px;
}
.hc-text{font-size:16px;line-height:1.55;color:rgba(255,255,255,.82);margin:0 0 28px}
.hc-text p{margin:0 0 10px}
.hc-text p:last-child{margin-bottom:0}

.hc-ctas{display:flex;gap:12px;flex-wrap:wrap}
.hc-btn{
  display:inline-flex;align-items:center;gap:10px;
  height:50px;padding:0 26px;
  border-radius:var(--r-btn);
  font-weight:600;font-size:15px;
  transition:transform .15s ease, background .15s ease;
  white-space:nowrap;
}
.hc-btn svg{width:16px;height:16px}
.hc-btn-primary{background:#fff;color:var(--green-d)}
.hc-btn-primary:hover{background:#F4F8F5}
.hc-btn-secondary{
  background:transparent;color:#fff;
  border:1.5px solid rgba(255,255,255,.4);
  font-weight:500;
}
.hc-btn-secondary:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.6)}

/* === Тема: Sale (бежевый, оранжевый CTA) === */
.hc-slide.hc-theme-sale{background-color:#F4EADB}
.hc-theme-sale .hc-overlay{
  background:linear-gradient(90deg, rgba(244,234,219,.95) 0%, rgba(244,234,219,.78) 50%, rgba(244,234,219,.15) 100%);
}
.hc-theme-sale .hc-title{color:var(--ink)}
.hc-theme-sale .hc-text{color:#5c504a}
.hc-theme-sale .hc-eyebrow{
  background:rgba(194,84,42,.12);
  border-color:rgba(194,84,42,.25);
  color:var(--orange-d);
}
.hc-theme-sale .hc-eyebrow-dot{background:var(--orange)}
.hc-theme-sale .hc-btn-primary{background:var(--orange);color:#fff}
.hc-theme-sale .hc-btn-primary:hover{background:var(--orange-d)}
.hc-theme-sale .hc-btn-secondary{color:var(--ink);border-color:rgba(11,19,15,.3)}
.hc-theme-sale .hc-btn-secondary:hover{background:rgba(11,19,15,.05);border-color:rgba(11,19,15,.5)}

/* === Тема: Subscription (мятный, зелёный CTA) === */
.hc-slide.hc-theme-subscription{background-color:var(--mint)}
.hc-theme-subscription .hc-overlay{
  background:linear-gradient(90deg, rgba(229,241,234,.95) 0%, rgba(229,241,234,.78) 50%, rgba(229,241,234,.15) 100%);
}
.hc-theme-subscription .hc-title{color:var(--green-d)}
.hc-theme-subscription .hc-text{color:#3d524a}
.hc-theme-subscription .hc-eyebrow{
  background:rgba(15,122,74,.12);
  border-color:rgba(15,122,74,.25);
  color:var(--green-d);
}
.hc-theme-subscription .hc-eyebrow-dot{background:var(--green)}
.hc-theme-subscription .hc-btn-primary{background:var(--green-d);color:#fff}
.hc-theme-subscription .hc-btn-primary:hover{background:var(--green-2)}
.hc-theme-subscription .hc-btn-secondary{color:var(--green-d);border-color:rgba(6,61,38,.3)}
.hc-theme-subscription .hc-btn-secondary:hover{background:rgba(6,61,38,.05);border-color:rgba(6,61,38,.55)}

/* === Стрелочки навигации === */
.hc-arr{
  position:absolute;top:50%;transform:translateY(-50%);
  width:44px;height:44px;border-radius:50%;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.22);
  display:flex;align-items:center;justify-content:center;
  color:#fff;cursor:pointer;z-index:5;
  transition:background .15s ease, transform .15s ease;
}
.hc-arr:hover{background:rgba(255,255,255,.3);transform:translateY(-50%) scale(1.06)}
.hc-arr svg{width:18px;height:18px}
.hc-arr-prev{left:24px}
.hc-arr-next{right:24px}

/* Стрелочки на светлых темах — тёмные */
.hero-carousel[data-current-theme="sale"] .hc-arr,
.hero-carousel[data-current-theme="subscription"] .hc-arr{
  background:rgba(11,19,15,.1);
  border-color:rgba(11,19,15,.2);
  color:var(--ink);
}
.hero-carousel[data-current-theme="sale"] .hc-arr:hover,
.hero-carousel[data-current-theme="subscription"] .hc-arr:hover{
  background:rgba(11,19,15,.18);
}

/* === Точки пагинации === */
.hc-dots{
  position:absolute;bottom:26px;left:50%;transform:translateX(-50%);
  display:flex;gap:8px;align-items:center;z-index:5;
}
.hc-dot{
  width:18px;height:4px;border-radius:2px;
  background:rgba(255,255,255,.4);
  border:0;cursor:pointer;padding:0;
  transition:background .2s ease, width .2s ease;
}
.hc-dot.is-active{width:30px;background:rgba(255,255,255,.95)}

.hero-carousel[data-current-theme="sale"] .hc-dot,
.hero-carousel[data-current-theme="subscription"] .hc-dot{
  background:rgba(11,19,15,.25);
}
.hero-carousel[data-current-theme="sale"] .hc-dot.is-active,
.hero-carousel[data-current-theme="subscription"] .hc-dot.is-active{
  background:rgba(11,19,15,.85);
}

/* === Trust-полоса под hero === */
.hero-trust-strip{
  background:#fff;
  border-bottom:1px solid var(--border);
  padding:22px 0;
}
.ht-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.ht-item{
  display:flex;align-items:center;gap:14px;
  padding:0 24px;
  border-right:1px solid var(--border);
}
.ht-item:last-child{border-right:0}
.ht-item:first-child{padding-left:0}
.ht-item svg{width:30px;height:30px;flex-shrink:0;color:var(--green)}
.ht-t{font-size:17px;font-weight:700;color:var(--ink);line-height:1.25}
.ht-s{font-size:13.5px;color:var(--muted);margin-top:3px}

/* === Адаптив hero === */
@media (max-width:1024px){
  .hero-carousel{height:580px}
  .hc-title{font-size:38px}
}
@media (max-width:768px){
  .hero-carousel{height:480px}
  .hc-content{justify-content:flex-end;padding-bottom:64px}
  .hc-dots{bottom:18px}
  .hc-overlay{background:linear-gradient(180deg, rgba(4,40,24,.35) 0%, rgba(4,40,24,.7) 55%, rgba(4,40,24,.92) 100%)!important}
  .hc-theme-sale .hc-overlay{background:linear-gradient(180deg, rgba(244,234,219,.3) 0%, rgba(244,234,219,.75) 55%, rgba(244,234,219,.95) 100%)!important}
  .hc-theme-subscription .hc-overlay{background:linear-gradient(180deg, rgba(229,241,234,.3) 0%, rgba(229,241,234,.75) 55%, rgba(229,241,234,.95) 100%)!important}
  .hc-content > *{max-width:none}
  .hc-title{font-size:28px}
  .hc-text{font-size:14px}
  .hc-btn{height:44px;padding:0 18px;font-size:13px}
  .hc-arr{top:auto;bottom:14px;transform:none;width:34px;height:34px}
  .hc-arr:hover{transform:none}
  .hc-arr-prev{left:14px;right:auto}
  .hc-arr-next{right:14px;left:auto}
  .hc-dots{bottom:23px}
  .ht-grid{grid-template-columns:repeat(2,1fr);gap:14px 0}
  .ht-item{padding:0 12px;border-right:0}
  .ht-item:nth-child(3),.ht-item:nth-child(4){padding-top:14px;border-top:1px solid var(--border)}
}

/* ============================================================
   5. UTP
   ============================================================ */
.section{padding:64px 0}
.section-sm{padding:40px 0}
.utp{padding:48px 0}
.utp .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.utp .col{
  display:flex;align-items:flex-start;gap:14px;
  padding:8px 24px;border-right:1px solid var(--border);
}
.utp .col:last-child{border-right:0}
.utp .col:first-child{padding-left:0}
.utp .col:last-child{padding-right:0}
.utp .ic{
  width:44px;height:44px;border-radius:6px;flex-shrink:0;
  background:var(--mint);color:var(--green-d);
  display:flex;align-items:center;justify-content:center;
}
.utp .ic svg{width:22px;height:22px;stroke-width:1.6}
.utp .t{font-size:15px;font-weight:600;color:var(--ink);line-height:1.3}
.utp .s{font-size:13px;color:var(--muted);margin-top:4px;line-height:1.45}

/* ============================================================
   section heads
   ============================================================ */
.shead{
  display:flex;align-items:flex-end;justify-content:space-between;gap:24px;
  margin-bottom:32px;
}
.shead h2{font-size:34px;letter-spacing:-0.03em}
.shead p{color:var(--muted);font-size:15px;margin:8px 0 0;max-width:520px}
.shead-right{display:flex;align-items:center;gap:18px;flex-shrink:0}

/* tabs */
.tabs{display:flex;gap:6px}
.tab{
  height:36px;padding:0 16px;border-radius:var(--r-pill);
  background:var(--mint-s);font-weight:500;font-size:14px;color:var(--ink-2);
  transition:background .15s ease, color .15s ease;
}
.tab:hover{background:var(--mint);color:var(--green-d)}
.tab.active{background:var(--green-d);color:#fff}

/* ============================================================
   6. КАТЕГОРИИ
   ============================================================ */
.cats{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.cat{
  position:relative;background:var(--mint-s);border-radius:var(--r-card);
  padding:20px 18px 22px;display:flex;flex-direction:column;
  aspect-ratio:1/1.08;overflow:hidden;
  transition:background .2s ease, transform .2s ease;
}
.cat:hover{background:var(--mint);transform:translateY(-2px)}
.cat-name{font-weight:600;font-size:15px;line-height:1.25;color:var(--ink);letter-spacing:-0.01em}
.cat-cnt{font-size:12px;color:var(--muted);margin-top:4px}
.cat-ph{
  position:absolute;right:-10px;bottom:-10px;width:96px;height:96px;
  background:rgba(255,255,255,.7);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
}
.cat-ph svg{width:46px;height:46px;color:var(--green);stroke-width:1.4}

/* ============================================================
   7/9. PRODUCT CARDS
   ============================================================ */
.products{grid-template-columns:repeat(4,1fr);gap:20px}
.card{
  background:#fff;border:1px solid var(--border);
  border-radius:var(--r-card);overflow:hidden;
  display:flex;flex-direction:column;position:relative;
  transition:border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.card:hover{border-color:var(--border-d);transform:translateY(-2px);box-shadow:0 4px 16px rgba(15,26,20,0.06)}
.card-photo{
  position:relative;aspect-ratio:1/1;background:#FAFBFA;
  display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.card-ph-inner{
  text-align:center;color:var(--muted-2);font-size:11px;
  padding:0 12px;line-height:1.5;
}
/* Когда .card-ph-inner — ссылка с фоновой картинкой товара */
a.card-ph-inner{
  position:absolute;
  inset:12px;                  /* отступ 12px со всех сторон, чтобы не лезть под плашки */
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  text-indent:0;
  font-size:0;
  z-index:0;                   /* фон — на нулевой слой */
}
.card-photo .card-flags,
.card-photo .card-heart{
  z-index:2;                   /* плашки и сердечко — поверх картинки */
}
.card-ph-inner svg{width:42px;height:42px;color:var(--border-d);margin:0 auto 8px;stroke-width:1.2}
.card-flags{position:absolute;top:12px;left:12px;display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.card-heart{
  position:absolute;top:12px;right:12px;
  width:34px;height:34px;border-radius:50%;background:#fff;
  display:flex;align-items:center;justify-content:center;
  color:var(--muted);transition:color .15s ease, background .15s ease;
  border:1px solid var(--border);
}
.card-heart:hover{color:var(--green);background:var(--mint)}
.card-heart svg{width:18px;height:18px;stroke-width:1.5}
.card-body{padding:16px 16px 18px;display:flex;flex-direction:column;flex:1}
.card-brand{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:8px}
.card-name{
  font-size:14px;font-weight:500;line-height:1.35;color:var(--ink);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  min-height:38px;margin-bottom:8px;
}
.card-rating{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);margin-bottom:10px}
.card-rating .stars{display:flex;gap:1px;color:var(--yellow)}
.card-rating .stars svg{width:13px;height:13px}
.card-rating .reviews{color:var(--muted-2)}
.card-spec{
  font-size:12px;color:var(--muted);background:var(--mint-s);
  padding:6px 10px;border-radius:6px;margin-bottom:12px;
  display:flex;align-items:center;gap:6px;
  line-height:1.3;
}
.card-spec svg{width:13px;height:13px;color:var(--green);flex-shrink:0;stroke-width:1.8}
.card-price{display:flex;align-items:baseline;gap:8px;margin-top:auto;margin-bottom:12px}
.card-price .now{font-size:20px;font-weight:700;color:var(--ink);letter-spacing:-0.02em}
.card-price .now.sale{color:var(--sale)}
.card-price .old{font-size:13px;color:var(--muted-2);text-decoration:line-through}
.card-bottom{display:flex;gap:8px}
.card-btn{
  flex:1;height:42px;background:var(--green);color:#fff;
  border-radius:var(--r-btn);font-weight:600;font-size:14px;
  display:flex;align-items:center;justify-content:center;gap:8px;
  transition:background .15s ease;
}
.card-btn:hover{background:var(--green-2)}
.card-btn svg{width:16px;height:16px;stroke-width:2}
.card-fav-mob{display:none}

/* slider arrows */
.arrows{display:flex;gap:6px}
.arr-btn{
  width:40px;height:40px;border-radius:50%;border:1px solid var(--border-d);
  background:#fff;color:var(--ink);
  display:flex;align-items:center;justify-content:center;
  transition:background .15s ease, color .15s ease, border-color .15s ease;
}
.arr-btn:hover{background:var(--green);color:#fff;border-color:var(--green)}
.arr-btn svg{width:18px;height:18px;stroke-width:1.8}

/* ============================================================
   8. ПОДБОР ПО ЦЕЛИ
   ============================================================ */
.goals-wrap{background:var(--mint-s);border-radius:12px;padding:48px 40px}
.goals{display:grid;grid-template-columns:repeat(8,1fr);gap:14px;margin-top:28px}
.goal{
  background:#fff;border-radius:8px;padding:20px 14px;
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;
  transition:transform .2s ease, box-shadow .2s ease;
}
.goal:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(15,26,20,0.06)}
.goal .ic{
  width:48px;height:48px;border-radius:50%;background:var(--mint);
  color:var(--green-d);display:flex;align-items:center;justify-content:center;
}
.goal .ic svg{width:24px;height:24px;stroke-width:1.5}
.goal .n{font-size:13px;font-weight:600;color:var(--ink);line-height:1.25}
.goal .c{font-size:11px;color:var(--muted)}

/* ============================================================
   10. BRANDS
   ============================================================ */
.brands{display:grid;grid-template-columns:repeat(8,1fr);gap:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.brand{
  height:96px;display:flex;align-items:center;justify-content:center;
  border-right:1px solid var(--border);
  color:var(--muted);font-weight:700;font-size:15px;letter-spacing:-0.02em;
  transition:color .15s ease, background .15s ease;
  text-align:center;padding:0 12px;
}
.brand:last-child{border-right:0}
.brand:hover{color:var(--green-d);background:var(--mint-s)}

/* ============================================================
   11. ARTICLES
   ============================================================ */
.articles{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.article{
  display:flex;flex-direction:column;background:#fff;
  border-radius:var(--r-card);overflow:hidden;
  border:1px solid var(--border);
  transition:border-color .15s ease, transform .15s ease;
}
.article:hover{border-color:var(--border-d);transform:translateY(-2px)}
.article-ph{
  aspect-ratio:16/10;background:var(--mint-s);
  display:flex;align-items:center;justify-content:center;color:var(--muted-2);
  font-size:12px;
}
.article-body{padding:20px 22px 22px}
.article-cat{
  display:inline-flex;align-items:center;height:24px;padding:0 10px;
  background:var(--mint);color:var(--green-d);border-radius:var(--r-pill);
  font-size:11px;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;
  margin-bottom:12px;
}
.article h3{font-size:19px;font-weight:600;line-height:1.3;letter-spacing:-0.02em;margin-bottom:12px;color:var(--ink)}
.article-meta{font-size:13px;color:var(--muted);display:flex;align-items:center;gap:8px}
.article-meta .dot{width:3px;height:3px;border-radius:50%;background:var(--muted-2)}

/* ============================================================
   10. BRAND CONTRAST BANNER
   ============================================================ */
.bbanner{
  display:grid;grid-template-columns:1.1fr 1fr;gap:0;
  background:linear-gradient(120deg, #9A3F1A 0%, #C2542A 100%);
  border-radius:12px;color:#fff;
  position:relative;overflow:hidden;
  min-height:300px;margin-bottom:48px;
  transition:transform .2s ease;
}
.bbanner:hover{transform:translateY(-2px)}
.bbanner-l{
  padding:48px 56px;display:flex;flex-direction:column;justify-content:center;
  position:relative;z-index:2;
}
.bbanner-tag{
  display:inline-flex;align-items:center;gap:10px;
  font-size:12px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;
  margin-bottom:18px;color:rgba(255,255,255,.85);
}
.bbanner-tag::before{
  content:"";width:28px;height:1.5px;background:#fff;
}
.bbanner h2{color:#fff;font-size:36px;letter-spacing:-0.03em;margin-bottom:14px;line-height:1.08;max-width:480px}
.bbanner h2 em{font-style:normal;color:#FFD9B8}
.bbanner p{color:rgba(255,255,255,.85);font-size:15px;line-height:1.6;max-width:440px;margin:0 0 28px}
.bbanner-cta{
  display:inline-flex;align-items:center;gap:10px;
  height:48px;padding:0 22px;background:#fff;color:#9A3F1A;
  border-radius:6px;font-weight:600;font-size:15px;
  align-self:flex-start;
  transition:background .15s ease, color .15s ease;
}
.bbanner-cta svg{width:16px;height:16px;transition:transform .15s ease}
.bbanner:hover .bbanner-cta{background:#FFEFE0}
.bbanner:hover .bbanner-cta svg{transform:translateX(4px)}

.bbanner-r{
  position:relative;
  display:flex;align-items:center;justify-content:flex-end;
  padding:48px 56px;overflow:hidden;
}
.bbanner-mark{
  position:absolute;left:-20px;bottom:-40px;
  font-family:var(--sans);
  font-size:160px;font-weight:700;letter-spacing:-0.04em;
  color:rgba(255,255,255,.08);line-height:1;
  user-select:none;pointer-events:none;
  white-space:nowrap;
}
.bbanner-ph{
  position:relative;z-index:1;
  width:240px;height:240px;background:#fff;
  border-radius:8px;color:var(--muted);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;font-size:12px;padding:18px;line-height:1.5;
}
.bbanner-ph svg{width:42px;height:42px;color:var(--border-d);margin-bottom:10px;stroke-width:1.4}
.bbanner-discount{
  position:absolute;top:32px;right:48px;z-index:2;
  background:#fff;color:#9A3F1A;
  font-size:22px;font-weight:700;letter-spacing:-0.01em;
  padding:8px 14px;border-radius:6px;line-height:1;
}

/* ============================================================
   10.5 ЭКСПЕРТ (нутрициолог / основатель)
   ============================================================ */
.expert{
  display:grid;grid-template-columns:1fr 1.2fr;gap:48px;align-items:stretch;
  background:var(--mint-s);border-radius:12px;padding:48px;
}
.expert-photo{
  position:relative;aspect-ratio:1/1.05;
  background:linear-gradient(155deg, #E6F2EA 0%, #D5E5DC 100%);
  border-radius:8px;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
}
.expert-photo .ph-mask{
  text-align:center;color:var(--green-d);font-size:13px;font-weight:500;
  line-height:1.6;opacity:.55;letter-spacing:0.02em;max-width:240px;padding:0 16px;
}
.expert-photo .ph-mask svg{width:36px;height:36px;margin:0 auto 12px;stroke-width:1.4}
.expert-badge{
  position:absolute;bottom:18px;left:18px;right:18px;
  background:#fff;border-radius:8px;padding:14px 16px;
  display:flex;align-items:center;gap:12px;
  border:1px solid var(--border);
}
.expert-badge .ic{
  width:36px;height:36px;border-radius:50%;flex-shrink:0;
  background:var(--mint);color:var(--green);
  display:flex;align-items:center;justify-content:center;
}
.expert-badge .ic svg{width:18px;height:18px;stroke-width:2}
.expert-badge-text{display:flex;flex-direction:column;line-height:1.3}
.expert-badge-text strong{font-size:13px;color:var(--ink);font-weight:600}
.expert-badge-text span{font-size:12px;color:var(--muted);margin-top:2px}

.expert-content{display:flex;flex-direction:column;justify-content:center;padding:8px 0}
.expert-content .lbl{
  display:inline-flex;align-items:center;gap:10px;
  font-size:12px;font-weight:600;color:var(--green-d);
  text-transform:uppercase;letter-spacing:0.08em;
  margin-bottom:16px;
}
.expert-content .lbl::before{
  content:"";width:28px;height:1.5px;background:var(--green);
}
.expert-content h2{font-size:38px;margin-bottom:14px;letter-spacing:-0.03em}
.expert-credentials{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:24px}
.expert-credentials .c{
  display:inline-flex;align-items:center;height:28px;padding:0 12px;
  background:#fff;color:var(--ink-2);border:1px solid var(--border);
  border-radius:var(--r-pill);font-size:13px;font-weight:500;
}
.expert-intro{
  font-size:17px;line-height:1.6;color:var(--ink-2);margin:0 0 28px;
  border-left:3px solid var(--green);padding:4px 0 4px 20px;
}
.expert-stats{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
  margin-bottom:28px;padding:22px 0;
  border-top:1px solid var(--border);border-bottom:1px solid var(--border);
}
.expert-stats div{display:flex;flex-direction:column}
.expert-stats strong{font-size:26px;color:var(--ink);letter-spacing:-0.02em;font-weight:700;line-height:1}
.expert-stats span{font-size:13px;color:var(--muted);margin-top:6px;line-height:1.4}
.expert-cta{display:flex;gap:10px;flex-wrap:wrap}

/* ============================================================
   12. NEWSLETTER
   ============================================================ */
.news{
  background:linear-gradient(135deg, #063D26 0%, #0F7A4A 100%);
  border-radius:12px;padding:56px 60px;color:#fff;
  display:flex;align-items:center;gap:48px;
  position:relative;overflow:hidden;
}
.news::before{
  content:"";position:absolute;right:-100px;top:-100px;width:340px;height:340px;
  background:radial-gradient(circle, rgba(255,255,255,.1) 0%, transparent 70%);
  border-radius:50%;
}
.news-l{flex:1;position:relative;z-index:1}
.news-l h2{color:#fff;font-size:32px;margin-bottom:12px;letter-spacing:-0.03em}
.news-l p{color:rgba(255,255,255,.85);font-size:15px;max-width:480px;margin:0}
.news-r{flex:0 0 420px;position:relative;z-index:1}
.news-form{display:flex;gap:8px;background:#fff;border-radius:var(--r-btn);padding:6px}
.news-form input{
  flex:1;height:48px;border:0;outline:0;background:transparent;
  font-family:var(--sans);font-size:15px;padding:0 14px;
}
.news-form button{
  height:48px;padding:0 22px;background:var(--green-d);color:#fff;
  border-radius:6px;font-weight:600;font-size:14px;
}
.news-form button:hover{background:var(--ink)}
.news-r .terms{font-size:12px;color:rgba(255,255,255,.65);margin-top:14px;line-height:1.5}
.news-r .terms a{text-decoration:underline}

/* ============================================================
   13. FOOTER
   ============================================================ */
.footer{background:#081E14;color:#A9B5AD;padding:64px 0 24px;margin-top:64px}
.footer .grid{
  display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr 1.2fr;gap:40px;
  padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.08);
}
.footer .col h4{color:#fff;font-size:14px;font-weight:600;margin-bottom:16px;text-transform:uppercase;letter-spacing:0.06em}
.footer .col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.footer .col a{font-size:14px;color:#A9B5AD}
.footer .col a:hover{color:#fff}
.footer .brand-block .logo-mark{background:#fff;color:var(--green-d)}
.footer .brand-block .logo-text .n1,
.footer .brand-block .logo-text .n1 b{color:#fff}
.footer .brand-block .logo-text .n2{color:#7C8B82}
.footer .brand-block .about{font-size:13px;color:#7C8B82;margin-top:16px;line-height:1.55}
.footer .brand-block .phone{margin-top:18px;color:#fff;font-size:20px;font-weight:700;letter-spacing:-0.01em;display:block}
.footer .brand-block .hrs{font-size:12px;color:#7C8B82;margin-top:4px}
.footer .brand-block .socials{margin-top:20px;display:flex;gap:8px}
.footer .brand-block .socials a{
  width:36px;height:36px;border-radius:50%;
  background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;
  color:#A9B5AD;transition:background .15s ease, color .15s ease;
}
.footer .brand-block .socials a:hover{background:var(--green);color:#fff}
.footer .brand-block .socials svg{width:16px;height:16px;stroke-width:1.6}

.footer-pay{
  padding:24px 0;display:flex;align-items:center;justify-content:space-between;gap:24px;
  flex-wrap:wrap;
}
.pay-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.pay-row .pay{
  height:28px;padding:0 10px;background:rgba(255,255,255,.06);border-radius:5px;
  display:flex;align-items:center;
  font-size:11px;font-weight:600;color:#fff;letter-spacing:0.04em;
}
.copy{font-size:12px;color:#6C7C72;line-height:1.6;text-align:right}
.disc{
  font-size:11px;color:#6C7C72;text-align:center;
  border-top:1px solid rgba(255,255,255,.06);padding-top:20px;margin-top:8px;
  line-height:1.6;
}

/* ============================================================
   адаптив
   ============================================================ */
@media (max-width:1180px){
  .head{gap:16px}
  .logo{min-width:auto}
  .logo-text .n2{display:none}
  .h-phone{display:none}
  .hero .grid{grid-template-columns:1fr;gap:20px}
  .hero-side{grid-template-rows:auto;grid-template-columns:1fr 1fr}
  .products{grid-template-columns:repeat(3,1fr)}
  .cats{grid-template-columns:repeat(3,1fr)}
  .goals{grid-template-columns:repeat(4,1fr)}
  .brands{grid-template-columns:repeat(4,1fr)}
  .brand{border-right:1px solid var(--border);border-bottom:1px solid var(--border)}
  .brand:nth-child(4n){border-right:0}
  .articles{grid-template-columns:1fr 1fr}
  .bbanner{grid-template-columns:1fr;min-height:auto}
  .bbanner-l{padding:40px 36px 24px}
  .bbanner-r{padding:0 36px 40px;justify-content:flex-start}
  .bbanner-mark{font-size:120px;bottom:-24px}
  .bbanner-ph{width:200px;height:200px}
  .expert{grid-template-columns:1fr;gap:32px;padding:36px}
  .expert-photo{max-width:420px;aspect-ratio:1/1}
  .expert-content h2{font-size:32px}
  .footer .grid{grid-template-columns:1fr 1fr 1fr}
  .footer .brand-block{grid-column:span 3}
  .utp .grid{grid-template-columns:repeat(2,1fr);gap:20px 0}
  .utp .col:nth-child(2){border-right:0}
  .utp .col:nth-child(3),.utp .col:nth-child(4){border-top:1px solid var(--border);padding-top:24px}
}
@media (max-width:768px){
  :root{--pad:20px}
  h1{font-size:32px}
  h2{font-size:24px}
  .tb-center{display:none}
  .head{gap:10px 12px;height:auto;min-height:64px;padding:10px 0;flex-wrap:wrap;align-items:center}
  .logo{min-width:auto;order:1;margin-right:auto}
  .logo-mark{width:44px;height:44px}
  .logo-text .n1{font-size:16px}
  .logo-text .n2{display:none}
  .cat-btn{order:2;width:48px;height:48px;padding:0;justify-content:center;flex-shrink:0}
  .cat-btn span{display:none}
  .h-phone{display:none}
  .h-icons{order:3;margin-left:0;flex-shrink:0}
  .h-icon{width:46px;height:46px;font-size:0}
  .h-icon svg{margin-bottom:0;width:24px;height:24px}
  .search{order:10;width:100%;flex:0 0 100%;height:46px;margin:0}
  .hero{padding-top:20px}
  .hero-main{padding:32px 24px;min-height:auto;border-radius:16px}
  .hero h1{font-size:32px}
  .hero-sub{font-size:15px}
  .hero-trust{grid-template-columns:1fr;gap:14px}
  .hero-side{grid-template-columns:1fr}
  .hero-card{padding:24px;min-height:180px;border-radius:16px}
  .products{grid-template-columns:repeat(2,1fr);gap:12px}
  .cats{grid-template-columns:repeat(2,1fr);gap:10px}
  .goals{grid-template-columns:repeat(2,1fr)}
  .goals-wrap{padding:32px 20px;border-radius:18px}
  .brands{grid-template-columns:repeat(2,1fr)}
  .brand{height:72px}
  .articles{grid-template-columns:1fr;gap:16px}
  .bbanner{margin-bottom:32px}
  .bbanner-l{padding:28px 22px 16px}
  .bbanner-r{padding:0 22px 28px}
  .bbanner h2{font-size:24px}
  .bbanner-mark{font-size:80px;bottom:-12px;left:-8px}
  .bbanner-ph{width:160px;height:160px;font-size:11px}
  .bbanner-discount{top:20px;right:22px;font-size:18px;padding:6px 12px}
  .expert{padding:24px;gap:20px;border-radius:12px}
  .expert-photo .ph-mask{font-size:12px}
  .expert-badge{left:12px;right:12px;bottom:12px;padding:10px 12px}
  .expert-badge .ic{width:30px;height:30px}
  .expert-content h2{font-size:26px}
  .expert-intro{font-size:15px;padding-left:16px}
  .expert-stats{grid-template-columns:1fr;gap:14px;padding:18px 0;margin-bottom:22px}
  .expert-stats strong{font-size:22px}
  .expert-cta{flex-direction:column;align-items:stretch}
  .expert-cta .btn{width:100%}
  .news{flex-direction:column;padding:36px 24px;gap:24px;border-radius:18px;align-items:stretch}
  .news-r{flex:1 0 auto}
  .news-l h2{font-size:24px}
  .section{padding:40px 0}
  .shead{flex-direction:column;align-items:flex-start;gap:14px}
  .shead-right{flex-wrap:wrap}
  .footer{padding:40px 0 20px}
  .footer .grid{grid-template-columns:1fr;gap:28px}
  .footer .brand-block{grid-column:span 1}
  .footer-pay{flex-direction:column;align-items:flex-start}
  .copy{text-align:left}
  .card-name{font-size:13px;min-height:34px}
  .card-price .now{font-size:17px}
  .card-body{padding:12px}
  .card-btn{font-size:13px;height:38px}
  .card-btn span{display:none}
  .utp .grid{grid-template-columns:1fr;gap:18px}
  .utp .col{padding:0;border:0!important}
}

/* Правая колонка футера: лого + слоган (стиль Organic Store) */
.footer .logo-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  justify-content: flex-start;
  gap: 18px;
}
.footer .logo-block .footer-logo-svg,
.footer .logo-block .footer-logo-img {
  max-width: 200px;
  height: auto;
  display: block;
}
.footer .logo-block .footer-tagline {
  color: #A9B5AD;
  font-size: 15px;
  font-style: italic;
  line-height: 1.45;
  margin: 0;
  letter-spacing: -0.005em;
}

/* ===== Карусель блока "Подбор по цели" ===== */
.goals.carousel{
  display:flex;
  gap:12px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-behavior:smooth;
  scroll-snap-type:x mandatory;
  -ms-overflow-style:none;
  scrollbar-width:none;
  padding:40px 4px 12px;
  margin:0 -4px;
  scroll-padding-left:4px;
}
.goals.carousel::-webkit-scrollbar{display:none;}
.goals.carousel .goal{
  flex:0 0 auto;
  width:172px;
  scroll-snap-align:start;
  margin:0;
}
 
/* На больших экранах слегка увеличиваем ярлычки */
@media (min-width:1100px){
  .goals.carousel .goal{ width:188px; }
}
/* На мобильных уменьшаем */
@media (max-width:680px){
  .goals.carousel .goal{ width:148px; }
}


/* ===== Карусель блока "Популярные категории" ===== */
.cats.carousel{
  display:flex;
  gap:16px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-behavior:smooth;
  scroll-snap-type:x mandatory;
  -ms-overflow-style:none;
  scrollbar-width:none;
  padding:4px 4px 12px;
  margin:0 -4px;
}
.cats.carousel::-webkit-scrollbar{display:none;}
.cats.carousel .cat{
  flex:0 0 auto;
  width:200px;
  scroll-snap-align:start;
  margin:0;
}
 
/* Лёгкая адаптация под экраны */
@media (min-width:1100px){
  .cats.carousel .cat{ width:216px; }
}
@media (max-width:680px){
  .cats.carousel .cat{ width:172px; }
}
 
/* shead-right теперь содержит ссылку «Весь каталог» + стрелочки — выстраиваем в линию */
.shead .shead-right{
  display:flex;
  align-items:center;
}

/* ===== Карусель блока Хитов (и Новинок при желании) ===== */
.products.carousel{
  display:flex;
  grid-template-columns:none; /* отменяем grid из родительского .products */
  gap:20px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-behavior:smooth;
  scroll-snap-type:x mandatory;
  -ms-overflow-style:none;
  scrollbar-width:none;
  padding:4px 4px 12px;
  margin:0 -4px;
}
.products.carousel::-webkit-scrollbar{display:none;}
.products.carousel .card{
  flex:0 0 auto;
  width:300px;
  scroll-snap-align:start;
}
 
/* Адаптив */
@media (max-width:1200px){
  .products.carousel .card{ width:280px; }
}
@media (max-width:680px){
  .products.carousel .card{ width:240px; gap:12px; }
}

/* ===== Меню категорий: горизонтальный скролл при переполнении ===== */
.catnav .wrap{
  display:flex;
  align-items:center;
  flex-wrap:nowrap;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-behavior:smooth;
  -ms-overflow-style:none;
  scrollbar-width:none;
  /* подсказка-фейд справа, что есть ещё контент */
  -webkit-mask-image:linear-gradient(to right, #000 calc(100% - 40px), transparent);
          mask-image:linear-gradient(to right, #000 calc(100% - 40px), transparent);
}
.catnav .wrap::-webkit-scrollbar{ display:none; }
.catnav a{
  flex:0 0 auto;
  white-space:nowrap;
}

/* ===== Стрелочки прокрутки меню категорий ===== */
 
/* Сама .catnav становится позиционирующим контекстом */
.catnav{ position:relative; }
 
/* Слегка отрезаем подсказку-фейд справа, чтобы дать место под стрелочку
   (вместо предыдущей маски, которая закрывала контент целиком) */
.catnav .wrap{
  -webkit-mask-image:none;
          mask-image:none;
  padding-right:60px; /* зарезервировали место под правую стрелочку */
}
 
/* Стрелочки */
.catnav-arr{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:36px;
  height:36px;
  border-radius:50%;
  border:1px solid var(--border, #e6ebe8);
  background:#fff;
  color:var(--ink, #111);
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:5;
  box-shadow:0 4px 12px rgba(11,19,15,.08);
  transition:background .15s ease, transform .15s ease;
}
.catnav-arr:hover{
  background:var(--green, #0F7A4A);
  color:#fff;
  border-color:var(--green, #0F7A4A);
}
.catnav-arr svg{ width:18px; height:18px; }
.catnav-arr-left{  left:8px;  }
.catnav-arr-right{ right:8px; }
 
/* Маленький fade-эффект по краям, который намекает что есть ещё контент */
.catnav::before,
.catnav::after{
  content:"";
  position:absolute;
  top:0; bottom:0;
  width:30px;
  pointer-events:none;
  z-index:4;
}
.catnav::before{
  left:0;
  background:linear-gradient(to right, var(--bg, #fff), transparent);
}
.catnav::after{
  right:0;
  background:linear-gradient(to left, var(--bg, #fff), transparent);
}
 
@media (max-width:680px){
  .catnav-arr{ display:none !important; }  /* на мобиле — только свайп */
  .catnav .wrap{ padding-right:16px; }
  .catnav::before, .catnav::after{ display:none; }
}

/* Стрелочки прижимаем к содержимому .wrap, а не к краю .catnav */
.catnav-arr-left{
  left:auto;
  right:auto;
}
.catnav-arr-right,
.catnav-arr-left{
  position:absolute;
  /* Прижимаем к ширине .wrap (контейнер 1320px) */
  /* Если контейнер центрирован — стрелочки уйдут на края контейнера */
}

/* Перепозиционируем через flex-обёртку: ставим стрелочки вплотную к контенту */
.catnav{
  display:flex;
  align-items:center;
  justify-content:center;
}
.catnav .wrap{
  flex:1 1 auto;
  min-width:0;          /* критично для overflow внутри flex */
  max-width:1320px;     /* ваша ширина контейнера */
}
.catnav-arr{
  position:relative;
  top:auto;
  transform:none;
  flex:0 0 auto;
  margin:0 8px;
}
.catnav-arr-left{  order:0; }
.catnav-arr-right{ order:2; }
.catnav .wrap{    order:1; }

/* Прижимаем стрелочки к границам контейнера 1320px,
   а не к краю экрана */
.catnav-arr-right{
  right: max(8px, calc((100% - 1320px) / 2 + 8px));
}
.catnav-arr-left{
  left:  max(8px, calc((100% - 1320px) / 2 + 8px));
}


/* ===== Картинка в банере "Бренд месяца" (если загружена) ===== */
.bbanner .bbanner-img{
  position:absolute;
  right:24px;
  bottom:24px;
  max-width:100%;
  max-height:80%;
  object-fit:contain;
  border-radius:8px;
}
.bbanner .bbanner-r{ position:relative; }
 
/* ===== Картинка в блоке «О магазине» ===== */
.about-block .expert-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:12px;
}
/* ===== Карусель брендов ===== */
.brands.carousel{
  display:flex;
  gap:14px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-behavior:smooth;
  scroll-snap-type:x mandatory;
  -ms-overflow-style:none;
  scrollbar-width:none;
  padding:4px 4px 12px;
  margin:0 -4px;
}
.brands.carousel::-webkit-scrollbar{ display:none; }
 
.brands.carousel .brand{
  /* Чип бренда — компактная плашка по содержимому */
  flex:0 0 auto;
  width:auto;
  scroll-snap-align:start;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  height:52px;
  padding:0 24px;
  background:var(--mint-s, #f6f7f6);
  border:1px solid var(--border, #e6ebe8);
  border-radius:999px;
  font-family:var(--sans, 'Onest', sans-serif);
  font-weight:600;
  font-size:15px;
  letter-spacing:-0.01em;
  color:var(--ink, #111);
  text-decoration:none;
  transition:border-color .15s ease, transform .15s ease, box-shadow .15s ease, background .15s ease;
  white-space:nowrap;
}
.brands.carousel .brand:hover{
  border-color:var(--green, #0F7A4A);
  background:#fff;
  color:var(--green-d, #0a5a36);
  transform:translateY(-2px);
  box-shadow:0 6px 18px rgba(11,19,15,.08);
}
 
/* Адаптация под экраны */
@media (max-width:1100px){
  .brands.carousel .brand{ height:48px; font-size:14px; padding:0 20px; }
}
@media (max-width:680px){
  .brands.carousel .brand{ height:46px; font-size:13px; padding:0 18px; }
}

/* Кастомный логотип в шапке — если загружен PNG/SVG */
.header .logo-image{
  height:56px;
  width:auto;
  max-width:280px;
  object-fit:contain;
  display:block;
}
@media (max-width:680px){
  .header .logo-image{ height:44px; max-width:200px; }
}

/* Подпись рядом с кастомным логотипом в шапке */
.header .logo-caption-standalone{
  margin-left:12px;
  padding-left:14px;
  border-left:1px solid var(--border, #e6ebe8);
  font-size:13px;
  line-height:1.35;
  color:var(--muted, #5d6660);
  max-width:200px;
  display:inline-block;
  align-self:center;
}
@media (max-width:680px){
  .header .logo-caption-standalone{ display:none; }
}
.header .logo{
  display:flex;
  align-items:center;
  gap:0;
}

/* ============================================================
   PROMO-БЛОКИ (Solgar + Подписка под hero)
   ============================================================ */
.promos{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}
.promo{
  position:relative;
  border-radius:12px;
  padding:32px 36px;
  min-height:240px;
  display:flex;
  align-items:stretch;
  gap:20px;
  overflow:hidden;
}
.promo-content{
  position:relative;z-index:2;
  display:flex;flex-direction:column;justify-content:space-between;
  flex:1;
}
.promo-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:11px;font-weight:600;letter-spacing:0.08em;
  text-transform:uppercase;
  margin-bottom:14px;
}
.promo-eyebrow::before{
  content:"";width:24px;height:1.5px;display:inline-block;
}
.promo-title{
  font-size:22px;line-height:1.25;letter-spacing:-0.02em;
  font-weight:700;margin:0;max-width:300px;
}
.promo-cta{
  display:inline-flex;align-items:center;gap:8px;
  font-size:14px;font-weight:600;
  align-self:flex-start;
  margin-top:24px;
}
.promo-cta svg{width:16px;height:16px;transition:transform .15s ease}
.promo-cta:hover svg{transform:translateX(3px)}

.promo-visual{
  position:relative;
  width:160px;flex-shrink:0;
}
.promo-circle{
  position:absolute;right:-40px;bottom:-40px;
  width:180px;height:180px;border-radius:50%;
  background:rgba(255,255,255,.55);
  z-index:1;
}
.promo-photo{
  position:absolute;right:16px;bottom:16px;
  width:120px;height:120px;
  border-radius:10px;
  background:rgba(255,255,255,.9);
  display:flex;align-items:center;justify-content:center;
  text-align:center;font-size:11px;line-height:1.4;
  color:var(--muted);
  z-index:2;
  overflow:hidden;
  padding:8px;
}
.promo-photo img{
  width:100%;height:100%;object-fit:cover;
  border-radius:10px;
}

/* === Тема: Акция (бежевый + оранжевый) === */
.promo-sale{background:#F4EADB}
.promo-sale .promo-eyebrow{color:var(--orange-d)}
.promo-sale .promo-eyebrow::before{background:var(--orange)}
.promo-sale .promo-title{color:var(--ink)}
.promo-sale .promo-cta{color:var(--orange-d)}
.promo-sale .promo-cta:hover{color:var(--orange)}

/* === Тема: Подписка (мятный + тёмно-зелёный) === */
.promo-subscription{background:var(--mint)}
.promo-subscription .promo-eyebrow{color:var(--green-d)}
.promo-subscription .promo-eyebrow::before{background:var(--green)}
.promo-subscription .promo-title{color:var(--green-d)}
.promo-subscription .promo-cta{color:var(--green-d)}
.promo-subscription .promo-cta:hover{color:var(--green)}

/* === Адаптив === */
@media (max-width:768px){
  .promos{grid-template-columns:1fr;gap:14px}
  .promo{padding:26px 28px;min-height:200px;gap:16px}
  .promo-title{font-size:19px;max-width:220px}
  .promo-visual{width:120px}
  .promo-circle{width:140px;height:140px;right:-30px;bottom:-30px}
  .promo-photo{width:96px;height:96px}
}

/* Подпись категории (что внутри) — вместо «X товаров» */
.cat-desc{
  font-size:12px;
  color:var(--muted);
  line-height:1.4;
  letter-spacing:-0.005em;
  margin-top:4px;
}

/* Карточки категорий — круг с иконкой в углу + текст по центру */
.cats.carousel .cat{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  width:200px;
  height:180px;
  padding:24px 16px;
  background:var(--mint-s);
  border-radius:var(--r-card);
  overflow:hidden;
  text-decoration:none;
  transition:background .15s ease, transform .15s ease, box-shadow .15s ease;
}
.cats.carousel .cat:hover{
  background:#fff;
  transform:translateY(-2px);
  box-shadow:0 4px 14px rgba(11,19,15,.06);
}

/* Декоративный круг в верхнем-левом углу (полупрозрачный, как в промо-блоках) */
.cats.carousel .cat::before{
  content:"";
  position:absolute;
  top:-30px; left:-30px;
  width:120px; height:120px;
  border-radius:50%;
  background:rgba(254, 254, 254, 0.85);
  z-index:1;
  pointer-events:none;
}

/* Плашка с иконкой поверх круга */
.cats.carousel .cat .cat-ph{
  position:absolute;
  top:16px; left:16px;
  width:38px; height:38px;
  background:transparent !important;
  background-color:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--green);
  z-index:2;
  margin:0;
}
.cats.carousel .cat .cat-ph svg{
  width:32px; height:32px;
  stroke-width:2.6;
  color: #0F7A4A7D;
}

/* Текст по центру */
.cats.carousel .cat .cat-name{
  position:relative;
  z-index:2;
  display:block;
  font-size:15px;
  font-weight:700;
  color:var(--ink);
  line-height:1.3;
  letter-spacing:-0.01em;
  margin:0;
}
.cats.carousel .cat .cat-desc{
  position:relative;
  z-index:2;
  display:block;
  font-size:12px;
  color:var(--muted);
  margin:6px 0 0;
  line-height:1.45;
  letter-spacing:-0.005em;
}

/* Адаптив */
@media (min-width:1100px){
  .cats.carousel .cat{ width:216px; height:190px; }
}
@media (max-width:680px){
  .cats.carousel .cat{ width:172px; height:160px; padding:18px 12px; }
  .cats.carousel .cat::before{ width:90px; height:90px; top:-30px; left:-30px; }
  .cats.carousel .cat .cat-ph{ width:32px; height:32px; top:12px; left:12px; }
  .cats.carousel .cat .cat-ph svg{ width:18px; height:18px; }
}

/* Подписка на курс — плашки тарифов внутри news-блока */
.sub-tiers{
  display:flex;
  gap:8px;
  margin-bottom:16px;
}
.sub-tier{
  flex:1;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.18);
  border-radius:var(--r-btn);
  padding:12px 8px;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  color:#fff;
  line-height:1.2;
}
.sub-tier b{
  font-weight:500;
  font-size:13px;
  color:rgba(255,255,255,.8);
}
.sub-tier span{
  font-size:20px;
  font-weight:700;
  color:#9FE6BC;
  margin-top:4px;
  letter-spacing:-0.02em;
  font-variant-numeric:tabular-nums;
}

.sub-cta{
  width:100%;
  justify-content:center;
}

@media (max-width:768px){
  .sub-tier{padding:8px 4px}
  .sub-tier b{font-size:11px}
  .sub-tier span{font-size:16px}
}

/* ============================================================
   КВИЗ-БАНЕР: персональный подбор БАД
   ============================================================ */
.quiz-promo{
  display:grid;
  grid-template-columns:1fr 1fr;
  background:var(--mint-s);
  border-radius:12px;
  overflow:hidden;
  min-height:440px;
}

/* Левая половина — текст и CTA */
.quiz-promo-l{
  padding:48px 52px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.quiz-promo-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(15,122,74,.12);
  border:1px solid rgba(15,122,74,.25);
  padding:5px 12px;border-radius:var(--r-pill);
  font-size:11px;font-weight:600;color:var(--green-d);
  align-self:flex-start;
  margin-bottom:20px;
  text-transform:uppercase;letter-spacing:0.06em;
}
.quiz-promo-eyebrow .dot{
  width:6px;height:6px;border-radius:50%;background:var(--green);
}
.quiz-promo h2{
  font-size:34px;line-height:1.1;letter-spacing:-0.03em;
  color:var(--ink);margin:0 0 18px;
  max-width:480px;
}
.quiz-promo-sub{
  font-size:15px;color:var(--ink-2);
  margin:0 0 18px;
}
.quiz-promo-list{
  list-style:none;padding:0;margin:0 0 28px;
  display:flex;flex-direction:column;gap:10px;
}
.quiz-promo-list li{
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-size:15px;line-height:1.5;color:var(--ink);
}
.quiz-promo-list li svg{
  width:18px;height:18px;
  flex-shrink:0;
  color:var(--green);
  margin-top:3px;
  stroke-width:2.5;
}
.quiz-promo-list b{
  color:var(--green-d);font-weight:700;
}
.quiz-promo-cta{
  align-self:flex-start;
  margin-bottom:14px;
}
.quiz-promo-note{
  font-size:12px;color:var(--muted);
  margin:0;
}

/* Правая половина — место под фото/иллюстрацию */
.quiz-promo-r{
  position:relative;
  background:var(--mint);
  display:flex;align-items:center;justify-content:center;
  padding:32px;
}
.quiz-promo-photo{
  width:100%;height:100%;
  background:#fff;
  border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  text-align:center;
  font-size:13px;color:var(--muted);
  line-height:1.6;
  padding:20px;
  overflow:hidden;
}
.quiz-promo-photo img{
  width:100%;height:100%;
  object-fit:cover;
  border-radius:12px;
}

/* Адаптив */
@media (max-width:1024px){
  .quiz-promo-l{padding:40px 36px}
  .quiz-promo h2{font-size:28px}
}
@media (max-width:768px){
  .quiz-promo{grid-template-columns:1fr;min-height:auto}
  .quiz-promo-l{padding:32px 24px}
  .quiz-promo h2{font-size:24px}
  .quiz-promo-r{min-height:240px;padding:20px}
  .quiz-promo-note{font-size:11px}
}

/* ============================================================
   КОМПАКТНЫЕ КАРТОЧКИ для "Новых поступлений"
   Применяется когда у .products.carousel есть класс .products-sm
   ============================================================ */
.products.carousel.products-sm{
  gap:14px;
}
.products.carousel.products-sm .card{
  width:210px;
}

/* Внутренняя типографика и отступы — чуть мельче */
.products.carousel.products-sm .card-body{
  padding:12px;
}
.products.carousel.products-sm .card-name{
  font-size:13px;
  line-height:1.35;
  min-height:auto;
}
.products.carousel.products-sm .card-brand{
  font-size:10px;
}
.products.carousel.products-sm .card-price .now{
  font-size:15px;
}
.products.carousel.products-sm .card-price .old{
  font-size:11px;
}
.products.carousel.products-sm .card-btn{
  height:34px;
  font-size:12px;
}
.products.carousel.products-sm .card-btn svg{
  width:14px; height:14px;
}

/* Чип "Новинка" чуть мельче */
.products.carousel.products-sm .card .chip{
  font-size:10px;
  padding:0 7px;
  height:20px;
}

/* Адаптив */
@media (max-width:1200px){
  .products.carousel.products-sm .card{ width:200px; }
}
@media (max-width:900px){
  .products.carousel.products-sm .card{ width:180px; }
}
@media (max-width:680px){
  .products.carousel.products-sm .card{ width:160px; gap:10px; }
  .products.carousel.products-sm .card-name{ font-size:12px; }
  .products.carousel.products-sm .card-btn{ height:32px; font-size:11px; }
}

/* После AJAX-добавления WC ставит ссылку "Просмотр корзины" рядом с кнопкой —
   нам она не нужна: счётчик корзины в шапке + ModernCart покрывают этот сценарий. */
.products .added_to_cart,
.card-bottom .added_to_cart,
.wc-block-grid__product .added_to_cart {
  display: none !important;
}

/* После добавления WC меняет класс кнопки на .added и оставляет тот же текст "В корзину".
   Слегка приглушим её, чтобы было видно, что действие уже выполнено. */
.card-btn.added {
  background: var(--green-d);
  cursor: default;
  pointer-events: none;
}
.card-btn.added::before {
  content: "✓ ";
  margin-right: 4px;
}

/* Telegram-контакт */
.zm-tg {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none !important;
  color: var(--ink);
  transition: color 0.15s;
}
.zm-tg:hover { color: var(--green); }
.zm-tg-icon {
  width: 36px; height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--mint);
  color: var(--green);
  border-radius: 50%;
  flex-shrink: 0;
  transition: all 0.15s;
}
.zm-tg:hover .zm-tg-icon { background: var(--green); color: #fff; }
.zm-tg-text { display: flex; flex-direction: column; line-height: 1.2; }
.zm-tg-text strong { font-weight: 600; font-size: 15px; }
.zm-tg-hours { font-size: 12px; color: var(--muted); margin-top: 2px; }

.zm-tg--footer { color: #fff; }
.zm-tg--footer:hover { color: var(--mint); }
.zm-tg--footer .zm-tg-icon { background: rgba(255,255,255,.12); color: #fff; }
.zm-tg--footer:hover .zm-tg-icon { background: var(--green); }
.zm-tg--footer .zm-tg-hours { color: rgba(255,255,255,.6); }

/* Плавающая кнопка ТГ — выше корзины */
.zm-fab-tg {
  position: fixed;
  bottom: 90px;
  right: 20px;
  width: 56px;
  height: 56px;
  background: #229ED9;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18);
  z-index: 1000;
  transition: transform 0.15s, box-shadow 0.15s, background 0.15s;
  text-decoration: none;
  cursor: pointer;
}
.zm-fab-tg:hover {
  background: #1B89BD;
  transform: scale(1.08);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
}
.zm-fab-tg svg {
  display: block;
  margin-left: -2px;
}
.zm-fab-tg-tip {
  position: absolute;
  right: 70px;
  top: 50%;
  transform: translateY(-50%);
  background: #0B130F;
  color: #fff;
  padding: 7px 12px;
  border-radius: 6px;
  font-size: 13px;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s;
  font-weight: 500;
}
.zm-fab-tg-tip::after {
  content: '';
  position: absolute;
  right: -5px;
  top: 50%;
  transform: translateY(-50%);
  border-style: solid;
  border-width: 5px 0 5px 5px;
  border-color: transparent transparent transparent #0B130F;
}
.zm-fab-tg:hover .zm-fab-tg-tip {
  opacity: 1;
}

/* Мобайл — кнопка чуть меньше */
@media (max-width: 600px) {
  .zm-fab-tg{
    width:50px;height:50px;
    right:14px;
    bottom:calc(96px + env(safe-area-inset-bottom));
  }
  .zm-fab-tg-tip{display:none;}
}

/* Корректировки футер-лого под тёмный фон */
.footer .footer-logo-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  margin-bottom: 16px;
}
.footer .footer-logo-link .logo-text {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
}
.footer .footer-logo-link .n1 {
  color: #fff;
  font-size: 18px;
}
.footer .footer-logo-link .n2 {
  color: rgba(255, 255, 255, 0.55);
  font-size: 12px;
  margin-top: 2px;
}

/* ============================================================
   Плавающие кнопки: корзина ModernCart + Telegram (координация)
   ============================================================ */
/* Корзина ModernCart — жёстко в правый нижний угол, не торчит за край */
#moderncart-floating-cart{
  position:fixed !important;
  right:14px !important;
  left:auto !important;
  top:auto !important;
  bottom:calc(16px + env(safe-area-inset-bottom)) !important;
}
/* Telegram — над корзиной и ВЫШЕ её по z-index (у ModernCart z-index 9999),
   иначе кнопку перекрывает контейнер корзины */
.zm-fab-tg{
  right:16px;
  bottom:calc(88px + env(safe-area-inset-bottom));
  z-index:10001 !important;
}
@media (max-width:600px){
  .zm-fab-tg{
    width:50px;height:50px;
    right:19px;
    bottom:calc(88px + env(safe-area-inset-bottom));
  }
  .zm-fab-tg-tip{display:none;}
}

#moderncart-floating-cart, #moderncart-floating-cart .moderncart-floating-cart-button{
  width:50px !important; height:50px !important; min-width:50px !important;
}

html{ overflow-x:clip; }
#power-coupons-drawer,
#power-coupons-drawer .power-coupons-drawer-content{
  max-width:100vw !important;
  box-sizing:border-box;
}

.zm-sp{padding:56px 0;background:#f6faf7;}
.zm-sp-wrap{max-width:1180px;margin:0 auto;padding:0 20px;}
.zm-sp-head{text-align:center;margin-bottom:28px;}
.zm-sp-head h2{margin:0 0 8px;font-size:28px;}
.zm-sp-head p{margin:0;color:#5b6b60;}
.zm-sp-top{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin-bottom:28px;}
.zm-sp-visual{flex:1 1 320px;min-width:280px;}
.zm-sp-visual img{width:100%;height:auto;border-radius:18px;display:block;}
.zm-sp-stats{flex:1 1 320px;display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.zm-sp-stat{background:#fff;border:1px solid #e6efe8;border-radius:14px;padding:18px 16px;text-align:center;}
.zm-sp-stat b{display:block;font-size:30px;line-height:1;color:#0a5;}
.zm-sp-stat span{display:block;margin-top:6px;color:#6b7a70;font-size:13px;}
.zm-sp-rail{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;align-items:start;}
.zm-sp-card{display:block;background:#fff;border:1px solid #e6efe8;border-radius:14px;padding:12px;text-decoration:none;color:inherit;transition:.15s;}
.zm-sp-card:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(0,80,40,.08);}
.zm-sp-card-img{display:block;aspect-ratio:1;overflow:hidden;border-radius:10px;margin-bottom:10px;}
.zm-sp-card-img img{width:100%;height:100%;object-fit:cover;}
.zm-sp-card-rate{display:flex;align-items:center;gap:6px;}
.zm-sp-card-rate b{font-size:13px;color:#222;}
.zm-sp-card-cnt{display:block;color:#8a978d;font-size:12px;margin:2px 0 6px;}
.zm-sp-card-name{display:block;font-size:13px;line-height:1.3;color:#333;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.zm-sp-stars{position:relative;display:inline-block;font:14px/1 Arial,sans-serif;}
.zm-sp-stars::before{content:"★★★★★";color:#dcdcdc;}
.zm-sp-stars::after{content:"★★★★★";color:#f5a623;position:absolute;left:0;top:0;width:var(--p);overflow:hidden;white-space:nowrap;}
.zm-sp-cta{text-align:center;margin-top:26px;}
@media(max-width:900px){.zm-sp-rail{grid-template-columns:repeat(3,1fr);}}
@media(max-width:560px){.zm-sp-rail{grid-template-columns:repeat(2,1fr);}.zm-sp-stat b{font-size:24px;}}

.brandnav { background:#E8F5EE; border-top:1px solid #d5ebdd; }
.brandnav .wrap {
  position:relative; display:flex; flex-wrap:wrap; align-items:center;
  gap:6px 16px; padding:8px 0;
  max-width:1200px; margin-left:auto; margin-right:auto;   /* как у остальных .wrap */
  padding-left:16px; padding-right:16px;
}
.brandnav .brandnav-label { flex:0 0 auto; font-weight:600; color:#0F5132; font-size:13px; }
.brandnav .wrap > a { flex:0 0 auto; font-size:13px; color:#2f5c46; text-decoration:none; }
.brandnav .wrap > a:hover { color:#E8772E; }
.brandnav .wrap > a.active { color:#E8772E; font-weight:600; }

.brandnav-more {
  flex:0 0 auto; cursor:pointer; font-size:13px; font-weight:600; color:#0F5132;
  padding:2px 10px; border:1px solid #b9dcc7; border-radius:6px; background:#fff; user-select:none;
  margin-left:auto;   /* прижать кнопку вправо */
}
.brandnav-more:hover { border-color:#0F5132; }

.brandnav-panel {
  display:none; position:absolute; left:0; right:0; top:100%; z-index:60;
  background:#fff; border:1px solid #d5ebdd; border-radius:0 0 10px 10px;
  box-shadow:0 12px 28px rgba(0,0,0,.12); padding:16px 20px;
}
.brandnav-panel.open { display:block; }
.brandnav-panel-inner { columns:200px; column-gap:26px; max-height:60vh; overflow:auto; }
.brandnav-panel-inner a { display:block; break-inside:avoid; padding:5px 0; font-size:13px; color:#2f5c46; text-decoration:none; }
.brandnav-panel-inner a:hover { color:#E8772E; }
.brandnav-panel-inner a.active { color:#E8772E; font-weight:600; }
.brandnav-panel-inner .cnt { color:#9bb3a6; font-size:11px; }
.brandnav-panel-inner a.nobrand { color:#c0392b; }

@media (max-width:600px) {
  .brandnav .wrap > a:nth-of-type(n+9) { display:none; }
  .brandnav-panel-inner { columns:140px; column-gap:18px; }
}

/* Полоса брендов: марки обрезаются, кнопка всегда справа */
.brandnav .wrap{
  display:flex; flex-wrap:nowrap; align-items:center; gap:16px; min-width:0;
}
.brandnav .brandnav-label{ flex:0 0 auto; }
.brandnav-top{
  flex:1 1 auto; min-width:0;
  display:flex; gap:16px; align-items:center;
  overflow:hidden; white-space:nowrap;   /* обрезается только строка марок */
}
.brandnav-top > a{ flex:0 0 auto; }
.brandnav-more{ flex:0 0 auto; }          /* кнопка вне обрезки — всегда видна */