/* ============================================================
   KRAMBA.BY — app.css
   Палитра: васильковый #1B8A47 + зелёный + красный
   ============================================================ */
:root{
  /* Палитра флага РБ: красный 1795C, зелёный 355C. Строгий минимал. */
  /* 57.450 (UX-аудит): зелёный, серый, красный и янтарный чуть темнее — теперь проходят WCAG AA 4.5:1.
     Было: белый текст на #1B8A47 = 4.40, серый #6E747F на фоне = 4.39, подсказки #9AA0AB = 2.45.
     Стало: белый на #17803F = 5.0; #17803F на фоне #F6F7F9 = 4.67; #656B76 на фоне = 5.0; подсказки #6B717B на фоне = 4.58. */
  --vasilek:#17803F;--vasilek-d:#136534;--vasilek-l:#EAF6EF;   /* «основной» перекрашен в зелёный флага */
  --green:#17803F;--green-l:#EAF6EF;--red:#C8232C;--red-d:#A81E26;--red-l:#FBEAEB;
  --amber:#8C6508;--amber-l:#FBF1DC;
  --ink:#16181D;--ink2:#2E323B;--muted:#656B76;--hint:#6B717B;
  --on-dark:#fff;            /* текст на всегда-тёмных плашках (подвал, тёмные герои) */
  --on-accent:#fff;          /* цвет текста на зелёной/красной заливке (кнопки) */
  --line-field:#868C97;      /* рамка полей ввода: 3.38:1 на белом (WCAG 1.4.11; --line давал 1.2:1) */
  --teal:#0B7A7A;--pink:#BE185D;   /* бирюзовый 5.15:1, розовый 6.04:1 на белом (календарь, праздники) */
  --violet:#534AB7;          /* фиолетовый акцент (торг, автоснижение цены): 6.93:1 на белом */
  --info:#1D5FAF;            /* информационный синий (бейджи): 6.35:1 на белом */
  --tg-fill:#1B7DB0;         /* заливка кнопок Telegram: белый текст 4.56:1 (фирменный #229ED9 давал 3.0) */
  --ftr-muted:#8A929B;--ftr-link:#9AA2B4;--ftr-accent:#2FB36A;  /* подвал всегда тёмный: свои цвета текста */
  --line:#EAECEF;--surface:#FFFFFF;--bg:#F6F7F9;--night:#16181D;--night2:#22262E;
  --r:12px;--r-lg:14px;
}

/* ===== Тёмная тема ===== */
html[data-theme="dark"]{
  --ink:#E8EAED;--ink2:#C4C8CF;--muted:#9298A4;--hint:#858B97;   /* 57.450: подсказки 3.45 → 4.87:1 */
  --line:#2A2E37;--surface:#1B1E25;--bg:#121419;--night:#0C0E12;--night2:#1B1E25;
  --green:#2FB36A;--green-l:#13301F;          /* зелёнее для контраста на тёмном */
  --red:#EA6A55;--red-d:#C23B28;--red-l:#3A1C18;   /* 57.450: #E0533E на поверхности давал 4.35 */
  --on-accent:#0C0E12;       /* на ярко-зелёной кнопке в тёмной теме — тёмный текст (7.15:1; белый давал 2.7) */
  --tg-fill:#3DB4EC;
  --info:#7AB0F0;
  --teal:#3CC7C7;--pink:#F472B6;
  --line-field:#666D7A;
  --amber:#E0A93A;--amber-l:#332915;
  --vasilek:#2FB36A;--vasilek-d:#23905A;--vasilek-l:#13301F;
}
html[data-theme="dark"] body{background:var(--bg);color:var(--ink)}
/* мелкие точечные правки контраста для тёмной темы */
html[data-theme="dark"] .btn-sec{background:var(--surface)}
html[data-theme="dark"] img.rimg,html[data-theme="dark"] .rimg,html[data-theme="dark"] .dh-img,html[data-theme="dark"] .dr-img{background:#22262E}
html[data-theme="dark"] .megamenu,html[data-theme="dark"] .mm-ic{box-shadow:0 12px 30px rgba(0,0,0,.5)}
html[data-theme="dark"] input,html[data-theme="dark"] textarea,html[data-theme="dark"] select{background:var(--surface);color:var(--ink)}
html[data-theme="dark"] input::placeholder,html[data-theme="dark"] textarea::placeholder{color:var(--hint)}
html[data-theme="dark"] .search input{background:var(--surface);color:var(--ink)}
html[data-theme="dark"] ::-webkit-scrollbar-thumb{background:#3A3F4A}
html[data-theme="dark"] .skeleton,html[data-theme="dark"] .sk{background:linear-gradient(90deg,#1B1E25,#22262E,#1B1E25)}
/* футер в тёмной теме остаётся тёмным (фон привязан к --ink, который в тёмной теме светлеет) */
html[data-theme="dark"] .ftr{background:var(--night)}
html[data-theme="dark"] .ftr-cta{background:linear-gradient(135deg,rgba(47,179,106,.16),rgba(47,179,106,.05));border-color:rgba(47,179,106,.25)}
/* точечные правки тёмного текста, который иначе теряется на тёмном фоне */
html[data-theme="dark"] .mt-price{color:var(--ink)}
html[data-theme="dark"] .fc-txt,html[data-theme="dark"] .fc-name{color:var(--ink2)}
html[data-theme="dark"] .fc-input{border-top-color:var(--line)}
html[data-theme="dark"] .fc-time{color:var(--muted)}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
svg{max-width:100%}
.leaflet-container svg,.leaflet-pane svg,.leaflet-zoom-animated{max-width:none}
/* Карта не должна перекрывать sticky-шапку (.hdr = z-index 100 / 50 на мобиле).
   Leaflet ставит своим контролам z-index до 1000. Вместо занижения каждой панели
   (ломает порядок попап/маркер) создаём на контейнере ОТДЕЛЬНЫЙ контекст наложения:
   вся внутренняя иерархия Leaflet сохраняется, но целиком уходит под шапку. */
.leaflet-container{position:relative;z-index:0;isolation:isolate}
/* Страховка для браузеров без isolation: контролы всё равно ниже шапки. */
.leaflet-top,.leaflet-bottom{z-index:20}
.leaflet-control{z-index:20}
.ti{line-height:1}
.wrap{max-width:1200px;margin:0 auto;padding:18px 20px 0;width:100%}
.btn{border:none;cursor:pointer;font-family:inherit;font-weight:700;border-radius:12px;transition:.15s;white-space:nowrap;display:inline-flex;align-items:center;gap:7px;justify-content:center}
.btn:active{transform:scale(.97)}
.btn-prim{background:var(--red);color:#fff;padding:13px 18px;font-size:14px}
.btn-prim:hover{background:var(--red-d)}
.btn-vas{background:var(--vasilek);color:#fff;padding:13px 18px;font-size:14px}
.btn-vas:hover{background:var(--vasilek-d)}
.btn-sec{background:var(--surface);border:1px solid var(--line);color:var(--ink2);padding:12px 17px;font-size:14px}

/* ---------- HEADER ---------- */
.hdr{background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:100}
.htop{display:flex;align-items:center;gap:14px;padding:12px 20px}
.logo{display:flex;align-items:center;gap:7px;flex-shrink:0;font-size:23px;font-weight:800;letter-spacing:-.8px;color:var(--ink)}
.logo .wm .ba{color:var(--vasilek)}
.logo .wm .dot{color:var(--green)}
.catbtn{display:flex;align-items:center;gap:7px;background:var(--vasilek-l);border:none;border-radius:11px;padding:11px 15px;font-size:14px;font-weight:700;color:var(--vasilek);cursor:pointer;flex-shrink:0;transition:.15s}
.catbtn:hover{background:#DCE4F7}
.catbtn .cb-ch{font-size:15px;transition:.2s}
.catbtn.on .cb-ch{transform:rotate(180deg)}
.search{flex:1;display:flex;min-width:0}
.search input{flex:1;height:46px;border:1.6px solid var(--vasilek);border-right:none;border-radius:12px 0 0 12px;padding:0 15px;font-size:14px;font-family:inherit;outline:none;min-width:0}
.search .go{background:var(--vasilek);border:none;color:#fff;padding:0 20px;border-radius:0 12px 12px 0;cursor:pointer;font-size:20px;display:flex;align-items:center}
.navicons{display:flex;align-items:center;gap:18px;flex-shrink:0;color:var(--muted)}
.navicons a{display:flex;flex-direction:column;align-items:center;font-size:11px;gap:2px}
.navicons a:hover{color:var(--vasilek)}
.navicons .ti{font-size:21px}
.cta{flex-shrink:0}
.subnav{display:flex;align-items:center;gap:8px;padding:11px 20px;font-size:13.5px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;position:relative;scroll-padding-left:20px}
.subnav::-webkit-scrollbar{display:none}
.subnav a{white-space:nowrap;flex:0 0 auto;display:flex;align-items:center;gap:6px;padding:7px 13px;border-radius:10px;color:var(--ink2);font-weight:600;background:var(--bg);transition:.15s}
.subnav a:hover{background:var(--line);color:var(--ink)}
.subnav a .ti{font-size:16px;color:var(--muted)}
.subnav .snav-feed{background:#D22730;color:#fff;font-weight:700;position:relative}
.subnav .snav-feed .ti{color:#fff}
.subnav .snav-feed .snav-live{font-size:8.5px;font-weight:800;background:var(--surface);color:#D22730;border-radius:4px;padding:1px 4px;margin-left:2px;letter-spacing:.5px}
.subnav .auc{background:var(--vasilek-l);color:var(--vasilek)}
.subnav .auc .ti{color:var(--vasilek)}
.subnav .prot{background:var(--green-l);color:#0B7A47}
.subnav .prot .ti{color:var(--green)}
.subnav-wrap{position:relative;border-top:1px solid var(--line)}
.subnav-wrap::after{content:"";position:absolute;right:0;top:0;bottom:0;width:40px;background:linear-gradient(90deg,transparent,#fff);pointer-events:none}
/* МЕГА-МЕНЮ каталога */
.megamenu{display:none;border-top:1px solid var(--line);background:var(--surface);box-shadow:0 12px 30px rgba(20,30,60,.12);position:relative;z-index:50}
.megamenu.open{display:block;animation:mmIn .2s ease}
@keyframes mmIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.mm-inner{padding:18px 20px 22px}
.mm-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.mm-head span{font-size:15px;font-weight:800;display:flex;align-items:center;gap:8px}
.mm-head span .ti{color:var(--vasilek)}
.mm-close{background:var(--bg);border:none;width:34px;height:34px;border-radius:50%;cursor:pointer;color:var(--muted);font-size:18px;display:flex;align-items:center;justify-content:center}
.mm-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
@media(max-width:900px){.mm-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.mm-grid{grid-template-columns:repeat(2,1fr)}}
.mm-cat{display:flex;align-items:center;gap:11px;padding:13px 14px;border-radius:12px;background:var(--bg);text-decoration:none;color:var(--ink);font-weight:600;font-size:14px;transition:.15s;border:1px solid transparent}
.mm-cat:hover{background:var(--vasilek-l);border-color:rgba(46,79,168,.2);transform:translateY(-1px)}
.mm-cat.all{background:var(--vasilek);color:#fff}
.mm-cat.all .mm-ic{background:rgba(255,255,255,.2);color:#fff}
.mm-ic{width:38px;height:38px;border-radius:10px;background:var(--surface);display:flex;align-items:center;justify-content:center;font-size:19px;color:var(--vasilek);flex-shrink:0;box-shadow:0 2px 6px rgba(0,0,0,.05)}
/* мобильная кнопка каталога */
.mcatbtn{flex-shrink:0;width:44px;background:var(--vasilek-l);border:none;border-radius:11px;color:var(--vasilek);font-size:20px;display:flex;align-items:center;justify-content:center;cursor:pointer}
.mtop,.mbar{display:none}

/* ---------- FLASH ---------- */
.flash{margin:12px 0;padding:12px 16px;border-radius:11px;font-size:14px;font-weight:600}
.flash-info{background:var(--vasilek-l);color:var(--vasilek-d)}
.flash-ok{background:var(--green-l);color:var(--green)}
.flash-err{background:var(--red-l);color:var(--red-d)}

/* ---------- HERO (premium dark) ---------- */
.hero{position:relative;border-radius:24px;overflow:hidden;margin:20px 0;padding:32px 36px;background:radial-gradient(120% 140% at 85% 8%, #243056 0%, #141824 55%, #0F1320 100%);border:1px solid rgba(255,255,255,.07);color:#E8EAF0}
.hero .glowmap{position:absolute;right:-40px;top:-30px;width:300px;opacity:.10;pointer-events:none}
.hlive{display:inline-flex;align-items:center;gap:8px;background:rgba(226,58,58,.13);border:1px solid rgba(226,58,58,.28);color:#FF6B6B;font-size:12px;font-weight:700;padding:6px 13px;border-radius:30px;letter-spacing:.4px}
.hlive .d{width:7px;height:7px;border-radius:50%;background:#D22730;animation:pulse 1.4s infinite}
.hgrid{display:grid;grid-template-columns:1.15fr .85fr;gap:30px;margin-top:18px;align-items:center}
.htitle{font-size:36px;font-weight:800;line-height:1.1;letter-spacing:-1px;color:#fff}
.htitle .ac{background:#1B8A47;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hsub{font-size:15px;color:#8A91A3;margin:14px 0 22px;line-height:1.6;max-width:440px}
.hbtns{display:flex;gap:12px;flex-wrap:wrap}
.hb{padding:14px 22px;border-radius:13px;font-weight:700;font-size:14.5px;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;text-decoration:none}
.hb-p{background:var(--green);color:var(--on-accent);box-shadow:0 8px 24px rgba(27,138,71,.25)}
.hb-g{background:rgba(255,255,255,.06);color:#E8EAF0;border:1px solid rgba(255,255,255,.12)}
.hstats{display:flex;gap:26px;margin-top:24px}
.hstat .v{font-size:22px;font-weight:800;color:#fff}.hstat .l{font-size:12px;color:#8A91A3;margin-top:2px}
.glasscard{background:linear-gradient(165deg,rgba(40,48,72,.55),rgba(22,26,38,.65));border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:18px;box-shadow:0 20px 60px rgba(0,0,0,.4);text-decoration:none;color:#E8EAF0;display:block}
.gc-top{display:flex;gap:14px;align-items:center}
.gc-img{width:84px;height:84px;border-radius:15px;overflow:hidden;flex-shrink:0;box-shadow:0 8px 20px rgba(0,0,0,.3);background:#0C0F16}
.gc-img img{width:100%;height:100%;object-fit:cover}
.gc-lbl{font-size:11px;color:#F5A623;font-weight:700;letter-spacing:.5px;text-transform:uppercase}
.gc-nm{font-size:15px;font-weight:700;margin:3px 0 6px;line-height:1.25;color:#fff}
.gc-bid{font-size:26px;font-weight:800;color:#fff}.gc-bid small{font-size:13px;color:#8A91A3;font-weight:600}
.gc-spark{margin:14px 0;height:46px}
.gc-foot{display:flex;align-items:center;justify-content:space-between;padding-top:14px;border-top:1px solid rgba(255,255,255,.07)}
.gc-timer{display:flex;align-items:center;gap:7px;font-size:15px;font-weight:800;color:#fff;font-variant-numeric:tabular-nums}
.gc-timer .ti{color:#FF6B6B}
.gc-watch{font-size:11.5px;color:#8A91A3;display:flex;align-items:center;gap:5px}
.gc-watch .d{width:6px;height:6px;border-radius:50%;background:#1B8A47;animation:pulse 1.5s infinite}
.hero-empty{text-align:center;padding:30px 0}
.hero-empty .t{font-size:18px;font-weight:700;color:#fff}.hero-empty .d{font-size:13px;color:#8A91A3;margin:6px 0 16px}
/* value band (light premium) */
.vband{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:8px 0 24px}
.vb{border-radius:18px;padding:20px 22px;border:1px solid var(--line)}
.vb-ai{background:var(--green);color:var(--on-accent);display:flex;align-items:center;gap:16px;text-decoration:none;position:relative;overflow:hidden}
.vb-ai .vb-ic{width:48px;height:48px;border-radius:14px;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;font-size:26px;flex-shrink:0}
.vb-ai .vb-t{font-size:17px;font-weight:800}
.vb-ai .vb-d{font-size:13px;opacity:.92;margin-top:3px;line-height:1.45}
.vb-ai .vb-go{font-size:22px;margin-left:auto;opacity:.8}
.vb-escrow{background:var(--surface)}
.vb-escrow-h{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14.5px;margin-bottom:16px}
.vb-escrow-h .ti{color:var(--green);font-size:19px}
.etrack{display:flex;align-items:flex-start}
.es{flex:1;display:flex;flex-direction:column;align-items:center;gap:7px;position:relative;font-size:11px;color:var(--muted);text-align:center}
.ed{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;z-index:2}
.ed.done{background:var(--green);color:#fff}.ed.now{background:var(--vasilek);color:#fff}.ed.wait{background:#EDEFF4;color:var(--hint)}
.el{position:absolute;top:17px;left:50%;width:100%;height:2px;background:#EDEFF4;z-index:1}.el.fill{background:var(--green)}
.vband .es span{max-width:90px}
@media(max-width:768px){.vband{grid-template-columns:1fr}}
/* auction arena banner (dark) */
.arena{position:relative;border-radius:22px;overflow:hidden;margin:18px 0 20px;padding:26px 30px;background:radial-gradient(110% 130% at 88% 5%, #3A2548 0%, #1A1426 50%, #120E1C 100%);border:1px solid rgba(255,255,255,.07);color:#EEE9F2}
.arena .glowmap{position:absolute;right:-30px;top:-26px;width:240px;opacity:.09;pointer-events:none}
.arena-top{display:flex;align-items:center;gap:11px;flex-wrap:wrap}
.arena-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(226,58,58,.14);border:1px solid rgba(226,58,58,.3);color:#FF6B6B;font-size:12px;font-weight:700;padding:6px 13px;border-radius:30px;letter-spacing:.4px}
.arena-badge .d{width:7px;height:7px;border-radius:50%;background:#D22730;animation:pulse 1.4s infinite}
.arena h1{font-size:30px;font-weight:800;letter-spacing:-.7px;margin:14px 0 6px;color:#fff;display:flex;align-items:center;gap:10px}
.arena h1 .ti{color:#F5A623}
.arena p{font-size:14px;color:#A99FB5;max-width:520px;line-height:1.55}
.arena-stats{display:flex;gap:30px;margin-top:20px}
.arena-stat .v{font-size:24px;font-weight:800;color:#fff;display:flex;align-items:center;gap:6px}
.arena-stat .v .ti{font-size:18px}
.arena-stat .l{font-size:12px;color:#A99FB5;margin-top:2px}
.arena-sort{display:flex;gap:9px;margin:0 0 18px;flex-wrap:wrap}
.asort{padding:9px 16px;border-radius:30px;background:var(--surface);border:1px solid var(--line);font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;display:flex;align-items:center;gap:6px;white-space:nowrap}
.asort:hover{border-color:#C3CCE6}
.asort.on{background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 4px 12px rgba(226,58,58,.25)}
.asort.on.cool{background:var(--vasilek);border-color:var(--vasilek);box-shadow:0 4px 12px rgba(46,79,168,.25)}
@media(max-width:768px){.arena{padding:22px}.arena h1{font-size:24px}.arena-stats{gap:20px}}
/* ---------- STATS STRIP ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:8px 0 26px}
.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;text-align:center}
.stat .n{font-size:22px;font-weight:800;color:var(--vasilek)}
.stat .l{font-size:12px;color:var(--muted);margin-top:2px}

/* ---------- SECTIONS / GRID ---------- */
.sec-head{display:flex;align-items:center;justify-content:space-between;margin:26px 0 14px}
.sec-title{display:flex;align-items:center;gap:9px;font-size:21px;font-weight:800}
.sec-title .ti{font-size:23px}
.sec-more{font-size:14px;color:var(--vasilek);font-weight:700;flex-shrink:0}
.cats{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}
.cats::-webkit-scrollbar{display:none}
.cat{flex:0 0 auto;background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:13px 16px;display:flex;align-items:center;gap:9px;font-size:14px;font-weight:600;transition:.15s}
.cat:hover{border-color:var(--vasilek);color:var(--vasilek)}
.cat .ti{font-size:20px;color:var(--vasilek)}
.grid{display:grid;grid-template-columns:repeat(5,1fr);gap:15px}
.grid.g4{grid-template-columns:repeat(4,1fr)}

/* ---------- CARD ---------- */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:.15s;display:block}
.card:hover{border-color:#C9CEE0;transform:translateY(-2px);box-shadow:0 8px 24px rgba(30,52,122,.08)}
.card .img{aspect-ratio:1;background:#E9ECF5;display:flex;align-items:center;justify-content:center;color:#9AA2B8;position:relative;font-size:44px;overflow:hidden}
.card .img img{width:100%;height:100%;object-fit:cover}
.card .body{padding:11px 13px}
.card .price{font-size:18px;font-weight:800}
.card .price.auc{color:var(--vasilek)}
.card .name{font-size:13px;line-height:1.35;height:35px;overflow:hidden;margin:5px 0;color:var(--ink2)}
.card .meta{font-size:11.5px;color:var(--hint);margin-top:3px}
.tag{position:absolute;top:9px;left:9px;color:#fff;font-size:11px;font-weight:700;padding:4px 9px;border-radius:8px;display:flex;align-items:center;gap:4px}
.tag.timer2{background:var(--red)}.tag.soon{background:var(--amber)}.tag.auc{background:var(--vasilek)}
.fav{position:absolute;top:8px;right:8px;font-size:18px;color:#fff;background:rgba(0,0,0,.3);width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;border:none}
.fav.on{color:var(--red);background:var(--surface)}
.trust{display:flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600}
.trust.g{color:var(--green)}.trust.b{color:var(--vasilek)}.trust.m{color:var(--hint)}

/* ===== RICH CARD (гибрид: графики+рейтинг+ИИ) ===== */
.rcard{background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:.18s;display:block;position:relative}
.rcard:hover{border-color:#C3CCE6;transform:translateY(-3px);box-shadow:0 16px 38px rgba(30,52,122,.13)}
.rimg{aspect-ratio:1.35;background:#EEF1F8;position:relative;overflow:hidden}
.rimg img{width:100%;height:100%;object-fit:cover;transition:.3s}
.rcard:hover .rimg img{transform:scale(1.04)}
.rnoimg{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#9AA2B8;font-size:48px}
.rbadge{position:absolute;top:10px;left:10px;color:#fff;font-size:11px;font-weight:700;padding:4px 9px;border-radius:20px;display:flex;align-items:center;gap:4px;box-shadow:0 2px 8px rgba(0,0,0,.18);z-index:2}
.rbadge.auc{background:rgba(46,79,168,.95)}
.rbadge.new{background:rgba(15,157,88,.95)}
.rbadge.ai{background:#1B8A47}
.rbadge.fire{background:#D22730}
.rfav{position:absolute;top:10px;right:10px;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;color:#6E7385;font-size:18px;z-index:2;transition:.15s;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.rfav:hover{transform:scale(1.12)}.rfav.on{color:var(--red)}
.rtimer{position:absolute;bottom:10px;left:10px;background:rgba(17,19,26,.82);color:#fff;font-size:12px;font-weight:700;padding:5px 11px;border-radius:20px;display:flex;align-items:center;gap:5px;font-variant-numeric:tabular-nums;z-index:2}
.rtimer .ti{font-size:14px;color:#FF8A6B}
.rwatching{position:absolute;bottom:10px;right:10px;background:rgba(255,255,255,.92);color:var(--ink2);font-size:11px;font-weight:700;padding:4px 9px;border-radius:20px;display:flex;align-items:center;gap:4px;z-index:2}
.rwatching .dotlive{width:6px;height:6px;border-radius:50%;background:var(--green);animation:pulse 1.6s infinite}
.rbody{padding:13px 14px}
.rprice-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.rprice{font-size:21px;font-weight:800;letter-spacing:-.3px}
.rprice.auc{color:var(--vasilek)}
.rbelow{font-size:11px;font-weight:700;color:var(--green);display:flex;align-items:center;gap:2px;background:var(--green-l);padding:2px 7px;border-radius:6px;white-space:nowrap}
.rbidchip{font-size:11px;font-weight:700;color:var(--vasilek);background:var(--vasilek-l);padding:2px 7px;border-radius:6px;white-space:nowrap}
.rname{font-size:13.5px;line-height:1.35;height:37px;overflow:hidden;margin:6px 0 9px;color:var(--ink2);font-weight:500}
.rai{display:flex;gap:8px;background:linear-gradient(135deg,#EAEFFB,#F8F9FC);border-radius:10px;padding:8px 10px;margin-bottom:9px}
.rai .rring{flex-shrink:0}
.rai-t{font-size:10px;color:var(--vasilek);font-weight:800;display:flex;align-items:center;gap:3px}
.rai-d{font-size:10.5px;color:var(--ink2);line-height:1.35;margin-top:2px}
.rchart{background:var(--bg);border-radius:10px;padding:8px 10px;margin-bottom:9px}
.rchart-h{display:flex;justify-content:space-between;font-size:10.5px;color:var(--hint);margin-bottom:4px}
.rchart-h .up{color:var(--green);font-weight:700}
.rbars{display:flex;align-items:flex-end;gap:3px;height:30px}
.rbars div{flex:1;background:var(--vasilek);border-radius:3px}
.rstats{display:flex;gap:6px;margin-bottom:9px}
.rstat{flex:1;text-align:center;border-radius:8px;padding:6px 0}
.rstat .v{font-size:14px;font-weight:800}.rstat .l{font-size:9.5px;color:var(--muted)}
.rstat.amber{background:var(--amber-l)}.rstat.amber .v{color:var(--amber)}
.rstat.vas{background:var(--vasilek-l)}.rstat.vas .v{color:var(--vasilek)}
.rstat.green{background:var(--green-l)}.rstat.green .v{color:var(--green)}
.rchips{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:9px}
.rchip{font-size:10px;font-weight:600;padding:3px 8px;border-radius:20px;display:flex;align-items:center;gap:3px}
.rchip.green{background:var(--green-l);color:var(--green)}
.rchip.green2{background:var(--green-l);color:var(--green)}
.rchip.vas{background:var(--vasilek-l);color:var(--vasilek)}
.rchip.gray{background:var(--bg);color:var(--muted)}
.rseller{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--muted);padding-top:9px;border-top:1px solid var(--line)}
.rseller .sa{width:22px;height:22px;border-radius:50%;background:var(--vasilek);color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0}
.rseller .vrf{color:var(--green);font-size:13px}
.rseller .rstar{margin-left:auto;font-weight:700;color:var(--ink2);display:flex;align-items:center;gap:2px}
.rseller .rstar .ti{color:var(--amber)}
.rquick{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(0deg,rgba(17,19,26,.9),transparent);padding:30px 12px 12px;transform:translateY(100%);transition:.22s;z-index:3}
.rcard:hover .rquick{transform:translateY(0)}
.rquick button{width:100%;background:var(--red);color:#fff;border:none;border-radius:10px;padding:10px;font-weight:700;font-size:13px;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:6px}
.rquick button:hover{background:var(--red-d)}
.rgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
/* Semantic markup resets (article wrapper, figure, h3 title) — keep visual identical */
.rcard-wrap{display:block;margin:0;padding:0}
.rcard figure.rc-photo{margin:0}
.rcard h3.rc-title{font-weight:500}
@media(max-width:1024px){.rgrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:768px){.rgrid{grid-template-columns:repeat(2,1fr);gap:12px}.rquick{display:none}}
@media(max-width:380px){.rgrid{gap:10px}}

/* ---------- FEATURES ROW ---------- */
.feats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:28px 0}
.feat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px;text-align:center;display:block;text-decoration:none;color:inherit;transition:.15s}
.feat:hover{border-color:var(--vasilek);transform:translateY(-3px);box-shadow:0 10px 26px rgba(30,52,122,.10)}
.feat .ic{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:26px;margin:0 auto 11px}
.feat .t{font-weight:700;font-size:15px}
.feat .d{font-size:12.5px;color:var(--muted);margin-top:4px;line-height:1.5}
.scta{background:linear-gradient(135deg,var(--night),var(--vasilek));border-radius:var(--r-lg);padding:28px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#fff;margin-bottom:12px;transition:.15s}
.scta:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(30,52,122,.25)}
.scta .t{font-size:22px;font-weight:800}
.scta .d{font-size:13.5px;opacity:.9;margin-top:6px;max-width:520px;line-height:1.5}
.sctabtn{background:var(--surface);color:var(--vasilek);padding:14px 24px;font-size:14px;white-space:nowrap}

/* ---------- CATALOG (filters + grid) ---------- */
.catalog{display:grid;grid-template-columns:248px 1fr;gap:22px;margin:18px 0}
.filters{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;align-self:start;position:sticky;top:80px;box-shadow:0 2px 14px rgba(30,52,122,.04)}
.filters-h{font-size:15px;font-weight:800;margin-bottom:16px;display:flex;align-items:center;gap:8px}
.filters-h .ti{color:var(--vasilek);font-size:18px}
.fgroup{margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.fgroup:last-of-type{border-bottom:none}
.fgroup .fl{font-size:12px;font-weight:700;margin-bottom:10px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted)}
.fgroup label{display:flex;align-items:center;gap:9px;font-size:13.5px;color:var(--ink2);padding:6px 0;cursor:pointer;transition:.12s}
.fgroup label:hover{color:var(--vasilek)}
.fgroup input[type=radio]{accent-color:var(--vasilek);width:16px;height:16px}
.fgroup input[type=number]{width:100%;height:40px;border:1.5px solid var(--line);border-radius:10px;padding:0 12px;font-family:inherit;font-size:13px;outline:none}
.fgroup input[type=number]:focus{border-color:var(--vasilek)}
.frow{display:flex;gap:8px;align-items:center}
.frow .dash{color:var(--hint)}
/* chip row */
.catchips{display:flex;gap:9px;margin-bottom:18px;flex-wrap:wrap}
.catchip{padding:9px 15px;border-radius:30px;background:var(--surface);border:1px solid var(--line);font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;display:flex;align-items:center;gap:6px;transition:.15s;white-space:nowrap}
.catchip:hover{border-color:#C3CCE6}
.catchip.on{background:var(--vasilek);border-color:var(--vasilek);color:#fff;box-shadow:0 4px 12px rgba(46,79,168,.25)}
.catchip.accent.on{background:var(--red);border-color:var(--red);box-shadow:0 4px 12px rgba(226,58,58,.25)}
.toolbar{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:12px}
.toolbar h1{font-size:24px;font-weight:800}
.toolbar h1 span{color:var(--hint);font-size:15px;font-weight:600}
.sortseg{display:flex;background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:3px;font-size:13px}
.sortseg a{padding:7px 14px;border-radius:8px;color:var(--muted);font-weight:600;transition:.12s}
.sortseg a.on{background:var(--vasilek);color:#fff}
.filters-toggle{display:none}

/* ---------- LISTING (single) ---------- */
.lwrap{display:grid;grid-template-columns:1.3fr 1fr;gap:24px;margin:18px 0;align-items:start}
.gallery .main{aspect-ratio:4/3;background:#E9ECF5;border-radius:var(--r-lg);display:flex;align-items:center;justify-content:center;color:#9AA2B8;font-size:80px;overflow:hidden}
.gallery .main img{width:100%;height:100%;object-fit:cover}
.thumbs{display:flex;gap:8px;margin-top:10px}
.thumbs .th{width:68px;height:68px;border-radius:10px;background:#E9ECF5;border:2px solid transparent;cursor:pointer;overflow:hidden;flex-shrink:0}
.thumbs .th.on{border-color:var(--vasilek)}
.lpanel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px}
.lpanel h1{font-size:24px;font-weight:800;line-height:1.25;margin-bottom:10px}
.lprice{font-size:34px;font-weight:800;color:var(--vasilek)}
.lprice.fixed{color:var(--ink)}
.lmeta{font-size:13px;color:var(--muted);margin:6px 0 18px;display:flex;gap:14px;flex-wrap:wrap}
.lmeta span{display:flex;align-items:center;gap:5px}
.aucbox{background:var(--vasilek-l);border-radius:14px;padding:16px;margin:16px 0}
.aucbox .arow{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.aucbox .atimer{font-variant-numeric:tabular-nums;font-weight:800;font-size:20px;color:var(--red);display:flex;align-items:center;gap:6px}
.bidform{display:flex;gap:9px;margin-top:12px}
.bidform input{flex:1;height:48px;border:1.5px solid var(--vasilek);border-radius:11px;padding:0 14px;font-size:16px;font-family:inherit;font-weight:700}
.seller{display:flex;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:16px 0}
.seller .sav{width:46px;height:46px;border-radius:12px;background:var(--vasilek);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}
.seller .snm{font-weight:700;font-size:14px}
.seller .sst{font-size:12px;color:var(--green);display:flex;align-items:center;gap:3px}
.ldesc{font-size:15px;line-height:1.7;color:var(--ink2);overflow-wrap:anywhere}
.ldesc p{margin:0 0 .75em}.ldesc p:last-child{margin-bottom:0}
.ldesc-ul{list-style:none;margin:.2em 0 .9em;padding:0;display:grid;gap:6px}
.ldesc-ul li{position:relative;padding-left:22px}
.ldesc-ul li::before{content:"";position:absolute;left:4px;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--green);opacity:.75}
.ldesc-empty{color:var(--muted);font-style:italic}
.bidlog{margin-top:8px;max-height:200px;overflow-y:auto}
.bidlog .bl{display:flex;justify-content:space-between;font-size:13px;padding:7px 0;border-bottom:1px solid var(--line)}
.bidlog .bl b{color:var(--vasilek)}
.auc-chart-wrap{background:var(--bg);border-radius:12px;padding:12px 14px;margin:10px 0}
.auc-chart-h{font-size:13px;font-weight:700;display:flex;align-items:center;gap:6px;color:var(--ink2);margin-bottom:8px}
.auc-chart-h>i{color:var(--green)}
.auc-chart-h span{margin-left:auto;font-size:11.5px;font-weight:600;color:var(--muted)}
.auc-chart{width:100%;height:88px;display:block}
.auc-chart-foot{display:flex;justify-content:space-between;font-size:11.5px;color:var(--muted);margin-top:6px}
.auc-chart-foot span{display:inline-flex;align-items:center;gap:4px}
/* --- enhanced listing visuals --- */
.lstats{display:flex;gap:8px;margin:14px 0}
.lstat{flex:1;text-align:center;border-radius:11px;padding:11px 0}
.lstat .v{font-size:19px;font-weight:800}.lstat .l{font-size:10.5px;color:var(--muted);margin-top:1px}
.lstat.amber{background:var(--amber-l)}.lstat.amber .v{color:var(--amber)}
.lstat.vas{background:var(--vasilek-l)}.lstat.vas .v{color:var(--vasilek)}
.lstat.green{background:var(--green-l)}.lstat.green .v{color:var(--green)}
.lchart{background:var(--bg);border-radius:12px;padding:13px 15px;margin:14px 0}
.lchart-h{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted);margin-bottom:8px;font-weight:600}
.lchart-h .up{color:var(--green);font-weight:700;display:flex;align-items:center;gap:3px}
.laibox{display:flex;gap:12px;background:linear-gradient(135deg,#EAEFFB,#F4F6FC);border-radius:14px;padding:14px 16px;margin:14px 0}
.laibox .lring{flex-shrink:0}
.laibox .t{font-size:12px;color:var(--vasilek);font-weight:800;display:flex;align-items:center;gap:4px}
.laibox .d{font-size:13px;color:var(--ink2);line-height:1.5;margin-top:3px}
.lwatch{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:var(--green);background:var(--green-l);padding:4px 10px;border-radius:20px}
.lwatch .dotlive{width:6px;height:6px;border-radius:50%;background:var(--green);animation:pulse 1.6s infinite}
.guarantees{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.guar{display:flex;align-items:center;gap:9px;background:var(--bg);border-radius:11px;padding:11px 12px}
.guar .gi{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.guar .gt{font-size:12px;font-weight:700;line-height:1.2}
.guar .gd{font-size:10.5px;color:var(--muted);margin-top:1px}
.sellerbig{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:15px;margin-top:14px}
.sellerbig .top{display:flex;align-items:center;gap:12px}
.sellerbig .sav{width:50px;height:50px;border-radius:13px;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px;flex-shrink:0}
.sellerbig .snm{font-weight:800;font-size:15px;display:flex;align-items:center;gap:5px}
.sellerbig .svrf{color:var(--green);font-size:15px}
.sellerbig .smeta{font-size:12px;color:var(--muted);margin-top:2px}
.sellerbig .srow{display:flex;gap:8px;margin-top:12px}
.sellerbig .schip{flex:1;text-align:center;background:var(--bg);border-radius:9px;padding:8px 0}
.sellerbig .schip .v{font-size:14px;font-weight:800;color:var(--ink)}
/* --- market block (StockX-style) --- */
.market{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px;margin:14px 0}
.market-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.market-h .t{font-size:14px;font-weight:800;display:flex;align-items:center;gap:7px}
.market-h .t .ti{color:var(--vasilek)}
.market-h .last{font-size:11px;color:var(--muted)}
.market-row{display:flex;gap:10px;margin-bottom:12px}
.mr-cell{flex:1;border-radius:11px;padding:11px 13px;border:1px solid var(--line)}
.mr-cell.bid{background:var(--green-l);border-color:transparent}
.mr-cell.ask{background:var(--vasilek-l);border-color:transparent}
.mr-cell .ml{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:var(--muted)}
.mr-cell.bid .ml{color:var(--green)}.mr-cell.ask .ml{color:var(--vasilek)}
.mr-cell .mv{font-size:18px;font-weight:800;margin-top:2px}
.mr-cell.bid .mv{color:var(--green)}.mr-cell.ask .mv{color:var(--vasilek)}
.market-foot{display:flex;justify-content:space-between;font-size:11.5px;color:var(--muted);padding-top:11px;border-top:1px solid var(--line)}
.market-foot b{color:var(--ink)}
/* --- item signals (eBay-style) --- */
.signals{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.signal{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--ink2);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:7px 11px}
.signal .ti{font-size:15px}
.signal.hot .ti{color:var(--red)}.signal.fast .ti{color:var(--green)}.signal.eye .ti{color:var(--vasilek)}.signal.ret .ti{color:var(--amber)}
/* --- buyer protection panel --- */
.protect-panel{background:linear-gradient(135deg,#E7F6EE,#F4FBF7);border:1px solid rgba(15,157,88,.2);border-radius:14px;padding:16px;margin:14px 0}
.pp-h{display:flex;align-items:center;gap:9px;font-weight:800;font-size:14px;color:#0B7A47}
.pp-h .ti{font-size:20px}
.pp-list{margin-top:11px;display:flex;flex-direction:column;gap:8px}
.pp-item{display:flex;align-items:center;gap:9px;font-size:12.5px;color:var(--ink2)}
.pp-item .ti{color:var(--green);font-size:16px;flex-shrink:0}
.pp-verify{display:flex;align-items:center;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(15,157,88,.18)}
.pp-tier{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:700;background:var(--surface);border:1px solid rgba(15,157,88,.25);color:#0B7A47;padding:5px 10px;border-radius:20px}
/* --- offer button + modal-less inline --- */
.btn-offer{width:100%;margin-top:9px;background:var(--surface);border:1.5px solid var(--vasilek);color:var(--vasilek);padding:14px;font-size:14px;border-radius:12px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;font-family:inherit}
.btn-offer:hover{background:var(--vasilek-l)}
.offer-box{display:none;margin-top:10px;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:13px}
.offer-box.open{display:block}
.offer-box .oh{font-size:12.5px;font-weight:700;margin-bottom:9px}
.offer-row{display:flex;gap:8px}
.offer-row input{flex:1;height:44px;border:1.5px solid var(--line);border-radius:10px;padding:0 12px;font-family:inherit;font-size:15px;font-weight:700;outline:none}
.offer-row input:focus{border-color:var(--vasilek)}
.offer-hint{font-size:11px;color:var(--muted);margin-top:7px}
.sellerbig .schip .l{font-size:10px;color:var(--muted)}
.trust-light{display:flex;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;border-radius:11px;font-size:12.5px;font-weight:700}
.trust-light .tdot{width:10px;height:10px;border-radius:50%;flex-shrink:0;position:relative}
.trust-light .tdot::after{content:"";position:absolute;inset:-4px;border-radius:50%;opacity:.3}
.trust-light.green{background:var(--green-l);color:#0B7A47}.trust-light.green .tdot{background:var(--green)}.trust-light.green .tdot::after{background:var(--green)}
.trust-light.amber{background:var(--amber-l);color:#9A6207}.trust-light.amber .tdot{background:var(--amber)}.trust-light.amber .tdot::after{background:var(--amber)}
.trust-light.red{background:var(--red-l);color:#B02525}.trust-light.red .tdot{background:var(--red)}.trust-light.red .tdot::after{background:var(--red)}
.trust-light .tbar{margin-left:auto;font-size:11px;font-weight:600;opacity:.8}

/* ---------- SELL FORM ---------- */
.formwrap{max-width:720px;margin:18px auto}
.formwrap h1{font-size:26px;font-weight:800;margin-bottom:18px}
.fld{margin-bottom:16px}
.fld label{display:block;font-size:13.5px;font-weight:700;margin-bottom:7px}
.fld input,.fld select,.fld textarea{width:100%;border:1.5px solid var(--line);border-radius:11px;padding:12px 14px;font-family:inherit;font-size:14px;outline:none}
.fld input:focus,.fld textarea:focus,.fld select:focus{border-color:var(--vasilek)}
.fld textarea{min-height:120px;resize:vertical}
.seg{display:flex;gap:10px}
.seg label{flex:1;border:1.5px solid var(--line);border-radius:12px;padding:14px;text-align:center;cursor:pointer;font-weight:700;font-size:14px;display:block}
.seg input{display:none}
.seg input:checked+span{color:var(--vasilek)}
.seg label:has(input:checked){border-color:var(--vasilek);background:var(--vasilek-l)}
.aihint{background:var(--vasilek-l);border-radius:12px;padding:14px;display:flex;gap:11px;margin-bottom:18px;align-items:center}
.aihint .ti{font-size:24px;color:var(--vasilek)}
.aihint .t{font-size:13.5px;font-weight:700;color:var(--vasilek-d)}
.aihint .d{font-size:12.5px;color:var(--ink2)}

/* ---------- CABINET (premium) ---------- */
.cab-head{display:flex;align-items:flex-end;justify-content:space-between;margin:18px 0;flex-wrap:wrap;gap:12px}
.cab-head h1{font-size:25px;font-weight:800}
.cab-head .sub{font-size:13.5px;color:var(--muted);margin-top:3px}
.cab-top{display:grid;grid-template-columns:1.1fr 2fr;gap:16px;margin-bottom:22px}
/* dark wallet card */
.wallet{position:relative;border-radius:20px;overflow:hidden;padding:22px 24px;background:radial-gradient(120% 130% at 85% 10%,#243056 0%,#161A28 60%,#10131C 100%);border:1px solid rgba(255,255,255,.08);color:#E8EAF0}
.wallet .wl-h{display:flex;align-items:center;gap:8px;font-size:12.5px;color:#A6AEC2;font-weight:600}
.wallet .wl-h .ti{color:var(--green);font-size:17px}
.wallet .wl-bal{font-size:34px;font-weight:800;color:#fff;margin:10px 0 2px;letter-spacing:-.5px}
.wallet .wl-sub{font-size:12.5px;color:#8A91A3}
.wallet .wl-row{display:flex;gap:10px;margin-top:18px}
.wallet .wl-chip{flex:1;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:10px 12px}
.wallet .wl-chip .v{font-size:16px;font-weight:800;color:#fff}
.wallet .wl-chip .l{font-size:10.5px;color:#8A91A3;margin-top:1px}
.wallet .wl-btn{margin-top:16px;width:100%;background:var(--green);color:var(--on-accent);border:none;border-radius:11px;padding:12px;font-weight:700;font-size:13.5px;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:7px;text-decoration:none}
/* KPI cards */
.kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.kpi{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px 18px;display:flex;flex-direction:column;justify-content:space-between}
.kpi-top{display:flex;align-items:center;justify-content:space-between}
.kpi-ic{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:20px}
.kpi-tr{font-size:11.5px;font-weight:700;display:flex;align-items:center;gap:2px;padding:2px 7px;border-radius:6px}
.kpi-tr.up{color:var(--green);background:var(--green-l)}
.kpi-tr.dn{color:var(--red);background:var(--red-l)}
.kpi-tr.flat{color:var(--muted);background:var(--bg)}
.kpi-v{font-size:26px;font-weight:800;margin-top:12px;letter-spacing:-.5px}
.kpi-l{font-size:12.5px;color:var(--muted);margin-top:1px}
.kpi-spark{height:24px;margin-top:10px}
@media(max-width:900px){.cab-top{grid-template-columns:1fr}}
@media(max-width:560px){.kpis{grid-template-columns:1fr 1fr}.kpi-v{font-size:22px}}

/* ---------- FOOTER ---------- */
.ftr{background:var(--surface);border-top:1px solid var(--line);padding:28px 0;margin-top:24px}
.foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:22px;font-size:13px;color:var(--muted)}
.fcol{display:flex;flex-direction:column;gap:7px}
.fcol .fh{font-weight:700;color:var(--ink);margin-bottom:2px}
.fcol a:hover{color:var(--vasilek)}
.fbrand{max-width:240px}.fbrand p{line-height:1.6;margin-top:8px}

/* ---------- MOBILE TABBAR ---------- */
.tabbar{display:none}

/* ============ RESPONSIVE ============ */
@media(max-width:1024px){.grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:900px){
  .catalog{grid-template-columns:1fr}
  .filters{position:static;display:none}
  .filters.open{display:block}
  .lwrap{grid-template-columns:1fr}
}
@media(max-width:768px){
  .htop{display:none}
  .hgrid{grid-template-columns:1fr;gap:18px}
  .hero{padding:24px 22px}
  .htitle{font-size:28px}
  .glasscard{order:2}
  .hstats{gap:18px}
  .catalog{grid-template-columns:1fr;gap:14px}
  .filters{position:static;display:none}
  .filters.open{display:block}
  .filters-toggle{display:inline-flex;align-items:center;gap:7px;background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:11px 16px;font-weight:700;font-size:14px;cursor:pointer;color:var(--ink2)}
  .mtop{display:flex;align-items:center;gap:10px;padding:10px 20px}
  .mtop .logo{font-size:20px;flex:1}
  .mtop .micon{width:40px;height:40px;border-radius:11px;background:var(--vasilek-l);display:flex;align-items:center;justify-content:center;color:var(--vasilek);font-size:21px}
  .mbar{display:flex;padding:0 20px 11px}
  .mbar .search input{height:44px}
  .hero{grid-template-columns:1fr;gap:14px;margin:14px 0}
  .stats{grid-template-columns:repeat(2,1fr);margin-bottom:22px}
  .grid,.grid.g4{grid-template-columns:repeat(2,1fr);gap:12px}
  .feats{grid-template-columns:repeat(2,1fr);gap:12px}
  .scta{flex-direction:column;text-align:center;padding:24px 20px}
  .sec-title{font-size:18px}.sec-title .ti{font-size:20px}
  .lot .pic{width:96px;height:96px;font-size:38px}.bid{font-size:28px}
  body{padding-bottom:66px}
  .tabbar{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--line);padding:8px 0 calc(8px + env(safe-area-inset-bottom));z-index:200;justify-content:space-around}
  .tabbar a{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10.5px;color:var(--muted);flex:1}
  .tabbar a:hover{color:var(--vasilek)}
  .tabbar a .ti{font-size:23px}
  .tabbar .midbtn{width:46px;height:46px;border-radius:14px;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:center;font-size:26px;margin-top:-18px;box-shadow:0 6px 16px rgba(210,39,48,.25)}
  .toolbar h1{font-size:20px}
}
@media(max-width:380px){.grid,.grid.g4{gap:10px}.wrap{padding:0 14px}}
/* ============ TIKTOK-STYLE FEED ============ */
.feedwrap{position:fixed;inset:0;top:0;background:#000;z-index:500;overflow:hidden}
.feed-scroll{height:100vh;height:100dvh;overflow-y:scroll;scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.feed-scroll::-webkit-scrollbar{display:none}
.feed-item{height:100vh;height:100dvh;scroll-snap-align:start;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}
.feed-media{position:absolute;inset:0;overflow:hidden;background:#0A0A0F}
/* Водяной знак Kramba поверх фото/видео в ленте (для внешних фото и видео,
   которые не штампуются на сервере) */
.media-wm{position:absolute;right:12px;bottom:74px;width:104px;height:30px;z-index:3;pointer-events:none;
  background:url('/assets/watermark.png') no-repeat center/contain;opacity:.55;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}
.gallery .main{position:relative}
.gallery .gal-wm{right:14px;bottom:14px;width:120px;height:34px;opacity:.5}
.feed-media img{width:100%;height:100%;object-fit:cover;animation:kenburns 14s ease-in-out infinite alternate}
@keyframes kenburns{0%{transform:scale(1) translate(0,0)}100%{transform:scale(1.12) translate(-2%,-2%)}}
.feed-media video{width:100%;height:100%;object-fit:cover}
.feed-grad{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.45) 0%,transparent 22%,transparent 50%,rgba(0,0,0,.85) 100%);pointer-events:none}
/* верхняя панель ленты */
.feed-top{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:10px;padding:14px 16px calc(14px + env(safe-area-inset-top));z-index:6;background:linear-gradient(to bottom,rgba(0,0,0,.55) 0%,rgba(0,0,0,.25) 60%,transparent 100%);pointer-events:none}
.feed-top>*{pointer-events:auto}
.feed-top .fclose{width:38px;height:38px;border-radius:50%;background:rgba(0,0,0,.35);backdrop-filter:blur(10px);border:none;color:#fff;font-size:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;text-decoration:none;flex-shrink:0}
.feed-tabs{display:flex;gap:8px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.feed-tabs::-webkit-scrollbar{display:none}
.feed-tab{color:rgba(255,255,255,.7);font-weight:600;font-size:14px;cursor:pointer;position:relative;white-space:nowrap;scroll-snap-align:start;padding:7px 13px;border-radius:18px;background:rgba(0,0,0,.3);backdrop-filter:blur(8px);text-decoration:none;transition:.15s;display:inline-flex;align-items:center}
.feed-tab.on{color:#0A0A0F;background:var(--surface);font-weight:700}
.feed-search{width:38px;height:38px;border-radius:50%;background:rgba(0,0,0,.35);backdrop-filter:blur(10px);border:none;color:#fff;font-size:19px;display:flex;align-items:center;justify-content:center;cursor:pointer;text-decoration:none;flex-shrink:0}
/* правая колонка действий */
.feed-actions{position:absolute;right:14px;bottom:calc(120px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:20px;z-index:6}
.fa{display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer;border:none;background:none;color:#fff;font-family:inherit}
.fa-ic{width:50px;height:50px;border-radius:50%;background:rgba(255,255,255,.14);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;font-size:25px;transition:.15s}
.fa:active .fa-ic{transform:scale(.88)}
.fa.liked .fa-ic{color:#FF4D6D}
.fa .fa-n{font-size:12px;font-weight:700;text-shadow:0 1px 3px rgba(0,0,0,.5)}
.fa-seller{margin-bottom:4px}
.fa-seller .av{width:50px;height:50px;border-radius:50%;border:2px solid #fff;background:#1B8A47;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;color:#fff;position:relative}
.fa-seller .plus{position:absolute;bottom:-7px;left:50%;transform:translateX(-50%);width:20px;height:20px;border-radius:50%;background:#D22730;border:2px solid #000;display:flex;align-items:center;justify-content:center;font-size:12px;color:#fff}
/* нижняя инфо-панель */
.feed-info{position:absolute;left:0;right:74px;bottom:0;padding:18px;padding-bottom:calc(22px + env(safe-area-inset-bottom));z-index:5;color:#fff}
.fi-badges{display:flex;gap:7px;margin-bottom:10px;flex-wrap:wrap}
.fi-badge{font-size:11px;font-weight:700;padding:5px 10px;border-radius:20px;display:flex;align-items:center;gap:4px;backdrop-filter:blur(8px)}
.fi-badge.auc{background:rgba(46,79,168,.85)}.fi-badge.hot{background:rgba(226,58,58,.9)}.fi-badge.prot{background:rgba(15,157,88,.85)}
.fi-seller{font-size:14px;font-weight:700;margin-bottom:7px;display:flex;align-items:center;gap:6px;text-shadow:0 1px 4px rgba(0,0,0,.5)}
.fi-seller .vrf{color:#5BE5A0}
.fi-title{font-size:16px;font-weight:600;line-height:1.4;margin-bottom:10px;text-shadow:0 1px 6px rgba(0,0,0,.6);max-width:520px}
.fi-meta{display:flex;align-items:center;gap:14px;font-size:12.5px;color:rgba(255,255,255,.85);margin-bottom:14px;text-shadow:0 1px 3px rgba(0,0,0,.5)}
.fi-meta span{display:flex;align-items:center;gap:4px}
/* ценовая капсула + купить */
.fi-buy{display:flex;align-items:center;gap:12px}
.fi-price{background:rgba(255,255,255,.16);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.22);border-radius:16px;padding:10px 16px}
.fi-price .pl{font-size:10.5px;color:rgba(255,255,255,.75);font-weight:600}
.fi-price .pv{font-size:22px;font-weight:800;line-height:1.1}
.fi-cta{flex:1;max-width:200px;background:#D22730;color:#fff;border:none;border-radius:16px;padding:15px;font-weight:800;font-size:15px;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-family:inherit;box-shadow:0 8px 24px rgba(210,39,48,.25);text-decoration:none}
.fi-cta.auc{background:var(--green);box-shadow:0 8px 24px rgba(27,138,71,.25)}
/* мини-таймер для аукционов */
.fi-timer{display:inline-flex;align-items:center;gap:5px;background:rgba(226,58,58,.92);border-radius:20px;padding:5px 11px;font-size:12px;font-weight:800;font-variant-numeric:tabular-nums;margin-bottom:10px}
/* свайп-подсказка */
.feed-hint{position:absolute;bottom:96px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.55);font-size:12px;display:flex;flex-direction:column;align-items:center;gap:2px;z-index:4;animation:swipeup 2s ease-in-out infinite;pointer-events:none}
@keyframes swipeup{0%,100%{transform:translate(-50%,0);opacity:.4}50%{transform:translate(-50%,-8px);opacity:.8}}
/* нативная карточка подписки на Telegram-канал в ленте */
.feed-subscribe{background:linear-gradient(160deg,#0E2A45 0%,#0A0A0F 70%)}
.fsub-wrap{max-width:440px;margin:0 auto;padding:32px 28px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px}
.fsub-icon{width:84px;height:84px;border-radius:24px;background:linear-gradient(145deg,#2AABEE,#229ED9);display:flex;align-items:center;justify-content:center;color:#fff;font-size:44px;box-shadow:0 14px 38px rgba(34,158,217,.4)}
.fsub-title{color:#fff;font-size:24px;font-weight:800;font-family:'Space Grotesk',sans-serif}
.fsub-text{color:rgba(255,255,255,.7);font-size:15px;line-height:1.55}
.fsub-btn{display:inline-flex;align-items:center;gap:8px;background:#229ED9;color:#fff;text-decoration:none;font-weight:700;font-size:15px;padding:14px 26px;border-radius:14px;margin-top:4px;transition:.15s}
.fsub-btn:hover{background:#1B86BC;transform:translateY(-2px)}
.fsub-hint{color:rgba(255,255,255,.45);font-size:12.5px;margin-top:6px;display:flex;align-items:center;gap:4px}
/* Органичная полоса подписки на Telegram-канал (страницы лота/главной) */
.tg-band{display:flex;align-items:center;gap:16px;max-width:920px;margin:24px auto;padding:16px 20px;background:linear-gradient(135deg,rgba(34,158,217,.12),rgba(34,158,217,.04));border:1px solid rgba(34,158,217,.28);border-radius:16px;text-decoration:none;transition:.15s}
.tg-band:hover{border-color:rgba(34,158,217,.5);box-shadow:0 8px 24px rgba(34,158,217,.12)}
.tg-band-ic{flex:0 0 auto;width:52px;height:52px;border-radius:14px;background:linear-gradient(145deg,#2AABEE,#229ED9);display:flex;align-items:center;justify-content:center;color:#fff;font-size:28px}
.tg-band-txt{flex:1;font-size:13.5px;color:var(--ink2);line-height:1.5}
.tg-band-txt b{display:block;color:var(--ink);font-size:15.5px;margin-bottom:2px}
.tg-band-btn{flex:0 0 auto;background:#229ED9;color:#fff;font-weight:700;font-size:14px;padding:11px 22px;border-radius:11px;white-space:nowrap}
@media(max-width:560px){.tg-band{flex-direction:column;text-align:center;gap:12px}.tg-band-btn{width:100%}}
/* компактный чип подписки на главной (минималистичный) */
.g-tg-chip{display:inline-flex;align-items:center;gap:7px;margin:18px auto 0;padding:9px 16px;border:1px solid rgba(34,158,217,.3);border-radius:999px;background:rgba(34,158,217,.06);color:var(--ink2);font-size:13px;text-decoration:none;transition:.15s}
.g-tg-chip:hover{border-color:rgba(34,158,217,.55);color:var(--ink);background:rgba(34,158,217,.1)}
.g-tg-chip i{color:#229ED9;font-size:17px}
.g-tg-chip b{color:#229ED9;font-weight:700}
/* плавающая кнопка ленты на других страницах */
.feedfab{position:fixed;right:18px;bottom:24px;z-index:190;width:54px;height:54px;border-radius:50%;background:#D22730;box-shadow:0 8px 24px rgba(210,39,48,.25);display:flex;align-items:center;justify-content:center;color:#fff;font-size:25px;text-decoration:none;border:none;cursor:pointer}
@media(max-width:768px){.feedfab{display:none}}
@media(min-width:900px){
  .feed-item{max-width:480px;margin:0 auto}
  .feedwrap{background:#0A0A0F}
  .feed-top{max-width:480px;left:50%;right:auto;transform:translateX(-50%);width:100%}
}

/* === v49: новые фичи ленты === */
/* живой индикатор (пульсирующая точка) */
.ft-live{display:inline-block;width:8px;height:8px;border-radius:50%;background:#FF3B30;margin-right:5px;animation:ftpulse 1.4s ease-in-out infinite;vertical-align:middle}
@keyframes ftpulse{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(255,59,48,.6)}50%{opacity:.6;box-shadow:0 0 0 5px rgba(255,59,48,0)}}
/* новые бейджи */
.fi-badge.live{background:rgba(255,59,48,.92)}
.fi-badge.dutch{background:rgba(232,150,58,.92)}
.fi-badge.liveok{background:rgba(27,138,71,.92)}
.fi-badge.near{background:rgba(21,101,192,.9)}
/* падающая цена */
.fi-dutch{display:inline-flex;align-items:center;gap:6px;background:rgba(232,150,58,.18);border:1px solid rgba(232,150,58,.5);border-radius:20px;padding:6px 13px;font-size:13px;font-weight:700;margin-bottom:10px;color:#fff}
.fi-dutch .dutch-now{font-size:15px;color:#FFD089}
.fi-dutch .dutch-drop{font-size:11px;opacity:.85;animation:ftpulse 1.6s ease-in-out infinite}
.fi-cta.live-join{background:#FF3B30;box-shadow:0 8px 24px rgba(255,59,48,.3);max-width:none;flex:1}
/* === ДУЭЛЬ === */
.duel-item{background:#0A0A0F}
.duel-wrap{width:100%;max-width:560px;padding:20px;color:#fff}
.duel-head{text-align:center;font-size:20px;font-weight:800;margin-bottom:20px;display:flex;align-items:center;justify-content:center;gap:8px}
.duel-head i{color:#E8B43A}
.duel-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.duel-card{background:#15151C;border:2px solid #25252F;border-radius:18px;padding:0;overflow:hidden;cursor:pointer;text-align:left;font-family:inherit;color:#fff;transition:.18s;position:relative;display:flex;flex-direction:column}
.duel-card:active{transform:scale(.97)}
.duel-img{aspect-ratio:1;background:#1C1C24;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#444;font-size:50px}
.duel-img img{width:100%;height:100%;object-fit:cover}
.duel-info{padding:12px}
.duel-title{font-size:13px;font-weight:600;line-height:1.35;margin-bottom:6px;min-height:35px}
.duel-price{font-size:20px;font-weight:800;color:#5BE5A0}
.duel-seller{font-size:11px;color:#8A91A3;margin-top:4px}
.duel-verdict{position:absolute;inset:0;background:rgba(0,0,0,.78);display:none;align-items:center;justify-content:center;flex-direction:column;gap:6px;font-weight:800;font-size:15px;border-radius:16px}
.duel-card.picked .duel-verdict{display:flex}
.duel-card.win{border-color:#1B8A47}
.duel-card.lose{border-color:#D22730;opacity:.7}
.duel-hint{text-align:center;color:rgba(255,255,255,.5);font-size:12px;margin-top:18px}
/* === КВИЗ === */
.quiz-item{background:#0A0A0F}
.quiz-wrap{width:100%;max-width:480px;padding:18px;color:#fff}
.quiz-img{aspect-ratio:4/3;background:#15151C;border-radius:18px;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#444;font-size:60px;margin-bottom:16px}
.quiz-img img{width:100%;height:100%;object-fit:cover}
.quiz-q{font-size:14px;color:#E8B43A;font-weight:700;display:flex;align-items:center;gap:6px;margin-bottom:6px}
.quiz-title{font-size:18px;font-weight:700;line-height:1.35;margin-bottom:8px}
.quiz-meta{font-size:13px;color:#8A91A3;margin-bottom:16px}
.quiz-input-row{display:flex;gap:8px}
.quiz-input{flex:1;padding:14px;border:2px solid #25252F;border-radius:14px;background:#15151C;color:#fff;font-size:16px;font-family:inherit}
.quiz-input:focus{outline:none;border-color:#1B8A47}
.quiz-btn{width:54px;border:none;border-radius:14px;background:var(--green);color:var(--on-accent);font-size:22px;cursor:pointer;flex-shrink:0}
.quiz-result{margin-top:16px}
.quiz-link{display:inline-flex;align-items:center;gap:6px;margin-top:14px;color:#5BE5A0;text-decoration:none;font-weight:600;font-size:14px}
@media(max-width:380px){
  .duel-title{font-size:12px;min-height:32px}
  .duel-price{font-size:17px}
  .quiz-title{font-size:16px}
}

/* ---------- ТОРГ / ОФФЕРЫ (кабинет) ---------- */
.offers-wrap{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:22px}
@media(max-width:768px){.offers-wrap{grid-template-columns:1fr}}
.offers-col{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px}
.oc-h{font-size:13px;font-weight:800;display:flex;align-items:center;gap:7px;margin-bottom:12px;color:var(--ink2)}
.oc-h .oc-badge{background:var(--red);color:#fff;font-size:11px;padding:1px 8px;border-radius:20px;margin-left:2px}
.offer-card{border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:10px}
.offer-card:last-child{margin-bottom:0}
.oc-title{font-size:13px;font-weight:700;color:var(--ink);text-decoration:none;display:block;margin-bottom:7px}
.oc-title:hover{color:var(--vasilek)}
.oc-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.oc-buyer{font-size:12px;color:var(--muted)}
.oc-amount{font-size:18px;font-weight:800;color:var(--vasilek)}
.oc-orig{font-size:11.5px;color:var(--hint);margin-top:4px}
.oc-actions{display:flex;gap:7px;margin-top:11px}
.ocb{flex:1;border:none;border-radius:9px;padding:9px;font-weight:700;font-size:12.5px;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:5px}
.ocb.accept{background:var(--green);color:#fff}
.ocb.counter{background:var(--vasilek-l);color:var(--vasilek)}
.ocb.decline{background:var(--red-l);color:var(--red);flex:0 0 42px}
.ocb.sm{flex:none;padding:5px 10px;font-size:11px;margin-left:6px;background:var(--green);color:#fff}
.ostatus{font-size:11px;font-weight:700;padding:2px 8px;border-radius:6px}
.ostatus.amber{background:var(--amber-l);color:#9A6207}
.ostatus.vas{background:var(--vasilek-l);color:var(--vasilek)}
.ostatus.green{background:var(--green-l);color:#0B7A47}
.ostatus.muted{background:var(--bg);color:var(--muted)}
/* бейджи механик на карточках */
.rbadge.dutch{background:linear-gradient(135deg,#7C3AED,#A855F7)}
.rbadge.charity{background:linear-gradient(135deg,#EC4899,#F472B6)}
.rbadge.below{background:rgba(15,157,88,.95)}

/* trade options in sell form */
.trade-opts{background:var(--bg);border:1px solid var(--line);border-radius:12px;margin-bottom:16px;overflow:hidden}
.trade-opts summary{padding:14px 16px;font-weight:700;font-size:14px;cursor:pointer;display:flex;align-items:center;gap:8px;list-style:none}
.trade-opts summary::-webkit-details-marker{display:none}
.trade-opts summary span{margin-left:auto;font-size:11.5px;font-weight:500;color:var(--hint)}
.trade-opts summary .ti{color:var(--vasilek)}
.trade-opts .to-body{padding:0 16px 16px}
.to-check{display:flex;align-items:center;gap:9px;font-size:13.5px;color:var(--ink2);padding:9px 0;cursor:pointer}
.to-check input{width:17px;height:17px;accent-color:var(--vasilek)}

/* ============ DEAL PAGE (escrow) ============ */
.deal-wrap{max-width:900px;margin:18px auto}
.deal-back{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-weight:600;font-size:13.5px;text-decoration:none;margin-bottom:14px}
.deal-back:hover{color:var(--vasilek)}
.deal-flash{display:flex;align-items:center;gap:9px;padding:13px 16px;border-radius:12px;font-weight:600;font-size:14px;margin-bottom:16px}
.deal-flash.ok{background:var(--green-l);color:#0B7A47}.deal-flash.err{background:var(--red-l);color:#B02525}
.deal-head{display:flex;align-items:center;gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px;margin-bottom:16px}
.dh-img{width:72px;height:72px;border-radius:13px;overflow:hidden;flex-shrink:0;background:#EEF1F8;display:flex;align-items:center;justify-content:center;color:#9AA2B8;font-size:28px}
.dh-img img{width:100%;height:100%;object-fit:cover}
.dh-id{font-size:12.5px;color:var(--muted);font-weight:600;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.dh-title{display:block;font-size:17px;font-weight:800;color:var(--ink);text-decoration:none;margin:3px 0}
.dh-title:hover{color:var(--vasilek)}
.dh-meta{font-size:12.5px;color:var(--muted)}
.dh-amount{text-align:right}.dh-amount .v{font-size:22px;font-weight:800;color:var(--vasilek)}.dh-amount .l{font-size:11px;color:var(--hint)}
/* трекер */
.deal-track{display:flex;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px 16px;margin-bottom:16px}
.dt-step{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;font-size:11.5px;color:var(--muted);text-align:center;font-weight:600}
.dt-dot{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:19px;z-index:2;background:#EDEFF4;color:var(--hint)}
.dt-step.done .dt-dot{background:var(--green);color:#fff}.dt-step.now .dt-dot{background:var(--vasilek);color:#fff;box-shadow:0 0 0 5px var(--vasilek-l)}
.dt-step.done span,.dt-step.now span{color:var(--ink2)}
.dt-line{position:absolute;top:20px;right:50%;width:100%;height:3px;background:#EDEFF4;z-index:1}.dt-line.fill{background:var(--green)}
.deal-cols{display:grid;grid-template-columns:1fr 300px;gap:16px}
@media(max-width:768px){.deal-cols{grid-template-columns:1fr}}
.deal-actions-box{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px;margin-bottom:16px}
.deal-btn{width:100%;padding:15px;font-size:15px}
.deal-hint{font-size:12.5px;color:var(--muted);margin-top:10px;line-height:1.5}
.seal-box{background:rgba(27,138,71,.05);border:1px solid rgba(27,138,71,.2);border-radius:14px;padding:16px;margin:14px 0}
.seal-head{font-size:14px;font-weight:700;display:flex;align-items:center;gap:7px;margin-bottom:12px}
.seal-code-row{display:flex;align-items:center;justify-content:space-between;background:var(--surface);border:1px dashed var(--green);border-radius:10px;padding:12px 14px;margin-bottom:10px}
.seal-label{font-size:12.5px;color:var(--muted)}
.seal-code{font-family:'Space Grotesk',monospace;font-size:18px;font-weight:800;color:var(--green);letter-spacing:.05em}
.seal-hint{font-size:12.5px;color:var(--ink2);line-height:1.5;margin-bottom:10px}
.seal-form{display:flex;flex-direction:column;gap:8px}
.seal-btn{align-self:flex-start}
.seal-done{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--green)}
.seal-done i{font-size:18px}
.item-timeline{display:flex;flex-direction:column;gap:0}
.it-row{display:flex;gap:12px;position:relative;padding-bottom:14px}
.it-row:not(:last-child)::before{content:"";position:absolute;left:15px;top:30px;bottom:0;width:2px;background:var(--line)}
.it-ic{width:32px;height:32px;border-radius:50%;background:var(--green-l);color:var(--green);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;z-index:1}
.it-body{flex:1;padding-top:5px}
.it-detail{font-size:13.5px;font-weight:600;color:var(--ink)}
.it-date{font-size:12px;color:var(--muted)}
.blind-note{background:rgba(46,79,168,.06);border:1px solid rgba(46,79,168,.18);border-radius:10px;padding:11px 13px;font-size:12.5px;color:var(--ink2);line-height:1.5;margin-bottom:10px;display:flex;gap:7px;align-items:flex-start}
.blind-note i{color:#2E4FA8;flex-shrink:0;margin-top:1px}
.deal-lbl{font-size:12.5px;font-weight:700;display:block;margin-bottom:7px}
.deal-input{width:100%;border:1.5px solid var(--line);border-radius:10px;padding:11px 13px;font-family:inherit;font-size:14px;outline:none}
.deal-input:focus{border-color:var(--vasilek)}
.dispute-note{background:var(--red-l);color:#B02525;border-radius:12px;padding:13px 15px;font-size:13.5px;line-height:1.5;margin-bottom:14px}
.dispute-note.ok{background:var(--green-l);color:#0B7A47}
.pickup-code{background:linear-gradient(135deg,#EAEFFB,#F4F6FC);border-radius:12px;padding:14px;font-size:14px;font-weight:700;color:var(--vasilek);margin-top:12px}
.pickup-code b{font-size:20px;letter-spacing:2px}.pickup-code span{display:block;font-size:11.5px;font-weight:500;color:var(--muted);margin-top:5px}
.dispute-open{margin-top:14px;border-top:1px solid var(--line);padding-top:14px}
.dpp-fields{margin:14px 0;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.dpp-fields summary{font-size:13.5px;font-weight:600;color:#2E4FA8;cursor:pointer;list-style:none;display:flex;align-items:center;gap:7px}
.dpp-fields summary::-webkit-details-marker{display:none}
.dpp-fields[open] summary{margin-bottom:6px}
.dispute-open summary{font-size:13px;color:var(--muted);cursor:pointer;font-weight:600;list-style:none}
.dispute-open summary::-webkit-details-marker{display:none}
.dossier-block{margin-top:14px;border-top:1px solid var(--line);padding-top:14px}
.dossier-block summary{font-size:13px;color:var(--green);cursor:pointer;font-weight:600;list-style:none;display:flex;align-items:center;gap:6px}
.dossier-block summary::-webkit-details-marker{display:none}
.review-form{margin-top:6px}.rf-h{font-weight:700;font-size:14px;margin-bottom:9px}
.star-pick{display:flex;gap:5px;font-size:28px;color:var(--amber);margin-bottom:10px;cursor:pointer}
.star-pick i{transition:.1s}.star-pick i:hover{transform:scale(1.15)}
.deal-reviewed{background:var(--amber-l);color:#9A6207;border-radius:12px;padding:13px 15px;font-size:13.5px;font-weight:600}
.deal-reviewed .ti{color:var(--amber)}
/* чат */
.deal-chat{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px}
.dc-h{font-weight:700;font-size:14.5px;display:flex;align-items:center;gap:8px;margin-bottom:14px}
.dc-h .ti{color:var(--vasilek)}
.dc-msgs{max-height:300px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
.dc-msg{max-width:78%;align-self:flex-start}
.dc-msg.mine{align-self:flex-end;text-align:right}
.dc-bubble{background:var(--bg);padding:9px 13px;border-radius:14px 14px 14px 4px;font-size:13.5px;line-height:1.45;display:inline-block;text-align:left}
.dc-msg.mine .dc-bubble{background:var(--vasilek);color:#fff;border-radius:14px 14px 4px 14px}
.dc-time{font-size:10.5px;color:var(--hint);margin-top:3px}
.dc-form{display:flex;gap:8px}
/* таймлайн */
.deal-side{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px;align-self:start}
.ds-h{font-weight:700;font-size:14px;margin-bottom:16px}
.timeline{display:flex;flex-direction:column}
.tl-item{display:flex;gap:11px;position:relative;padding-bottom:16px}
.tl-item:not(:last-child)::before{content:"";position:absolute;left:13px;top:26px;bottom:0;width:2px;background:var(--line)}
.tl-dot{width:28px;height:28px;border-radius:50%;background:var(--vasilek-l);color:var(--vasilek);display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;z-index:2}
.tl-note{font-size:12.5px;color:var(--ink2);line-height:1.4}
.tl-time{font-size:11px;color:var(--hint);margin-top:2px}

/* buy delivery selector on listing */
.buy-delivery{display:flex;flex-direction:column;gap:7px;margin-bottom:11px}
.bd-opt{display:flex;align-items:center;gap:9px;border:1.5px solid var(--line);border-radius:11px;padding:11px 13px;cursor:pointer;font-size:13.5px;transition:.12s}
.bd-opt:hover{border-color:#C3CCE6}
.bd-opt input{accent-color:var(--vasilek);width:16px;height:16px}
.bd-opt .ti{color:var(--vasilek);font-size:17px}
.bd-opt b{margin-left:auto;font-weight:700}
.bd-opt:has(input:checked){border-color:var(--vasilek);background:var(--vasilek-l)}

/* deals list in cabinet */
.deals-list{display:flex;flex-direction:column;gap:9px;margin-bottom:22px}
.deal-row{display:flex;align-items:center;gap:13px;background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:11px 14px;text-decoration:none;transition:.12s}
.deal-row:hover{border-color:#C3CCE6;transform:translateX(2px)}
.dr-img{width:46px;height:46px;border-radius:10px;overflow:hidden;flex-shrink:0;background:#EEF1F8;display:flex;align-items:center;justify-content:center;color:#9AA2B8}
.dr-img img{width:100%;height:100%;object-fit:cover}
.dr-body{flex:1;min-width:0}
.dr-title{font-size:13.5px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dr-meta{font-size:12px;color:var(--muted);margin-top:2px}

/* ============ TRUST PAGES (transparency / scam / safe-spots) ============ */
.page-narrow{max-width:1120px;margin:18px auto}
.trust-hero{background:linear-gradient(135deg,#1A1E2C,#10131C);border-radius:20px;padding:30px 32px;color:#E8EAF0;text-align:center;margin-bottom:22px}
.trust-hero.red{background:radial-gradient(120% 130% at 50% 0,#3A1A1A,#14100F)}
.trust-hero.green{background:radial-gradient(120% 130% at 50% 0,#10301F,#0E1612)}
.trust-hero .th-ic{width:60px;height:60px;border-radius:17px;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font-size:30px;margin:0 auto 16px;color:#fff}
.trust-hero.green .th-ic{color:#5BE5A0}.trust-hero.red .th-ic{color:#FF6B6B}
.trust-hero h1{font-size:28px;font-weight:800;color:#fff;margin-bottom:10px}
.trust-hero p{font-size:14.5px;color:#A6AEC2;line-height:1.6;max-width:600px;margin:0 auto}
/* chain status */
.chain-status{display:flex;align-items:center;gap:14px;border-radius:16px;padding:18px 20px;margin-bottom:16px}
.chain-status.ok{background:var(--green-l)}.chain-status.broken{background:var(--red-l)}
.chain-status .ti{font-size:36px}.chain-status.ok .ti{color:var(--green)}.chain-status.broken .ti{color:var(--red)}
.cs-t{font-size:16px;font-weight:800}.chain-status.ok .cs-t{color:#0B7A47}.chain-status.broken .cs-t{color:#B02525}
.cs-d{font-size:13px;color:var(--muted);margin-top:2px}
.root-hash{background:var(--bg);border:1px solid var(--line);border-radius:11px;padding:12px 15px;font-size:12px;color:var(--muted);overflow-x:auto;white-space:nowrap}
.root-hash code{color:var(--vasilek);font-weight:600}
.chain-list{display:flex;flex-direction:column;gap:9px}
.chain-link{display:flex;align-items:center;gap:13px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:13px 15px}
.cl-ic{width:38px;height:38px;border-radius:10px;background:var(--vasilek-l);color:var(--vasilek);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.cl-body{flex:1;min-width:0}.cl-payload{font-size:13.5px;font-weight:600;color:var(--ink2)}
.cl-hash{font-size:11px;color:var(--hint);margin-top:3px}.cl-hash code{color:var(--vasilek)}
.cl-num{font-size:12px;font-weight:700;color:var(--hint)}
/* scam registry */
.scam-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:680px){.scam-grid{grid-template-columns:1fr}}
.scam-card{background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:18px;text-decoration:none;transition:.15s;display:block}
.scam-card:hover{border-color:var(--red);transform:translateY(-2px);box-shadow:0 10px 26px rgba(226,58,58,.1)}
.scam-tag{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;background:var(--red-l);color:#B02525;padding:4px 10px;border-radius:20px;text-transform:uppercase;letter-spacing:.3px}
.sc-title{font-size:16px;font-weight:800;margin:10px 0 6px;color:var(--ink)}
.sc-excerpt{font-size:13px;color:var(--muted);line-height:1.5}
.sc-more{display:inline-block;margin-top:10px;font-size:13px;font-weight:700;color:var(--red)}
.scam-single{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px}
.scam-single h1{font-size:24px;font-weight:800;margin:12px 0}
.scam-body{font-size:14.5px;line-height:1.7;color:var(--ink2)}
.scam-signs{margin-top:20px;background:var(--red-l);border-radius:13px;padding:16px 18px}
.ss-h{font-weight:800;font-size:14px;color:#B02525;display:flex;align-items:center;gap:7px;margin-bottom:10px}
.scam-signs ul{margin:0;padding-left:20px}.scam-signs li{font-size:13.5px;color:var(--ink2);margin-bottom:6px;line-height:1.5}
/* safe spots */
.spots-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:768px){.spots-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.spots-grid{grid-template-columns:1fr}}
.spot-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px}
.sp-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.sp-ic{width:38px;height:38px;border-radius:10px;background:var(--green-l);color:var(--green);display:flex;align-items:center;justify-content:center;font-size:19px}
.sp-cam{font-size:10.5px;font-weight:700;color:var(--green);background:var(--green-l);padding:3px 8px;border-radius:20px;display:flex;align-items:center;gap:3px}
.sp-name{font-size:14.5px;font-weight:700;color:var(--ink)}
.sp-addr{font-size:12.5px;color:var(--muted);margin-top:3px}
.sp-type{display:inline-block;margin-top:8px;font-size:11px;font-weight:600;background:var(--vasilek-l);color:var(--vasilek);padding:3px 9px;border-radius:20px}
.sp-note{font-size:12px;color:var(--hint);margin-top:8px;line-height:1.4}
/* scam alert в чате */
.scam-alert{display:flex;align-items:flex-start;gap:9px;background:var(--amber-l);border:1px solid rgba(232,150,17,.3);border-radius:11px;padding:11px 13px;font-size:12.5px;color:#9A6207;line-height:1.5;margin-bottom:12px}
.scam-alert .ti{font-size:18px;flex-shrink:0;color:var(--amber)}

/* ============ STAGE D: ЦЕНЫ / СКАНЕР / БЛОГ / FAQ ============ */
/* price brain */
.price-chart-box{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px;margin-bottom:8px}
.pcb-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.pcb-t{font-size:14px;font-weight:800}.pcb-sub{font-size:12px;color:var(--muted);margin-top:2px}
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:768px){.price-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.price-grid{grid-template-columns:1fr}}
.price-card{background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:17px;text-decoration:none;transition:.15s;display:block}
.price-card:hover{border-color:var(--vasilek);transform:translateY(-2px);box-shadow:0 10px 26px rgba(46,79,168,.1)}
.pc-cat{font-size:13px;font-weight:700;color:var(--muted);display:flex;align-items:center;gap:6px}
.pc-cat .ti{color:var(--vasilek);font-size:16px}
.pc-median{font-size:26px;font-weight:800;color:var(--ink);margin:10px 0 4px}
.pc-median span{font-size:11px;font-weight:600;color:var(--hint);margin-left:6px}
.pc-range{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);margin-bottom:10px}
.pc-bar{flex:1;height:4px;background:linear-gradient(90deg,var(--green),var(--amber),var(--red));border-radius:2px}
.pc-count{font-size:11.5px;color:var(--hint);display:flex;align-items:center;gap:5px}
.pc-count .ti{font-size:14px}
.scanner-cta{display:flex;align-items:center;gap:16px;background:linear-gradient(135deg,#2A1A40,#1A1426);border-radius:18px;padding:20px 24px;margin-top:26px;color:#EEE9F2}
.sc-cta-ic{width:50px;height:50px;border-radius:14px;background:rgba(199,125,255,.18);color:#C77DFF;display:flex;align-items:center;justify-content:center;font-size:26px;flex-shrink:0}
.sc-cta-t{font-size:16px;font-weight:800;color:#fff}.sc-cta-d{font-size:13px;color:#A99FB5;margin-top:3px}
@media(max-width:600px){.scanner-cta{flex-direction:column;text-align:center}}
/* scanner */
.scanner-form{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px}
.scan-drop{display:flex;flex-direction:column;align-items:center;gap:6px;border:2px dashed var(--line2);border-radius:14px;padding:30px;cursor:pointer;transition:.15s;margin-bottom:18px}
.scan-drop:hover{border-color:var(--vasilek);background:var(--vasilek-l)}
.scan-drop .ti{font-size:42px;color:var(--vasilek)}
.scan-drop .sd-t{font-size:15px;font-weight:700}
.scan-drop .sd-name{font-size:12.5px;color:var(--muted)}
.sc-lbl{font-size:13px;font-weight:700;margin-bottom:10px}
.scan-cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:18px}
@media(max-width:600px){.scan-cat-grid{grid-template-columns:repeat(3,1fr)}}
.scat-opt{display:flex;flex-direction:column;align-items:center;gap:5px;border:1.5px solid var(--line);border-radius:12px;padding:12px 6px;cursor:pointer;font-size:11.5px;text-align:center;color:var(--ink2);transition:.12s}
.scat-opt:hover{border-color:#C3CCE6}
.scat-opt .ti{font-size:22px;color:var(--vasilek)}
.scat-opt input{display:none}
.scat-opt:has(input:checked){border-color:var(--vasilek);background:var(--vasilek-l);font-weight:700}
.scan-result{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:22px;margin-top:16px}
.sr-h{font-size:13px;font-weight:700;color:var(--vasilek);display:flex;align-items:center;gap:7px}
.sr-cat{font-size:20px;font-weight:800;margin:8px 0 16px}
.sr-range{display:flex;gap:10px}
.srr-low,.srr-mid,.srr-high{flex:1;text-align:center;border-radius:12px;padding:14px 8px}
.srr-low{background:var(--green-l)}.srr-mid{background:var(--vasilek);color:#fff}.srr-high{background:var(--amber-l)}
.sr-range span{display:block;font-size:10.5px;font-weight:600;opacity:.75;margin-bottom:3px}
.sr-range b{font-size:19px;font-weight:800}
.srr-low b{color:#0B7A47}.srr-high b{color:#9A6207}
.sr-note{font-size:12px;color:var(--muted);margin-top:12px;display:flex;align-items:center;gap:6px}
.sr-ai-off{font-size:12px;color:#9A6207;background:var(--amber-l);border-radius:10px;padding:10px 12px;margin-top:12px;display:flex;align-items:center;gap:7px}
/* blog */
.blog-grid{display:flex;flex-direction:column;gap:13px}
.blog-card{display:flex;gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:16px;text-decoration:none;transition:.15s}
.blog-card:hover{border-color:var(--vasilek);transform:translateX(2px)}
.bc-emoji{width:64px;height:64px;border-radius:13px;background:var(--vasilek-l);display:flex;align-items:center;justify-content:center;font-size:32px;flex-shrink:0}
.bc-title{font-size:16px;font-weight:800;color:var(--ink);margin-bottom:5px}
.bc-excerpt{font-size:13px;color:var(--muted);line-height:1.5}
.bc-meta{font-size:11.5px;color:var(--hint);margin-top:7px}
.article-single .art-emoji{font-size:56px;margin:10px 0}
.article-single h1{font-size:28px;font-weight:800;line-height:1.2;margin-bottom:8px}
.art-meta{font-size:13px;color:var(--muted);margin-bottom:20px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.art-body{font-size:15.5px;line-height:1.75;color:var(--ink2)}
.art-foot{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
/* faq */
.faq-topic{font-size:13px;font-weight:800;color:var(--vasilek);text-transform:uppercase;letter-spacing:.4px;margin:20px 0 10px}
.faq-list{display:flex;flex-direction:column;gap:9px}
.faq-item{background:var(--surface);border:1px solid var(--line);border-radius:13px;overflow:hidden}
.faq-item summary{padding:15px 17px;font-weight:700;font-size:14.5px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary .ti{transition:.2s;color:var(--hint)}
.faq-item[open] summary .ti{transform:rotate(180deg)}
.faq-answer{padding:0 17px 16px;font-size:13.5px;color:var(--ink2);line-height:1.6}

/* ============ STAGE E: РОСТ (геймификация / события / топ) ============ */
.ref-notice{display:flex;align-items:center;gap:9px;background:var(--amber-l);color:#9A6207;border-radius:11px;padding:12px 14px;font-size:13px;margin-bottom:14px}
.ref-notice .ti{font-size:18px}
.gamify-row{display:grid;grid-template-columns:280px 1fr;gap:16px;margin-bottom:22px}
@media(max-width:768px){.gamify-row{grid-template-columns:1fr}}
.g-card{border-radius:16px;padding:18px;border:1px solid var(--line)}
.g-points{background:linear-gradient(135deg,#2A1A40,#1A1426);color:#EEE9F2;text-align:center}
.gp-top{font-size:12.5px;color:#C77DFF;font-weight:700;display:flex;align-items:center;justify-content:center;gap:6px}
.gp-val{font-size:38px;font-weight:800;color:#fff;margin:8px 0 6px}
.gp-lvl{margin-bottom:12px}
.gp-link{color:#A99FB5;font-size:12.5px;text-decoration:none;font-weight:600}
.g-ref{background:var(--surface)}
.gr-h{font-weight:800;font-size:15px;display:flex;align-items:center;gap:7px}
.gr-h .ti{color:var(--amber)}
.gr-d{font-size:13px;color:var(--muted);margin:8px 0 12px;line-height:1.5}
.gr-link-row{display:flex;gap:8px}
.gr-input{flex:1;border:1.5px solid var(--line);border-radius:10px;padding:10px 12px;font-size:12.5px;color:var(--ink2);font-family:inherit;background:var(--bg)}
.gr-count{font-size:12.5px;color:var(--muted);margin-top:10px;display:flex;align-items:center;gap:6px}
/* achievements */
.ach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:22px}
@media(max-width:768px){.ach-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.ach-grid{grid-template-columns:1fr}}
.ach-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px;text-align:center}
.ach-card.locked{opacity:.55}
.ach-ic{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;margin:0 auto 10px}
.ach-card.got .ach-ic{background:var(--amber-l);color:var(--amber)}
.ach-card.locked .ach-ic{background:#EDEFF4;color:var(--hint)}
.ach-title{font-size:14px;font-weight:700}
.ach-descr{font-size:12px;color:var(--muted);margin-top:4px;line-height:1.4}
.ach-pts{font-size:11.5px;font-weight:700;color:var(--amber);margin-top:8px}
/* events */
.events-list{display:flex;flex-direction:column;gap:13px}
.event-card{display:flex;gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:16px;text-decoration:none;transition:.15s}
.event-card.live{border-color:rgba(226,58,58,.3)}
.event-card:hover{transform:translateX(2px);box-shadow:0 10px 24px rgba(30,52,122,.08)}
.ev-emoji{width:64px;height:64px;border-radius:14px;background:var(--amber-l);display:flex;align-items:center;justify-content:center;font-size:32px;flex-shrink:0}
.ev-live{font-size:11.5px;font-weight:700;color:var(--red);display:flex;align-items:center;gap:6px}
.ev-soon{font-size:11.5px;font-weight:700;color:var(--vasilek);display:flex;align-items:center;gap:5px}
.ev-title{font-size:16px;font-weight:800;color:var(--ink);margin:5px 0}
.ev-descr{font-size:13px;color:var(--muted);line-height:1.45}
.ev-time{font-size:12px;color:var(--hint);margin-top:7px;display:flex;align-items:center;gap:5px}
/* top sellers */
.top-list{display:flex;flex-direction:column;gap:9px}
.top-row{display:flex;align-items:center;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:13px 16px}
.tr-rank{width:30px;text-align:center;font-size:16px;font-weight:800;color:var(--hint)}
.tr-rank.medal{color:#fff;border-radius:50%;width:30px;height:30px;line-height:30px}
.tr-rank.m1{background:linear-gradient(135deg,#F5A623,#FFD15C)}
.tr-rank.m2{background:linear-gradient(135deg,#9AA2B8,#C3CCE0)}
.tr-rank.m3{background:linear-gradient(135deg,#CD7F32,#E0A56A)}
.tr-av{width:44px;height:44px;border-radius:50%;background:#1B8A47;color:#fff;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:800;flex-shrink:0}
.tr-body{flex:1;min-width:0}
.tr-name{font-size:15px;font-weight:700;display:flex;align-items:center;gap:6px}
.tr-meta{font-size:12px;color:var(--muted);margin-top:3px;display:flex;align-items:center;gap:6px}
.tr-stats{display:flex;gap:18px}
.trs{text-align:center}.trs .v{font-size:15px;font-weight:800}.trs .l{font-size:10.5px;color:var(--muted)}
@media(max-width:560px){.tr-stats{gap:11px}.trs .l{display:none}}

/* ============ STAGE F: ПЛАТФОРМА ============ */
/* pricing */
.pricing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media(max-width:900px){.pricing-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.pricing-grid{grid-template-columns:1fr}}
.plan-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:22px 18px;position:relative;display:flex;flex-direction:column}
.plan-card.popular{border:2px solid var(--vasilek);box-shadow:0 14px 34px rgba(46,79,168,.14)}
.plan-badge{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--vasilek);color:#fff;font-size:11px;font-weight:700;padding:4px 13px;border-radius:20px}
.plan-name{font-size:18px;font-weight:800}
.plan-sub{font-size:12.5px;color:var(--muted);margin-top:2px}
.plan-price{font-size:32px;font-weight:800;margin:14px 0}.plan-price span{font-size:13px;font-weight:600;color:var(--hint)}
.plan-feats{list-style:none;margin:0 0 18px;padding:0;flex:1}
.plan-feats li{font-size:13px;color:var(--ink2);padding:6px 0;display:flex;align-items:flex-start;gap:8px}
.plan-feats .ti{color:var(--green);font-size:16px;flex-shrink:0;margin-top:1px}
/* shops */
.shops-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:768px){.shops-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.shops-grid{grid-template-columns:1fr}}
.shop-card{background:var(--surface);border:1px solid var(--line);border-radius:15px;overflow:hidden;text-decoration:none;transition:.15s}
.shop-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(30,52,122,.1)}
.sh-banner{height:70px;display:flex;align-items:center;justify-content:center}
.sh-letter{width:46px;height:46px;border-radius:13px;background:rgba(255,255,255,.25);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:800}
.sh-body{padding:14px}
.sh-name{font-size:15px;font-weight:800;color:var(--ink);display:flex;align-items:center;gap:6px}
.sh-meta{font-size:12px;color:var(--muted);margin-top:3px}
/* shop hero */
.shop-hero{color:#fff;padding:30px 0}
.shop-hero-row{display:flex;align-items:center;gap:18px}
.shop-logo{width:72px;height:72px;border-radius:18px;background:rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:800;flex-shrink:0}
.shop-hero h1{font-size:26px;font-weight:800;display:flex;align-items:center;gap:8px}
.shop-hero p{font-size:14px;opacity:.92;margin-top:5px;max-width:520px}
.shop-stats{display:flex;gap:18px;margin-top:12px;font-size:13px}
.shop-stats span{display:flex;align-items:center;gap:5px;opacity:.95}
@media(max-width:600px){.shop-hero-row{flex-wrap:wrap}.shop-hero-row .btn{width:100%}}
/* tickets */
.new-ticket,.new-breq{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:18px}
.new-ticket summary,.new-breq summary{font-weight:700;font-size:15px;cursor:pointer;list-style:none}
.new-ticket summary::-webkit-details-marker,.new-breq summary::-webkit-details-marker{display:none}
.tickets-list,.breq-list,.tickets-list{display:flex;flex-direction:column;gap:9px}
.ticket-row,.breq-row{display:flex;align-items:center;gap:13px;background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:13px 15px;text-decoration:none;transition:.12s}
.ticket-row:hover,.breq-row:hover{border-color:#C3CCE6;transform:translateX(2px)}
.tk-icon,.br-ic{width:40px;height:40px;border-radius:11px;background:var(--vasilek-l);color:var(--vasilek);display:flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0}
.tk-subj,.br-title{font-size:14.5px;font-weight:700;color:var(--ink)}
.tk-meta,.br-meta{font-size:12px;color:var(--muted);margin-top:2px}
.br-offers{text-align:center}.br-offers b{font-size:18px;font-weight:800;color:var(--vasilek);display:block}.br-offers span{font-size:10.5px;color:var(--muted)}
.ticket-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.ticket-head h1{font-size:22px;font-weight:800}
.ticket-thread{display:flex;flex-direction:column;gap:12px;margin-bottom:18px}
.tk-msg{max-width:80%}.tk-msg.mine{align-self:flex-end}.tk-msg.support{align-self:flex-start}
.tk-who{font-size:11px;font-weight:700;color:var(--muted);margin-bottom:4px}
.tk-msg.mine .tk-who{text-align:right}
.tk-bubble{padding:12px 15px;border-radius:14px;font-size:13.5px;line-height:1.5}
.tk-msg.mine .tk-bubble{background:var(--vasilek);color:#fff;border-radius:14px 14px 4px 14px}
.tk-msg.support .tk-bubble{background:var(--surface);border:1px solid var(--line);border-radius:14px 14px 14px 4px}
.tk-time{font-size:10.5px;color:var(--hint);margin-top:3px}.tk-msg.mine .tk-time{text-align:right}
.ticket-reply{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px}
/* buy requests (reverse auction) */
.breq-single{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:22px}
.breq-tag{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;background:var(--vasilek-l);color:var(--vasilek);padding:4px 11px;border-radius:20px;text-transform:uppercase}
.breq-single h1{font-size:23px;font-weight:800;margin:12px 0}
.breq-descr{font-size:14px;color:var(--ink2);line-height:1.6}
.breq-meta{display:flex;gap:16px;margin-top:14px;font-size:13px;color:var(--muted);flex-wrap:wrap}
.breq-meta span{display:flex;align-items:center;gap:5px}
.breq-offers{display:flex;flex-direction:column;gap:9px}
.breq-offer{display:flex;align-items:center;gap:13px;background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:13px 15px}
.bo-av{width:40px;height:40px;border-radius:50%;background:#1B8A47;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;flex-shrink:0}
.bo-seller{font-size:14px;font-weight:700;display:flex;align-items:center;gap:8px}
.bo-rating{font-size:12px;color:var(--amber);font-weight:600}
.bo-note{font-size:12.5px;color:var(--muted);margin-top:3px}
.bo-amount{font-size:18px;font-weight:800;color:var(--green)}
.breq-offer-form,.new-breq{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px;margin-top:16px}
.bof-h{font-weight:700;font-size:14px;margin-bottom:10px}
.br-ic{background:var(--vasilek-l)}

/* ============ STAGE G: АНТИФРОД UI ============ */
/* QR-приёмка */
.qr-handover{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px;text-align:center;margin-bottom:14px}
.qrh-h{font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center;gap:7px;margin-bottom:14px;color:var(--ink)}
.qrh-h .ti{color:var(--vasilek)}
.qrh-svg{display:inline-block;padding:10px;background:var(--surface);border-radius:12px;box-shadow:0 4px 18px rgba(0,0,0,.08)}
.qrh-svg svg{display:block}
.qrh-note{font-size:12.5px;color:var(--muted);margin-top:14px;line-height:1.5}
/* confirm page */
.confirm-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:32px 26px;text-align:center}
.cf-ic{width:72px;height:72px;border-radius:50%;background:var(--vasilek-l);color:var(--vasilek);display:flex;align-items:center;justify-content:center;font-size:38px;margin:0 auto 18px}
.cf-ic.ok{background:var(--green-l);color:var(--green)}
.cf-ic.err{background:var(--red-l);color:var(--red)}
.confirm-card h1{font-size:23px;font-weight:800;margin-bottom:10px}
.confirm-card p{font-size:14.5px;color:var(--ink2);line-height:1.6;margin-bottom:18px}
.cf-hint{font-size:12.5px!important;color:var(--muted)!important;margin-top:14px!important}
.cf-hint a{color:var(--vasilek);font-weight:600}
/* эскроу обязателен */
.escrow-forced{display:flex;align-items:flex-start;gap:10px;background:linear-gradient(135deg,#EAEFFB,#F4F6FC);border:1px solid rgba(46,79,168,.2);border-radius:12px;padding:13px 15px;font-size:13px;color:var(--ink2);line-height:1.5;margin-bottom:13px}
.escrow-forced .ti{font-size:20px;color:var(--vasilek);flex-shrink:0}
/* scam-alert высокий риск */
.scam-alert.high{background:var(--red-l);border-color:rgba(226,58,58,.35);color:#B02525}
.scam-alert.high .ti{color:var(--red)}
/* карта безопасных точек */
.spots-map{height:340px;border-radius:16px;overflow:hidden;margin-bottom:22px;border:1px solid var(--line);z-index:1}
.spots-map .leaflet-popup-content{font-family:inherit;font-size:13px}

/* ============ УНИКАЛЬНЫЕ БЛОКИ НА ТОВАРЕ ============ */
/* Честная цена */
.fairprice{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin-bottom:14px}
.fp-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.fp-t{font-size:14px;font-weight:800;display:flex;align-items:center;gap:7px}
.fp-t .ti{color:var(--vasilek)}
.fp-badge{font-size:11.5px;font-weight:700;padding:4px 11px;border-radius:20px}
.fp-badge.green{background:var(--green-l);color:#0B7A47}
.fp-badge.vas{background:var(--vasilek-l);color:var(--vasilek)}
.fp-badge.amber{background:var(--amber-l);color:#9A6207}
.fp-scale{position:relative;margin:28px 6px 36px}
.fp-track{display:flex;height:8px;border-radius:5px;overflow:hidden}
.fp-zone-low{flex:1;background:#9FE0BE}.fp-zone-mid{flex:1;background:#A9BFF0}.fp-zone-high{flex:1;background:#F3C98F}
.fp-marker{position:absolute;top:-4px;transform:translateX(-50%);z-index:2}
.fp-dot{width:18px;height:18px;border-radius:50%;background:var(--surface);border:4px solid var(--ink);box-shadow:0 2px 6px rgba(0,0,0,.2)}
.fp-price{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);font-size:13px;font-weight:800;white-space:nowrap;color:#fff;background:var(--ink);padding:2px 8px;border-radius:7px}
.fp-price::after{content:"";position:absolute;left:50%;bottom:-4px;transform:translateX(-50%) rotate(45deg);width:8px;height:8px;background:var(--ink)}
.fp-med{position:absolute;top:16px;transform:translateX(-50%);font-size:10.5px;color:var(--muted);white-space:nowrap}
.fp-med::before{content:"";position:absolute;left:50%;top:-18px;width:2px;height:16px;background:var(--muted);opacity:.5}
.fp-foot{font-size:11.5px;color:var(--muted);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.fp-foot .ti{color:var(--hint)}
.fp-foot a{color:var(--vasilek);font-weight:600}
/* эко-блок */
.eco-block{display:flex;align-items:center;gap:13px;background:linear-gradient(135deg,#E9F7EF,#F2FBF6);border:1px solid rgba(15,157,88,.2);border-radius:14px;padding:14px 16px;margin-bottom:14px}
.eco-ic{width:42px;height:42px;border-radius:11px;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}
.eco-t{font-size:14px;font-weight:800;color:#0B7A47}
.eco-d{font-size:12px;color:#3C7A5A;margin-top:3px;line-height:1.45}
/* безопасные точки рядом */
.safe-near{background:var(--green-l);border-radius:13px;padding:14px 16px;margin-top:13px}
.sn-h{font-size:13px;font-weight:800;color:#0B7A47;display:flex;align-items:center;gap:7px;margin-bottom:10px}
.sn-spot{font-size:12.5px;color:var(--ink2);padding:5px 0;display:flex;align-items:flex-start;gap:7px;line-height:1.4}
.sn-spot .ti{color:var(--green);flex-shrink:0;margin-top:1px}
.sn-all{display:inline-block;margin-top:8px;font-size:12.5px;font-weight:700;color:#0B7A47}

/* ============ КОШЕЛЁК (страница) ============ */
.wallet-big{background:linear-gradient(135deg,#1A1E2C,#10131C);border-radius:18px;padding:26px 28px;color:#E8EAF0;margin-bottom:18px}
.wb-label{font-size:13px;color:#A6AEC2;font-weight:600;display:flex;align-items:center;gap:7px}
.wb-bal{font-size:40px;font-weight:800;color:#fff;margin:8px 0 10px}
.wb-frozen{font-size:13px;color:#8E96AB;display:flex;align-items:center;gap:6px}
.wb-frozen b{color:#C7CDDA}
.wallet-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:768px){.wallet-cols{grid-template-columns:1fr}}
.wcol{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px}
.wcol-h{font-weight:800;font-size:15px;display:flex;align-items:center;gap:8px;margin-bottom:15px}
.wcol-h .ti{color:var(--vasilek)}
.w-empty{font-size:13px;color:var(--muted);line-height:1.5;padding:8px 0}
.w-note{font-size:11.5px;color:var(--muted);margin-top:10px;display:flex;align-items:flex-start;gap:6px;line-height:1.45}
.w-note .ti{color:var(--green);flex-shrink:0;margin-top:1px}
.wtx-list{display:flex;flex-direction:column;gap:4px}
.wtx-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.wtx-row:last-child{border-bottom:none}
.wtx-ic{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0}
.wtx-ic.in{background:var(--green-l);color:var(--green)}
.wtx-ic.out{background:var(--bg);color:var(--muted)}
.wtx-body{flex:1;min-width:0}
.wtx-note{font-size:13px;font-weight:600;color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wtx-time{font-size:11px;color:var(--hint)}
.wtx-amt{font-weight:800;font-size:14px}
.wtx-amt.in{color:var(--green)}.wtx-amt.out{color:var(--ink2)}
.wd-list{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}
.wd-h{font-size:13px;font-weight:700;margin-bottom:10px}
.wd-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12.5px;padding:7px 0}

/* ============ PASSKEYS / SECURITY ============ */
.login-or{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--hint);font-size:12.5px}
.login-or::before,.login-or::after{content:"";flex:1;height:1px;background:var(--line)}
.btn-passkey{width:100%;display:flex;align-items:center;justify-content:center;gap:9px;padding:14px;border:1.5px solid var(--vasilek);background:var(--vasilek-l);color:var(--vasilek);border-radius:12px;font-weight:700;font-size:14.5px;cursor:pointer;transition:.15s}
.btn-passkey:hover{background:#DCE4F7}
.btn-passkey .ti{font-size:20px}
.passkey-hint{font-size:12px;color:var(--muted);text-align:center;margin-top:10px;line-height:1.5}
.security-card{display:flex;align-items:center;gap:15px;background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:18px;margin-bottom:22px}
.sec-card-ic{width:48px;height:48px;border-radius:13px;background:var(--vasilek-l);color:var(--vasilek);display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}
.sec-card-body{flex:1}
.sec-card-t{font-size:15px;font-weight:800}
.sec-card-d{font-size:13px;color:var(--muted);margin-top:3px;line-height:1.45}
@media(max-width:600px){.security-card{flex-direction:column;text-align:center}.security-card .btn{width:100%}}
/* видео в галерее товара */
.lvideo{position:relative;border-radius:14px;overflow:hidden;background:#000;margin-bottom:12px}
.lvideo video{width:100%;display:block;max-height:420px}
.lvideo-badge{position:absolute;top:10px;left:10px;background:rgba(14,17,24,.8);color:#fff;font-size:11px;font-weight:700;padding:4px 10px;border-radius:20px;display:flex;align-items:center;gap:5px;z-index:2}

/* ============================================================
   KRAMBA — ФИРМЕННЫЙ СЛОЙ (neo-brutalism accents, 2026)
   Отличительный, узнаваемый стиль: жирная типографика,
   фирменная «жёсткая» тень, толстые акценты, чёткая геометрия.
   ============================================================ */
:root{
  --shadow-hard: 4px 4px 0 var(--ink);
  --shadow-hard-sm: 3px 3px 0 var(--ink);
  --shadow-vas: 4px 4px 0 var(--vasilek);
  --border-bold: 2px solid var(--ink);
}
/* фирменный дисплейный шрифт для заголовков */
h1,.htitle,.sec-title,.trust-hero h1,.plan-name,.wb-bal,.pc-median,.fp-t,.gp-val{
  font-family:'Space Grotesk','Manrope',sans-serif;letter-spacing:-.02em;
}
/* Лого — крупнее и жирнее */
.logo .wm{font-family:'Space Grotesk',sans-serif;font-weight:800;letter-spacing:-.04em}
.logo-pill{display:inline-flex;align-items:center;gap:3px;margin-left:6px;font-size:.5em;font-weight:700;letter-spacing:-.01em;line-height:1;padding:4px 9px 4px 7px;border-radius:20px;background:color-mix(in srgb,var(--pc,#1565C0) 14%,transparent);color:var(--pc,#1565C0);font-family:'Space Grotesk',sans-serif;vertical-align:middle;white-space:nowrap;transition:.15s}
.logo-pill i{font-size:1.15em}
.logo:hover .logo-pill{background:color-mix(in srgb,var(--pc,#1565C0) 22%,transparent)}
@media(max-width:560px){.logo-pill{font-size:.46em;padding:3px 7px 3px 6px;margin-left:4px}.logo-pill i{font-size:1.05em}}

/* ПОДЗАГОЛОВКИ-СЕКЦИИ: фирменная "плашка-маркер" слева */
.sec-title{position:relative;font-weight:800}

/* КНОПКИ: фирменная жёсткая тень + микро-сдвиг при наведении */
.btn-prim{box-shadow:var(--shadow-hard-sm);border:2px solid var(--ink)}
.btn-prim:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--ink)}
.btn-prim:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--ink)}
.btn-vas{box-shadow:var(--shadow-hard-sm);border:2px solid var(--ink)}
.btn-vas:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--ink)}
.cta{box-shadow:var(--shadow-hard-sm);border:2px solid var(--ink)!important}

/* КАРТОЧКИ ТОВАРОВ: фирменная тень + жирная рамка при наведении */
.rcard,.lcard,.gcard,.card{transition:.18s}
.rcard:hover,.lcard:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--vasilek);border-color:var(--ink)}

/* МЕГА-МЕНЮ категории: жёсткая тень на ховере */
.mm-cat:hover{box-shadow:var(--shadow-hard-sm);border-color:var(--ink);transform:translate(-1px,-1px)}

/* Пилюли инструментов: жирнее, с рамкой у акцентных */
.subnav .snav-feed{border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink)}

/* Hero на главной: добавим фирменную рамку и тень стеклянной карточке */
.glasscard{border:2px solid rgba(255,255,255,.25)}

/* Бейджи/чипы — чуть жёстче */
.scam-tag,.fp-badge,.plan-badge{border:1.5px solid currentColor}

/* Тост-уведомления */
.k-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%) translateY(20px);background:var(--ink);color:#fff;padding:13px 22px;border-radius:12px;font-size:14px;font-weight:600;box-shadow:0 8px 30px rgba(0,0,0,.3);opacity:0;transition:.3s;z-index:9999;border:2px solid var(--ink)}
.k-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* top-row как ссылка */
.top-row{text-decoration:none;color:inherit;transition:.15s}
.top-row:hover{transform:translateX(3px);box-shadow:var(--shadow-hard-sm);border-color:var(--ink)}

/* фирменная "лента-маркер" у крупных заголовков hero-блоков */
.trust-hero h1{position:relative;display:inline-block}

/* ============ НОВЫЕ БЛОКИ ТОВАРА ============ */
.char-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin:0}
dl.char-grid dd,dl.char-grid dt{margin:0}
@media(max-width:560px){.char-grid{grid-template-columns:1fr}}
.char-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.char-k{color:var(--muted)}.char-v{font-weight:600;color:var(--ink2)}
.seller-mini{display:flex;align-items:center;gap:13px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin-top:14px;text-decoration:none;transition:.15s}
.seller-mini:hover{box-shadow:var(--shadow-hard-sm);border-color:var(--ink);transform:translate(-1px,-1px)}
.sm-av{width:48px;height:48px;border-radius:50%;background:#1B8A47;color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;flex-shrink:0}
.sm-info{flex:1;min-width:0}
.sm-name{font-size:15px;font-weight:800;display:flex;align-items:center;gap:6px}
.sm-meta{font-size:12.5px;color:var(--muted);margin-top:3px}
.sm-arrow{color:var(--hint);font-size:20px}
.qa-empty{text-align:center;padding:18px 10px;color:var(--muted)}
.qa-empty .ti{font-size:38px;color:var(--hint);margin-bottom:8px}
.qa-empty p{font-size:13px;line-height:1.5;margin-bottom:12px;max-width:340px;margin-left:auto;margin-right:auto}
/* ============ КАК ЭТО РАБОТАЕТ (transparency) ============ */
.how-block{background:var(--surface);border:2px solid var(--ink);border-radius:18px;padding:24px;margin:18px 0;box-shadow:var(--shadow-hard)}
.how-h{font-family:'Space Grotesk',sans-serif;font-size:21px;font-weight:700;letter-spacing:-.02em;margin-bottom:8px}
.how-lead{font-size:14.5px;color:var(--ink2);line-height:1.6;margin-bottom:20px}
.how-steps{display:flex;flex-direction:column;gap:14px;margin-bottom:20px}
.how-step{display:flex;gap:14px;align-items:flex-start}
.hs-num{width:36px;height:36px;border-radius:10px;background:var(--vasilek);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:17px;flex-shrink:0;border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink);font-family:'Space Grotesk',sans-serif}
.hs-t{font-size:15px;font-weight:800;margin-bottom:3px}
.hs-d{font-size:13.5px;color:var(--muted);line-height:1.55}
.how-why{display:flex;flex-direction:column;gap:12px;border-top:2px solid var(--line);padding-top:18px}
.hw-item{display:flex;gap:10px;font-size:13.5px;color:var(--ink2);line-height:1.5}
.hw-item .ti{font-size:22px;color:var(--vasilek);flex-shrink:0}
.hw-item b{color:var(--ink)}
/* ============ ПРОФИЛЬ ПРОДАВЦА ============ */
.seller-hero{background:linear-gradient(135deg,#1A1E2C,#10131C);color:#fff;padding:28px 0 0}
.sh-row{display:flex;align-items:center;gap:16px;padding-bottom:18px}
.sh-avatar{width:68px;height:68px;border-radius:18px;background:rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:800;flex-shrink:0;border:2px solid rgba(255,255,255,.2)}
.sh-info{flex:1}
.seller-hero h1{font-size:25px;font-weight:800;display:flex;align-items:center;gap:8px}
.sh-sub{font-size:13px;color:#A6AEC2;margin-top:5px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sh-stats-row{display:flex;gap:0;border-top:1px solid rgba(255,255,255,.1)}
.shs{flex:1;text-align:center;padding:16px 8px;border-right:1px solid rgba(255,255,255,.08)}
.shs:last-child{border-right:none}
.shs .v{font-size:20px;font-weight:800;font-family:'Space Grotesk',sans-serif}
.shs .l{font-size:11px;color:#8E96AB;margin-top:2px}
.seller-reviews{display:flex;flex-direction:column;gap:11px}
.srev{background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:14px 16px}
.srev-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.srev-stars{color:var(--amber);font-size:13px}
.srev-body{font-size:13.5px;color:var(--ink2);line-height:1.5}

/* ============ OUT-OF-BAND (крупные сделки) ============ */
.oob-panel{background:linear-gradient(135deg,#1A1E2C,#10131C);color:#E8EAF0;border-radius:14px;padding:18px;border:2px solid var(--ink)}
.oob-h{font-weight:800;font-size:15px;display:flex;align-items:center;gap:8px;color:#fff}
.oob-h .ti{color:#F5A623}
.oob-d{font-size:13px;color:#A6AEC2;line-height:1.55;margin:8px 0 14px}
.oob-verify{display:flex;gap:8px;flex-wrap:wrap}
.oob-verify .deal-input{flex:1;min-width:130px;letter-spacing:3px;font-weight:700;text-align:center}
.oob-panel .btn{flex-shrink:0}

/* ============ ДОСТАВКА / ТРЕКИНГ ============ */
.tracking-box{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px;margin-top:14px}
.trk-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.trk-h span:first-child{font-weight:800;font-size:14px;display:flex;align-items:center;gap:7px}
.trk-h .ti{color:var(--vasilek)}
.trk-meta{font-size:12.5px;color:var(--muted);margin-bottom:14px}
.trk-timeline{position:relative;padding-left:8px}
.trk-ev{display:flex;gap:13px;padding-bottom:16px;position:relative}
.trk-ev:not(:last-child)::before{content:"";position:absolute;left:5px;top:14px;bottom:0;width:2px;background:var(--line)}
.te-dot{width:12px;height:12px;border-radius:50%;background:var(--line);flex-shrink:0;margin-top:3px;z-index:1}
.trk-ev.cur .te-dot{background:var(--green);box-shadow:0 0 0 4px var(--green-l)}
.te-status{font-size:13.5px;font-weight:700;color:var(--ink2)}
.trk-ev.cur .te-status{color:var(--green)}
.te-meta{font-size:11.5px;color:var(--hint);margin-top:2px}
/* ============ AI-АНАЛИЗ СПОРА ============ */
.dispute-ai{background:var(--surface);border:2px solid var(--ink);border-radius:14px;padding:16px;margin-top:12px;box-shadow:var(--shadow-hard-sm)}
.dai-h{font-weight:800;font-size:14px;display:flex;align-items:center;gap:8px;margin-bottom:12px}
.dai-h .ti{color:var(--vasilek);font-size:18px}
.dai-tag{font-size:10px;font-weight:700;background:var(--vasilek-l);color:var(--vasilek);padding:3px 9px;border-radius:20px;text-transform:uppercase;letter-spacing:.3px}
.dai-rec{display:flex;align-items:center;gap:12px;border-radius:12px;padding:14px;margin-bottom:13px}
.dai-rec.green{background:var(--green-l)}.dai-rec.red{background:var(--red-l)}.dai-rec.amber{background:var(--amber-l)}.dai-rec.vas{background:var(--vasilek-l)}
.dai-rec .ti{font-size:30px}
.dai-rec.green .ti{color:var(--green)}.dai-rec.red .ti{color:var(--red)}.dai-rec.amber .ti{color:var(--amber)}.dai-rec.vas .ti{color:var(--vasilek)}
.dai-rec-t{font-size:16px;font-weight:800}
.dai-conf{font-size:12px;color:var(--muted);margin-top:2px}
.dai-factors{display:flex;flex-direction:column;gap:7px;margin-bottom:12px}
.dai-f{font-size:12.5px;color:var(--ink2);display:flex;gap:8px;align-items:flex-start;line-height:1.45}
.daif-dir{font-weight:700;flex-shrink:0;padding:1px 7px;border-radius:6px;font-size:11px}
.dai-f.b .daif-dir{background:var(--red-l);color:#B02525}
.dai-f.s .daif-dir{background:var(--green-l);color:#0B7A47}
.dai-f.n .daif-dir{background:var(--bg);color:var(--muted)}
.dai-note{font-size:11.5px;color:var(--muted);line-height:1.5;padding-top:10px;border-top:1px solid var(--line)}

/* ============ KYC ============ */
.kyc-card{margin-top:16px;border-top:1px solid var(--line);padding-top:16px}
.kyc-h{font-weight:800;font-size:14px;display:flex;align-items:center;gap:8px}
.kyc-h .ti{color:var(--vasilek);font-size:18px}
.kyc-h.ok{color:#0B7A47}.kyc-h.ok .ti{color:var(--green)}
.kyc-h.pending{color:#9A6207}.kyc-h.pending .ti{color:var(--amber)}
.kyc-d{font-size:12.5px;color:var(--muted);line-height:1.5;margin-top:6px}
/* ============ ПРОВЕРЕНО KRAMBA ============ */
.auth-badge{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,#102A40,#16384F);color:#9FD8F2;font-size:12.5px;font-weight:700;padding:9px 13px;border-radius:10px;margin:10px 0;border:1px solid rgba(91,184,229,.3)}
.auth-badge .ti{color:#5BB8E5;font-size:18px}
.auth-how{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
@media(max-width:680px){.auth-how{grid-template-columns:1fr 1fr}}
.ah-step{background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:15px;text-align:center}
.ah-ic{width:46px;height:46px;border-radius:12px;background:var(--vasilek-l);color:var(--vasilek);display:flex;align-items:center;justify-content:center;font-size:23px;margin:0 auto 9px}
.ah-step b{display:block;font-size:14px}.ah-step span{display:block;font-size:11.5px;color:var(--muted);margin-top:3px;line-height:1.4}
.auth-cats{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:16px}
.ac-h{font-weight:800;font-size:14px;margin-bottom:12px}
.ac-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
@media(max-width:560px){.ac-grid{grid-template-columns:1fr 1fr}}
.ac-item{text-align:center;background:var(--bg);border-radius:11px;padding:13px 8px}
.ac-item .ti{font-size:24px;color:var(--vasilek)}
.ac-item span{display:block;font-size:12px;color:var(--muted);margin:5px 0 3px}
.ac-item b{font-size:15px}
.auth-form{background:var(--surface);border:2px solid var(--ink);border-radius:14px;padding:18px;box-shadow:var(--shadow-hard-sm)}
.af-h{font-weight:800;font-size:15px;margin-bottom:12px}
/* ============ LIVE-АУКЦИОН ============ */
.live-room{display:grid;grid-template-columns:1fr 300px;gap:16px;margin-top:18px}
@media(max-width:860px){.live-room{grid-template-columns:1fr}}
.live-screen{position:relative;aspect-ratio:16/10;background:linear-gradient(135deg,#1A1E2C,#0E1118);border-radius:16px;display:flex;align-items:center;justify-content:center;overflow:hidden;border:2px solid var(--ink)}
.live-badge{position:absolute;top:14px;left:14px;background:var(--red);color:#fff;font-size:11px;font-weight:800;padding:5px 11px;border-radius:20px;display:flex;align-items:center;gap:6px;letter-spacing:.5px}
.dotlive{width:7px;height:7px;border-radius:50%;background:currentColor;animation:pulse 1.4s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
.live-screen-ph{text-align:center;color:#6E7385}
.live-screen-ph .ti{font-size:48px;display:block;margin-bottom:8px}
.live-screen-ph span{display:block;font-weight:700;color:#A6AEC2}
.live-screen-ph small{font-size:11px}
.live-viewers{position:absolute;bottom:14px;right:14px;background:rgba(0,0,0,.6);color:#fff;font-size:12px;padding:5px 11px;border-radius:20px;display:flex;align-items:center;gap:5px}
.live-current{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px;margin-top:14px}
.lc-label{font-size:11px;font-weight:700;color:var(--red);text-transform:uppercase}
.lc-title{font-size:18px;font-weight:800;margin:5px 0}
.lc-price{font-size:30px;font-weight:800;font-family:'Space Grotesk',sans-serif;color:var(--vasilek);margin-bottom:12px}
.lc-bid-row{display:flex;gap:8px}
.live-lots{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px}
.ll-h{font-weight:800;font-size:14px;margin-bottom:12px}
.ll-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}
.ll-item:last-child{border-bottom:none}
.ll-item.active{background:var(--vasilek-l);margin:0 -16px;padding:11px 16px;border-radius:0}
.lli-title{font-size:13.5px;font-weight:700}
.lli-price{font-size:11.5px;color:var(--muted);margin-top:2px}
.lli-state{font-size:10.5px;font-weight:700;padding:3px 8px;border-radius:20px}
.s-upcoming{background:var(--bg);color:var(--muted)}.s-active{background:var(--red-l);color:#B02525}.s-sold{background:var(--green-l);color:#0B7A47}.s-passed{background:var(--bg);color:var(--hint)}
/* ============ SEO-ЛЕНДИНГ ============ */
.crumbs{font-size:12.5px;color:var(--muted);margin:10px 0 12px}
.crumbs a{color:var(--vasilek)}
.seo-h1{font-family:'Space Grotesk',sans-serif;font-size:27px;font-weight:700;letter-spacing:-.02em;margin-bottom:10px}
.seo-intro{font-size:14.5px;color:var(--ink2);line-height:1.65;margin-bottom:18px}
.seo-pricebar{display:flex;align-items:center;gap:22px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 20px;flex-wrap:wrap}
.spb{display:flex;flex-direction:column}
.spb span{font-size:11px;color:var(--muted)}
.spb b{font-size:20px;font-weight:800;font-family:'Space Grotesk',sans-serif}
.spb-link{margin-left:auto;color:var(--vasilek);font-weight:700;font-size:13px}
.seo-trust{display:flex;flex-direction:column;gap:11px;margin-top:26px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px}
.st-item{font-size:13.5px;color:var(--ink2);display:flex;gap:10px;align-items:flex-start;line-height:1.5}
.st-item .ti{color:var(--green);font-size:20px;flex-shrink:0}
.st-item b{color:var(--ink)}

/* плейсхолдер для битых изображений */
.img-fallback{width:100%;height:100%;min-height:100px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#EEF1F8,#F6F8FC);color:#C3CCE0;font-size:34px}

/* ============ НОВЫЙ СТРОГИЙ СТИЛЬ (флаг РБ) ============ */
/* Чистая главная — поиск по центру */
.hero-clean{background:var(--surface);border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);margin-bottom:20px}
.flagstrip{height:5px;background:linear-gradient(90deg,var(--red) 0,var(--red) 66%,var(--green) 66%,var(--green) 100%)}
.hc-inner{padding:64px 24px 56px;display:flex;flex-direction:column;align-items:center;text-align:center}
.hc-logo{font-family:'Space Grotesk',sans-serif;font-size:46px;font-weight:800;letter-spacing:-.04em;color:var(--ink)}
.hc-logo .dot{color:var(--green)}
.hc-slogan{font-size:16px;color:var(--muted);margin:14px 0 32px;font-weight:500}
.hc-search{display:flex;align-items:center;width:100%;max-width:560px;background:var(--surface);border:2px solid var(--ink);border-radius:13px;padding:0 5px 0 18px}
.hc-search .ti{font-size:20px;color:var(--muted)}
.hc-search input{flex:1;border:none;outline:none;font-size:16px;padding:15px 12px;font-family:inherit;background:transparent;color:var(--ink);min-width:0}
.hc-search button{background:var(--red);color:#fff;border:none;border-radius:9px;padding:11px 26px;font-size:15px;font-weight:700;font-family:inherit;cursor:pointer;flex-shrink:0}
.hc-search button:hover{background:var(--red-d)}
.hc-cats{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:22px}
.hc-cat{font-size:13px;font-weight:500;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:9px 14px;text-decoration:none;display:flex;align-items:center;gap:6px}
.hc-cat .ti{font-size:15px;color:var(--muted)}
.hc-cat:hover{border-color:var(--green);color:var(--green)}
.hc-cat:hover .ti{color:var(--green)}
.hc-cat.on{background:var(--green);border-color:var(--green);color:#fff}
.hc-cat.on .ti{color:#fff}
.hc-trust{display:flex;gap:24px;justify-content:center;flex-wrap:wrap;margin-top:32px;font-size:13px;color:var(--muted);font-weight:500}
/* Подсвеченные хлебные крошки */
.crumbs,.breadcrumbs,nav.crumbs{display:inline-flex;align-items:center;gap:0;background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:3px;margin-bottom:16px;font-size:12.5px;font-weight:600;overflow-x:auto;white-space:nowrap;max-width:100%}
.crumbs a,.breadcrumbs a{color:var(--green);padding:6px 11px;border-radius:6px;text-decoration:none;flex-shrink:0}
.crumbs a:hover,.breadcrumbs a:hover{background:var(--green-l)}
.crumbs .sep,.crumbs i,.breadcrumbs .sep{font-size:12px;color:var(--hint);flex-shrink:0;margin:0 1px}
.crumbs .cur,.crumbs span:last-child:not(a):not(.sep),.breadcrumbs .cur{color:#fff;background:var(--ink);padding:6px 11px;border-radius:6px;flex-shrink:0}
/* Богатая карточка — мини-график + показатели видны в ленте */
.rcard{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:.15s}
.rcard:hover{border-color:var(--green);box-shadow:0 6px 20px rgba(27,138,71,.08)}
.rc-photo{aspect-ratio:16/10;background:var(--bg);display:flex;align-items:center;justify-content:center;position:relative}
.rc-photo img{width:100%;height:100%;object-fit:cover}
.rc-badge-safe{position:absolute;top:12px;left:12px;background:rgba(255,255,255,.95);color:var(--green);font-size:11px;font-weight:600;padding:4px 10px;border-radius:7px}
.rc-fav{position:absolute;top:12px;right:12px;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.95);display:flex;align-items:center;justify-content:center;font-size:19px;color:var(--muted);border:none;cursor:pointer}
.rc-cond{position:absolute;bottom:12px;left:12px;background:rgba(22,24,29,.82);color:#fff;font-size:11px;font-weight:500;padding:4px 10px;border-radius:7px}
.rc-body{padding:14px 16px}
.rc-pricerow{display:flex;align-items:center;justify-content:space-between}
.rc-price{font-size:23px;font-weight:800;color:var(--ink)}
.rc-trend{font-size:13px;font-weight:700;display:flex;align-items:center;gap:3px}
.rc-trend.up{color:var(--green)}.rc-trend.down{color:var(--red)}
.rc-title{font-size:15px;font-weight:500;color:var(--ink);margin:5px 0 12px;line-height:1.35}
.rc-chart{background:var(--bg);border-radius:10px;padding:9px 11px;margin-bottom:11px}
.rc-chart-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:3px}
.rc-chart-h .lbl{font-size:11px;color:var(--muted);font-weight:500}
.rc-chart-h .val{font-size:11px;font-weight:600}
.rc-metrics{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:12px}
.rc-metric{background:var(--bg);border-radius:9px;padding:8px 10px}
.rc-metric .ml{font-size:10.5px;color:var(--muted)}
.rc-metric .mv{font-size:14px;font-weight:700;color:var(--ink)}
.rc-foot{display:flex;align-items:center;justify-content:space-between;font-size:12.5px;color:var(--muted)}
.rc-seller{display:flex;align-items:center;gap:5px}
.rc-seller .av{width:22px;height:22px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}

/* ========================================================== */
/* РАВНАЯ ВЫСОТА КАРТОЧЕК (один источник правды).             */
/* Ячейки грида тянутся (stretch), карточка = колонка во всю  */
/* высоту, футер прижат вниз, заголовок фикс. высоты (2 стр), */
/* «Выгодная сделка» в зарезервированном слоте — наличие/     */
/* отсутствие опциональных блоков не двигает раскладку.       */
.rgrid{align-items:stretch}
.rcard-wrap{display:flex;height:100%}
.rcard{display:flex;flex-direction:column;width:100%;height:100%}
.rc-photo{flex:0 0 auto}
.rc-body{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}
/* заголовок: ровно 2 строки у всех карточек */
.rc-title{
  font-size:15px;font-weight:500;color:var(--ink);margin:5px 0 10px;line-height:1.35;
  display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;min-height:calc(1.35em * 2);
}
/* «Выгодная сделка» — фиксированный слот (виден или пустой, но место занимает) */
.rc-hot{min-height:24px}
.rc-hot:empty{display:inline-flex}
/* блок графика не сжимается; футер всегда снизу */
.rc-chart{flex:0 0 auto}
.rc-foot{margin-top:auto;padding-top:4px}
/* в режиме списка (list-view) высоту не навязываем */
.rgrid.list-view .rcard{height:auto}

/* Мобильная адаптация нового стиля */
@media(max-width:560px){
  .hc-inner{padding:44px 18px 40px}
  .hc-logo{font-size:34px}
  .hc-slogan{font-size:14px;margin:12px 0 24px}
  .hc-search input{font-size:16px;padding:13px 8px}
  .hc-search button{padding:11px 16px}
  .hc-cats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;width:100%}
  .hc-cat{justify-content:center;padding:12px 6px;flex-direction:column;gap:5px;font-size:11.5px}
  .hc-cat .ti{font-size:20px}
  .hc-trust{gap:16px;font-size:11.5px}
  .rc-price{font-size:21px}
}

/* Главная как у Google — поиск по центру экрана, ничего лишнего */
.hero-google{display:flex;flex-direction:column;min-height:calc(100vh - 220px);margin-bottom:0}
.hero-google .hc-inner{flex:1;justify-content:center;padding:24px}
.hero-google .hc-logo{font-size:56px}
@media(max-width:560px){.hero-google{min-height:calc(100vh - 180px)}.hero-google .hc-logo{font-size:40px}}

/* ============ ГЛАВНАЯ В СТИЛЕ GOOGLE (bare) ============ */
body.bare{background:var(--surface);display:flex;flex-direction:column;min-height:100vh}
.g-top{display:flex;justify-content:flex-end;align-items:center;gap:22px;padding:14px 22px;font-size:14px}
.g-top a{color:#3c4043;text-decoration:none;font-weight:500}
.g-top a:hover{text-decoration:underline}
.g-signin{background:var(--vasilek);color:#fff!important;padding:9px 22px;border-radius:8px;font-weight:600;text-decoration:none!important}
.g-signin:hover{background:var(--vasilek-d);text-decoration:none!important}
.g-home{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px}
.g-logo{font-family:'Space Grotesk',sans-serif;font-size:64px;font-weight:800;letter-spacing:-.04em;color:var(--ink);line-height:1}
.g-logo .dot{color:var(--green)}
.g-slogan{font-size:15px;color:var(--muted);margin:14px 0 28px;font-weight:500;line-height:1.4}
h1.g-slogan{font-size:15px;font-weight:500;margin:14px 0 28px}
.g-search-form{width:100%;max-width:680px;display:flex;flex-direction:column;align-items:center}
/* Ярлыки категорий под поиском — премиум-монохром, 2 ряда по 10, шире поиска */
.g-shortcuts{width:100%;max-width:800px;display:grid;grid-template-columns:repeat(10,1fr);gap:18px 4px;margin:38px auto 8px}
.g-shortcut{display:flex;flex-direction:column;align-items:center;gap:9px;padding:2px;text-decoration:none;background:none;border:none;cursor:pointer;font-family:inherit;min-width:0}
.g-sc-ic{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--surface);color:var(--ink);font-size:23px;border:1px solid var(--line);box-shadow:0 1px 3px rgba(20,23,28,.05);transition:transform .22s cubic-bezier(.2,.7,.3,1),box-shadow .22s,border-color .22s,color .22s}
.g-shortcut:hover .g-sc-ic{transform:translateY(-3px);box-shadow:0 10px 24px rgba(20,23,28,.13);border-color:var(--green);color:var(--green)}
.g-shortcut:active .g-sc-ic{transform:translateY(-1px);box-shadow:0 4px 12px rgba(20,23,28,.1)}
.g-sc-label{font-size:11.5px;color:var(--muted);text-align:center;max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;letter-spacing:.1px}
.g-shortcut:hover .g-sc-label{color:var(--ink2)}
.g-sc-more-ic{color:var(--muted)}
@media(min-width:561px) and (max-width:840px){.g-shortcuts{grid-template-columns:repeat(7,1fr);max-width:100%;padding:0 10px;gap:18px 4px}}
/* Кнопка «+» добавить, персональные пины, пикер */
.g-sc-add-ic{border-style:dashed;color:var(--muted)}
.g-shortcut:hover .g-sc-add-ic{border-color:var(--green);color:var(--green)}
.g-pin{position:relative}
.g-pin-x{position:absolute;top:-2px;left:50%;transform:translateX(13px);width:19px;height:19px;border-radius:50%;background:var(--ink);color:#fff;border:2px solid var(--bg);font-size:12px;line-height:0;cursor:pointer;display:none;align-items:center;justify-content:center;padding:0;z-index:2}
.g-pin:hover .g-pin-x{display:flex}
.sc-picker{position:fixed;inset:0;background:rgba(10,12,16,.46);z-index:10000;display:none;align-items:center;justify-content:center;padding:18px}
.sc-picker.open{display:flex;animation:scFade .15s ease}
@keyframes scFade{from{opacity:0}to{opacity:1}}
.sc-picker-box{background:var(--surface);border-radius:18px;width:100%;max-width:440px;max-height:82vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.34)}
.sc-picker-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 12px;font-size:16px;color:var(--ink)}
.sc-picker-close{background:var(--bg);border:none;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:19px;color:var(--muted);line-height:0}
.sc-picker-search{margin:0 20px 12px;padding:11px 14px;border:1px solid var(--line);border-radius:11px;font-size:14px;outline:none;font-family:inherit;background:var(--bg);color:var(--ink)}
.sc-picker-search:focus{border-color:var(--green)}
.sc-picker-list{overflow-y:auto;padding:2px 12px 16px;display:flex;flex-direction:column;gap:1px}
.sc-pick{display:flex;align-items:center;gap:12px;padding:8px 10px;border:none;background:none;border-radius:11px;cursor:pointer;text-align:left;font-family:inherit;font-size:14px;color:var(--ink);transition:background .12s;width:100%}
.sc-pick:hover{background:var(--bg)}
.sc-pick .g-sc-ic{width:40px;height:40px;font-size:18px;box-shadow:none;flex-shrink:0}
.sc-pick-lbl{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sc-pick-add{color:var(--muted);font-size:19px;flex-shrink:0}
.sc-pick.added{color:var(--green)}
.sc-pick.added .sc-pick-add{color:var(--green)}
.sc-pick.added .g-sc-ic{border-color:var(--green);color:var(--green)}
/* Умный автокомплит поиска */
.g-search-wrap{position:relative;width:100%}
.g-ac{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 14px 44px rgba(20,23,28,.17);padding:7px;z-index:60;text-align:left;max-height:70vh;overflow-y:auto}
.g-ac-lbl{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;padding:9px 12px 5px}
.g-ac-item{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:11px;text-decoration:none;color:var(--ink);font-size:14.5px;cursor:pointer;border:none;background:none;width:100%;text-align:left;font-family:inherit;transition:background .1s}
.g-ac-item:hover,.g-ac-on{background:var(--bg)}
.g-ac-ic{width:34px;height:34px;border-radius:9px;background:var(--bg);display:flex;align-items:center;justify-content:center;font-size:17px;color:var(--ink2);flex-shrink:0}
.g-ac-ic-q{color:var(--muted)}
.g-ac-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.g-ac-t b{color:var(--green);font-weight:700}
.g-ac-price{font-family:'Space Grotesk',sans-serif;font-weight:700;color:var(--ink);font-size:13.5px;flex-shrink:0}
.g-ac-go{color:var(--muted);font-size:16px;flex-shrink:0}
.g-ac-fix{display:flex;align-items:center;gap:9px;width:100%;padding:11px 12px;border:none;background:rgba(27,138,71,.08);border-radius:11px;color:var(--ink);font-size:14px;cursor:pointer;font-family:inherit;text-align:left;margin-bottom:3px}
.g-ac-fix:hover,.g-ac-fix.g-ac-on{background:rgba(27,138,71,.15)}
.g-ac-fix>i{color:var(--green);font-size:19px;flex-shrink:0}
.g-ac-fix>span:nth-of-type(1){flex:1}
.g-ac-fix b{color:var(--green)}
.g-ac-fix-hint{font-size:11px;color:var(--muted);flex-shrink:0}
@media(max-width:560px){.g-ac{max-height:62vh}.g-ac-item{font-size:14px}}
.g-search{width:100%;display:flex;align-items:center;border:1px solid #dfe1e5;border-radius:24px;padding:0 16px;height:52px;transition:.15s}
.g-search:hover,.g-search:focus-within{box-shadow:0 2px 8px rgba(32,33,36,.18);border-color:rgba(223,225,229,0)}
.g-search-ic{font-size:20px;color:#9aa0a6;flex-shrink:0}
.g-search input{flex:1;border:none;outline:none;font-size:16px;padding:0 14px;font-family:inherit;background:transparent;color:var(--ink);min-width:0}
.g-tools{display:flex;align-items:center;gap:14px;flex-shrink:0}
.g-tool{display:flex;align-items:center;gap:5px;color:#5f6368;text-decoration:none;font-size:18px;border:none;background:none;cursor:pointer}
.g-tool:hover{color:var(--vasilek)}
.g-tool-ai{font-size:13px;font-weight:600;color:var(--vasilek);background:var(--vasilek-l);padding:6px 12px;border-radius:16px}
.g-tool-ai .ti{font-size:15px}
.g-tool-ai:hover{background:#dde6f7;color:var(--vasilek-d)}
.g-btns{display:flex;gap:11px;margin-top:26px}
.g-btn{background:var(--bg);border:1px solid #f8f9fa;border-radius:6px;color:#3c4043;font-size:14px;font-weight:500;padding:10px 18px;cursor:pointer;font-family:inherit;text-decoration:none;line-height:normal}
.g-btn:hover{border-color:#dadce0;box-shadow:0 1px 2px rgba(0,0,0,.08);color:#202124}
.g-cats{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;margin-top:34px;font-size:14px}
.g-cats a{color:#5f6368;text-decoration:none;font-weight:500;display:flex;align-items:center;gap:6px}
.g-cats a:hover{color:var(--vasilek);text-decoration:underline}
.g-cats .ti{font-size:16px;color:#9aa0a6}
.g-cats a:hover .ti{color:var(--vasilek)}
/* футер Google-стиля */
.g-foot{background:#f2f2f2;font-size:13px;color:#5f6368;margin-top:auto;border-top:1px solid #e5e7eb}
.g-foot-line{display:flex;align-items:center;justify-content:center;gap:18px;padding:14px 20px;overflow-x:auto;scrollbar-width:none;white-space:nowrap}
.g-foot-line::-webkit-scrollbar{display:none}
.g-foot-line a{color:#5f6368;text-decoration:none;transition:.12s;flex-shrink:0}
.g-foot-line a:hover{color:var(--green,#1B8A47)}
.g-foot-cr{color:#9aa0a6;font-size:12px;flex-shrink:0}
@media(max-width:560px){
  .g-logo{font-size:44px}
  .g-home{margin-top:0}
  .g-tools{gap:10px}
  .g-tool-ai{font-size:0;padding:7px 9px}
  .g-tool-ai .ti{font-size:17px}
  .g-cats{gap:14px}
  .g-shortcuts{grid-template-columns:repeat(5,1fr);gap:16px 2px;margin-top:26px;padding:0 6px;max-width:100%}
  .g-shortcut{padding:1px;gap:7px}
  .g-sc-ic{width:52px;height:52px;font-size:22px}
  .g-sc-label{font-size:11px;max-width:64px}
}

/* Живой логотип — точка мигает как текстовый курсор (вариант 6) */
@keyframes kr-cursor{0%,49%{opacity:1}50%,100%{opacity:0}}
.g-logo .dot{display:inline-block;animation:kr-cursor 1.1s steps(1) infinite}
@media(prefers-reduced-motion:reduce){.g-logo .dot{animation:none}}

/* Плитка приложений (как у Google) */
.g-apps-btn{width:40px;height:40px;border:none;background:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#5f6368}
.g-apps-btn:hover{background:#f1f3f4}
.g-apps-btn .ti{font-size:22px}
.g-apps{position:absolute;top:60px;right:14px;width:380px;max-width:calc(100vw - 28px);max-height:calc(100vh - 80px);background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 40px rgba(0,0,0,.16);z-index:10000;display:none;overflow:hidden;flex-direction:column}
.g-apps.open{display:flex}
.g-apps-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 8px;flex-shrink:0;border-bottom:1px solid var(--line)}
.g-apps-h{font-size:14px;font-weight:700;color:var(--ink);margin:0}
.g-apps-close{width:32px;height:32px;border:none;background:transparent;border-radius:50%;cursor:pointer;color:var(--muted);display:flex;align-items:center;justify-content:center}
.g-apps-close:hover{background:var(--bg)}.g-apps-close .ti{font-size:18px}
.g-apps-scroll{overflow-y:auto;padding:8px 12px 14px;-webkit-overflow-scrolling:touch;flex:1}
.g-apps-group{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:10px 6px 6px}
.g-apps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px}
.g-app{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 4px;border-radius:10px;text-decoration:none;color:var(--ink);font-size:11px;font-weight:500;text-align:center;line-height:1.2;transition:background .12s}
.g-app:hover{background:var(--bg)}
.g-app-ic{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center}
.g-app-ic .ti{font-size:22px}
@media(max-width:560px){
  .g-apps{position:fixed;top:auto;bottom:0;left:0;right:0;width:100%;max-width:100%;border-radius:18px 18px 0 0;max-height:85vh;border-bottom:none;box-shadow:0 -8px 30px rgba(0,0,0,.2)}
  .g-apps-grid{grid-template-columns:repeat(4,1fr)}
  .g-app{font-size:10.5px;padding:8px 2px}
  .g-app-ic{width:42px;height:42px}.g-app-ic .ti{font-size:21px}
}
.g-app-ic.red{background:#FBEAEB;color:var(--red)}
.g-app-ic.green{background:#EAF6EF;color:var(--green)}
.g-app-ic.ink{background:#EEF0F3;color:var(--ink)}

/* Шапка внутренних страниц — тонкая флаговая полоска (как на главной) */
.hdr-flag{height:3px;background:linear-gradient(90deg,var(--red) 0,var(--red) 66%,var(--green) 66%,var(--green) 100%)}

/* ============ МИНИМАЛЬНАЯ ШАПКА ВНУТРЕННИХ СТРАНИЦ (стиль главной) ============ */
.hdr{background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.hdr .htop{display:flex;align-items:center;gap:18px;padding:12px 0}
.hdr .logo{font-family:'Space Grotesk',sans-serif;font-size:24px;font-weight:800;letter-spacing:-.02em;color:var(--ink);text-decoration:none;flex-shrink:0}
.hdr .logo .dot{color:var(--green)}
.hdr .search{flex:1;max-width:560px;display:flex;align-items:center;background:var(--surface);border:1px solid #dfe1e5;border-radius:24px;padding:0 18px;height:46px;transition:.15s}
.hdr .search:hover,.hdr .search:focus-within{box-shadow:0 1px 6px rgba(32,33,36,.16);border-color:transparent}
.hdr .search .s-ic{font-size:19px;color:#9aa0a6;flex-shrink:0}
.hdr .search input{flex:1;border:none;outline:none;font-size:15px;padding:0 12px;font-family:inherit;background:transparent;color:var(--ink);min-width:0}
.apps-btn{width:42px;height:42px;border:none;background:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#5f6368;flex-shrink:0}
.apps-btn:hover{background:var(--bg)}
.apps-btn[aria-expanded="true"]{background:var(--green-l);color:var(--green)}
.apps-btn .ti{font-size:22px}
.hdr-link{display:flex;align-items:center;gap:6px;color:#3c4043;text-decoration:none;font-weight:500;font-size:14px;flex-shrink:0}
.hdr-link .ti{font-size:18px}
.hdr-link:hover{color:var(--green)}
.hdr .cta{background:var(--green);color:#fff;border-radius:8px;padding:9px 16px;font-weight:600;font-size:14px;text-decoration:none;display:flex;align-items:center;gap:6px;flex-shrink:0;border:none}
.hdr .cta:hover{background:var(--green-d,#136534)}
.hdr .mtop,.hdr .mbar{display:none}
/* ── Панель «Все разделы Kramba» (57.453: один блок стилей вместо трёх конфликтующих) ──
   ПК (> 880px): выпадающая карточка, закреплена у экрана (position:fixed) прямо под кнопкой —
   поэтому открывается на любой прокрутке (раньше была absolute от начала страницы и после
   прокрутки «открывалась» за верхним краем экрана). Координаты под кнопкой ставит JS (--apps-top/--apps-right).
   Телефон и планшет (≤ 880px): полноэкранная шторка со своей прокруткой. */
.apps-panel{position:fixed;top:var(--apps-top,72px);right:var(--apps-right,16px);width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - var(--apps-top,72px) - 16px);background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:18px;box-shadow:var(--sh-3,0 12px 40px rgba(0,0,0,.16));z-index:10000;display:none;flex-direction:column;overflow:hidden;box-sizing:border-box}
.apps-panel.open{display:flex;animation:kAppsIn .16s var(--ease,ease-out)}
@keyframes kAppsIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.apps-h{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3,12px);padding:var(--sp-4,16px) var(--sp-4,16px) var(--sp-2,8px);font-size:15px;font-weight:800;color:var(--ink);margin:0}
.apps-x{flex:0 0 auto;width:36px;height:36px;border:none;border-radius:50%;background:var(--bg);color:var(--muted);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px}
.apps-x:hover{color:var(--ink)}
.apps-search{flex:0 0 auto;padding:0 var(--sp-4,16px) var(--sp-3,12px)}
.apps-search input{width:100%;box-sizing:border-box;border:1px solid var(--line-field);background:var(--bg);border-radius:11px;padding:10px 13px;font-size:14px;font-family:inherit;color:var(--ink);outline:none}
.apps-search input:focus{border-color:var(--green);box-shadow:var(--ring)}
.apps-empty{flex:0 0 auto;text-align:center;color:var(--muted);font-size:13px;padding:var(--sp-5,24px) var(--sp-4,16px);display:none}
.apps-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:0 var(--sp-3,12px) var(--sp-4,16px)}
.apps-grp-h{font-size:11.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:var(--sp-3,12px) var(--sp-1,4px) var(--sp-1,4px)}
.apps-grp-h:first-child{margin-top:var(--sp-1,4px)}
.apps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-1,4px)}
.app{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:7px;min-width:0;min-height:96px;box-sizing:border-box;padding:12px 6px 10px;border-radius:12px;text-decoration:none;color:var(--ink);font-size:12.5px;font-weight:500;text-align:center;line-height:1.25;overflow-wrap:break-word;hyphens:auto}
.app:hover,.app:focus-visible{background:var(--bg)}
.app-ic{flex:0 0 auto;width:44px;height:44px;border-radius:13px;display:flex;align-items:center;justify-content:center}
.app-ic .ti{font-size:22px}
.app-ic.red{background:var(--red-l);color:var(--red)}
.app-ic.green{background:var(--green-l);color:var(--green)}
.app-ic.ink{background:var(--bg);color:var(--ink)}
.app-ic.tint,.g-app-ic.tint{background:color-mix(in srgb,var(--c) 11%,transparent);color:var(--c)}
html[data-theme="dark"] .app-ic.tint,html[data-theme="dark"] .g-app-ic.tint{background:color-mix(in srgb,var(--c) 22%,transparent);color:color-mix(in srgb,var(--c) 55%,#fff)}
.app-new{position:absolute;top:4px;right:4px;font-size:9px;font-weight:800;line-height:1;padding:3px 5px;border-radius:6px;background:var(--green);color:var(--on-accent);text-transform:uppercase;letter-spacing:.03em}
.apps-chips{display:flex;flex-wrap:wrap;gap:6px;margin:var(--sp-1,4px) 0 var(--sp-2,8px)}
#appsPanel .apps-chip{flex-direction:row;min-height:0;gap:6px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;font-size:12.5px;line-height:1.2}
#appsPanel .apps-chip .ti{font-size:15px;color:var(--muted)}
.apps-all{display:flex;align-items:center;justify-content:center;gap:7px;margin:var(--sp-3,12px) 0 var(--sp-1,4px);padding:11px 14px;border-radius:12px;background:var(--bg);color:var(--ink);font-weight:700;font-size:13px;text-decoration:none}
.apps-all:hover{background:var(--green-l);color:var(--green)}
/* служебные ссылки (соглашение, конфиденциальность…) — внизу мелким текстом, не плитками */
.apps-svc{display:flex;flex-wrap:wrap;gap:6px 14px;margin:var(--sp-3,12px) var(--sp-1,4px) 0;padding-top:var(--sp-3,12px);border-top:1px solid var(--line)}
.apps-svc a{font-size:12px;color:var(--muted);text-decoration:none;line-height:1.4}
.apps-svc a:hover{color:var(--green);text-decoration:underline}
/* мобайл-шапка */
@keyframes kAppsUp{from{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}
@media(max-width:880px){
  .hdr .htop{display:none}
  .hdr .mtop{display:flex;align-items:center;justify-content:space-between;padding:11px 0}
  .hdr .mtop .logo{font-size:22px}
  .mtop-r{display:flex;align-items:center;gap:6px}
  .mtop-r .micon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;color:#5f6368;font-size:20px;text-decoration:none}
  .hdr .mbar{display:flex;padding:0 0 11px}
  .hdr .mbar .search{flex:1;max-width:none;height:44px}
  /* панель «Все разделы» — полноэкранная шторка со своей прокруткой */
  .apps-panel{inset:0;top:0;right:0;width:100%;max-width:none;max-height:none;height:100%;height:100dvh;border:none;border-radius:0;box-shadow:none}
  .apps-panel.open{animation:kAppsUp .2s var(--ease,ease-out)}
  .apps-h{font-size:17px;padding-top:calc(var(--sp-4,16px) + env(safe-area-inset-top))}
  .apps-body{padding:0 var(--sp-4,16px) calc(28px + env(safe-area-inset-bottom))}
  .app{font-size:13px}
  body.apps-open{overflow:hidden}


}

/* ============================================================
   KRAMBA v3.0 — ЕДИНЫЙ ДИЗАЙН (все внутренние = стиль главной)
   Чистый минимал, флаговые цвета, кнопки как g-btn
   ============================================================ */

/* === КНОПКИ: плоские, чистые, как на главной === */
.btn{border:none;cursor:pointer;font-family:inherit;font-weight:600;border-radius:8px;transition:.15s;white-space:nowrap;display:inline-flex;align-items:center;gap:7px;justify-content:center;font-size:14px;box-shadow:none!important}
.btn:active{transform:scale(.97)}

/* Основная зелёная */
.btn-prim{background:var(--green);color:#fff;padding:12px 20px;border:none;box-shadow:none!important}
.btn-prim:hover{background:var(--vasilek-d);transform:none;box-shadow:none!important}
.btn-prim:active{transform:scale(.97);box-shadow:none!important}

/* Зелёная (vasilek) */
.btn-vas{background:var(--green);color:#fff;padding:12px 20px;border:none;box-shadow:none!important}
.btn-vas:hover{background:var(--vasilek-d);transform:none;box-shadow:none!important}

/* Вторичная — серая как g-btn */
.btn-sec{background:var(--bg);border:1px solid #f8f9fa;color:#3c4043;padding:11px 18px;font-weight:500;box-shadow:none!important}
.btn-sec:hover{border-color:#dadce0;box-shadow:0 1px 2px rgba(0,0,0,.08)!important;color:#202124}

/* CTA в шапке */
.hdr .cta{background:var(--green);color:#fff;border-radius:8px;padding:9px 16px;font-weight:600;font-size:14px;border:none;box-shadow:none!important}
.hdr .cta:hover{background:var(--vasilek-d)}

/* Удаление neo-brutalism теней и рамок */
.btn-prim,.btn-vas,.cta,.rcard,.lcard,.gcard,.card,.mm-cat,.top-row,.subnav .snav-feed,.glasscard,.scam-tag,.fp-badge,.plan-badge,.how-block,.auth-form,.dispute-ai,.oob-panel,.live-screen{
  box-shadow:none!important;
}
.rcard:hover,.lcard:hover,.card:hover{box-shadow:0 6px 20px rgba(0,0,0,.06)!important;transform:translateY(-2px)}
.mm-cat:hover,.top-row:hover,.seller-mini:hover{box-shadow:0 4px 12px rgba(0,0,0,.06)!important;transform:translateY(-1px)}

/* Убираем жирные border от neo-brutalism */
.how-block,.auth-form,.dispute-ai,.oob-panel,.live-screen{border:1px solid var(--line)}
.hs-num{border:none;box-shadow:none}

/* === КАРТОЧКИ ТОВАРА: чистые, как rc-* на главной === */
.rcard{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:.15s}
.rcard:hover{border-color:var(--green);box-shadow:0 6px 20px rgba(27,138,71,.08)!important;transform:translateY(-2px)}

.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:.15s}
.card:hover{border-color:var(--green);box-shadow:0 6px 20px rgba(27,138,71,.08)!important;transform:translateY(-2px)}
.card .price.auc{color:var(--green)}

/* === КАТЕГОРИИ-ПЛИТКИ в шапке внутренних === */
.hdr-cats{display:flex;gap:8px;padding:0 0 12px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.hdr-cats::-webkit-scrollbar{display:none}
.hdr-cat{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--bg);border:1px solid var(--line);border-radius:10px;font-size:13px;font-weight:500;color:var(--ink);white-space:nowrap;flex-shrink:0;text-decoration:none;transition:.15s}
.hdr-cat .ti{font-size:16px;color:var(--muted)}
.hdr-cat:hover{border-color:var(--green);color:var(--green)}
.hdr-cat:hover .ti{color:var(--green)}
.hdr-cat.on{background:var(--green);border-color:var(--green);color:#fff}
.hdr-cat.on .ti{color:#fff}
@media(max-width:880px){
  .hdr-cats{padding:0 0 10px}
}

/* === СОРТИРОВКА: чистая капсула === */
.sortseg{display:flex;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:3px;font-size:13px}
.sortseg a{padding:7px 14px;border-radius:7px;color:var(--muted);font-weight:500;transition:.12s;text-decoration:none}
.sortseg a.on{background:var(--green);color:#fff}
.sortseg a:hover:not(.on){background:var(--surface)}

/* === TOOLBAR === */
.toolbar h1{font-family:'Space Grotesk',sans-serif;font-size:24px;font-weight:700;letter-spacing:-.02em}

/* === ЧИПЫ КАТЕГОРИЙ в каталоге: чистые === */
.catchip{padding:8px 14px;border-radius:8px;background:var(--bg);border:1px solid var(--line);font-size:13px;font-weight:500;color:var(--ink);cursor:pointer;display:flex;align-items:center;gap:6px;transition:.15s;white-space:nowrap;text-decoration:none}
.catchip:hover{border-color:var(--green);color:var(--green)}
.catchip.on{background:var(--green);border-color:var(--green);color:#fff;box-shadow:none}
.catchip.accent.on{background:var(--red);border-color:var(--red);color:#fff;box-shadow:none}

/* === ARENA аукционов: чистая, без пурпурного градиента === */
.arena{background:linear-gradient(135deg,#1A2E1C,#0E1A10);border:1px solid rgba(27,138,71,.2);border-radius:18px;padding:26px 30px;color:#E8EAF0;margin:18px 0 20px;position:relative;overflow:hidden}
.arena h1{font-family:'Space Grotesk',sans-serif;color:#fff}
.arena p{color:#A6C2AA}
.arena-badge{background:rgba(27,138,71,.2);border:1px solid rgba(27,138,71,.4);color:#5BE5A0}
.arena-stat .l{color:#A6C2AA}

/* === АРЕНА СОРТИРОВКА === */
.asort{padding:8px 14px;border-radius:8px;background:var(--bg);border:1px solid var(--line);font-size:13px;font-weight:500;color:var(--muted)}
.asort.on{background:var(--green);border-color:var(--green);color:#fff;box-shadow:none}
.asort.on.cool{background:var(--green);border-color:var(--green);box-shadow:none}

/* === ФИЛЬТРЫ: чище === */
.filters{border-radius:14px;box-shadow:none}
.filters .btn{width:100%}

/* === КАБИНЕТ: стиль главной === */
.cab-head h1{font-family:'Space Grotesk',sans-serif;letter-spacing:-.02em}
.kpi{border-radius:14px}
.kpi-ic{border-radius:10px}

/* === АДМИН-ПАНЕЛЬ: чистая === */
.admnav{border-radius:14px}
.admnav a.on{background:var(--green-l);color:var(--green)}
.admnav a.on .ti{color:var(--green)}
.atable{border-radius:14px}
.abtn{border-radius:7px;font-weight:600}

/* === STAT блоки: чистые === */
.stat{border-radius:14px}
.stat .n{color:var(--green)}

/* === ФОРМЫ (sell/login/register): чистые === */
.formwrap h1{font-family:'Space Grotesk',sans-serif;letter-spacing:-.02em}
.fld input,.fld select,.fld textarea{border-radius:10px;border:1.5px solid var(--line)}
.fld input:focus,.fld textarea:focus,.fld select:focus{border-color:var(--green)}
.seg label:has(input:checked){border-color:var(--green);background:var(--green-l)}
.bidform input{border-color:var(--green)}

/* === ЛИСТИНГ: чистый === */
.lprice{color:var(--green)}
.lmeta .ti{color:var(--green)}
.sellerbig .sav{background:var(--green);border-radius:50%}
.sm-av{background:var(--green)}

/* === ДОВЕРИЕ: зелёные акценты === */
.trust-hero.green .th-ic{color:#5BE5A0}
.chain-status .ti{color:var(--green)}

/* === МОДАЛКИ / ПАНЕЛИ: чистые === */
.protect-panel{background:var(--green-l);border:1px solid rgba(27,138,71,.15);border-radius:14px}
.pp-h .ti{color:var(--green)}

/* === GAMIFY: чистые бейджи === */
.gamify-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0}
@media(max-width:768px){.gamify-row{grid-template-columns:1fr}}
.g-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px}
.g-points .gp-top{font-size:13px;font-weight:600;color:var(--muted);display:flex;align-items:center;gap:7px;margin-bottom:8px}
.g-points .gp-top .ti{color:var(--green)}
.g-points .gp-val{font-family:'Space Grotesk',sans-serif;font-size:36px;font-weight:800;letter-spacing:-.02em}
.g-points .gp-lvl{margin-top:6px}
.g-points .gp-link{display:inline-block;margin-top:10px;font-size:13px;font-weight:600;color:var(--green)}
.g-ref .gr-h{font-size:14px;font-weight:700;display:flex;align-items:center;gap:7px;margin-bottom:8px}
.g-ref .gr-h .ti{color:var(--green)}
.g-ref .gr-d{font-size:13px;color:var(--muted);line-height:1.5;margin-bottom:12px}
.g-ref .gr-link-row{display:flex;gap:8px}
.g-ref .gr-input{flex:1;height:42px;border:1.5px solid var(--line);border-radius:10px;padding:0 12px;font-size:12px;font-family:inherit;color:var(--muted);outline:none;min-width:0}
.g-ref .gr-count{font-size:12.5px;color:var(--muted);margin-top:10px;display:flex;align-items:center;gap:6px}

/* === ДОСТИЖЕНИЯ: чистые === */
.ach-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:22px}
@media(max-width:768px){.ach-grid{grid-template-columns:repeat(2,1fr)}}
.ach-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px;text-align:center;transition:.15s}
.ach-card.got{border-color:var(--green)}
.ach-card.locked{opacity:.5}
.ach-ic{width:44px;height:44px;border-radius:12px;background:var(--green-l);color:var(--green);display:flex;align-items:center;justify-content:center;font-size:22px;margin:0 auto 8px}
.ach-card.locked .ach-ic{background:var(--bg);color:var(--hint)}
.ach-title{font-size:13px;font-weight:700}
.ach-descr{font-size:11.5px;color:var(--muted);margin-top:3px;line-height:1.35}
.ach-pts{font-size:11px;font-weight:700;color:var(--green);margin-top:6px}

/* === SECURITY CARD: чистый === */
.security-card{border-radius:14px}
.sec-card-ic{background:var(--green-l);color:var(--green)}

/* === SEO-ссылки: зелёные вместо vasilek === */
.sec-more{color:var(--green);font-weight:600}
.sec-more:hover{color:var(--vasilek-d)}

/* === FLASH: чистые === */
.flash{border-radius:10px}
.flash-info{background:var(--green-l);color:var(--vasilek-d)}

/* === TABBAR мобильный: чистый === */
.tabbar a:hover,.tabbar a.active{color:var(--green)}
.tabbar .midbtn{background:var(--green);box-shadow:0 6px 16px rgba(27,138,71,.25)}

/* === PASSKEY кнопка: зелёная === */
.btn-passkey{border-color:var(--green);background:var(--green-l);color:var(--green)}
.btn-passkey:hover{background:#D7F0E1}

/* === OFFER кнопка: зелёная === */
.btn-offer{border-color:var(--green);color:var(--green)}
.btn-offer:hover{background:var(--green-l)}

/* === FAB лента: зелёный === */
.feedfab{background:var(--green);box-shadow:0 8px 24px rgba(27,138,71,.25)}

/* === PRICING PLANS: чистые === */
.plan-card{border-radius:14px;box-shadow:none}
.plan-card.pop{border-color:var(--green)}

/* === LISTINGS / MARKET ACCENTS: зелёные === */
.lstat.vas{background:var(--green-l)}.lstat.vas .v{color:var(--green)}
.rstat.vas{background:var(--green-l)}.rstat.vas .v{color:var(--green)}
.rchip.vas{background:var(--green-l);color:var(--green)}

/* === крошки: зелёные ссылки === */
.crumbs a,.breadcrumbs a{color:var(--green)}

/* === Секция: зелёные иконки === */
.sec-title .ti{color:var(--green)!important}

/* === SEARCH в шапке: круглый как на главной === */
.hdr .search{border:1px solid #dfe1e5;border-radius:24px;height:44px}

/* удаление старых сабнав стилей */
.subnav .snav-feed{border:none;box-shadow:none!important}

/* ============================================================
   KRAMBA v3.1 — ПОЛНАЯ ПЕРЕРАБОТКА UX
   ============================================================ */

/* === ANIMATED LOGO ON ALL PAGES === */
.logo .wm{font-family:'Space Grotesk',sans-serif;font-weight:800;letter-spacing:-.04em}
.logo .wm .dot{display:inline-block;color:var(--green);animation:kr-cursor 1.1s steps(1) infinite}
@media(prefers-reduced-motion:reduce){.logo .wm .dot{animation:none}}

/* === CTA КНОПКА «ПРОДАТЬ» В ШАПКЕ — ЧЁТКАЯ === */
.hdr-cta{background:var(--green);color:#fff;border-radius:8px;padding:10px 18px;font-weight:700;font-size:14px;text-decoration:none;display:inline-flex;align-items:center;gap:6px;flex-shrink:0;transition:.15s;border:none}
.hdr-cta:hover{background:var(--vasilek-d)}
@media(max-width:880px){.hdr-cta{display:none}}

/* === APPS PANEL — КАТЕГОРИИ ВНУТРИ === */
.apps-cats-h{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin:10px 0 6px;padding:0 6px}
.apps-cats{display:flex;flex-wrap:wrap;gap:5px;padding:0 2px}
.apps-cat{font-size:12px;font-weight:500;color:var(--ink2);padding:6px 10px;border-radius:8px;background:var(--bg);text-decoration:none;display:flex;align-items:center;gap:5px;transition:.12s}
.apps-cat .ti{font-size:14px;color:var(--muted)}
.apps-cat:hover{background:var(--green-l);color:var(--green)}
.apps-cat:hover .ti{color:var(--green)}

/* === КАРТОЧКИ: ПРОПОРЦИИ И ТОЛЩИНА === */
.rcard{background:var(--surface);border:1.5px solid var(--line);border-radius:16px;overflow:hidden;transition:.18s}
.rcard:hover{border-color:var(--green);box-shadow:0 8px 24px rgba(27,138,71,.1)!important;transform:translateY(-3px)}
.rc-photo{aspect-ratio:4/3;background:var(--bg);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.rc-body{padding:14px 16px 16px}
.rc-price{font-family:'Space Grotesk',sans-serif;font-size:22px;font-weight:800;letter-spacing:-.02em}
.rc-title{font-size:14px;font-weight:500;color:var(--ink2);margin:6px 0 8px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rc-ai{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;color:var(--green);background:var(--green-l);padding:5px 10px;border-radius:8px;margin-bottom:10px}
.rc-ai .ti{font-size:14px}
.rc-ai-score{font-weight:800;color:var(--green)}
.rc-chart{background:var(--bg);border-radius:10px;padding:8px 10px;margin-bottom:10px}
.rc-metrics{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin-bottom:10px}
.rc-metric{background:var(--bg);border-radius:8px;padding:7px 8px;text-align:center}
.rc-metric .ml{font-size:10px;color:var(--muted);font-weight:500;line-height:1.2}
.rc-metric .mv{font-size:13px;font-weight:700;margin-top:2px}
.rc-foot{display:flex;align-items:center;justify-content:space-between;padding-top:10px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.rc-seller{display:flex;align-items:center;gap:4px}
.rc-seller .av{width:22px;height:22px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700}
.rc-fav{width:38px;height:38px;min-width:38px;min-height:38px}

/* СЕТКА КАРТОЧЕК — пропорциональная */
.rgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media(max-width:1100px){.rgrid{grid-template-columns:repeat(3,1fr);gap:16px}}
@media(max-width:768px){.rgrid{grid-template-columns:repeat(2,1fr);gap:12px}}
@media(max-width:420px){.rgrid{grid-template-columns:1fr;gap:14px}}

/* === AUTH PAGE (login/register) — ЦЕНТР + STICKY FOOTER === */
.auth-page{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 240px);padding:40px 20px}
.auth-card{width:100%;max-width:420px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:36px 32px;box-shadow:0 4px 24px rgba(0,0,0,.05)}
.auth-logo{font-family:'Space Grotesk',sans-serif;font-size:36px;font-weight:800;letter-spacing:-.04em;text-align:center;margin-bottom:4px}
.auth-logo .dot{color:var(--green);display:inline-block;animation:kr-cursor 1.1s steps(1) infinite}
.auth-card h1{font-family:'Space Grotesk',sans-serif;font-size:22px;font-weight:700;text-align:center;margin:8px 0 4px}
.auth-sub{text-align:center;font-size:14px;color:var(--muted);margin-bottom:24px}
.auth-switch{text-align:center;margin-top:18px;font-size:14px;color:var(--muted)}
.auth-switch a{color:var(--green);font-weight:700}

/* === ХЛЕБНЫЕ КРОШКИ — ВЫДЕЛЕННЫЕ === */
.crumbs{display:inline-flex;align-items:center;gap:0;background:var(--surface);border:1.5px solid var(--line);border-radius:10px;padding:4px;margin-bottom:18px;font-size:13px;font-weight:600;overflow-x:auto;white-space:nowrap;max-width:100%;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.crumbs a{color:var(--green);padding:7px 12px;border-radius:7px;text-decoration:none;flex-shrink:0;transition:.12s}
.crumbs a:first-child .ti{font-size:14px}
.crumbs a:hover{background:var(--green-l)}
.crumbs .sep{font-size:13px;color:var(--hint);flex-shrink:0;margin:0 2px}
.crumbs .cur{color:#fff;background:var(--green);padding:7px 12px;border-radius:7px;flex-shrink:0}

/* === LISTING PAGE ENRICHMENT — BOTTOM BLOCKS === */
.listing-bottom{margin-top:30px;display:flex;flex-direction:column;gap:18px}
.lb-block{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px 22px}
.lb-h{font-family:'Space Grotesk',sans-serif;font-size:17px;font-weight:700;display:flex;align-items:center;gap:8px;margin-bottom:14px}
.lb-h .ti{color:var(--green);font-size:20px}
.lb-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@media(max-width:768px){.lb-grid{grid-template-columns:repeat(2,1fr)}}
.lb-link{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 10px;background:var(--bg);border-radius:12px;text-decoration:none;color:var(--ink);font-size:12.5px;font-weight:600;text-align:center;transition:.12s}
.lb-link .ti{font-size:24px;color:var(--green)}
.lb-link:hover{background:var(--green-l);color:var(--green)}

/* == Quick nav strip == */
.quick-nav{display:flex;gap:10px;margin:14px 0;flex-wrap:wrap}
.qn-item{display:flex;align-items:center;gap:6px;padding:9px 14px;background:var(--bg);border:1px solid var(--line);border-radius:10px;font-size:13px;font-weight:500;color:var(--ink);text-decoration:none;transition:.12s}
.qn-item .ti{font-size:16px;color:var(--green)}
.qn-item:hover{border-color:var(--green);color:var(--green);background:var(--green-l)}

/* === FOOTER — STICKY AT BOTTOM === */
body{display:flex;flex-direction:column;min-height:100vh}
body > main.wrap{flex:1}
.ftr{margin-top:auto}

/* === RESPONSIVE PROPORTIONS === */
/* Tablet */
@media(min-width:769px) and (max-width:1024px){
  .wrap{max-width:960px}
  .lwrap{grid-template-columns:1.2fr 1fr;gap:20px}
  .cab-top{grid-template-columns:1fr 1.5fr}
  .stats{grid-template-columns:repeat(4,1fr)}
}
/* Small tablet */
@media(min-width:601px) and (max-width:768px){
  .wrap{padding:0 16px}
  .lwrap{grid-template-columns:1fr;gap:16px}
  .sec-title{font-size:18px}
  .rc-price{font-size:20px}
  .lb-grid{grid-template-columns:repeat(2,1fr)}
}
/* Phone */
@media(max-width:600px){
  .wrap{padding:0 14px}
  .rc-price{font-size:18px}
  .rc-title{font-size:13px}
  .rc-metrics{gap:4px}
  .rc-metric{padding:5px 6px}
  .rc-metric .mv{font-size:12px}
  .auth-card{padding:28px 22px}
  .auth-logo{font-size:30px}
  .auth-card h1{font-size:19px}
  .lb-grid{grid-template-columns:1fr 1fr}
  .lb-link{padding:10px 8px;font-size:11.5px}
}
/* Small phone */
@media(max-width:380px){
  .rgrid{gap:10px}
  .rc-body{padding:10px 12px 12px}
  .rc-ai{font-size:10.5px;padding:4px 8px}
}

/* === HIDDEN OLD hdr-cats strip (replaced by apps panel) === */
.hdr-cats{display:none!important}

/* ============================================================
   KRAMBA v4.0 — ИННОВАЦИИ И ДИЗАЙНЕРСКИЕ АКЦЕНТЫ
   ============================================================ */

/* === 1. SCROLL PROGRESS INDICATOR === */
.scroll-progress{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--green),#5BE5A0);z-index:9999;transition:width .1s linear;width:0;pointer-events:none}

/* === 2. SKELETON SHIMMER (lazy cards) === */
@keyframes shimmer{0%{background-position:-400px 0}100%{background-position:400px 0}}
.skeleton{background:linear-gradient(90deg,var(--bg) 25%,#e8eaef 37%,var(--bg) 63%);background-size:800px 100%;animation:shimmer 1.5s infinite linear;border-radius:12px}
.skel-photo{aspect-ratio:4/3;border-radius:16px 16px 0 0}
.skel-line{height:14px;margin:8px 16px;border-radius:6px}
.skel-line.short{width:60%}
.skel-line.price{height:22px;width:40%}

/* === 3. STICKY BUY BAR (mobile listing) === */
.sticky-buy{display:none}
@media(max-width:768px){
  .sticky-buy{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom));z-index:180;gap:12px;align-items:center;box-shadow:0 -4px 20px rgba(0,0,0,.08);backdrop-filter:blur(12px)}
  .sticky-buy .sb-price{font-family:'Space Grotesk',sans-serif;font-size:22px;font-weight:800;flex-shrink:0}
  .sticky-buy .sb-btn{flex:1;background:var(--green);color:#fff;border:none;border-radius:12px;padding:14px;font-weight:700;font-size:15px;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:7px}
  .sticky-buy .sb-btn:active{transform:scale(.97)}
  body:has(.sticky-buy){padding-bottom:80px}
}

/* === 4. ENHANCED CARD HOVER — depth + glow === */
.rcard{transform-style:preserve-3d;perspective:800px}
.rcard:hover{box-shadow:0 12px 32px rgba(27,138,71,.12),0 0 0 1px var(--green)!important}
.rcard:hover .rc-photo img{transform:scale(1.03);transition:.4s}
.rcard .rc-photo img{transition:.4s}

/* Quick action overlay on card hover */
.rc-quick{position:absolute;inset:0;background:linear-gradient(0deg,rgba(22,24,29,.85) 0%,transparent 50%);opacity:0;transition:.25s;display:flex;align-items:flex-end;padding:14px;z-index:3;border-radius:16px 16px 0 0}
.rcard:hover .rc-quick{opacity:1}
.rc-quick-inner{display:flex;gap:8px;width:100%}
.rc-qbtn{flex:1;padding:10px;border:none;border-radius:10px;font-weight:700;font-size:12.5px;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:5px;transition:.12s}
.rc-qbtn.buy{background:var(--green);color:#fff}
.rc-qbtn.buy:hover{background:var(--vasilek-d)}
.rc-qbtn.scan{background:rgba(255,255,255,.15);color:#fff;backdrop-filter:blur(8px)}
.rc-qbtn.scan:hover{background:rgba(255,255,255,.25)}
@media(max-width:768px){.rc-quick{display:none}}

/* === 5. TRUST STRIP (social proof) === */
.trust-strip{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:40px;padding:10px 20px;background:var(--green);color:#fff;font-size:12.5px;font-weight:600;overflow:hidden;flex-wrap:wrap;row-gap:4px}
.trust-strip .ts-item{display:flex;align-items:center;gap:6px;white-space:nowrap;flex-shrink:0;padding:2px 0}
.trust-strip .ts-item .ti{font-size:15px}
.trust-strip .ts-dot{width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.4);flex-shrink:0}
@media(max-width:600px){.trust-strip{gap:14px;font-size:11.5px;padding:6px 14px}}

/* === 6. SCROLL REVEAL ANIMATION === */
@keyframes fadeInUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.reveal{opacity:0;transform:translateY(24px)}
.reveal.visible{animation:fadeInUp .5s ease forwards}
.reveal.visible:nth-child(2){animation-delay:.06s}
.reveal.visible:nth-child(3){animation-delay:.12s}
.reveal.visible:nth-child(4){animation-delay:.18s}
.reveal.visible:nth-child(5){animation-delay:.24s}
.reveal.visible:nth-child(6){animation-delay:.3s}
.reveal.visible:nth-child(7){animation-delay:.36s}
.reveal.visible:nth-child(8){animation-delay:.42s}

/* === 7. ENHANCED FOOTER === */
.ftr{background:var(--ink);color:#A6AEC2;border-top:none;padding:0;margin-top:40px}
/* Футер: бренд на всю ширину сверху, затем 8 колонок ссылок ровной сеткой 4×2.
   align-items:start + одинаковое число колонок в ряду => нет «рваного» низа,
   разная длина списков больше не ломает выравнивание. */
.ftr .foot{padding:36px 20px 20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:26px 24px;align-items:start}
.ftr .foot .fcol a{font-size:12.5px;line-height:1.35;padding:1px 0}
.ftr .foot .fh{font-size:12px;text-transform:uppercase;letter-spacing:.04em;opacity:.85;margin-bottom:5px}
.ftr .fbrand{grid-column:1/-1;max-width:520px}
@media(max-width:640px){.ftr .foot{grid-template-columns:repeat(2,1fr)}}
.ftr .fbrand{grid-column:1 / -1;max-width:560px;margin-bottom:4px}
@media(max-width:900px){.ftr .foot{grid-template-columns:repeat(2,1fr);gap:22px}.ftr .fbrand{grid-column:1 / -1}}
@media(max-width:500px){.ftr .foot{grid-template-columns:1fr}}
.ftr .fbrand{max-width:none}
.ftr .fbrand .logo .wm{color:#fff}
.ftr .fbrand .logo .dot{color:var(--green)}
.ftr .fbrand p{color:#6E7880;font-size:13px;line-height:1.6;margin-top:10px}
.ftr .fh{color:#fff;font-weight:700;margin-bottom:8px;font-size:13.5px}
.ftr .fcol a{color:#8E96AB;font-size:13px;transition:.12s}
.ftr .fcol a:hover{color:var(--green)}
.ftr-bottom{border-top:1px solid rgba(255,255,255,.08);padding:16px 20px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.ftr-copy{font-size:12px;color:#6E7880}
.ftr-socials{display:flex;gap:10px}
.ftr-soc{width:34px;height:34px;border-radius:9px;background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;color:#8E96AB;font-size:18px;transition:.12s;text-decoration:none}
.ftr-soc:hover{background:var(--green);color:#fff}
.ftr-cta{display:flex;align-items:center;gap:16px;background:linear-gradient(135deg,rgba(27,138,71,.15),rgba(27,138,71,.05));border:1px solid rgba(27,138,71,.2);border-radius:14px;padding:16px 20px;margin:32px 20px 8px}
.ftr-cta-txt{flex:1;font-size:14px;color:#CDD2DA;line-height:1.5}
.ftr-cta-txt b{color:#fff;display:block;font-size:16px;margin-bottom:3px}
.ftr-cta-btn{background:var(--green);color:#fff;border:none;border-radius:10px;padding:12px 20px;font-weight:700;font-size:14px;cursor:pointer;font-family:inherit;white-space:nowrap;text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.ftr-cta-btn:hover{background:var(--vasilek-d)}

/* === 8. RECENTLY VIEWED STRIP === */
.recent-strip{margin:24px 0;padding:20px 0}
.recent-h{font-family:'Space Grotesk',sans-serif;font-size:17px;font-weight:700;display:flex;align-items:center;gap:8px;margin-bottom:14px}
.recent-h .ti{color:var(--green)}
.recent-scroll{display:flex;gap:14px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:4px}
.recent-scroll::-webkit-scrollbar{display:none}
.recent-item{flex:0 0 180px;background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;text-decoration:none;color:var(--ink);transition:.15s}
.recent-item:hover{border-color:var(--green);box-shadow:0 4px 16px rgba(27,138,71,.08)}
.recent-img{aspect-ratio:4/3;background:var(--bg);display:flex;align-items:center;justify-content:center;color:var(--hint);font-size:32px;overflow:hidden}
.recent-img img{width:100%;height:100%;object-fit:cover}
.recent-info{padding:10px 12px}
.recent-price{font-family:'Space Grotesk',sans-serif;font-size:16px;font-weight:800}
.recent-name{font-size:12px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* === 9. SMOOTH PAGE TRANSITIONS === */
@keyframes pageIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
body:not(.bare) > main.wrap{animation:pageIn .3s ease}

/* === 10. SCROLL TO TOP BUTTON === */
.scroll-top{position:fixed;bottom:24px;right:18px;z-index:180;width:44px;height:44px;border-radius:50%;background:var(--surface);border:1px solid var(--line);box-shadow:0 4px 16px rgba(0,0,0,.1);display:flex;align-items:center;justify-content:center;color:var(--green);font-size:20px;cursor:pointer;opacity:0;transform:translateY(10px);transition:.25s;pointer-events:none}
.scroll-top.show{opacity:1;transform:none;pointer-events:auto}
.scroll-top:hover{background:var(--green);color:#fff}
@media(max-width:768px){.scroll-top{bottom:80px;right:14px;width:40px;height:40px}}

/* === 11. MICRO-INTERACTIONS === */
/* Button ripple */
.btn-prim,.btn-vas,.hdr-cta,.sb-btn{position:relative;overflow:hidden}
.btn-prim::after,.btn-vas::after,.hdr-cta::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--x,50%) var(--y,50%),rgba(255,255,255,.25) 0%,transparent 60%);opacity:0;transition:opacity .3s}
.btn-prim:active::after,.btn-vas:active::after,.hdr-cta:active::after{opacity:1}

/* Tooltip on hover */
[data-tip]{position:relative}
[data-tip]:hover::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:6px 11px;border-radius:8px;font-size:12px;font-weight:500;white-space:nowrap;z-index:100;pointer-events:none;animation:fadeInUp .2s ease}
[data-tip]:hover::before{content:"";position:absolute;bottom:calc(100% + 4px);left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:var(--ink);z-index:100}

/* Focus ring */
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--green);outline-offset:2px;border-radius:8px}

/* === 12. LISTING PAGE — ENHANCED SIDEBAR === */
.listing-actions{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.la-btn{display:flex;align-items:center;gap:9px;padding:12px 14px;background:var(--bg);border:1px solid var(--line);border-radius:12px;font-size:13px;font-weight:600;color:var(--ink);cursor:pointer;transition:.12s;text-decoration:none;border-style:solid}
.la-btn .ti{font-size:18px;color:var(--green)}
.la-btn:hover{border-color:var(--green);background:var(--green-l)}
.la-btn .la-arrow{margin-left:auto;color:var(--hint);font-size:16px}

/* === 13. BADGE PULSE for live items === */
@keyframes badge-pulse{0%,100%{box-shadow:0 0 0 0 rgba(27,138,71,.4)}50%{box-shadow:0 0 0 6px rgba(27,138,71,0)}}
.rc-badge-safe{animation:badge-pulse 2s infinite}

/* === 14. PRICE HIGHLIGHT on cards === */
.rc-price-highlight{position:relative}
.rc-price-highlight::after{content:"";position:absolute;bottom:0;left:0;right:0;height:6px;background:var(--green);opacity:.15;border-radius:3px;z-index:-1}

/* ============================================================
   KRAMBA v4.1 — CATEGORY NAV + UNIQUE DESIGN ACCENTS
   ============================================================ */

/* === CATEGORY NAVIGATION BAR === */
.catnav{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:14px 0 6px;margin-bottom:8px}
.catnav::-webkit-scrollbar{display:none}
.catnav-item{display:flex;align-items:center;gap:6px;padding:9px 16px;background:var(--surface);border:1.5px solid var(--line);border-radius:12px;font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap;flex-shrink:0;text-decoration:none;transition:.18s}
.catnav-item .ti{font-size:17px;color:var(--muted);transition:.18s}
.catnav-item:hover{border-color:var(--green);color:var(--green);background:var(--green-l);transform:translateY(-1px)}
.catnav-item:hover .ti{color:var(--green)}
.catnav-item.on{background:var(--green);border-color:var(--green);color:#fff;box-shadow:0 4px 14px rgba(27,138,71,.2)}
.catnav-item.on .ti{color:#fff}
@media(max-width:600px){.catnav-item{padding:8px 12px;font-size:12px}.catnav-item .ti{font-size:15px}}

/* === UNIQUE DESIGN ACCENT: «Край Беларуси» декоративный элемент === */
.k-accent{position:relative;overflow:hidden}
.k-accent::before{content:"";position:absolute;top:-30px;right:-20px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(27,138,71,.06) 0%,transparent 70%);pointer-events:none;z-index:0}
.k-accent::after{content:"";position:absolute;bottom:-20px;left:-15px;width:80px;height:80px;border-radius:50%;background:radial-gradient(circle,rgba(210,39,48,.04) 0%,transparent 70%);pointer-events:none;z-index:0}

/* === UNIQUE: флаг-маркер у заголовков секций === */
.sec-title{position:relative;padding-left:14px}
.sec-title::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:22px;border-radius:2px;background:linear-gradient(180deg,var(--red) 0,var(--red) 66%,var(--green) 66%,var(--green) 100%)}

/* === UNIQUE: «Доверие» индикатор в шапке === */
.hdr-trust{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--green);background:var(--green-l);padding:5px 12px;border-radius:20px;flex-shrink:0;white-space:nowrap}
.hdr-trust .ti{font-size:14px}
@media(max-width:1100px){.hdr-trust{display:none}}

/* === UNIQUE: price tag accent на карточках === */
.rc-price{position:relative;z-index:1}

/* === ENHANCED SORTING with more options === */
.sort-advanced{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.sort-chip{padding:8px 14px;border-radius:10px;background:var(--surface);border:1.5px solid var(--line);font-size:12.5px;font-weight:600;color:var(--ink2);cursor:pointer;display:flex;align-items:center;gap:5px;transition:.15s;text-decoration:none;white-space:nowrap}
.sort-chip .ti{font-size:15px;color:var(--muted)}
.sort-chip:hover{border-color:var(--green);color:var(--green)}
.sort-chip:hover .ti{color:var(--green)}
.sort-chip.on{background:var(--green);border-color:var(--green);color:#fff}
.sort-chip.on .ti{color:#fff}

/* === GLASS MORPHISM accent для premium блоков === */
.glass{background:rgba(255,255,255,.7);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.4)}

/* === ANIMATED GRADIENT BORDER for active/premium items === */
@keyframes border-glow{0%{border-color:var(--green)}50%{border-color:rgba(27,138,71,.3)}100%{border-color:var(--green)}}
.rcard:has(.rc-badge-safe){animation:border-glow 3s ease infinite}

/* === Hide old hdr-cats if still present === */
.hdr-cats{display:none!important}

/* ============================================================
   KRAMBA v4.2 — POLISH + ФУНКЦИОНАЛ + БЕЛОРУССКАЯ ИДЕНТИЧНОСТЬ
   ============================================================ */

/* === BELARUSIAN ORNAMENT PATTERN (subtle SVG background) === */
.k-ornament{position:relative}
.k-ornament::before{content:"";position:absolute;top:0;right:0;width:200px;height:100%;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cpath d='M20 0v10M10 10h20M0 20h10M30 20h10M10 30h20M20 30v10' stroke='%231B8A47' stroke-width='.5' fill='none' opacity='.06'/%3E%3C/svg%3E") repeat;pointer-events:none;z-index:0;border-radius:inherit}

/* === VIEW TOGGLE (grid/list) === */
.view-toggle{display:flex;border:1.5px solid var(--line);border-radius:10px;overflow:hidden;flex-shrink:0}
.view-toggle button{border:none;background:var(--surface);padding:8px 12px;cursor:pointer;color:var(--muted);font-size:17px;display:flex;align-items:center;transition:.12s}
.view-toggle button:not(:last-child){border-right:1.5px solid var(--line)}
.view-toggle button.on{background:var(--green);color:#fff}
.view-toggle button:hover:not(.on){background:var(--bg)}

/* === LIST VIEW for catalog === */
.rgrid.list-view{grid-template-columns:1fr!important;gap:12px}
.rgrid.list-view .rcard{display:grid;grid-template-columns:200px 1fr;border-radius:14px}
.rgrid.list-view .rc-photo{aspect-ratio:1;border-radius:14px 0 0 14px;min-height:180px}
.rgrid.list-view .rc-body{display:flex;flex-direction:column;justify-content:center;padding:16px 20px}
.rgrid.list-view .rc-metrics{grid-template-columns:repeat(3,auto);justify-content:flex-start;gap:12px}
.rgrid.list-view .rc-title{-webkit-line-clamp:1;font-size:16px;margin:4px 0 8px}
.rgrid.list-view .rc-price{font-size:24px}
.rgrid.list-view .rc-ai{display:inline-flex;width:auto}
.rgrid.list-view .rc-chart{display:none}
@media(max-width:768px){
  .rgrid.list-view .rcard{grid-template-columns:120px 1fr}
  .rgrid.list-view .rc-photo{min-height:120px}
  .rgrid.list-view .rc-body{padding:12px 14px}
  .rgrid.list-view .rc-price{font-size:20px}
}

/* === ENHANCED FILTER CHIPS === */
.filter-row{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap;align-items:center}
.filter-chip{padding:7px 14px;border-radius:10px;background:var(--surface);border:1.5px solid var(--line);font-size:12.5px;font-weight:600;color:var(--ink2);cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:.15s;text-decoration:none;white-space:nowrap}
.filter-chip .ti{font-size:15px;color:var(--muted)}
.filter-chip:hover{border-color:var(--green);color:var(--green)}
.filter-chip:hover .ti{color:var(--green)}
.filter-chip.on{background:var(--green);border-color:var(--green);color:#fff}
.filter-chip.on .ti{color:#fff}
.filter-chip.red.on{background:var(--red);border-color:var(--red)}
.filter-divider{width:1px;height:24px;background:var(--line);flex-shrink:0}

/* === RESULTS COUNTER === */
.results-count{font-size:13px;color:var(--muted);font-weight:500;display:flex;align-items:center;gap:6px;margin-bottom:14px}
.results-count b{color:var(--ink);font-weight:700}
.results-count .ti{font-size:15px;color:var(--green)}

/* === LISTING: SHARE + ACTIONS BAR === */
.listing-actions-bar{display:flex;gap:8px;margin:12px 0;flex-wrap:wrap}
.lab-btn{display:flex;align-items:center;gap:6px;padding:9px 14px;background:var(--bg);border:1px solid var(--line);border-radius:10px;font-size:12.5px;font-weight:600;color:var(--ink2);cursor:pointer;transition:.12s;text-decoration:none;white-space:nowrap;border-style:solid;font-family:inherit}
.lab-btn .ti{font-size:16px;color:var(--green)}
.lab-btn:hover{border-color:var(--green);background:var(--green-l);color:var(--green)}

/* === PRICE ALERT BUTTON === */
.price-alert{display:flex;align-items:center;gap:10px;background:linear-gradient(135deg,var(--green-l),#F4FBF7);border:1px solid rgba(27,138,71,.2);border-radius:14px;padding:14px 16px;margin:14px 0;cursor:pointer;transition:.15s;font-family:inherit;width:100%;text-align:left}
.price-alert:hover{border-color:var(--green);box-shadow:0 4px 16px rgba(27,138,71,.1)}
.price-alert .pa-ic{width:40px;height:40px;border-radius:11px;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}
.price-alert .pa-t{font-size:14px;font-weight:700;color:var(--green)}
.price-alert .pa-d{font-size:12px;color:var(--muted);margin-top:2px}

/* === HORIZONTAL SCROLL for similar items === */
.similar-scroll{display:flex;gap:16px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:6px}
.similar-scroll::-webkit-scrollbar{display:none}
.similar-scroll .rcard{flex:0 0 280px;min-width:280px}
@media(max-width:600px){.similar-scroll .rcard{flex:0 0 240px;min-width:240px}}

/* === ANIMATED PRICE UNDERLINE === */
@keyframes price-underline{from{width:0}to{width:100%}}
.rc-price::after{content:"";position:absolute;bottom:-2px;left:0;height:3px;width:0;background:var(--green);border-radius:2px;opacity:.2}
.rcard:hover .rc-price::after{animation:price-underline .3s ease forwards}

/* === STATS CARD in cabinet === */
.cab-stats-card{background:linear-gradient(135deg,#0F2918,#0A1A10);border-radius:18px;padding:24px;color:#E8EAF0;margin-bottom:20px;position:relative;overflow:hidden}
.cab-stats-card::after{content:"";position:absolute;top:-40px;right:-30px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(27,138,71,.2),transparent 70%);pointer-events:none}
.csc-greeting{font-size:14px;color:#8E96AB}
.csc-name{font-family:'Space Grotesk',sans-serif;font-size:26px;font-weight:800;color:#fff;margin:4px 0 16px}
.csc-stats{display:flex;gap:20px;flex-wrap:wrap}
.csc-stat .v{font-size:22px;font-weight:800;color:#fff;font-family:'Space Grotesk',sans-serif}
.csc-stat .l{font-size:11.5px;color:#8E96AB;margin-top:2px}
.csc-actions{display:flex;gap:8px;margin-top:18px}
.csc-btn{padding:10px 18px;border-radius:10px;font-weight:700;font-size:13px;border:none;cursor:pointer;font-family:inherit;display:flex;align-items:center;gap:6px;text-decoration:none}
.csc-btn.prim{background:var(--green);color:#fff}
.csc-btn.prim:hover{background:var(--vasilek-d)}
.csc-btn.sec{background:rgba(255,255,255,.08);color:#CDD2DA;border:1px solid rgba(255,255,255,.12)}
.csc-btn.sec:hover{background:rgba(255,255,255,.14)}

/* === EMPTY STATE (no items) === */
.empty-state{text-align:center;padding:48px 20px;color:var(--muted)}
.empty-state .es-ic{width:72px;height:72px;border-radius:50%;background:var(--bg);display:flex;align-items:center;justify-content:center;font-size:32px;color:var(--hint);margin:0 auto 16px}
.empty-state h3{font-family:'Space Grotesk',sans-serif;font-size:20px;font-weight:700;color:var(--ink);margin-bottom:8px}
.empty-state p{font-size:14px;line-height:1.6;max-width:400px;margin:0 auto 20px}

/* === NOTIFICATION DOT (for tabs with updates) === */
.has-badge{position:relative}
.has-badge::after{content:"";position:absolute;top:2px;right:2px;width:8px;height:8px;border-radius:50%;background:var(--red);border:2px solid var(--surface)}

/* === TOOLTIP: improved positioning === */
[data-tip]:hover::after{max-width:200px;white-space:normal;text-align:center;line-height:1.35}

/* === LOADING SPINNER === */
.k-spinner{width:28px;height:28px;border:3px solid var(--line);border-top-color:var(--green);border-radius:50%;animation:spin .7s linear infinite;margin:20px auto}
@keyframes spin{to{transform:rotate(360deg)}}

/* ============================================================
   KRAMBA v5.0 — ИСПРАВЛЕНИЯ + МОБИЛЬНАЯ ПЕРЕРАБОТКА (Vinted/Etsy level)
   ============================================================ */

/* === FIX 1: SEARCH FOCUS — убрать зелёную рамку === */
.g-search{border:1px solid #dfe1e5!important}
.g-search:hover,.g-search:focus-within{box-shadow:0 2px 8px rgba(32,33,36,.18)!important;border-color:rgba(223,225,229,0)!important}
.g-search input:focus{outline:none!important;box-shadow:none!important}
.hdr .search:focus-within{box-shadow:0 2px 8px rgba(32,33,36,.14)!important;border-color:transparent!important}
input:focus,textarea:focus,select:focus{outline:none;box-shadow:none}
.fld input:focus,.fld textarea:focus,.fld select:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(27,138,71,.1)}

/* === FIX 2: BREADCRUMBS — мягкие, без чёрной заливки === */
.crumbs,.breadcrumbs,nav.crumbs{background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important;margin-bottom:14px!important;font-size:13px;display:flex;align-items:center;gap:0;flex-wrap:wrap}
.crumbs a{color:var(--muted)!important;background:none!important;padding:4px 2px!important;font-weight:500}
.crumbs a:hover{color:var(--green)!important}
.crumbs .sep{color:var(--hint)!important;margin:0 6px!important;font-size:12px}
.crumbs .cur{color:var(--ink)!important;background:none!important;padding:4px 2px!important;font-weight:600}

/* === FIX 3: REVEAL ANIMATION — убрать мигание === */
.reveal{opacity:1!important;transform:none!important}
.reveal.visible{animation:none!important}

/* === FIX 4: Focus ring — только клавиатура === */
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--green);outline-offset:2px}
a:focus:not(:focus-visible),button:focus:not(:focus-visible){outline:none}

/* ============================================================
   MOBILE-FIRST OVERHAUL (Vinted/Depop/Etsy level)
   ============================================================ */

/* === MOBILE HEADER: компактный, как Vinted === */
@media(max-width:768px){
  /* Header */
  .hdr{position:sticky;top:0;z-index:100;background:var(--surface);border-bottom:1px solid var(--line)}
  .hdr-flag{height:2px}
  .hdr .mtop{display:flex;align-items:center;gap:8px;padding:8px 14px!important}
  .hdr .mtop .logo{font-size:20px;flex:none}
  .hdr .mtop .logo .wm{font-size:20px}
  .mtop-r{display:flex;align-items:center;gap:4px;margin-left:auto}
  .mtop-r .micon,.mtop-r .apps-btn{width:36px;height:36px;font-size:18px}
  .hdr .mbar{padding:0 14px 8px!important}
  .hdr .mbar .search{height:40px!important;border-radius:10px!important;border:1px solid var(--line)!important;background:var(--bg)!important;padding:0 12px!important}
  .hdr .mbar .search input{font-size:14px!important}
  .hdr .mbar .search .s-ic{font-size:17px}

  /* Wrap */
  .wrap{padding:0 14px!important}
  body{padding-bottom:60px!important}

  /* Content */
  main.wrap{padding-top:12px!important}

  /* Cards — 2 колонки, компактные, как Vinted */
  .rgrid{grid-template-columns:repeat(2,1fr)!important;gap:10px!important}
  .rcard{border-radius:12px!important;border-width:1px!important}
  .rc-photo{aspect-ratio:1!important;border-radius:12px 12px 0 0!important}
  .rc-body{padding:10px 10px 12px!important}
  .rc-price{font-size:17px!important}
  .rc-title{font-size:12.5px!important;margin:3px 0 6px!important;-webkit-line-clamp:2;line-height:1.3}
  .rc-ai{font-size:10px!important;padding:3px 7px!important;margin-bottom:6px!important;gap:4px}
  .rc-ai .ti{font-size:12px!important}
  .rc-chart{padding:6px 8px!important;margin-bottom:6px!important}
  .rc-chart-h{font-size:9.5px!important}
  .rc-chart-h .val{font-size:9.5px!important}
  .rc-metrics{gap:4px!important;margin-bottom:8px!important}
  .rc-metric{padding:5px 4px!important;border-radius:6px!important}
  .rc-metric .ml{font-size:8.5px!important}
  .rc-metric .mv{font-size:11px!important}
  .rc-foot{font-size:11px!important;padding-top:8px!important}
  .rc-seller .av{width:18px!important;height:18px!important;font-size:8px!important}
  .rc-badge-safe{font-size:10px!important;padding:3px 7px!important;top:8px!important;left:8px!important}
  .rc-cond{font-size:10px!important;padding:3px 7px!important;bottom:8px!important;left:8px!important}
  .rc-fav{width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;font-size:16px!important;top:8px!important;right:8px!important}
  .rc-trend{font-size:11px!important}
  .rc-quick{display:none!important}

  /* Toolbar */
  .toolbar{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:10px}
  .toolbar h1{font-size:20px!important}
  .toolbar h1 span{font-size:13px!important}
  .sortseg{font-size:12px!important}
  .sortseg a{padding:6px 10px!important}
  .view-toggle{display:none}

  /* Filters */
  .filter-row{gap:6px!important;margin-bottom:10px!important}
  .filter-chip{padding:6px 10px!important;font-size:11.5px!important;border-radius:8px!important}
  .filter-chip .ti{font-size:13px!important}
  .filter-divider{display:none}
  .results-count{font-size:12px!important}
  .catchips{gap:6px!important;margin-bottom:10px!important}
  .catchip{padding:6px 10px!important;font-size:12px!important}

  /* Category nav */
  .catnav{gap:6px!important;padding:10px 0 4px!important}
  .catnav-item{padding:7px 12px!important;font-size:12px!important;border-radius:10px!important}
  .catnav-item .ti{font-size:15px!important}

  /* Section titles */
  .sec-title{font-size:16px!important;padding-left:12px!important}
  .sec-title::before{height:18px!important;width:3px!important}
  .sec-head{margin:18px 0 10px!important}

  /* Listing page */
  .lwrap{grid-template-columns:1fr!important;gap:14px!important;margin:10px 0!important}
  .gallery .main{border-radius:12px!important}
  .lpanel{border-radius:12px!important;padding:16px!important}
  .lpanel h1{font-size:20px!important}
  .lprice{font-size:28px!important}
  .lmeta{font-size:12px!important;gap:8px!important}
  .listing-actions-bar{gap:6px!important}
  .lab-btn{padding:7px 10px!important;font-size:11.5px!important}
  .listing-bottom{margin-top:20px!important}
  .lb-block{padding:14px!important;border-radius:12px!important}
  .lb-h{font-size:15px!important}
  .lb-grid{grid-template-columns:repeat(2,1fr)!important;gap:8px!important}
  .lb-link{padding:10px 6px!important;font-size:11px!important}
  .similar-scroll .rcard{flex:0 0 200px!important;min-width:200px!important}
  .quick-nav{gap:6px!important}
  .qn-item{padding:7px 10px!important;font-size:12px!important}

  /* Tabbar — Vinted-style */
  .tabbar{padding:6px 0 calc(6px + env(safe-area-inset-bottom))!important;background:var(--surface)!important;border-top:1px solid var(--line)}
  .tabbar a{font-size:10px!important;gap:2px!important;color:var(--muted)}
  .tabbar a .ti{font-size:22px!important}
  .tabbar .mid{margin-top:0!important}
  .tabbar .midbtn{width:42px!important;height:42px!important;border-radius:12px!important;margin-top:-12px!important;font-size:22px!important;box-shadow:0 4px 12px rgba(27,138,71,.2)!important}

  /* Footer */
  .trust-strip{font-size:10.5px!important;gap:6px 14px!important;padding:8px 12px!important;flex-wrap:wrap;justify-content:center;row-gap:6px!important}
  .trust-strip .ts-dot{display:none}
  .trust-strip .ts-item{padding:2px 6px!important;background:rgba(255,255,255,.08);border-radius:6px}
  .ftr .foot{grid-template-columns:1fr!important;gap:16px!important;padding:24px 14px 14px!important}
  .ftr .ftr-cta{flex-direction:column!important;text-align:center;padding:14px!important}
  .ftr-bottom{padding:12px 14px!important;flex-direction:column;align-items:center;text-align:center;gap:8px}
  
  /* Auth page */
  .auth-page{min-height:calc(100vh - 180px)!important;padding:20px 14px!important}
  .auth-card{padding:24px 18px!important;border-radius:14px!important}
  .auth-logo{font-size:28px!important}
  .auth-card h1{font-size:18px!important}

  /* Cabinet */
  .cab-stats-card{padding:18px!important;border-radius:14px!important}
  .csc-name{font-size:22px!important}
  .csc-stats{gap:14px!important}
  .csc-stat .v{font-size:18px!important}
  .csc-actions{flex-wrap:wrap}
  .csc-btn{padding:8px 14px!important;font-size:12px!important}
  .cab-top{grid-template-columns:1fr!important}
  .kpis{grid-template-columns:1fr 1fr!important}
  .kpi{border-radius:12px!important;padding:12px 14px!important}
  .kpi-v{font-size:20px!important}

  /* Admin */
  .adm{grid-template-columns:1fr!important}
  .admnav{display:flex;gap:4px;overflow-x:auto;padding:8px!important}
  .admnav a{padding:8px 10px!important;font-size:12px!important}
  .stats{grid-template-columns:repeat(2,1fr)!important}

  /* Wallet */
  .wallet-big{padding:18px!important;border-radius:14px!important}
  .wb-bal{font-size:32px!important}
  .wallet-cols{grid-template-columns:1fr!important}

  /* Deals */
  .deal-cols{grid-template-columns:1fr!important}
  .deal-track{overflow-x:auto}

  /* Forms */
  .formwrap{margin:10px auto!important}
  .formwrap h1{font-size:22px!important}
  
  /* FAB hidden on mobile (tabbar has sell) */
  .feedfab{display:none!important}
  
  /* Scroll top */
  .scroll-top{bottom:72px!important;right:12px!important;width:38px!important;height:38px!important}
  
  /* Sticky buy bar */
  .sticky-buy{gap:10px!important;padding:8px 14px calc(8px + env(safe-area-inset-bottom))!important}
  .sticky-buy .sb-price{font-size:20px!important}
  .sticky-buy .sb-btn{padding:12px!important;font-size:14px!important;border-radius:10px!important}
}

/* === SMALL PHONE (360-380px) === */
@media(max-width:380px){
  .rgrid{gap:8px!important}
  .rc-body{padding:8px 8px 10px!important}
  .rc-price{font-size:15px!important}
  .rc-title{font-size:11.5px!important}
  .rc-metrics{display:none!important}
  .rc-chart{display:none!important}
  .toolbar h1{font-size:18px!important}
  .csc-name{font-size:19px!important}
  .csc-stats{gap:10px}
  .csc-stat .v{font-size:16px!important}
}

/* === TABLET (769-1024) === */
@media(min-width:769px) and (max-width:1024px){
  .rgrid{grid-template-columns:repeat(3,1fr)!important;gap:14px!important}
  .rc-price{font-size:20px}
  .lwrap{grid-template-columns:1.1fr 1fr;gap:18px}
}

/* === LARGE DESKTOP (1400+) === */
@media(min-width:1400px){
  .wrap{max-width:1320px}
  .rgrid{grid-template-columns:repeat(5,1fr)}
}


/* ============================================================
   KRAMBA v5.1 — КАРТОЧКИ + ФИЛЬТРЫ + ГЛАВНАЯ
   ============================================================ */

/* === FIX: CARD GRID — max 4 cols desktop, proportional === */
.rgrid{display:grid;grid-template-columns:repeat(4,1fr)!important;gap:16px!important}
@media(max-width:1200px){.rgrid{grid-template-columns:repeat(3,1fr)!important;gap:14px!important}}
@media(max-width:768px){.rgrid{grid-template-columns:repeat(2,1fr)!important;gap:10px!important}}
@media(max-width:420px){.rgrid{grid-template-columns:repeat(2,1fr)!important;gap:8px!important}}
@media(min-width:1400px){.rgrid{grid-template-columns:repeat(4,1fr)!important}}

/* === FIX: CARD INTERNAL LAYOUT — metric blocks don't overflow === */
.rc-metrics{display:grid!important;grid-template-columns:1fr 1fr 1fr!important;gap:5px!important}
.rc-metric{padding:6px 4px!important;text-align:center;overflow:hidden}
.rc-metric .ml{font-size:9px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rc-metric .mv{font-size:12px!important;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rc-ai{font-size:10.5px!important;padding:4px 8px!important;gap:4px!important;white-space:nowrap;overflow:hidden}
.rc-chart-h .lbl,.rc-chart-h .val{font-size:10px!important}
.rc-price{font-size:20px!important}
@media(max-width:768px){
  .rc-price{font-size:16px!important}
  .rc-metric .ml{font-size:8px!important}
  .rc-metric .mv{font-size:10px!important}
}

/* === HOMEPAGE: MARKET TICKER (вариант C — цены бегущей строкой) === */
.market-ticker-wrap{overflow:hidden;margin:20px 0 0;position:relative}
.market-ticker-wrap::before,.market-ticker-wrap::after{content:"";position:absolute;top:0;bottom:0;width:40px;z-index:2;pointer-events:none}
.market-ticker-wrap::before{left:0;background:linear-gradient(90deg,#f8f9fa 0%,transparent 100%)}
.market-ticker-wrap::after{right:0;background:linear-gradient(90deg,transparent 0%,#f8f9fa 100%)}
.market-ticker-h{font-family:'Space Grotesk',sans-serif;font-size:13px;font-weight:600;color:#6E747F;text-align:center;margin-bottom:10px;display:flex;align-items:center;justify-content:center;gap:6px}
.market-ticker-h .ti{color:var(--green)}
.market-ticker{display:flex;animation:tickerScroll 45s linear infinite;width:max-content;will-change:transform}
.market-ticker:hover{animation-play-state:paused}
@keyframes tickerScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.mt-item{display:flex;align-items:center;gap:10px;margin-right:12px;padding:10px 14px;background:var(--surface);border:1px solid #eaecef;border-radius:12px;white-space:nowrap;flex-shrink:0;transition:.15s;text-decoration:none;color:inherit}
.mt-item:hover{border-color:#1B8A47;box-shadow:0 2px 8px rgba(27,138,71,.08)}
.mt-img{width:36px;height:36px;border-radius:8px;background:var(--bg);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;overflow:hidden}
.mt-img img{width:100%;height:100%;object-fit:cover}
.mt-name{font-size:12px;color:#6E747F;max-width:100px;overflow:hidden;text-overflow:ellipsis}
.mt-price{font-family:'Space Grotesk',sans-serif;font-size:15px;font-weight:700;color:#16181D}
.mt-trend{font-size:11px;font-weight:600}
.mt-trend.up{color:var(--green)}
.mt-trend.down{color:#D22730}

/* === ENHANCED CATALOG FILTERS (Vinted/Wallapop level) === */
.filter-bar{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin-bottom:16px}
.fb-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.fb-group{display:flex;flex-direction:column;gap:4px;flex:1;min-width:120px}
.fb-label{font-size:10.5px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.3px}
.fb-select{height:38px;border:1.5px solid var(--line);border-radius:10px;padding:0 10px;font-family:inherit;font-size:13px;color:var(--ink);background:var(--surface);outline:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 5l3 3 3-3' fill='none' stroke='%236E747F' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px;cursor:pointer}
.fb-select:focus{border-color:var(--green)}
.fb-price-row{display:flex;gap:6px;align-items:center}
.fb-price-input{height:38px;width:80px;border:1.5px solid var(--line);border-radius:10px;padding:0 10px;font-family:inherit;font-size:13px;outline:none;text-align:center}
.fb-price-input:focus{border-color:var(--green)}
.fb-dash{color:var(--hint);font-size:12px}
.fb-toggle{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--bg);border:1.5px solid var(--line);border-radius:10px;font-size:12px;font-weight:600;color:var(--ink2);cursor:pointer;white-space:nowrap;transition:.12s}
.fb-toggle input{accent-color:var(--green);width:15px;height:15px}
.fb-toggle:has(input:checked){background:var(--green-l);border-color:var(--green);color:var(--green)}
.fb-submit{height:38px;padding:0 18px;background:var(--green);color:#fff;border:none;border-radius:10px;font-weight:700;font-size:13px;cursor:pointer;font-family:inherit;white-space:nowrap}
.fb-submit:hover{background:var(--vasilek-d)}
.fb-reset{font-size:12px;color:var(--muted);cursor:pointer;background:none;border:none;font-family:inherit;padding:8px 4px;white-space:nowrap}
.fb-reset:hover{color:var(--red)}
@media(max-width:768px){
  .filter-bar{padding:10px 12px}
  .fb-row{gap:6px}
  .fb-group{min-width:0;flex:none;width:calc(50% - 3px)}
  .fb-price-input{width:60px}
  .fb-select{font-size:12px;height:36px}
  .fb-submit{height:36px;font-size:12px}
}
@media(max-width:420px){
  .fb-group{width:100%}
}

/* ============================================================
   KRAMBA v6.0 — ПОЛНАЯ ПЕРЕРАБОТКА
   ============================================================ */

/* === HEADER: proper alignment === */
.hdr{background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:100}
.hdr-flag{height:3px;background:linear-gradient(90deg,var(--red) 0,var(--red) 66%,var(--green) 66%,var(--green) 100%)}
.htop{display:flex;align-items:center;gap:12px;padding:10px 20px!important;max-width:1200px;margin:0 auto}
.hdr .logo{flex-shrink:0}
.hdr .search{flex:1;max-width:520px;display:flex;align-items:center;background:var(--surface);border:1px solid #dfe1e5;border-radius:24px;padding:0 14px;height:44px}
.hdr .search:focus-within{box-shadow:0 2px 8px rgba(32,33,36,.14);border-color:transparent}

/* Feed button - unique */
.hdr-feed{display:flex;align-items:center;gap:5px;padding:8px 14px;background:var(--red-l);border-radius:10px;color:var(--red);font-size:13px;font-weight:600;text-decoration:none;flex-shrink:0;transition:.12s;position:relative}
.hdr-feed:hover{background:#F5D0D3}
.hdr-feed .ti{font-size:17px}
.hdr-live-dot{width:6px;height:6px;border-radius:50%;background:var(--red);animation:pulse 1.4s infinite}
@media(max-width:1100px){.hdr-feed span{display:none}.hdr-feed{padding:8px 10px}}

/* User avatar */
.hdr-user{display:flex;align-items:center;gap:6px;color:#3c4043;text-decoration:none;font-size:14px;font-weight:500;flex-shrink:0}
.hdr-avatar{width:32px;height:32px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}
.hdr-avatar.sm{width:28px;height:28px;font-size:11px}

/* Mobile feed button */
.m-feed{width:36px;height:36px;border-radius:10px;background:var(--red-l);display:flex;align-items:center;justify-content:center;color:var(--red);font-size:18px;text-decoration:none;position:relative;flex-shrink:0}

/* Mobile header fix */
@media(max-width:880px){
  .htop{display:none!important}
  .mtop{display:flex!important;align-items:center;gap:8px;padding:8px 14px!important;max-width:1200px;margin:0 auto}
  .mtop .logo{flex:none}
  .mtop-r{display:flex;align-items:center;gap:6px;margin-left:auto}
  .mbar{padding:0 14px 8px!important;max-width:1200px;margin:0 auto}
}

/* === SIMPLIFIED CARDS (Vinted-clean) === */
.rcard{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:.18s;display:block;text-decoration:none;color:inherit}
.rcard:hover{border-color:var(--green);box-shadow:0 8px 24px rgba(27,138,71,.08);transform:translateY(-2px)}
.rc-photo{aspect-ratio:4/3;background:var(--bg);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
@media(max-width:768px){.rc-photo{aspect-ratio:1}}
.rc-photo img{width:100%;height:100%;object-fit:cover;transition:.3s}
.rcard:hover .rc-photo img{transform:scale(1.03)}

/* Lock icon instead of text badge */
.rc-lock{position:absolute;top:10px;left:10px;width:28px;height:28px;border-radius:8px;background:rgba(27,138,71,.9);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;z-index:2}
.rc-cond{position:absolute;bottom:10px;left:10px;background:rgba(22,24,29,.78);color:#fff;font-size:11px;font-weight:600;padding:4px 9px;border-radius:7px;z-index:2}
.rc-timer{position:absolute;bottom:10px;right:10px;background:rgba(210,39,48,.9);color:#fff;font-size:11px;font-weight:700;padding:4px 9px;border-radius:7px;z-index:2;font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:4px}
/* Аукцион закончен — плашка ПО ЦЕНТРУ фото (поверх затемнения), а не сбоку */
.rc-ended{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.34)}
.rc-ended > i, .rc-ended{color:#fff}
.rc-ended{font-size:14px;font-weight:800;letter-spacing:.3px}
/* визуально оборачиваем содержимое в таблетку через box-decoration на flex-контейнере */
.rc-ended{padding:0}
.rc-ended{gap:7px}
.rc-ended-pill{display:inline-flex;align-items:center;gap:7px;background:rgba(22,24,29,.86);color:#fff;font-size:14px;font-weight:800;letter-spacing:.3px;padding:9px 20px;border-radius:10px;border:1.5px solid rgba(255,255,255,.25);box-shadow:0 6px 24px rgba(0,0,0,.4)}
.rc-ended-pill i{font-size:16px}
.rc-fav{position:absolute;top:10px;right:10px;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.9);display:flex;align-items:center;justify-content:center;font-size:17px;color:var(--muted);border:none;cursor:pointer;z-index:2}

.rc-body{padding:12px 14px 14px}
.rc-pricerow{display:flex;align-items:center;justify-content:space-between;gap:6px}
.rc-price{font-family:'Space Grotesk',sans-serif;font-size:22px;font-weight:800;letter-spacing:-.02em;color:var(--ink)}
.rc-trend{font-size:12px;font-weight:600;display:flex;align-items:center;gap:2px}
.rc-trend.up{color:var(--green)}.rc-trend.down{color:var(--red)}
.rc-title{font-size:14px;font-weight:500;color:var(--ink2);margin:4px 0 8px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* Hot deal badge */
.rc-hot{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;color:var(--red);background:var(--red-l);padding:3px 8px;border-radius:6px;margin-bottom:8px}
.rc-hot .ti{font-size:13px}

/* Score bar (ИИ как прогресс-бар) */
.rc-score{display:block;height:4px;background:var(--bg);border-radius:2px;margin-bottom:8px;overflow:hidden}
.rc-score-bar{display:block;height:100%;background:var(--green);border-radius:2px;transition:.3s}

.rc-foot{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted);padding-top:8px;border-top:1px solid var(--line)}
.rc-foot .ti{font-size:13px}
.rc-seller{display:flex;align-items:center;gap:3px}
.rc-seller .av{width:20px;height:20px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700}

/* Grid - 4 cols max */
.rgrid{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:16px!important}
@media(max-width:1200px){.rgrid{grid-template-columns:repeat(3,1fr)!important}}
@media(max-width:768px){.rgrid{grid-template-columns:repeat(2,1fr)!important;gap:10px!important}}
@media(max-width:768px){
  .rc-body{padding:10px 10px 12px!important}
  .rc-price{font-size:17px!important}
  .rc-title{font-size:12.5px!important}
  .rc-foot{font-size:11px!important}
  .rc-fav{width:30px;height:30px;font-size:15px}
  .rc-lock{width:24px;height:24px;font-size:12px;border-radius:6px}
}

/* === AUCTION LIVE BANNER === */
.auc-banner{background:linear-gradient(135deg,#0F1A12,#0A120D);border-radius:14px;padding:12px 16px;margin-bottom:16px;overflow:hidden}
.ab-label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:#5BE5A0;letter-spacing:.3px;margin-bottom:10px}
.ab-dot{width:8px;height:8px;border-radius:50%;background:var(--red);animation:pulse 1.4s infinite;flex-shrink:0}
.ab-scroll{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:2px}
.ab-scroll::-webkit-scrollbar{display:none}
.ab-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:10px;text-decoration:none;color:#E8EAF0;flex-shrink:0;min-width:220px;transition:.12s}
.ab-item:hover{background:rgba(255,255,255,.1);border-color:rgba(91,229,160,.3)}
.ab-img{width:40px;height:40px;border-radius:8px;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;font-size:18px;color:#5BE5A0}
.ab-img img{width:100%;height:100%;object-fit:cover}
.ab-info{flex:1;min-width:0}
.ab-name{font-size:12px;color:#A6C2AA;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ab-price{font-family:'Space Grotesk',sans-serif;font-size:15px;font-weight:700;color:#fff;display:flex;align-items:baseline;gap:6px}
.ab-bids{font-size:10px;color:#5BE5A0;font-weight:500}
.ab-timer{font-family:'Space Grotesk',sans-serif;font-size:14px;font-weight:700;color:#FF6B6B;font-variant-numeric:tabular-nums;flex-shrink:0}
@media(max-width:768px){
  .auc-banner{padding:10px 12px;border-radius:12px;margin-bottom:12px}
  .ab-item{min-width:180px;padding:6px 10px}
  .ab-img{width:34px;height:34px}
  .ab-price{font-size:13px}
}

/* === CATEGORY NAV: 2 rows on desktop, scroll on mobile === */
.catnav{display:flex;flex-wrap:wrap;gap:8px;padding:10px 0 6px;margin-bottom:8px}
.catnav-item{padding:8px 14px;background:var(--surface);border:1.5px solid var(--line);border-radius:10px;font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap;text-decoration:none;transition:.15s;display:flex;align-items:center;gap:5px}
.catnav-item .ti{font-size:16px;color:var(--muted)}
.catnav-item:hover{border-color:var(--green);color:var(--green)}
.catnav-item:hover .ti{color:var(--green)}
.catnav-item.on{background:var(--green);border-color:var(--green);color:#fff}
.catnav-item.on .ti{color:#fff}
@media(max-width:768px){
  .catnav{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:6px;padding:8px 0}
  .catnav::-webkit-scrollbar{display:none}
  .catnav-item{flex-shrink:0;padding:7px 12px;font-size:12px}
}

/* === MARKET TICKER above footer === */
.market-ticker-wrap{background:var(--bg);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;margin-top:30px;overflow:hidden;position:relative}
.market-ticker-wrap::before,.market-ticker-wrap::after{content:"";position:absolute;top:0;bottom:0;width:40px;z-index:2;pointer-events:none}
.market-ticker-wrap::before{left:0;background:linear-gradient(90deg,var(--bg),transparent)}
.market-ticker-wrap::after{right:0;background:linear-gradient(90deg,transparent,var(--bg))}
.market-ticker-h{font-size:12px;font-weight:600;color:var(--muted);display:flex;align-items:center;gap:6px;margin-bottom:8px}
.market-ticker-h .ti{color:var(--green);font-size:15px}
.market-ticker{display:flex;gap:10px;animation:tickerScroll 40s linear infinite;width:max-content}
.market-ticker:hover{animation-play-state:paused}
@keyframes tickerScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.mt-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--surface);border:1px solid var(--line);border-radius:10px;white-space:nowrap;flex-shrink:0;text-decoration:none;color:inherit;transition:.12s}
.mt-item:hover{border-color:var(--green)}
.mt-img{width:32px;height:32px;border-radius:7px;background:var(--bg);display:flex;align-items:center;justify-content:center;font-size:16px;overflow:hidden;flex-shrink:0}
.mt-img img{width:100%;height:100%;object-fit:cover}
.mt-name{font-size:11px;color:var(--muted)}
.mt-price{font-family:'Space Grotesk',sans-serif;font-size:14px;font-weight:700}
.mt-trend{font-size:10px;font-weight:600}
.mt-trend.up{color:var(--green)}.mt-trend.down{color:var(--red)}

/* Remove old conflicting styles */
.hdr-cats{display:none!important}
.hdr-trust{display:none!important}
.hdr-link{display:none!important}
.rc-ai,.rc-chart,.rc-metrics,.rc-quick{display:none!important}

/* === v6.0.1 FIXES === */
/* Scroll progress: below sticky header, not on top */
.scroll-progress{top:auto!important;position:fixed;bottom:0;left:0;height:3px;z-index:9999}
body.bare .scroll-progress{display:none}

/* Fix: on mobile the progress bar should be at very bottom, above tabbar */
@media(max-width:768px){
  .scroll-progress{bottom:56px}
}

/* === LISTING PAGE: sticky buy sidebar === */
.listing-sidebar{position:sticky;top:70px;align-self:start}
.listing-sidebar .lpanel{position:relative}

/* Back to results */
.back-results{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:var(--muted);font-weight:500;text-decoration:none;margin-bottom:10px;transition:.12s}
.back-results:hover{color:var(--green)}
.back-results .ti{font-size:15px}

/* Social proof strip on listing */
.social-proof{display:flex;gap:12px;flex-wrap:wrap;margin:10px 0;font-size:12px;color:var(--muted)}
.sp-item{display:flex;align-items:center;gap:4px}
.sp-item .ti{font-size:14px;color:var(--green)}
.sp-item b{color:var(--ink);font-weight:600}

/* Listing gallery: bigger, rounded */
.gallery .main{aspect-ratio:4/3;border-radius:14px;overflow:hidden}
.gallery .main img{width:100%;height:100%;object-fit:cover}

/* Price section on listing - prominent */
.listing-price-section{margin-bottom:16px}
.listing-price-big{font-family:'Space Grotesk',sans-serif;font-size:36px;font-weight:800;letter-spacing:-.02em;color:var(--ink)}
.listing-price-big.auc{color:var(--green)}

/* Listing actions - cleaner layout */
.listing-cta-grid{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.listing-cta-btn{width:100%;padding:14px;border-radius:12px;font-weight:700;font-size:15px;border:none;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:7px;transition:.12s}
.listing-cta-btn.primary{background:var(--green);color:#fff}
.listing-cta-btn.primary:hover{background:var(--vasilek-d)}
.listing-cta-btn.secondary{background:var(--surface);border:1.5px solid var(--line);color:var(--ink)}
.listing-cta-btn.secondary:hover{border-color:var(--green);color:var(--green)}

/* Auction box - prominent timer */
.auction-hero{background:linear-gradient(135deg,#0F1A12,#0A120D);border-radius:14px;padding:18px;color:#E8EAF0;margin-bottom:14px}
.ah-timer-label{font-size:12px;color:#8E96AB;margin-bottom:4px}
.ah-timer-value{font-family:'Space Grotesk',sans-serif;font-size:32px;font-weight:800;color:#fff;font-variant-numeric:tabular-nums;letter-spacing:1px}
.ah-price-label{font-size:12px;color:#5BE5A0;margin-top:12px}
.ah-price-value{font-family:'Space Grotesk',sans-serif;font-size:28px;font-weight:800;color:#fff}
.ah-bids{font-size:13px;color:#8E96AB;margin-top:6px;display:flex;align-items:center;gap:6px}
.ah-bids b{color:#fff}

/* === v6.1 — ticker on home only, no border, centered === */
body.bare .market-ticker-wrap{background:transparent;border:none;margin-top:24px;padding:10px 0}
body.bare .market-ticker-h{justify-content:center}

/* ============================================================
   KRAMBA v7.0 — ФИНАЛЬНЫЙ ПРОХОД
   ============================================================ */

/* === 1. CTA MICRO-GRADIENT === */
/* 57.450: градиент на токенах. Было #1B8A47→#23A856 — белый текст на светлом конце давал ~3.3:1.
   Теперь светлая тема: #17803F→#136534 (белый 5.0–7.1:1), тёмная: #2FB36A→#23905A с тёмным текстом (4.8–7.2:1). */
.listing-cta-btn.primary,.hdr-cta,.btn-prim,.btn-vas,.csc-btn.prim,.fb-submit,.tabbar .midbtn{
  background:linear-gradient(135deg,var(--green),var(--vasilek-d))!important;
  border:none!important;color:var(--on-accent)!important}
.listing-cta-btn.primary:hover,.hdr-cta:hover,.btn-prim:hover,.btn-vas:hover,.csc-btn.prim:hover,.fb-submit:hover{
  background:linear-gradient(135deg,var(--vasilek-d),var(--vasilek-d))!important}

/* === 2. BOTTOM SHEET FILTERS (mobile) === */
.filter-sheet-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:250;animation:fadeIn .2s}
.filter-sheet-overlay.open{display:block}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.filter-sheet{position:fixed;left:0;right:0;bottom:0;background:var(--surface);border-radius:18px 18px 0 0;padding:20px 16px calc(20px + env(safe-area-inset-bottom));z-index:260;max-height:85vh;overflow-y:auto;transform:translateY(100%);transition:transform .3s ease}
.filter-sheet-overlay.open .filter-sheet{transform:translateY(0)}
.fs-handle{width:40px;height:4px;background:var(--line);border-radius:2px;margin:0 auto 16px}
.fs-h{font-family:'Space Grotesk',sans-serif;font-size:18px;font-weight:700;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between}
.fs-close{background:var(--bg);border:none;width:34px;height:34px;border-radius:50%;font-size:18px;cursor:pointer;color:var(--muted);display:flex;align-items:center;justify-content:center}
.fs-group{margin-bottom:16px}
.fs-label{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.3px;margin-bottom:8px}
.fs-chips{display:flex;flex-wrap:wrap;gap:6px}
.fs-chip{padding:8px 14px;border-radius:10px;background:var(--bg);border:1.5px solid var(--line);font-size:13px;font-weight:500;color:var(--ink);cursor:pointer;transition:.12s}
.fs-chip.on{background:var(--green);border-color:var(--green);color:#fff}
.fs-chip:active{transform:scale(.96)}
.fs-row{display:flex;gap:8px;align-items:center}
.fs-input{flex:1;height:42px;border:1.5px solid var(--line);border-radius:10px;padding:0 12px;font-size:14px;font-family:inherit;outline:none;text-align:center}
.fs-input:focus{border-color:var(--green)}
.fs-dash{color:var(--hint)}
.fs-submit{width:100%;height:48px;background:linear-gradient(135deg,var(--green),var(--vasilek-d));color:var(--on-accent);border:none;border-radius:12px;font-weight:700;font-size:15px;cursor:pointer;font-family:inherit;margin-top:8px}
.fs-reset{width:100%;text-align:center;margin-top:10px;font-size:13px;color:var(--muted);background:none;border:none;cursor:pointer;font-family:inherit;padding:8px}
/* Show sheet trigger only on mobile */
.filter-sheet-trigger{display:none}
@media(max-width:768px){
  .filter-bar{display:none!important}
  .filter-sheet-trigger{display:flex;align-items:center;gap:6px;padding:10px 16px;background:var(--surface);border:1.5px solid var(--line);border-radius:12px;font-size:14px;font-weight:600;color:var(--ink);cursor:pointer;width:100%;margin-bottom:12px;font-family:inherit}
  .filter-sheet-trigger .ti{font-size:18px;color:var(--green)}
  .filter-sheet-trigger .fst-count{margin-left:auto;background:var(--green);color:#fff;font-size:11px;padding:2px 8px;border-radius:10px;font-weight:700}
}

/* === 3. AUCTION URGENCY: last 5 min pulse === */
@keyframes urgency-pulse{0%,100%{background:rgba(210,39,48,.9)}50%{background:rgba(210,39,48,.5)}}
.rc-timer.urgent{animation:urgency-pulse .8s ease infinite}
.ah-timer-value.urgent{color:#FF4444;text-shadow:0 0 20px rgba(255,68,68,.3)}

/* === 4. WATCH AUCTION BUTTON === */
.watch-auc{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--bg);border:1.5px solid var(--line);border-radius:12px;font-size:13px;font-weight:600;color:var(--ink);cursor:pointer;width:100%;margin-top:8px;transition:.12s;font-family:inherit}
.watch-auc .ti{font-size:18px;color:var(--green)}
.watch-auc:hover{border-color:var(--green);background:var(--green-l)}
.watch-auc.active{background:var(--green-l);border-color:var(--green);color:var(--green)}

/* === 5. INTERACTIVE PRICE CHART on listing === */
.price-chart-tabs{display:flex;gap:6px;margin-bottom:8px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.price-chart-tabs::-webkit-scrollbar{height:4px}
.price-chart-tabs::-webkit-scrollbar-thumb{background:var(--line);border-radius:2px}
.pct-tab{padding:6px 14px;border-radius:8px;font-size:12px;font-weight:600;color:var(--muted);background:var(--bg);border:none;cursor:pointer;font-family:inherit;transition:.12s;white-space:nowrap;flex-shrink:0}
.pct-tab.on{background:var(--green);color:#fff}
.pct-tab:hover:not(.on){color:var(--green)}

/* === 6. BELARUSIAN ORNAMENT (subtle SVG) === */
.k-pattern{position:relative;overflow:hidden}
.k-pattern::after{content:"";position:absolute;top:0;right:0;bottom:0;width:min(300px,40%);opacity:.04;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M16 0v8M8 8h16M0 16h8M24 16h8M8 24h16M16 24v8M8 8v16M24 8v16' stroke='%231B8A47' stroke-width='.8' fill='none'/%3E%3Crect x='12' y='12' width='8' height='8' stroke='%23D22730' stroke-width='.5' fill='none'/%3E%3C/svg%3E") repeat}

/* === 7. INLINE OFFER (price negotiation) === */
.inline-offer{margin-top:10px}
.io-toggle{width:100%;padding:12px;border-radius:12px;background:var(--surface);border:1.5px solid var(--line);font-size:14px;font-weight:600;color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px;font-family:inherit;transition:.12s}
.io-toggle:hover{border-color:var(--green);color:var(--green)}
.io-form{display:none;margin-top:8px;background:var(--bg);border-radius:12px;padding:14px}
.io-form.open{display:block}
.io-row{display:flex;gap:8px;align-items:center}
.io-input{flex:1;height:44px;border:1.5px solid var(--line);border-radius:10px;padding:0 14px;font-size:16px;font-weight:700;font-family:inherit;outline:none}
.io-input:focus{border-color:var(--green)}
.io-send{height:44px;padding:0 20px;border-radius:10px;background:linear-gradient(135deg,var(--green),var(--vasilek-d));color:var(--on-accent);border:none;font-weight:700;font-size:14px;cursor:pointer;font-family:inherit;flex-shrink:0;display:flex;align-items:center;gap:5px}
.io-hint{font-size:12px;color:var(--muted);margin-top:8px}


/* === 9. LISTING: better mobile layout === */
@media(max-width:768px){
  .listing-sidebar{position:static!important}
  .auction-hero{padding:14px;border-radius:12px}
  .ah-timer-value{font-size:26px}
  .ah-price-value{font-size:24px}
  .listing-price-big{font-size:30px}
  .back-results{font-size:12px}
  .social-proof{font-size:11px;gap:8px}
}

/* === v8.0 — NAVIGATION + SCANNER + ЧПУ === */

/* Quick nav links in header */
.hdr-nav{display:flex;align-items:center;gap:4px;flex-shrink:0}
.hdr-nav a{padding:6px 12px;font-size:13px;font-weight:600;color:var(--ink2);text-decoration:none;border-radius:8px;transition:.12s;white-space:nowrap}
.hdr-nav a:hover{background:var(--bg);color:var(--green)}
.hdr-nav a .ti{font-size:15px;margin-right:3px}
@media(max-width:1100px){.hdr-nav{display:none}}

/* Scanner improved styles */
.scan-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;border:2px dashed var(--line);border-radius:16px;cursor:pointer;transition:.15s;position:relative;overflow:hidden;background:var(--bg)}
.scan-drop:hover,.scan-drop.drag-over{border-color:var(--green);background:var(--green-l)}
.scan-drop input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;z-index:2}
.sd-placeholder{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--muted);padding:30px}
.sd-placeholder .ti{font-size:48px;color:var(--hint)}
.sd-t{font-size:16px;font-weight:600;color:var(--ink)}
.sd-name{font-size:13px}
.sd-preview{width:100%;max-height:300px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.sd-preview img{width:100%;height:100%;object-fit:contain;max-height:300px}
.sr-ai-box{background:linear-gradient(135deg,#F5F0FF,#EDE6FF);border:1px solid rgba(83,74,183,.15);border-radius:14px;padding:16px;margin-bottom:14px}
.sr-ai-name{font-size:15px;font-weight:600;color:#3C3489;display:flex;align-items:center;gap:6px}
.sr-ai-name .ti{font-size:18px}
.sr-ai-desc{font-size:13px;color:#534AB7;margin-top:6px;line-height:1.5}
.sr-ai-cond,.sr-ai-price{font-size:13px;color:#3C3489;margin-top:4px}
.sr-ai-off{background:var(--bg);border-radius:10px;padding:12px;font-size:12px;color:var(--muted);margin-top:14px;display:flex;align-items:flex-start;gap:6px}

/* Tabbar improvement - add catalog */
.tabbar a.active{color:var(--green)}
.tabbar a.active .ti{color:var(--green)}

/* ============================================================
   KRAMBA v11.0 — RICH CARDS + SEO + SELL FORM + INTERACTIVE CHARTS
   ============================================================ */

/* === RICH CARDS in catalog: bring back chart + AI score === */
.rc-ai,.rc-chart{display:flex!important}
.rc-metrics{display:none!important}
.rc-quick{display:none!important}
.rc-ai{font-size:10.5px;padding:4px 8px;gap:4px;background:var(--green-l);color:var(--green);border-radius:6px;margin-bottom:6px;align-items:center;white-space:nowrap;overflow:hidden}
.rc-ai .ti{font-size:12px}
.rc-chart{flex-direction:column;padding:6px 8px;background:var(--bg);border-radius:8px;margin-bottom:6px}
.rc-chart-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}
.rc-chart-h .lbl{font-size:9.5px;color:var(--muted)}
.rc-chart-h .val{font-size:9.5px;font-weight:600}

/* === SELL FORM enhancements === */
.sell-step{display:flex;align-items:center;gap:8px;margin:20px 0 12px}
.sell-step-num{width:28px;height:28px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}
.sell-step-t{font-size:15px;font-weight:700}
.sell-hint{font-size:12px;color:var(--muted);margin-top:4px;display:flex;align-items:flex-start;gap:5px;line-height:1.5}
.sell-hint .ti{font-size:14px;color:var(--green);flex-shrink:0;margin-top:1px}
.sell-tip{background:var(--green-l);border:1px solid rgba(27,138,71,.12);border-radius:10px;padding:10px 12px;font-size:12px;color:var(--green);margin-top:8px;display:flex;align-items:flex-start;gap:6px;line-height:1.5}

/* === Interactive chart wrapper === */
.ichart-wrap{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:20px}
.ichart-header{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}
.ichart-header .ichart-title{flex-shrink:0}
.ichart-title{font-size:15px;font-weight:700;display:flex;align-items:center;gap:6px}
.ichart-title .ti{color:var(--green)}
.ichart-body{position:relative;min-height:120px}
.ichart-tooltip{position:absolute;background:var(--ink);color:#fff;padding:6px 10px;border-radius:8px;font-size:12px;font-weight:600;pointer-events:none;display:none;z-index:5;white-space:nowrap;transform:translate(-50%,-100%);margin-top:-8px}

/* === SEO structured blocks === */
.seo-faq{margin-top:24px}
.seo-faq details{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:6px}
.seo-faq summary{font-weight:600;cursor:pointer;font-size:15px}
.seo-faq p{margin-top:10px;font-size:14px;color:var(--ink2);line-height:1.7}

/* === Breadcrumb schema-ready === */
.crumbs{font-size:13px}

/* ============================================================
   KRAMBA v12.1 — LAYOUT FIX + RESPONSIVE AUDIT
   ============================================================ */

/* === FIX: Recently Viewed — center + constrain === */
.recently-viewed,.rv-block{max-width:1200px!important;margin-left:auto!important;margin-right:auto!important;padding-left:20px!important;padding-right:20px!important}
.rv-h{font-size:16px;font-weight:700;margin-bottom:12px;display:flex;align-items:center;gap:6px}
.rv-scroll{display:flex;gap:14px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:4px;scroll-snap-type:x proximity}
.rv-scroll::-webkit-scrollbar{display:none}
.rv-scroll>.rv-item{flex:0 0 140px!important;width:140px;text-decoration:none;color:inherit;text-align:center;border:none;padding:0;scroll-snap-align:start}
.rv-scroll>.rv-item img{width:140px;height:140px;object-fit:cover;border-radius:12px;border:1px solid var(--line)}
.rv-scroll>.rv-item .rv-name{font-size:11.5px;color:var(--ink2);margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}

/* === FIX: Scanner CTA on ceny page — not clipped === */
.scanner-cta{margin:20px 0!important;border-radius:14px!important}

/* === FIX: Content always inside wrap max-width === */
.wrap{max-width:1200px;margin:0 auto;padding:0 20px}
main.wrap{padding-top:10px}
.page-narrow{max-width:1120px;margin:0 auto}
/* Лонгриды (статьи/глоссарий) внутри широкого контейнера держат читабельную колонку текста */
.page-narrow .prose-col{max-width:760px}
@media(max-width:560px){.page-narrow{padding-left:14px;padding-right:14px}}

/* === RESPONSIVE: Desktop 1200+ === */
@media(min-width:1201px){
  .htop{max-width:1200px;margin:0 auto;padding:10px 20px!important}
  .rgrid{grid-template-columns:repeat(4,1fr)!important}
  .lwrap{grid-template-columns:1.2fr 1fr;gap:24px}
}

/* === RESPONSIVE: Laptop 1024-1200 === */
@media(min-width:1025px) and (max-width:1200px){
  .htop{padding:10px 16px!important}
  .rgrid{grid-template-columns:repeat(3,1fr)!important;gap:14px!important}
  .lwrap{grid-template-columns:1.1fr 1fr;gap:18px}
}

/* === RESPONSIVE: Tablet 769-1024 === */
@media(min-width:769px) and (max-width:1024px){
  .htop{padding:10px 14px!important}
  .hdr-nav a{padding:5px 8px;font-size:12px}
  .rgrid{grid-template-columns:repeat(3,1fr)!important;gap:12px!important}
  .lwrap{grid-template-columns:1fr;gap:16px}
  .listing-sidebar{position:static!important}
  .filter-bar .fb-row{flex-wrap:wrap}
  .filter-bar .fb-group{min-width:140px}
}

/* === RESPONSIVE: Mobile 768 and below (comprehensive) === */
@media(max-width:768px){
  /* Wrap */
  .wrap{padding:0 14px!important}
  main.wrap{padding-top:6px!important}

  /* Header */
  .htop{display:none!important}
  .mtop{display:flex!important;padding:8px 14px!important}
  .mbar{padding:0 14px 8px!important}
  .mbar .search{height:40px!important;border-radius:10px!important}

  /* Grid */
  .rgrid{grid-template-columns:repeat(2,1fr)!important;gap:10px!important}

  /* Cards */
  .rc-photo{aspect-ratio:1!important}
  .rc-body{padding:10px!important}
  .rc-price{font-size:17px!important}
  .rc-title{font-size:12.5px!important}
  .rc-ai{font-size:9.5px!important;padding:3px 6px!important}
  .rc-chart{padding:4px 6px!important;margin-bottom:4px!important}
  .rc-chart svg{height:24px}
  .rc-foot{font-size:11px!important;padding-top:6px!important}

  /* Listing */
  .lwrap{grid-template-columns:1fr!important;gap:14px!important}
  .listing-sidebar{position:static!important}
  .listing-price-big{font-size:28px!important}
  .auction-hero{padding:14px!important}
  .ah-timer-value{font-size:24px!important}
  .ah-price-value{font-size:22px!important}

  /* Toolbar */
  .toolbar{flex-direction:column;gap:8px}
  .toolbar h1{font-size:20px!important}
  .sortseg{font-size:12px!important}

  /* Filter bar */
  .filter-bar{display:none!important}
  .filter-sheet-trigger{display:flex!important}

  /* Auction banner */
  .auc-banner{padding:10px 12px!important;border-radius:12px!important}
  .ab-item{min-width:170px!important;padding:6px 10px!important}

  /* Category nav */
  .catnav{flex-wrap:nowrap!important;overflow-x:auto!important}

  /* Footer */
  .ftr .foot{grid-template-columns:1fr 1fr!important;gap:16px!important}
  .ftr .fbrand{grid-column:1/-1}
  .ftr-cta{flex-direction:column!important;text-align:center!important}
  .ftr-bottom{flex-direction:column;text-align:center}

  /* Tabbar */
  .tabbar{padding:6px 0 calc(6px + env(safe-area-inset-bottom))!important}
  body{padding-bottom:60px!important}

  /* Trust strip */
  .trust-strip{flex-wrap:wrap;justify-content:center;gap:8px!important}

  /* Recently viewed */
  .recently-viewed,.rv-block{padding-left:14px!important;padding-right:14px!important}

  /* Page narrow */
  .page-narrow{padding:0!important}

  /* Shop hero */
  .shop-hero{border-radius:12px!important}

  /* Sell form */
  .formwrap{margin:10px auto!important;padding:0!important}
}

/* === RESPONSIVE: Small phone 360-380 === */
@media(max-width:380px){
  .rgrid{gap:8px!important}
  .rc-body{padding:8px!important}
  .rc-price{font-size:15px!important}
  .rc-title{font-size:11.5px!important}
  .rc-ai{display:none!important}
  .rc-chart{display:none!important}
  .toolbar h1{font-size:18px!important}
}

/* === FIX: Trust hero overflow === */
.trust-hero{border-radius:16px;overflow:hidden;position:relative}
.trust-hero .th-ic{position:relative;z-index:1}
.trust-hero h1{position:relative;z-index:1}
.trust-hero p{position:relative;z-index:1}

/* === FIX: No horizontal overflow on body === */
html,body{overflow-x:clip}

/* ============================================================
   KRAMBA v15.0 — MAP BG + WISHLIST + SPECIAL BLOCKS
   ============================================================ */

/* === Belarus map contour on home background (see v19 below for actual map) === */
body.bare .g-home{position:relative}

/* === Hide recently viewed on home === */
body.bare .rv-block{display:none!important}
body.bare .recent-strip{display:none!important}

/* === Wishlist / Favorites / Buy Later system === */
.fav-menu{position:absolute;top:100%;right:0;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.12);padding:6px;min-width:160px;z-index:10;display:none}
.fav-menu.open{display:block}
.fav-opt{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:8px;font-size:13px;font-weight:500;color:var(--ink);cursor:pointer;transition:.1s;border:none;background:none;width:100%;text-align:left;font-family:inherit}
.fav-opt:hover{background:var(--bg)}
.fav-opt .ti{font-size:17px}
.fav-opt .ti.red{color:var(--red)}
.fav-opt .ti.amber{color:var(--amber)}
.fav-opt .ti.green{color:var(--green)}

/* Fav button active states */
.rc-fav.hearted{color:var(--red);background:rgba(210,39,48,.1)}
.rc-fav.hearted .ti::before{content:"\eb18"}
/* Settings mobile */
@media(max-width:768px){
  [style*="grid-template-columns:200px"]{grid-template-columns:minmax(0,1fr)!important}
}

/* === v17 — Cabinet + Settings mobile fix === */
@media(max-width:768px){
  /* Cabinet nav grid - 2 cols on mobile */
  div[style*="grid-template-columns:repeat(auto-fill,minmax(150px,1fr))"]{
    grid-template-columns:repeat(2,1fr)!important;gap:6px!important
  }
  div[style*="grid-template-columns:repeat(auto-fill,minmax(150px,1fr))"] a{
    padding:12px 10px!important;font-size:13px!important
  }
  
  /* Settings sidebar - horizontal on mobile */
  /* 57.547: minmax(0,1fr) — иначе колонка растягивалась по ширине ленты вкладок (1500px) и контент настроек обрезался справа */
  div[style*="grid-template-columns:200px 1fr"]{
    grid-template-columns:minmax(0,1fr)!important;gap:12px!important
  }
  div[style*="grid-template-columns:200px 1fr"]>div:first-child nav{
    flex-direction:row!important;overflow-x:auto!important;gap:4px!important;
    position:static!important;padding-bottom:4px
  }
  div[style*="grid-template-columns:200px 1fr"]>div:first-child nav a{
    white-space:nowrap!important;padding:8px 12px!important;font-size:12px!important;flex-shrink:0
  }
  
  /* Cabinet stats card */
  .cab-stats-card{padding:16px!important}
  .csc-name{font-size:20px!important}
  .csc-stats{gap:10px!important}
  .csc-stat .v{font-size:16px!important}
  .csc-actions{flex-wrap:wrap!important;gap:6px!important}
  .csc-btn{padding:8px 12px!important;font-size:12px!important}
  
  /* Wallet + KPIs */
  .cab-top{grid-template-columns:1fr!important}
  .kpis{grid-template-columns:1fr 1fr!important;gap:8px!important}
}

/* ============================================================
   KRAMBA v18 — FEED COMMENTS + SOUND + CHAT + QR + DISPUTES
   ============================================================ */

/* Feed sound button */
.feed-sound{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.12);border:none;color:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:.2s}
.feed-sound:hover{background:rgba(255,255,255,.2)}
/* подсветка динамика когда классическая музыка играет (можно выключить) */
.feed-sound.on{background:var(--green);color:#fff;box-shadow:0 0 0 0 rgba(27,138,71,.55);animation:sndpulse 2.2s ease-out infinite}
@keyframes sndpulse{0%{box-shadow:0 0 0 0 rgba(27,138,71,.5)}70%{box-shadow:0 0 0 9px rgba(27,138,71,0)}100%{box-shadow:0 0 0 0 rgba(27,138,71,0)}}
@media(prefers-reduced-motion:reduce){.feed-sound.on{animation:none}}

/* Feed comments bottom sheet */
.fc-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:9999;display:none;align-items:flex-end}
.fc-overlay.open{display:flex}
.fc-sheet{background:var(--surface);width:100%;max-width:600px;margin:0 auto;border-radius:18px 18px 0 0;max-height:75vh;display:flex;flex-direction:column;animation:fcUp .3s ease}
@keyframes fcUp{from{transform:translateY(100%)}to{transform:translateY(0)}}
.fc-handle{width:40px;height:4px;background:#e0e0e0;border-radius:2px;margin:10px auto}
.fc-head{display:flex;align-items:center;justify-content:space-between;padding:8px 18px 14px;border-bottom:1px solid #eee;font-weight:700;font-size:16px}
.fc-head button{background:#f3f4f6;border:none;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:16px;color:#666;display:flex;align-items:center;justify-content:center}
.fc-list{flex:1;overflow-y:auto;padding:16px 18px;display:flex;flex-direction:column;gap:14px;min-height:180px}
.fc-empty{text-align:center;color:#999;padding:30px 0;margin:auto}
.fc-empty i{font-size:40px;opacity:.4}
.fc-empty p{margin-top:8px;font-size:14px}
.fc-msg{display:flex;gap:10px}
.fc-av{width:36px;height:36px;border-radius:50%;background:#1B8A47;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0}
.fc-msg.seller .fc-av{background:#E8B43A}
.fc-body{flex:1}
.fc-name{font-size:13px;font-weight:600;display:flex;align-items:center;gap:6px}
.fc-badge{background:var(--green);color:var(--on-accent);font-size:10px;padding:1px 6px;border-radius:4px;font-weight:600}
.fc-txt{font-size:14px;color:#333;margin-top:2px;line-height:1.4}
.fc-time{font-size:11px;color:#aaa;margin-top:3px}
.fc-input{display:flex;gap:8px;padding:12px 18px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #eee}
.fc-input input{flex:1;height:44px;border:1px solid #e0e0e0;border-radius:22px;padding:0 16px;font-size:14px;outline:none;font-family:inherit}
.fc-input input:focus{border-color:#1B8A47}
.fc-input button{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--green),var(--vasilek-d));color:var(--on-accent);border:none;cursor:pointer;font-size:18px;flex-shrink:0;display:flex;align-items:center;justify-content:center}

/* Chat page */
.chat-wrap{display:grid;grid-template-columns:280px 1fr;gap:0;height:calc(100vh - 140px);border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--surface)}
.chat-list{border-right:1px solid var(--line);overflow-y:auto}
.chat-conv{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line);cursor:pointer;text-decoration:none;color:inherit;transition:.1s}
.chat-conv:hover,.chat-conv.active{background:var(--bg)}
.chat-conv .ca{width:42px;height:42px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}
.chat-conv .cn{font-size:14px;font-weight:600}
.chat-conv .cm{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-main{display:flex;flex-direction:column}
.chat-msgs{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}
.chat-msg{max-width:70%;padding:10px 14px;border-radius:14px;font-size:14px;line-height:1.4}
.chat-flag{align-self:flex-start;max-width:80%;font-size:11.5px;color:#B8860B;background:rgba(232,180,58,.12);border:1px solid rgba(232,180,58,.35);border-radius:10px;padding:6px 11px;margin:-2px 0 2px;display:flex;align-items:center;gap:5px;line-height:1.4}
/* Inline scam-flag под подозрительным сообщением */
.scam-flag{align-self:flex-start;max-width:88%;border-radius:12px;padding:10px 13px;margin:-2px 0 4px;line-height:1.45;border:1px solid}
.scam-flag.high{background:rgba(210,39,48,.07);border-color:rgba(210,39,48,.3)}
.scam-flag.mid{background:rgba(232,180,58,.1);border-color:rgba(232,180,58,.4)}
.scam-flag.low{background:rgba(142,150,171,.1);border-color:rgba(142,150,171,.3)}
.scam-flag .sf-head{font-weight:700;font-size:13px;display:flex;align-items:center;gap:6px;margin-bottom:4px}
.scam-flag.high .sf-head{color:#C0392B}.scam-flag.mid .sf-head{color:#9A7B1A}.scam-flag.low .sf-head{color:#5a6275}
.scam-flag .sf-why{font-size:12px;color:var(--ink2);margin-bottom:6px}
.scam-flag .sf-action{font-size:12px;color:var(--green);font-weight:600;display:flex;align-items:flex-start;gap:5px}
.scam-flag .sf-action i{flex-shrink:0;margin-top:1px}
/* Live Scam Shield — всплывающий ангел-хранитель */
.scam-shield{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-top:2px solid;animation:shieldIn .3s ease}
.scam-shield.high{background:linear-gradient(180deg,rgba(210,39,48,.1),rgba(210,39,48,.04));border-top-color:#D22730}
.scam-shield.mid{background:linear-gradient(180deg,rgba(232,180,58,.12),rgba(232,180,58,.05));border-top-color:#E8B43A}
.scam-shield.low{background:var(--bg);border-top-color:var(--line)}
@keyframes shieldIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.scam-shield .ss-icon{font-size:30px;flex-shrink:0;line-height:1}
.scam-shield.high .ss-icon{color:#D22730}.scam-shield.mid .ss-icon{color:#E8B43A}.scam-shield.low .ss-icon{color:var(--green)}
.scam-shield .ss-body{flex:1;min-width:0}
.scam-shield .ss-title{font-weight:800;font-size:14px;margin-bottom:4px;color:var(--ink)}
.scam-shield .ss-why{font-size:12.5px;color:var(--ink2);line-height:1.5;margin-bottom:7px}
.scam-shield .ss-action{font-size:12.5px;color:var(--green);font-weight:700;display:flex;align-items:flex-start;gap:5px;line-height:1.45}
.scam-shield .ss-action i{flex-shrink:0;margin-top:1px}
.scam-shield .ss-close{background:none;border:none;color:var(--muted);cursor:pointer;font-size:18px;flex-shrink:0;padding:2px;line-height:1}
.chat-msg.in{align-self:flex-start;background:var(--bg)}
.chat-msg.out{align-self:flex-end;background:var(--green);color:#fff}
.chat-msg .t{font-size:10px;opacity:.6;margin-top:3px}
.chat-input{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line)}
.chat-input input{flex:1;height:42px;border:1px solid var(--line);border-radius:21px;padding:0 14px;outline:none;font-family:inherit}
.chat-input button{width:42px;height:42px;border-radius:50%;background:var(--green);color:#fff;border:none;cursor:pointer;font-size:17px}
@media(max-width:768px){
  .chat-wrap{grid-template-columns:1fr;height:calc(100vh - 110px)}
  .chat-list{display:none}
  .chat-wrap.show-list .chat-list{display:block}
  .chat-wrap.show-list .chat-main{display:none}
}

/* QR confirm */
.qr-box{text-align:center;padding:30px;background:var(--surface);border:1px solid var(--line);border-radius:16px;max-width:360px;margin:0 auto}
.qr-code{width:200px;height:200px;margin:16px auto;background:var(--surface);border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;justify-content:center}

/* Dispute flow */
.dispute-step{display:flex;gap:12px;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-bottom:10px}
.ds-num{width:32px;height:32px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}

/* ============================================================
   KRAMBA v19 — AVATAR IMG + AUCTION CARDS + BIG MAP
   ============================================================ */

/* Avatar image in header */
.hdr-avatar{overflow:hidden}
.hdr-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}

/* === REDESIGNED LIVE AUCTION BANNER — refined cards === */
.auc-banner{background:linear-gradient(135deg,#10231A 0%,#0A1711 100%);border-radius:18px;padding:18px 20px;margin-bottom:20px;overflow:hidden}
.ab-label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:#7FE3AE;letter-spacing:.3px;margin-bottom:14px}
.ab-dot{width:8px;height:8px;border-radius:50%;background:#FF5C5C;animation:pulse 1.4s infinite;flex-shrink:0;box-shadow:0 0 8px rgba(255,92,92,.6)}
.ab-scroll{display:flex;gap:12px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:2px}
.ab-scroll::-webkit-scrollbar{display:none}

/* Extended auction card */
.ab-item{display:block;background:rgba(255,255,255,.05);border:1px solid rgba(127,227,174,.12);border-radius:14px;overflow:hidden;text-decoration:none;color:#E8EAF0;flex-shrink:0;width:260px;transition:.18s}
.ab-item:hover{background:rgba(255,255,255,.08);border-color:rgba(127,227,174,.3);transform:translateY(-2px)}
.ab-card-img{position:relative;width:100%;height:130px;background:rgba(255,255,255,.04);overflow:hidden}
.ab-card-img img{width:100%;height:100%;object-fit:cover}
.ab-card-img .ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:32px;color:rgba(127,227,174,.4)}
.ab-card-timer{position:absolute;top:8px;right:8px;background:rgba(10,15,12,.85);color:#FF6B6B;font-size:12px;font-weight:700;padding:4px 8px;border-radius:7px;font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:4px;backdrop-filter:blur(4px)}
.ab-card-live{position:absolute;top:8px;left:8px;background:rgba(255,92,92,.9);color:#fff;font-size:10px;font-weight:700;padding:3px 8px;border-radius:6px;display:flex;align-items:center;gap:4px}
.ab-card-live::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--surface);animation:pulse 1s infinite}
.ab-card-body{padding:12px 14px}
.ab-card-title{font-size:13px;color:#C8D4CC;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:6px}
.ab-card-row{display:flex;align-items:flex-end;justify-content:space-between}
.ab-card-price{font-family:'Space Grotesk',sans-serif;font-size:20px;font-weight:800;color:#fff;line-height:1}
.ab-card-plabel{font-size:10px;color:#7FE3AE;margin-bottom:2px}
.ab-card-bids{font-size:11px;color:#8FA89A;display:flex;align-items:center;gap:3px}
.ab-allbtn{display:flex;align-items:center;justify-content:center;width:60px;flex-shrink:0;background:rgba(127,227,174,.08);border:1px dashed rgba(127,227,174,.2);border-radius:14px;color:#7FE3AE;text-decoration:none;font-size:12px;font-weight:600;text-align:center;flex-direction:column;gap:6px}
.ab-allbtn:hover{background:rgba(127,227,174,.15)}
.ab-allbtn i{font-size:22px}

@media(max-width:768px){
  .auc-banner{padding:14px;border-radius:14px}
  .ab-item{width:200px}
  .ab-card-img{height:100px}
  .ab-card-price{font-size:17px}
}

/* === Belarus map removed per request === */

/* ============================================================
   KRAMBA v20 — MOBILE AUDIT (comprehensive)
   ============================================================ */
@media(max-width:768px){
  /* Hub pages */
  .trust-hero{padding:24px 16px!important}
  .trust-hero h1{font-size:22px!important}
  .trust-hero p{font-size:13px!important}
  .trust-hero .th-ic{font-size:36px!important}

  /* Pay page */
  .qr-box{padding:20px!important}
  .qr-code{width:160px!important;height:160px!important}
  .qr-code img{width:140px!important;height:140px!important}

  /* Disputes steps */
  .dispute-step{padding:12px!important}
  .ds-num{width:28px!important;height:28px!important;font-size:13px!important}

  /* Settings forms full width */
  .fld input,.fld textarea,.fld select{font-size:16px!important}

  /* Blog articles */
  article table{font-size:11px!important;display:block;overflow-x:auto}
  article h1{font-size:20px!important}
  article h2{font-size:16px!important}

  /* Model hub */
  div[style*="grid-template-columns:repeat(3,1fr)"]{grid-template-columns:1fr 1fr 1fr!important;gap:6px!important}
  div[style*="grid-template-columns:repeat(4,1fr)"]{grid-template-columns:repeat(2,1fr)!important}

  /* Map on mobile - bigger touch area */
  #safeMap{height:320px!important}

  /* Feed comments full height */
  .fc-sheet{max-height:85vh!important}

  /* Prevent text overflow everywhere */
  h1,h2,h3{word-wrap:break-word;overflow-wrap:break-word}
  .ichart-wrap{padding:14px!important}

  /* Footer columns */
  .ftr [class*="grid"]{grid-template-columns:1fr 1fr!important}
}

/* Tablet refinements */
@media(min-width:769px) and (max-width:1024px){
  .chat-wrap{grid-template-columns:240px 1fr}
  .ab-item{width:240px}
}

/* Touch targets — minimum 44px on mobile */
@media(max-width:768px){
  button,.listing-cta-btn,a.csc-btn,.fav-opt{min-height:44px}
}

/* ============================================================
   KRAMBA v21 — NEW AUCTION HERO (featured + list)
   ============================================================ */
.auc-hero-wrap{margin-bottom:22px}
.auc-hero-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.ahh-title{display:flex;align-items:center;gap:9px;font-size:17px;font-weight:800;color:var(--ink)}
.ahh-live{width:9px;height:9px;border-radius:50%;background:#E23A3A;flex-shrink:0;box-shadow:0 0 0 0 rgba(226,58,58,.5);animation:ahhPulse 1.6s infinite}
@keyframes ahhPulse{0%{box-shadow:0 0 0 0 rgba(226,58,58,.5)}70%{box-shadow:0 0 0 8px rgba(226,58,58,0)}100%{box-shadow:0 0 0 0 rgba(226,58,58,0)}}
.ahh-all{font-size:13px;font-weight:600;color:var(--green);text-decoration:none;display:flex;align-items:center;gap:4px;white-space:nowrap}
.ahh-all:hover{gap:7px}

.auc-hero-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:14px}

/* Featured auction (large) */
.auc-feat{display:block;border-radius:16px;overflow:hidden;text-decoration:none;position:relative;aspect-ratio:16/10;background:var(--surface);border:1px solid var(--line)}
.auc-feat-img{position:relative;width:100%;height:100%}
.auc-feat-img img{width:100%;height:100%;object-fit:cover}
.auc-feat-img .ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:64px;color:var(--hint);background:var(--bg)}
.auc-feat-hot{position:absolute;top:12px;left:12px;background:rgba(226,58,58,.95);color:#fff;font-size:11px;font-weight:700;padding:5px 11px;border-radius:8px;display:flex;align-items:center;gap:5px;z-index:2}
.auc-feat-overlay{position:absolute;left:0;right:0;bottom:0;padding:40px 16px 14px;background:linear-gradient(transparent,rgba(8,12,10,.55) 35%,rgba(8,12,10,.92));z-index:1}
.auc-feat-title{color:#fff;font-size:16px;font-weight:700;line-height:1.3;margin-bottom:10px;text-shadow:0 1px 4px rgba(0,0,0,.3)}
.auc-feat-stats{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}
.afs-price{display:flex;flex-direction:column}
.afs-label{font-size:11px;color:#9FE3BE;font-weight:600;margin-bottom:1px}
.afs-val{font-family:'Space Grotesk',sans-serif;font-size:26px;font-weight:800;color:#fff;line-height:1}
.afs-up{display:inline-flex;align-items:center;gap:3px;font-size:12px;font-weight:700;color:#5BE5A0;margin-top:3px}
.afs-meta{display:flex;flex-direction:column;gap:6px;align-items:flex-end}
.afs-meta span{font-size:12px;color:#D5DED8;display:flex;align-items:center;gap:4px;font-weight:600}
.afs-timer{background:rgba(0,0,0,.4);padding:4px 9px;border-radius:7px;color:#FF8080!important;font-variant-numeric:tabular-nums;backdrop-filter:blur(4px)}

/* Compact list */
.auc-list{display:flex;flex-direction:column;gap:8px;justify-content:space-between}
.auc-row{display:flex;align-items:center;gap:11px;padding:9px;background:var(--surface);border:1px solid var(--line);border-radius:12px;text-decoration:none;color:inherit;transition:.13s}
.auc-row:hover{border-color:var(--green);transform:translateX(2px)}
.auc-row-img{width:54px;height:54px;border-radius:10px;overflow:hidden;flex-shrink:0;background:var(--bg);display:flex;align-items:center;justify-content:center}
.auc-row-img img{width:100%;height:100%;object-fit:cover}
.auc-row-img i{font-size:22px;color:var(--hint)}
.auc-row-body{flex:1;min-width:0}
.auc-row-title{font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:3px}
.auc-row-meta{font-size:11.5px;color:var(--muted);display:flex;align-items:center;gap:4px;font-variant-numeric:tabular-nums}
.auc-row-price{font-family:'Space Grotesk',sans-serif;font-size:16px;font-weight:800;color:var(--green);flex-shrink:0;white-space:nowrap}

@media(max-width:768px){
  .auc-hero-grid{grid-template-columns:1fr;gap:10px}
  .auc-feat{aspect-ratio:16/11}
  .afs-val{font-size:22px}
  .ahh-title{font-size:15px}
  .auc-row-img{width:48px;height:48px}
}

/* ============================================================
   KRAMBA v28 — STICKY FOOTER + EMPTY SPACE FIX
   ============================================================ */
/* Sticky footer: push footer to bottom, no huge gaps on short pages */
html,body{min-height:100%}
body{display:flex;flex-direction:column;min-height:100vh}
body > .ftr, body > footer.ftr{margin-top:auto}
main.wrap, .page-narrow{flex:1 0 auto}

/* Empty state — consistent, fills space gracefully */
.empty-state{text-align:center;padding:48px 20px;color:var(--muted)}
.empty-state .es-ic{font-size:56px;color:var(--hint);margin-bottom:12px}
.empty-state .es-ic i{font-size:56px}
.empty-state h3{font-size:18px;color:var(--ink);margin:0 0 6px}
.empty-state p{font-size:14px;margin:0 0 8px}

/* Page-narrow min height so footer isn't right under thin content */
.page-narrow{min-height:50vh}

/* Trust hero: отступ снизу (57.453: было 0 — следующий блок, напр. список заявок на /buy, «прилипал») */
.trust-hero{margin-bottom:var(--sp-5,24px)}

/* v29 hub filter buttons */
.hub-fbtn{transition:.15s}
.hub-fbtn:hover{opacity:.85}

/* ============================================================
   KRAMBA v30 — Auctions 5-column grid (override all .rgrid)
   ============================================================ */
.auc-grid-5{grid-template-columns:repeat(5,1fr)!important;gap:14px!important}
@media(max-width:1200px){.auc-grid-5{grid-template-columns:repeat(4,1fr)!important}}
@media(max-width:992px){.auc-grid-5{grid-template-columns:repeat(3,1fr)!important}}
@media(max-width:768px){.auc-grid-5{grid-template-columns:repeat(2,1fr)!important;gap:10px!important}}

/* ============================================================
   KRAMBA v30 — Feed auto-slideshow (video from photos, Ken Burns)
   ============================================================ */
.feed-slideshow{position:relative;width:100%;height:100%;overflow:hidden;background:#0A0A0F}
/* === ВИДЕО-ПОДБОРКА из фото объявления ===
   Каждый кадр = размытый фон-заливка (чтобы широкие фото смотрелись органично,
   без грубой обрезки) + само фото целиком сверху с медленным «кенбёрнсом».
   Кадры плавно перетекают друг в друга — выглядит как смонтированное видео. */
.fss-frame{position:absolute;inset:0;opacity:0;animation:fssCycle 12.5s infinite;will-change:opacity}
.fss-frame .fss-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:blur(28px) brightness(.55);transform:scale(1.25);will-change:transform}
.fss-frame .fss-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;animation:fssKen 13s ease-in-out infinite alternate;will-change:transform}
/* длительность цикла = число кадров × 2.6с, каждый виден ~2.6с */
.feed-slideshow[data-count="2"] .fss-frame{animation-duration:5.2s}
.feed-slideshow[data-count="3"] .fss-frame{animation-duration:7.8s}
.feed-slideshow[data-count="4"] .fss-frame{animation-duration:10.4s}
.feed-slideshow[data-count="5"] .fss-frame{animation-duration:13s}
.feed-slideshow[data-count="6"] .fss-frame{animation-duration:15.6s}
.feed-slideshow[data-count="7"] .fss-frame{animation-duration:18.2s}
.feed-slideshow[data-count="8"] .fss-frame{animation-duration:20.8s}
@keyframes fssCycle{
  0%{opacity:0}
  4%{opacity:1}
  19%{opacity:1}
  24%{opacity:0}
  100%{opacity:0}
}
/* Ken Burns: лёгкий зум+сдвиг для контейнерного фото */
@keyframes fssKen{
  0%{transform:scale(1.02) translate(0,0)}
  100%{transform:scale(1.10) translate(-1.5%,-1.5%)}
}
@media (prefers-reduced-motion: reduce){
  .fss-frame .fss-img{animation:none}
  .fss-frame .fss-bg{transform:scale(1.25)}
}
/* Одиночное фото — тот же приём: размытая заливка + фото целиком + мягкий кенбёрнс */
.feed-photo1{position:absolute;inset:0;overflow:hidden;background:#0A0A0F}
.feed-poster{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:14px;padding:70px 84px 150px 26px;color:#fff}
.feed-poster>i{font-size:44px;opacity:.35}
.fp-t{font-family:'Space Grotesk',sans-serif;font-size:clamp(24px,6.5vw,38px);font-weight:800;line-height:1.12;overflow-wrap:anywhere}
.fp-d{font-size:16px;line-height:1.5;opacity:.9;overflow-wrap:anywhere}
.fp-n{font-size:12.5px;font-weight:700;opacity:.75;display:inline-flex;align-self:flex-start;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.14)}
.feed-photo1 .fss-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:blur(28px) brightness(.55);transform:scale(1.25)}
.feed-photo1 .fss-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;animation:fssKen 16s ease-in-out infinite alternate;will-change:transform}
@media (prefers-reduced-motion: reduce){ .feed-photo1 .fss-img{animation:none} }
.fss-badge{position:absolute;top:14px;left:14px;background:rgba(0,0,0,.55);color:#fff;font-size:12px;font-weight:600;padding:5px 10px;border-radius:8px;backdrop-filter:blur(6px);display:flex;align-items:center;gap:5px;z-index:2}

/* ============================================================
   KRAMBA v33 — Listing sidebar STICKY (Amazon/eBay pattern, no empty space)
   ============================================================ */
.lside-sticky{display:flex;flex-direction:column;gap:14px;position:sticky;top:72px;align-self:start;max-height:calc(100vh - 88px);overflow-y:auto;scrollbar-width:thin}
.lside-sticky::-webkit-scrollbar{width:5px}
.lside-sticky::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}
.lside-sticky .lpanel{margin-top:0!important}
/* The left content column flows naturally; sidebar sticks to viewport while scrolling.
   When content is shorter, sidebar aligns top (align-items:start on .lwrap).
   When content is longer, sidebar follows scroll — no dead space below it. */
@media(max-width:900px){
  .lside-sticky{position:static}
}

/* v34 PWA install button */
@keyframes pwaSlideUp{from{transform:translate(-50%,20px);opacity:0}to{transform:translate(-50%,0);opacity:1}}
#pwaInstallBtn{transition:opacity .4s}
@media(max-width:768px){#pwaInstallBtn{bottom:72px!important}}

/* ============================================================
   KRAMBA v36 — Special directions in catalog (distinct hubs)
   ============================================================ */
.special-dirs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.sdir-card{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:14px;text-decoration:none;color:inherit;transition:.15s;position:relative;overflow:hidden}
.sdir-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--sd);opacity:0;transition:.15s}
.sdir-card:hover{border-color:var(--sd);transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.08)}
.sdir-card:hover::before{opacity:1}
.sdir-ic{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}
.sdir-body{flex:1;min-width:0}
.sdir-title{font-size:15px;font-weight:700;margin-bottom:2px}
.sdir-sub{font-size:12px;color:var(--muted)}
.sdir-arr{color:var(--hint);font-size:18px;flex-shrink:0}
.sdir-card:hover .sdir-arr{color:var(--sd)}
@media(max-width:900px){.special-dirs{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.special-dirs{grid-template-columns:1fr;gap:10px}.sdir-ic{width:42px;height:42px;font-size:20px}}

/* Кнопки «Поделиться» во всех соцсетях */
.share-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0}
.share-label{font-size:13px;color:var(--muted);font-weight:600;display:inline-flex;align-items:center;gap:5px}
.share-btn{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--sc,var(--ink2));display:inline-flex;align-items:center;justify-content:center;font-size:19px;cursor:pointer;text-decoration:none;transition:.14s}
.share-btn:hover{background:var(--sc,var(--green));color:#fff;border-color:var(--sc,var(--green));transform:translateY(-2px)}
.share-copy{--sc:var(--green)}

/* ===== Отзывы и комментарии с голосованием ===== */
.reviews-block .sec-title{display:flex;align-items:center;gap:8px}
.rv-summary{display:flex;gap:24px;align-items:center;padding:16px;background:var(--bg);border-radius:12px;margin-bottom:16px;flex-wrap:wrap}
.rv-avg{text-align:center;flex-shrink:0}
.rv-avg-num{font-family:'Space Grotesk',sans-serif;font-size:38px;font-weight:800;line-height:1;color:var(--ink)}
.rv-stars{color:#E8B43A;font-size:17px;margin:5px 0 3px;display:flex;gap:1px;justify-content:center}
.rv-avg-cnt{font-size:12px;color:var(--muted)}
.rv-bars{flex:1;min-width:200px;display:flex;flex-direction:column;gap:4px}
.rv-bar-row{display:flex;align-items:center;gap:8px;font-size:12px}
.rv-bar-l{display:flex;align-items:center;gap:2px;color:var(--muted);width:28px;flex-shrink:0}
.rv-bar-l i{font-size:10px;color:#E8B43A}
.rv-bar{flex:1;height:7px;background:var(--line);border-radius:4px;overflow:hidden}
.rv-bar-fill{height:100%;background:#E8B43A;border-radius:4px}
.rv-bar-c{width:24px;text-align:right;color:var(--muted);flex-shrink:0}
.rv-form{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:18px}
.rv-form-stars{display:flex;align-items:center;gap:3px;margin-bottom:10px}
.rv-pick{background:none;border:none;cursor:pointer;color:var(--hint);font-size:24px;padding:0;line-height:1;transition:.1s}
.rv-pick:hover,.rv-pick.on{color:#E8B43A}
.rv-pick-hint{font-size:12px;color:var(--muted);margin-left:8px}
.rv-form textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px 12px;font-size:14px;font-family:inherit;resize:vertical;box-sizing:border-box}
.rv-form-foot{display:flex;align-items:center;gap:12px;margin-top:10px}
.rv-form-msg{font-size:13px;font-weight:600}
.rv-form-msg.ok{color:var(--green)}.rv-form-msg.err{color:var(--red)}
.rv-login{background:var(--bg);border-radius:10px;padding:14px 16px;font-size:13.5px;color:var(--ink2);margin-bottom:16px}
.rv-login a{color:var(--green);font-weight:600}
.rv-list{display:flex;flex-direction:column;gap:14px}
.rv-item{border:1px solid var(--line);border-radius:12px;padding:14px}
.rv-item-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.rv-ava{width:36px;height:36px;border-radius:50%;background:var(--green-l);color:var(--green);display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}
.rv-item-meta{flex:1;min-width:0}
.rv-item-name{font-size:14px;font-weight:700;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.rv-vb{font-size:11px;font-weight:600;color:var(--green);background:var(--green-l);padding:1px 7px;border-radius:6px;display:inline-flex;align-items:center;gap:3px}
.rv-vb i{font-size:11px}
.rv-item-date{font-size:12px;color:var(--muted)}
.rv-item-stars{color:#E8B43A;font-size:14px;flex-shrink:0;display:flex;gap:1px}
.rv-item-body{margin:0 0 10px;font-size:14px;line-height:1.6;color:var(--ink);border:none;padding:0}
.rv-item-foot{display:flex;gap:8px}
.rv-vote{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:5px 11px;font-size:12.5px;color:var(--ink2);cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:.12s;font-family:inherit}
.rv-vote:hover{border-color:var(--green);color:var(--green)}
.rv-vote.voted{background:var(--green-l);border-color:var(--green);color:var(--green)}
.rv-vote i{font-size:15px}
.rv-empty{text-align:center;padding:24px;color:var(--muted);font-size:14px;background:var(--bg);border-radius:12px}
.rv-empty i{font-size:28px;display:block;margin-bottom:6px}

/* Ответ продавца на отзыв */
.rv-reply{background:var(--green-l);border-radius:9px;padding:9px 12px;margin:0 0 10px}
.rv-reply-h{font-size:12px;font-weight:700;color:var(--green);display:flex;align-items:center;gap:5px;margin-bottom:3px}
.rv-reply-body{font-size:13px;color:var(--ink2);line-height:1.5}
.rv-reply-btn{background:none;border:none;color:var(--green);font-size:12.5px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:5px;font-family:inherit;padding:5px 8px}
.rv-reply-btn:hover{text-decoration:underline}
.rv-reply-form{margin-top:10px;display:flex;flex-direction:column;gap:8px}
.rv-reply-form textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:9px 12px;font-size:13.5px;font-family:inherit;resize:vertical;box-sizing:border-box}
.rv-reply-form button{align-self:flex-start}

/* Рейтинг товара в карточке каталога */
.rc-rating{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin:2px 0 6px;font-size:12px;min-width:0}
.rc-rating-stars{color:#E8B43A;font-size:13px;letter-spacing:-1px;display:inline-flex}
.rc-rating-num{font-weight:700;color:var(--ink)}
.rc-rating-cnt{color:var(--muted)}

/* Колокольчик уведомлений в шапке */
.hdr-bell{position:relative;display:inline-flex;align-items:center;justify-content:center;color:var(--ink2);font-size:21px;padding:6px;border-radius:9px;text-decoration:none;transition:.12s}
.hdr-bell:hover{background:var(--bg);color:var(--green)}
.hdr-bell-dot{position:absolute;top:0;right:0;min-width:16px;height:16px;padding:0 4px;background:var(--red);color:#fff;font-size:10px;font-weight:700;border-radius:9px;display:flex;align-items:center;justify-content:center;line-height:1;border:2px solid var(--surface)}

/* Инбокс уведомлений в кабинете */
.inbox-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.inbox-list{display:flex;flex-direction:column;gap:10px}
.inbox-item{display:flex;gap:12px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px}
.inbox-item.unread{border-color:var(--green);background:linear-gradient(0deg,var(--surface),var(--green-l) 400%)}
.inbox-item.unread .inbox-item-subj::after{content:'';display:inline-block;width:7px;height:7px;background:var(--green);border-radius:50%;margin-left:7px;vertical-align:middle}
.inbox-item-ic{width:40px;height:40px;border-radius:10px;background:var(--green-l);color:var(--green);display:flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0}
.inbox-item-body{flex:1;min-width:0}
.inbox-item-subj{font-size:14px;font-weight:700;color:var(--ink);margin-bottom:3px}
.inbox-item-text{font-size:13px;color:var(--ink2);line-height:1.5;white-space:pre-line;word-break:break-word}
.inbox-item-date{font-size:11.5px;color:var(--muted);margin-top:5px;display:block}
.inbox-del{background:none;border:none;color:var(--muted);cursor:pointer;font-size:18px;padding:4px;border-radius:6px;flex-shrink:0}
.inbox-del:hover{background:var(--bg);color:var(--red)}
.inbox-empty{text-align:center;padding:50px 20px;color:var(--muted)}
.inbox-empty i{font-size:44px;display:block;margin-bottom:10px;color:var(--hint)}
.inbox-empty p{font-size:16px;font-weight:600;margin:0 0 4px;color:var(--ink2)}
.inbox-empty span{font-size:13px}

/* =========================================================================
   КАНОНИЧЕСКАЯ АДАПТИВНОСТЬ (v57.8) — единый источник правды.
   Этот блок идёт последним и наводит порядок поверх накопившихся правил
   для ключевых контейнеров: сетка каталога, карточка товара, кабинет.
   Точки перелома: десктоп >1024, планшет 769–1024, телефон ≤768, узкий ≤420.
   ========================================================================= */

/* --- Сетка каталога: 4 / 3 / 2 / 1 --- */
.rgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(min-width:1025px) and (max-width:1280px){.rgrid{grid-template-columns:repeat(3,1fr);gap:16px}}
@media(min-width:769px) and (max-width:1024px){.rgrid{grid-template-columns:repeat(3,1fr);gap:14px}}
@media(min-width:421px) and (max-width:768px){.rgrid{grid-template-columns:repeat(2,1fr);gap:12px}}
@media(max-width:420px){.rgrid{grid-template-columns:repeat(2,1fr);gap:10px}}

/* --- Карточка товара: 2 колонки на десктоп/планшет-альбом, 1 на узких --- */
.lwrap{display:grid;grid-template-columns:1.3fr 1fr;gap:24px;align-items:start}
@media(min-width:769px) and (max-width:1024px){.lwrap{grid-template-columns:1.15fr 1fr;gap:18px}}
@media(max-width:768px){.lwrap{grid-template-columns:1fr;gap:16px}}

/* --- Кабинет: сайдбар + контент → одна колонка на телефоне --- */
@media(max-width:900px){
  .cab-layout{grid-template-columns:1fr !important}
  .cab-side{position:static !important;width:auto !important}
}

/* --- Карточка товара: галерея и панель не «вылезают» на узких --- */
@media(max-width:768px){
  .gallery .main{aspect-ratio:4/3}
  .lpanel{padding:16px}
  .thumbs .th{width:56px;height:56px}
}

/* --- Защита от горизонтального скролла на телефоне --- */
@media(max-width:768px){
  html,body{overflow-x:hidden;max-width:100%}
  .wrap{padding-left:14px;padding-right:14px;box-sizing:border-box}
  img{max-width:100%;height:auto}
  /* длинные слова/ссылки переносятся, не растягивают страницу */
  .rc-title,.lpanel h1,.inbox-item-text,.rv-item-body{overflow-wrap:break-word;word-break:break-word}
}

/* --- Узкий телефон: чуть компактнее типографика карточек --- */
@media(max-width:380px){
  .rc-title{font-size:13px}
  .rc-price{font-size:16px}
  .rgrid{gap:8px}
}
/* Аукцион закончен — на странице лота */
.auction-hero.auction-ended{opacity:.96}
.ah-ended-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.16);border:1.5px solid rgba(255,255,255,.3);color:#fff;font-size:16px;font-weight:800;padding:10px 22px;border-radius:12px;margin-bottom:12px}

/* ============================================================
   АУДИТ ВЁРСТКИ — кросс-девайс защита (добавлено по запросу)
   Покрывает узкие телефоны (≤360px), планшеты, большие экраны.
   ============================================================ */
/* таблицы аналитики/админки всегда прокручиваются по горизонтали на узких экранах */
.atable{width:100%;border-collapse:collapse}
.atable th,.atable td{padding:7px 9px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}
@media(max-width:768px){
  /* любой контейнер с таблицей внутри админки скроллится */
  table{font-size:12px}
  /* предотвращаем вылет широких inline-SVG графиков */
  svg{max-width:100%;height:auto}
}
/* очень узкие телефоны (Galaxy Fold ~280px, старые ~320px) */
@media(max-width:360px){
  .wrap{padding-left:10px;padding-right:10px}
  .rc-price{font-size:20px}
  .rc-title{font-size:14px}
  .g-logo{font-size:clamp(34px,16vw,52px)}
  .feed-tabs{gap:8px}
  .feed-tab{font-size:12px}
  .rc-ended-pill{font-size:12px;padding:7px 14px}
  .ah-ended-badge{font-size:14px;padding:8px 16px}
}
/* планшеты в портрете — карточки в 2 колонки, не растягиваем */
@media(min-width:601px) and (max-width:900px){
  .rgrid:not(.list-view){grid-template-columns:repeat(2,1fr)}
}
/* большие экраны — ограничиваем чрезмерную ширину контента */
@media(min-width:1600px){
  .wrap{max-width:1320px;margin-left:auto;margin-right:auto}
}
/* безопасные зоны для устройств с вырезами (iPhone notch/Dynamic Island) */
@supports(padding:max(0px)){
  body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
  .tabbar,.feed-top{padding-bottom:env(safe-area-inset-bottom)}
}
/* длинные слова/ссылки не ломают вёрстку */
.rc-title,.lpanel,.char-v,td,.rc-ended{overflow-wrap:anywhere;word-break:break-word}
.rc-ended{overflow-wrap:normal;word-break:normal}

/* Чат спора на странице сделки (3-сторонний) */
.dispute-chat{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:14px}
.dch-h{font-size:14px;font-weight:700;margin-bottom:12px;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.dch-tag{font-size:11px;font-weight:500;color:var(--muted);background:var(--bg);padding:2px 8px;border-radius:10px}
.dch-body{display:flex;flex-direction:column;gap:9px;max-height:340px;overflow-y:auto;margin-bottom:12px}
.dch-empty{color:var(--muted);font-size:13px;text-align:center;padding:18px}
.dch-sys{text-align:center;font-size:11.5px;color:var(--muted);padding:3px}
.dch-msg{border-left:3px solid;background:var(--bg);border-radius:8px;padding:8px 11px;max-width:88%}
.dch-msg.mine{align-self:flex-end;background:var(--green-l)}
.dch-meta{font-size:11px;color:var(--muted);margin-bottom:3px}
.dch-text{font-size:13px;line-height:1.4}
.dch-form{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line);padding-top:12px}
.dch-form textarea{width:100%;box-sizing:border-box;padding:9px 11px;border:1px solid var(--line);border-radius:9px;font-size:13px;font-family:inherit;resize:vertical}
.dch-closed{text-align:center;color:var(--muted);font-size:12.5px;padding:10px;border-top:1px solid var(--line)}

/* Плашка бета-теста + начисление валюты */
.beta-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:linear-gradient(100deg,rgba(27,138,71,.10),rgba(200,144,26,.10));border:1px solid rgba(27,138,71,.22);border-radius:12px;padding:9px 14px;margin:12px 0 0;font-size:13px}
.beta-tag{background:var(--green);color:#fff;font-weight:800;font-size:10.5px;letter-spacing:1px;padding:3px 8px;border-radius:6px;flex-shrink:0}
.beta-txt{flex:1;min-width:200px;color:var(--ink);line-height:1.45}
.beta-txt b{color:var(--green)}
.beta-cta{flex-shrink:0;background:var(--green);color:#fff;text-decoration:none;font-weight:600;font-size:12.5px;padding:7px 14px;border-radius:8px;white-space:nowrap;transition:.12s}
.beta-cta:hover{background:var(--green-d,#127540)}
@media(max-width:640px){.beta-bar{font-size:12px;padding:8px 11px}.beta-cta{width:100%;text-align:center}}

/* ── Микровзаимодействия (3.4) — бережно, без перегруза ─────────────── */
html{scroll-behavior:smooth}
/* Тактильный отклик на нажатие (особенно заметен в мобайле — 90% трафика РБ) */
.btn:active{transform:translateY(1px) scale(.99)}
.card:active{transform:scale(.992)}
.catbtn:active,.asort:active,.mm-cat:active{transform:scale(.97)}
/* Мягкий зум фото товара при наведении (контейнер уже overflow:hidden) */
.card .img img{transition:transform .35s cubic-bezier(.2,.7,.3,1)}
.card:hover .img img{transform:scale(1.045)}
/* Доступность: уважаем системную настройку «меньше движения» */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .card:hover{transform:none}
  .card:hover .img img{transform:none}
}

/* ── РБ-калькуляторы (inc/hub_tools_by.php: пенсия, алименты, декрет, ЖКХ, налоги, топливо, цена) ─
   Раньше эти классы нигде не объявлялись — калькуляторы рендерились без стилей. */
.tool-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px}
.tool-card h3{font-size:17px;font-weight:800;line-height:1.3;margin:0 0 16px;color:var(--ink)}
.tool-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px;flex-wrap:wrap}
.tool-row label{font-size:14px;font-weight:600;color:var(--ink2);flex:1 1 auto;min-width:130px}
.tool-row input,.tool-row select{flex:0 0 auto;width:190px;max-width:56%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font-size:15px;font-family:inherit;background:var(--surface);color:var(--ink);transition:border-color .15s}
.tool-row input:focus,.tool-row select:focus{outline:none;border-color:var(--green)}
.tool-result{margin-top:16px;padding:18px;background:var(--green-l);border:1px solid var(--line);border-radius:12px;text-align:center;min-height:42px}
@media(max-width:560px){
  .tool-card{padding:16px}
  .tool-row{align-items:stretch}
  .tool-row label{flex-basis:100%;min-width:0;margin-bottom:4px}
  .tool-row input,.tool-row select{width:100%;max-width:100%}
}

/* ═══ Адаптивная страховка: инлайн grid repeat(N,1fr) сворачиваются на мобильных ═══ */
/* Десятки страниц используют inline display:grid;grid-template-columns:repeat(3..5,1fr) без media-запросов.
   На узких экранах колонки сжимались/обрезались. Эти правила сворачивают их без правки кода страниц. */
@media(max-width:560px){
  [style*="grid-template-columns:repeat(3"],
  [style*="grid-template-columns:repeat(4"],
  [style*="grid-template-columns:repeat(5"]{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:400px){
  [style*="grid-template-columns:repeat(2"],
  [style*="grid-template-columns:repeat(3"],
  [style*="grid-template-columns:repeat(4"],
  [style*="grid-template-columns:repeat(5"]{grid-template-columns:1fr!important}
}

/* ═══ МОБИЛЬНАЯ ЗАЩИТА ОТ ПЕРЕПОЛНЕНИЯ + отступы футера (аудит 06.2026) ═══ */
@media(max-width:560px){
  /* Медиа никогда не шире контейнера */
  img,svg,video,iframe,canvas{max-width:100%;height:auto}
  /* Длинные слова, ссылки, хэши не растягивают блоки за край экрана */
  .page-narrow,.page-wide,main.wrap{overflow-wrap:break-word}
  /* Траст-полоса: ровные отступы, перенос */
  .trust-strip{padding:9px 14px;gap:10px 14px;row-gap:5px}
  /* Тёмный футер: воздух между блоками */
  .ftr{margin-top:28px}
  .ftr-cta{margin:20px 14px 6px;padding:14px 15px;gap:12px;flex-wrap:wrap}
  .ftr-cta-txt{flex:1 1 100%}
  .ftr-cta-txt b{font-size:15px}
  .ftr-cta-btn{width:100%;justify-content:center}
  .ftr .foot{padding:26px 16px 14px;gap:20px}
  .ftr-bottom{padding:14px 16px}
  /* Сетки-раскладки (сайдбар + контент) на узких экранах в один столбец */
  .cab-layout,.hl-bodywrap,.pg-now-grid{grid-template-columns:1fr!important}
}
/* Очень узкие экраны: 3-колоночные блоки статистики/погоды в один столбец, чтобы не жались */
@media(max-width:380px){
  .pg-now-grid,.tp-stats,.dv-weights,.hl-emerg{grid-template-columns:1fr 1fr!important}
}

/* ═══════════════════════════════════════════════════════════════════════
   DEFENSIVE CSS — нулевой горизонтальный сдвиг по всему проекту
   Проверенные приёмы: CSS-Tricks (flexbox truncated text), defensivecss.dev,
   BigBinary (automatic minimum size of flex items).
   ═══════════════════════════════════════════════════════════════════════ */

/* (0) Последняя линия защиты: страница НИКОГДА не сдвигается по горизонтали. */
html{overflow-x:clip}

/* (1) min-width:auto у flex/grid-элементов — главная причина переполнения.
   Разрешаем типовым строкам-контейнерам ужимать содержимое (min-width:0). */
.toolbar>*,.filter-bar,.fs-row>*,
[class*="-row"]>*,[class*="-grid"]>*,[class*="-cols"]>*,[class*="-flex"]>*{min-width:0}

/* (2) Горизонтальные «полоски» (вкладки/сегменты/чипы) — ПРОКРУТКА, а не сжатие.
   flex-shrink:0 + white-space:nowrap => текст не ломается по буквам;
   overflow-x:auto => лишнее уезжает в прокрутку. */
.sortseg,.tabs,.pill-row,.chip-row{display:flex;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.sortseg::-webkit-scrollbar,.tabs::-webkit-scrollbar,.pill-row::-webkit-scrollbar,.chip-row::-webkit-scrollbar{display:none}
.sortseg>*,.tabs>*,.pill-row>*,.chip-row>*{flex-shrink:0;white-space:nowrap}

/* (3) Длинные неразрывные строки (ссылки, хэши, ID) переносятся ТОЛЬКО при
   необходимости — overflow-wrap, а НЕ word-break:break-all (тот рвёт по буквам). */
.page-narrow,.page-wide,main.wrap{overflow-wrap:break-word}

/* (4) Любые медиа никогда не шире контейнера. */
img,svg,video,canvas,iframe,embed,object{max-width:100%;height:auto}

@keyframes dbPing{0%{transform:scale(1);opacity:.9}80%,100%{transform:scale(2.8);opacity:0}}
.feed-databit{position:relative;overflow:hidden}

/* Карточка 2.0: точки галереи + тактильный lift */
.rc-dots{position:absolute;left:0;right:0;bottom:7px;display:flex;gap:4px;justify-content:center;z-index:3}
.rc-dot{width:5px;height:5px;border-radius:99px;background:rgba(255,255,255,.55);box-shadow:0 0 3px rgba(0,0,0,.35);transition:all .15s}
.rc-dot.on{background:#fff;width:12px}
.rcard-wrap{transition:transform .16s ease,box-shadow .16s ease}
@media(hover:hover){.rcard-wrap:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(16,26,43,.13)}}
.rc-photo img{transition:opacity .12s}

/* === Anti-overflow v2: жёсткая фиксация по горизонтали (iOS-proof) === */
html{overflow-x:hidden}
body{overflow-x:hidden;overflow-x:clip;max-width:100vw;position:relative}
main,header,footer,nav[aria-label="site-nav"]{overflow-x:clip}
img,svg:not(.no-clip),video,iframe,embed,canvas{max-width:100%}
input,select,textarea{max-width:100%;box-sizing:border-box}
pre,code{overflow-wrap:anywhere}
table{max-width:100%}
@media(max-width:768px){
  .page-narrow{overflow-wrap:break-word}
}
/* 57.446: иконка-эмодзи в тех же кружках, что и шрифтовые (см. kr_icon() в inc/helpers.php) */
.kr-emoji-ic{font-size:.95em;line-height:1;font-style:normal;display:inline-flex;align-items:center;justify-content:center}
/* 57.446 скорость: тяжёлые блоки подвала браузер отрисовывает только при подлёте к ним
   (content-visibility), а contain-intrinsic-size держит их примерную высоту — без прыжков вёрстки */
.ftr .foot,.market-ticker-wrap,.trust-strip,nav[aria-label="site-nav"] .apps-cats{content-visibility:auto;contain-intrinsic-size:auto 480px}
.trust-strip{contain-intrinsic-size:auto 44px}
.market-ticker-wrap{contain-intrinsic-size:auto 150px}

/* ============================================================
   57.448 — ДИЗАЙН-СИСТЕМА: токены + выравнивание общих компонентов
   Правила аддитивные: старые классы работают, мы только выравниваем
   отступы (сетка 8 pt), радиусы, тени и шрифты общих частей шаблона.
   ============================================================ */
:root{
  /* отступы — сетка 8 pt */
  --sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;
  --gutter:clamp(16px,3vw,24px);
  /* радиусы */
  --rad-s:8px;--rad-m:12px;--rad-l:16px;--rad-xl:22px;--rad-pill:999px;
  /* тени: мягкие, многослойные */
  --sh-1:0 1px 2px rgba(16,24,40,.05);
  --sh-2:0 1px 2px rgba(16,24,40,.04),0 6px 18px -6px rgba(16,24,40,.10);
  --sh-3:0 24px 56px -16px rgba(16,24,40,.28),0 4px 12px -4px rgba(16,24,40,.08);
  /* типографика: плавные размеры от телефона до широкого экрана */
  --fs-xs:12px;--fs-s:13.5px;--fs-m:15px;
  --fs-l:clamp(16px,.45vw + 14.5px,19px);
  --fs-h2:clamp(19px,.9vw + 15px,24px);
  --fs-h1:clamp(24px,1.8vw + 17px,36px);
  --font-d:'Space Grotesk','Manrope',system-ui,sans-serif;
  /* движение */
  --ease:cubic-bezier(.22,1,.36,1);--dur:.18s;
  --ring:0 0 0 3px color-mix(in srgb,var(--green) 32%,transparent);
  --tg:#229ED9;
}
html[data-theme="dark"]{
  --sh-1:0 1px 2px rgba(0,0,0,.4);
  --sh-2:0 1px 2px rgba(0,0,0,.35),0 8px 22px -8px rgba(0,0,0,.55);
  --sh-3:0 28px 64px -18px rgba(0,0,0,.75),0 4px 12px -4px rgba(0,0,0,.4);
  --tg:#3DB4EC;
}

/* Плавные переходы между страницами (Chrome/Edge/Safari 18+; остальные просто без анимации) */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.2s;animation-timing-function:var(--ease)}
.hdr{view-transition-name:kr-hdr}
@media(prefers-reduced-motion:reduce){
  @view-transition{navigation:none}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* Доступность: видимый фокус с клавиатуры, мышью — без рамок */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--green);outline-offset:2px;border-radius:var(--rad-s)}
:where(.fld input,.fld select,.fld textarea):focus-visible{outline:none;box-shadow:var(--ring)}
::selection{background:color-mix(in srgb,var(--green) 22%,transparent)}

/* Телефон: ровный боковой отступ 16 px у всех страниц */
@media(max-width:560px){.wrap{padding-left:16px;padding-right:16px}}

/* Заголовки: единый ритм */
:where(main.wrap) h1{font-size:var(--fs-h1);line-height:1.15;letter-spacing:-.02em}
:where(main.wrap) h2{line-height:1.25;letter-spacing:-.01em}
main.wrap>article{padding-bottom:var(--sp-5)}

/* Кнопки: одинаковая высота, мягкая тень, отклик */
.btn{border-radius:var(--rad-m);transition:background var(--dur),box-shadow var(--dur),transform var(--dur) var(--ease),border-color var(--dur)}
.btn-vas,.btn-prim{box-shadow:0 1px 0 rgba(255,255,255,.15) inset,var(--sh-1)}
.btn-vas:hover,.btn-prim:hover{box-shadow:0 6px 16px -6px color-mix(in srgb,var(--green) 60%,transparent)}
.btn-sec:hover{border-color:color-mix(in srgb,var(--green) 40%,var(--line));color:var(--ink)}

/* Хлебные крошки: лёгкие, без «чёрной плашки», с прокруткой без полосы */
.crumbs,.breadcrumbs,nav.crumbs{display:flex;align-items:center;gap:2px;background:none;border:0;padding:0;margin:var(--sp-1) 0 var(--sp-4);font-size:13px;font-weight:600;overflow-x:auto;white-space:nowrap;max-width:100%;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 24px),transparent)}
.crumbs::-webkit-scrollbar{display:none}
.crumbs a,.breadcrumbs a{color:var(--muted);padding:6px 8px;border-radius:var(--rad-s);transition:color var(--dur),background var(--dur)}
.crumbs a:first-child{padding-left:0}
.crumbs a:hover,.breadcrumbs a:hover{color:var(--green);background:var(--green-l)}
.crumbs .sep{color:var(--hint);margin:0}
.crumbs .cur,.crumbs span:last-child:not(a):not(.sep),.breadcrumbs .cur{background:none;color:var(--ink);padding:6px 8px;font-weight:700;border-radius:0;max-width:60vw;overflow:hidden;text-overflow:ellipsis}

/* Карточки и секции */
.card{border-radius:var(--rad-l)}
.sec-head{margin:var(--sp-6) 0 var(--sp-4);gap:var(--sp-3)}
.sec-title{font-size:var(--fs-h2)}
.flash{border-radius:var(--rad-m);padding:var(--sp-3) var(--sp-4);border:1px solid color-mix(in srgb,currentColor 18%,transparent);line-height:1.45}

/* Поля форм */
.fld input:not([type=checkbox]):not([type=radio]),.fld select{min-height:46px}
.fld input,.fld select,.fld textarea{background:var(--surface);color:var(--ink);transition:border-color var(--dur),box-shadow var(--dur)}
.fld input:focus,.fld textarea:focus,.fld select:focus{box-shadow:var(--ring)}

/* Шапка: иконка Telegram */
.hdr-tg{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;color:var(--tg);font-size:21px;flex-shrink:0;transition:background var(--dur),transform var(--dur) var(--ease)}
.hdr-tg:hover{background:color-mix(in srgb,var(--tg) 12%,transparent);transform:translateY(-1px)}
@media(max-width:1100px){.hdr-tg{display:none}}

/* Бета-плашка: компактнее на телефоне (не съедает первый экран) */
@media(max-width:640px){
  .beta-bar{gap:8px 10px;padding:8px 10px;margin-top:8px}
  .beta-txt{min-width:0;flex-basis:calc(100% - 60px);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .beta-cta{width:auto;margin-left:auto;padding:6px 12px}
}

/* Подвал: ровные колонки, заметный канал */
.trust-strip{margin-top:var(--sp-7)}
.ftr .foot{gap:var(--sp-5) var(--sp-5)}
.ftr .fcol{gap:var(--sp-2)}
.ftr-soc{width:40px;height:40px;border-radius:var(--rad-m)}
.ftr-soc[aria-label^="Telegram"]{background:var(--tg);color:#fff}

/* Cookie-плашка (создаётся в app.js): токены вместо жёсткого белого — ровно и в тёмной теме */
#kCookie{position:fixed;left:12px;right:12px;bottom:12px;max-width:720px;margin:0 auto;z-index:9998;display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--rad-l);padding:12px 14px;box-shadow:var(--sh-3);font-size:13px;line-height:1.45}
#kCookie p{flex:1;min-width:200px;margin:0}
#kCookie a{color:var(--green);font-weight:600}
#kCookie button{border-radius:var(--rad-m);padding:10px 16px;font-weight:700;font-size:13px;line-height:1;font-family:inherit;cursor:pointer;min-height:40px}
#kCookie .ok{background:var(--green);color:#fff;border:0}
#kCookie .no{background:none;border:1px solid var(--line);color:var(--muted)}
@media(max-width:768px){#kCookie{bottom:calc(72px + env(safe-area-inset-bottom))}}

/* ============================================================
   57.448 — РОСТ: блок-приглашение, карточка Telegram, кнопки входа
   ============================================================ */
.kg-after{display:grid;gap:var(--sp-3);margin:var(--sp-6) 0 var(--sp-2);container-type:inline-size}
.kg-after:empty{display:none}
.kg-tgj .kg-tg{display:none}
[hidden].kg-inline,[hidden].kg-tg{display:none!important}
.kg-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 16px;border-radius:var(--rad-m);font-weight:700;font-size:14px;line-height:1.2;font-family:inherit;text-decoration:none;cursor:pointer;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);transition:border-color var(--dur),background var(--dur),transform var(--dur) var(--ease),box-shadow var(--dur);white-space:nowrap}
.kg-btn .ti{font-size:19px}
.kg-btn:hover{border-color:color-mix(in srgb,var(--green) 45%,var(--line));transform:translateY(-1px);box-shadow:var(--sh-2)}
.kg-btn:active{transform:none}
.kg-btn-p{background:var(--green);border-color:var(--green);color:#fff}
.kg-btn-p:hover{background:var(--vasilek-d);border-color:var(--vasilek-d)}
.kg-auth{display:flex;flex-wrap:wrap;gap:var(--sp-2)}
.kg-auth .kg-btn{flex:1 1 180px}
.kg-ic{width:44px;height:44px;border-radius:var(--rad-m);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:22px;color:var(--kg-c,var(--green));background:color-mix(in srgb,var(--kg-c,var(--green)) 13%,transparent)}
.kg-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.kg-body b{font-size:15px;line-height:1.3;color:var(--ink);letter-spacing:-.005em}
.kg-body small{font-size:13px;line-height:1.45;color:var(--muted)}
.kg-x{position:absolute;top:8px;right:8px;width:32px;height:32px;border-radius:50%;border:0;background:transparent;color:var(--hint);display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1;cursor:pointer;transition:background var(--dur),color var(--dur)}
.kg-x:hover{background:var(--bg);color:var(--ink)}
.kg-inline{position:relative;display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-4) var(--sp-4) var(--sp-3);border-radius:var(--rad-l);border:1px solid color-mix(in srgb,var(--kg-c,var(--green)) 22%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--kg-c,var(--green)) 7%,var(--surface)),var(--surface) 60%);box-shadow:var(--sh-1)}
.kg-head{display:flex;gap:var(--sp-3);align-items:flex-start;padding-right:28px}
.kg-proof{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}
.kg-proof .ti{color:var(--green);font-size:15px}
.kg-inline-u{flex-direction:row;align-items:center;padding:var(--sp-3) var(--sp-4)}
.kg-inline-u .kg-btn{flex:0 0 auto}
@container (max-width:520px){.kg-inline-u{flex-wrap:wrap}.kg-inline-u .kg-btn{width:100%}}
.kg-tg{position:relative;display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) 44px var(--sp-3) var(--sp-3);border-radius:var(--rad-l);border:1px solid color-mix(in srgb,var(--tg) 28%,var(--line));background:color-mix(in srgb,var(--tg) 6%,var(--surface))}
.kg-tg .kg-x{top:50%;transform:translateY(-50%)}
.kg-tg-ic{width:40px;height:40px;border-radius:50%;background:var(--tg);color:#fff;display:flex;align-items:center;justify-content:center;font-size:21px;flex-shrink:0}
.kg-tg .kg-body b{font-size:14px}
.kg-tg .kg-body small{font-size:12px}
.kg-tg-btn,.kg-tg-bot{flex-shrink:0;border-radius:var(--rad-pill);padding:9px 16px;font-weight:800;font-size:13px;text-decoration:none;white-space:nowrap;transition:transform var(--dur) var(--ease),box-shadow var(--dur)}
.kg-tg-btn{background:var(--tg);color:#fff}
.kg-tg-btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px -8px var(--tg)}
.kg-tg-bot{border:1.5px solid color-mix(in srgb,var(--tg) 45%,transparent);color:var(--tg)}
@media(max-width:560px){.kg-tg{flex-wrap:wrap}.kg-tg .kg-body{flex-basis:calc(100% - 56px)}.kg-tg-btn,.kg-tg-bot{flex:1;text-align:center}.kg-tg .kg-x{top:10px;transform:none}}
.kg-act{display:inline-flex;align-items:center;gap:7px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--rad-pill);padding:8px 15px;font-size:13px;font-weight:800;text-decoration:none;cursor:pointer;transition:border-color var(--dur),background var(--dur)}
.kg-act:hover{border-color:var(--green);color:var(--green)}
.kg-act.kg-on{background:var(--green-l);border-color:var(--green);color:var(--green)}
@media(max-width:560px){.kg-auth .kg-btn{flex-basis:100%}}

/* ============================================================
   57.448 — РЕГИСТРАЦИЯ / ВХОД
   ============================================================ */
.kauth{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:var(--sp-5);max-width:980px;margin:var(--sp-5) auto var(--sp-6);align-items:start}
.kauth-main{background:var(--surface);border:1px solid var(--line);border-radius:var(--rad-xl);padding:clamp(20px,3vw,36px);box-shadow:var(--sh-2)}
.kauth-main h1{font-family:var(--font-d);font-size:clamp(22px,1.6vw + 15px,30px);margin:var(--sp-3) 0 var(--sp-1)!important;letter-spacing:-.02em}
.kauth-sub{color:var(--muted);font-size:14px;margin:0 0 var(--sp-5)}
.kauth-steps{display:flex;gap:var(--sp-2);list-style:none;margin:0;padding:0;font-size:12.5px;font-weight:700;color:var(--hint)}
.kauth-steps li{display:flex;align-items:center;gap:6px;flex:1;padding-bottom:8px;border-bottom:3px solid var(--line)}
.kauth-steps li.on{color:var(--green);border-color:var(--green)}
.kauth-steps span{width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--bg);font-size:11px}
.kauth-steps li.on span{background:var(--green);color:#fff}
.kauth-oauth{margin-bottom:var(--sp-2)}
.kauth-oauth .kg-btn{flex-basis:100%;min-height:48px;font-size:15px}
.kauth-or{display:flex;align-items:center;gap:var(--sp-3);margin:var(--sp-4) 0;color:var(--hint);font-size:12.5px}
.kauth-or::before,.kauth-or::after{content:"";flex:1;height:1px;background:var(--line)}
.kauth-pw{position:relative}
.kauth-pw input{padding-right:84px!important}
.kauth-pw button{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:0;color:var(--green);font-weight:700;font-size:12.5px;font-family:inherit;cursor:pointer;padding:8px}
.kauth-meter{height:4px;border-radius:4px;background:var(--line);margin-top:8px;overflow:hidden}
.kauth-meter i{display:block;height:100%;width:0;border-radius:4px;background:var(--red);transition:width .25s var(--ease),background .25s}
.kauth-meter i.lv1{background:#E8730C}.kauth-meter i.lv2{background:#C8A21A}.kauth-meter i.lv3,.kauth-meter i.lv4{background:var(--green)}
.kauth-meter-t{font-size:12px;color:var(--muted);margin-top:5px}
.kauth-submit{width:100%;min-height:50px;font-size:15px;margin-top:var(--sp-1)}
.kauth-fine{font-size:12px;color:var(--muted);line-height:1.55;margin:var(--sp-3) 0 0}
.kauth-fine a,.kauth-switch a,.kauth-hint a{color:var(--green);font-weight:700}
.kauth-switch{margin:var(--sp-4) 0 0;font-size:14px;color:var(--muted);text-align:center}
.kauth-hint{background:var(--green-l);border:1px solid color-mix(in srgb,var(--green) 25%,transparent);border-radius:var(--rad-m);padding:10px 12px;font-size:13px;margin:-4px 0 var(--sp-3)}
.kauth-side{display:flex;flex-direction:column;gap:var(--sp-4);padding:var(--sp-2) 0}
.kauth-proof{background:linear-gradient(135deg,#14532d,#1B8A47);color:#eafff1;border-radius:var(--rad-xl);padding:var(--sp-5);box-shadow:var(--sh-2)}
.kauth-proof b{display:block;font-family:var(--font-d);font-size:clamp(32px,3vw + 12px,46px);line-height:1;letter-spacing:-.03em;color:#fff}
.kauth-proof span{display:block;margin-top:8px;font-size:14px;opacity:.9;line-height:1.45}
.kauth-perks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-3)}
.kauth-perks li{display:flex;gap:var(--sp-3);align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:var(--rad-l);padding:var(--sp-3) var(--sp-4)}
.kauth-perks .ti{width:36px;height:36px;border-radius:var(--rad-m);background:var(--green-l);color:var(--green);display:inline-flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0}
.kauth-perks b{display:block;font-size:14px}
.kauth-perks span{display:block;font-size:12.5px;color:var(--muted);line-height:1.45;margin-top:2px}
@media(max-width:820px){.kauth{grid-template-columns:1fr;margin-top:var(--sp-3)}.kauth-side{order:2}.kauth-proof{padding:var(--sp-4)}}
.auth-card .kauth-oauth{margin-top:var(--sp-2)}
.auth-card .kauth-submit{margin-top:0}

/* ============================================================
   57.448 — ГЛАВНАЯ: «Купить / Продать / Сравнить» + bento «Сейчас на Kramba»
   ============================================================ */
.g-home{justify-content:flex-start;padding-top:clamp(20px,6vh,56px);padding-bottom:var(--sp-6);width:100%}
.g-shortcuts{margin-top:var(--sp-6)}
.kh-paths{width:100%;max-width:1120px;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-3);margin:var(--sp-6) auto 0}
.kh-path{position:relative;display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4);border-radius:var(--rad-l);background:var(--surface);border:1px solid var(--line);text-decoration:none;color:var(--ink);box-shadow:var(--sh-1);transition:transform var(--dur) var(--ease),box-shadow var(--dur),border-color var(--dur)}
.kh-path:hover{transform:translateY(-2px);box-shadow:var(--sh-2);border-color:color-mix(in srgb,var(--pc) 45%,var(--line))}
.kh-path-ic{width:48px;height:48px;border-radius:14px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:24px;color:#fff;background:var(--pc);box-shadow:0 8px 18px -8px var(--pc)}
.kh-path>span:nth-child(2){flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.kh-path b{font-family:var(--font-d);font-size:19px;letter-spacing:-.01em}
.kh-path small{font-size:12.5px;color:var(--muted);line-height:1.35}
.kh-path-go{color:var(--hint);font-size:20px;transition:transform var(--dur) var(--ease),color var(--dur)}
.kh-path:hover .kh-path-go{transform:translateX(3px);color:var(--pc)}
.kh{width:100%;max-width:1120px;margin:var(--sp-4) auto 0;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--sp-3);text-align:left}
.kh>*{grid-column:span 3;min-width:0}
.kh-tile{position:relative;display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-4);border-radius:var(--rad-l);background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-1);color:var(--ink);text-decoration:none;overflow:hidden;transition:transform var(--dur) var(--ease),box-shadow var(--dur),border-color var(--dur)}
a.kh-tile:hover{transform:translateY(-2px);box-shadow:var(--sh-2);border-color:color-mix(in srgb,var(--green) 30%,var(--line))}
.kh-k{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.kh-k .ti{font-size:16px;color:var(--green)}
.kh-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}
.kh-link{font-size:13px;font-weight:700;color:var(--green);text-decoration:none;display:inline-flex;align-items:center;gap:4px}
.kh-more{margin-top:auto;padding-top:var(--sp-1);font-size:12.5px;font-weight:700;color:var(--green);display:inline-flex;align-items:center;gap:4px}
.kh-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.kh-rows li{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:var(--sp-2);font-variant-numeric:tabular-nums}
.kh-cc{font-size:13px;font-weight:700;color:var(--ink2)}
.kh-cc small{font-size:10.5px;color:var(--hint)}
.kh-rows b{font-family:var(--font-d);font-size:18px;text-align:right;letter-spacing:-.01em}
.kh-rows b small{font-size:11px;color:var(--muted);font-family:inherit}
.kh-d{font-style:normal;font-size:11.5px;font-weight:700;min-width:58px;text-align:right}
.kh-d-up{color:var(--red)}.kh-d-down{color:var(--green)}.kh-d-flat{color:var(--hint)}
.kh-fx .kh-d-up{color:var(--green)}.kh-fx .kh-d-down{color:var(--red)}
.kh-wx{background:linear-gradient(160deg,color-mix(in srgb,#0EA5E9 14%,var(--surface)),var(--surface) 70%)}
.kh-wx .kh-k .ti{color:#0EA5E9}
.kh-wx-main{display:flex;align-items:center;gap:var(--sp-2)}
.kh-wx-e{font-size:34px;line-height:1}
.kh-big{font-family:var(--font-d);font-size:44px;line-height:1;letter-spacing:-.04em}
.kh-sub{font-size:13px;color:var(--muted)}
.kh-chips{display:flex;flex-wrap:wrap;gap:6px}
.kh-chips span{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--ink2);background:var(--bg);border-radius:var(--rad-pill);padding:4px 10px}
.kh-fuel .kh-k .ti{color:#E65100}
.kh-now{background:var(--night);border-color:transparent;color:#fff}
.kh-now .kh-k{color:rgba(255,255,255,.65)}
.kh-live{width:8px;height:8px;border-radius:50%;background:#5BE5A0;box-shadow:0 0 0 0 rgba(91,229,160,.6);animation:khPing 1.8s infinite}
@keyframes khPing{0%{box-shadow:0 0 0 0 rgba(91,229,160,.55)}80%,100%{box-shadow:0 0 0 9px rgba(91,229,160,0)}}
.kh-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3) var(--sp-2);margin-top:auto}
.kh-stats>*{display:flex;flex-direction:column;text-decoration:none;color:#fff;min-width:0}
.kh-stats b{font-family:var(--font-d);font-size:24px;line-height:1.1;letter-spacing:-.02em;color:#5BE5A0}
.kh-stats span span,.kh-stats a span{font-size:11.5px;color:rgba(255,255,255,.6);line-height:1.3}
.kh-auc,.kh-new{grid-column:span 6}
.kh-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.kh-list a{display:flex;align-items:center;gap:var(--sp-3);padding:8px 0;text-decoration:none;color:var(--ink);border-top:1px solid var(--line)}
.kh-list li:first-child a{border-top:0}
.kh-list a:hover .kh-lt b{color:var(--green)}
.kh-th{width:48px;height:48px;border-radius:var(--rad-m);background:var(--bg);flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--hint);font-size:20px}
.kh-th img{width:100%;height:100%;object-fit:cover}
.kh-lt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.kh-lt b{font-size:13.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color var(--dur)}
.kh-lt small{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.kh-price{font-family:var(--font-d);font-weight:700;font-size:15px;white-space:nowrap}
.kh-lots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-2)}
.kh-lot{display:flex;flex-direction:column;gap:2px;text-decoration:none;color:var(--ink);min-width:0}
.kh-lot-ph{aspect-ratio:4/3;border-radius:var(--rad-m);background:var(--bg);overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--hint);font-size:26px;margin-bottom:4px}
.kh-lot-ph img{width:100%;height:100%;object-fit:cover;transition:transform .3s var(--ease)}
.kh-lot:hover .kh-lot-ph img{transform:scale(1.04)}
.kh-lot b{font-family:var(--font-d);font-size:15px}
.kh-lot small{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kh-garant,.kh-join,.kh>.kg-tg{grid-column:span 4}
.kh-garant{background:linear-gradient(145deg,#0f3d24,#1B8A47);border-color:transparent;color:#fff}
.kh-garant .kh-k,.kh-garant .kh-k .ti{color:rgba(255,255,255,.75)}
.kh-garant-t{font-family:var(--font-d);font-size:19px;line-height:1.25;letter-spacing:-.01em}
.kh-steps{list-style:none;margin:var(--sp-1) 0 0;padding:0;display:flex;gap:6px;counter-reset:hs;flex-wrap:wrap}
.kh-steps li{counter-increment:hs;font-size:12px;font-weight:700;background:rgba(255,255,255,.12);border-radius:var(--rad-pill);padding:5px 10px 5px 6px;display:flex;align-items:center;gap:6px}
.kh-steps li::before{content:counter(hs);width:18px;height:18px;border-radius:50%;background:#fff;color:#1B8A47;font-size:11px;display:inline-flex;align-items:center;justify-content:center}
.kh-garant .kh-more{color:#bff5d4}
.kh-join-t{font-family:var(--font-d);font-size:17px;line-height:1.3}
.kh-join .kg-auth .kg-btn{flex-basis:100%;min-height:42px;font-size:13.5px}
.kh>.kg-tg{flex-direction:column;align-items:flex-start;padding:var(--sp-4);gap:var(--sp-2)}
.kh>.kg-tg .kg-body{flex:0 0 auto}
.kh>.kg-tg .kg-x{top:8px;transform:none}
.kh>.kg-tg .kg-tg-btn{margin-top:auto}
@media(max-width:1024px){
  .kh{grid-template-columns:repeat(6,minmax(0,1fr))}
  .kh>*{grid-column:span 3}
  .kh-auc,.kh-new{grid-column:span 6}
  .kh-garant,.kh-join,.kh>.kg-tg{grid-column:span 2}
}
@media(max-width:760px){
  .kh-paths{grid-template-columns:1fr;gap:var(--sp-2);margin-top:var(--sp-5)}
  .kh-path{padding:var(--sp-3)}
  .kh-path-ic{width:42px;height:42px;font-size:21px}
  .kh{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-2)}
  .kh>*,.kh-garant,.kh-join,.kh>.kg-tg{grid-column:span 2}
  .kh-fx,.kh-wx,.kh-fuel,.kh-now{grid-column:span 1}
  .kh-tile{padding:var(--sp-3)}
  .kh-rows b{font-size:15px}
  .kh-rows li{grid-template-columns:1fr auto;row-gap:0}
  .kh-rows .kh-d{grid-column:1/-1;text-align:left;min-width:0}
  .kh-big{font-size:36px}
  .kh-stats b{font-size:20px}
  .kh-lots{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:380px){.kh-fx,.kh-wx,.kh-fuel,.kh-now{grid-column:span 2}}
html[data-theme="dark"] .kh-now{background:#0b0d11;border-color:var(--line)}
html[data-theme="dark"] .g-search{border-color:var(--line)}
html[data-theme="dark"] .g-btn{background:var(--surface);border-color:var(--line);color:var(--ink2)}
html[data-theme="dark"] .g-top a{color:var(--ink2)}
html[data-theme="dark"] .g-foot{background:var(--night);border-color:var(--line);color:#aab0b6}
html[data-theme="dark"] .g-foot-line a{color:var(--muted)}
/* bento без «дыр»: 3 плитки сверху → по 4 колонки, 2 → по 6; один список во втором ряду → 8 + Гарант 4 */
.kh--t3 .kh-q{grid-column:span 4}
.kh--t2 .kh-q{grid-column:span 6}
.kh--one .kh-auc,.kh--one .kh-new{grid-column:span 8}
.kh--one .kh-join,.kh--one>.kg-tg{grid-column:span 6}
@media(max-width:1024px){.kh--one .kh-auc,.kh--one .kh-new{grid-column:span 6}.kh--one .kh-garant{grid-column:span 6}.kh--one .kh-join,.kh--one>.kg-tg{grid-column:span 3}.kh--t3 .kh-q{grid-column:span 2}.kh--t2 .kh-q{grid-column:span 3}}
@media(max-width:760px){.kh .kh-q{grid-column:span 1}.kh--t3 .kh-now{grid-column:span 2}.kh--one .kh-auc,.kh--one .kh-new,.kh--one .kh-garant,.kh--one .kh-join,.kh--one>.kg-tg{grid-column:span 2}}
@media(max-width:380px){.kh .kh-q{grid-column:span 2}}
/* подвал: ровная сетка колонок без «висящей» последней колонки */
@media(min-width:1101px){.ftr .foot{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:1360px){.ftr .foot{grid-template-columns:repeat(8,minmax(0,1fr))}}
@media(min-width:641px) and (max-width:1100px){.ftr .foot{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.ftr .foot{grid-template-columns:repeat(2,minmax(0,1fr))}}

.kg-inline .kg-auth .kg-btn{flex:0 1 auto;min-width:220px}
@media(max-width:560px){.kg-inline .kg-auth .kg-btn{flex:1 1 100%;min-width:0}}
html[data-theme="dark"] .g-search{background:var(--surface)}
html[data-theme="dark"] .g-search input{background:transparent}
.kauth-mproof{display:none}
@media(max-width:820px){.kauth-mproof{display:flex;align-items:center;gap:6px;margin:-12px 0 var(--sp-4);font-size:13px;font-weight:700;color:var(--green)}}
/* телефон: «Купить/Продать/Сравнить» — компактный ряд из трёх плиток; «Сейчас» и топливо — на всю ширину */
@media(max-width:760px){
  .kh-paths{grid-template-columns:repeat(3,minmax(0,1fr))}
  .kh-path{flex-direction:column;align-items:flex-start;gap:var(--sp-2);padding:var(--sp-3)}
  .kh-path small,.kh-path-go{display:none}
  .kh-path b{font-size:16px}
  .kh .kh-now,.kh .kh-fuel,.kh--t2 .kh-wx{grid-column:span 2}
  .kh-now .kh-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
  .kh-stats b{font-size:19px}
  .kh-stats span span,.kh-stats a span{font-size:11px}
  .kh-fuel .kh-rows li{grid-template-columns:auto 1fr auto}
  .kh-fuel .kh-rows .kh-d{grid-column:auto;text-align:right;min-width:58px}
}

/* ============================================================
   57.449 — Медиа-страховка (assets/js/media-guard.js)
   Картинка не загрузилась ни по одному адресу → заглушка по типу (класс mg-ph + mg-ph-<тип>).
   Заглушка вписывается целиком (contain) на нейтральном фоне, размеры блока не прыгают.
   ============================================================ */
img.mg-ph{object-fit:contain!important;background:#EEF1F4}
img.mg-ph-avatar{object-fit:cover!important;background:transparent}
img.mg-ph-product{background:#F4F6F8}
[data-theme="dark"] img.mg-ph{background:#1E2430}
[data-theme="dark"] img.mg-ph-avatar{background:transparent}

/* ============================================================
   57.450 — UX/UI-АУДИТ: контраст (WCAG 2.2 AA), мобильная эргономика, единые компоненты.
   Все цвета — через токены из :root (см. начало файла). Никаких новых «сырых» цветов в страницах.
   ============================================================ */

/* --- 1. Текст на зелёной заливке: в тёмной теме — тёмный (--on-accent), иначе белый на ярком зелёном = 2.7:1 --- */
:is(.btn-prim,.btn-vas,.hdr .cta,.hdr-cta,.hdr-cat.on,.listing-cta-btn.primary,.beta-tag,.beta-cta,.ftr-cta-btn,.kg-btn-p,
    .sortseg a.on,.catchip.on,.catnav-item.on,.sort-chip.on,.filter-chip.on,.fs-chip.on,.hc-cat.on,.asort.on,
    .view-toggle button.on,.pct-tab.on,.csc-btn.prim,.fb-submit,.rc-qbtn.buy,.sticky-buy .sb-btn,#kCookie .ok,
    .kauth-steps li.on span,.ocb.accept,.g-signin,.ed.done,.dt-step.done .dt-dot,.chat-msg.out,.fi-cta.auc,
    .sell-step-num,.ds-num,.hb-p,.vb-ai,.quiz-btn,.fc-badge,.wallet .wl-btn){color:var(--on-accent)}
html[data-theme="dark"] :is(.beta-tag,.beta-cta,.ftr-cta-btn,.kg-btn-p,.g-signin,.catnav-item.on,.sortseg a.on,.catchip.on){color:var(--on-accent)!important}
.beta-cta:hover{background:var(--vasilek-d)}

/* --- 2. Подвал всегда тёмный: серый текст 3.94 → 5.6:1, зелёные ссылки 4.0 → 6.6:1 --- */
.ftr .fbrand p,.ftr-copy{color:var(--ftr-muted)}
.ftr .fcol a{color:var(--ftr-link)}
.ftr a:not(.ftr-cta-btn):not(.ftr-soc):hover,.ftr .fcol a:hover{color:var(--ftr-accent)}
.ftr .fbrand .logo .dot,.ftr-copy a,.ftr .ba{color:var(--ftr-accent)}
/* телефон: подвал доходит до нижней панели — без серой полосы под ним */
@media(max-width:768px){.ftr{margin-bottom:-60px;padding-bottom:60px}}

/* --- 3. Telegram-кнопки: белый на фирменном голубом = 3.0:1 → заливка --tg-fill --- */
.kg-tg-btn,.ftr-soc[aria-label^="Telegram"]{background:var(--tg-fill);color:var(--on-accent)}
.tg-cta-btn{background:var(--tg-fill)!important;color:var(--on-accent)!important}

/* --- 4. Мелкие пары, не проходившие AA --- */
.hdr-feed{color:var(--red-d)}
html[data-theme="dark"] .hdr-feed{color:var(--red)}
.logo-pill{color:color-mix(in srgb,var(--pc,var(--info)) 62%,var(--ink))}
html[data-theme="dark"] .logo-pill{color:color-mix(in srgb,var(--pc,var(--info)) 55%,var(--on-dark))}
.g-top a:not(.g-signin){color:var(--ink2)}
.g-apps-btn,.g-tool{color:var(--muted)}

/* --- 5. Цели касания ≥ 24×24 (WCAG 2.5.8): иконки в строке поиска на главной --- */
.g-tool{min-width:32px;min-height:32px;justify-content:center;border-radius:var(--rad-s)}
.g-tool:hover{background:var(--bg)}
.back-results{display:inline-flex;align-items:center;gap:6px;min-height:32px}

/* --- 6. Главная: верхняя строка по сетке контента (раньше кнопка «Войти» вылезала за край колонки) --- */
.g-top{max-width:1200px;width:100%;margin:0 auto;padding:14px 20px}
.g-slogan{text-align:center}
@media(max-width:560px){.g-top{padding:10px 16px;gap:14px}}

/* --- 7. Телефон: ровное поле 16 px (старое правило !important давало 14 px) --- */
@media(max-width:560px){.wrap{padding-left:16px!important;padding-right:16px!important}}

/* --- 8. Бета-плашка: одна строка на телефоне, не прячется за «Получить бонус» на второй строке.
          На страницах входа/регистрации не показываем — там она дублирует главную кнопку. --- */
@media(max-width:640px){
  .beta-bar{flex-wrap:nowrap;align-items:center;padding:8px 10px;gap:8px;font-size:12px}
  .beta-tag{font-size:9.5px;padding:2px 6px}
  .beta-txt{flex:1 1 auto;min-width:0}
  .beta-cta{width:auto;margin-left:0;padding:8px 11px;font-size:12px;min-height:32px;display:inline-flex;align-items:center}
}
/* 57.455: на узких телефонах (≤374 px: iPhone SE/mini, старые Android) текст плашки шёл колонкой в ~100 px,
   и длинное слово «Зарегистрируйтесь» вылезало за край — кнопку переносим на свою строку */
@media(max-width:374px){
  .beta-bar{flex-wrap:wrap}
  .beta-txt{flex:1 1 calc(100% - 60px);overflow-wrap:anywhere}
  .beta-cta{margin-left:auto}
}
body:has(.kauth) .wrap:has(>.beta-bar){display:none}

/* --- 9. Герои справочных страниц (45 шаблонов .trust-hero): на телефоне компактнее — ответ виден на первом экране --- */
@media(max-width:560px){
  .trust-hero{padding:18px 16px!important;text-align:left;border-radius:var(--rad-l)}
  .trust-hero .th-ic{display:none}
  .trust-hero h1{font-size:22px!important;margin-bottom:6px;display:block}
  .trust-hero p{font-size:13.5px!important;margin:0}
}

/* --- 10. Кнопки-пилюли «На полку» / «в Telegram» (inc/shelf.php, tg_topic_cta) — единый компонент --- */
.k-pill{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:7px 15px;border-radius:var(--rad-pill);
  border:1.5px solid var(--line);background:var(--surface);color:var(--ink);font-family:inherit;font-weight:800;font-size:12.5px;line-height:1.2;
  text-decoration:none;cursor:pointer;transition:border-color var(--dur),background var(--dur),transform var(--dur) var(--ease)}
.k-pill .ti{font-size:16px}
.k-pill:hover{border-color:color-mix(in srgb,var(--green) 55%,var(--line));transform:translateY(-1px)}
.k-pill:active{transform:translateY(0)}
.k-pill.is-on{border-color:var(--green);background:var(--green-l);color:var(--green)}
.k-pill-tg{background:var(--tg-fill);border-color:var(--tg-fill);color:var(--on-accent)}
.k-pill-tg:hover{border-color:var(--tg-fill);filter:brightness(1.06)}

/* --- 11. Раскрывающиеся FAQ (<details> без своего оформления): аккуратный шеврон вместо системного треугольника.
           Только для details/summary БЕЗ классов — у остальных свои маркеры. --- */
details:not([class])>summary:not([class]){list-style:none;cursor:pointer;position:relative;padding-right:28px;min-height:24px}
details:not([class])>summary:not([class])::-webkit-details-marker{display:none}
details:not([class])>summary:not([class])::after{content:"";position:absolute;right:6px;top:50%;width:8px;height:8px;margin-top:-6px;
  border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform var(--dur) var(--ease)}
details[open]:not([class])>summary:not([class])::after{transform:rotate(-135deg);margin-top:-2px}

/* --- 12. Карточка лота (pages/listing.php) --- */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.lot-media-links{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-3)}
.lot-media-links .k-pill{flex:1 1 auto;justify-content:center}
.lot-cta-note{margin:var(--sp-1) 0 0;font-size:12.5px;line-height:1.5;color:var(--muted);text-align:center}
.lot-cta-note .ti{color:var(--green)}
.lot-cta-note a{color:var(--green);font-weight:700;text-decoration:underline;text-underline-offset:2px}
.gallery .thumbs .th:focus-visible{outline:2px solid var(--green);outline-offset:2px}
/* телефон: сначала фото → название, цена и кнопка «Купить» → описание и остальное.
   Раньше цена и кнопка оказывались ниже описания, отзывов и паспорта (≈5000 px прокрутки). */
@media(max-width:768px){
  .lwrap{display:flex!important;flex-direction:column;gap:0!important}
  .lwrap>.gallery{display:contents}
  .lwrap>.gallery>*{order:3}
  .lwrap>.gallery>.main,.lwrap>.gallery>.thumbs,.lwrap>.gallery>.lot-media-links{order:1}
  .lwrap>.lside-sticky{order:2;margin-top:var(--sp-4)}
  .lwrap>.gallery>.listing-actions-bar{margin-top:var(--sp-4)}
  .lside-sticky{max-height:none!important;overflow:visible!important}
  /* 57.543: в колонке flex блоки тянутся на всю ширину и не шире экрана (раньше align-self:start давал ширину по содержимому — блоки обрезались справа) */
  .lwrap>*,.lwrap>.gallery>*{align-self:stretch!important;min-width:0;max-width:100%}
  .lside-sticky .lpanel,.lside-sticky .guarantees>*{min-width:0}
}
/* липкая панель действия (только телефон) — над нижним меню, в зоне большого пальца */
.lot-sbar{display:none}
@media(max-width:768px){
  .lot-sbar{display:flex;align-items:center;gap:var(--sp-3);position:fixed;left:0;right:0;z-index:190;
    bottom:calc(58px + env(safe-area-inset-bottom));padding:10px 16px;background:color-mix(in srgb,var(--surface) 94%,transparent);
    -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);box-shadow:var(--sh-3);
    transform:translateY(calc(100% + 70px));transition:transform .22s var(--ease);pointer-events:none}
  .lot-sbar.on{transform:none;pointer-events:auto}
  .lot-sbar-p{display:flex;flex-direction:column;min-width:0;line-height:1.15}
  .lot-sbar-p small{font-size:11.5px;color:var(--muted)}
  .lot-sbar-p b{font:800 19px/1.2 var(--font-d);color:var(--ink);white-space:nowrap}
  .lot-sbar .listing-cta-btn{flex:1;width:auto;min-height:46px;padding:12px 14px;font-size:14.5px}
}
.lwrap .gallery .main{width:100%}
.lot-badge{display:inline-flex;align-items:center;gap:4px;background:color-mix(in srgb,var(--info) 10%,var(--surface));color:var(--info);
  border:1px solid color-mix(in srgb,var(--info) 25%,var(--line));border-radius:var(--rad-s);padding:4px 10px;font-size:11.5px;font-weight:800;vertical-align:middle}

/* --- 13. Поля ввода: различимая рамка (WCAG 1.4.11 «нетекстовый контраст» ≥ 3:1) --- */
.fld input:not([type=checkbox]):not([type=radio]),.fld select,.fld textarea{border-color:var(--line-field)}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--green)}
.fld small{display:block;margin-top:6px;font-size:12.5px;color:var(--muted)}
.fld input[aria-invalid=true],.fld select[aria-invalid=true],.fld textarea[aria-invalid=true]{border-color:var(--red)}

/* --- 14. Гарант: /zashchiti-sdelku (pages/zashchiti_sdelku.php) --- */
.gz{max-width:1080px;margin:var(--sp-3) auto var(--sp-7)}
.gz-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:var(--sp-6);align-items:center;padding:var(--sp-6);border-radius:var(--rad-xl);
  background:radial-gradient(120% 140% at 0 0,color-mix(in srgb,var(--green) 16%,var(--surface)),var(--surface) 60%);border:1px solid var(--line);box-shadow:var(--sh-2)}
.gz-eyebrow{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--green)}
.gz-eyebrow .ti{font-size:17px}
.gz-hero h1{font-family:var(--font-d);font-size:var(--fs-h1);line-height:1.1;letter-spacing:-.02em;margin:var(--sp-2) 0 var(--sp-3)}
.gz-lead{font-size:var(--fs-l);line-height:1.6;color:var(--ink2);max-width:52ch}
.gz-facts{list-style:none;display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-4);margin-top:var(--sp-4);padding:0}
.gz-facts li{display:flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;color:var(--ink2)}
.gz-facts .ti{color:var(--green);font-size:17px}
.gz-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--rad-l);padding:var(--sp-5);box-shadow:var(--sh-3)}
.gz-card-h{font-family:var(--font-d);font-size:19px;margin:0 0 var(--sp-3)}
.gz-mini-steps{counter-reset:gz;list-style:none;padding:0;margin:0 0 var(--sp-4);display:grid;gap:var(--sp-2)}
.gz-mini-steps li{counter-increment:gz;display:flex;align-items:center;gap:var(--sp-3);font-size:14px;color:var(--ink2)}
.gz-mini-steps li::before{content:counter(gz);flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:13px;background:var(--green-l);color:var(--green)}
.gz-cta{width:100%;min-height:50px;font-size:15.5px;border-radius:var(--rad-m)}
.gz-note{margin-top:var(--sp-3);font-size:12.5px;color:var(--muted);text-align:center}
.gz-note a{color:var(--green);font-weight:700;text-decoration:underline;text-underline-offset:2px}
.gz-opt{font-weight:500;color:var(--muted)}
.gz-form .fld{margin-bottom:var(--sp-3)}
.gz-form textarea{min-height:64px}
.gz-msg{background:var(--green-l);border-radius:var(--rad-m);padding:var(--sp-3) var(--sp-4);font-size:13.5px;margin-bottom:var(--sp-3)}
.gz-ready{display:grid;gap:var(--sp-3);background:var(--green-l);border:1px solid color-mix(in srgb,var(--green) 30%,transparent);border-radius:var(--rad-m);padding:var(--sp-4);margin-bottom:var(--sp-4)}
.gz-ready b{display:flex;align-items:center;gap:6px;color:var(--green)}
.gz-ready-row{display:flex;gap:var(--sp-2)}
.gz-ready-row input{flex:1;min-width:0;border:1.5px solid var(--line-field);border-radius:var(--rad-s);padding:10px 12px;font:13px ui-monospace,monospace;background:var(--surface);color:var(--ink)}
.gz-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:8px 16px;border-radius:var(--rad-s);border:1.5px solid var(--line-field);
  background:var(--surface);color:var(--ink);font:inherit;font-weight:800;font-size:13px;cursor:pointer;white-space:nowrap;transition:border-color var(--dur),color var(--dur)}
.gz-btn:hover{border-color:var(--green);color:var(--green)}
.gz-btn.is-done{border-color:var(--green);background:var(--green-l);color:var(--green)}
.gz-btn-s{min-height:34px;padding:6px 12px;font-size:12.5px}
.gz-btn-link{background:none;border:none;color:var(--muted);font:inherit;font-size:12.5px;cursor:pointer;text-decoration:underline;min-height:32px;padding:0 6px}
.gz-btn-link:hover{color:var(--red)}
.gz-inline{display:inline}
.gz-sec{margin-top:var(--sp-7)}
.gz-h2{font-family:var(--font-d);font-size:var(--fs-h2);letter-spacing:-.01em;margin:0 0 var(--sp-4)}
.gz-sub{color:var(--muted);font-size:14px;margin:calc(-1 * var(--sp-2)) 0 var(--sp-4)}
.gz-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-3);counter-reset:gzs}
.gz-steps li{counter-increment:gzs;position:relative;display:flex;flex-direction:column;gap:6px;padding:var(--sp-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--rad-l)}
.gz-steps li::after{content:counter(gzs);position:absolute;top:var(--sp-3);right:var(--sp-4);font:800 28px/1 var(--font-d);color:var(--line)}
.gz-steps b{font-size:15px}
.gz-steps span:not(.gz-step-ic){font-size:13.5px;color:var(--muted);line-height:1.5}
.gz-step-ic{width:40px;height:40px;border-radius:var(--rad-m);display:grid;place-items:center;background:var(--green-l);color:var(--green);font-size:21px;margin-bottom:var(--sp-1)}
.gz-aeo{margin-top:var(--sp-4);padding:var(--sp-4) var(--sp-5);border-left:3px solid var(--green);background:var(--surface);border-radius:0 var(--rad-m) var(--rad-m) 0}
.gz-aeo p{margin:0;font-size:15px;line-height:1.7;color:var(--ink2)}
.gz-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-3)}
.gz-case{padding:var(--sp-5);background:var(--surface);border:1px solid var(--line);border-radius:var(--rad-l)}
.gz-case-ic{width:40px;height:40px;border-radius:var(--rad-m);display:grid;place-items:center;background:var(--bg);color:var(--ink2);font-size:21px}
.gz-case h3{font-size:16px;margin:var(--sp-3) 0 6px}
.gz-case p{margin:0;font-size:14px;line-height:1.6;color:var(--muted)}
.gz-tpl{display:flex;gap:var(--sp-3);align-items:flex-start;padding:var(--sp-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--rad-m);margin-bottom:var(--sp-2)}
.gz-tpl p{flex:1;margin:0;font-size:14px;line-height:1.6;color:var(--ink2)}
.gz-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--rad-l);background:var(--surface)}
.gz-table{width:100%;border-collapse:collapse;font-size:14px;min-width:560px}
.gz-table th,.gz-table td{padding:12px 16px;text-align:left;vertical-align:top;border-top:1px solid var(--line)}
.gz-table thead th{border-top:none;background:var(--bg);color:var(--muted);font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.gz-table tbody th{font-weight:700}
.gz-bad{color:var(--red)}.gz-good{color:var(--green);font-weight:700}
.gz-faq{background:var(--surface);border:1px solid var(--line);border-radius:var(--rad-m);margin-bottom:var(--sp-2)}
.gz-faq summary{list-style:none;cursor:pointer;padding:var(--sp-4) 48px var(--sp-4) var(--sp-4);font-weight:700;font-size:15px;position:relative}
.gz-faq summary::-webkit-details-marker{display:none}
.gz-faq summary::after{content:"";position:absolute;right:20px;top:50%;width:8px;height:8px;margin-top:-6px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform var(--dur) var(--ease)}
.gz-faq[open] summary::after{transform:rotate(-135deg);margin-top:-2px}
.gz-faq p{margin:0;padding:0 var(--sp-4) var(--sp-4);font-size:14px;line-height:1.65;color:var(--muted)}
.gz-more{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-6)}
.gz-final{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);margin-top:var(--sp-6);padding:var(--sp-5) var(--sp-6);border-radius:var(--rad-xl);background:var(--night);color:var(--on-dark)}
.gz-final b{display:block;font-family:var(--font-d);font-size:20px}
.gz-final span{color:var(--ftr-muted);font-size:14px}
.gz-final .gz-cta{width:auto;padding:0 28px}
.gz-link{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--rad-m);margin-bottom:var(--sp-2);font-size:13.5px}
.gz-links{list-style:none;padding:0;margin:0}
.gz-link-t{flex:1;min-width:160px}
.gz-link-sum{color:var(--green);font-weight:800}
.gz-link-views{color:var(--muted)}
.gz-tag{font-size:12px;color:var(--muted)}
.gz-tag-ok{display:inline-flex;align-items:center;gap:4px;background:var(--green-l);color:var(--green);border-radius:var(--rad-s);padding:5px 10px;font-weight:800}
@media(max-width:860px){
  .gz-hero{grid-template-columns:minmax(0,1fr);padding:var(--sp-5) var(--sp-4);gap:var(--sp-5)}
  .gz-hero>*{min-width:0;overflow-wrap:anywhere}
  .gz-steps{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .gz-hero{padding:var(--sp-4);border-radius:var(--rad-l)}
  .gz-card{padding:var(--sp-4)}
  .gz-grid{grid-template-columns:1fr}
  .gz-sec{margin-top:var(--sp-6)}
  .gz-tpl{flex-direction:column}
  .gz-final{flex-direction:column;align-items:stretch;text-align:left;padding:var(--sp-5) var(--sp-4)}
  .gz-final .gz-cta{width:100%}
}

/* --- 15. /sell для гостя: кнопка в герое --- */
.sell-hero-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--sp-3) var(--sp-5);margin-top:var(--sp-5);position:relative;z-index:1}
.sell-hero-cta .btn{min-height:50px;padding:0 26px;font-size:15.5px}
.sell-hero-login{color:var(--on-dark);font-weight:700;font-size:14px;text-decoration:underline;text-underline-offset:3px;min-height:32px;display:inline-flex;align-items:center}
@media(max-width:560px){.sell-hero-cta{justify-content:flex-start}.sell-hero-cta .btn{width:100%}}
.gz-note a,.lot-cta-note a{white-space:nowrap}
/* шапка, тёмная тема: поле поиска без «вкладыша» другого цвета */
html[data-theme="dark"] .hdr .search input,html[data-theme="dark"] .mbar .search input{background:transparent}

/* --- 16. Курсы: подписка на курс и компактный герой на телефоне (pages/kursy.php) --- */
.cur-alert{display:flex;align-items:center;gap:var(--sp-3) var(--sp-4);flex-wrap:wrap;margin:var(--sp-4) 0;padding:var(--sp-4);
  background:var(--green-l);border:1px solid color-mix(in srgb,var(--green) 25%,transparent);border-radius:var(--rad-l)}
.cur-alert-ic{width:40px;height:40px;flex:none;border-radius:var(--rad-m);display:grid;place-items:center;background:var(--surface);color:var(--green);font-size:21px}
.cur-alert-t{flex:1;min-width:220px;display:flex;flex-direction:column;gap:2px}
.cur-alert-t b{font-size:14.5px}
.cur-alert-t span{font-size:13px;color:var(--muted)}
.cur-alert .btn{min-height:44px;padding:0 18px}
@media(max-width:560px){
  .cur-hero{padding:18px 16px!important;text-align:left!important;border-radius:var(--rad-l)!important;margin-bottom:var(--sp-4)!important}
  .cur-hero-ic{display:none}
  .cur-hero h1{font-size:22px!important;margin-bottom:6px!important}
  .cur-hero p{font-size:13.5px!important;margin:0!important}
  .cur-alert .btn{width:100%}
}

/* --- 17. Карточка объявления: чипы и метки (inc/layout.php render_rich_card) — на токенах, без эмодзи --- */
.rc-chip{display:inline-flex;align-items:center;gap:3px;border-radius:7px;padding:2px 8px;font-size:10.5px;font-weight:800;line-height:1.5}
.rc-chip .ti{font-size:12px}
.rc-chip-drop{background:color-mix(in srgb,var(--violet) 12%,var(--surface));color:color-mix(in srgb,var(--violet) 80%,var(--ink))}
.rc-chip-offer{background:color-mix(in srgb,var(--violet) 8%,var(--surface));color:color-mix(in srgb,var(--violet) 80%,var(--ink))}
.rc-chip-new{background:color-mix(in srgb,var(--info) 10%,var(--surface));color:var(--info)}
.rc-kind{display:inline-flex;align-items:center;gap:4px;font-weight:800}
.rc-want{display:inline-flex;align-items:center;gap:3px;color:var(--red);font-weight:800}
html[data-theme="dark"] .rc-chip-drop,html[data-theme="dark"] .rc-chip-offer{color:color-mix(in srgb,var(--violet) 45%,var(--on-dark))}

/* --- 18. Контраст «наследия»: старые цвета, вписанные прямо в style="…" страниц ---
   Фирменный зелёный #1B8A47 в сотнях инлайн-стилей давал 4.0–4.4:1. Переадресуем его на токен --green
   (в светлой теме 5.0:1 на белом, в тёмной — светлый зелёный). Это «прокладка» на время, пока страницы
   переводятся на классы; новые страницы пишем сразу на токенах. */
[style*="color:#1B8A47" i]:not([style*="background:#1B8A47" i]):not([style*="background-color:#1B8A47" i]),
[style*="color: #1B8A47" i]:not([style*="background" i]){color:var(--green)!important}
[style*="background:#1B8A47" i],[style*="background-color:#1B8A47" i],[style*="background: #1B8A47" i]{background-color:var(--green)!important;color:var(--on-accent)!important}
[style*="border-color:#1B8A47" i]{border-color:var(--green)!important}
[style*="color:#E8B43A" i]:not([style*="background" i]){color:var(--amber)!important}
.ftr .ftr-copy a,.ftr .logo .ba,.ftr .logo .dot{color:var(--ftr-accent)!important}
.crumbs .sep{color:var(--muted)}
.tg-band-btn{background:var(--tg-fill);color:var(--on-accent)}

/* --- 19. Акцентные цвета разделов (--hub-c в справочниках, --tc в калькуляторах, --mbc в «мосте в доску»):
   яркие акценты (оранжевый, бирюзовый, красный) с белым текстом давали 3.0–3.8:1. Ограничиваем светлоту
   в OKLCH: заливки под белым текстом — не светлее L 0.5, цветной текст на светлом фоне — тоже;
   в тёмной теме цветной текст — не темнее L 0.74. Старые браузеры получают исходный цвет (строка выше). --- */
html body :is(.hub-btn,.hub-chip.on,.tc-btn.tc-primary){background:var(--hub-c,var(--tc,var(--green)));background:oklch(from var(--hub-c,var(--tc,var(--green))) min(l,.5) c h)}
html body :is(.hub-btn,.hub-chip.on,.tc-btn.tc-primary){border-color:transparent}
html body .tc-btn.tc-primary{background:oklch(from var(--tc,var(--green)) min(l,.5) c h)}
html body :is(.hub-answer .hub-answer-k,.tc-aeo-l){color:oklch(from var(--hub-c,var(--tc,var(--green))) min(l,.5) c h)}
html body .tc-aeo-l{color:oklch(from var(--tc,var(--green)) min(l,.5) c h)}
html body .mb-lot-p{color:oklch(from var(--mbc,var(--green)) min(l,.5) c h)}
html[data-theme="dark"] body :is(.hub-answer .hub-answer-k){color:oklch(from var(--hub-c,var(--green)) max(l,.74) c h)}
html[data-theme="dark"] body .tc-aeo-l{color:oklch(from var(--tc,var(--green)) max(l,.74) c h)}
html[data-theme="dark"] body .mb-lot-p{color:oklch(from var(--mbc,var(--green)) max(l,.74) c h)}

/* --- 20. Тёмная тема: «наследие» инлайн-стилей.
   В 104 файлах есть style="background:#eef8f1 / #fff …" — в тёмной теме такие плашки оставались светлыми,
   а текст в них становился светлым (1.1:1, не читается). Переводим светлые инлайн-фоны на поверхность темы,
   а тёмные инлайн-цвета текста (#0…–#3…) — на светлый текст. Фирменный зелёный обрабатывается правилом выше. --- */
html[data-theme="dark"] :is([style*="background:#e" i],[style*="background:#f" i],[style*="background: #e" i],[style*="background: #f" i],
  [style*="background-color:#e" i],[style*="background-color:#f" i],[style*="deg,#e" i],[style*="deg,#f" i]){
  background:color-mix(in srgb,var(--surface),var(--on-dark) 4%)!important;color:var(--ink)!important;border-color:var(--line)!important}
html[data-theme="dark"] :is([style*="color:#0" i],[style*="color:#1" i],[style*="color:#2" i],[style*="color:#3" i]):not([style*="#1B8A47" i]):not([style*="background" i]):not(.hub-grid2 *){color:var(--ink2)!important}
html[data-theme="dark"] :is(.hdr-user,.btn-sec){color:var(--ink)}
html[data-theme="dark"] :is(.pp-h,.pp-tier,.trust-light.green,.trust-light.green .tbar){color:var(--green)}
:is(.ts-item,.sellerbig .sav,.rc-seller .av,.sm-av,.cur-ctab.active,.absim-btn,.cmp-btn,.asort.on,.aucf a.on){color:var(--on-accent)}
/* превью информера в справочниках — это «как будет на чужом белом сайте»: текст всегда тёмный */
html[data-theme="dark"] .hub-card .hub-grid2>div:last-child{color:var(--night)}

/* --- 21. Кабинет: промо «Мой сезон» на телефоне — одна строка, не отодвигает меню кабинета --- */
@media(max-width:560px){
  html .cab-mysezon{padding:12px 14px;gap:10px;border-radius:var(--rad-l)}
  html .cab-mysezon small{display:none}
  html .cab-mysezon .cab-ms-ic{width:36px;height:36px}
  html .cab-mysezon b{font-size:14px}
}
/* админка: бета-плашка сайта над рабочим местом — лишний шум, скрываем */
body:has(.adm) .wrap:has(>.beta-bar){display:none}

/* --- 22. Пустые состояния (каталог, аукционы, кабинет): всё по центру, ровные отступы, 1–2 действия --- */
.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--sp-7) var(--sp-4)!important;color:var(--muted)}
.empty-state .es-ic{width:72px;height:72px;border-radius:50%;background:var(--surface);border:1px solid var(--line);display:grid;place-items:center;margin:0 auto var(--sp-4)}
.empty-state .es-ic i{font-size:32px!important;color:var(--muted)}
.empty-state h3{font-family:var(--font-d);font-size:20px;color:var(--ink);margin:0 0 var(--sp-2)}
.empty-state p{font-size:14.5px;line-height:1.6;max-width:46ch;margin:0 auto var(--sp-4)!important}
.es-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--sp-2) var(--sp-3)}
.es-actions .btn{min-height:46px;padding:0 22px;font-size:14.5px}
.btn-sec{background:var(--surface);border:1.5px solid var(--line-field);color:var(--ink)}
.btn-sec:hover{border-color:var(--green);color:var(--green)}
/* фильтры каталога и шторка фильтров: рамка полей 3:1 */
:is(.fb-select,.fb-price-input,.fs-input,.io-input,.bidform input){border-color:var(--line-field)}
:is(.fb-select,.fb-price-input,.fs-input,.io-input,.bidform input):focus{border-color:var(--green);box-shadow:var(--ring)}

/* --- 23. Подача объявления (pages/sell.php) --- */
.sell-perks{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-4);font-size:13px;color:var(--ink2);margin:var(--sp-2) 0 var(--sp-4)}
.sell-perks span{display:inline-flex;align-items:center;gap:6px}
.sell-perks .ti{color:var(--green);font-size:16px}
.sell-quick{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--sp-2) var(--sp-3);margin:0 0 var(--sp-4)}
.sell-import{flex:1 1 320px;background:var(--surface);border:1px solid var(--line);border-radius:var(--rad-m)}
.sell-import>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;min-height:44px;padding:0 var(--sp-4);font-weight:700;font-size:13.5px}
.sell-import>summary::-webkit-details-marker{display:none}
.sell-import>summary::after{content:"";margin-left:auto;width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform var(--dur) var(--ease)}
.sell-import[open]>summary::after{transform:rotate(-135deg)}
.sell-import .ti{color:var(--info);font-size:18px}
.sell-import-f{display:flex;flex-wrap:wrap;gap:var(--sp-2);padding:0 var(--sp-4) var(--sp-4)}
.sell-import-f p{flex:1 1 100%;margin:0;font-size:13px;color:var(--muted)}
.sell-import-f input{flex:1 1 220px;min-height:44px;border:1.5px solid var(--line-field);border-radius:var(--rad-s);padding:0 12px;font:inherit;font-size:14px;background:var(--surface);color:var(--ink)}
.sell-import-f .btn{min-height:44px;padding:0 18px}
.sell-studio{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 var(--sp-4);border-radius:var(--rad-m);border:1px solid var(--line);background:var(--surface);font-weight:700;font-size:13.5px;color:var(--ink)}
.sell-studio .ti{color:var(--violet);font-size:18px}
.sell-studio:hover{border-color:var(--violet)}
/* способ продажи: радиокнопки доступны с клавиатуры (раньше input был display:none — Tab их пропускал) */
.seg input[type=radio]{display:block!important;position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.seg label{position:relative}
.seg label:has(input:focus-visible){outline:2px solid var(--green);outline-offset:2px}
@media(max-width:640px){
  .seg{flex-wrap:wrap;gap:var(--sp-2)}
  .seg label{flex:1 1 calc(50% - var(--sp-2));min-width:0;padding:12px 10px;font-size:13.5px}
  .formwrap label[style*="display:flex"]:has(>input[type=checkbox]){flex-wrap:wrap;row-gap:2px}
  .formwrap label[style*="display:flex"]:has(>input[type=checkbox])>span{flex:1 1 100%;padding-left:24px}
}
/* выбор файла: кнопка в стиле сайта вместо системной «Choose Files» */
input[type=file]{font:inherit;font-size:13.5px;color:var(--muted);max-width:100%}
input[type=file]::file-selector-button{font:inherit;font-weight:700;font-size:13.5px;margin-right:12px;padding:9px 16px;border-radius:var(--rad-s);
  border:1.5px solid var(--line-field);background:var(--surface);color:var(--ink);cursor:pointer;transition:border-color var(--dur)}
input[type=file]::file-selector-button:hover{border-color:var(--green);color:var(--green)}
/* тёмная тема: фон галереи и заглушка «Нет фото» не светятся белым пятном */
html[data-theme="dark"] .gallery .main{background:var(--surface)}
html[data-theme="dark"] img[src*="no-photo.svg"]{filter:invert(.9) hue-rotate(180deg) brightness(.9)}

/* --- 24. WCAG 2.4.11 «фокус не перекрыт»: липкая шапка сверху, нижнее меню и панель лота снизу --- */
html{scroll-padding-top:84px}
@media(max-width:768px){
  html{scroll-padding-top:120px;scroll-padding-bottom:80px}
  html:has(.lot-sbar.on){scroll-padding-bottom:150px}
}
.g-foot-cr{color:var(--muted)}
.rcard .rc-seller .av{color:var(--on-accent)}
/* инлайн «зелёная заливка + белый текст» (пагинация и др.): в тёмной теме — тёмный текст на ярком зелёном */
[style*="background:var(--green)"][style*="color:#fff" i]{color:var(--on-accent)!important}

/* 57.450 (сборка): шапка вошедшего на ноутбуках — «Лента» только иконкой, чтобы поиск не сжимался */
@media (max-width: 1500px) { .hdr-feed .hdr-feed-t { display: none; } .hdr-feed { padding-left: 10px; padding-right: 10px; } }
@media (min-width: 1025px) { header .search { min-width: 240px; } }
/* 57.450: на узких ноутбуках (до 1360) у вошедшего убираем лишние отступы и прячем «Ленту»/ТГ из шапки
   (ТГ-канал остаётся в подвале и в карточках, лента — в «Все разделы» и кнопкой на телефоне) */
@media (min-width: 1025px) and (max-width: 1360px) {
  .hdr-feed, .hdr-tg { display: none; }
  header .search { min-width: 200px; }
}

/* 57.452 (аудит heading_skip): где после H1 сразу шёл H3, заголовок стал H2 — но выглядеть должен как раньше */
h2.h3{font-family:var(--font-d);font-size:var(--fs-l);font-weight:700;line-height:1.3;color:var(--ink);margin:0 0 var(--sp-2)}
h2.sec-title{margin:0}

/* 57.452 (доска): бейдж «Честная цена» на карточке — единый вид, без эмодзи, цвета из токенов */
.rc-fair{display:inline-flex;align-items:center;gap:3px;border-radius:7px;padding:2px 7px;font-size:10.5px;font-weight:800;line-height:1.5;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.rc-fair i{font-size:12px}
.rc-fair--below{background:var(--green-l);color:var(--green)}
.rc-fair--fair{background:var(--bg);color:var(--ink2);box-shadow:inset 0 0 0 1px var(--line)}
.rc-fair--above{background:var(--amber-l,#FBF1DC);color:var(--amber)}
/* 57.452 (доска): строка «просмотры · избранное · дни» на карточке — без плашки */
.rc-ai.rc-meta{display:flex;gap:10px!important;align-items:center;flex-wrap:wrap;background:none!important;padding:0!important;margin:0 0 4px;font-size:11.5px!important;font-weight:600;color:var(--muted)!important;white-space:normal}
.rc-ai.rc-meta i{font-size:13px;vertical-align:-2px}
.rc-ai.rc-meta .rc-want{color:var(--red)}

/* ── Приглашение включить уведомления (#kPushPromo, 57.453) ──
   ПК: карточка в правом нижнем углу. Телефон (≤ 600px): нижняя шторка во всю ширину.
   Появление — сдвиг + прозрачность; при «уменьшить движение» — только прозрачность. */
#kPushPromo{position:fixed;right:24px;bottom:24px;z-index:9990;width:min(380px,calc(100vw - 32px));box-sizing:border-box;display:grid;grid-template-columns:44px 1fr;column-gap:var(--sp-3,12px);row-gap:var(--sp-4,16px);padding:var(--sp-4,16px) var(--sp-4,16px) var(--sp-4,16px);padding-right:44px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-lg,14px);box-shadow:var(--sh-3,0 20px 50px -12px rgba(0,0,0,.3));opacity:0;transform:translateY(16px);transition:opacity .22s var(--ease,ease-out),transform .26s var(--ease,ease-out);font-family:inherit}
#kPushPromo.kpp-in{opacity:1;transform:none}
#kPushPromo .kpp-ico{grid-row:1;width:44px;height:44px;border-radius:12px;background:var(--green-l);color:var(--green);display:flex;align-items:center;justify-content:center}
#kPushPromo .kpp-ico .ti{font-size:24px}
#kPushPromo .kpp-txt{grid-row:1;display:flex;flex-direction:column;gap:4px;min-width:0}
#kPushPromo .kpp-txt b{font-size:15px;font-weight:800;line-height:1.3;color:var(--ink)}
#kPushPromo .kpp-txt span{font-size:13.5px;line-height:1.45;color:var(--ink2)}
#kPushPromo .kpp-act{grid-column:1 / -1;display:flex;gap:var(--sp-2,8px);margin-right:-28px}
#kPushPromo .kpp-act button{flex:1 1 0;min-height:44px;border-radius:11px;font-family:inherit;font-weight:700;font-size:14px;line-height:1.2;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 14px;transition:background .15s,border-color .15s}
#kPushPromo .kpp-yes{background:var(--green);color:var(--on-accent);border:1px solid var(--green)}
#kPushPromo .kpp-yes:hover{background:var(--vasilek-d)}
#kPushPromo .kpp-yes[disabled]{opacity:.85;cursor:progress}
#kPushPromo .kpp-yes.kpp-ok{cursor:default}
#kPushPromo .kpp-no{background:transparent;color:var(--ink);border:1px solid var(--line-field)}
#kPushPromo .kpp-no:hover{background:var(--bg)}
#kPushPromo .kpp-x{position:absolute;top:8px;right:8px;width:32px;height:32px;border:none;border-radius:50%;background:transparent;color:var(--muted);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px}
#kPushPromo .kpp-x:hover{background:var(--bg);color:var(--ink)}
#kPushPromo button:focus-visible{outline:none;box-shadow:var(--ring)}
@media(max-width:600px){
  #kPushPromo{left:0;right:0;bottom:0;width:100%;border-radius:20px 20px 0 0;border-bottom:none;padding:var(--sp-5,24px) var(--sp-4,16px) calc(var(--sp-4,16px) + env(safe-area-inset-bottom));padding-right:44px;transform:translateY(100%)}
  #kPushPromo::before{content:"";position:absolute;top:8px;left:50%;width:40px;height:4px;margin-left:-20px;border-radius:99px;background:var(--line)}
  #kPushPromo .kpp-act{margin-right:-28px}
}
@media(prefers-reduced-motion:reduce){#kPushPromo{transform:none!important;transition:opacity .2s linear!important}}

/* ── Ритм отступов между блоками (57.453, проверка tools/spacing_check.py) ──
   Шаг — токены --sp-*: 8px между карточками в списке, 16–24px между самостоятельными блоками. */
/* карточки роста (Telegram, «сохраните») вне своей сетки .kg-after/.kh не прилипают к соседям */
:not(.kg-after):not(.kh) > :is(.kg-inline,.kg-tg){margin-top:var(--sp-4,16px);margin-bottom:var(--sp-4,16px)}
/* сетка карточек «Отдам даром», «Прокат», «Запчасти» — раньше была без стилей: карточки во всю ширину и вплотную */
.rc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--sp-4,16px)}
@media(max-width:768px){.rc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3,12px)}}
/* списки «рядом» на страницах места/остановки: 8px между строками-карточками */
div.os-around-list,div.ms-around-list{gap:var(--sp-2,8px)}

/* ── 57.455: страховка для самых узких телефонов (≤374 px: iPhone SE/mini, старые Android) ──
   Кнопки переносят текст на вторую строку, а не обрезают его; длинные слова в плитках переносятся. */
@media(max-width:374px){
  .btn,.btn-prim,.listing-cta-btn{white-space:normal;line-height:1.2;text-align:center}
  .sell-hero-cta .btn{padding:8px 14px}
  .kh-stats span{overflow-wrap:anywhere}
}

/* ============================================================
   57.456 — Главная на компьютере: симметричная сетка и соразмерные блоки.
   Было: при одном списке «Новые объявления» занимали 8 колонок и две строки крупных фото (≈ 740×510),
   Гарант рядом тянулся на ту же высоту (зелёный столб 365×513), а «Быстрый вход» и Telegram
   стояли в ряд по половине ширины высотой 260 px — всё крупно и вразнобой.
   Стало: один список — на всю ширину, объявления в ОДИН ряд; два списка — ровно пополам;
   Гарант, вход и Telegram — три одинаковые компактные карточки (если Telegram скрыт — две по половине).
   ============================================================ */
.kh-lots{grid-template-columns:repeat(var(--lot-cols,3),minmax(0,1fr))}
.kh-lot-add{color:var(--muted)}
.kh-lot-add .kh-lot-ph{border:1.5px dashed color-mix(in srgb,var(--green) 40%,var(--line));background:color-mix(in srgb,var(--green) 5%,var(--surface));color:var(--green);font-size:24px}
.kh-lot-add b{font-family:inherit;font-size:13.5px;color:var(--ink)}
.kh-lot-add small{color:var(--green);font-weight:700}
.kh-lot-add:hover .kh-lot-ph{border-color:var(--green)}
.kh-stats--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.kh-stats--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.kh-st-online b{color:#5BE5A0}
.kh-bump{animation:khBump .6s var(--ease)}
@keyframes khBump{0%{transform:scale(1)}40%{transform:scale(1.12)}100%{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.kh-bump{animation:none}}
.kh-garant-t{font-size:17px}
.kh-join-t{font-size:16px}
.kh-join .kg-auth{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.kh-join .kg-auth .kg-btn{min-height:38px;font-size:13px;padding:8px 10px;flex-basis:auto;min-width:0}
.kh-join .kg-auth .kg-btn-p,.kh-join .kg-auth .kg-btn:only-child{grid-column:1/-1}
.kh>.kg-tg .kg-body b{font-size:15px;line-height:1.3}
@media(min-width:1025px){
  .kh--l2 .kh-auc,.kh--l2 .kh-new{grid-column:span 6}
  .kh--l1 .kh-auc,.kh--l1 .kh-new{grid-column:1/-1}
  .kh--l1 .kh-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--sp-6)}
  .kh--l1 .kh-list li:nth-child(2) a{border-top:0}
  .kh .kh-garant,.kh .kh-join,.kh>.kg-tg{grid-column:span 4}
  .kh:has(>.kg-tg[hidden]) :is(.kh-garant,.kh-join),.kh:not(:has(>.kg-tg)) :is(.kh-garant,.kh-join){grid-column:span 6}
}
@media(min-width:761px) and (max-width:1024px){
  .kh--l2 .kh-auc,.kh--l2 .kh-new{grid-column:span 3}
  .kh--l1 .kh-auc,.kh--l1 .kh-new{grid-column:1/-1}
  .kh .kh-garant,.kh .kh-join,.kh>.kg-tg{grid-column:span 2}
  .kh:has(>.kg-tg[hidden]) :is(.kh-garant,.kh-join),.kh:not(:has(>.kg-tg)) :is(.kh-garant,.kh-join){grid-column:span 3}
}
@media(max-width:760px){
  .kh-lots{grid-template-columns:repeat(3,minmax(0,1fr))}
  .kh-now .kh-stats.kh-stats--3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .kh-now .kh-stats.kh-stats--2{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ============================================================
   57.457 — Погодная карта Беларуси по районам (inc/weather_map_ui.php, assets/js/weather-map.js)
   ============================================================ */
.wmap{--wm-na:#eef1f4;--wm-dry:#f3f5f2;--wm-line:rgba(22,33,58,.16);--wm-ob:#1d4e36;position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--rad-l);box-shadow:var(--sh-1);padding:var(--sp-4);text-align:left;min-width:0}
html[data-theme="dark"] .wmap{--wm-na:#22272f;--wm-dry:#262c33;--wm-line:rgba(255,255,255,.14);--wm-ob:#8fd3ab}
html[data-theme="dark"] .wm-rs,html[data-theme="dark"] .wm-rain{filter:brightness(.62) saturate(1.15)}
.wm-h{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2) var(--sp-3);flex-wrap:wrap;margin:0 0 var(--sp-3)}
.wm-title{display:flex;align-items:center;gap:8px;margin:0;font-size:15px;font-weight:800;letter-spacing:-.005em}
.wm-title .ti{color:var(--green);font-size:18px}
.wm-tabs{display:inline-flex;gap:2px;padding:3px;border-radius:12px;background:var(--bg)}
.wm-tabs button{border:0;background:transparent;color:var(--ink2);font-weight:600;font-size:13px;line-height:1;font-family:inherit;padding:8px 13px;border-radius:9px;cursor:pointer;min-height:34px}
.wm-tabs button[aria-pressed="true"]{background:var(--surface);color:var(--ink);box-shadow:var(--sh-1);font-weight:800}
.wm-b{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:var(--sp-4);align-items:start}
.wm-mapcol{min-width:0;display:flex;flex-direction:column;gap:var(--sp-2)}
.wm-map{position:relative;aspect-ratio:980/845;width:100%;border-radius:var(--rad-m);background:radial-gradient(120% 90% at 45% 45%,color-mix(in srgb,var(--green) 7%,transparent),transparent 70%)}
.wm-svg{width:100%;height:100%;display:block;overflow:visible}
.wmap.is-zoom .wm-svg{overflow:hidden;border-radius:var(--rad-m)}
.wm-skel{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--muted);font-size:13px}
.wm-skel .ti{font-size:22px}
.wm-rs path{stroke:var(--surface);stroke-width:1.1;stroke-linejoin:round;cursor:pointer;transition:filter .15s,opacity .15s}
.wm-rs path:hover{filter:brightness(.93) saturate(1.15)}
.wm-rain path{pointer-events:none}
.wm-ob path{fill:none;stroke:var(--wm-ob);stroke-width:1.8;stroke-linejoin:round;pointer-events:none;opacity:.85}
.wm-ob path.city{stroke-width:1.2}
.wm-sel path{fill:none;stroke:var(--ink);stroke-width:2.6;stroke-linejoin:round;pointer-events:none;filter:drop-shadow(0 2px 4px rgba(0,0,0,.25))}
.wm-stn rect{fill:var(--surface);stroke:var(--ink2);stroke-width:1.6}
.wm-stn.wet rect{fill:#2f7fd8;stroke:#1d5fbf}
.wm-stn{cursor:help}
.wm-l{pointer-events:none}
.wm-l rect{fill:var(--surface);stroke:var(--wm-line);stroke-width:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.14))}
.wm-l .v{font-weight:800;font-size:12.5px;font-family:var(--font-d,inherit);fill:var(--ink)}
.wm-l .n{font-weight:700;font-size:10.5px;fill:var(--ink2);paint-order:stroke;stroke:var(--surface);stroke-width:3px;stroke-linejoin:round}
.wm-l.on rect{fill:var(--ink);stroke:var(--ink)}
.wm-l.on .v{fill:var(--surface)}
.wmap.is-zoom .wm-l .v{font-size:10px}.wmap.is-zoom .wm-l .n{font-size:8.5px}
.wm-tip{position:absolute;left:0;top:0;z-index:5;pointer-events:none;background:var(--night,#111);color:#fff;border-radius:10px;padding:7px 10px;font-size:12px;line-height:1.35;max-width:240px;box-shadow:0 8px 24px rgba(0,0,0,.2)}
.wm-tip b{display:block;font-size:12.5px}.wm-tip span{color:rgba(255,255,255,.8)}
.wm-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:11.5px;color:var(--muted);min-height:20px}
.wm-lg-bar{display:inline-block;width:150px;height:8px;border-radius:99px}
.wm-lg-t{display:inline-flex;justify-content:space-between;width:150px;margin-left:-156px;margin-top:22px;position:relative}
.wm-lg-t b{font-weight:600;font-size:10px}
.wm-legend{position:relative;padding-bottom:12px}
.wm-lg-i{display:inline-flex;align-items:center;gap:5px}
.wm-lg-i i{width:12px;height:12px;border-radius:3px;display:inline-block;border:1px solid var(--wm-line)}
.wm-lg-i i.h{background:repeating-linear-gradient(110deg,rgba(29,95,191,.6) 0 1.6px,transparent 1.6px 6px),var(--wm-dry)}
.wm-lg-i i.st{transform:rotate(45deg) scale(.8);border:1.6px solid var(--ink2);background:var(--surface)}
.wm-lg-u{margin-left:auto}
.wm-pick{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted);font-weight:600}
.wm-pick select{width:100%;max-width:100%;min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font-weight:600;font-size:14px;font-family:inherit}
.wm-zoom{display:flex;flex-wrap:wrap;gap:6px}
.wm-zoom button{border:1px solid var(--line);background:var(--surface);color:var(--ink2);border-radius:99px;padding:6px 11px;font-weight:600;font-size:12.5px;font-family:inherit;cursor:pointer;min-height:32px}
.wm-zoom button[aria-pressed="true"]{background:var(--ink);color:var(--surface);border-color:var(--ink)}
.wm-panel{min-width:0;transition:opacity .15s}
.wm-panel.is-loading{opacity:.55}
.wm-p{display:flex;flex-direction:column;gap:var(--sp-3);min-width:0}
.wm-p-h{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.wm-p-nm{display:block;font-size:17px;font-weight:800;line-height:1.25;overflow-wrap:anywhere}
.wm-p-h small{color:var(--muted);font-size:12.5px}
.wm-upd{font-size:11.5px;color:var(--muted);white-space:nowrap;padding-top:3px}
.wm-upd:not(:empty)::before{content:'обновлено '}
.wm-now{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:10px 14px;padding:12px 14px;border-radius:var(--rad-m);background:color-mix(in srgb,#0EA5E9 9%,var(--surface));border:1px solid color-mix(in srgb,#0EA5E9 22%,var(--line))}
.wm-now.wm-k-rain,.wm-now.wm-k-shower,.wm-now.wm-k-drizzle,.wm-now.wm-k-storm{background:color-mix(in srgb,#2f7fd8 15%,var(--surface));border-color:color-mix(in srgb,#2f7fd8 40%,var(--line))}
.wm-now.wm-k-snow,.wm-now.wm-k-sleet{background:color-mix(in srgb,#9aa7d6 18%,var(--surface))}
.wm-now-ic{font-size:36px;line-height:1;color:#0284c7}
.wm-k-storm .wm-now-ic{color:#6a3fc4}
.wm-now-t{font-family:var(--font-d,inherit);font-size:44px;line-height:1;letter-spacing:-.04em}
.wm-now-s{min-width:0;display:flex;flex-direction:column;gap:2px}
.wm-now-s b{font-size:15.5px;line-height:1.25}
.wm-now-s small{font-size:12.5px;color:var(--ink2);line-height:1.4}
.wm-src{margin:-4px 0 0;font-size:12px;color:var(--muted);display:flex;gap:6px;align-items:flex-start;line-height:1.45}
.wm-src .ti{color:var(--green);font-size:15px;flex:none;margin-top:1px}
.wm-hrs{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(44px,1fr);gap:2px;overflow-x:auto;scrollbar-width:thin;padding-bottom:4px;min-width:0}
.wm-hr{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;border-radius:10px;font-variant-numeric:tabular-nums}
.wm-hr small{font-size:11px;color:var(--muted)}
.wm-hr .ti{font-size:18px;color:var(--ink2)}
.wm-hr.wet{background:color-mix(in srgb,#2f7fd8 9%,transparent)}
.wm-hr.wet .ti{color:#2f7fd8}
.wm-hr b{font-size:13.5px}
.wm-bar{display:block;width:6px;height:18px;border-radius:3px;background:var(--bg);position:relative;overflow:hidden}
.wm-bar::after{content:'';position:absolute;left:0;right:0;bottom:0;height:calc(var(--v) * 100%);background:#2f7fd8;border-radius:3px}
.wm-pp{font-size:10.5px!important;color:#2f7fd8!important;min-height:12px;font-weight:700}
.wm-lbl{display:block;font-size:11.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.wm-wear ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.wm-wear li{display:inline-flex;align-items:center;gap:6px;background:var(--bg);border-radius:99px;padding:6px 11px;font-size:12.5px;font-weight:600;color:var(--ink2);max-width:100%}
.wm-wear li .ti{font-size:15px;color:var(--green);flex:none}
.wm-dry{margin:0;display:flex;gap:9px;align-items:flex-start;font-size:13px;line-height:1.5;background:color-mix(in srgb,var(--green) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--green) 25%,var(--line));border-radius:var(--rad-m);padding:10px 12px}
.wm-dry .ti{font-size:18px;color:var(--green);flex:none;margin-top:1px}
.wm-dry a{color:var(--green);font-weight:700}
.wm-days{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.wm-days.full{grid-template-columns:repeat(7,minmax(0,1fr))}
.wm-day{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border-radius:12px;background:var(--bg);font-variant-numeric:tabular-nums;min-width:0}
.wm-day small{font-size:11.5px;color:var(--muted);text-align:center}
.wm-day .ti{font-size:20px;color:var(--ink2);margin:2px 0}
.wm-day b{font-size:14.5px}.wm-day span{font-size:12.5px;color:var(--muted)}
.wm-picks{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.wm-picks .wm-lbl{width:100%;margin:0}
.wm-picks a{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:99px;padding:6px 11px;font-size:12.5px;font-weight:700;color:var(--ink);text-decoration:none;max-width:100%}
.wm-picks a:hover{border-color:var(--green);color:var(--green)}
.wm-picks a .ti{color:var(--green)}
.wm-more{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:800;color:var(--green);text-decoration:none}
.wm-cred{margin:var(--sp-3) 0 0;font-size:11px;color:var(--hint,var(--muted))}
.wm-cred a{color:inherit}
.wm-p-empty{padding:20px;color:var(--muted)}
/* главная: плитка на всю ширину */
.kh>.kh-wmap{grid-column:1/-1}
.wmap--full .wm-b{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
@media(max-width:900px){
  .wm-b,.wmap--full .wm-b{grid-template-columns:minmax(0,1fr)}
  .wm-days.full{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:760px){
  .wmap{padding:var(--sp-3)}
  .wm-tabs{width:100%}.wm-tabs button{flex:1}
  .wm-now-t{font-size:38px}
  .wm-lg-bar,.wm-lg-t{width:120px}.wm-lg-t{margin-left:-126px}
}
@media(max-width:374px){.wm-now{grid-template-columns:auto minmax(0,1fr)}.wm-now-ic{display:none}}
/* ============================================================
   57.459 — погода: сколько продлится дождь, график, что надеть, что можно делать, ползунок времени
   ============================================================ */
.wm-p-act{display:flex;align-items:center;gap:4px;flex:none}
.wm-ib{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink2);cursor:pointer;font-size:17px;padding:0}
.wm-ib:hover{border-color:var(--green);color:var(--green)}
.wm-ib[aria-pressed="true"]{color:#e0a800;border-color:color-mix(in srgb,#e0a800 45%,var(--line));background:color-mix(in srgb,#e0a800 10%,var(--surface))}
.wm-p-act .wm-upd{margin-left:4px}
/* история осадков */
.wm-story{display:flex;gap:11px;align-items:flex-start;padding:11px 13px;border-radius:var(--rad-m);background:var(--bg);border:1px solid var(--line)}
.wm-story>.ti{font-size:22px;flex:none;margin-top:1px;color:var(--ink2)}
.wm-story b{display:block;font-size:15px;line-height:1.3}
.wm-story span{display:block;font-size:13px;color:var(--ink2);line-height:1.45;margin-top:2px}
.wm-st-now,.wm-st-soon{background:color-mix(in srgb,#2f7fd8 10%,var(--surface));border-color:color-mix(in srgb,#2f7fd8 32%,var(--line))}
.wm-st-now>.ti,.wm-st-soon>.ti{color:#2f7fd8}
.wm-st-none>.ti{color:#e8a317}
/* лента осадков на сутки */
.wm-rib{margin-top:-4px}
.wm-rib-c{display:grid;grid-template-columns:repeat(24,minmax(0,1fr));gap:2px;height:16px}
.wm-rib-c i{border-radius:3px;background:var(--bg);cursor:help}
.wm-rib-c i.c1{background:color-mix(in srgb,#2f7fd8 28%,var(--bg))}
.wm-rib-c i.c2{background:#5b9be6}
.wm-rib-c i.c3{background:#1d5fbf}
.wm-rib-c i.sn{background:#9aa7d6}
.wm-rib-c i:first-child{box-shadow:inset 0 0 0 1.5px var(--ink2)}
.wm-rib-x{position:relative;height:16px;font-size:10.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.wm-rib-x span{position:absolute;top:3px;left:calc(var(--i) / 24 * 100%);white-space:nowrap}
/* график */
.wm-chart{position:relative;min-height:0}
.wm-chart:empty{display:none}
.wm-ch{display:block;width:100%;height:auto;touch-action:pan-y}
.wm-ch .nt{fill:var(--ink);opacity:.045}
.wm-ch .pr{fill:#2f7fd8}.wm-ch .pr.sn{fill:#8d9bd1}
.wm-ch .tl{fill:none;stroke:#f08c00;stroke-width:2.6;stroke-linejoin:round;stroke-linecap:round}
.wm-ch .fl{fill:none;stroke:var(--muted);stroke-width:1.6;stroke-dasharray:4 4;opacity:.8}
.wm-ch .dt{fill:#f08c00;stroke:var(--surface);stroke-width:2}
.wm-ch .lb{font-size:12px;font-weight:800;fill:var(--ink);paint-order:stroke;stroke:var(--surface);stroke-width:3px}
.wm-ch .ax{font-size:10.5px;fill:var(--muted)}
.wm-ch .cx{stroke:var(--ink);stroke-width:1;opacity:.35}
.wm-ch-tip{position:absolute;top:-6px;z-index:4;pointer-events:none;background:var(--night,#111);color:#fff;border-radius:10px;padding:6px 9px;font-size:11.5px;line-height:1.35;box-shadow:0 8px 24px rgba(0,0,0,.2);transform:translateY(-100%);white-space:nowrap}
.wm-ch-tip b{display:block;font-size:12.5px}.wm-ch-tip span{display:block;color:rgba(255,255,255,.82)}
.wm-ch-lg{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:11px;color:var(--muted);margin-top:2px}
.wm-ch-lg span{display:inline-flex;align-items:center;gap:5px}
.wm-ch-lg i{display:inline-block;width:14px;height:0;border-top:2.6px solid #f08c00}
.wm-ch-lg i.fl{border-top:2px dashed var(--muted)}
.wm-ch-lg i.pr{width:8px;height:10px;border:0;border-radius:2px;background:#2f7fd8}
/* факты */
.wm-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}
.wm-fact{display:flex;gap:9px;align-items:flex-start;padding:9px 10px;border-radius:12px;background:var(--bg);min-width:0}
.wm-fact>.ti{font-size:18px;color:var(--green);flex:none;margin-top:2px}
.wm-fact small{display:block;font-size:11px;color:var(--muted);font-weight:600}
.wm-fact b{display:flex;align-items:center;gap:4px;font-size:14px;line-height:1.3}
.wm-fact span{display:block;font-size:11.5px;color:var(--ink2);line-height:1.35;margin-top:1px}
.wm-wdir{display:inline-block;font-size:15px;color:var(--ink2);transform:rotate(var(--deg))}
/* что надеть */
.wm-wr{border:1px solid var(--line);border-radius:var(--rad-m);padding:12px}
.wm-wr-h{display:flex;flex-direction:column;gap:8px}
.wm-wr-h .wm-lbl{margin:0}
.wm-wr-ctl{display:flex;flex-direction:column;gap:6px}
.wm-seg{display:flex;flex-wrap:wrap;gap:4px}
.wm-seg button{border:1px solid var(--line);background:var(--surface);color:var(--ink2);border-radius:99px;padding:6px 11px;font-size:12.5px;font-weight:600;font-family:inherit;cursor:pointer;min-height:32px}
.wm-seg button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--surface)}
.wm-wr-out{margin-top:10px}
.wm-wr-out>ul:not(.wm-wr-l){list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.wm-wr-out>ul:not(.wm-wr-l) li{display:inline-flex;align-items:center;gap:6px;background:var(--bg);border-radius:99px;padding:6px 11px;font-size:12.5px;font-weight:600;color:var(--ink2)}
.wm-wr-out>ul:not(.wm-wr-l) li .ti{color:var(--green)}
.wm-wr-sum{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}
.wm-wr-sum p{margin:0;font-size:13px;line-height:1.45;color:var(--ink2)}
.wm-wr-sum p b{color:var(--ink)}
.wm-wr-therm{position:relative;height:8px;border-radius:99px;background:linear-gradient(90deg,#3157c4,#5c8ee0 25%,#a8cef0 40%,#d8eece 55%,#f7e896 68%,#fcbe68 82%,#f06e46)}
.wm-wr-therm i{position:absolute;top:50%;left:var(--p);width:16px;height:16px;border-radius:50%;background:var(--surface);border:3px solid var(--ink);transform:translate(-50%,-50%);transition:left .3s}
.wm-wr-l{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:6px}
.wm-wr-l li{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;column-gap:9px;padding:8px 10px;border-radius:12px;background:var(--bg);align-items:start}
.wm-wr-l li .ti{grid-row:1/3;font-size:20px;color:var(--green);margin-top:2px}
.wm-wr-l li small{font-size:11px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.03em}
.wm-wr-l li span{font-size:13px;line-height:1.4;color:var(--ink);font-weight:600}
.wm-wr-note{margin:0;font-size:13px;color:var(--muted)}
/* что можно делать */
.wm-acts-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px}
.wm-act{border:1px solid var(--line);border-radius:12px;background:var(--surface);min-width:0}
.wm-act.more{display:none}
.wm-act summary{list-style:none;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;padding:9px 10px;cursor:pointer}
.wm-act summary::-webkit-details-marker{display:none}
.wm-act summary>.ti{font-size:19px;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;background:var(--bg);color:var(--ink2)}
.wm-act-t{min-width:0}
.wm-act-t b{display:block;font-size:13.5px;line-height:1.25}
.wm-act-t small{display:block;font-size:11.5px;color:var(--ink2);line-height:1.35;margin-top:1px}
.wm-act em{font-style:normal;font-size:11px;font-weight:800;border-radius:99px;padding:3px 8px;white-space:nowrap}
.wm-act.l1 em{background:color-mix(in srgb,#1b8a47 14%,var(--surface));color:#1b8a47}
.wm-act.l2 em{background:color-mix(in srgb,#65a30d 14%,var(--surface));color:#4d7c0f}
.wm-act.l3 em{background:color-mix(in srgb,#e8a317 18%,var(--surface));color:#a16207}
.wm-act.l4 em{background:color-mix(in srgb,#d22730 12%,var(--surface));color:#c0262d}
html[data-theme="dark"] .wm-act.l1 em{color:#6fd49a}html[data-theme="dark"] .wm-act.l2 em{color:#a3e05f}html[data-theme="dark"] .wm-act.l3 em{color:#f5c451}html[data-theme="dark"] .wm-act.l4 em{color:#ff8a8f}
.wm-act.l1 summary>.ti{color:#1b8a47}.wm-act.l4 summary>.ti{color:#c0262d}
.wm-act[open]{box-shadow:var(--sh-1)}
.wm-act-b{padding:0 10px 10px}
.wm-act-b p{margin:0 0 8px;font-size:12.5px;line-height:1.45;color:var(--ink2)}
.wm-act-bar{display:grid;grid-template-columns:repeat(24,minmax(0,1fr));gap:2px;height:12px}
.wm-act-bar i{border-radius:2px;background:var(--bg)}
.wm-act-bar i.b1{background:#22a35a}.wm-act-bar i.b2{background:#9ccc3d}.wm-act-bar i.b3{background:#f0b429}.wm-act-bar i.b4{background:#e5484d}
.wm-act-x{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin:3px 0 8px}
.wm-act-b a{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:800;color:var(--green);text-decoration:none}
.wm-more-acts{margin-top:6px;border:1px dashed var(--line);background:transparent;color:var(--ink2);border-radius:10px;padding:8px 12px;font-weight:700;font-size:12.5px;font-family:inherit;cursor:pointer;width:100%}
/* дни: диапазон температур */
.wm-rng{display:block;position:relative;width:78%;height:4px;border-radius:99px;background:color-mix(in srgb,var(--ink) 10%,transparent);margin:4px 0 2px}
.wm-rng::after{content:'';position:absolute;top:0;bottom:0;left:var(--a);right:calc(100% - var(--b));min-width:6px;border-radius:99px;background:linear-gradient(90deg,#5c8ee0,#f0b429)}
/* ползунок времени */
.wm-time{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:6px 8px 6px 6px;border-radius:12px;background:var(--bg)}
.wm-time.off{opacity:.45;pointer-events:none}
.wm-play{width:34px;height:34px;border-radius:50%;border:0;background:var(--ink);color:var(--surface);display:inline-flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer}
.wm-time input{width:100%;accent-color:var(--green);min-width:0}
.wm-time output{font-size:12.5px;font-weight:800;min-width:74px;text-align:right;font-variant-numeric:tabular-nums}
.wm-time.is-fut output{color:#2f7fd8}
/* рейтинг под картой */
.wm-rank{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}
.wm-rank button{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;column-gap:8px;text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:7px 9px;cursor:pointer;font-family:inherit;color:var(--ink)}
.wm-rank button:hover{border-color:var(--green)}
.wm-rank .ti{grid-row:1/3;font-size:18px;color:var(--green);align-self:center}
.wm-rank span{font-size:11px;color:var(--muted);font-weight:600}
.wm-rank b{font-size:12.5px;line-height:1.3;overflow-wrap:anywhere}
/* выбор района, «Где я», мои районы */
.wm-pickrow{display:flex;gap:6px;align-items:flex-end}
.wm-pickrow .wm-pick{flex:1;min-width:0}
.wm-geo{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;padding:0 12px;height:40px;font-weight:700;font-size:13px;font-family:inherit;cursor:pointer;white-space:nowrap}
.wm-geo .ti{color:var(--green);font-size:17px}
.wm-geo.is-busy{opacity:.6;pointer-events:none}
.wm-favs{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.wm-favs>span{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}
.wm-favs>span .ti{color:#e0a800}
.wm-favs button{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:99px;padding:5px 10px;font-size:12.5px;font-weight:600;font-family:inherit;cursor:pointer}
.wm-favs button[aria-current="true"]{border-color:var(--ink)}
.wm-toast{position:absolute;left:50%;bottom:14px;transform:translate(-50%,12px);opacity:0;pointer-events:none;background:var(--night,#111);color:#fff;border-radius:10px;padding:9px 13px;font-size:13px;font-weight:600;transition:opacity .2s,transform .2s;z-index:6;max-width:calc(100% - 24px);text-align:center}
.wm-toast.on{opacity:1;transform:translate(-50%,0)}
@media(max-width:760px){
  .wm-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wm-rank{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wm-acts-g,.wm-wr-l{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:480px){
  .wm-p-h{flex-wrap:wrap}
  .wm-p-h>div:first-child{flex:1 1 150px;min-width:0}
  .wm-p-act .wm-upd{display:none}
  .wm-rib-x span:nth-child(even){display:none}
}
@media(max-width:374px){.wm-geo{padding:0 9px}.wm-geo{font-size:0;gap:0}.wm-geo .ti{font-size:18px}}
@media(prefers-reduced-motion:reduce){.wm-wr-therm i,.wm-toast{transition:none}}
/* 57.459: панель района в две части — верх справа от карты, низ (одежда, занятия, дни) на всю ширину */
.wm-p-top,.wm-p-low{display:flex;flex-direction:column;gap:var(--sp-3);min-width:0}
.wm-p-low:empty{display:none}
.wm-panel.is-loading .wm-p-top,.wm-panel.is-loading .wm-p-low{opacity:.55;transition:opacity .15s}
.wmap--home .wm-p.has-chart .wm-hrs{display:none}
@media(min-width:901px){
  .wm-b{grid-template-areas:"map top" "low low"}
  .wm-mapcol{grid-area:map}
  .wm-panel,.wm-panel>.wm-p{display:contents}
  .wm-p-top,.wm-p-empty{grid-area:top}
  .wm-p-low{grid-area:low;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:var(--sp-3) var(--sp-4);align-items:start;padding-top:var(--sp-2);border-top:1px solid var(--line)}
  .wm-p-low>.wm-wr{grid-column:1;grid-row:1 / span 2}
  .wm-p-low>.wm-acts{grid-column:2;grid-row:1}
  .wm-p-low>.wm-dry{grid-column:2}
  .wm-p-low>.wm-days,.wm-p-low>.wm-picks,.wm-p-low>.wm-more{grid-column:1 / -1}
  .wm-p-low .wm-acts-g{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wm-p-low .wm-wr-l{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* ============================================================
   57.460 — погода: живые осадки на карте, чёткие районы, отметки жителей, живой фон «сейчас»
   ============================================================ */
.wm-rs path{stroke:var(--surface);stroke-width:1.7}
.wm-bd path{fill:none;stroke:rgba(18,30,52,.30);stroke-width:.7;stroke-linejoin:round;pointer-events:none}
html[data-theme="dark"] .wm-bd path{stroke:rgba(255,255,255,.22)}
.wm-rs path:hover{filter:brightness(.9) saturate(1.2)}
.wm-rain path{pointer-events:none}
.wm-flash{fill:#fff;opacity:0;pointer-events:none;animation:wmFlash 4.6s infinite}
@keyframes wmFlash{0%,88%,100%{opacity:0}89%{opacity:.75}90%{opacity:.1}91.5%{opacity:.6}93%{opacity:0}}
.wm-bolt{fill:#ffd43b;stroke:#8a5a00;stroke-width:.8;stroke-linejoin:round;pointer-events:none;opacity:0;animation:wmBolt 4.6s infinite}
@keyframes wmBolt{0%,88%,100%{opacity:0}89%,92%{opacity:1}}
.wm-pin{cursor:help}
.wm-pin-bg{fill:var(--surface);stroke:#2f7fd8;stroke-width:2;filter:drop-shadow(0 1px 2px rgba(0,0,0,.25))}
.wm-pin-ring{fill:none;stroke:#2f7fd8;stroke-width:2;opacity:0;transform-box:fill-box;transform-origin:center;animation:wmPing 2.4s ease-out infinite}
@keyframes wmPing{0%{opacity:.7;transform:scale(.8)}100%{opacity:0;transform:scale(2.1)}}
.wm-pin-s{fill:#2f7fd8;stroke:none}
.wm-pin.k-snow .wm-pin-s,.wm-pin.k-fog .wm-pin-s,.wm-pin.k-dry .wm-pin-s{fill:none;stroke:#2f7fd8;stroke-width:1.6;stroke-linecap:round}
.wm-pin.k-dry .wm-pin-bg,.wm-pin.k-dry .wm-pin-ring{stroke:#e8a317}.wm-pin.k-dry .wm-pin-s{stroke:#e8a317}
.wm-pin.k-hail .wm-pin-bg,.wm-pin.k-hail .wm-pin-ring{stroke:#1d9bb0}.wm-pin.k-hail .wm-pin-s{fill:#1d9bb0}
.wm-pin.k-storm .wm-pin-bg,.wm-pin.k-storm .wm-pin-ring{stroke:#5b34b8}.wm-pin.k-storm .wm-pin-s{fill:#f5b700;stroke:#5b34b8;stroke-width:.6}
.wm-pin.k-fog .wm-pin-bg,.wm-pin.k-fog .wm-pin-ring{stroke:#7b8794}.wm-pin.k-fog .wm-pin-s{stroke:#7b8794}
.wm-pin-n{fill:#d22730}
.wm-pin-t{fill:#fff;font-size:8px;font-weight:800}
.wm-lg-i svg{width:14px;height:14px;border-radius:3px;display:inline-block;flex:none;border:1px solid var(--wm-line)}
.wm-lg-i i.pn{width:12px;height:12px;border-radius:50%;border:2px solid #2f7fd8;background:var(--surface)}
.wm-tip .src{display:block;font-size:11px;color:rgba(255,255,255,.65)}
/* источник «сейчас» */
.wm-sk{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:800;border-radius:99px;padding:2px 8px;margin-right:2px;white-space:nowrap;background:var(--bg);color:var(--ink2)}
.wm-sk .ti{font-size:13px;color:inherit!important;margin:0!important}
.wm-sk-s{background:color-mix(in srgb,#1b8a47 12%,var(--surface));color:#1b8a47}
.wm-sk-y{background:color-mix(in srgb,#fc3f1d 12%,var(--surface));color:#d4361a}
.wm-sk-c{background:color-mix(in srgb,#2f7fd8 12%,var(--surface));color:#1d5fbf}
html[data-theme="dark"] .wm-sk-s{color:#6fd49a}html[data-theme="dark"] .wm-sk-y{color:#ff8a6b}html[data-theme="dark"] .wm-sk-c{color:#8ab8f0}
/* «Что у вас за окном?» */
.wm-crowd{border:1px dashed color-mix(in srgb,#2f7fd8 45%,var(--line));border-radius:var(--rad-m);padding:10px 12px;background:color-mix(in srgb,#2f7fd8 4%,var(--surface))}
.wm-crowd-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;margin-bottom:8px}
.wm-crowd-h b{font-size:14px}
.wm-crowd-h small{font-size:12px;color:var(--ink2)}
.wm-crowd-b{display:flex;flex-wrap:wrap;gap:5px}
.wm-crowd-b button{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:99px;padding:6px 10px;font-size:12.5px;font-weight:700;font-family:inherit;cursor:pointer;min-height:34px;transition:transform .12s,border-color .12s}
.wm-crowd-b button:hover{border-color:#2f7fd8;transform:translateY(-1px)}
.wm-crowd-b button .ti{font-size:16px;color:#2f7fd8}
.wm-crowd-b .k-dry .ti{color:#e8a317}.wm-crowd-b .k-hail .ti{color:#1d9bb0}.wm-crowd-b .k-storm .ti{color:#5b34b8}.wm-crowd-b .k-fog .ti{color:#7b8794}
.wm-crowd-b button[aria-pressed="true"]{background:var(--ink);color:var(--surface);border-color:var(--ink)}
.wm-crowd-b button[aria-pressed="true"] .ti{color:var(--surface)}
.wm-crowd.is-busy{opacity:.6;pointer-events:none}
/* живой фон блока «сейчас» */
.wm-now{position:relative;overflow:hidden;isolation:isolate}
.wm-fx{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.25),rgba(0,0,0,.55) 35%,#000 75%);mask-image:linear-gradient(90deg,rgba(0,0,0,.25),rgba(0,0,0,.55) 35%,#000 75%)}
.wm-fx::before,.wm-fx::after,.wm-fx i{content:'';position:absolute;inset:-40px}
.wm-fx i{display:block}
.wm-fx-rain::before,.wm-fx-drizzle::before,.wm-fx-storm::before,.wm-fx-shower::before,.wm-fx-sleet::before{background:repeating-linear-gradient(104deg,transparent 0 13px,rgba(29,95,191,.28) 13px 14.5px,transparent 14.5px 26px);background-size:26px 40px;animation:wmFall .55s linear infinite}
.wm-fx-rain::after,.wm-fx-shower::after,.wm-fx-storm i{background:repeating-linear-gradient(100deg,transparent 0 21px,rgba(29,95,191,.18) 21px 22px,transparent 22px 40px);background-size:40px 60px;animation:wmFall .8s linear infinite}
.wm-fx-shower::before{background-size:18px 40px;animation-duration:.38s}
.wm-fx-drizzle::before{background:radial-gradient(circle,rgba(29,95,191,.35) 0 1.2px,transparent 1.6px);background-size:14px 14px;animation:wmFall 1.8s linear infinite}
.wm-fx-snow::before,.wm-fx-sleet::after{background:radial-gradient(circle,#fff 0 2.2px,rgba(143,163,214,.8) 2.4px 3px,transparent 3.4px);background-size:46px 41px;animation:wmSnow 5s linear infinite}
.wm-fx-snow::after{background:radial-gradient(circle,#fff 0 1.4px,rgba(143,163,214,.7) 1.6px 2px,transparent 2.4px);background-size:29px 33px;background-position:13px 9px;animation:wmSnow 3.4s linear infinite;opacity:.8}
.wm-fx-hail::before{background:radial-gradient(circle,#effbff 0 2.6px,rgba(42,163,184,.8) 2.8px 3.8px,transparent 4.2px);background-size:43px 37px;animation:wmFall .42s linear infinite;opacity:.75}
.wm-fx-hail::after{background:radial-gradient(circle,#effbff 0 1.8px,rgba(42,163,184,.7) 2px 2.8px,transparent 3.2px);background-size:31px 27px;background-position:14px 9px;animation:wmFall .3s linear infinite;opacity:.6}
.wm-fx-storm::after{inset:0;background:radial-gradient(120% 90% at 70% 0%,rgba(255,255,255,.95),rgba(255,236,160,.5) 40%,transparent 70%);opacity:0;animation:wmFlash 4.6s infinite}
.wm-fx-fog::before{background:linear-gradient(90deg,transparent,rgba(255,255,255,.75) 30%,transparent 55%,rgba(255,255,255,.6) 80%,transparent);background-size:340px 100%;filter:blur(6px);animation:wmFog 14s linear infinite}
.wm-fx-fog::after{top:30%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55) 40%,transparent 70%);background-size:260px 100%;filter:blur(8px);animation:wmFog 9s linear infinite reverse}
.wm-fx-sun::before{inset:auto -60px -60px auto;width:220px;height:220px;right:-50px;top:-90px;border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(255,196,0,.22) 0 8deg,transparent 8deg 22deg);-webkit-mask:radial-gradient(circle,#000 30%,transparent 70%);mask:radial-gradient(circle,#000 30%,transparent 70%);animation:wmSpin 40s linear infinite}
.wm-fx-sun::after{inset:auto;right:-30px;top:-40px;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,rgba(255,200,40,.45),transparent 65%)}
.wm-fx-part::before,.wm-fx-cloud::before{inset:auto;left:-10%;top:8px;width:120%;height:70px;background:radial-gradient(38px 22px at 20% 60%,rgba(255,255,255,.75),transparent 70%),radial-gradient(60px 28px at 55% 50%,rgba(255,255,255,.65),transparent 70%),radial-gradient(44px 20px at 85% 65%,rgba(255,255,255,.7),transparent 70%);animation:wmDrift 30s ease-in-out infinite alternate}
html[data-theme="dark"] .wm-fx-part::before,html[data-theme="dark"] .wm-fx-cloud::before{opacity:.18}
.wm-fx-part::after{inset:auto;right:-30px;top:-40px;width:130px;height:130px;border-radius:50%;background:radial-gradient(circle,rgba(255,200,40,.35),transparent 65%)}
.wm-fx-night::before{background:radial-gradient(circle,rgba(255,255,255,.8) 0 1px,transparent 1.5px),radial-gradient(circle,rgba(255,255,255,.55) 0 .8px,transparent 1.2px);background-size:60px 44px,38px 30px;background-position:0 0,17px 11px;animation:wmTwinkle 4s ease-in-out infinite alternate}
.wm-now.wm-k-dry:has(.wm-fx-night){background:linear-gradient(120deg,#16254a,#223a6b);color:#fff;border-color:#223a6b}
.wm-now.wm-k-dry:has(.wm-fx-night) .wm-now-s small{color:rgba(255,255,255,.8)}
.wm-now.wm-k-dry:has(.wm-fx-night) .wm-now-ic{color:#ffd76a}
.wm-now.wm-k-hail{background:color-mix(in srgb,#3fb6c9 16%,var(--surface));border-color:color-mix(in srgb,#3fb6c9 45%,var(--line))}
.wm-now.wm-k-fog{background:color-mix(in srgb,#9aa6b2 20%,var(--surface))}
.wm-now.is-maybe .wm-fx{opacity:.45}
@keyframes wmFall{from{transform:translate3d(0,-40px,0)}to{transform:translate3d(-8px,0,0)}}
@keyframes wmSnow{0%{transform:translate3d(0,-34px,0)}50%{transform:translate3d(6px,-17px,0)}100%{transform:translate3d(0,0,0)}}
@keyframes wmFog{from{background-position:0 0}to{background-position:340px 0}}
@keyframes wmSpin{to{transform:rotate(360deg)}}
@keyframes wmDrift{from{transform:translateX(-20px)}to{transform:translateX(20px)}}
@keyframes wmTwinkle{from{opacity:.5}to{opacity:1}}
@media(prefers-reduced-motion:reduce){
  .wm-fx::before,.wm-fx::after,.wm-fx i,.wm-flash,.wm-bolt,.wm-pin-ring{animation:none!important}
  .wm-flash,.wm-bolt{display:none}
}
/* 57.461: предупреждения, спутник, магнитное поле */
.wm-alerts{display:flex;flex-direction:column;gap:6px}
.wm-al{display:flex;gap:10px;align-items:flex-start;padding:9px 12px;border-radius:12px;border:1px solid;font-size:13px;line-height:1.45}
.wm-al>.ti{font-size:20px;flex:none;margin-top:1px}
.wm-al b{display:block;font-size:13.5px}
.wm-al span{color:var(--ink2)}
.wm-al.l1{background:color-mix(in srgb,#f0b429 12%,var(--surface));border-color:color-mix(in srgb,#f0b429 45%,var(--line))}.wm-al.l1>.ti{color:#b7791f}
.wm-al.l2{background:color-mix(in srgb,#f08c00 13%,var(--surface));border-color:color-mix(in srgb,#f08c00 50%,var(--line))}.wm-al.l2>.ti{color:#d9480f}
.wm-al.l3{background:color-mix(in srgb,#e03131 12%,var(--surface));border-color:color-mix(in srgb,#e03131 50%,var(--line))}.wm-al.l3>.ti{color:#c92a2a}
.wm-warn{cursor:help}
.wm-warn-b{stroke:#fff;stroke-width:1.4;stroke-linejoin:round;filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.3))}
.wm-warn.l1 .wm-warn-b{fill:#f0b429}.wm-warn.l2 .wm-warn-b{fill:#f08c00}.wm-warn.l3 .wm-warn-b{fill:#e03131}
.wm-warn-t{fill:#fff;font-size:10px;font-weight:900}
.wm-warn.l1 .wm-warn-t{fill:#4a3000}
.wmap.is-sat .wm-rs path{fill:var(--wm-dry)}
.wm-satg image{opacity:.92;image-rendering:auto}
html[data-theme="dark"] .wm-satg image{opacity:.85}
.wm-sk-e{background:color-mix(in srgb,#5b34b8 12%,var(--surface));color:#5b34b8}html[data-theme="dark"] .wm-sk-e{color:#b69cf5}
.wm-fact-a{text-decoration:none;color:inherit}
.wm-fact-a:hover{box-shadow:inset 0 0 0 1px var(--green)}
/* 57.457: верхний ряд без погоды — курсы, топливо, «Сейчас» (3 плитки); одна плитка — на всю ширину */
.kh--t1 .kh-q{grid-column:1/-1}
@media(max-width:760px){.kh--t3 .kh-fx{grid-column:span 2}.kh--t2 .kh-q{grid-column:span 2}}
/* 57.461: четыре вкладки карты помещаются на узком телефоне */
@media(max-width:420px){.wm-tabs button{padding:8px 4px;font-size:12px;min-width:0}}
/* ============================================================
   57.461 — «Беларусь и соседи»: карта очередей, соседи вокруг (inc/by_map_ui.php)
   ============================================================ */
.bym{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--rad-l);box-shadow:var(--sh-1);padding:var(--sp-4);margin:0 0 var(--sp-4);min-width:0}
.bym-h{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.bym-t{display:flex;align-items:center;gap:8px;margin:0;font-size:16px;font-weight:800}
.bym-t .ti{color:var(--green);font-size:19px}
.bym-seg{display:inline-flex;gap:2px;padding:3px;border-radius:12px;background:var(--bg)}
.bym-seg button{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:var(--ink2);font:600 13px/1 var(--font,inherit);padding:8px 12px;border-radius:9px;cursor:pointer;min-height:34px;font-family:inherit}
.bym-seg button[aria-pressed="true"]{background:var(--surface);color:var(--ink);box-shadow:var(--sh-1);font-weight:800}
.bym-wrap{position:relative;min-width:0}
.bym-svg{display:block;width:100%;height:auto}
.bym-land path{fill:color-mix(in srgb,var(--green) 7%,var(--surface));stroke:color-mix(in srgb,var(--green) 45%,var(--line));stroke-width:2;stroke-linejoin:round}
.bym-land path.city{fill:color-mix(in srgb,var(--green) 14%,var(--surface))}
.bym-cn{font-size:34px;font-weight:800;fill:var(--muted);opacity:.55;letter-spacing:.06em;text-transform:uppercase}
.bym-cp{cursor:pointer;text-decoration:none}
.bym-dot{stroke:var(--surface);stroke-width:3;transition:r .3s}
.bym-halo{opacity:.22;transition:r .3s}
.bym-cp:hover .bym-dot{stroke:var(--ink)}
.l-ok{fill:#22a35a;background:#22a35a}.l-mid{fill:#e8a317;background:#e8a317}.l-hi{fill:#f06d1c;background:#f06d1c}.l-max{fill:#d6336c;background:#d6336c}.l-na{fill:#a4acb6;background:#a4acb6}
.bym-cp.best .bym-halo{opacity:.45;animation:bymPulse 2.2s ease-in-out infinite}
@keyframes bymPulse{50%{opacity:.12}}
.bym-n{font-size:19px;font-weight:900;fill:#fff;pointer-events:none;paint-order:stroke;stroke:rgba(0,0,0,.25);stroke-width:2px}
.bym-lb{font-size:22px;font-weight:800;fill:var(--ink);paint-order:stroke;stroke:var(--surface);stroke-width:5px;stroke-linejoin:round}
.bym-lg{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--ink2);margin-top:4px}
.bym-lg span{display:inline-flex;align-items:center;gap:5px}
.bym-lg i{width:11px;height:11px;border-radius:50%;display:inline-block}
.bym-lg-n{color:var(--muted)}
.bym-best{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;margin-top:10px}
.bym-bc{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:12px;border:1px solid color-mix(in srgb,#22a35a 40%,var(--line));background:color-mix(in srgb,#22a35a 7%,var(--surface));text-decoration:none;color:var(--ink)}
.bym-bc small{font-size:11.5px;color:var(--ink2);font-weight:700}
.bym-bc b{font-size:16px}
.bym-bc span{font-size:12.5px;color:var(--ink2)}
.bym-bc:hover{border-color:#22a35a}
/* соседи вокруг */
.bym-ln{fill:none;stroke-width:2;stroke-dasharray:6 6;stroke:var(--muted);opacity:.7}
.bym-an{fill:var(--surface);stroke-width:3;stroke:var(--muted)}
.bym-ln.t-good,.bym-an.t-good{stroke:#22a35a}.bym-ln.t-bad,.bym-an.t-bad{stroke:#e8590c}
.bym-card{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;text-align:center;gap:1px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:7px 10px;box-shadow:var(--sh-1);min-width:112px;max-width:170px;text-decoration:none;color:var(--ink)}
.bym-card small{font-size:11px;font-weight:800;color:var(--ink2);text-transform:uppercase;letter-spacing:.03em}
.bym-card b{font-size:16px;line-height:1.2;font-variant-numeric:tabular-nums}
.bym-card span{font-size:11.5px;line-height:1.3;color:var(--ink2)}
.bym-card.t-good{border-color:color-mix(in srgb,#22a35a 55%,var(--line))}.bym-card.t-good span{color:#146c37}
.bym-card.t-bad{border-color:color-mix(in srgb,#e8590c 55%,var(--line))}.bym-card.t-bad span{color:#c2410c}
html[data-theme="dark"] .bym-card.t-good span{color:#6fd49a}html[data-theme="dark"] .bym-card.t-bad span{color:#ffa06b}
a.bym-card:hover{border-color:var(--green)}
.bym-center{background:var(--ink);color:var(--surface);border-color:var(--ink);min-width:130px}
.bym-center small,.bym-center span{color:color-mix(in srgb,var(--surface) 80%,transparent)}
.bym-list{display:none;list-style:none;margin:8px 0 0;padding:0;gap:6px}
.bym-list li,.bym-list li a{display:flex;flex-direction:column;gap:1px;text-decoration:none;color:var(--ink)}
.bym-list li{padding:9px 12px;border-radius:12px;border:1px solid var(--line);background:var(--bg)}
.bym-list li.bym-li-c{background:var(--ink);color:var(--surface);border-color:var(--ink)}
.bym-list small{font-size:11.5px;font-weight:800;text-transform:uppercase;color:inherit;opacity:.75}
.bym-list b{font-size:16px}
.bym-list span{font-size:12.5px;color:var(--ink2)}
.bym-list li.bym-li-c span{color:inherit;opacity:.8}
.bym-list li.t-good span{color:#146c37}.bym-list li.t-bad span{color:#b23a0a}
.bym-note{margin:8px 0 0;font-size:12px;color:var(--muted);line-height:1.5}
@media(max-width:700px){
  .bym{padding:var(--sp-3)}
  .bym-rw .bym-card{display:none}
  .bym-rw .bym-svg{max-width:360px;margin:0 auto}
  .bym-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .bym-list .bym-li-c{grid-column:1/-1}
  .bym-lb{font-size:28px}.bym-n{font-size:24px}
}
@media(prefers-reduced-motion:reduce){.bym-cp.best .bym-halo{animation:none}.bym-dot,.bym-halo{transition:none}}
/* 57.461: курсы — календарь изменений доллара */
.kc-cal{display:grid;grid-template-rows:repeat(7,14px);grid-auto-flow:column;grid-auto-columns:14px;gap:3px;padding:10px 14px 4px;overflow-x:auto}
.kc-cal i{display:block;border-radius:3px;background:var(--bg)}
.kc-cal i.kc-e{background:transparent}
.kc-wd{display:flex;gap:6px;padding:4px 14px;flex-wrap:wrap}
.kc-wd span{display:flex;flex-direction:column;align-items:center;min-width:40px;padding:4px 6px;border-radius:8px;background:var(--bg);font-variant-numeric:tabular-nums}
.kc-wd small{font-size:11px;color:var(--muted)}
.kc-wd b{font-size:12.5px}.kc-wd b.up{color:#d6334c}.kc-wd b.down{color:#1b8a47}
/* 57.462: «Поделиться прогнозом» — окно с превью */
.wm-sh{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px}
.wm-sh-bg{position:absolute;inset:0;background:rgba(10,14,22,.55);backdrop-filter:blur(2px)}
.wm-sh-box{position:relative;width:min(520px,100%);max-height:calc(100vh - 32px);overflow:auto;background:var(--surface);color:var(--ink);border-radius:18px;box-shadow:0 24px 60px rgba(0,0,0,.35);padding:18px}
.wm-sh-t{display:block;font-size:17px;margin:0 32px 12px 0}
.wm-sh-x{position:absolute;top:10px;right:10px;width:34px;height:34px;border-radius:10px;border:0;background:var(--bg);color:var(--ink);cursor:pointer;font-size:18px;display:inline-flex;align-items:center;justify-content:center}
.wm-sh-img{display:block;width:100%;height:auto;border-radius:12px;background:var(--bg);aspect-ratio:1200/630}
.wm-sh-p{margin:8px 0 12px;font-size:12.5px;color:var(--muted)}
.wm-sh-b{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.wm-sh-b a,.wm-sh-b button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-weight:700;font-size:14px;line-height:1.2;font-family:inherit;text-decoration:none;cursor:pointer}
.wm-sh-b a[style]{background:var(--c);border-color:var(--c);color:#fff}
.wm-sh-b .ti{font-size:18px}
.wm-sh-b a:hover,.wm-sh-b button:hover{filter:brightness(.95)}

/* ============================================================
   57.462 — «Купить / Продать / Сравнить»: живые карточки
   ============================================================ */
.kh-path{flex-direction:column;align-items:stretch;gap:12px;overflow:hidden;isolation:isolate;padding:18px 18px 16px;
  background:radial-gradient(120% 90% at 100% 0%,color-mix(in srgb,var(--pc) 16%,transparent),transparent 60%),linear-gradient(180deg,var(--surface),color-mix(in srgb,var(--pc) 5%,var(--surface)));
  border-color:color-mix(in srgb,var(--pc) 22%,var(--line))}
.kh-path::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--pc),color-mix(in srgb,var(--pc) 30%,transparent));z-index:-1}
.kh-path:hover{transform:translateY(-3px);box-shadow:0 18px 40px -22px var(--pc),var(--sh-2)}
.kh-path-wm{position:absolute;right:-18px;bottom:-26px;font-size:130px;line-height:1;color:var(--pc);opacity:.07;z-index:-1;transform:rotate(-12deg);transition:transform .5s var(--ease),opacity .3s}
.kh-path:hover .kh-path-wm{transform:rotate(-4deg) scale(1.08);opacity:.12}
.kh-path-top{display:flex;align-items:center;gap:var(--sp-3)}
.kh-path-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.kh-path>span.kh-path-top{flex:initial;display:flex;flex-direction:row;gap:var(--sp-3)}
.kh-path-m{display:none}
.kh-path-ic{background:linear-gradient(135deg,var(--pc),color-mix(in srgb,var(--pc) 70%,#000));transition:transform .35s var(--ease)}
.kh-path:hover .kh-path-ic{transform:rotate(-6deg) scale(1.06)}
.kh-path-live{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;font-size:13px;font-weight:600;color:var(--ink);background:color-mix(in srgb,var(--pc) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--pc) 25%,transparent);padding:5px 11px;border-radius:999px;font-variant-numeric:tabular-nums}
.kh-dot{width:8px;height:8px;border-radius:50%;background:var(--pc);box-shadow:0 0 0 0 var(--pc);animation:khPulse 2s infinite}
@keyframes khPulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--pc) 60%,transparent)}70%{box-shadow:0 0 0 8px transparent}100%{box-shadow:0 0 0 0 transparent}}
.kh-path-chips{display:flex;flex-wrap:wrap;gap:6px}
.kh-path-chips>span{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:500;color:var(--muted);background:var(--surface);border:1px solid var(--line);padding:3px 9px;border-radius:999px}
.kh-path-chips .ti{font-size:14px;color:var(--pc)}
.kh-path-chips .kh-free{background:var(--pc);border-color:var(--pc);color:#fff;font-weight:700}
.kh-path-steps{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600}
.kh-path-steps>span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.kh-path-steps em{font-style:normal;width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11.5px;color:#fff;background:var(--pc);transition:transform .3s var(--ease)}
.kh-path-steps>i{flex:1;min-width:10px;height:2px;border-radius:2px;background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--pc) 50%,transparent) 0 5px,transparent 5px 9px)}
.kh-path:hover .kh-path-steps em{animation:khStep .9s var(--ease) both}
.kh-path:hover .kh-path-steps>span:nth-of-type(2) em{animation-delay:.12s}
.kh-path:hover .kh-path-steps>span:nth-of-type(3) em{animation-delay:.24s}
@keyframes khStep{40%{transform:scale(1.25)}100%{transform:scale(1)}}
.kh-path-vs{display:grid;grid-template-columns:auto auto auto 1fr;align-items:center;gap:8px}
.kh-path-vs>span:not(.kh-path-bars){width:34px;height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-size:19px;color:var(--pc);background:color-mix(in srgb,var(--pc) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--pc) 25%,transparent)}
.kh-path-vs>em{font-style:normal;font-family:var(--font-d);font-weight:800;font-size:13px;color:#fff;background:var(--pc);padding:2px 7px;border-radius:8px;transform:rotate(-6deg)}
.kh-path-bars{display:flex;flex-direction:column;gap:5px;padding-left:4px}
.kh-path-bars i{display:block;height:6px;border-radius:4px;width:var(--w);background:linear-gradient(90deg,var(--pc),color-mix(in srgb,var(--pc) 40%,transparent));transform-origin:left;transition:transform .5s var(--ease)}
.kh-path-bars i+i{opacity:.55}
.kh-path:hover .kh-path-bars i:first-child{transform:scaleX(.8)}
.kh-path:hover .kh-path-bars i+i{transform:scaleX(1.25)}
@media(max-width:760px){
  .kh-path{padding:12px 10px 11px;gap:6px;align-items:flex-start}
  .kh-path>span.kh-path-top{flex-direction:column;align-items:flex-start;gap:8px}
  .kh-path-live,.kh-path-chips,.kh-path-steps,.kh-path-vs{display:none}
  .kh-path-m{display:block;font-size:11.5px;font-weight:600;color:var(--pc);line-height:1.2;font-variant-numeric:tabular-nums}
  .kh-path-wm{font-size:78px;right:-14px;bottom:-18px}
}
@media(prefers-reduced-motion:reduce){.kh-dot,.kh-path:hover .kh-path-steps em{animation:none}.kh-path-wm,.kh-path-bars i{transition:none}}
@media(max-width:374px){.kh-path b{font-size:14px}.kh-path-ic{width:36px;height:36px;font-size:19px;border-radius:11px}.kh-path{padding:10px 8px}}
@media(min-width:761px) and (max-width:1100px){.kh-path-steps{flex-wrap:wrap;gap:4px 8px}.kh-path-steps>i{display:none}.kh-path-wm{right:0;font-size:96px}.kh-path-bars{display:none}}

/* 57.463: слой «Спутник» и эффекты не перехватывают клики — районы снова нажимаются */
.wm-satg,.wm-satg image,.wm-rain,.wm-bd,.wm-sel,.wm-sel path,.wm-lb,.wm-ob path{pointer-events:none}

/* ============================================================
   57.463 — интерактивная карта очередей на границе (inc/border_map_ui.php, assets/js/border-map.js)
   ============================================================ */
.brm{--bc:#1565C0;background:linear-gradient(170deg,color-mix(in srgb,var(--bc) 6%,var(--surface)),var(--surface) 40%);border:1px solid color-mix(in srgb,var(--bc) 20%,var(--line));border-radius:22px;padding:14px;margin:16px 0 20px;box-shadow:0 20px 50px -36px var(--bc)}
.brm-h{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.brm-ttl{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.brm-ttl h2{margin:0;font-size:19px;display:flex;align-items:center;gap:7px;font-family:var(--font-d,inherit)}
.brm-ttl h2 .ti{color:var(--bc)}
.brm-live{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:3px 10px}
.brm-live i{width:8px;height:8px;border-radius:50%;background:#1B8A47;box-shadow:0 0 0 0 #1B8A4799;animation:brmPing 2s infinite}
.brm-live.flash{animation:brmFlash .8s}
@keyframes brmPing{70%{box-shadow:0 0 0 7px transparent}100%{box-shadow:0 0 0 0 transparent}}
@keyframes brmFlash{0%{background:#1B8A4722}100%{background:var(--surface)}}
.brm-ctl{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.brm-seg{display:inline-flex;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:3px;gap:2px}
.brm-seg button,.brm-f button,.brm-geo{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;border-radius:9px;padding:7px 11px;font:inherit;font-size:13px;font-weight:600;color:var(--ink);cursor:pointer}
.brm-seg button[aria-pressed="true"]{background:var(--bc);color:#fff}
.brm-geo{background:var(--surface);border:1px solid var(--line)}
.brm-geo .ti{color:var(--bc)}
.brm-geo.is-busy .ti{animation:brmSpin 1s linear infinite}
@keyframes brmSpin{to{transform:rotate(360deg)}}
.brm-f{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:10px 0}
.brm-f button{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:5px 11px;font-size:12.5px}
.brm-f button b{font-size:10.5px;letter-spacing:.04em;color:var(--muted)}
.brm-f button[aria-pressed="true"]{background:var(--ink);color:var(--surface);border-color:var(--ink)}
.brm-f button[aria-pressed="true"] b{color:inherit;opacity:.7}
.brm-open{position:relative;display:inline-flex;align-items:center;gap:7px;font-size:12.5px;cursor:pointer;margin-left:auto}
.brm-open input{position:absolute;opacity:0;width:1px;height:1px}
.brm-open span{width:32px;height:19px;border-radius:10px;background:var(--line);position:relative;transition:background .2s}
.brm-open span::after{content:"";position:absolute;left:2px;top:2px;width:15px;height:15px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 2px #0003}
.brm-open input:checked+span{background:var(--bc)}.brm-open input:checked+span::after{transform:translateX(13px)}
.brm-open input:focus-visible+span{outline:2px solid var(--bc);outline-offset:2px}
.brm-b{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:14px;align-items:start}
.brm-map{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.brm-svg{display:block;width:100%;height:auto;max-height:640px}
.brm-nb{stroke:none}
.brm-nb-pl{fill:#d2273014}.brm-nb-lt{fill:#e8a31716}.brm-nb-lv{fill:#8b1a3a14}.brm-nb-ru{fill:#1565c00d}.brm-nb-ua{fill:#f5b70012}
.brm-cn{font-size:30px;font-weight:800;fill:var(--muted);opacity:.45;letter-spacing:.06em;text-transform:uppercase;font-family:var(--font-d,inherit)}
.brm-land .bym-ob{fill:color-mix(in srgb,var(--bc) 5%,var(--surface));stroke:color-mix(in srgb,var(--bc) 30%,var(--line));stroke-width:1.6}
.brm-land .bym-ob.city{fill:color-mix(in srgb,var(--bc) 14%,var(--surface))}
.brm-rt path{fill:none;stroke:var(--bc);stroke-width:2;stroke-dasharray:3 7;opacity:.18}
.brm-rt path.off{opacity:.05}
.brm-rt path.on{opacity:.9;stroke-width:3.5;stroke-dasharray:10 8;animation:brmDash 1.2s linear infinite}
@keyframes brmDash{to{stroke-dashoffset:-36}}
.brm-city circle{fill:var(--surface);stroke:var(--ink);stroke-width:2}
.brm-city.cap circle{fill:var(--ink)}
.brm-city text{font-size:22px;fill:var(--ink2,var(--ink));font-weight:600}
.brm-city.cap text{font-size:28px;font-weight:800}
.brm-dot0{fill:var(--muted);opacity:.35}
.brm-m{cursor:pointer;outline:none}
.brm-m .brm-leg{stroke:var(--mc);stroke-width:3}
.brm-m .brm-pt{fill:var(--mc);stroke:var(--surface);stroke-width:2}
.brm-m .brm-pill{fill:var(--mc);stroke:var(--surface);stroke-width:3;transition:transform .2s}
.brm-m .brm-n{fill:#fff;font-weight:800;font-variant-numeric:tabular-nums;pointer-events:none}
.brm-m .brm-nm{fill:var(--ink);font-weight:800;paint-order:stroke;stroke:var(--surface);stroke-width:6px;pointer-events:none;opacity:0;transition:opacity .15s}
.brm-m:hover .brm-nm,.brm-m:focus-visible .brm-nm,.brm-m.on .brm-nm,.brm-m.best .brm-nm{opacity:1}
.brm-m .brm-star{fill:#f5b700;paint-order:stroke;stroke:var(--surface);stroke-width:3px}
.brm-m.on .brm-pill{stroke:var(--ink);stroke-width:3.5}
.brm-m .brm-pulse{fill:none;stroke:var(--mc);stroke-width:3;opacity:0;transform-box:fill-box;transform-origin:center;animation:brmPulse 2.2s ease-out infinite}
@keyframes brmPulse{0%{opacity:.7;transform:scale(.7)}100%{opacity:0;transform:scale(1.6)}}
.brm-m.l-ok{--mc:#1B8A47}.brm-m.l-mid{--mc:#D99A00}.brm-m.l-hi{--mc:#E8590C}.brm-m.l-max{--mc:#C2185B}.brm-m.l-cl{--mc:#9AA4B2}.brm-m.l-na{--mc:#7B8494}
.brm-m.l-cl .brm-pill{fill:url(#brmHatch);fill:#9AA4B2}
.brm-tip{position:absolute;left:0;top:0;pointer-events:none;background:var(--ink);color:var(--surface);padding:7px 10px;border-radius:10px;font-size:12.5px;max-width:240px;z-index:3;box-shadow:0 6px 18px -6px #0006}
.brm-tip b{display:block}.brm-tip span{opacity:.85}
.brm-lg{position:static;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 12px;font-size:11.5px;padding:8px 4px 0;color:var(--ink2,var(--ink))}
.brm-lg span{display:inline-flex;align-items:center;gap:4px}
.brm-lg i{width:10px;height:10px;border-radius:50%}
.brm-lg .l-ok{background:#1B8A47}.brm-lg .l-mid{background:#D99A00}.brm-lg .l-hi{background:#E8590C}.brm-lg .l-max{background:#C2185B}.brm-lg .l-cl{background:#9AA4B2}
.brm-panel{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:14px;min-height:300px;position:sticky;top:84px}
.brm-skel{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:260px;color:var(--muted);font-size:14px;text-align:center}
.brm-skel .ti{font-size:34px;color:var(--bc)}
.brm-p{display:flex;flex-direction:column;gap:11px}
.brm-p-h{display:flex;align-items:center;gap:10px}
.brm-p-h>div{flex:1;min-width:0}
.brm-p-h b{display:block;font-size:20px;font-family:var(--font-d,inherit);line-height:1.15}
.brm-p-h small{color:var(--muted);font-size:12.5px}
.brm-cc{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:22px;border-radius:6px;background:var(--bg);border:1px solid var(--line);font-size:10.5px;font-weight:800;letter-spacing:.04em;color:var(--ink2,var(--ink));flex-shrink:0}
.brm-ib{width:34px;height:34px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--muted);display:inline-flex;align-items:center;justify-content:center;font-size:17px;cursor:pointer;flex-shrink:0}
.brm-ib[aria-pressed="true"]{color:#f5b700;border-color:#f5b700}
.brm-st{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;border-radius:999px;padding:3px 10px;background:var(--bg)}
.brm-st i{width:8px;height:8px;border-radius:50%;background:currentColor}
.brm-st.st-open{color:#146C38;background:#1B8A4718}.brm-st.st-closed{color:#7B8494}.brm-st.st-old{color:#8A5200;background:#E88B0018}
.brm-big{display:flex;align-items:center;gap:12px}
.brm-big b{font-family:var(--font-d,inherit);font-size:52px;line-height:1;font-weight:800;color:var(--mc,var(--bc));font-variant-numeric:tabular-nums}
.brm-p.pl-ok{--mc:#1B8A47}.brm-p.pl-mid{--mc:#B77F00}.brm-p.pl-hi{--mc:#D9480F}.brm-p.pl-max{--mc:#C2185B}
.brm-big span{font-size:14px;font-weight:600;line-height:1.35}
.brm-big em{display:block;font-style:normal;font-size:12.5px;font-weight:700}
.brm-big em.up{color:#C2185B}.brm-big em.dn{color:#1B8A47}
.brm-lot{display:grid;grid-template-columns:repeat(20,1fr);gap:3px}
.brm-lot i{aspect-ratio:1;border-radius:3px;background:var(--mc,var(--bc));opacity:.85;animation:brmIn .4s both}
.brm-lot i:nth-child(n+21){animation-delay:.1s}.brm-lot i:nth-child(n+41){animation-delay:.2s}
@keyframes brmIn{from{transform:scale(.3);opacity:0}}
.brm-lot-n{color:var(--muted);font-size:11px;margin-top:-6px}
.brm-k{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.brm-k>div{background:var(--bg);border-radius:12px;padding:9px 10px;display:flex;flex-direction:column;gap:1px;min-width:0}
.brm-k small{font-size:11.5px;color:var(--muted);display:flex;gap:4px;align-items:center}
.brm-k small .ti{color:var(--bc);font-size:14px}
.brm-k b{font-size:17px;font-variant-numeric:tabular-nums}
.brm-k em{font-style:normal;font-size:11px;color:var(--muted)}
.brm-sph{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.brm-sp{width:100%;height:70px;display:block}
.brm-sp .a{fill:color-mix(in srgb,var(--mc,var(--bc)) 16%,transparent)}.brm-sp .l{fill:none;stroke:var(--mc,var(--bc));stroke-width:2.5;vector-effect:non-scaling-stroke}.brm-sp circle{fill:var(--mc,var(--bc))}
.brm-sp-ax{display:flex;justify-content:space-between;font-size:10.5px;color:var(--muted)}
.brm-nosp{font-size:12.5px;color:var(--muted);background:var(--bg);border-radius:10px;padding:10px}
.brm-closed{display:flex;gap:12px;align-items:flex-start;background:var(--bg);border-radius:14px;padding:12px}
.brm-closed .ti{font-size:30px;color:#9AA4B2}
.brm-closed b{display:block}.brm-closed small{color:var(--muted);font-size:12.5px;line-height:1.45}
.brm-side{display:flex;gap:8px;font-size:12.5px;line-height:1.45;background:color-mix(in srgb,var(--bc) 7%,transparent);border-radius:12px;padding:9px 11px}
.brm-side .ti{color:var(--bc);font-size:17px;flex-shrink:0}
.brm-cam-b{display:flex;gap:6px;flex-wrap:wrap}
.brm-cam-b button{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:7px 11px;font:inherit;font-size:12.5px;font-weight:600;color:var(--ink);cursor:pointer}
.brm-cam-b .ti{color:#D22730}
.brm-cam-v{margin-top:8px}
.brm-cam-v img{width:100%;border-radius:12px;display:block;background:var(--bg);min-height:120px}
.brm-cam-v small{display:block;font-size:11px;color:var(--muted);margin-top:4px}
.brm-route{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px}
.brm-route .ti{color:var(--bc);font-size:18px}
.brm-route span{flex:1;min-width:160px}
.brm-route a{font-size:12.5px;font-weight:700;color:var(--bc);text-decoration:none;border:1px solid color-mix(in srgb,var(--bc) 30%,transparent);border-radius:8px;padding:4px 9px}
.brm-acts{display:flex;gap:7px;flex-wrap:wrap}
.brm-btn{display:inline-flex;align-items:center;gap:6px;border:0;background:var(--bc);color:#fff;border-radius:11px;padding:9px 13px;font:inherit;font-size:13px;font-weight:700;text-decoration:none;cursor:pointer}
.brm-btn.g{background:var(--surface);color:var(--ink);border:1px solid var(--line)}
.brm-btn.g .ti{color:#E8A317}
.brm-rank{margin-top:12px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:12px}
.brm-rank-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.brm-rank-h small{color:var(--muted);font-size:12px}
.brm-rl{list-style:none;margin:0;padding:0;display:grid;gap:3px}
.brm-rl button{width:100%;display:grid;grid-template-columns:22px 30px minmax(0,1.3fr) minmax(0,1fr) 44px;gap:8px;align-items:center;border:0;background:transparent;border-radius:10px;padding:7px 6px;font:inherit;color:var(--ink);cursor:pointer;text-align:left}
.brm-rl button:hover,.brm-rl button[aria-current]{background:var(--bg)}
.brm-rk{font-weight:800;color:var(--muted);font-size:12px;text-align:center}
.brm-rn b{display:block;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brm-rn b .ti{color:#f5b700;font-size:13px}
.brm-rn small{display:block;font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brm-rb{height:9px;border-radius:5px;background:var(--bg);overflow:hidden}.brm-rb i{display:block;height:100%;border-radius:5px;background:var(--mc)}
.brm-rb.l-ok{--mc:#1B8A47}.brm-rb.l-mid{--mc:#D99A00}.brm-rb.l-hi{--mc:#E8590C}.brm-rb.l-max{--mc:#C2185B}.brm-rb.l-na{--mc:#9AA4B2}
.brm-rv{font-weight:800;text-align:right;font-variant-numeric:tabular-nums}
.brm-cl{margin-top:8px;font-size:12.5px;color:var(--muted)}.brm-cl summary{cursor:pointer;font-weight:700}.brm-cl a{color:inherit}
.brm-empty{font-size:13px;color:var(--muted)}
.brm-cred{font-size:11px;color:var(--muted);margin:10px 2px 0;line-height:1.45}
.brm-nos{font-size:13px}
@media(max-width:900px){.brm-b{grid-template-columns:1fr}.brm-mapcol{display:contents}.brm-map{order:1}.brm-panel{order:2;position:static}.brm-rank{order:3;margin-top:0}.brm-open{margin-left:0}}
@media(max-width:480px){.brm{padding:10px;border-radius:18px}.brm-seg button{padding:6px 8px;font-size:12px}.brm-big b{font-size:42px}.brm-lot{grid-template-columns:repeat(15,1fr)}.brm-rl button{grid-template-columns:18px 28px minmax(0,1fr) 60px 36px;gap:6px}.brm-lg{font-size:10.5px}}
@media(prefers-reduced-motion:reduce){.brm-live i,.brm-rt path.on,.brm-m .brm-pulse,.brm-lot i{animation:none}}
html[data-theme="dark"] .brm-st.st-open{color:#7DD99A}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .brm-st.st-open{color:#7DD99A}}
@media(max-width:600px){.brm-f{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.brm-f::-webkit-scrollbar{display:none}.brm-f button,.brm-open{flex:0 0 auto;white-space:nowrap}.brm-ctl{width:100%}.brm-seg{flex:1}.brm-seg button{flex:1;justify-content:center}}

/* ==== 57.464 Планировщик поездки (/rasstoyanie/a/b) ==== */
.trp{border:1px solid var(--line);border-radius:18px;background:var(--surface);padding:14px 16px 16px;margin:0 0 18px;overflow:hidden}
.trp-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.trp-h h2{font-size:17px;margin:0;display:flex;gap:7px;align-items:center}.trp-h h2 i{color:var(--green)}
.trp-h span{font-size:12.5px;color:var(--muted);font-weight:700}
.trp-b{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:16px;align-items:center}
@media (max-width:680px){.trp-b{grid-template-columns:1fr}}
.trp-map svg{width:100%;height:auto;display:block}
.trp-land path{fill:var(--green-l);stroke:var(--surface);stroke-width:3}
.trp-land path.city{fill:var(--line)}
.trp-line-bg{fill:none;stroke:var(--surface);stroke-width:16;stroke-linecap:round}
.trp-line{fill:none;stroke:var(--green);stroke-width:7;stroke-linecap:round;stroke-dasharray:2 1.4}
.trp-via circle{fill:var(--surface);stroke:var(--green);stroke-width:4}
.trp-via text{font-size:24px;fill:var(--ink2);font-weight:600;paint-order:stroke;stroke:var(--surface);stroke-width:6px}
.trp-pt circle{fill:var(--green);stroke:var(--surface);stroke-width:6}
.trp-b .trp-pt.trp-b circle,.trp-pt.trp-b circle{fill:#E65100}
.trp-pt text{font-size:32px;font-weight:800;fill:var(--ink);paint-order:stroke;stroke:var(--surface);stroke-width:8px}
.trp-car{fill:#fff;stroke:var(--ink);stroke-width:5}
.trp-ctl{display:grid;gap:10px}
.trp-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:13.5px}
.trp-row>label:first-child{min-width:82px;font-weight:700;display:flex;gap:6px;align-items:center;color:var(--ink2)}
.trp-row>label i{color:var(--green)}
.trp-row input[type=range]{flex:1 1 120px;accent-color:var(--green);min-width:0}
.trp-row output{font-weight:800;font-family:'Space Grotesk',sans-serif;font-size:16px;min-width:48px}
.trp-seg{display:inline-flex;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.trp-seg button{font:inherit;font-size:13px;font-weight:700;border:0;background:var(--surface);color:var(--ink2);padding:7px 12px;cursor:pointer;min-height:36px}
.trp-seg button[aria-pressed=true]{background:var(--green);color:#fff}
.trp-step{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:10px}
.trp-step button{font:inherit;font-size:18px;font-weight:800;border:0;background:transparent;width:36px;height:36px;cursor:pointer;color:var(--ink)}
.trp-step output{text-align:center;min-width:26px}
.trp-chk{display:inline-flex;gap:6px;align-items:center;font-size:13px;cursor:pointer}
.trp-row select,.trp-row input[type=number]{font:inherit;font-size:13px;border:1px solid var(--line);border-radius:9px;padding:6px 8px;background:var(--surface);color:var(--ink);min-height:36px}
.trp-row input[type=number]{width:70px}
.trp-row small{color:var(--muted)}
.trp-res{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}
.trp-res>div{background:var(--bg);border-radius:13px;padding:10px 12px;display:flex;flex-direction:column;min-width:0}
.trp-res>div[hidden]{display:none}
.trp-res small{font-size:11.5px;color:var(--muted);font-weight:700}
.trp-res b{font-family:'Space Grotesk',sans-serif;font-size:21px;line-height:1.2;overflow-wrap:anywhere}
.trp-res em{font-style:normal;font-size:11.5px;color:var(--ink2)}
.trp-money{background:var(--green-l)!important}.trp-money b{color:var(--green)}
@media (max-width:420px){.trp-res{grid-template-columns:1fr 1fr}.trp-money{grid-column:1/-1}}
.trp-tip{font-size:12.5px;color:var(--ink2);margin:9px 0 0;min-height:1em}
.trp-act{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.trp-share,.trp-ride{font:inherit;font-size:13.5px;font-weight:800;display:inline-flex;gap:6px;align-items:center;border-radius:11px;padding:10px 14px;cursor:pointer;text-decoration:none;min-height:42px}
.trp-share{background:var(--green);color:#fff;border:0}
.trp-ride{background:#e8f0fc;color:#1d5fbf;border:1px solid #cfe0f7}
.trp-ride.ghost{background:transparent;color:var(--ink2);border-color:var(--line)}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .trp-ride:not(.ghost){background:#16263d;border-color:#24406a;color:#8ab4f8}}
:root[data-theme=dark] .trp-ride:not(.ghost){background:#16263d;border-color:#24406a;color:#8ab4f8}

/* ==== 57.464 Открытка за 10 секунд (/prazdniki/…) ==== */
.gc{border:1px solid var(--line);border-radius:18px;padding:14px 16px 16px;margin:18px 0;background:var(--surface)}
.gc-b{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
@media (max-width:640px){.gc-b{grid-template-columns:1fr}}
.gc canvas{width:100%;height:auto;aspect-ratio:1;border-radius:14px;box-shadow:0 6px 24px rgba(0,0,0,.12)}
.gc-f{display:grid;gap:11px;min-width:0}
.gc-f>label{display:grid;gap:5px;font-size:12.5px;font-weight:700;color:var(--ink2)}
.gc-f input[type=text],.gc-f input:not([type]){font:inherit;font-size:14px;border:1px solid var(--line);border-radius:10px;padding:9px 11px;background:var(--surface);color:var(--ink)}
.gc-f fieldset{border:0;padding:0;margin:0;display:grid;gap:6px;min-width:0}
.gc-f legend{font-size:12.5px;font-weight:700;color:var(--ink2);margin-bottom:5px}
.gc-t{display:flex;gap:8px;align-items:flex-start;font-size:13px;line-height:1.4;border:1px solid var(--line);border-radius:10px;padding:8px 10px;cursor:pointer}
.gc-t:has(input:checked){border-color:var(--green);background:var(--green-l)}
.gc-t input{margin-top:2px;accent-color:var(--green);flex:none}
.gc-st{display:flex;gap:6px;flex-wrap:wrap}
.gc-st button{font:inherit;font-size:12.5px;font-weight:700;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:6px 12px 6px 8px;cursor:pointer;display:inline-flex;gap:6px;align-items:center;min-height:34px}
.gc-st button::before{content:"";width:14px;height:14px;border-radius:50%;background:var(--c)}
.gc-st button[aria-pressed=true]{border-color:var(--c);box-shadow:0 0 0 2px var(--c) inset}
.gc-a{display:flex;gap:8px;flex-wrap:wrap}

/* ==== 57.465 Студия виджетов /widgets ==== */
.wg{max-width:1180px;margin:0 auto;padding:0 16px 30px}
.wg h2{font-family:'Space Grotesk',sans-serif;font-size:17px;margin:0 0 10px;display:flex;align-items:center;gap:8px}
.wg h2>span{width:24px;height:24px;border-radius:50%;background:var(--green);color:#fff;font-size:12.5px;display:grid;place-items:center;flex:none}
.wg-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:28px;align-items:center;padding:30px 30px;margin:10px 0 22px;border-radius:26px;background:radial-gradient(120% 140% at 0 0,#123d27 0,#0c1a13 55%,#0a0f0c 100%);color:#fff;overflow:hidden;position:relative}
.wg-hero::after{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,#2fb36a55,transparent 70%);pointer-events:none}
.wg-kicker{display:inline-flex;gap:6px;align-items:center;font-size:12.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#7ee2a8;background:#ffffff12;border:1px solid #ffffff1f;border-radius:999px;padding:5px 11px}
.wg-hero h1{font-family:'Space Grotesk',sans-serif;font-size:clamp(28px,4vw,44px);line-height:1.08;letter-spacing:-.02em;margin:14px 0 12px;color:#fff}
.wg-hero p{font-size:16px;line-height:1.6;color:#d6e5dc;margin:0 0 16px;max-width:520px}
.wg-perks{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.wg-perks li{display:inline-flex;gap:6px;align-items:center;font-size:13px;color:#e8f3ec;background:#ffffff10;border-radius:10px;padding:6px 10px}
.wg-perks i{color:#7ee2a8}
.wg-go{display:inline-flex;gap:8px;align-items:center;background:#2fb36a;color:#06140c;font-weight:800;font-size:15px;padding:13px 20px;border-radius:14px;text-decoration:none;box-shadow:0 10px 30px -10px #2fb36a}
.wg-go:hover{background:#45c97e}
.wg-show{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.wg-show .kramba-informer{box-shadow:0 18px 40px -18px rgba(0,0,0,.6)!important;transition:transform .4s;width:auto!important}
.wg-s1{transform:rotate(-2deg)}.wg-s2{grid-row:1/3;grid-column:2;margin-top:34px;transform:rotate(1.5deg)}.wg-s3{transform:rotate(-1deg)}
.wg-show:hover .kramba-informer{transform:none}
@media (prefers-reduced-motion:reduce){.wg-show .kramba-informer{transition:none}}
@media (max-width:860px){.wg-hero{grid-template-columns:1fr;padding:22px 18px}.wg-show{grid-template-columns:minmax(0,1fr)}.wg-show .kramba-informer{transform:none!important}.wg-s2,.wg-s3{display:none}}
.wg-studio{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:18px;align-items:start;margin-bottom:28px;scroll-margin-top:80px}
@media (max-width:920px){.wg-studio{grid-template-columns:minmax(0,1fr)}}
.wg-ctl,.wg-out{min-width:0}.wg-param select,.wg-model select{width:100%;max-width:100%;min-width:0}
.wg-ctl,.wg-out{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:18px}
.wg-out{position:sticky;top:76px}
@media (max-width:920px){.wg-out{position:static}}
.wg-ctl h2:not(:first-child),.wg-out h2:not(:first-child){margin-top:20px}
.wg-types{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(160px,100%),1fr));gap:8px}
.wg-type{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto;column-gap:9px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:10px 11px;cursor:pointer;background:var(--surface);transition:border-color .15s,box-shadow .15s}
.wg-type input{position:absolute;opacity:0;pointer-events:none}
.wg-type i{grid-row:1/3;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--green-l);color:var(--green);font-size:19px}
.wg-type b{font-size:13.5px;line-height:1.25}.wg-type small{font-size:11.5px;color:var(--muted);line-height:1.3}
.wg-type:hover{border-color:var(--green)}
.wg-type:has(input:checked){border-color:var(--green);box-shadow:0 0 0 2px var(--green) inset;background:var(--green-l)}
.wg-type:has(input:focus-visible){outline:2px solid var(--green);outline-offset:2px}
.wg-param{margin-top:12px;display:grid;gap:5px}
.wg-param[hidden]{display:none}
.wg-param label{font-size:12.5px;font-weight:700;color:var(--ink2)}
.wg-param select{font:inherit;font-size:14px;border:1px solid var(--line);border-radius:11px;padding:9px 11px;background:var(--surface);color:var(--ink);min-height:42px}
.wg-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}
.wg-lbl{font-size:12.5px;font-weight:800;color:var(--ink2);min-width:84px}
.wg-seg{display:inline-flex;flex-wrap:wrap;border:1px solid var(--line);border-radius:12px;padding:3px;gap:2px;background:var(--bg)}
.wg-seg label{position:relative;cursor:pointer}
.wg-seg input{position:absolute;opacity:0;pointer-events:none}
.wg-seg span{display:inline-flex;gap:5px;align-items:center;font-size:13px;font-weight:700;padding:7px 11px;border-radius:9px;color:var(--ink2);min-height:32px}
.wg-seg input:checked+span{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.wg-seg input:focus-visible+span{outline:2px solid var(--green)}
.wg-sw{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.wg-sw label{position:relative;cursor:pointer;display:inline-flex}
.wg-sw input[type=radio]{position:absolute;opacity:0;pointer-events:none}
.wg-sw label>span{width:30px;height:30px;border-radius:50%;display:block;box-shadow:inset 0 0 0 2px rgba(255,255,255,.35)}
.wg-sw input:checked+span{box-shadow:0 0 0 3px var(--surface),0 0 0 5px var(--ink)}
.wg-sw input:focus-visible+span{outline:2px solid var(--green);outline-offset:4px}
.wg-own{display:inline-flex!important;align-items:center;gap:6px;border:1px dashed var(--line);border-radius:999px;padding:2px 10px 2px 3px}
.wg-own input{width:26px;height:26px;border:0;padding:0;background:none;border-radius:50%;cursor:pointer}
.wg-own span{font-size:12px;font-weight:700;color:var(--ink2)}
.wg-row input[type=range]{flex:1 1 140px;accent-color:var(--green);min-width:0}
.wg-row output{font-weight:800;min-width:42px;font-variant-numeric:tabular-nums}
.wg-chk{display:inline-flex;gap:6px;align-items:center;font-size:13px;cursor:pointer}
.wg-pv-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:space-between}
.wg-pv-h h2{margin:0}
.wg-dev{font:inherit;font-size:13px;font-weight:700;border:1px solid var(--line);background:var(--surface);color:var(--ink2);border-radius:11px;padding:7px 11px;cursor:pointer;display:inline-flex;gap:5px;align-items:center;min-height:36px}
.wg-dev[aria-pressed=true]{background:var(--ink);color:var(--surface);border-color:var(--ink)}
.wg-stage{margin-top:12px;border-radius:18px;padding:22px;min-height:300px;display:flex;justify-content:center;align-items:flex-start;transition:background .2s}
.wg-stage[data-bg=w]{background:#f1f3f5}
.wg-stage[data-bg=d]{background:#0f1115}
.wg-stage[data-bg=p]{background:linear-gradient(135deg,#ffd8a8,#fcc2d7 45%,#a5d8ff)}
.wg-site{width:100%;max-width:640px;grid-template-columns:minmax(0,1fr);background:rgba(255,255,255,.72);border-radius:14px;padding:16px;display:grid;gap:12px;justify-items:start;transition:max-width .3s}
.wg-stage[data-bg=d] .wg-site{background:#181b21}
.wg-stage.phone .wg-site{max-width:360px}
.wg-fake{display:grid;gap:7px;width:100%}.wg-fake i{display:block;height:9px;border-radius:5px;background:rgba(0,0,0,.08)}.wg-fake i.s{width:60%}
.wg-stage[data-bg=d] .wg-fake i{background:rgba(255,255,255,.08)}
#wgPrev{width:100%}
.wg-err{font-size:13px;color:var(--red)}
.wg-code{position:relative}
.wg-code textarea{width:100%;min-height:112px;box-sizing:border-box;font:12.5px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;border:1px solid var(--line);border-radius:14px;padding:12px 12px 52px;background:#0f1115;color:#c3f0d2;resize:vertical}
.wg-copy{font:inherit;font-size:13.5px;font-weight:800;display:inline-flex;gap:6px;align-items:center;background:var(--green);color:#fff;border:0;border-radius:11px;padding:10px 15px;cursor:pointer;min-height:40px}
.wg-code .wg-copy{position:absolute;right:10px;bottom:12px}
.wg-how{margin-top:10px;font-size:13.5px}
.wg-how summary{cursor:pointer;font-weight:800;color:var(--green)}
.wg-how ul{margin:8px 0 0;padding-left:18px;line-height:1.7}
.wg-calcs{margin:0 0 28px}
.wg-calcs h2 small{font-family:inherit;font-weight:500;font-size:13px;color:var(--muted)}
@media (max-width:640px){.wg-calcs h2{flex-wrap:wrap}}
.wg-cg{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(250px,100%),1fr));gap:10px}
.wg-c{border:1px solid var(--line);border-radius:16px;padding:14px;background:var(--surface);display:flex;flex-direction:column;gap:4px;transition:border-color .15s,transform .15s}
.wg-c:hover{border-color:var(--c);transform:translateY(-2px)}
@media (prefers-reduced-motion:reduce){.wg-c:hover{transform:none}}
.wg-ci{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-size:21px;color:var(--c);background:color-mix(in srgb,var(--c) 12%,transparent);margin-bottom:6px}
.wg-c b{font-size:14.5px}.wg-c small{font-size:12.5px;color:var(--muted)}
.wg-cb{display:flex;gap:6px;margin-top:10px}
.wg-cb button{font:inherit;font-size:12.5px;font-weight:800;border-radius:10px;padding:8px 11px;cursor:pointer;display:inline-flex;gap:5px;align-items:center;border:1px solid var(--line);background:var(--surface);color:var(--ink);min-height:36px}
.wg-cb button.g{background:var(--c);border-color:var(--c);color:#fff}
.wg-model{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.wg-model select{flex:1 1 220px;font:inherit;font-size:14px;border:1px solid var(--line);border-radius:11px;padding:9px 11px;background:var(--surface);color:var(--ink);min-height:42px}
.wg-model button{font:inherit;font-weight:800;font-size:13.5px;background:var(--green);color:#fff;border:0;border-radius:11px;padding:10px 16px;cursor:pointer;display:inline-flex;gap:6px;align-items:center}
.wg-dlg{border:0;border-radius:20px;padding:0;width:min(560px,calc(100vw - 32px));background:var(--surface);color:var(--ink)}
.wg-dlg::backdrop{background:rgba(10,12,16,.6)}
.wg-dlg-h{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line)}
.wg-dlg-h button{border:0;background:none;font-size:20px;cursor:pointer;color:var(--ink)}
.wg-dlg iframe{display:block;width:100%;border:0}
.wg-dlg-f{padding:12px 16px;border-top:1px solid var(--line)}
@media (max-width:480px){.wg-stage{padding:10px}.wg-site{padding:10px}.wg-ctl,.wg-out{padding:14px}}
/* 57.466 звук ленты: «ждёт касания» и плашка трека */
.feed-sound.on{animation:none}
.feed-sound.wait{background:rgba(255,255,255,.18);box-shadow:0 0 0 0 rgba(255,255,255,.5);animation:sndpulse 2.2s ease-out infinite}
.feed-mbadge{position:fixed;left:50%;bottom:84px;transform:translateX(-50%);z-index:60;display:inline-flex;align-items:center;gap:8px;max-width:min(80vw,420px);background:rgba(0,0,0,.6);color:#fff;border:0;border-radius:999px;padding:8px 14px;font:600 12.5px/1.2 system-ui,sans-serif;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.feed-mbadge[hidden]{display:none}
.feed-mbadge span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.feed-mbadge i{font-size:16px;flex:none}
@media(prefers-reduced-motion:reduce){.feed-sound.wait{animation:none}}

/* ==== 57.466 «Отпуск с умом» (/kalendar) ==== */
.vp{border:1px solid var(--line);border-radius:20px;padding:16px;margin:18px 0 22px;background:linear-gradient(180deg,color-mix(in srgb,#0EA5A5 7%,var(--surface)),var(--surface) 140px);scroll-margin-top:80px}
.vp-sub{font-size:13.5px;line-height:1.55;color:var(--ink2);margin:6px 0 0}
.vp-ctl{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:14px 0 12px}
.vp-n{display:flex;align-items:center;gap:10px;flex:1 1 260px;font-size:13px;font-weight:800}
.vp-n input{flex:1;accent-color:#0EA5A5;min-width:0}
.vp-n output{font-family:'Space Grotesk',sans-serif;font-size:22px;font-weight:800;min-width:30px;color:#0B7F7F}
.vp-seg{display:inline-flex;flex-wrap:wrap;gap:2px;border:1px solid var(--line);border-radius:12px;padding:3px;background:var(--bg)}
.vp-seg label{position:relative;cursor:pointer}.vp-seg input{position:absolute;opacity:0;pointer-events:none}
.vp-seg span{display:inline-block;font-size:12.5px;font-weight:700;padding:7px 11px;border-radius:9px;color:var(--ink2)}
.vp-seg input:checked+span{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.vp-seg input:focus-visible+span{outline:2px solid #0EA5A5}
.vp-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:10px}
.vp-c{position:relative;border:1px solid var(--line);border-radius:16px;padding:14px;background:var(--surface);display:flex;flex-direction:column;gap:9px;min-width:0}
.vp-c.best{border-color:#0EA5A5;box-shadow:0 0 0 2px #0EA5A533}
.vp-best{align-self:flex-start;font-size:11.5px;font-weight:800;color:#0B7F7F;background:#0EA5A51a;border-radius:999px;padding:3px 9px;display:inline-flex;gap:4px;align-items:center}
.vp-big{display:flex;gap:10px;align-items:center}
.vp-big b{font-family:'Space Grotesk',sans-serif;font-size:40px;line-height:1;color:#0B7F7F}
.vp-big span{font-size:14px;font-weight:700;line-height:1.3}.vp-big small{font-weight:500;color:var(--muted);font-size:12px}
.vp-when b{display:block;font-size:14.5px}.vp-when span{font-size:12.5px;color:var(--ink2)}
.vp-strip{display:flex;flex-wrap:wrap;gap:3px}
.vp-d{display:inline-block;width:14px;height:14px;border-radius:4px}
.vp-d.v{background:#0EA5A5}.vp-d.o{background:#FFC98B}.vp-d.h{background:#E03131}
.vp-act{display:flex;gap:6px;flex-wrap:wrap}
.vp-act a,.vp-act button{font:inherit;font-size:12.5px;font-weight:800;display:inline-flex;gap:5px;align-items:center;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;padding:7px 11px;text-decoration:none;cursor:pointer;min-height:36px}
.vp-lg{grid-column:1/-1;display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--muted)}
.vp-lg span{display:inline-flex;gap:5px;align-items:center}
.vp-note,.vp-empty{font-size:12px;color:var(--muted);margin:10px 0 0;line-height:1.5}
.vp-calc{margin-top:16px;padding-top:14px;border-top:1px dashed var(--line)}
.vp-cr{display:flex;gap:10px;flex-wrap:wrap}
.vp-cr label{display:flex;gap:6px;align-items:center;font-size:13px;font-weight:700}
.vp-cr input,.vp-cr select{font:inherit;font-size:14px;border:1px solid var(--line);border-radius:10px;padding:7px 9px;background:var(--surface);color:var(--ink);min-height:38px}
.vp-cres{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}
.vp-cres div{background:var(--bg);border-radius:12px;padding:10px 12px;min-width:0}
.vp-cres b{display:block;font-family:'Space Grotesk',sans-serif;font-size:24px}.vp-cres span{font-size:12px;color:var(--ink2)}
@media(max-width:480px){.vp-cres{grid-template-columns:1fr 1fr}}

/* ==== 57.467 Карта погоды с улицами (/karta-pogody) ==== */
.wm-big{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--green);background:var(--green-l);color:var(--green);border-radius:10px;padding:0 12px;height:40px;font-weight:800;font-size:13px;text-decoration:none;white-space:nowrap}
.wm-big:hover{background:var(--green);color:#fff}
.wdm-page{max-width:1280px;margin:0 auto;padding:0 16px 30px}
.wdm-head{max-width:860px;margin:6px 0 14px}
.wdm-head h1{font-family:'Space Grotesk',sans-serif;font-size:clamp(24px,3.4vw,36px);letter-spacing:-.02em;margin:0 0 8px}
.wdm-head p{font-size:15px;line-height:1.6;color:var(--ink2);margin:0}
.wdm{border:1px solid var(--line);border-radius:22px;background:var(--surface);overflow:hidden}
.wdm-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px}
.wdm-q{position:relative;flex:1 1 200px;display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:12px;padding:0 10px;background:var(--bg);min-width:0}
.wdm-q i{color:var(--muted)}
.wdm-q input{border:0;background:transparent;font:inherit;font-size:14px;padding:10px 0;flex:1;min-width:0;color:var(--ink);outline:none}
.wdm-sug{position:absolute;left:0;right:0;top:calc(100% + 4px);background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 30px -12px rgba(0,0,0,.3);z-index:5;overflow:hidden}
.wdm-sug button{display:block;width:100%;text-align:left;font:inherit;font-size:14px;padding:10px 12px;border:0;background:none;color:var(--ink);cursor:pointer}
.wdm-sug button:hover{background:var(--bg)}
.wdm-layers{display:flex;gap:6px;flex-wrap:wrap}
.wdm-layers button,.wdm-geo{font:inherit;font-size:13px;font-weight:700;display:inline-flex;gap:6px;align-items:center;border:1px solid var(--line);background:var(--surface);color:var(--ink2);border-radius:999px;padding:7px 12px;cursor:pointer;min-height:38px}
.wdm-layers button[aria-pressed=true]{background:#1565C0;border-color:#1565C0;color:#fff}
.wdm-layers button.err{border-style:dashed;opacity:.7}
.wdm-geo{border-color:var(--green);color:var(--green)}
.wdm-wrap{position:relative;height:min(72vh,720px);min-height:420px;background:var(--bg)}
/* 57.469: maplibre-gl.css грузится после нашего и ставит .maplibregl-map{position:relative} → высота 0, карта пустая. Поэтому усиливаем. */
.wdm-wrap>.wdm-map,.wdm-wrap>.wdm-map.maplibregl-map{position:absolute!important;inset:0;width:100%;height:100%}
.wdm-status{position:absolute;left:50%;top:14px;transform:translateX(-50%);background:rgba(20,22,26,.82);color:#fff;font-size:13px;font-weight:700;padding:8px 14px;border-radius:999px;z-index:3}
.wdm-status[hidden]{display:none}
.wdm-sheet{position:absolute;right:12px;top:12px;width:min(360px,calc(100% - 24px));max-height:calc(100% - 24px);overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 40px -16px rgba(0,0,0,.4);padding:14px;z-index:4}
.wdm-sheet[hidden]{display:none}
@media(max-width:640px){.wdm-sheet{left:8px;right:8px;top:auto;bottom:8px;width:auto;max-height:62%}}
.wdm-x{position:absolute;right:8px;top:8px;border:0;background:var(--bg);width:32px;height:32px;border-radius:50%;cursor:pointer;color:var(--ink);font-size:16px}
.wdm-sh b{display:block;font-size:15px;padding-right:36px}.wdm-sh small{color:var(--muted);font-size:11.5px}
.wdm-now{display:flex;gap:12px;align-items:center;margin-top:8px}
.wdm-t{font-family:'Space Grotesk',sans-serif;font-size:42px;font-weight:800;line-height:1}
.wdm-now span:last-child{font-size:14px;font-weight:700;line-height:1.35}.wdm-now small{font-weight:500;color:var(--ink2);font-size:12px}
.wdm-rain{margin-top:12px;background:#1565C00f;border-radius:14px;padding:10px 12px}
.wdm-rain b{font-size:13.5px;display:flex;gap:6px;align-items:center}.wdm-rain b i{color:#1565C0}
.wdm-bars{display:flex;align-items:flex-end;gap:3px;height:44px;margin-top:8px}
.wdm-bars i{flex:1;background:var(--line);border-radius:3px 3px 0 0}.wdm-bars i.w{background:#1c7ed6}
.wdm-bl{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:3px}
.wdm-hrs{list-style:none;margin:12px 0 0;padding:0 0 4px;display:flex;gap:4px;overflow-x:auto}
.wdm-hrs li{flex:0 0 46px;text-align:center;background:var(--bg);border-radius:10px;padding:6px 2px;display:flex;flex-direction:column;gap:2px}
.wdm-hrs small{font-size:11px;color:var(--muted)}.wdm-hrs b{font-size:14px}.wdm-hrs em{font-style:normal;font-size:11px;color:var(--muted)}.wdm-hrs em.w{color:#1c7ed6;font-weight:800}
.wdm-act{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.wdm-act a,.wdm-act button{font:inherit;font-size:12.5px;font-weight:800;display:inline-flex;gap:5px;align-items:center;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;padding:7px 10px;text-decoration:none;cursor:pointer;min-height:36px}
.wdm-act button[data-save]{background:var(--green);border-color:var(--green);color:#fff}
.wdm-savef{display:flex;gap:6px;width:100%}
.wdm-savef input{flex:1;min-width:0;font:inherit;font-size:14px;border:1px solid var(--line);border-radius:10px;padding:7px 10px;background:var(--surface);color:var(--ink)}
.wdm-savef button{font:inherit;font-weight:800;font-size:13px;border:0;background:var(--green);color:#fff;border-radius:10px;padding:0 12px;cursor:pointer}
.wdm-src,.wdm-load{font-size:11.5px;color:var(--muted);margin:10px 0 0;line-height:1.45}
.wdm-load{font-size:13px}
.wdm-pin{width:26px;height:34px;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 34'%3E%3Cpath d='M13 33C13 33 2 20 2 12a11 11 0 1 1 22 0c0 8-11 21-11 21z' fill='%23D22730' stroke='white' stroke-width='2'/%3E%3Ccircle cx='13' cy='12' r='4' fill='white'/%3E%3C/svg%3E")}
.wdm-place{width:26px;height:26px;border-radius:50%;background:#1B8A47;color:#fff;font:800 12px/26px system-ui,sans-serif;text-align:center;border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.35);cursor:pointer}
.wdm-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 12px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.wdm-lg{display:grid;grid-template-columns:auto 160px;align-items:center;gap:2px 8px}
.wdm-lg span{grid-row:1/3;font-weight:700}
.wdm-lg i{display:block;height:8px;border-radius:4px;background:linear-gradient(90deg,#3f6fd8,#5fb2f0,#9fdcef,#b8e6a0,#e6ec8c,#ffd166,#ffa94d,#f76707,#c92a2a)}
.wdm-lg em{display:none}
.wdm-mine{padding:12px 14px 16px;border-top:1px solid var(--line)}
.wdm-mine h2{font-size:16px;margin:0 0 8px;display:flex;gap:6px;align-items:center}.wdm-mine h2 i{color:#E8A317}
.wdm-places ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:8px}
.wdm-places li{display:flex;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.wdm-places li button{font:inherit;border:0;background:var(--surface);color:var(--ink);cursor:pointer;text-align:left}
.wdm-places li button:first-child{flex:1;padding:9px 11px;display:flex;flex-direction:column;gap:2px;min-width:0}
.wdm-places li b{font-size:14px}.wdm-places li span{font-size:12px;color:var(--ink2)}.wdm-places li span.w{color:#1c7ed6;font-weight:800}
.wdm-places li .x{width:38px;color:var(--muted)}
.wdm-hint{font-size:13px;color:var(--ink2);margin:0;line-height:1.5}
.wdm-how{margin:22px 0}
.wdm-how h2{font-size:19px;margin:0 0 10px}
.wdm-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(230px,100%),1fr));gap:10px}
.wdm-cards div{border:1px solid var(--line);border-radius:16px;padding:14px;background:var(--surface);display:flex;flex-direction:column;gap:4px}
.wdm-cards i{font-size:24px;color:#1565C0}.wdm-cards b{font-size:15px}.wdm-cards span{font-size:13px;color:var(--ink2);line-height:1.45}
.wdm-links{font-size:13.5px;margin:12px 0 0}
.wdm-cred{font-size:11.5px;color:var(--muted);line-height:1.5}

/* 57.469: блоки, перенесённые под карту балансировщиком weather-map.js */
.wm-mapx{display:flex;flex-direction:column;gap:var(--sp-3);margin-top:var(--sp-2)}
.wm-mapx:empty{display:none}
.brm-more{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin-top:6px;border:1px dashed var(--line);background:none;color:var(--ink2,var(--ink));border-radius:11px;padding:9px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.brm-more:hover{background:var(--bg)}
.brm-rl>li[hidden]{display:none}
.wg-get{grid-column:1/-1;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:18px;min-width:0;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:10px 18px;align-items:start}
.wg-get>h2{grid-column:1/-1;margin:0}
.wg-get .wg-how{margin-top:0}
@media (max-width:920px){.wg-get{grid-template-columns:minmax(0,1fr)}}
@media (max-width:480px){.wg-get{padding:14px}}

/* 57.474: живой график в «Сейчас на Kramba» */
.kh-ch{margin:8px 0 10px}
.kh-ch-t{display:flex;gap:4px;align-items:center;flex-wrap:wrap}
.kh-ch-t button{border:0;background:rgba(255,255,255,.08);color:rgba(255,255,255,.7);font:inherit;font-size:11.5px;font-weight:700;border-radius:999px;padding:4px 10px;cursor:pointer;min-height:26px}
.kh-ch-t button[aria-selected=true]{background:#5BE5A0;color:#0b2a1a}
.kh-ch-cap{font-size:11px;color:rgba(255,255,255,.55);margin-left:4px}
.kh-ch-box{position:relative;height:70px;margin-top:6px}
.kh-ch-box svg{width:100%;height:100%;display:block;overflow:visible;cursor:crosshair}
.kh-ch-l.draw{stroke-dasharray:1200;stroke-dashoffset:1200;animation:khDraw 1.2s ease-out forwards}
@keyframes khDraw{to{stroke-dashoffset:0}}
.kh-ch-cur{stroke:rgba(255,255,255,.35);stroke-width:1;vector-effect:non-scaling-stroke}
.kh-ch-dot{position:absolute;width:9px;height:9px;border-radius:50%;background:#5BE5A0;transform:translate(-50%,-50%);box-shadow:0 0 0 0 #5BE5A0aa;animation:khDot 2s infinite}
.kh-ch-dot.bump{animation:khDot 2s infinite,khBump .6s}
@keyframes khDot{0%{box-shadow:0 0 0 0 #5BE5A0aa}70%{box-shadow:0 0 0 9px #5BE5A000}100%{box-shadow:0 0 0 0 #5BE5A000}}
@keyframes khBump{50%{transform:translate(-50%,-50%) scale(1.8)}}
.kh-ch-tip{position:absolute;top:-6px;transform:translate(-50%,-100%);background:#fff;color:#0b0d11;font-size:11.5px;border-radius:8px;padding:3px 8px;white-space:nowrap;pointer-events:none;box-shadow:0 4px 12px #0005}
.kh-ch-tip b{font-weight:800}
@media (prefers-reduced-motion:reduce){.kh-ch-l.draw{animation:none;stroke-dasharray:none}.kh-ch-dot{animation:none}}

/* 57.474: страница объявления на самых узких экранах (320 px) — ничего не вылезает за край */
@media(max-width:360px){
  .lpanel,.guar,.sellerbig,.schip,.trust-light,.listing-cta-grid{min-width:0;max-width:100%}
  .lpanel *,.guar *,.sellerbig *,.schip *,.trust-light *,.listing-cta-grid *{white-space:normal!important;min-width:0;overflow-wrap:anywhere}
  .sellerbig>div,.guar>div,.lpanel>div{flex-wrap:wrap}
  .sellerbig .listing-cta-btn{max-width:100%;flex:1 1 100%}
  .trust-light .tbar{max-width:100%}
}

/* 57.497 (аудит поискового опыта): на телефоне первый экран занимали шапка, бета-плашка в 3 строки и cookie-плашка
   на 135 px — ответ страницы оказывался ниже сгиба. Бета — одна строка; cookie — компактная, кнопки в ряд. */
.beta-short{display:none}
@media(max-width:640px){
  .beta-bar{flex-wrap:nowrap;padding:6px 8px 6px 10px;margin-top:6px}
  .beta-bar .beta-txt{display:none}
  .beta-short{display:block;flex:1;min-width:0;font-weight:700;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .beta-cta{padding:6px 11px;font-size:12px;min-height:32px;display:inline-flex;align-items:center}
  #kCookie{padding:10px 12px;gap:8px;flex-wrap:nowrap;font-size:12.5px;line-height:1.35}
  #kCookie p{min-width:0}
  #kCookie p b{font-weight:700}
  #kCookie button{padding:8px 10px;min-height:36px;font-size:12.5px;white-space:nowrap}
  #kCookie .no{padding:8px}
  #kCookie .ck-l{display:none}
}
#kCookie .ck-s{display:none}
@media(max-width:640px){#kCookie .ck-s{display:inline}}

/* 57.497: страница калькулятора на телефоне — компактная шапка и «Коротко» в 3 строки, чтобы форма была на первом экране */
.tc-aeo-more{display:none}
@media(max-width:640px){
  .tool-page-wide>.trust-hero{padding:14px 16px!important;margin-bottom:12px}
  .tool-page-wide>.trust-hero .th-ic,.tool-page-wide>.trust-hero p{display:none}
  .tool-page-wide>.trust-hero h1{font-size:21px;margin:0;line-height:1.25}
  .tc-aeo:not(.open) p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .tc-aeo:not(.open) .tc-upd{display:none}
  .tc-aeo-more{display:inline-flex;align-items:center;min-height:32px;border:0;background:none;padding:2px 0;color:var(--green);font:inherit;font-weight:700;font-size:13px;cursor:pointer}
}
/* 57.502 — умный поиск по всему сайту (assets/js/ksearch.js): выпадающие подсказки */
.ks-box{position:absolute;top:calc(100% + 8px);left:0;right:0;min-width:min(420px,calc(100vw - 24px));background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 48px -12px rgba(16,24,40,.28);padding:6px;z-index:1200;max-height:min(70vh,560px);overflow-y:auto;text-align:left;font-size:14px}
.ks-lbl{font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding:10px 10px 4px}
.ks-it{display:flex;align-items:center;gap:10px;min-height:40px;padding:6px 10px;border-radius:11px;cursor:pointer;line-height:1.3}
.ks-it>.ti{color:var(--muted);font-size:17px;flex:none}
.ks-it.on,.ks-it:hover{background:color-mix(in srgb,var(--ks-a,var(--green)) 9%,var(--surface))}
.ks-it .ks-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ks-it .ks-t b{font-weight:800;color:var(--ink)}
.ks-ic{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--ks-a,var(--green)) 12%,var(--surface));color:var(--ks-a,var(--green));flex:none;font-size:16px}
.ks-ic-l{background:var(--bg);color:var(--muted)}
.ks-go{color:var(--muted);opacity:0;font-size:15px}.ks-it.on .ks-go,.ks-it:hover .ks-go{opacity:1}
.ks-p{font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums}
.ks-why{font-size:11.5px;color:var(--muted);white-space:nowrap}
.ks-fix{background:color-mix(in srgb,var(--ks-a,var(--green)) 7%,var(--surface));margin-bottom:2px}.ks-fix>.ti{color:var(--ks-a,var(--green))}
.ks-all{border-top:1px solid var(--line);border-radius:0 0 11px 11px;margin-top:4px}
.ks-x{border:0;background:none;color:var(--muted);font-size:18px;width:28px;height:28px;border-radius:8px;cursor:pointer;flex:none}.ks-x:hover{background:var(--bg);color:var(--ink)}
.ks-fix .ks-t,.ks-all .ks-t{white-space:normal}
@media(max-width:600px){.ks-box{min-width:0;left:0;right:0;max-height:60vh}.ks-why{display:none}}
/* 57.502 — контакты в подвале */
.ftr-contact{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;padding:14px 0;margin-top:6px;border-top:1px solid color-mix(in srgb,currentColor 14%,transparent);font-size:13.5px}
.ftr-contact-h{font-weight:800;display:inline-flex;gap:6px;align-items:center}
.ftr-contact a{display:inline-flex;gap:6px;align-items:center;color:inherit;text-decoration:none;min-height:32px;font-weight:600}
.ftr-contact a:hover{color:var(--green)}
.ftr-contact a small{opacity:.65;font-weight:500}
.ftr-contact .ti{color:var(--green);font-size:16px}
@media(max-width:600px){.ftr-contact{flex-direction:column;align-items:flex-start;gap:2px}}
/* 57.502 — ссылки подвала: область нажатия не меньше 24 px (WCAG 2.5.8) */
.ftr .fcol a{display:inline-flex;align-items:center;min-height:24px}
/* ============================================================
   57.504 — ЕДИНЫЙ СПОКОЙНЫЙ СТИЛЬ блоков-подсказок и конверсии.
   Всё, что предлагает действие (войти, подписаться на Telegram, включить сигнал, готовые документы),
   выглядит одинаково: светло-серая подложка, тонкая рамка, серые иконки, кнопки-контуры.
   Ничего не «кричит» и не спорит с основным содержимым страницы.
   ============================================================ */
:root{--kx-bg:var(--bg);--kx-line:var(--line);--kx-ic:var(--ink2)}
.kx,:root .kg-inline,:root .kg-tg,:root .hub-watch{background:var(--kx-bg);border:1px solid var(--kx-line);border-radius:16px;box-shadow:none}
:root .kg-inline{background:var(--kx-bg)}
.kx{padding:14px 16px;margin:18px 0;display:flex;flex-direction:column;gap:10px}
.kx-h{display:flex;gap:12px;align-items:flex-start}
.kx-h>.ti,:root .kg-ic,:root .kg-tg-ic,:root .hub-watch-ic{width:40px;height:40px;border-radius:12px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-size:20px;background:var(--surface);border:1px solid var(--kx-line);color:var(--kx-ic)}
.kx-h b{display:block;font-size:15px;line-height:1.3;color:var(--ink)}
.kx-h small{display:block;font-size:13px;line-height:1.45;color:var(--muted);margin-top:2px}
.kx-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:6px}
.kx-row{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:12px;background:var(--surface);border:1px solid var(--kx-line);color:var(--ink);text-decoration:none;min-height:44px;transition:border-color .15s}
.kx-row:hover{border-color:var(--muted)}
.kx-row>.ti:first-child{font-size:20px;color:var(--kx-ic);flex-shrink:0}
.kx-row span{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.kx-row b{font-size:13.5px;line-height:1.3}
.kx-row small{font-size:12px;line-height:1.4;color:var(--muted);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.kx-go{color:var(--hint,#9aa0a8);font-size:16px;flex-shrink:0}
.kx-more{align-self:flex-start;font-size:13px;font-weight:700;color:var(--ink2);text-decoration:none;display:inline-flex;align-items:center;min-height:24px}
.kx-more:hover{color:var(--ink);text-decoration:underline}
/* кнопки внутри блоков — контурные, одного вида */
.kx-btn,:root .kg-tg-btn,:root .kg-tg-bot,:root .kg-inline .kg-btn,:root .kg-inline .kg-btn-p,:root .hub-watch .hub-btn{background:var(--surface);color:var(--ink);border:1px solid var(--kx-line);border-radius:12px;font-weight:700;font-size:13.5px;box-shadow:none;transform:none;min-height:44px;padding:10px 16px;display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none;cursor:pointer;filter:none}
.kx-btn:hover,:root .kg-tg-btn:hover,:root .kg-tg-bot:hover,:root .kg-inline .kg-btn:hover,:root .hub-watch .hub-btn:hover{border-color:var(--muted);transform:none;box-shadow:none;background:var(--surface);color:var(--ink)}

:root .kg-tg-btn{color:var(--ink)}
:root .kg-tg .kg-body b,:root .hub-watch-body b{font-size:14px;color:var(--ink)}
/* «что даст подписка» — раскрывашка внутри карточки Telegram */
.kg-tg-why{flex-basis:100%;font-size:12.5px;color:var(--muted);margin:0}
.kg-tg-why summary{cursor:pointer;display:inline-flex;align-items:center;gap:4px;min-height:24px;font-weight:600;color:var(--ink2);list-style:none}
.kg-tg-why summary::-webkit-details-marker{display:none}
.kg-tg-why ul{margin:6px 0 0;padding-left:18px;display:grid;gap:3px;line-height:1.45}
.kg-tg{flex-wrap:wrap}
.kg-after>.kx{margin:0}
.kx-link{flex-direction:row;align-items:center;color:var(--ink);text-decoration:none;max-width:980px;margin-left:auto;margin-right:auto;transition:border-color .15s}
.kx-link:hover{border-color:var(--muted)}.kx-link .kx-h{flex:1;min-width:0}
.kx-tg{flex-direction:row;align-items:center;flex-wrap:wrap}.kx-tg .kx-h{flex:1 1 260px;min-width:0}
.kx-h small a{color:var(--ink2);font-weight:700}
/* правило «текст на зелёной заливке» (:is(...,#kCookie .ok)) имеет вес ID — у контурных кнопок текст всегда обычный */
.kx-btn,:root .kg-tg-btn,:root .kg-tg-bot,:root .kg-inline .kg-btn,:root .kg-inline .kg-btn-p,:root .hub-watch .hub-btn{color:var(--ink)!important;background:var(--surface)!important}
.kh>.kg-tg{flex-wrap:nowrap}.kh>.kg-tg .kg-tg-btn,.kh>.kg-tg .kg-tg-bot{flex:0 0 auto}.kh>.kg-tg .kg-tg-why{flex-basis:auto;order:5}
/* 57.505 — бета «первые 100»: полоса заполнения в спокойном стиле */
.kx-meter{height:10px;border-radius:6px;background:var(--surface);border:1px solid var(--kx-line);overflow:hidden}
.kx-meter i{display:block;height:100%;background:var(--ink2);border-radius:6px;transition:width .6s}
.kx-meter-l{display:flex;justify-content:space-between;gap:8px;font-size:12.5px;color:var(--muted)}.kx-meter-l b{color:var(--ink);font-variant-numeric:tabular-nums}
.kx-act{display:flex;gap:8px;flex-wrap:wrap}
.kx-ok{margin:0;font-size:13.5px;color:var(--ink2);display:flex;gap:6px;align-items:center;flex-wrap:wrap}.kx-ok a{color:var(--ink);font-weight:700}
/* 57.508: KSmart — подсказка об исправлении и подсказки со всего сайта для локальных фильтров */
.ks-hint{margin:6px 2px 10px;font-size:13px;color:var(--muted);line-height:1.45}
.ks-fb{margin-top:10px;text-align:left}
.ks-fb-h{margin:0 0 6px;font-size:13px;color:var(--ink2);font-weight:600}
.ks-fb ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.ks-fb li a{display:inline-flex;min-height:28px;align-items:center;font-weight:700;font-size:14px;color:var(--ink)}
.ks-fb li small{color:var(--muted);font-size:12px;margin-left:6px}

/* ============ 57.509: мобильная вёрстка без «уезжания» ============
   iPhone (Safari) увеличивает страницу, если у поля ввода шрифт меньше 16 px, и после этого
   страница «двигается» и вылезает за края экрана. Поэтому на телефонах и планшетах у всех полей — 16 px.
   Масштабирование пальцами при этом не запрещаем (важно для доступности). */
@media (max-width: 900px), (pointer: coarse) {
  input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]),
  select, textarea { font-size: 16px !important; }
}
/* страховка от горизонтальной прокрутки: overflow: clip не ломает «липкие» шапки */
html { overflow-x: clip; }
@supports not (overflow: clip) { html, body { overflow-x: hidden; } }
/* длинные слова и ссылки не раздвигают экран */
main, article, .wrap { overflow-wrap: break-word; min-width: 0; }
img, video, iframe, svg, canvas, table { max-width: 100%; }
/* 57.509: подсказки поиска в разделах — в цвете раздела, с меткой «В разделе …» */
.ks-scoped{min-width:min(460px,calc(100vw - 24px))}
.ks-lbl-here{color:var(--ks-a,var(--green))}
.ks-scoped .ks-t{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
/* 57.533: верхний ряд из 4 плиток (курсы, топливо, погода, сейчас) — одинаковая ширина и высота */
.kh--t4 .kh-q{grid-column:span 3}
.kh-q{min-height:236px}
.kh-wx-main{display:flex;align-items:center;gap:12px;margin-top:2px}
.kh-wx-t{font-family:var(--font-d);font-size:40px;line-height:1;letter-spacing:-.03em;color:var(--ink)}
.kh-wx-t .ti{font-size:34px;color:#0EA5E9}
.kh-wx-l{display:flex;flex-direction:column;gap:2px;font-weight:700;font-size:14px;line-height:1.25;min-width:0}
.kh-wx-l small{font-weight:500;font-size:12px;color:var(--muted)}
.kh-wx-d{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.kh-wx-d li{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;border-radius:var(--rad-m);background:color-mix(in srgb,#0EA5E9 7%,var(--surface));font-variant-numeric:tabular-nums}
.kh-wx-d span{font-size:11px;color:var(--muted);font-weight:700}.kh-wx-d i{font-size:18px;color:#0EA5E9}.kh-wx-d b{font-size:13px}.kh-wx-d small{font-size:11px;color:var(--muted)}
/* 57.533: нижний ряд — Гарант, кабинет, рейтинги (+ Telegram, если карточка видна): поровну */
.kh .kh-garant,.kh .kh-join,.kh .kh-rt{grid-column:span 4}
.kh:has(>.kg-tg:not([hidden])) .kh-garant,.kh:has(>.kg-tg:not([hidden])) .kh-join,.kh:has(>.kg-tg:not([hidden])) .kh-rt,.kh>.kg-tg{grid-column:span 3}
.kh-rt{background:linear-gradient(150deg,color-mix(in srgb,#E8A317 13%,var(--surface)),var(--surface) 72%)}
.kh-rt .kh-k .ti{color:#C98A0B}
.kh-rt-t{font-family:var(--font-d);font-size:17px;line-height:1.3}
.kh-rt-n{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:2px 0}
.kh-rt-n dt{font-size:11px;color:var(--muted);order:2}.kh-rt-n div{display:flex;flex-direction:column}.kh-rt-n dd{margin:0;font-family:var(--font-d);font-size:20px;font-variant-numeric:tabular-nums;color:var(--ink)}
@media(max-width:1024px){
  .kh--t4 .kh-q{grid-column:span 3}
  .kh .kh-garant,.kh .kh-join,.kh .kh-rt,.kh>.kg-tg,.kh:has(>.kg-tg:not([hidden])) .kh-garant,.kh:has(>.kg-tg:not([hidden])) .kh-join,.kh:has(>.kg-tg:not([hidden])) .kh-rt{grid-column:span 3}
  .kh-garant{grid-column:span 6}
  .kh:has(>.kg-tg:not([hidden])) .kh-garant{grid-column:span 3}
}
@media(max-width:760px){
  .kh--t4 .kh-q{grid-column:span 1}
  .kh-q{min-height:0}
  .kh .kh-garant,.kh .kh-join,.kh .kh-rt,.kh>.kg-tg,.kh:has(>.kg-tg:not([hidden])) .kh-garant,.kh:has(>.kg-tg:not([hidden])) .kh-join,.kh:has(>.kg-tg:not([hidden])) .kh-rt{grid-column:span 2}
}
@media(max-width:380px){.kh--t4 .kh-q{grid-column:span 2}}
/* 57.533: телефон — курсы и погода парой, топливо и «Сейчас» на всю ширину; без курсов погода тоже во всю ширину */
@media(max-width:760px){
  .kh .kh-fuel,.kh .kh-now{grid-column:span 2}
  .kh .kh-fx,.kh .kh-wx{grid-column:span 1}
  .kh--t3 .kh-wx{grid-column:span 2}
  .kh-wx-t{font-size:32px}
}
@media(max-width:380px){.kh .kh-fx,.kh .kh-wx{grid-column:span 2}}
/* 57.534: нижний ряд «Гарант · Рейтинги · Кабинет» — ровно три в ряд (перебиваем старые правила 57.4xx, где Гарант и кабинет занимали по половине) */
@media(min-width:1025px){
  .kh:has(>.kg-tg[hidden]) :is(.kh-garant,.kh-join,.kh-rt),.kh:not(:has(>.kg-tg)) :is(.kh-garant,.kh-join,.kh-rt){grid-column:span 4}
  .kh:has(>.kg-tg:not([hidden])) :is(.kh-garant,.kh-join,.kh-rt){grid-column:span 3}
}
@media(min-width:761px) and (max-width:1024px){
  .kh:has(>.kg-tg[hidden]) :is(.kh-garant,.kh-join,.kh-rt),.kh:not(:has(>.kg-tg)) :is(.kh-garant,.kh-join,.kh-rt){grid-column:span 2}
  .kh:has(>.kg-tg:not([hidden])) :is(.kh-garant,.kh-join,.kh-rt),.kh:has(>.kg-tg:not([hidden]))>.kg-tg{grid-column:span 3}
}
/* 57.538: фото в карточках на iOS Safari — img 100% высоты внутри flex/grid с aspect-ratio резался наполовину; прибиваем к рамке */
.card .img,.rimg,.rc-photo,.recent-img{position:relative}
.card .img>img,.rimg>img,.rc-photo>img,.recent-img>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* 57.548: поле выбора файла — удобная зона нажатия (минимум 44 px) */
input[type=file]{min-height:44px;padding:8px 0;max-width:100%}
/* 57.549: характеристики от продавца на странице объявления */
.dpp-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr));gap:8px;margin:0}
.dpp-list>div{background:var(--bg);border-radius:10px;padding:10px 12px;min-width:0}
.dpp-list dt{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px;margin:0 0 3px}
.dpp-list dd{margin:0;font-size:14px;font-weight:600;overflow-wrap:anywhere}
