/* ===============================================
   РУССКИЙ УРОЖАЙ — DESIGN SYSTEM
   =============================================== */

:root{
  /* ===== BRAND COLORS (из брендбука) =====
     PANTONE 158-16 U  #618B27  основной тёмно-зелёный
     PANTONE 157-8 U   #97C524  акцентный ярко-зелёный
     PANTONE 177-4 U   #96A196  серо-зелёный нейтральный
     PANTONE 179-1 U   #FFFFFF  белый
  */
  --brand:#97C524;          /* акцентный ярко-зелёный — primary CTA */
  --brand-dark:#618B27;     /* тёмный фирменный — hover, hero, акценты */
  --brand-darker:#4A6A1E;   /* самый тёмный — для давления / active state */
  --brand-soft:#EBF6D5;     /* светлый фон под акценты, бейджи */
  --brand-tint:#F4F9E5;     /* очень светлый фон секций */
  --brand-ring:rgba(151,197,36,.22); /* ring для focus/hover */
  --brand-mute:#96A196;     /* серо-зелёный нейтральный из брендбука */
  --brand-mute-soft:#E8EBE8;

  /* ===== ALIASES — для обратной совместимости =====
     Старый код использовал --green/--emerald; маппим их на брендовые.
  */
  --green:var(--brand);
  --green-dark:var(--brand-dark);
  --green-darker:var(--brand-darker);
  --green-soft:var(--brand-soft);
  --emerald:var(--brand);
  --emerald-600:var(--brand-dark);
  --emerald-soft:var(--brand-soft);
  --emerald-ring:var(--brand-ring);

  /* ===== ACCENT (orange / red — оставляем для статусов) ===== */
  --orange:#F5A623;
  --orange-dark:#E39517;
  --orange-soft:#FFF4E0;
  --red:#DC2626;

  /* ===== NEUTRAL ===== */
  --bg:#FAFBF7;             /* фон страницы — лёгкий зелёный оттенок */
  --paper:#FFFFFF;
  --ink:#1A2410;            /* основной текст — тёмно-зелёный, не чёрный */
  --ink-2:#2A3818;          /* вторичный тёмный */
  --slate-700:#334155;
  --slate-600:#475569;
  --slate-500:#64748B;
  --slate-400:#94A3B8;
  --slate-300:#CBD5E1;
  --slate-200:#E2E8F0;
  --slate-100:#F1F5F9;
  --slate-50:#F8FAFC;

  /* ===== DARK PANELS (hero, featured cards) ===== */
  --dark-1:#1A2410;         /* очень тёмный фирменный */
  --dark-2:#243012;         /* средний — для hero градиента */
  --dark-3:#324518;         /* светлее — для радиальных пятен */

  --radius-sm:14px;
  --radius-md:20px;
  --radius-lg:28px;
  --radius-xl:36px;
  --shadow-sm:0 2px 6px rgba(26,36,16,.04);
  --shadow-md:0 18px 60px rgba(26,36,16,.08);
  --shadow-lg:0 24px 80px rgba(26,36,16,.16);

  --container:1360px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
html,body{
  background:var(--bg);color:var(--ink);
  font-family:'Manrope',system-ui,-apple-system,sans-serif;
  font-size:15px;line-height:1.5;
  -webkit-font-smoothing:antialiased;
  letter-spacing:-0.005em;
}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
img{max-width:100%;display:block;height:auto}
input,select,textarea{font-family:inherit}
::selection{background:var(--emerald);color:#fff}
.mono{font-family:'JetBrains Mono',ui-monospace,monospace;font-variant-numeric:tabular-nums}
.container{max-width:var(--container);margin:0 auto;padding:0 28px}

/* =============== BUTTONS =============== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:11px 20px;border-radius:var(--radius-sm);
  font-weight:600;font-size:14px;transition:all .18s;
  border:1px solid transparent;white-space:nowrap;letter-spacing:-0.005em;
  text-align:center;
}
.btn-primary{background:var(--emerald);color:#fff}
.btn-primary:hover{background:var(--emerald-600);box-shadow:0 8px 20px -4px var(--emerald-ring)}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{background:var(--ink-2)}
.btn-ghost{background:var(--paper);border-color:var(--slate-200);color:var(--ink)}
.btn-ghost:hover{background:var(--slate-50);border-color:var(--slate-300)}
.btn-outline{background:transparent;border-color:var(--slate-200);color:var(--ink)}
.btn-outline:hover{background:var(--slate-50)}
.btn-white{background:#fff;color:var(--emerald-600)}
.btn-white:hover{background:var(--emerald-soft)}
.btn-sm{padding:8px 16px;font-size:13px}
.btn-lg{padding:15px 28px;font-size:15px}
.btn-block{width:100%}

/* =============== TICKER =============== */
.ticker{background:var(--dark-1);color:#fff;overflow:hidden;position:relative;border-bottom:1px solid rgba(255,255,255,.08)}
.ticker-track{display:flex;gap:48px;padding:10px 0;white-space:nowrap;animation:tick 60s linear infinite;font-family:'JetBrains Mono',monospace;font-size:12px}
.ticker:hover .ticker-track{animation-play-state:paused}
.ticker-item{display:inline-flex;align-items:center;gap:10px}
.ticker-item .k{color:#fff;opacity:.45;text-transform:uppercase;letter-spacing:.1em;font-size:10.5px}
.ticker-item .v{color:#fff;font-weight:500}
.ticker-item .d.up{color:#C7E588;font-weight:500}
.ticker-item .d.dn{color:#FCD34D;font-weight:500}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* =============== HEADER =============== */
.site-header{
  position:sticky;top:0;z-index:40;
  background:rgba(255,255,255,.88);
  backdrop-filter:saturate(1.2) blur(20px);
  -webkit-backdrop-filter:saturate(1.2) blur(20px);
  border-bottom:1px solid rgba(26,36,16,.06);
}
.bar{max-width:var(--container);margin:0 auto;padding:14px 28px;display:flex;align-items:center;gap:18px;flex-wrap:nowrap;min-width:0}
.bar .spacer{flex:1;min-width:0}
.bar .nav-main{flex-shrink:1;min-width:0}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}
.brand img{height:40px;width:auto;display:block}
.brand-sub{display:none;flex-direction:column;line-height:1.2}
.brand-sub .s{font-size:11.5px;color:var(--slate-500);font-weight:500}

.nav-main{display:flex;gap:2px;flex-shrink:0}
.nav-main a{padding:9px 16px;border-radius:999px;font-size:14px;font-weight:500;color:var(--slate-600);white-space:nowrap;transition:all .18s}
.nav-main a:hover{color:var(--ink);background:var(--slate-100)}
.nav-main a.active{background:var(--ink);color:#fff}

.spacer{flex:1}

.site-search-btn{
  display:flex;align-items:center;gap:10px;padding:9px 10px 9px 16px;
  border-radius:999px;background:var(--slate-100);border:1px solid transparent;
  font-size:13px;color:var(--slate-500);cursor:pointer;transition:all .18s;
  font-weight:500;
}
.site-search-btn:hover{background:var(--slate-200)}
.site-search-btn kbd{
  font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:600;
  background:#fff;border:1px solid var(--slate-200);color:var(--slate-500);
  padding:3px 7px;border-radius:5px;
}

.region-chip{
  display:flex;align-items:center;gap:8px;padding:9px 14px;
  border-radius:999px;background:var(--slate-100);
  font-size:13px;font-weight:500;cursor:pointer;flex-shrink:0;color:var(--slate-600);
}
.region-chip .ico{color:var(--emerald)}

.phone-link{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--slate-700);font-weight:500;flex-shrink:0}
.phone-link .ico{color:var(--slate-500)}

/* Mobile menu trigger — hidden by default */
.menu-trigger{
  display:none;width:44px;height:44px;border-radius:12px;
  background:var(--slate-100);align-items:center;justify-content:center;
  flex-shrink:0;transition:background .15s;
}
.menu-trigger:hover{background:var(--slate-200)}
.menu-trigger svg{color:var(--ink)}

/* =============== MOBILE DRAWER =============== */
.drawer-backdrop{
  position:fixed;inset:0;background:rgba(26,36,16,.5);
  backdrop-filter:blur(4px);z-index:88;display:none;
}
.drawer-backdrop.on{display:block;animation:fadein .2s}
@keyframes fadein{from{opacity:0}to{opacity:1}}
.drawer{
  position:fixed;top:0;right:0;bottom:0;width:min(340px,90vw);
  background:var(--paper);z-index:89;
  transform:translateX(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);
  display:flex;flex-direction:column;
}
.drawer.on{transform:translateX(0)}
.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid var(--slate-100)}
.drawer-head img{height:32px}
.drawer-close{width:40px;height:40px;border-radius:12px;background:var(--slate-100);display:grid;place-items:center}
.drawer-close:hover{background:var(--slate-200)}
.drawer-body{flex:1;overflow-y:auto;padding:12px 12px 20px}
.drawer-nav{display:flex;flex-direction:column;gap:2px}
.drawer-nav a{
  padding:14px 16px;border-radius:12px;font-size:16px;font-weight:500;
  color:var(--slate-700);display:flex;align-items:center;gap:12px;
}
.drawer-nav a:hover{background:var(--slate-50)}
.drawer-nav a.active{background:var(--slate-100);color:var(--ink);font-weight:600}
.drawer-foot{padding:20px;border-top:1px solid var(--slate-100);display:flex;flex-direction:column;gap:10px}
.drawer-foot .phone{font-size:17px;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:10px;padding:8px 0}

/* =============== HERO (home) =============== */
.hero{position:relative;overflow:visible;color:#fff;isolation:isolate}
/* Контейнер для фоновых ::before/::after и blob-2 — он клипует визуальные эффекты,
   но НЕ инпуты/dropdown внутри hero (раньше overflow:hidden на .hero резал
   autocomplete-подсказки которые свисают под форму поиска). */
.hero > .hero-bg-clip,
.hero::before, .hero::after{will-change:auto}
.hero::before{
  content:"";position:absolute;inset:0;z-index:0;
  background:
    linear-gradient(180deg, rgba(20,40,15,.45) 0%, rgba(20,40,15,.65) 50%, rgba(20,40,15,.78) 100%),
    url('/assets/img/hero/hero-bg-1-desktop-1920x1080.webp') center/cover no-repeat;
}
@media (max-width: 768px){
  .hero::before{
    background:
      linear-gradient(180deg, rgba(20,40,15,.45) 0%, rgba(20,40,15,.65) 50%, rgba(20,40,15,.78) 100%),
      url('/assets/img/hero/hero-bg-1-mobile-720x1280.webp') center/cover no-repeat;
  }
}
.hero::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    radial-gradient(circle at top left, rgba(151,197,36,0.22), transparent 32%),
    radial-gradient(circle at 80% 20%, rgba(151,197,36,0.22), transparent 28%),
    radial-gradient(circle at 20% 90%, rgba(97,139,39,0.14), transparent 30%);
}
.hero .blob-2{position:absolute;right:-40px;bottom:-60px;width:420px;height:420px;border-radius:50%;background:rgba(163,230,53,0.08);filter:blur(70px);z-index:1}
.hero-inner{position:relative;z-index:1;max-width:var(--container);margin:0 auto;padding:72px 28px 64px;display:grid;grid-template-columns:1.1fr 0.9fr;gap:56px;align-items:end}
.hero-left{max-width:680px}
.hero-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.hero-chip{
  padding:7px 14px;border-radius:999px;
  background:rgba(255,255,255,.08);backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.14);
  font-size:13px;font-weight:500;color:rgba(255,255,255,.92);
}
.hero-chip.dot::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);margin-right:8px;vertical-align:middle;box-shadow:0 0 8px var(--green)}

.hero h1{font-weight:700;letter-spacing:-0.035em;line-height:1.02;font-size:clamp(36px,5vw,62px);color:#fff}
.hero h1 em{font-style:normal;color:#A7F3D0;position:relative;white-space:nowrap}
.hero h1 em::after{content:"";position:absolute;left:-3%;right:-3%;bottom:.08em;height:.14em;background:var(--orange);z-index:-1;transform:skewX(-6deg);opacity:.85}
.hero p.lead{margin-top:22px;font-size:18px;line-height:1.6;color:rgba(226,232,240,.92);max-width:580px}

.hero-search{
  margin-top:40px;display:grid;grid-template-columns:1.3fr 1fr 1fr auto;gap:10px;
  padding:10px;border-radius:var(--radius-lg);
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(20px);
}
.hero-search .field{
  background:#fff;border-radius:var(--radius-sm);padding:12px 16px;cursor:text;
  display:flex;flex-direction:column;justify-content:center;min-height:52px;
  transition:box-shadow .15s;
}
.hero-search .field:focus-within{box-shadow:0 0 0 3px var(--emerald-ring)}
.hero-search .field .k{font-size:10px;color:var(--slate-500);text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.hero-search .field .v{font-size:14.5px;font-weight:500;margin-top:3px;display:flex;align-items:center;gap:6px;color:var(--ink)}
.hero-search .field input{flex:1;border:none;outline:none;background:transparent;font-family:inherit;font-size:14.5px;font-weight:500;color:var(--ink);margin-top:3px;min-width:0}
.hero-search .field input::placeholder{color:var(--slate-400);font-weight:400}
.hero-search .field .chev{margin-left:auto;opacity:.5;font-size:10px;color:var(--slate-500)}
.hero-search-submit{
  background:var(--emerald);color:#fff;border-radius:var(--radius-sm);
  padding:0 24px;font-weight:600;font-size:14.5px;
  display:flex;align-items:center;gap:8px;transition:all .18s;
  box-shadow:0 6px 16px -2px var(--emerald-ring);min-height:52px;
}
.hero-search-submit:hover{background:var(--emerald-600);transform:translateY(-1px)}

/* Hero-search autocomplete dropdown — подсказки культур пока юзер печатает */
/* v2.6.24 fix: backdrop-filter на .hero-stat создаёт stacking context, нужен
   position:relative на .field + высокий z-index на .hero-search чтобы поднять
   весь блок поиска поверх statisitics-карточек снизу */
.hero-search{position:relative; z-index:20}
.hero-search .field{position:relative}
.hero-ac{
  position:absolute; left:0; right:0; top:calc(100% + 4px);
  background:var(--paper);
  border-radius:var(--radius-md);
  box-shadow:0 12px 32px rgba(26,36,16,.16), 0 0 0 1px rgba(0,0,0,.04);
  padding:6px;
  z-index:30;
  max-height:280px; overflow-y:auto;
}
.hero-ac-item{
  padding:9px 12px;
  font-size:14px;
  color:var(--ink);
  border-radius:8px;
  cursor:pointer;
  transition:background .12s;
}
.hero-ac-item:hover,
.hero-ac-item.active{background:var(--emerald-soft); color:var(--emerald-600)}
.hero-ac-item b{color:var(--emerald-600); font-weight:700}

/* Custom select для «Объём партии» — заменяет native <select> чтобы dropdown
   имел крупные тапабельные строки (44px+) и кастомную стилизацию. */
.rh-select-btn{
  flex:1; min-width:0; margin-top:3px;
  background:transparent; border:none; outline:none;
  display:flex; align-items:center; justify-content:space-between; gap:8px;
  font-family:inherit; font-size:14.5px; font-weight:500; color:var(--ink);
  cursor:pointer; padding:0; width:100%;
}
.rh-select-btn .rh-select-label{
  flex:1; text-align:left; min-width:0;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.rh-select-btn .rh-select-chev{
  flex-shrink:0; opacity:.5; font-size:11px; color:var(--slate-500);
  transition:transform .18s;
}
.rh-select-btn[aria-expanded="true"] .rh-select-chev{transform:rotate(180deg)}
.rh-select-pop{
  position:absolute; left:0; right:0; top:calc(100% + 4px);
  background:var(--paper);
  border-radius:var(--radius-md);
  box-shadow:0 12px 32px rgba(26,36,16,.18), 0 0 0 1px rgba(0,0,0,.04);
  padding:4px;
  z-index:30;
  max-height:320px; overflow-y:auto;
}
.rh-select-item{
  padding:13px 14px;            /* крупная тапабельная зона */
  font-size:15px; font-weight:500;
  color:var(--ink);
  border-radius:8px;
  cursor:pointer;
  display:flex; align-items:center; justify-content:space-between;
  transition:background .12s;
  user-select:none;
}
.rh-select-item:hover,
.rh-select-item.active{background:var(--emerald-soft); color:var(--emerald-600)}
.rh-select-item[aria-selected="true"]{font-weight:600; color:var(--emerald-600)}
.rh-select-item[aria-selected="true"]::after{
  content:"✓"; color:var(--emerald-600); font-weight:700;
}

.popular{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:20px}
.popular .label{font-size:11.5px;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.1em;font-weight:600}
.pq{padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);font-size:12.5px;font-weight:500;color:rgba(255,255,255,.85);transition:all .15s}
.pq:hover{background:rgba(255,255,255,.12);color:#fff}

.hero-stats{margin-top:40px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:680px;position:relative;z-index:1}
.hero-stat{padding:22px;border-radius:var(--radius-lg);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(12px)}
.hero-stat .n{font-size:30px;font-weight:700;color:#fff;letter-spacing:-0.025em;line-height:1}
.hero-stat .l{margin-top:8px;font-size:13px;color:rgba(255,255,255,.65);font-weight:500}

.focus-wrap{padding:18px;border-radius:var(--radius-xl);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(20px);width:100%;max-width:520px;margin-left:auto}
.focus-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;padding:0 6px;gap:12px}
.focus-head .label{font-size:11px;color:#C7E588;font-weight:600;letter-spacing:.04em}
.focus-head .label .dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#C7E588;margin-right:6px;animation:pulse 2s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.focus-head .title{font-size:22px;font-weight:700;color:#fff;letter-spacing:-0.02em;margin-top:4px}
.focus-price{padding:10px 16px;border-radius:var(--radius-sm);background:rgba(151,197,36,.2);color:#C7E588;font-size:15px;font-weight:700;white-space:nowrap}
.focus-card{background:#fff;color:var(--ink);border-radius:var(--radius-lg);padding:22px;box-shadow:0 24px 60px rgba(0,0,0,.3)}
.focus-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.focus-cell{padding:14px;border-radius:var(--radius-sm);background:var(--slate-50)}
.focus-cell .k{font-size:10px;color:var(--slate-400);text-transform:uppercase;letter-spacing:.14em;font-weight:700}
.focus-cell .v{font-size:15px;font-weight:600;color:var(--ink);margin-top:6px}
.focus-benefits{margin-top:16px;padding:18px;border-radius:var(--radius-lg);background:var(--emerald-soft)}
.focus-benefits .h{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:13px;font-weight:700;color:#065F46}
.focus-benefits .row{display:flex;align-items:center;gap:8px;font-size:13.5px;color:#064E3B;padding:3px 0}
.focus-benefits .row .ic{color:var(--emerald);flex-shrink:0}
.focus-card .cta{margin-top:18px;width:100%;height:48px;background:var(--ink);color:#fff;border-radius:var(--radius-sm);font-weight:600;font-size:14.5px;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .15s}
.focus-card .cta:hover{background:var(--ink-2)}

/* =============== SECTIONS =============== */
.section{max-width:var(--container);margin:0 auto;padding:80px 28px}
.section-sm{padding:56px 28px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;background:var(--emerald-soft);color:#065F46;border:1px solid rgba(151,197,36,.25);border-radius:999px;font-size:13px;font-weight:600}
.eyebrow .ico{color:var(--emerald)}
.h1{font-size:clamp(32px,4vw,48px);font-weight:700;letter-spacing:-0.03em;line-height:1.05;color:var(--ink);margin-top:12px}
.h2{font-size:clamp(28px,3.5vw,38px);font-weight:700;letter-spacing:-0.03em;line-height:1.1;color:var(--ink);margin-top:12px}
.section-lead{margin-top:16px;font-size:17px;line-height:1.65;color:var(--slate-600);max-width:620px}

/* =============== CATALOG PAGE =============== */
.page-hero{
  background:linear-gradient(135deg, #243012 0%, #324518 100%);
  color:#fff;position:relative;overflow:visible;
}
.page-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 100%, rgba(97,139,39,.14), transparent 40%),radial-gradient(circle at 90% 0%, rgba(151,197,36,.16), transparent 45%);pointer-events:none}

/* v2.6.4: фотографические фоны hero с overlay средней силы (rgba(20,40,15, .45 → .78)).
   Картинка ставится как фон страницы (не ::before), чтобы radial-glow ::before
   ложился поверх и сохранял брендовый стиль. Mobile: вертикальные 720×1280. */
.page-hero[data-bg]{background-size:cover;background-position:center;background-repeat:no-repeat}
.page-hero[data-bg="field"]{
  background-image:
    linear-gradient(180deg, rgba(20,40,15,.45) 0%, rgba(20,40,15,.65) 50%, rgba(20,40,15,.78) 100%),
    url('/assets/img/hero/hero-bg-2-desktop-1920x1080.webp');
}
.page-hero[data-bg="harvest"]{
  background-image:
    linear-gradient(180deg, rgba(20,40,15,.45) 0%, rgba(20,40,15,.65) 50%, rgba(20,40,15,.78) 100%),
    url('/assets/img/hero/hero-bg-3-desktop-1920x1080.webp');
}
.page-hero[data-bg="company"]{
  background-image:
    linear-gradient(180deg, rgba(20,40,15,.45) 0%, rgba(20,40,15,.65) 50%, rgba(20,40,15,.78) 100%),
    url('/assets/img/hero/hero-bg-4-desktop-1920x1080.webp');
}
@media (max-width: 768px){
  .page-hero[data-bg="field"]{
    background-image:
      linear-gradient(180deg, rgba(20,40,15,.45) 0%, rgba(20,40,15,.65) 50%, rgba(20,40,15,.78) 100%),
      url('/assets/img/hero/hero-bg-2-mobile-720x1280.webp');
  }
  .page-hero[data-bg="harvest"]{
    background-image:
      linear-gradient(180deg, rgba(20,40,15,.45) 0%, rgba(20,40,15,.65) 50%, rgba(20,40,15,.78) 100%),
      url('/assets/img/hero/hero-bg-3-mobile-720x1280.webp');
  }
  .page-hero[data-bg="company"]{
    background-image:
      linear-gradient(180deg, rgba(20,40,15,.45) 0%, rgba(20,40,15,.65) 50%, rgba(20,40,15,.78) 100%),
      url('/assets/img/hero/hero-bg-4-mobile-720x1280.webp');
  }
}
.page-hero-inner{position:relative;z-index:1;max-width:var(--container);margin:0 auto;padding:52px 28px 44px}
.page-hero h1{font-size:clamp(32px,4vw,44px);font-weight:700;letter-spacing:-0.03em;color:#fff;max-width:820px}
.page-hero p{margin-top:16px;font-size:17px;color:rgba(226,232,240,.85);max-width:640px}

.breadcrumb{font-size:13px;color:rgba(255,255,255,.6);display:flex;gap:8px;align-items:center;margin-bottom:14px}
.breadcrumb a{color:rgba(255,255,255,.85)}
.breadcrumb a:hover{color:#fff}
.breadcrumb .sep{opacity:.4}

/* Filter bar below page hero */
.filter-bar{
  background:var(--paper);border-radius:var(--radius-lg);
  padding:10px;margin-top:32px;display:grid;
  grid-template-columns:1.3fr 1fr 1fr 1fr auto;gap:8px;
  box-shadow:var(--shadow-md);
}
.filter-bar .field{background:var(--slate-50);border-radius:var(--radius-sm);padding:12px 16px;cursor:text;min-height:52px;display:flex;flex-direction:column;justify-content:center}
.filter-bar .field:hover{background:var(--slate-100)}
.filter-bar .field .k{font-size:10px;color:var(--slate-500);text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.filter-bar .field .v{font-size:14px;font-weight:500;color:var(--ink);margin-top:3px;display:flex;align-items:center}
.filter-bar .field .v .chev{margin-left:auto;color:var(--slate-400);font-size:10px}
.filter-bar .field input{border:none;outline:none;background:transparent;font-family:inherit;font-size:14px;font-weight:500;color:var(--ink);margin-top:3px;padding:0;width:100%}
.filter-bar .submit{background:var(--emerald);color:#fff;border-radius:var(--radius-sm);padding:0 24px;font-weight:600;font-size:14px;display:flex;align-items:center;gap:8px}
.filter-bar .submit:hover{background:var(--emerald-600)}

/* =============== CATALOG LAYOUT =============== */
.catalog-head{display:flex;flex-direction:column;gap:20px;margin-bottom:28px}
.catalog-head .top-row{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap}
.catalog-chips{display:flex;flex-wrap:wrap;gap:8px}
.c-chip{padding:9px 18px;border-radius:999px;background:var(--paper);color:var(--slate-600);font-size:14px;font-weight:500;box-shadow:var(--shadow-sm);transition:all .18s;border:1px solid transparent}
.c-chip:hover{color:var(--ink);border-color:var(--slate-200)}
.c-chip.active{background:var(--ink);color:#fff;box-shadow:0 4px 14px rgba(26,36,16,.18)}

.view-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sort-select{position:relative}
.sort-select select{appearance:none;-webkit-appearance:none;background:var(--paper);border:none;padding:10px 36px 10px 16px;border-radius:999px;font-size:13.5px;font-weight:500;font-family:inherit;cursor:pointer;color:var(--ink);box-shadow:var(--shadow-sm)}
.sort-select::after{content:"▾";position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:10px;pointer-events:none;color:var(--slate-500)}

.view-toggle{display:flex;background:var(--paper);border-radius:999px;padding:3px;box-shadow:var(--shadow-sm)}
.view-toggle button{padding:7px 14px;border-radius:999px;font-size:13px;font-weight:500;color:var(--slate-500);display:inline-flex;align-items:center;gap:6px}
.view-toggle button.active{background:var(--ink);color:#fff}

/* =============== CARDS =============== */
.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.cards-grid > .card-featured{grid-column:span 2}

/* On wider screens (1400+), still 3 cols for readability */
@media (min-width:1500px){
  .cards-grid{grid-template-columns:repeat(3,1fr);gap:24px}
}

.card{background:var(--paper);border-radius:var(--radius-xl);overflow:hidden;position:relative;box-shadow:var(--shadow-md);transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s;display:flex;flex-direction:column}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.card-featured{background:linear-gradient(135deg,#1A2410 0%,#2A3818 100%);color:#fff}
.card-featured::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 100% 0%,rgba(151,197,36,.25),transparent 40%),radial-gradient(circle at 0% 100%,rgba(97,139,39,.15),transparent 45%)}
.card-featured > *{position:relative;z-index:1}

.card-head{padding:24px 24px 20px;border-bottom:1px solid var(--slate-100)}
.card-featured .card-head{border-bottom-color:rgba(255,255,255,.08)}
.card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px}
.card-top > div:first-child{min-width:0;flex:1}
.badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--emerald-soft);color:#065F46;font-size:11.5px;font-weight:600;white-space:nowrap}
.badge.orange{background:var(--orange-soft);color:#92400E}
.badge.featured{background:rgba(151,197,36,.2);color:#C7E588}
.badge.gray{background:var(--slate-100);color:var(--slate-600)}
.badge.archive{background:var(--slate-100);color:var(--slate-500)}
.card-title{font-size:19px;font-weight:700;letter-spacing:-0.02em;line-height:1.2;color:var(--ink);margin-top:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card-featured .card-title{color:#fff;font-size:24px}
.card-price-pill{
  padding:8px 14px;border-radius:var(--radius-sm);
  background:var(--slate-100);color:var(--ink);
  white-space:nowrap;flex-shrink:0;
  display:flex;flex-direction:column;gap:2px;align-items:flex-end;
}
.card-price-pill .num{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}
.card-price-pill .small{font-size:10px;font-weight:500;color:var(--slate-500);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}
.card-featured .card-price-pill{background:rgba(255,255,255,.1);color:#fff}
.card-featured .card-price-pill .small{color:rgba(255,255,255,.55)}

.card-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}
.card-featured .card-meta{grid-template-columns:1fr 1fr 1fr}
.card-meta .cell{min-width:0}
.card-meta .cell .k{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--slate-400);font-weight:700;white-space:nowrap}
.card-meta .cell .v{font-size:14px;font-weight:600;color:var(--ink);margin-top:3px;letter-spacing:-0.005em;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.card-meta .cell.wide{grid-column:span 2}
.card-featured .card-meta .cell.wide{grid-column:span 3}
.card-featured .card-meta .cell .k{color:rgba(255,255,255,.4)}
.card-featured .card-meta .cell .v{color:#fff;font-size:15px}

.q-toggle{width:100%;padding:14px 20px;background:transparent;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13.5px;font-weight:600;color:var(--ink);transition:background .15s;text-align:left}
.q-toggle:hover{background:var(--slate-50)}
.card-featured .q-toggle{color:#fff}
.card-featured .q-toggle:hover{background:rgba(255,255,255,.04)}
.q-toggle .lbl{display:flex;align-items:center;gap:10px;min-width:0}
.q-toggle .lbl-ic{color:var(--emerald);display:flex;align-items:center;flex-shrink:0}
.q-toggle .right{display:flex;align-items:center;gap:8px;flex-shrink:0;white-space:nowrap}
.q-toggle .count{font-size:12px;font-weight:500;color:var(--slate-500);white-space:nowrap;font-variant-numeric:tabular-nums}
.card-featured .q-toggle .count{color:rgba(255,255,255,.5)}
.q-toggle .chev{font-size:10px;color:var(--slate-500);transition:transform .2s;flex-shrink:0}
.q-toggle.open .chev{transform:rotate(180deg)}
.card-featured .q-toggle .chev{color:rgba(255,255,255,.6)}
.q-body{max-height:0;overflow:hidden;transition:max-height .3s ease}
.q-body[hidden]{display:block !important;max-height:0}
.q-body.open{max-height:400px}
.q-body-inner{padding:4px 20px 16px}
.q-row{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:13.5px;color:var(--slate-600)}
.q-row .ic{color:var(--emerald);flex-shrink:0;display:flex}
.q-row .k{flex:1}
.q-row .v{font-weight:600;color:var(--ink);font-family:'JetBrains Mono',monospace}
.card-featured .q-row{color:rgba(226,232,240,.8)}
.card-featured .q-row .v{color:#fff}
.card-featured .q-row .ic{color:#C7E588}

/* Distance strip — compact, never breaks into many lines */
.distance-strip{
  padding:12px 20px;display:flex;align-items:center;gap:10px;
  border-top:1px solid var(--slate-100);
  background:linear-gradient(to right, rgba(237,245,221,.35), transparent);
  min-height:54px;
}
.card-featured .distance-strip{
  border-top-color:rgba(255,255,255,.08);
  background:linear-gradient(to right, rgba(151,197,36,.1), transparent);
}

.distance-from{
  display:flex;align-items:center;gap:10px;min-width:0;flex:1;
}
.distance-from .pin-ic{
  width:28px;height:28px;border-radius:8px;background:var(--emerald-soft);
  color:var(--emerald-600);display:grid;place-items:center;flex-shrink:0;
}
.card-featured .distance-from .pin-ic{background:rgba(151,197,36,.15);color:#C7E588}

.distance-from .txt{
  display:flex;flex-direction:column;gap:2px;min-width:0;flex:1;
  overflow:hidden;
}
.distance-from .route{
  font-size:11.5px;color:var(--slate-500);font-weight:500;line-height:1.3;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;
}
.card-featured .distance-from .route{color:rgba(255,255,255,.6)}

.distance-from .km{
  font-family:'JetBrains Mono',monospace;
  font-size:14px;font-weight:700;color:var(--ink);
  letter-spacing:-0.01em;white-space:nowrap;line-height:1.2;
  font-variant-numeric:tabular-nums;
  display:inline-flex;align-items:baseline;gap:4px;
}
.card-featured .distance-from .km{color:#fff}
.distance-from .km small{
  font-size:9.5px;font-weight:600;color:var(--slate-400);
  font-family:'Manrope',sans-serif;letter-spacing:.08em;text-transform:uppercase;
}
.card-featured .distance-from .km small{color:rgba(255,255,255,.45)}

.distance-cost{
  padding:7px 10px;border-radius:8px;background:var(--slate-100);
  font-size:11px;color:var(--slate-600);font-weight:500;white-space:nowrap;
  display:inline-flex;align-items:center;gap:6px;flex-shrink:0;
}
.distance-cost svg{flex-shrink:0;opacity:.7}
.card-featured .distance-cost{background:rgba(255,255,255,.1);color:rgba(255,255,255,.85)}
.distance-cost .mono{
  font-family:'JetBrains Mono',monospace;font-weight:700;color:var(--ink);
  font-variant-numeric:tabular-nums;font-size:11.5px;
}
.card-featured .distance-cost .mono{color:#fff}
.distance-cost.free{background:var(--emerald-soft);color:#065F46}
.card-featured .distance-cost.free{background:rgba(151,197,36,.2);color:#C7E588}
.distance-cost.free .mono{color:#065F46}
.card-featured .distance-cost.free .mono{color:#C7E588}

/* "Change region" link in header */
.region-chip .change{font-size:10.5px;color:var(--emerald-600);text-transform:uppercase;letter-spacing:.08em;font-weight:700;margin-left:2px}

.supplier-strip{
  padding:14px 20px;display:flex;align-items:center;justify-content:space-between;
  gap:10px;border-top:1px solid var(--slate-100);background:var(--slate-50);flex-wrap:wrap;
}
.card-featured .supplier-strip{background:rgba(255,255,255,.04);border-top-color:rgba(255,255,255,.08)}
.supplier-verify{display:inline-flex;align-items:center;gap:8px;padding:5px 12px 5px 5px;border-radius:999px;background:var(--orange);color:#fff;font-size:10.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;flex-shrink:0}
.supplier-verify .bc{width:18px;height:18px;border-radius:50%;background:#fff;display:grid;place-items:center;color:var(--orange);flex-shrink:0}
.supplier-stat{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--slate-600);font-weight:500;flex-wrap:wrap;font-variant-numeric:tabular-nums}
.supplier-stat .rating{color:var(--ink);font-weight:700;display:inline-flex;align-items:center;gap:3px}
.supplier-stat .rating .star{color:var(--orange)}
.supplier-stat .dot{width:3px;height:3px;border-radius:50%;background:var(--slate-400);flex-shrink:0}
.supplier-stat .id{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.03em;color:var(--slate-500)}
.card-featured .supplier-stat{color:rgba(226,232,240,.7)}
.card-featured .supplier-stat .rating{color:#fff}
.card-featured .supplier-stat .id{color:rgba(255,255,255,.5)}

.card-foot{
  padding:14px 20px 20px;display:flex;align-items:center;justify-content:space-between;
  gap:10px;flex-wrap:wrap;
}
.delivery-tag{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--slate-500);font-weight:500;white-space:nowrap}
.delivery-tag .ic{color:var(--slate-400);flex-shrink:0}
.card-featured .delivery-tag{color:rgba(226,232,240,.7)}
.card-featured .delivery-tag .ic{color:#C7E588}
.card-foot .cta{background:linear-gradient(135deg,#4A2E1C 0%,#6B3F22 50%,#3E2715 100%);color:#fff;padding:10px 18px;border-radius:var(--radius-sm);font-weight:600;font-size:13px;display:inline-flex;align-items:center;gap:6px;transition:all .2s;white-space:nowrap;box-shadow:0 4px 12px rgba(74,46,28,.25)}
.card-foot .cta:hover{background:linear-gradient(135deg,#5A3924 0%,#7D4A2A 50%,#4E311B 100%);transform:translateY(-1px);box-shadow:0 8px 20px rgba(74,46,28,.4)}
.card-featured .card-foot .cta{background:linear-gradient(135deg,#7BA81C 0%,#97C524 50%,#5F8F18 100%);box-shadow:0 4px 12px rgba(151,197,36,.3)}
.card-featured .card-foot .cta:hover{background:linear-gradient(135deg,#85B321 0%,#A8D62E 50%,#6B9F1B 100%);box-shadow:0 8px 20px rgba(151,197,36,.45)}

/* Archive card variant */
.card-archive{opacity:.75;position:relative}
.card-archive::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,transparent 60%,rgba(241,245,249,.4) 100%);
  border-radius:inherit;
}
.card-archive .card-title{color:var(--slate-600)}
.card-archive .cta{background:var(--slate-400);pointer-events:none}

/* =============== EMPTY STATE =============== */
.empty-state{
  background:var(--paper);border-radius:var(--radius-xl);
  padding:56px 32px;text-align:center;box-shadow:var(--shadow-md);
}
.empty-state .ic{width:72px;height:72px;margin:0 auto 20px;border-radius:50%;background:var(--emerald-soft);display:grid;place-items:center;color:var(--emerald)}
.empty-state h3{font-size:22px;font-weight:700;color:var(--ink);letter-spacing:-0.02em}
.empty-state p{margin-top:10px;color:var(--slate-500);max-width:440px;margin-left:auto;margin-right:auto}
.empty-state .actions{margin-top:24px;display:flex;gap:10px;justify-content:center;flex-wrap:wrap}

/* =============== TABS BAR =============== */
.tabs-bar{
  display:flex;gap:4px;margin-bottom:24px;padding:4px;
  background:var(--paper);border-radius:999px;align-self:flex-start;
  box-shadow:var(--shadow-sm);width:max-content;max-width:100%;
}
.tab-btn{
  padding:10px 20px;border-radius:999px;
  font-size:14px;font-weight:500;color:var(--slate-500);
  display:inline-flex;align-items:center;gap:8px;
  transition:all .18s;white-space:nowrap;
}
.tab-btn:hover{color:var(--ink)}
.tab-btn.active{background:var(--ink);color:#fff}
.tab-count{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:22px;height:20px;padding:0 7px;border-radius:999px;
  background:var(--slate-100);color:var(--slate-600);
  font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;
}
.tab-btn.active .tab-count{background:rgba(255,255,255,.2);color:#fff}
@media (max-width:720px){
  .tabs-bar{width:100%;overflow-x:auto}
  .tab-btn{padding:9px 14px;font-size:13px}
}

/* =============== REQUEST CARD (Продать — заявки от покупателей) ===============
   v2.6.10: Карточка заявки переведена на структуру catalog .card. Класс
   .req-card остался ТОЛЬКО как маркер для JS-фильтра filterRequests().
   Визуальные стили (.req-card-head, .req-attrs, .req-foot и т.д.) удалены —
   их элементы больше не появляются в DOM. */

/* Request grid — те же 3 колонки что у каталога */
.req-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:1100px){.req-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:720px){.req-grid{grid-template-columns:1fr}}

/* Архив — приглушённый стиль для закрытых заявок */
.req-archive .card-title,.req-archive .card-price-pill{opacity:.6}
.req-archive .cta{background:var(--slate-400);pointer-events:none}

/* =============== REVERSE CARD =============== */
.reverse-card{border-radius:var(--radius-xl);padding:40px;position:relative;overflow:hidden;background:linear-gradient(135deg,#1A2410 0%,#324518 100%);color:#fff;box-shadow:0 24px 80px rgba(26,36,16,.16);display:grid;grid-template-columns:1fr 1.05fr;gap:48px;align-items:center}
.reverse-card::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.4;background:radial-gradient(600px circle at 10% 120%,var(--orange),transparent 50%),radial-gradient(500px circle at 90% -20%,var(--emerald),transparent 50%)}
.reverse-card > *{position:relative;z-index:1}
.reverse-chip{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.1);color:#A7F3D0;font-size:13px;font-weight:500}
.reverse-card h3{font-size:clamp(24px,3.2vw,34px);font-weight:700;letter-spacing:-0.03em;line-height:1.1;margin-top:14px;color:#fff}
.reverse-card .lead{margin-top:16px;font-size:17px;line-height:1.6;color:rgba(226,232,240,.85);max-width:480px}
.reverse-form{padding:16px;border-radius:var(--radius-lg);background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(14px);display:grid;grid-template-columns:1fr 1fr;gap:10px}
.reverse-form input,.reverse-form select,.reverse-form .sel{height:52px;background:#fff;border:none;border-radius:var(--radius-sm);padding:0 16px;font-family:inherit;font-size:14px;color:var(--ink);outline:none;display:flex;align-items:center;justify-content:space-between;width:100%;-webkit-appearance:none;appearance:none}
.reverse-form input::placeholder{color:var(--slate-400)}
.reverse-form select{cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M3 4.5l3 3 3-3' stroke='%2394A3B8' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px;color:var(--ink)}
.reverse-form select:invalid,.reverse-form select option[disabled]{color:var(--slate-400)}
.reverse-form select option{color:var(--ink)}
.reverse-form .sel{color:var(--slate-500);cursor:pointer}
.reverse-form .sel .chev{color:var(--slate-400);font-size:11px}
.reverse-form .submit{grid-column:span 2;height:52px;background:linear-gradient(135deg,#97C524 0%,#7BA81C 100%);color:#fff;border-radius:var(--radius-sm);font-weight:600;font-size:15px;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s;box-shadow:0 6px 20px rgba(151,197,36,.25)}
.reverse-form .submit:hover{background:linear-gradient(135deg,#A8D62E 0%,#85B321 100%);transform:translateY(-1px);box-shadow:0 10px 28px rgba(151,197,36,.35)}

/* =============== HOW IT WORKS =============== */
.how-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:56px;align-items:start}
.steps-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.step{background:var(--paper);border-radius:var(--radius-lg);padding:28px;box-shadow:var(--shadow-md);transition:transform .22s}
.step:hover{transform:translateY(-4px)}
.step .ic-wrap{width:48px;height:48px;border-radius:var(--radius-sm);background:var(--emerald-soft);color:#065F46;display:grid;place-items:center;margin-bottom:20px}
.step h4{font-size:18px;font-weight:700;color:var(--ink);letter-spacing:-0.015em}
.step p{margin-top:12px;font-size:14px;line-height:1.65;color:var(--slate-600)}

/* =============== ADVANTAGES =============== */
.adv-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:24px}
.adv-card{background:var(--paper);border-radius:var(--radius-xl);padding:36px;box-shadow:var(--shadow-md)}
.adv-list{margin-top:28px;display:flex;flex-direction:column;gap:12px}
.adv-item{display:flex;align-items:flex-start;gap:12px;padding:16px;border-radius:var(--radius-sm);background:var(--slate-50)}
.adv-item .ic{color:var(--emerald);flex-shrink:0;margin-top:2px}
.adv-item .txt{font-size:14.5px;color:var(--slate-700);line-height:1.55}
.adv-side{display:flex;flex-direction:column;gap:24px}
.adv-side-card{border-radius:var(--radius-xl);padding:32px;box-shadow:var(--shadow-md)}
.adv-side-card.dark{background:var(--ink);color:#fff}
.adv-side-card.dark .ic-wrap{background:rgba(255,255,255,.1);color:#C7E588}
.adv-side-card.green{background:var(--emerald);color:#fff;box-shadow:0 18px 60px rgba(151,197,36,.22)}
.adv-side-card.green .ic-wrap{background:rgba(255,255,255,.15);color:#fff}
.adv-side-card .ic-wrap{width:48px;height:48px;border-radius:var(--radius-sm);display:grid;place-items:center;margin-bottom:20px}
.adv-side-card h4{font-size:22px;font-weight:700;letter-spacing:-0.02em;line-height:1.2}
.adv-side-card p{margin-top:14px;font-size:14.5px;line-height:1.65;opacity:.85}

/* =============== CONTENT (legal pages) =============== */
.content-wrap{max-width:820px;margin:0 auto;padding:56px 28px}
.content-wrap h1{font-size:clamp(28px,3.6vw,42px);font-weight:700;letter-spacing:-0.03em;color:var(--ink);margin-bottom:12px}
.content-wrap .meta{color:var(--slate-500);font-size:13.5px;margin-bottom:32px}
.content-wrap h2{font-size:22px;font-weight:700;color:var(--ink);margin-top:36px;margin-bottom:12px;letter-spacing:-0.015em}
.content-wrap h3{font-size:17px;font-weight:700;color:var(--ink);margin-top:24px;margin-bottom:8px}
.content-wrap p{color:var(--slate-700);line-height:1.7;margin-bottom:14px;font-size:15px}
.content-wrap ul,.content-wrap ol{margin:0 0 14px 20px;color:var(--slate-700)}
.content-wrap li{margin-bottom:6px;line-height:1.7;font-size:15px}
.content-wrap strong{color:var(--ink);font-weight:600}

/* v2.6.72: Legal pages with sticky table-of-contents (Yandex-style) */
.legal-wrap{max-width:1140px;margin:0 auto;padding:48px 28px 80px}
.legal-layout{display:grid;grid-template-columns:260px 1fr;gap:48px;align-items:start}
.legal-toc{position:sticky;top:88px;max-height:calc(100vh - 110px);overflow-y:auto;padding-right:8px}
.legal-toc-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--slate-500);margin-bottom:14px}
.legal-toc nav{display:flex;flex-direction:column;gap:2px;border-left:2px solid var(--line,#E5E9DC)}
.legal-toc-link{display:block;padding:7px 0 7px 14px;margin-left:-2px;border-left:2px solid transparent;color:var(--slate-600);font-size:13px;line-height:1.4;text-decoration:none;transition:.15s}
.legal-toc-link:hover{color:var(--ink);border-left-color:var(--brand,#97C524)}
.legal-toc-link.active{color:var(--ink);font-weight:600;border-left-color:var(--brand,#97C524)}
.legal-content{min-width:0;max-width:760px}
.legal-content h1{font-size:clamp(26px,3.2vw,38px);font-weight:700;letter-spacing:-0.03em;color:var(--ink);margin-bottom:10px}
.legal-content .meta{color:var(--slate-500);font-size:13.5px;margin-bottom:36px;padding-bottom:20px;border-bottom:1px solid var(--line,#E5E9DC)}
.legal-content h2{font-size:20px;font-weight:700;color:var(--ink);margin-top:40px;margin-bottom:14px;letter-spacing:-0.015em;scroll-margin-top:88px}
.legal-content h3{font-size:16px;font-weight:700;color:var(--ink);margin-top:24px;margin-bottom:8px}
.legal-content p{color:var(--slate-700);line-height:1.75;margin-bottom:14px;font-size:14.5px}
.legal-content ul,.legal-content ol{margin:0 0 16px 22px;color:var(--slate-700)}
.legal-content li{margin-bottom:8px;line-height:1.7;font-size:14.5px}
.legal-content strong{color:var(--ink);font-weight:600}
.legal-content a{color:var(--brand-ink,#3D5C19);text-decoration:underline}
@media(max-width:900px){
  .legal-layout{grid-template-columns:1fr;gap:0}
  .legal-toc{position:static;max-height:none;margin-bottom:32px;padding:18px;background:var(--slate-50,#F8FAFC);border-radius:12px}
  .legal-toc nav{max-height:220px;overflow-y:auto}
  .legal-wrap{padding:32px 16px 60px}
}


/* =============== PRODUCT PAGE =============== */
.product-layout{display:grid;grid-template-columns:1fr 400px;gap:40px;margin-top:32px}
.product-main{background:var(--paper);border-radius:var(--radius-xl);padding:36px;box-shadow:var(--shadow-md)}
.product-main h1{font-size:32px;font-weight:700;letter-spacing:-0.025em;color:var(--ink);line-height:1.15}
.product-main .subtitle{color:var(--slate-500);margin-top:8px;font-size:15px}
.product-tags{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap}

.product-attrs{margin-top:28px;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--slate-100);border-radius:var(--radius-lg);overflow:hidden}
.product-attrs .cell{background:var(--paper);padding:20px}
.product-attrs .cell .k{font-size:10.5px;color:var(--slate-400);text-transform:uppercase;letter-spacing:.14em;font-weight:700}
.product-attrs .cell .v{font-size:18px;font-weight:700;color:var(--ink);margin-top:6px;letter-spacing:-0.01em}

.product-quality{margin-top:28px;border-radius:var(--radius-lg);background:var(--emerald-soft);padding:24px}
.product-quality h3{font-size:16px;font-weight:700;color:#064E3B;display:flex;align-items:center;gap:10px}
.product-quality .list{margin-top:16px;display:grid;grid-template-columns:1fr 1fr;gap:10px 24px}
.product-quality .row{display:flex;justify-content:space-between;padding:8px 0;font-size:14px;border-bottom:1px dashed rgba(6,78,59,.2)}
.product-quality .row .k{color:#064E3B}
.product-quality .row .v{font-weight:700;color:#064E3B;font-family:'JetBrains Mono',monospace}

.product-section{margin-top:28px}
.product-section h3{font-size:18px;font-weight:700;color:var(--ink);margin-bottom:12px;letter-spacing:-0.015em}
.product-section p{color:var(--slate-600);line-height:1.7;font-size:14.5px}

/* Product right sidebar */
.product-aside{position:sticky;top:88px;align-self:start}
.buy-card{background:var(--paper);border-radius:var(--radius-xl);padding:28px;box-shadow:var(--shadow-md)}
.buy-card .price{font-size:36px;font-weight:700;letter-spacing:-0.025em;color:var(--ink);display:flex;align-items:baseline;gap:8px}
.buy-card .price .unit{font-size:18px;color:var(--slate-500);font-weight:500}
.buy-card .vat{margin-top:6px;display:inline-block;font-size:12px;padding:4px 10px;border-radius:6px;background:var(--emerald-soft);color:#065F46;font-weight:600}
.buy-card .delta{margin-top:14px;padding:12px 14px;border-radius:var(--radius-sm);background:var(--emerald-soft);color:#065F46;font-size:13px;font-weight:500;display:flex;align-items:center;gap:8px}
.buy-card .actions{margin-top:20px;display:flex;flex-direction:column;gap:10px}
.buy-card .actions .btn{height:52px;font-size:15px}
.buy-card .divider{margin:24px 0;height:1px;background:var(--slate-100)}
.buy-card .supplier-block{display:flex;flex-direction:column;gap:12px}
.buy-card .supplier-block .verify{align-self:flex-start}
.buy-card .supplier-block .info{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--slate-600);flex-wrap:wrap}
.buy-card .escrow{margin-top:16px;padding:14px;border-radius:var(--radius-sm);background:var(--slate-50);display:flex;gap:10px;align-items:flex-start}
.buy-card .escrow .ic{color:var(--emerald);flex-shrink:0;margin-top:2px}
.buy-card .escrow p{font-size:12.5px;color:var(--slate-600);line-height:1.5}

/* Delivery calculator on product page */
.delivery-calc{
  margin-top:18px;padding:18px;border-radius:var(--radius-sm);
  background:var(--emerald-soft);border:1px solid rgba(151,197,36,.2);
}
.delivery-calc-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.delivery-calc-head .ic{color:var(--emerald-600);flex-shrink:0}
.delivery-calc-head .t{font-size:13px;font-weight:700;color:#065F46}
.delivery-calc-route{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:12px 14px;background:#fff;border-radius:10px;margin-bottom:10px;flex-wrap:wrap;
}
.delivery-calc-route .from{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.delivery-calc-route .from .k{font-size:10px;color:var(--slate-400);text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.delivery-calc-route .from .v{font-size:13.5px;font-weight:600;color:var(--ink)}
.delivery-calc-route .arrow{color:var(--emerald);font-size:18px;flex-shrink:0}
.delivery-calc-route .to{text-align:right;display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.delivery-calc-route .to .k{font-size:10px;color:var(--emerald-600);text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.delivery-calc-route .to .v{font-size:13.5px;font-weight:600;color:var(--ink)}
.delivery-calc-route .to .change{font-size:10.5px;color:var(--emerald-600);font-weight:700;cursor:pointer;margin-top:3px;letter-spacing:.05em;text-transform:uppercase}
.delivery-calc-route .to .change:hover{text-decoration:underline}
.delivery-calc-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.delivery-calc-stats .stat{padding:10px 12px;background:rgba(255,255,255,.6);border-radius:10px}
.delivery-calc-stats .stat .k{font-size:10px;color:#065F46;text-transform:uppercase;letter-spacing:.1em;font-weight:700;opacity:.7}
.delivery-calc-stats .stat .v{font-family:'JetBrains Mono',monospace;font-size:15px;font-weight:700;color:#064E3B;margin-top:3px}

/* Total cost with delivery */
.total-with-delivery{
  margin-top:10px;padding:10px 14px;border-radius:10px;
  background:rgba(151,197,36,.12);display:flex;justify-content:space-between;align-items:center;
  font-size:13px;color:#064E3B;font-weight:600;
}
.total-with-delivery .mono{font-family:'JetBrains Mono',monospace;font-size:15px;font-weight:700}

/* =============== CONTACTS PAGE =============== */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:32px}
.contact-info{display:flex;flex-direction:column;gap:14px}
.contact-tile{background:var(--paper);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:16px;transition:transform .2s}
.contact-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.contact-tile .ic-wrap{width:48px;height:48px;border-radius:var(--radius-sm);background:var(--emerald-soft);color:var(--emerald-600);display:grid;place-items:center;flex-shrink:0}
.contact-tile .k{font-size:12px;color:var(--slate-500);text-transform:uppercase;letter-spacing:.08em;font-weight:600}
.contact-tile .v{font-size:16px;font-weight:600;color:var(--ink);margin-top:3px;letter-spacing:-0.01em}
.contact-form{background:var(--paper);border-radius:var(--radius-xl);padding:32px;box-shadow:var(--shadow-md)}
.contact-form h3{font-size:22px;font-weight:700;color:var(--ink);letter-spacing:-0.02em}
.contact-form p{color:var(--slate-500);margin-top:6px;font-size:14px}
.form-group{margin-top:18px}
.form-group label{display:block;font-size:12.5px;color:var(--slate-500);margin-bottom:6px;font-weight:500}
.form-group label .req{color:var(--red)}
.form-group input,.form-group textarea{width:100%;padding:13px 16px;border:1px solid var(--slate-200);border-radius:var(--radius-sm);font-family:inherit;font-size:14.5px;color:var(--ink);background:var(--paper);transition:all .15s;outline:none}
.form-group input:focus,.form-group textarea:focus{border-color:var(--emerald);box-shadow:0 0 0 3px var(--emerald-ring)}
.form-group textarea{resize:vertical;min-height:100px}
.form-note{margin-top:14px;font-size:12.5px;color:var(--slate-500);line-height:1.5}
.form-note a{color:var(--emerald-600);font-weight:500}

/* =============== HELP / HOW =============== */
.help-quick{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px}
.help-tile{background:var(--paper);border-radius:var(--radius-lg);padding:28px;box-shadow:var(--shadow-md);text-align:center;transition:transform .22s}
.help-tile:hover{transform:translateY(-4px)}
.help-tile .ic-wrap{width:56px;height:56px;margin:0 auto 16px;border-radius:var(--radius-md);background:var(--emerald-soft);color:var(--emerald-600);display:grid;place-items:center}
.help-tile h4{font-size:17px;font-weight:700;color:var(--ink);letter-spacing:-0.015em}
.help-tile p{color:var(--slate-500);margin-top:8px;font-size:13.5px;line-height:1.5}
.help-tile .btn{margin-top:16px}

.help-blocks{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:40px}
.help-block{background:var(--paper);border-radius:var(--radius-xl);padding:32px;box-shadow:var(--shadow-md)}
.help-block .ic-big{width:56px;height:56px;border-radius:var(--radius-md);background:var(--slate-100);color:var(--ink);display:grid;place-items:center;margin-bottom:20px}
.help-block h3{font-size:22px;font-weight:700;letter-spacing:-0.02em;color:var(--ink)}
.help-block-section{margin-top:24px}
.help-block-section h4{font-size:15px;font-weight:700;color:var(--ink);margin-bottom:10px}
.help-block-section ul{list-style:none;padding:0}
.help-block-section li{display:flex;gap:10px;color:var(--slate-600);font-size:14px;padding:6px 0;line-height:1.5}
.help-block-section li::before{content:"→";color:var(--emerald);font-weight:700;flex-shrink:0}

.faq-mistakes{background:var(--paper);border-radius:var(--radius-xl);padding:36px;box-shadow:var(--shadow-md);margin-top:40px}
.faq-mistakes h3{font-size:20px;font-weight:700;color:var(--ink);letter-spacing:-0.02em}
.faq-mistakes-list{margin-top:18px;display:flex;flex-direction:column;gap:10px}
.faq-mistakes-item{display:flex;gap:12px;padding:16px;background:var(--slate-50);border-radius:var(--radius-sm);align-items:flex-start}
.faq-mistakes-item .ic{color:var(--orange);flex-shrink:0;margin-top:2px}
.faq-mistakes-item .txt{color:var(--slate-700);font-size:14.5px;line-height:1.5}

/* =============== ABOUT =============== */
.about-targets{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:32px}
.target-card{
  background:var(--paper);border-radius:var(--radius-xl);
  padding:28px 28px 24px;box-shadow:var(--shadow-md);
  display:flex;flex-direction:column;gap:20px;
  transition:transform .22s, box-shadow .22s;
}
.target-card:hover{transform:translateY(-2px);box-shadow:0 18px 36px -12px rgba(0,0,0,.10)}
.target-card-head{display:flex;align-items:flex-start;gap:18px}
.target-card .ic-big{
  width:56px;height:56px;flex-shrink:0;
  border-radius:var(--radius-md);background:var(--emerald-soft);
  color:var(--emerald-600);display:grid;place-items:center;
}
.target-card h4{font-size:20px;font-weight:700;letter-spacing:-0.02em;color:var(--ink);margin-bottom:6px}
.target-card p{color:var(--slate-600);line-height:1.55;font-size:14.5px}
.target-card .btn{align-self:flex-start;margin-top:auto}

/* About → "Как это работает" — full-width header above 4-column steps grid */
.how-section{display:flex;flex-direction:column;gap:32px}
.how-section-head{max-width:680px}
.how-section-head .h2{margin-top:8px}
.how-section-head .section-lead{margin-top:14px}
.steps-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media (max-width:980px){
  .steps-grid-4{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:540px){
  .steps-grid-4{grid-template-columns:1fr}
}

.guarantees{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:32px}
.guarantee{background:var(--paper);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:12px}
.guarantee .ic{color:var(--emerald);width:40px;height:40px;border-radius:12px;background:var(--emerald-soft);display:grid;place-items:center}
.guarantee h5{font-size:15px;font-weight:700;color:var(--ink);line-height:1.3}

.final-cta{
  margin-top:48px;border-radius:var(--radius-xl);padding:48px;
  background:linear-gradient(135deg,#1A2410 0%,#324518 100%);color:#fff;
  text-align:center;position:relative;overflow:hidden;
}
.final-cta::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 0% 100%,rgba(151,197,36,.2),transparent 50%),radial-gradient(circle at 100% 0%,rgba(245,166,35,.15),transparent 50%)}
.final-cta > *{position:relative;z-index:1}
.final-cta h3{font-size:clamp(26px,3.2vw,34px);font-weight:700;letter-spacing:-0.025em;line-height:1.15}
.final-cta p{margin-top:14px;font-size:17px;color:rgba(226,232,240,.85);max-width:560px;margin-left:auto;margin-right:auto}
.final-cta .actions{margin-top:28px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* =============== FOOTER =============== */
/* =============== FOOTER (v2.6.14 — переработан) =============== */
.site-footer{
  background:linear-gradient(180deg,#1A2410 0%,#0F1808 100%);
  color:#E2E8F0;
  margin-top:96px;
  position:relative;
  overflow:hidden;
}
.site-footer::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(700px circle at 0% 0%,rgba(151,197,36,.08),transparent 50%),
    radial-gradient(600px circle at 100% 100%,rgba(245,166,35,.05),transparent 50%);
}
.site-footer > *{position:relative;z-index:1}
.foot-wrap{
  max-width:var(--container);margin:0 auto;
  padding:64px 28px 40px;
  display:grid;
  grid-template-columns:1.4fr auto auto auto auto;
  gap:48px;align-items:start;
}
.foot-brand{display:flex;flex-direction:column;gap:18px;max-width:340px}
.foot-brand img{
  height:48px;width:auto;max-width:200px;object-fit:contain;
  filter:brightness(1.15) saturate(0.85);
}
.foot-brand p{font-size:14px;color:rgba(226,232,240,.6);line-height:1.6}
.foot-brand .foot-tagline{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 12px;border-radius:999px;
  background:rgba(151,197,36,.12);
  color:#C7E588;font-size:12px;font-weight:500;
  letter-spacing:.02em;width:fit-content;
  border:1px solid rgba(151,197,36,.2);
}
.foot-col{display:flex;flex-direction:column;gap:14px}
.foot-col h5{
  font-size:11.5px;font-weight:700;text-transform:uppercase;
  letter-spacing:.18em;color:rgba(151,197,36,.85);margin-bottom:4px;
}
.foot-col a,.foot-col .txt{
  font-size:14px;color:rgba(226,232,240,.7);
  transition:all .15s;line-height:1.5;
  display:inline-flex;align-items:center;gap:6px;
}
.foot-col a:hover{color:#fff;transform:translateX(2px)}
.foot-col .foot-phone{
  font-size:16px;font-weight:700;color:#fff;
  font-family:'JetBrains Mono',monospace;letter-spacing:-0.01em;
}
.foot-col .foot-phone:hover{color:#C7E588;transform:none}
.foot-bot{
  border-top:1px solid rgba(255,255,255,.06);
  padding:24px 28px;
  display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:14px;
  max-width:var(--container);margin:0 auto;
}
.foot-bot .c{
  font-size:12px;color:rgba(226,232,240,.45);
  font-family:'JetBrains Mono',monospace;letter-spacing:.02em;
}
.foot-bot .legal{
  font-size:11.5px;color:rgba(226,232,240,.35);
  max-width:540px;line-height:1.5;
}
.foot-soc{display:flex;gap:10px;margin-top:4px}
.foot-soc a{
  width:38px;height:38px;border-radius:50%;
  background:rgba(255,255,255,.06);
  display:grid;place-items:center;
  color:rgba(226,232,240,.7);
  transition:all .2s;
  border:1px solid rgba(255,255,255,.06);
}
.foot-soc a:hover{
  background:linear-gradient(135deg,#97C524 0%,#7BA81C 100%);
  color:#fff;transform:translateY(-2px);
  box-shadow:0 6px 16px rgba(151,197,36,.35);
  border-color:transparent;
}
.foot-doclinks{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--slate-400)}
.foot-doclinks a:hover{color:var(--slate-600)}

/* =============== SITE SEARCH OVERLAY =============== */
.so-backdrop{position:fixed;inset:0;background:rgba(26,36,16,.5);backdrop-filter:blur(6px);z-index:90;display:none}
.so-backdrop.on{display:block;animation:fadein .2s}
.so{position:fixed;top:80px;left:50%;transform:translateX(-50%);width:calc(100% - 40px);max-width:640px;background:var(--paper);border-radius:var(--radius-lg);box-shadow:0 32px 80px rgba(26,36,16,.35);overflow:hidden;z-index:91;display:none;max-height:calc(100vh - 120px);flex-direction:column}
.so.on{display:flex;animation:dropin .22s cubic-bezier(.4,0,.2,1)}
@keyframes dropin{from{opacity:0;transform:translate(-50%,-12px)}to{opacity:1;transform:translate(-50%,0)}}
.so-in{display:flex;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid var(--slate-100)}
.so-in .ic{color:var(--emerald);flex-shrink:0}
.so-in input{flex:1;border:none;outline:none;background:transparent;font-family:inherit;font-size:16px;color:var(--ink)}
.so-in input::placeholder{color:var(--slate-400)}
.so-in .esc{font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:600;background:var(--slate-100);color:var(--slate-500);padding:3px 7px;border-radius:5px}
.so-body{flex:1;overflow-y:auto}
.sd-sec{padding:14px 20px;border-bottom:1px solid var(--slate-100)}
.sd-sec:last-child{border-bottom:none}
.sd-title{font-size:10.5px;font-weight:700;color:var(--slate-400);text-transform:uppercase;letter-spacing:.14em;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center}
.sd-title .cnt{color:var(--emerald);font-family:'JetBrains Mono',monospace;letter-spacing:0;text-transform:none;font-size:11px}
.sd-chips{display:flex;flex-wrap:wrap;gap:6px}
.sd-chip{padding:6px 12px;border-radius:999px;background:var(--emerald-soft);color:#065F46;font-size:13px;font-weight:500;transition:all .15s}
.sd-chip:hover{background:var(--emerald);color:#fff}
.sd-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius-sm);cursor:pointer;transition:background .12s}
.sd-item:hover,.sd-item.kbd-focus{background:var(--slate-50)}
.sd-ic{width:34px;height:34px;border-radius:10px;background:var(--emerald-soft);display:grid;place-items:center;font-size:16px;flex-shrink:0}
.sd-ic.orange{background:var(--orange-soft)}
.sd-ic.dark{background:var(--ink);color:#fff;font-weight:700;font-size:13px}
.sd-main{flex:1;min-width:0}
.sd-lbl{font-size:14.5px;font-weight:500;color:var(--ink);line-height:1.3}
.sd-meta{font-size:12px;color:var(--slate-500);margin-top:3px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.sd-meta .price{font-family:'JetBrains Mono',monospace;color:var(--emerald);font-weight:600}
.sd-meta .dot{width:3px;height:3px;border-radius:50%;background:var(--slate-300)}
.sd-arrow{color:var(--slate-400);opacity:0;transition:opacity .15s}
.sd-item:hover .sd-arrow,.sd-item.kbd-focus .sd-arrow{opacity:1}
.so-ft{padding:12px 20px;background:var(--slate-50);display:flex;justify-content:space-between;font-size:11.5px;color:var(--slate-500);gap:12px;flex-wrap:wrap}
.so-ft .hints{display:flex;gap:14px;flex-wrap:wrap}
.so-ft .hints span{display:inline-flex;align-items:center;gap:5px}
.so-ft kbd{font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:600;background:var(--paper);border:1px solid var(--slate-200);padding:2px 6px;border-radius:4px;color:var(--ink)}
.so-ft .all{color:var(--emerald);font-weight:600;cursor:pointer}

/* =============== 404 =============== */
.error-page{min-height:calc(100vh - 200px);display:flex;align-items:center;justify-content:center;padding:60px 28px}
.error-content{text-align:center;max-width:480px}
.error-code{font-size:clamp(120px,18vw,180px);font-weight:800;line-height:1;background:linear-gradient(135deg,var(--emerald),var(--green));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-0.04em}
.error-content h1{font-size:28px;font-weight:700;color:var(--ink);margin-top:20px}
.error-content p{color:var(--slate-500);margin-top:12px;font-size:16px}
.error-content .actions{margin-top:28px;display:flex;gap:10px;justify-content:center;flex-wrap:wrap}

/* =============== MOBILE BOTTOM BAR (product page) =============== */
.mobile-bottom-bar{
  display:none;position:fixed;bottom:0;left:0;right:0;z-index:50;
  background:rgba(255,255,255,.96);backdrop-filter:blur(20px);
  border-top:1px solid var(--slate-200);padding:12px 16px;gap:10px;
  box-shadow:0 -8px 24px rgba(26,36,16,.1);
}

/* =============== RESPONSIVE =============== */
@media (max-width:1280px){
  .bar{gap:14px;padding:14px 20px}
  .phone-link{display:none}
  .brand-sub{display:none}
}
@media (max-width:1100px){
  .bar{gap:12px}
  .nav-main{display:none}
  .menu-trigger{display:flex}
  .region-chip .change{display:none}

  .hero-inner{grid-template-columns:1fr;gap:40px;padding:48px 28px}
  .focus-wrap{max-width:none;margin-left:0}
  .hero-search{grid-template-columns:1fr 1fr;gap:8px}
  .hero-search-submit{grid-column:span 2}
  .hero-stats{grid-template-columns:repeat(3,1fr)}

  .filter-bar{grid-template-columns:1fr 1fr;gap:6px}
  .filter-bar .submit{grid-column:span 2}

  .cards-grid{grid-template-columns:repeat(2,1fr)}
  .cards-grid > .card-featured{grid-column:span 2}

  .reverse-card{grid-template-columns:1fr;padding:32px;gap:28px}
  .how-grid,.adv-grid,.contact-grid,.about-targets,.help-blocks{grid-template-columns:1fr;gap:36px}
  .steps-grid{grid-template-columns:1fr 1fr}
  .foot-wrap{grid-template-columns:1.4fr 1fr 1fr;gap:36px;padding:48px 24px 32px}
  .foot-brand{grid-column:1/-1;max-width:none}
  .guarantees{grid-template-columns:repeat(2,1fr)}
  .help-quick{grid-template-columns:1fr}

  .product-layout{grid-template-columns:1fr}
  .product-aside{position:static}
}

@media (max-width:720px){
  .bar{padding:14px 16px;gap:12px}
  /* v2.6.31: на телефоне в шапке только лого + лупа + бургер.
     Войти/Кабинет/помощь/телефон уезжали за экран — прячем,
     они доступны в drawer (мобильном меню). */
  .bar .btn-ghost,
  .bar .btn-primary,
  .bar #tourHelpBtn,
  .bar .phone-link,
  .bar .region-chip{display:none}
  .menu-trigger{display:flex;flex-shrink:0}
  .brand img{height:30px}
  .site-search-btn span{display:none}
  .site-search-btn{padding:9px;width:44px;height:44px;justify-content:center}
  .site-search-btn kbd{display:none}

  .hero-inner{padding:36px 16px;gap:28px}
  .hero h1{font-size:38px}
  .hero-search{grid-template-columns:1fr;padding:8px}
  .hero-search .field{min-height:56px}
  .hero-search-submit{grid-column:span 1;min-height:52px}
  .hero-stats{grid-template-columns:1fr;gap:10px}
  .hero-stat{padding:18px}
  .focus-wrap{padding:14px}
  .focus-grid{grid-template-columns:1fr 1fr;gap:8px}
  .focus-cell{padding:12px}
  .focus-head .title{font-size:18px}

  .section{padding:48px 16px}
  .page-hero-inner{padding:36px 16px 32px}
  .filter-bar{grid-template-columns:1fr;padding:6px}
  .filter-bar .submit{grid-column:span 1}

  .catalog-head .top-row{flex-direction:column;align-items:flex-start}
  .view-tools{width:100%;justify-content:space-between}

  .cards-grid{grid-template-columns:1fr;gap:14px}
  .cards-grid > .card-featured{grid-column:span 1}
  .card-head{padding:20px 20px 16px}
  .card-meta{grid-template-columns:1fr 1fr}
  .card-meta .cell:last-child{grid-column:span 2}
  .q-toggle,.q-body-inner{padding-left:20px;padding-right:20px}
  .supplier-strip{padding:12px 20px;flex-direction:column;align-items:flex-start;gap:8px}
  .distance-strip{padding:12px 20px}
  .distance-cost{font-size:11.5px}
  .card-foot{padding:14px 20px 20px;flex-direction:column;align-items:stretch}
  .card-foot .cta{width:100%;justify-content:center}

  .reverse-card{padding:24px}
  .reverse-form{grid-template-columns:1fr}
  .reverse-form .submit{grid-column:span 1}

  .steps-grid{grid-template-columns:1fr}
  .guarantees{grid-template-columns:1fr 1fr;gap:10px}
  .guarantee{padding:16px}
  .foot-wrap{grid-template-columns:1fr;gap:32px;padding:48px 20px 32px;text-align:left}
  .foot-brand{align-items:flex-start;max-width:100%}
  .foot-brand img{height:42px;max-width:180px}

  .product-main{padding:24px}
  .product-main h1{font-size:26px}
  .product-attrs{grid-template-columns:1fr 1fr}
  .product-quality .list{grid-template-columns:1fr}
  .buy-card{padding:22px}

  .contact-form{padding:24px}
  .mobile-bottom-bar{display:flex}
  .product-aside .buy-card .actions{display:none}

  .content-wrap{padding:36px 16px}
  .foot-bot{padding:20px 20px;flex-direction:column;text-align:center;align-items:flex-start}
  .foot-bot .c,.foot-bot .legal{text-align:left;max-width:100%}
}

/* =================================================================
   ICON BUTTON (replaces text search button in header)
   ================================================================= */
.icon-btn{
  width:40px;height:40px;border-radius:50%;background:var(--slate-100);
  display:grid;place-items:center;color:var(--slate-600);transition:all .18s;
  flex-shrink:0;
}
.icon-btn:hover{background:var(--slate-200);color:var(--ink)}
.icon-btn svg{width:18px;height:18px}

/* =================================================================
   MODALS (onboarding, login)
   ================================================================= */
.modal-backdrop{
  position:fixed;inset:0;background:rgba(26,36,16,.55);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  z-index:110;display:none;opacity:0;transition:opacity .2s;
}
.modal-backdrop.on{display:block;opacity:1}

.modal{
  position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.96);
  width:calc(100% - 40px);max-width:520px;max-height:calc(100vh - 40px);
  background:var(--paper);border-radius:var(--radius-xl);
  box-shadow:0 24px 80px rgba(26,36,16,.3);
  z-index:111;display:none;opacity:0;flex-direction:column;
  overflow:hidden;transition:opacity .2s,transform .2s cubic-bezier(.4,0,.2,1);
}
.modal.on{display:flex;opacity:1;transform:translate(-50%,-50%) scale(1)}
.modal-close{
  position:absolute;top:16px;right:16px;z-index:2;
  width:36px;height:36px;border-radius:50%;background:var(--slate-100);
  color:var(--slate-600);display:grid;place-items:center;transition:all .15s;
}
.modal-close:hover{background:var(--slate-200);color:var(--ink)}
/* v2.6.39: кнопка «Отмена/Закрыть» в группе кнопок тоже имеет класс
   modal-close (для логики закрытия). Но абсолютное позиционирование
   из .modal-close кидало её в угол поверх крестика-✕. Кнопки .btn
   с modal-close — обычные, в потоке, не абсолютные. */
.btn.modal-close{
  position:static !important;
  width:auto;height:auto;border-radius:14px;
  display:inline-flex;
}

/* Onboarding specific */
.modal-onb{max-width:640px}
.onb-head{padding:40px 32px 24px;text-align:center}
.onb-logo{height:40px;width:auto;margin:0 auto 20px;display:block}
.onb-head h2{font-size:26px;font-weight:700;letter-spacing:-0.025em;color:var(--ink);line-height:1.2}
.onb-head p{margin-top:10px;color:var(--slate-500);font-size:14.5px;line-height:1.55;max-width:440px;margin-left:auto;margin-right:auto}

.onb-choices{
  padding:0 24px 20px;display:grid;grid-template-columns:1fr 1fr;gap:14px;
}
.onb-choice{
  display:flex;flex-direction:column;gap:12px;padding:24px 20px;
  border:2px solid var(--slate-200);border-radius:var(--radius-lg);
  background:var(--paper);text-align:left;cursor:pointer;
  transition:all .2s cubic-bezier(.4,0,.2,1);
}
.onb-choice:hover{
  border-color:var(--emerald);transform:translateY(-3px);
  box-shadow:0 12px 30px -8px var(--emerald-ring);
}
.onb-choice-ic{
  width:52px;height:52px;border-radius:var(--radius-sm);
  background:var(--emerald-soft);color:var(--emerald-600);
  display:grid;place-items:center;
}
.onb-choice[data-role="seller"] .onb-choice-ic{background:var(--orange-soft);color:var(--orange-dark)}
.onb-choice-body h3{font-size:17px;font-weight:700;color:var(--ink);letter-spacing:-0.015em;line-height:1.25}
.onb-choice-body p{margin-top:6px;font-size:13.5px;color:var(--slate-500);line-height:1.5}
.onb-choice-go{
  margin-top:10px;display:inline-flex;align-items:center;gap:6px;
  font-size:13px;font-weight:600;color:var(--emerald-600);
}
.onb-choice[data-role="seller"] .onb-choice-go{color:var(--orange-dark)}

.onb-foot{
  padding:18px 24px;background:var(--slate-50);
  display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;
}
.onb-skip,.onb-login{
  font-size:13.5px;color:var(--slate-600);font-weight:500;padding:8px 12px;
  border-radius:8px;transition:all .15s;
}
.onb-skip:hover{background:var(--slate-100);color:var(--ink)}
.onb-login{color:var(--emerald-600);font-weight:600}
.onb-login:hover{background:var(--emerald-soft)}

/* Login modal */
.modal-login{max-width:440px}
.login-tabs{
  display:flex;padding:8px 8px 0;gap:4px;border-bottom:1px solid var(--slate-100);
}
.login-tab{
  flex:1;padding:14px 12px;font-size:14px;font-weight:600;
  color:var(--slate-500);border-bottom:2px solid transparent;
  transition:all .15s;
}
.login-tab:hover{color:var(--ink)}
.login-tab.active{color:var(--emerald-600);border-bottom-color:var(--emerald)}

.login-pane{padding:28px 28px 32px;overflow-y:auto}
.login-pane h2{font-size:22px;font-weight:700;letter-spacing:-0.02em;color:var(--ink)}
.login-sub{margin-top:6px;color:var(--slate-500);font-size:14px;line-height:1.5}
.login-form{margin-top:20px}
.login-form .form-group{margin-top:14px}
.login-form .form-group:first-child{margin-top:0}
.login-form .btn{margin-top:20px}
.form-hint{font-size:12px;color:var(--slate-400);margin-top:6px}

.login-divider{
  margin:20px 0;position:relative;text-align:center;
  font-size:12px;color:var(--slate-400);text-transform:uppercase;letter-spacing:.1em;
}
.login-divider::before{
  content:"";position:absolute;top:50%;left:0;right:0;height:1px;
  background:var(--slate-200);z-index:-1;
}
.login-divider span{background:var(--paper);padding:0 14px}
.login-alt .btn{justify-content:center}
.login-alt .btn svg{color:#0088cc}

/* Segmented control for role */
.seg{display:flex;gap:4px;padding:4px;background:var(--slate-100);border-radius:10px}
.seg-btn{
  flex:1;padding:9px 12px;border-radius:7px;font-size:13px;font-weight:500;
  color:var(--slate-600);transition:all .15s;
}
.seg-btn.active{background:var(--paper);color:var(--ink);font-weight:600;box-shadow:0 1px 3px rgba(26,36,16,.08)}

/* =================================================================
   ACCOUNT (личный кабинет)
   ================================================================= */
.account-layout{display:grid;grid-template-columns:260px 1fr;gap:32px;margin-top:24px}
.account-aside{
  background:var(--paper);border-radius:var(--radius-xl);padding:20px;
  box-shadow:var(--shadow-md);position:sticky;top:92px;align-self:start;
}
.account-user{padding:12px 8px 20px;border-bottom:1px solid var(--slate-100);margin-bottom:16px}
.account-user .avatar{
  width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--emerald),var(--green));
  color:#fff;display:grid;place-items:center;font-size:18px;font-weight:700;margin-bottom:10px;
}
.account-user .name{font-size:15px;font-weight:700;color:var(--ink);letter-spacing:-0.01em}
.account-user .company{font-size:12px;color:var(--slate-500);margin-top:3px}
.account-user .role-chip{
  display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;
  background:var(--emerald-soft);color:#065F46;font-size:10.5px;font-weight:700;
  text-transform:uppercase;letter-spacing:.05em;margin-top:10px;
}
.account-user .role-chip.seller{background:var(--orange-soft);color:#92400E}
.account-user .balance{
  margin-top:14px;padding:12px 14px;border-radius:var(--radius-sm);background:var(--ink);color:#fff;
}
.account-user .balance .k{font-size:10px;color:rgba(255,255,255,.55);text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.account-user .balance .v{font-family:'JetBrains Mono',monospace;font-size:18px;font-weight:700;margin-top:4px}
.account-user .balance .v small{font-size:11px;color:rgba(255,255,255,.55);font-weight:500;margin-left:4px}

.account-nav{display:flex;flex-direction:column;gap:2px}
.account-nav a{
  display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:10px;
  font-size:14px;font-weight:500;color:var(--slate-600);transition:all .15s;
}
.account-nav a:hover{background:var(--slate-50);color:var(--ink)}
.account-nav a.active{background:var(--emerald-soft);color:#065F46;font-weight:600}
.account-nav a .ic{color:var(--slate-400);flex-shrink:0}
.account-nav a.active .ic{color:var(--emerald-600)}
.account-nav a .badge-num{
  margin-left:auto;font-size:11px;font-weight:700;padding:2px 8px;
  background:var(--slate-100);color:var(--slate-600);border-radius:999px;min-width:22px;text-align:center;
}
.account-nav a.active .badge-num{background:var(--emerald);color:#fff}

.account-main{min-width:0}
.account-head{
  display:flex;justify-content:space-between;align-items:flex-end;gap:20px;
  margin-bottom:24px;flex-wrap:wrap;
}
.account-head h1{font-size:30px;font-weight:700;letter-spacing:-0.025em;color:var(--ink)}
.account-head p{color:var(--slate-500);margin-top:6px;font-size:14.5px}

.account-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}
.account-stat{
  background:var(--paper);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm);
}
.account-stat .k{font-size:11px;color:var(--slate-500);text-transform:uppercase;letter-spacing:.1em;font-weight:600}
.account-stat .v{font-family:'JetBrains Mono',monospace;font-size:26px;font-weight:700;color:var(--ink);margin-top:6px;letter-spacing:-0.02em}
.account-stat .d{font-size:12px;margin-top:6px;display:flex;align-items:center;gap:4px}
.account-stat .d.up{color:var(--emerald-600)}
.account-stat .d.dn{color:var(--red)}

.account-panel{
  background:var(--paper);border-radius:var(--radius-xl);padding:24px;box-shadow:var(--shadow-md);margin-bottom:20px;
}
.account-panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px;flex-wrap:wrap}
.account-panel-head h3{font-size:17px;font-weight:700;color:var(--ink);letter-spacing:-0.015em}

/* Deals list table */
.deals-list{display:flex;flex-direction:column;gap:10px}
.deal-row{
  display:grid;grid-template-columns:auto 1fr auto auto auto;gap:14px;align-items:center;
  padding:14px;background:var(--slate-50);border-radius:var(--radius-sm);transition:all .15s;
}
.deal-row:hover{background:var(--slate-100)}
.deal-status{
  width:36px;height:36px;border-radius:10px;display:grid;place-items:center;flex-shrink:0;
  font-size:14px;font-weight:700;
}
.deal-status.active{background:var(--emerald-soft);color:var(--emerald-600)}
.deal-status.pending{background:var(--orange-soft);color:var(--orange-dark)}
.deal-status.done{background:var(--slate-100);color:var(--slate-500)}
.deal-status.cancelled{background:#FEE2E2;color:var(--red)}
.deal-info .title{font-size:14px;font-weight:600;color:var(--ink);letter-spacing:-0.01em}
.deal-info .meta{font-size:12px;color:var(--slate-500);margin-top:2px;display:flex;gap:8px;flex-wrap:wrap}
.deal-info .meta .dot{color:var(--slate-300)}
.deal-price{font-family:'JetBrains Mono',monospace;font-size:14px;font-weight:700;color:var(--ink);text-align:right}
.deal-price small{display:block;font-size:11px;color:var(--slate-500);font-weight:500;margin-top:2px;font-family:'Manrope',sans-serif}
.deal-label{font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}
.deal-label.active{background:var(--emerald-soft);color:#065F46}
.deal-label.pending{background:var(--orange-soft);color:#92400E}
.deal-label.done{background:var(--slate-100);color:var(--slate-600)}
.deal-label.cancelled{background:#FEE2E2;color:var(--red)}
.deal-actions{display:flex;gap:6px}
.deal-actions .btn-sm{padding:6px 12px;font-size:12px}

.empty-panel{text-align:center;padding:40px 20px;color:var(--slate-500)}
.empty-panel .ic{color:var(--slate-300);margin:0 auto 14px}
.empty-panel h4{color:var(--ink);font-size:16px;font-weight:700;margin-bottom:6px}
.empty-panel p{font-size:13.5px;max-width:320px;margin:0 auto 16px}

/* =================================================================
   WORKING FILTERS (sidebar on catalog)
   ================================================================= */
.catalog-layout{display:grid;grid-template-columns:280px 1fr;gap:28px;align-items:start}
.filters-aside{
  background:var(--paper);border-radius:var(--radius-xl);padding:22px;
  box-shadow:var(--shadow-md);
  /* Sticky positioning — always visible while scrolling */
  position:sticky;top:92px;align-self:start;
  /* Limit to viewport height; scroll inside if needed */
  max-height:calc(100vh - 110px);
  overflow-y:auto;
  /* Custom scrollbar */
  scrollbar-width:thin;scrollbar-color:var(--slate-300) transparent;
}
.filters-aside::-webkit-scrollbar{width:6px}
.filters-aside::-webkit-scrollbar-track{background:transparent}
.filters-aside::-webkit-scrollbar-thumb{background:var(--slate-200);border-radius:999px}
.filters-aside::-webkit-scrollbar-thumb:hover{background:var(--slate-300)}
/* Reset any flex layout from old code */
.filters-scroll{display:contents}
.filters-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--slate-100)}
.filters-head h3{font-size:15px;font-weight:700;color:var(--ink)}
.filters-head .reset{font-size:12px;color:var(--emerald-600);font-weight:600;cursor:pointer;padding:4px 8px;border-radius:6px}
.filters-head .reset:hover{background:var(--emerald-soft)}

.filter-group{padding:12px 0;border-bottom:1px solid var(--slate-100)}
.filter-group:last-child{border-bottom:none;padding-bottom:0}
.filter-group h4{
  font-size:11px;font-weight:700;color:var(--slate-500);text-transform:uppercase;
  letter-spacing:.1em;margin-bottom:10px;
}
.filter-checks{display:flex;flex-direction:column;gap:4px}
.filter-check{
  display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:8px;
  font-size:13.5px;color:var(--slate-700);cursor:pointer;transition:background .12s;
}
.filter-check:hover{background:var(--slate-50)}
.filter-check input{
  appearance:none;-webkit-appearance:none;width:16px;height:16px;
  border:1.5px solid var(--slate-300);border-radius:4px;cursor:pointer;
  background:var(--paper);position:relative;transition:all .15s;flex-shrink:0;
}
.filter-check input:checked{background:var(--emerald);border-color:var(--emerald)}
.filter-check input:checked::after{
  content:"";position:absolute;top:1px;left:4px;width:5px;height:9px;
  border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);
}
.filter-check .count{margin-left:auto;color:var(--slate-400);font-family:'JetBrains Mono',monospace;font-size:11.5px;font-weight:500}

/* Collapsible crop tree (parent + subitems) */
.crop-filter-tree{display:flex;flex-direction:column;gap:2px}
.crop-row{display:flex;align-items:center;gap:4px}
.crop-row .filter-check{flex:1}
.crop-toggle{
  background:transparent;border:none;cursor:pointer;
  width:26px;height:26px;border-radius:6px;
  font-size:12px;color:var(--slate-400);
  display:flex;align-items:center;justify-content:center;
  transition:background .15s,color .15s,transform .25s ease;
  flex-shrink:0;
}
.crop-toggle:hover{background:var(--slate-50);color:var(--slate-700)}
.crop-toggle[aria-expanded="true"]{transform:rotate(180deg);color:var(--emerald)}
.filter-subitems{
  display:flex;flex-direction:column;gap:2px;
  padding-left:22px;margin:0;
  max-height:0;overflow:hidden;opacity:0;
  transition:max-height .3s ease, opacity .25s ease, margin .25s ease;
}
.filter-subitems[hidden]{display:flex !important;}  /* keep flex for animation, hidden via max-height */
.filter-subitems.expanded{max-height:400px;opacity:1;margin:2px 0 6px}
.filter-subitems .filter-check{font-size:13px;color:var(--slate-600);padding:5px 8px}

.filter-range{display:flex;gap:8px;margin-top:4px}
.filter-range input{
  width:50%;padding:8px 10px;border:1px solid var(--slate-200);border-radius:8px;
  font-family:'JetBrains Mono',monospace;font-size:12.5px;color:var(--ink);background:var(--paper);outline:none;
}
.filter-range input:focus{border-color:var(--emerald);box-shadow:0 0 0 3px var(--emerald-ring)}

.filter-switch{
  display:flex;justify-content:space-between;align-items:center;padding:8px 8px;border-radius:8px;
  cursor:pointer;transition:background .12s;
}
.filter-switch:hover{background:var(--slate-50)}
.filter-switch .label{font-size:13.5px;color:var(--slate-700)}
.filter-switch .toggle{
  width:34px;height:20px;background:var(--slate-200);border-radius:999px;position:relative;
  transition:background .15s;flex-shrink:0;
}
.filter-switch .toggle::after{
  content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;
  background:#fff;border-radius:50%;transition:transform .18s;box-shadow:0 1px 3px rgba(0,0,0,.2);
}
.filter-switch input{display:none}
.filter-switch input:checked ~ .toggle{background:var(--emerald)}
.filter-switch input:checked ~ .toggle::after{transform:translateX(14px)}

.filter-apply-bar{
  margin-top:18px;padding-top:16px;border-top:1px solid var(--slate-100);
  display:flex;flex-direction:column;gap:8px;
}
.filter-apply-bar .count{font-size:12px;color:var(--slate-500);text-align:center}

.mobile-filter-trigger{
  display:none;padding:10px 16px;border-radius:999px;background:var(--paper);
  box-shadow:var(--shadow-sm);font-size:13.5px;font-weight:600;color:var(--ink);
  align-items:center;gap:8px;
}
.mobile-filter-trigger .count{background:var(--emerald);color:#fff;padding:2px 8px;border-radius:999px;font-size:11px}

/* =================================================================
   ARCHIVE SECTION (completed deals display)
   ================================================================= */
.archive-section{margin-top:60px}
.archive-head{
  display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:20px;gap:16px;flex-wrap:wrap;
}
.archive-head h2{font-size:24px;font-weight:700;letter-spacing:-0.02em;color:var(--slate-700)}
.archive-head p{color:var(--slate-500);font-size:14px;max-width:480px}

.card.archived{opacity:.82}
.card.archived:hover{opacity:1}
.archive-banner{
  padding:10px 24px;background:var(--slate-100);color:var(--slate-500);
  font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;
  display:flex;align-items:center;gap:8px;
}
.archive-banner::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--slate-400)}

/* =================================================================
   RESPONSIVE for new components
   ================================================================= */
@media (max-width:1100px){
  .catalog-layout{grid-template-columns:1fr}
  .filters-aside{position:static;display:none}
  .filters-aside.open{display:block}
  .mobile-filter-trigger{display:inline-flex}
  .account-layout{grid-template-columns:1fr}
  .account-aside{position:static}
  .account-stats{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:720px){
  .onb-choices{grid-template-columns:1fr;gap:10px}
  .onb-choice{flex-direction:row;align-items:flex-start;padding:16px}
  .onb-choice-ic{width:44px;height:44px}
  .onb-head{padding:32px 20px 20px}
  .onb-head h2{font-size:22px}
  .onb-foot{padding:14px 20px;flex-direction:column;align-items:stretch;gap:8px}
  .onb-foot button{width:100%;text-align:center}

  .modal-login{border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-width:none;width:100%;top:auto;bottom:0;left:0;transform:none;max-height:92vh}
  .modal-login.on{transform:none}

  .login-pane{padding:24px}
  .deal-row{grid-template-columns:auto 1fr auto;gap:12px}
  .deal-row .deal-actions,.deal-row .deal-label{grid-column:2 / -1}
  .account-head h1{font-size:24px}
  .account-stats{grid-template-columns:1fr 1fr}

  .archive-head{flex-direction:column;align-items:flex-start}
}

/* ===============================================
   SELECT FIELD (in hero and sale filter-bar)
   =============================================== */
.field.select-field{position:relative;cursor:pointer}
.field.select-field::after{
  content:"▾";position:absolute;right:16px;top:50%;transform:translateY(-30%);
  font-size:11px;color:var(--slate-500);pointer-events:none;font-weight:700;
}
.field.select-field select{
  appearance:none;-webkit-appearance:none;-moz-appearance:none;
  background:transparent;border:none;outline:none;padding:0;margin-top:3px;
  font-family:inherit;font-size:14.5px;font-weight:500;color:var(--ink);
  width:100%;cursor:pointer;padding-right:24px;
}
.field.select-field select option{color:var(--ink);background:#fff}

/* Hero-specific — white bg */
.hero-search .field.select-field{background:#fff}
.hero-search .field.select-field select{color:var(--ink)}

/* Sale filter bar */
.filter-bar .field.select-field select{
  color:var(--ink);font-size:14px;
}

/* ===============================================
   VIEW TOGGLE (Grid / List)
   =============================================== */
.view-toggle{
  display:inline-flex;gap:2px;padding:3px;background:var(--slate-100);
  border-radius:10px;align-items:center;
}
.view-toggle button{
  display:inline-flex;align-items:center;gap:6px;padding:7px 12px;
  border-radius:8px;font-size:12.5px;font-weight:600;color:var(--slate-500);
  transition:all .15s;background:transparent;border:none;cursor:pointer;
  font-family:inherit;
}
.view-toggle button:hover{color:var(--ink)}
.view-toggle button.active{
  background:var(--paper);color:var(--ink);
  box-shadow:0 1px 3px rgba(26,36,16,.08);
}
.view-toggle button svg{flex-shrink:0}

/* ===============================================
   LIST VIEW — компактный табличный формат (как в Excel)
   v2.6.4: переписан на честный grid с заголовком как первой ячейкой
           (без ::before content, который ломал вёрстку при динамическом
           рендере и делал заголовок неуправляемым из JS).
   =============================================== */
/* По умолчанию (grid-режим) — list-cells СКРЫТЫ, иначе они появляются как «столбик» внутри карточки */
.card-list-cell{display:none}

.cards-grid.list-view{
  display:flex;
  flex-direction:column;
  gap:0;
  border:1px solid var(--slate-100);
  border-radius:12px;
  overflow:hidden;
  background:var(--paper);
}
.cards-grid.list-view > .card-featured{grid-column:span 1 !important;}

/* Карточка сворачивается в одну горизонтальную строку.
   7 колонок: Название (2.6fr) | Культура (1.4fr) | Цена (110px) | Объём (90px) | Регион (1.2fr) | Дистанция (90px) | Купить (110px) */
.cards-grid.list-view .card{
  display:grid;
  grid-template-columns: minmax(220px, 2.6fr) 1.4fr 110px 90px 1.2fr 90px 110px;
  align-items:center;
  padding:12px 18px;
  gap:14px;
  border:none;
  border-bottom:1px solid var(--slate-100);
  border-radius:0;
  background:transparent;
  box-shadow:none;
  min-height:auto;
  transition:background .12s;
}
.cards-grid.list-view .card:last-child{border-bottom:none}
.cards-grid.list-view .card:hover{
  background:var(--slate-50);
  transform:none;
  box-shadow:none;
  border-color:transparent;
}

/* Скрываем тяжёлые блоки в list-view — заголовок, мета, картинку */
.cards-grid.list-view .card-head,
.cards-grid.list-view .card-meta,
.cards-grid.list-view .distance-strip,
.cards-grid.list-view .supplier-strip,
.cards-grid.list-view .card-foot,
.cards-grid.list-view .card-photo,
.cards-grid.list-view .badge:not(.badge-vip-tiny){display:none !important}

/* Q-block (Показатели качества) в list-view: занимает ВСЮ ширину строки */
.cards-grid.list-view .q-toggle,
.cards-grid.list-view .q-body{
  grid-column: 1 / -1 !important;
  width:100%;
  margin-top:6px;
}
.cards-grid.list-view .q-toggle{
  padding:6px 10px;font-size:12px;background:var(--slate-50);
  border-radius:6px;border:none;
}
.cards-grid.list-view .q-body-inner{
  padding:8px 12px;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:6px 16px;
}
.cards-grid.list-view .q-body .q-row{
  display:flex;justify-content:space-between;gap:8px;font-size:12.5px;
  padding:4px 0;border-bottom:1px dashed var(--slate-100);white-space:nowrap;
}

/* В list-view показываем .card-list-cell ячейки */
.cards-grid.list-view .card-list-cell{
  display:block;
  font-size:13px;
  color:var(--slate-700);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* Заголовок — первая ячейка (а не ::before content) */
.cards-grid.list-view .card-list-cell.title{
  font-weight:700;
  font-size:14.5px;
  color:var(--ink);
  letter-spacing:-0.01em;
}
.cards-grid.list-view .card-list-cell.muted{color:var(--slate-500);font-size:12.5px}
.cards-grid.list-view .card-list-cell.price{font-weight:700;color:var(--emerald-600);font-variant-numeric:tabular-nums}
.cards-grid.list-view .card-list-cell.cta{text-align:right}
.cards-grid.list-view .card-list-cell.cta a{
  display:inline-block;padding:6px 14px;border-radius:8px;
  background:linear-gradient(135deg,#4A2E1C 0%,#6B3F22 50%,#3E2715 100%);
  color:#fff;font-size:12.5px;font-weight:600;
  text-decoration:none;transition:all .15s;
  box-shadow:0 3px 8px rgba(74,46,28,.22);
}
.cards-grid.list-view .card-list-cell.cta a:hover{
  background:linear-gradient(135deg,#5A3924 0%,#7D4A2A 50%,#4E311B 100%);
  transform:translateY(-1px);
  box-shadow:0 5px 14px rgba(74,46,28,.35);
}

@media (max-width:920px){
  .cards-grid.list-view .card{
    grid-template-columns: 1.6fr 1fr 110px;
    gap:6px 10px;padding:10px 12px;
  }
  .cards-grid.list-view .card-list-cell.muted:not(.price):not(.cta){display:none}
}

@media (max-width:640px){
  .view-toggle button span{display:none}
  .view-toggle button{padding:8px;width:32px;justify-content:center}
}


/* ===============================================
   CITY PICKER MODAL
   =============================================== */
.modal-city{max-width:480px;display:flex;flex-direction:column;overflow:hidden}
.cp-head{padding:28px 28px 16px}
.cp-head h2{font-size:22px;font-weight:700;letter-spacing:-0.02em;color:var(--ink)}
.cp-head p{margin-top:6px;color:var(--slate-500);font-size:14px}
.cp-geo{padding:0 28px 16px}
.cp-geo-status{margin-top:10px;font-size:13px;color:var(--slate-500);min-height:16px;line-height:1.4}
.cp-search{padding:0 28px 16px}
.cp-search input{
  width:100%;padding:13px 16px;border:1px solid var(--slate-200);border-radius:10px;
  font-family:inherit;font-size:14.5px;outline:none;transition:all .15s;
}
.cp-search input:focus{border-color:var(--emerald);box-shadow:0 0 0 3px var(--emerald-ring)}
.cp-results{max-height:320px;overflow-y:auto;padding:0 20px 24px;display:flex;flex-direction:column;gap:4px}
.cp-item{
  display:flex;flex-direction:column;gap:2px;padding:10px 14px;border-radius:10px;
  text-align:left;transition:background .12s;cursor:pointer;background:transparent;
  border:none;font-family:inherit;
}
.cp-item:hover{background:var(--slate-50)}
.cp-item-name{font-size:14.5px;font-weight:600;color:var(--ink)}
.cp-item-region{font-size:12px;color:var(--slate-500)}
.cp-empty{text-align:center;padding:24px 16px;color:var(--slate-400);font-size:13.5px}

/* ===============================================
   FEATURE FLAGS — глобальное скрытие эскроу/чатов
   =============================================== */
/* Активируется через body[data-feature-escrow="off"] и body[data-feature-chat="off"]
   (устанавливается main.js при загрузке из window.RH_CONFIG.FEATURES). */
body[data-feature-escrow="off"] .escrow-only,
body[data-feature-escrow="off"] [data-feature="escrow"]{
  display:none !important;
}
body[data-feature-chat="off"] .chat-only,
body[data-feature-chat="off"] [data-feature="chat"],
body[data-feature-chat="off"] .chat-button,
body[data-feature-chat="off"] [data-action="chat"]{
  display:none !important;
}
body[data-feature-delivery="off"] .delivery-only,
body[data-feature-delivery="off"] [data-feature="delivery"]{
  display:none !important;
}

/* About: hero-stats + principle-grid */
.hero-stats{
  margin-top:32px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:760px;
}
.hero-stat{
  background:rgba(255,255,255,.07);backdrop-filter:blur(4px);
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;padding:18px 16px;
}
.hero-stat .num{font-size:28px;font-weight:800;color:#fff;letter-spacing:-0.02em;line-height:1}
.hero-stat .lbl{margin-top:6px;font-size:12.5px;color:rgba(226,232,240,.75);line-height:1.35}
@media (max-width:760px){
  .hero-stats{grid-template-columns:repeat(2,1fr)}
}

.principle-grid{
  margin-top:24px;display:grid;grid-template-columns:repeat(2,1fr);gap:18px;
}
.principle{
  background:var(--paper);border:1px solid var(--slate-100);border-radius:18px;
  padding:24px 24px 22px;display:flex;flex-direction:column;gap:8px;
  transition:border-color .15s, transform .2s;
}
.principle:hover{border-color:var(--emerald);transform:translateY(-2px)}
.principle-num{
  font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:600;
  color:var(--emerald);letter-spacing:.06em;
}
.principle h4{font-size:18px;font-weight:700;letter-spacing:-0.015em;color:var(--ink)}
.principle p{font-size:14px;color:var(--slate-600);line-height:1.55}
@media (max-width:760px){.principle-grid{grid-template-columns:1fr}}

/* ===============================================
   LIVE QUOTES (Биржа котировок)
   =============================================== */
.quotes-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:24px;
}
.quote-tile{
  background:var(--paper);border-radius:var(--radius-lg);padding:20px;
  box-shadow:var(--shadow-sm);transition:all .2s;
  display:flex;flex-direction:column;gap:8px;
}
.quote-tile:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.quote-tile .q-crop{
  display:flex;align-items:center;gap:10px;
  font-size:15px;font-weight:700;color:var(--ink);letter-spacing:-0.01em;
}
.quote-tile .q-crop .ico{
  width:32px;height:32px;border-radius:8px;background:var(--slate-100);
  display:grid;place-items:center;font-size:16px;
}
.quote-tile .q-price{
  font-family:'JetBrains Mono',monospace;font-size:22px;font-weight:700;
  letter-spacing:-0.02em;color:var(--ink);line-height:1.1;
  transition:background .3s, color .3s;padding:2px 6px;margin:-2px -6px;border-radius:6px;
  display:inline-block;
}
.quote-tile .q-price.flash-up{background:var(--emerald-soft);color:#065F46}
.quote-tile .q-price.flash-dn{background:#FEE2E2;color:var(--red)}
.quote-tile .q-meta{
  display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--slate-500);
}
.quote-tile .q-change{
  font-family:'JetBrains Mono',monospace;font-weight:700;font-size:13px;
  padding:2px 8px;border-radius:6px;
}
.quote-tile .q-change.up{background:var(--emerald-soft);color:#065F46}
.quote-tile .q-change.dn{background:#FEE2E2;color:var(--red)}
.quote-tile .q-change.neutral{background:var(--slate-100);color:var(--slate-500)}

.live-pulse{
  display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--emerald-600);
  font-weight:600;text-transform:uppercase;letter-spacing:.08em;
}
.live-pulse::before{
  content:"";width:8px;height:8px;border-radius:50%;background:var(--emerald);
  animation:live-pulse 1.5s ease-in-out infinite;
}
@keyframes live-pulse{
  0%,100%{opacity:1;transform:scale(1);box-shadow:0 0 0 0 rgba(151,197,36,.4)}
  50%{opacity:.7;transform:scale(1.2);box-shadow:0 0 0 6px rgba(151,197,36,0)}
}

/* ===============================================
   AUCTIONS
   =============================================== */
.auction-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px;margin-top:24px}
.auction-card{
  background:var(--paper);border-radius:var(--radius-xl);padding:22px;
  box-shadow:var(--shadow-md);position:relative;overflow:hidden;transition:all .22s;
  border:2px solid transparent;
}
.auction-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.auction-card.ending-soon{border-color:var(--orange);animation:pulse-border 2s ease-in-out infinite}
.auction-card.ended{opacity:.6;background:var(--slate-50)}
@keyframes pulse-border{
  0%,100%{box-shadow:var(--shadow-md), 0 0 0 0 rgba(245,166,35,.4)}
  50%{box-shadow:var(--shadow-md), 0 0 0 6px rgba(245,166,35,0)}
}

.auction-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}
.auction-title{font-size:18px;font-weight:700;color:var(--ink);letter-spacing:-0.02em;line-height:1.25;flex:1}
.auction-status{
  padding:4px 10px;border-radius:999px;font-size:10.5px;font-weight:700;
  text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;
  background:var(--emerald-soft);color:#065F46;
}
.auction-status.ending-soon{background:var(--orange);color:#fff}
.auction-status.ended{background:var(--slate-200);color:var(--slate-600)}

.auction-bid{
  padding:14px;border-radius:12px;background:var(--slate-50);margin:12px 0;
  display:flex;justify-content:space-between;align-items:center;
}
.auction-bid .label{font-size:11px;color:var(--slate-500);text-transform:uppercase;letter-spacing:.1em;font-weight:700}
.auction-bid .amount{font-family:'JetBrains Mono',monospace;font-size:22px;font-weight:700;color:var(--ink);letter-spacing:-0.02em}
.auction-bid .delta{font-size:11px;color:var(--emerald-600);font-weight:600;margin-top:2px}

.auction-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}
.auction-meta .cell{padding:10px 12px;background:var(--slate-50);border-radius:10px}
.auction-meta .cell .k{font-size:10px;color:var(--slate-400);text-transform:uppercase;letter-spacing:.1em;font-weight:700}
.auction-meta .cell .v{font-size:13.5px;font-weight:700;color:var(--ink);margin-top:3px;font-family:'JetBrains Mono',monospace}
.auction-meta .cell .v.normal{font-family:'Manrope',sans-serif}

.auction-timer-row{
  display:flex;justify-content:space-between;align-items:center;
  padding:12px 14px;background:var(--ink);color:#fff;border-radius:10px;margin-bottom:14px;
}
.auction-timer-row .label{font-size:11px;color:rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.auction-timer-row .auction-timer{font-family:'JetBrains Mono',monospace;font-size:16px;font-weight:700;letter-spacing:0}
.auction-card.ending-soon .auction-timer-row{background:var(--orange)}
.auction-card.ending-soon .auction-timer-row .label{color:rgba(255,255,255,.85)}

.auction-actions{display:flex;gap:8px}
.auction-actions .btn{flex:1;justify-content:center}

/* ===============================================
   MOBILE APP-STYLE BOTTOM NAV
   =============================================== */
.mobile-tabbar{display:none}

@media (max-width:720px){
  /* Native-app feel: sticky bottom tabbar */
  .mobile-tabbar{
    display:flex;position:fixed;bottom:0;left:0;right:0;z-index:45;
    background:rgba(255,255,255,.97);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
    border-top:1px solid var(--slate-100);
    padding:6px 6px calc(6px + env(safe-area-inset-bottom));
    gap:2px;
  }
  .mobile-tabbar a{
    flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;
    padding:8px 4px;border-radius:10px;
    font-size:10px;font-weight:600;color:var(--slate-500);
    transition:all .15s;
  }
  .mobile-tabbar a svg{width:22px;height:22px;transition:transform .15s}
  .mobile-tabbar a.active{color:var(--emerald-600)}
  .mobile-tabbar a.active svg{transform:scale(1.1)}
  .mobile-tabbar a:active{transform:scale(.95)}

  /* Hide main sticky header on mobile when we have the tabbar - keep just a slim version */
  .site-header{padding-bottom:0}

  /* Give content room for the bottom tabbar */
  body{padding-bottom:70px}

  /* App-like cards: edge-to-edge, more tap-friendly */
  .section{padding:24px 14px}
  .page-hero-inner{padding:28px 14px 24px}
  .container{padding:0 14px}

  /* Modal = bottom sheet on mobile */
  .modal-city{
    max-width:none;width:100%;border-radius:20px 20px 0 0;
    top:auto;bottom:0;left:0;transform:translateY(100%);max-height:85vh;
  }
  .modal-city.on{transform:translateY(0)}
  .modal-city::before{
    content:"";position:absolute;top:8px;left:50%;transform:translateX(-50%);
    width:40px;height:4px;background:var(--slate-200);border-radius:999px;
  }
  .cp-head{padding-top:24px}

  /* Quotes: horizontal scroll like iOS widgets */
  .quotes-grid{
    display:flex;overflow-x:auto;scroll-snap-type:x mandatory;
    padding:4px 14px 14px;margin:0 -14px;gap:10px;
    -webkit-overflow-scrolling:touch;
  }
  .quotes-grid::-webkit-scrollbar{display:none}
  .quote-tile{
    flex:0 0 220px;scroll-snap-align:start;
  }

  /* Auction cards also scroll */
  .auction-grid{gap:12px}

  /* Larger tap targets in hero form */
  .hero-search{padding:8px}
  .hero-search .field{min-height:60px;padding:14px 16px}
  .hero-search-submit{min-height:56px}

  /* Bigger chips on mobile */
  .c-chip,.pq{padding:10px 16px;font-size:13px}
}

/* PWA safe-area handling */
@supports (padding:max(0px)) {
  @media (max-width:720px){
    body{padding-bottom:max(70px, calc(54px + env(safe-area-inset-bottom)))}
  }
}

/* ===============================================
   MOBILE APP-STYLE ENHANCEMENTS
   =============================================== */
@media (max-width:720px){
  /* iOS-style cards */
  .card{border-radius:18px}
  .cards-grid{gap:12px}

  /* Bigger buttons with haptic feel */
  .btn{padding:13px 22px;font-size:14.5px}
  .btn:active{transform:scale(.97)}
  .btn-lg{padding:16px 28px;font-size:15px}

  /* Stat cards: full-width swiper */
  .hero-stats{display:flex;gap:10px;overflow-x:auto;padding:0 14px;margin:24px -14px 0;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
  .hero-stats::-webkit-scrollbar{display:none}
  .hero-stat{flex:0 0 160px;scroll-snap-align:start}

  /* Chips as horizontal scroll */
  .catalog-chips{overflow-x:auto;flex-wrap:nowrap;padding-bottom:6px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .catalog-chips::-webkit-scrollbar{display:none}
  .c-chip{flex-shrink:0}
}

/* ===============================================
   DEMO ACCOUNTS (login modal 3rd tab)
   =============================================== */
.login-tab.demo-tab{
  color:var(--orange-dark);font-weight:700;
  position:relative;
}
.login-tab.demo-tab::after{
  content:"";position:absolute;top:12px;right:8px;
  width:6px;height:6px;border-radius:50%;background:var(--orange);
  animation:live-pulse 1.5s ease-in-out infinite;
}
.login-tab.demo-tab.active{color:var(--orange-dark);border-bottom-color:var(--orange)}

.demo-accounts{
  display:grid;grid-template-columns:1fr;gap:10px;margin-top:20px;
}
.demo-account{
  display:flex;align-items:flex-start;gap:14px;padding:16px;
  background:var(--paper);border:2px solid var(--slate-200);border-radius:14px;
  cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);
  text-align:left;font-family:inherit;
}
.demo-account:hover{
  border-color:var(--emerald);transform:translateY(-2px);
  box-shadow:0 8px 20px -6px var(--emerald-ring);
}
.demo-account:active{transform:translateY(0)}
.demo-account-ic{
  width:44px;height:44px;border-radius:12px;
  display:grid;place-items:center;font-size:22px;flex-shrink:0;
  background:var(--slate-100);
}
.demo-account[data-login="admin"] .demo-account-ic{background:#FEF3C7}
.demo-account-body{flex:1;min-width:0}
.demo-account-name{font-size:15px;font-weight:700;color:var(--ink);letter-spacing:-0.01em}
.demo-account-creds{
  margin-top:6px;display:flex;gap:6px;align-items:center;font-size:12px;color:var(--slate-500);
}
.demo-account-creds code{
  font-family:'JetBrains Mono',monospace;background:var(--slate-100);
  padding:2px 8px;border-radius:5px;font-size:11.5px;font-weight:700;color:var(--ink);
}
.demo-account-desc{margin-top:6px;font-size:12.5px;color:var(--slate-500);line-height:1.4}

.login-pane[data-pane="demo"] .login-form{
  margin-top:24px;padding-top:20px;border-top:1px solid var(--slate-100);
}

/* ===============================================
   ADMIN DASHBOARD specific
   =============================================== */
.admin-badge{
  display:inline-flex;align-items:center;gap:6px;
  padding:3px 10px;border-radius:999px;background:#FEF3C7;color:#92400E;
  font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;
  margin-top:10px;
}

/* ===============================================
   ADMIN PANEL TABLES & MODALS
   =============================================== */
.adm-table{
  width:100%;border-collapse:collapse;font-size:13px;
}
.adm-table thead tr{
  border-bottom:2px solid var(--slate-100);text-align:left;
}
.adm-table th{
  padding:10px 8px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;
  color:var(--slate-500);font-weight:700;
}
.adm-table tbody tr{
  border-bottom:1px solid var(--slate-100);transition:background .15s;
}
.adm-table tbody tr:hover{background:var(--slate-50)}
.adm-table td{padding:12px 8px;vertical-align:middle}

.adm-select{
  padding:6px 10px;border-radius:8px;background:var(--slate-50);
  font-size:12px;font-weight:600;border:1px solid var(--slate-200);
  cursor:pointer;font-family:inherit;color:var(--ink);
  outline:none;transition:border-color .15s;
}
.adm-select:hover{border-color:var(--brand)}
.adm-select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-ring)}
.adm-select:disabled{opacity:.5;cursor:not-allowed}

.btn-icon-del{
  width:32px;height:32px;border-radius:8px;
  background:transparent;border:1px solid var(--slate-200);
  cursor:pointer;font-size:14px;
  display:inline-flex;align-items:center;justify-content:center;
  transition:all .15s;
}
.btn-icon-del:hover{
  background:#FEE2E2;border-color:var(--red);color:var(--red);
}

.adm-row{
  background:var(--paper);border-radius:14px;padding:14px 16px;margin-bottom:10px;
  display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;
  border:1px solid var(--slate-100);transition:border-color .15s;
}
.adm-row:hover{border-color:var(--slate-200)}
.adm-row-main{flex:1;min-width:280px}
.adm-row-title{
  font-size:14.5px;font-weight:700;color:var(--ink);
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
}
.adm-row-meta{font-size:13px;color:var(--slate-600);margin-top:6px}
.adm-row-sub{font-size:11.5px;color:var(--slate-500);margin-top:4px;line-height:1.5}
.adm-row-actions{
  display:flex;gap:8px;align-items:center;flex-wrap:wrap;
}

.adm-badge{
  display:inline-block;padding:3px 10px;border-radius:999px;
  font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;
  background:var(--slate-100);color:var(--slate-600);white-space:nowrap;
}
.adm-badge.pending{background:#FEF3C7;color:#92400E}
.adm-badge.active{background:var(--brand-soft);color:#3D5C19}
.adm-badge.done{background:var(--slate-100);color:var(--slate-600)}
.adm-badge.cancelled{background:#FEE2E2;color:var(--red)}

.ff-tab{
  padding:7px 14px;border-radius:999px;background:var(--slate-100);
  border:none;cursor:pointer;font-family:inherit;font-size:12.5px;
  font-weight:600;color:var(--slate-600);transition:all .15s;
}
.ff-tab:hover{background:var(--slate-200)}
.ff-tab.active{background:var(--ink);color:#fff}

.anl-stat{
  background:var(--slate-50);border-radius:12px;padding:16px;
}
.anl-stat .k{font-size:11px;color:var(--slate-500);text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.anl-stat .v{font-family:'JetBrains Mono',monospace;font-size:22px;font-weight:700;color:var(--ink);margin:6px 0 4px}
.anl-stat .d{font-size:11.5px;color:var(--slate-500)}

.anl-mini{
  flex:1;background:var(--slate-50);padding:10px 12px;border-radius:10px;
  font-size:11px;color:var(--slate-500);font-weight:600;line-height:1.6;
}
.anl-mini b{font-family:'JetBrains Mono',monospace;font-size:18px;color:var(--ink);font-weight:700}

@media (max-width:720px){
  .adm-row{flex-direction:column}
  .adm-row-actions{justify-content:flex-start}
  .adm-table{font-size:12px}
  .adm-table th,.adm-table td{padding:8px 4px}
}

/* ===============================================
   ВРЕМЕННО: скрыть цены доставки в карточках товаров
   (Включается обратно админом когда логистика будет готова)
   =============================================== */
.distance-cost,
.delivery-tag {
  display: none !important;
}

/* После удаления delivery-tag нужно центрировать кнопку «Купить» в card-foot */
.card-foot {
  justify-content: flex-end;
}

/* ===============================================
   ВРЕМЕННО: скрыть расчёт доставки на product page
   =============================================== */
.delivery-calc {
  display: none !important;
}
.mobile-bottom-bar {
  display: none !important;
}

/* ===============================================
   FIX: Form checkbox alignment in modals
   =============================================== */
.modal label {
  display: block;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--slate-600);
  margin-bottom: 6px;
}
.modal label input[type="checkbox"] {
  vertical-align: middle;
  margin-right: 8px;
  width: 18px;
  height: 18px;
  accent-color: var(--brand);
}
.modal .form-group {
  margin-bottom: 16px;
}
.modal .form-group input:not([type="checkbox"]),
.modal .form-group textarea,
.modal .form-group select {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--slate-200);
  border-radius: 10px;
  font-family: inherit;
  font-size: 14px;
  transition: border-color .15s;
}
.modal .form-group input:focus,
.modal .form-group textarea:focus,
.modal .form-group select:focus {
  border-color: var(--brand);
  outline: none;
  box-shadow: 0 0 0 3px var(--brand-ring);
}
.req { color: var(--red); }

/* Fix close button position in modals - only the ✕ icon button */
.modal > .modal-close:first-child {
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 10;
  background: var(--slate-100);
  border: none;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  cursor: pointer;
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--slate-500);
  transition: all .15s;
}
.modal > .modal-close:first-child:hover {
  background: var(--slate-200);
  color: var(--ink);
}

/* Quality row fields */
.qrow input {
  padding: 8px 10px !important;
  font-size: 13px !important;
}

/* ============================================================
   v2.4.0 — Contacts grid (used on sale.html and elsewhere)
   ============================================================ */
.contacts-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 12px;
}
@media (max-width: 800px) {
  .contacts-grid { grid-template-columns: 1fr; }
}
.contact-card {
  background: var(--paper);
  border: 1px solid var(--slate-100);
  border-radius: var(--radius-xl, 16px);
  padding: 22px 24px;
  text-decoration: none;
  color: var(--ink);
  display: flex;
  flex-direction: column;
  gap: 6px;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.contact-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 24px rgba(0,0,0,.06);
  border-color: var(--brand);
}
.contact-card .ic {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: var(--emerald-soft);
  color: var(--brand);
  display: grid;
  place-items: center;
  font-size: 20px;
  margin-bottom: 8px;
}
.contact-card h4 {
  font-size: 15px;
  font-weight: 700;
  margin: 0;
}
.contact-card p {
  font-size: 13px;
  color: var(--slate-500);
  margin: 0;
  line-height: 1.5;
}
.contact-card .link-cta {
  margin-top: 10px;
  font-size: 13px;
  font-weight: 600;
  color: var(--brand-dark);
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

/* ============================================================
   v2.4.2 — VIP / Premium offer highlighting
   ============================================================ */
.card[data-premium="1"] {
  position: relative;
  border: 2px solid transparent;
  background-image:
    linear-gradient(#fff, #fff),
    linear-gradient(135deg, #FFD700 0%, #FFA500 50%, #FF8C00 100%);
  background-origin: border-box;
  background-clip: padding-box, border-box;
  box-shadow: 0 4px 24px rgba(255, 165, 0, 0.18);
}
.card[data-premium="1"]::before {
  content: '';
  position: absolute;
  top: -2px; right: -2px; bottom: -2px; left: -2px;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(255,215,0,.04), rgba(255,140,0,.06));
  pointer-events: none;
  z-index: 0;
}
.card[data-premium="1"] > * { position: relative; z-index: 1; }
.req-card[data-premium="1"] {
  border: 2px solid #FFA500;
  box-shadow: 0 4px 18px rgba(255,165,0,.15);
}
/* v2.6.42: карточка заявки кликабельна → /request.html */
.req-card[data-request]{cursor:pointer;transition:box-shadow .15s,transform .15s}
.req-card[data-request]:hover{box-shadow:0 8px 28px rgba(26,36,16,.13);transform:translateY(-2px)}
.req-card[data-request] button,
.req-card[data-request] a{cursor:pointer}

/* ============================================================
   v2.4.2 — VIP / Premium offer card styling
   ============================================================ */
.card-vip {
  border: 2px solid #FFA500 !important;
  box-shadow: 0 8px 32px rgba(255, 165, 0, 0.18), 0 2px 8px rgba(255, 215, 0, 0.12) !important;
  position: relative;
}
.card-vip::before {
  content: '';
  position: absolute;
  inset: -2px;
  border-radius: inherit;
  background: linear-gradient(135deg, #FFD700, #FFA500, #FFD700);
  z-index: -1;
  opacity: 0.4;
  filter: blur(8px);
}
.card-vip .badge.vip {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 11px;
  margin-bottom: 6px;
}

/* ============================================================
   v2.6.28: МОДАЛКА ВЫБОРА РОЛИ (покупатель / продавец)
   ============================================================ */
.rh-role-modal{
  position:fixed;inset:0;z-index:9999;
  opacity:0;pointer-events:none;transition:opacity .25s ease;
}
.rh-role-modal.is-open{opacity:1;pointer-events:auto}
.rh-role-backdrop{
  position:absolute;inset:0;
  background:rgba(15,24,8,.78);
  backdrop-filter:blur(6px);
}
.rh-role-panel{
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%) scale(.96);
  transition:transform .25s ease;
  width:min(720px,calc(100vw - 32px));
  background:var(--paper,#fff);
  border-radius:24px;
  box-shadow:0 40px 100px rgba(0,0,0,.45);
  padding:44px 40px 32px;
  max-height:92vh;overflow-y:auto;
}
.rh-role-modal.is-open .rh-role-panel{transform:translate(-50%,-50%) scale(1)}
.rh-role-head{text-align:center;margin-bottom:32px}
.rh-role-logo{display:flex;justify-content:center;margin-bottom:16px}
.rh-role-head h2{
  font-size:26px;font-weight:800;color:var(--ink,#1a2410);
  margin:0 0 8px;line-height:1.2;
}
.rh-role-head p{font-size:15px;color:var(--slate-500,#6b7280);margin:0}
.rh-role-options{
  display:grid;grid-template-columns:1fr 1fr;gap:18px;
}
.rh-role-card{
  display:flex;flex-direction:column;align-items:flex-start;
  text-align:left;gap:10px;
  padding:28px 24px;
  background:#FAFCF7;
  border:2px solid #E5E9DC;
  border-radius:18px;
  cursor:pointer;
  transition:all .18s ease;
  font-family:inherit;
}
.rh-role-card:hover{
  border-color:#618B27;
  background:#F4F8EC;
  transform:translateY(-3px);
  box-shadow:0 16px 36px rgba(61,92,25,.16);
}
.rh-role-icon{font-size:42px;line-height:1}
.rh-role-card h3{
  font-size:19px;font-weight:800;color:var(--ink,#1a2410);margin:0;
}
.rh-role-card p{
  font-size:13.5px;color:var(--slate-600,#4b5563);
  margin:0;line-height:1.5;flex:1;
}
.rh-role-cta{
  font-size:14px;font-weight:700;color:#618B27;
  margin-top:6px;
}
.rh-role-foot{
  text-align:center;font-size:12.5px;
  color:var(--slate-400,#9ca3af);
  margin:24px 0 0;
}
@media (max-width:640px){
  .rh-role-panel{padding:32px 22px 24px;width:calc(100vw - 24px)}
  .rh-role-options{grid-template-columns:1fr;gap:14px}
  .rh-role-head h2{font-size:22px}
  .rh-role-card{padding:22px 20px}
}

/* v2.6.28: валидация ИНН — подсветка полей */
input.inn-valid{border-color:#618B27 !important;background:#F4F8EC}
input.inn-invalid{border-color:#DC2626 !important;background:#FEF2F2}
.inn-msg{font-size:12px;margin-top:4px;line-height:1.4}
.inn-msg-ok{color:#3D5C19}
.inn-msg-err{color:#B91C1C}

/* v2.6.32: переключатель роли в футере */
.foot-role{display:inline-flex;align-items:center;gap:10px;font-size:12.5px;color:var(--slate-400)}
.foot-role-label b{color:var(--slate-200);font-weight:600}
.foot-role-btn{
  background:transparent;border:1px solid rgba(255,255,255,.25);
  color:#fff;font-size:12px;font-weight:600;
  padding:5px 12px;border-radius:999px;cursor:pointer;
  transition:all .15s;font-family:inherit;
}
.foot-role-btn:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.5)}
@media (max-width:720px){
  .foot-role{width:100%;justify-content:space-between;padding:10px 0;
    border-top:1px solid rgba(255,255,255,.08);margin-top:8px}
}
