a.logo { font-family: -apple-system, "SF Pro Text", system-ui; font-weight: 800; text-decoration: none; color: inherit; letter-spacing: -.5px }
[data-action="hub-trigger"] { cursor: pointer }
[data-action="search"] { flex: 1 }
#h-wish-btn, #h-cart-btn, #h-prof-btn { background: none; border: none; cursor: pointer; position: relative }
.h-cab-btns { display: flex; gap: 6px; align-items: center }
.h-cab-btn { padding: 6px 12px; border-radius: 10px; font-size: 12px; font-weight: 600; cursor: pointer; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.06); color: #dcdce0; white-space: nowrap; transition: background .15s }
.h-cab-btn:hover { background: rgba(232,123,0,.15); border-color: #e87b00; color: #e87b00 }
/* V1 единый призрачный pill: язык · валюта */
.otc-langcur-pill { display: inline-flex; align-items: center; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.10); border-radius: 10px; padding: 0 3px }
.otc-langcur-pill .otc-lang-trigger { background: none !important; border: 0 !important; box-shadow: none !important; padding: 8px 8px; color: #fff; font-weight: 600; font-size: 13px }
.otc-langcur-pill .otc-lang-trigger:hover { color: #e87b00 }
.otc-langcur-pill .lang-chevron { opacity: .6 }
.otc-lc-sep { width: 1px; height: 14px; background: rgba(255,255,255,.18); flex: 0 0 auto }
/* §2 поиск доминирующий — DEV1-HEADER-REWORK-ALIBABA-V1: гибкий (сжимается, не толкает правый кластер) */
.dh-search { max-width: 940px !important; flex: 1 1 auto !important; min-width: 200px !important; flex-basis: auto !important }
/* §3 режимы поиска — иконка + слова */
.dh-mode-btn { width: auto !important; padding: 0 12px !important; display: inline-flex !important; align-items: center; gap: 6px; white-space: nowrap; font-family: inherit; font-size: 12.5px; font-weight: 600; flex-shrink: 0 }
.dh-mode-btn svg { flex-shrink: 0 }
.dh-ai-btn.dh-mode-btn::after { display: none }
/* ── DEV1-MOB-HEADER-FIX: моб-шапка 2-уровня строго по mob-10/mob-01c (ТОЛЬКО ≤760px, десктоп не затронут) ── */
.dh-modes-mob{display:none}   /* десктоп: отдельного моб-ряда нет (cam/ai внутри поиска) */
/* поиск стал <textarea> (WhatsApp-логика на моб): база = ведёт себя как однострочный input на десктопе */
textarea#h-search-q.dh-q{font-family:inherit;resize:none;-webkit-appearance:none;appearance:none;line-height:1.3;white-space:nowrap;overflow-x:auto;overflow-y:hidden;height:auto}
textarea#h-search-q.dh-q::-webkit-scrollbar{display:none}
/* DEV1-MOB-SEARCH-FIELD-V1: оранжевая кнопка-поиск внутри рамки справа (фирменный #e87b00, белая SVG-лупа; .otc-press даёт нажатие+44зону+haptic) */
/* DEV1-DESKTOP-RESTORE-SEARCH-V1: оранж-кнопка ТОЛЬКО на моб — на десктопе (заморожен) её НЕ было (display:none по умолчанию, показ в @media max-width:760px) */
.dh-search-go{display:none;width:42px;height:42px;border-radius:12px;background:#e87b00;border:0;align-items:center;justify-content:center;flex:0 0 auto;cursor:pointer;padding:0;align-self:center}
.dh-search-go:hover{filter:brightness(1.06)}
.dh-search-go svg{width:20px;height:20px;display:block}
/* DEV1-MOB-DRAWERS-BUTTONS-TOGGLE-V1: «доскок» бейджа корзины при добавлении из дровера Избранного */
@keyframes badge-pop{0%{transform:scale(1)}40%{transform:scale(1.4)}100%{transform:scale(1)}}
.dh-bdg.bump,.cart-badge.bump{animation:badge-pop .4s cubic-bezier(.34,1.56,.64,1)}
/* DEV1-MOB-DRAWERS-CARD-V1: единая B2B-карточка товара (премиум-стекло) для дроверов Избранное+Корзина */
/* строго по MOBILE_DESIGN_THEME.md: карточка на стекле — rgba(255,255,255,.62), грань 0.5px, верх. хайлайт, радиус 15, шрифт 400/500, акцент #e87b00 только на Итого/действиях */
.dwc{position:relative;margin:8px 12px;padding:11px 12px;border-radius:15px;background:rgba(255,255,255,.62);-webkit-backdrop-filter:blur(6px) saturate(1.3);backdrop-filter:blur(6px) saturate(1.3);border:.5px solid rgba(120,110,130,.16);border-top:1px solid rgba(255,255,255,.9);box-shadow:0 1px 3px rgba(20,16,30,.04)}
@supports not ((backdrop-filter:blur(2px)) or (-webkit-backdrop-filter:blur(2px))){.dwc{background:rgba(255,255,255,.92)}}
.dwc-top{display:flex;gap:10px;align-items:flex-start}
.dwc-ph{width:54px;height:54px;border-radius:10px;overflow:hidden;background:rgba(255,255,255,.5);border:.5px solid rgba(120,110,130,.16);flex:0 0 auto;position:relative;display:block}
.dwc-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dwc-info{flex:1;min-width:0}
.dwc-nm{font-size:14px;font-weight:500;color:#1c1a22;line-height:1.3;letter-spacing:.1px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-decoration:none}
.dwc-smp{font-size:9px;font-weight:500;color:#fff;background:#e87b00;border-radius:4px;padding:1px 5px;vertical-align:middle;letter-spacing:.2px}
.dwc-fab{font-size:11.5px;font-weight:400;color:#7a7680;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dwc-x{flex:0 0 auto;border:0;background:none;color:#a8a4ae;cursor:pointer;padding:3px;margin:-3px -3px 0 0;display:flex;align-items:center}
.dwc-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}
.dwc-chip{font-size:11px;font-weight:400;color:#6b6770;background:rgba(255,255,255,.66);border:.5px solid rgba(120,110,130,.14);border-radius:8px;padding:3px 8px;white-space:nowrap}
.dwc-chip b{color:#1c1a22;font-weight:500}
.dwc-chip--dl{color:#854f0b;background:rgba(232,123,0,.10);border-color:rgba(232,123,0,.22)}
.dwc-chip--dl b{color:#854f0b}
/* DEV1-WISH-FIX-PACK-V1 #1: скелетон цены (НИКОГДА не «0 ₸») — полоска-шиммер пока грузится бэкфилл */
.dwc-skelbar{display:inline-block;width:46px;height:10px;border-radius:5px;vertical-align:-1px;background:linear-gradient(90deg,rgba(120,110,130,.13) 25%,rgba(120,110,130,.24) 37%,rgba(120,110,130,.13) 63%);background-size:400% 100%;animation:dwcSkel 1.2s ease infinite}
.dwc-skelbar--wide{width:96px;height:11px}
.dwc-chip--skel{background:rgba(255,255,255,.5)}
@keyframes dwcSkel{0%{background-position:100% 50%}100%{background-position:0 50%}}
@media(prefers-reduced-motion:reduce){.dwc-skelbar{animation:none}}
.dwc-bot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:11px}
.dwc-total{font-size:11px;font-weight:400;color:#7a7680;line-height:1.2}
.dwc-total b{display:block;font-size:17px;color:#e87b00;font-weight:500;letter-spacing:.2px;margin-top:1px}
.dwc-add{border:0;background:#e87b00;color:#fff;border-radius:12px;min-width:92px;height:36px;padding:0 14px;font-size:12.5px;font-weight:500;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;justify-content:center;gap:5px}
.dwc-stp{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.66);border:.5px solid rgba(120,110,130,.16);border-radius:12px;padding:3px}
.dwc-stp-b{width:30px;height:30px;border:0;background:none;border-radius:9px;font-size:18px;color:#1c1a22;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}
.dwc-stp-b:hover{color:#e87b00}
.dwc-stp-v{font-size:13px;font-weight:500;color:#1c1a22;min-width:36px;text-align:center;line-height:1.1}
.dwc-stp-v small{display:block;font-size:9px;font-weight:400;color:#7a7680}
/* DEV1-AUTH-MODAL-SWIPE-LIKE-DRAWERS-V1: грабер-хват auth-окна только на моб (десктоп центр-модалка — без него) */
.dh-auth-grab{display:none}
/* DEV1-MOB-AI-PAGE-V1: новые элементы ИИ-страницы скрыты на ДЕСКТОПЕ (drawer ЗАМОРОЖЕН) — включаются в моб-@media */
.dh-ai-mhdr,.ai-hdr,.ai-hdr__line,.dh-ai-mascot,.dh-ai-greet,.dh-ai-plus,.dh-ai-attach,.dh-ai-hist,.dh-ai-hist-bd,.dh-ai-send .ai-ic-mic{display:none}
/* ═══ DEV1-AI-VOICE-STT-V1: голос ИИ — полоса записи + иконка 🎤/отправить (ГЛОБАЛЬНО, моб+десктоп) ═══ */
#ai-send .ai-ic-mic{display:block !important}
#ai-send .ai-ic-send{display:none !important}
#ai-send.has-text .ai-ic-mic{display:none !important}
#ai-send.has-text .ai-ic-send{display:block !important}
.dh-ai-input-row .ai-recbar{display:none;align-items:center;gap:11px;width:100%;padding:5px 2px;box-sizing:border-box}
.dh-ai-input-row.recording .ai-recbar{display:flex}
.dh-ai-input-row.recording #ai-input,.dh-ai-input-row.recording .dh-ai-input-btns{display:none !important}
.ai-recbar__dot{width:11px;height:11px;border-radius:50%;background:#e8410b;flex:0 0 auto;animation:aiRecPulse 1.1s ease-in-out infinite}
@keyframes aiRecPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.75)}}
.ai-recbar__t{font-size:14px;font-weight:600;color:#1c1a22;font-variant-numeric:tabular-nums;flex:0 0 auto;min-width:34px}
.ai-recbar__lbl{font-size:13px;color:#8a8690;flex:1 1 auto}
.ai-recbar__btn{width:40px;height:40px;border-radius:50%;border:0;display:flex;align-items:center;justify-content:center;cursor:pointer;flex:0 0 auto;padding:0}
.ai-recbar__btn svg{width:20px;height:20px}
.ai-recbar__cancel{background:#f1eff3;color:#6e6a75}
.ai-recbar__stop{background:#e87b00;color:#fff}
@media (max-width:760px){
  /* ════ DEV1-MOB-HEADER-V4-RAIL-PILL (эталон content/mobile/mob-header-v4-FINAL.html) ════
     Чёрный #0a0a0a, Onest, Lucide. Края 15.7px. Рейл-пилюля справа (язык·₸ | ❤ | корзина),
     поиск 52px (только лупа+плейсхолдер), под ним 2 равные кнопки «По фото»/«ИИ» 48px. ── */
  #h-poc{--edge:15.7px;background:#0a0a0a}
  /* свечение под полосой B2B */
  .topbar-strip{position:relative;overflow:hidden}
  /* DEV1-MOB-RIBBON-FLASH-FIX-V3: убран filter:blur(9px) — sticky-шапка + blur-фильтр = мерцание при скролле в Яндексе (Chromium bug 339841685, старый движок). Свечение сохранено МЯГКИМ radial-gradient БЕЗ фильтра (растянутые стопы + чуть больше размер = визуально как размытое). §8: на sticky никаких фильтров. */
  .topbar-strip::after{content:"";position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);width:280px;height:56px;background:radial-gradient(ellipse at center,rgba(255,138,31,.30) 0%,rgba(255,138,31,.14) 42%,rgba(255,138,31,0) 78%);pointer-events:none;z-index:0}
  .topbar-strip>*{position:relative;z-index:1}
  .topbar-strip .ts-tag{text-shadow:0 0 9px rgba(255,138,31,.65)}
  /* DEV1-MOB-HUAWEI-LAYERS-V1: Huawei+Chrome (EMUI агрессивно выгружает GPU-слои) периодически теряет композит иконок шапки (фото-поиск/ИИ) + текста риббона «ОПТОВЫЙ МАРКЕТПЛЕЙС». ТОЧЕЧНО даём стабильный собственный слой (translateZ+backface) — ТОЛЬКО пропадающим, НЕ раздуваем (баланс с GPU-RELIEF: 27 слоёв не возвращаем). §8: на этих элементах нет filter/backdrop/тяжёлых теней. Прочие браузеры (Яндекс) слой не мешает. */
  .dh-mm, #h-cam-btn, #h-ai-btn, .dh-search-bar, .topbar-strip .ts-label, .dh-acts, #dh-cats-trig{ transform:translateZ(0); -webkit-backface-visibility:hidden; backface-visibility:hidden; }   /* HUAWEI-ROOT п.2: + рейл иконок (❤/🛒/профиль одним слоем) и бургер — тот же рецепт риббона */
  #dh-cats-trig:not(:active){ transform:translateZ(0) !important; }   /* внешнее правило перебивало слой бургера */
  #dh-cats-trig:active{ transform:translateZ(0) scale(.965) !important; }   /* press-физика сохранена внутри слоя */
  .dh-mm:active, #h-cam-btn:active, #h-ai-btn:active{ transform:translateZ(0) scale(.965); }   /* .dh-mm = ВИДИМЫЕ моб-кнопки «Поиск по фото»/«ИИ-поиск» (#h-cam/#h-ai — скрытый инлайн-вариант, тоже слой на случай показа). Сохранить otc-press press-физику + слой. */
  /* DEV3-LOCATION-COUNTRY-INDICATOR-V1: позиция флаг+страна = inline-стиль на #otc-geo (span без astro-scope, поэтому не scoped CSS); адаптив — <style is:inline> у риббона. */
  /* строка-шапка 60px: лого | рейл; поиск и кнопки — отдельными рядами */
  .dh-r1{display:grid !important;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"logo acts" "search search" "modes modes";align-items:center;column-gap:10px;row-gap:12px;padding:8px var(--edge) 14px;height:auto !important;background:#0a0a0a}
  .dh-logo{grid-area:logo;font-size:clamp(16px,4.9vw,19px) !important;font-weight:800;letter-spacing:-.025em;white-space:nowrap;overflow:hidden;min-width:0;line-height:1;color:#f6f6f8}
  /* §2 РЕЙЛ-ПИЛЮЛЯ 40px: язык·₸ | ❤ | корзина в одной капсуле */
  .dh-acts{grid-area:acts;justify-self:end;display:flex;align-items:center;height:40px;padding:0 4px;gap:0;background:#161619;border:1px solid #2a2a31;border-radius:14px;flex:0 0 auto}
  #h-prof-btn,#h-chat-btn{display:none !important}
  .dh-acts>.dh-acts-div,.dh-acts>div:has(#h-prof-btn){display:none !important}   /* убрать десктоп-разделитель и обёртку профиля из рейла */
  /* язык внутри рейла (без своей капсулы): globe · RU · csep · ₸(оранж) */
  .otc-langcur-pill{height:38px;background:none !important;border:0 !important;border-radius:0;padding:0 9px;gap:6px;display:flex;align-items:center}
  .otc-langcur-pill .lang-chevron{display:none !important}
  .otc-langcur-pill .otc-lc-sep{display:block !important;width:1px;height:15px;background:#2a2a31;margin:0 1px;flex:0 0 auto}
  .otc-langcur-pill .otc-lang-trigger{padding:0 !important;gap:6px;font-size:13px !important;font-weight:600;color:#f6f6f8 !important;background:none !important}
  .otc-langcur-pill #lang-trigger>svg:first-of-type{width:17px;height:17px;color:#a9a9b2;flex:0 0 auto}
  .otc-langcur-pill #cur-trigger{background:none !important;border-radius:0;height:auto;padding:0 !important;font-size:13px !important;font-weight:700;color:#e87b00 !important}
  /* ❤ и корзина = 38×38 .ico в рейле, хейрлайн-разделитель слева (псевдо), бейдж оранж */
  .dh-acts .dh-icon-btn{width:38px;height:38px;border-radius:10px;background:none;border:0;display:flex;align-items:center;justify-content:center;flex:0 0 auto;padding:0;position:relative;color:#f6f6f8}
  .dh-acts .dh-icon-btn::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:1px;height:18px;background:#2a2a31}
  .dh-acts .dh-icon-btn::after{content:"";position:absolute;inset:-3px}   /* хит-зона ≥44 без увеличения вида */
  .dh-acts .dh-icon-btn svg{width:21px;height:21px}
  .dh-acts .dh-bdg{position:absolute;top:1px;right:1px;min-width:15px;height:15px;border-radius:99px;background:#e87b00;color:#fff;font-size:9.5px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 3px;border:2px solid #161619;z-index:1}
  .dh-acts .dh-bdg:empty{display:none}
  /* §3 ПОИСК 52px — только лупа + плейсхолдер (cam/ai отсюда УБРАНЫ) */
  .dh-search{grid-area:search;width:100% !important;max-width:none !important;min-width:0 !important}
  .dh-search-bar{height:52px;min-height:52px;align-items:center;padding:0 6px 0 15px;border-radius:15px;gap:11px;background:#161619;border:1px solid #2a2a31}   /* DEV1-MOB-SEARCH-FIELD-V1: правый паддинг 15→6 (оранж-кнопка вплотную к краю) */
  .dh-search-lupa{display:none}                     /* DEV1-DESKTOP-RESTORE-SEARCH-V1: на моб левой лупы нет (была убрана в моб-редизайне) */
  .dh-search-go{display:inline-flex}                /* DEV1-DESKTOP-RESTORE-SEARCH-V1: оранж-кнопка-поиск — только моб */
  .dh-q{flex:1 1 auto;min-width:0;font-size:16px;font-weight:500;letter-spacing:.01em;line-height:1.35;padding:0;color:#f6f6f8;-webkit-text-size-adjust:100%;text-size-adjust:100%}   /* DEV1-MOB-SEARCH-FIELD-V1: печатаемый текст 16px/500 (iOS no-zoom) */
  textarea#h-search-q.dh-q{white-space:pre-wrap;overflow-x:hidden;overflow-y:hidden;word-break:break-word}   /* длинный запрос переносится вниз (grow 1→4 строки), не уезжает вбок */
  .dh-q::placeholder{color:#9a9aa3;font-size:14px}                                  /* DEV1-MOB-SEARCH-FIELD-V1: плейсхолдер 14px — влезает целиком (Huawei/узкие/крупный шрифт) */
  .dh-slash{display:none}
  #h-cam-btn,#h-ai-btn{display:none !important}      /* убраны из строки поиска (V4) */
  /* §4 ДВЕ равные кнопки действий 48px под поиском */
  .dh-modes-mob{grid-area:modes;display:flex !important;gap:10px;width:100%}
  .dh-mm{flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:center;gap:8px;height:48px;border-radius:13px;background:#1c1c20;border:1px solid #2a2a31;color:#f6f6f8;font-family:'Onest',-apple-system,system-ui,sans-serif;font-size:14px;font-weight:600;letter-spacing:-.01em;cursor:pointer;-webkit-tap-highlight-color:transparent}
  .dh-mm svg{width:19px;height:19px;color:#ff8a1f;flex:0 0 auto}
  /* тап по всей площади: дочерние не перехватывают */
  .dh-acts .dh-icon-btn svg,.dh-acts .dh-icon-btn span,.otc-langcur-pill svg,.otc-langcur-pill span,.dh-mm svg,.dh-mm span{pointer-events:none}
  .dh-r2{display:none !important}   /* DEV1-MOB-HERO-FIX-V2: строка «Все категории» убрана на моб (категории через нижний «Каталог»); десктоп цел (правило в моб-@media); мегаменю-логику не трогаем */
  /* ── ЗАКОН ОКОШЕК: все .dh-drawer + .dh-prof-dd → нижняя рабочая шторка на моб (DEV1-MOB-SHEETS-FUNCTION-V1) ──
     z>таб-бара(7000): шторка 9000 / затемнение 8999 (перекрывает таб-бар, низ не режется).
     transform БЕЗ !important — чтобы свайп пальцем (inline style из otc-msheet.js) реально двигал DOM.
     Высота svh + safe-area: поле ввода ИИ и футеры полностью видны. */
  .dh-drawer, .dh-prof-dd{position:fixed !important;top:auto !important;left:0 !important;right:0 !important;bottom:0 !important;width:100% !important;max-width:100% !important;height:88svh !important;max-height:88svh !important;border-radius:18px 18px 0 0 !important;display:flex !important;flex-direction:column;transform:translateY(100%);transition:transform .35s cubic-bezier(.32,.72,0,1);z-index:9000;padding-bottom:env(safe-area-inset-bottom);will-change:transform;overscroll-behavior:contain}   /* DEV1-MOB-DRAWER-UNIFORM-HEIGHT: фикс высота 88svh (не auto) → ВСЕ шторки одного размера */
  .dh-drawer[data-open], .dh-prof-dd[data-open]{transform:translateY(0)}
  /* DEV1-MOB-SHEET-GLASS-PERF-V1: R2-перф — убран backdrop-filter:blur(20px) на скролл-шторках корзины/избранного. На бюджет-Android (Oppo Reno3, A10) полупрозрачный blur-слой рекомпозился каждый кадр скролла → ~14fps. Near-solid премиум-фон (образец .dh-drawer--lc), тело непрозрачно (правило ниже). Десктоп-стекло (≥761) НЕ тронуто. Замена прежнего DEV1-MOB-DRAWER-GLASS-DEPTH-V1. */
  #h-cart-drawer, #h-wish-drawer{background:rgba(247,246,251,.98) !important;-webkit-backdrop-filter:none !important;backdrop-filter:none !important;border-top:1px solid rgba(255,255,255,.9) !important}
  #cart-drawer-body, #wish-drawer-body{background:#f7f6fb !important}
  /* DEV1-MOB-DRAWER-GLASS-DEPTH-V1: скрим Корзина+Избранное — затемнить фон за дровером (был невидим → стекло читалось белым). Элемент-opacity ведёт data-open + JS-нудж в h-poc-header. */
  #h-cart-bd, #h-wish-bd{background:rgba(18,20,28,.45) !important;-webkit-backdrop-filter:none;backdrop-filter:none}
  .dh-backdrop{z-index:8999 !important}
  /* хват сверху (тащится за него тоже) */
  .dh-drawer::after, .dh-prof-dd::after{content:"";position:absolute;top:8px;left:50%;margin-left:-18px;width:36px;height:5px;border-radius:99px;background:rgba(60,60,67,.3);z-index:2;pointer-events:none} /* DEV1-MOB-SHEETS-POLISH-V1: iOS-грабер, виден на светлом и тёмном */
  .dh-drawer__hdr, .dh-prof-dd__hdr{padding-top:20px !important;cursor:grab;touch-action:none}
  /* контент скроллится, низ (поле ИИ / футер) виден и доступен */
  .dh-drawer__body, .dh-ai-messages, .dh-prof-dd__body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}
  /* ── DEV1-AI-SEARCH-INPUT-AUDIT-FIX: премиум WhatsApp-ввод ИИ (светлая тема) ── */
  /* DEV1-MOB-AI-PAGE-GEMINI-V1: панель ввода в стиле Gemini — текст СВЕРХУ на всю ширину, кнопки СНИЗУ отдельной строкой; скруглены ТОЛЬКО верхние углы + мягкая верхняя тень; без боковых/нижних рамок; низ вровень safe-area */
  .dh-ai-input-row{flex:0 0 auto;display:flex;flex-direction:column;gap:6px;padding:12px 16px;padding-bottom:max(12px,env(safe-area-inset-bottom));background:#fff;border:0;border-radius:22px 22px 0 0;box-shadow:0 -6px 22px rgba(20,16,30,.08)}
  .dh-ai-input-btns{display:flex;align-items:center;justify-content:space-between}
  /* DEV1-MOB-AI-PAGE-GEMINI-V1: системный шрифт всей ИИ-страницы (Android=Roboto как Gemini, iOS=SF), Onest выкл, веб-шрифт НЕ подключаем (ломает Huawei) */
  #h-ai-drawer,#h-ai-drawer *:not(svg):not(svg *):not(path){font-family:-apple-system,"Roboto",system-ui,"Segoe UI",sans-serif !important}   /* перебивает глобальный body *{Onest!important} — специфичность #h-ai-drawer выше */
  .dh-ai-input{width:100%;box-sizing:border-box;min-height:24px;max-height:132px;padding:4px 4px 0;line-height:19px;border:0;border-radius:0;background:transparent;color:#1d1d1f;font-family:inherit;font-size:13px;resize:none;outline:none;-webkit-appearance:none;overflow-y:auto}
  .dh-ai-input::placeholder{color:#9a9aa1}
  .dh-ai-input:focus{border-color:#e87b00;background:#fff}
  .dh-ai-send{flex:0 0 auto;width:44px;height:44px;border-radius:50%;border:0;display:flex;align-items:center;justify-content:center;color:#fff;background:#e0e0e3;transition:background .15s,transform .1s;-webkit-tap-highlight-color:transparent}
  .dh-ai-send:not(:disabled){background:#e87b00;cursor:pointer}
  .dh-ai-send:not(:disabled):active{transform:scale(.92)}
  .dh-ai-send:disabled{background:#e0e0e3;cursor:default}
  /* ═══════ DEV1-MOB-AI-PAGE-V1: ИИ = полноэкранная страница (Gemini-стиль). Только моб. ═══════ */
  /* DEV1-MOB-AI-PAGE-FULLSCREEN-FIX-V4: оверлей ИИ = .ai-page — жёстко от ВЕРХА (top:0, НЕ bottom-anchor как базовый .dh-drawer) чтобы сайт сверху не проступал; height:100dvh сам ужимается под клавиатуру (interactive-widget=resizes-content), поле-flex остаётся видимым внизу над клавой; svh-фолбэк для старых браузеров. Оверлей руками НЕ двигаем (убран JS-сдвиг aiKbLift). */
  #h-ai-drawer{top:0 !important;bottom:auto !important;height:100svh !important;height:100dvh !important;max-height:100svh !important;max-height:100dvh !important;border-radius:0 !important;background:#fff !important;overflow:hidden !important}
  /* DEV1-MOB-AI-PANEL-LEAK-FIX-V1: ЗАКРЫТЫЙ ИИ = МГНОВЕННО невидим+некликабелен (фундамент №4), не только transform за экран.
     visibility:hidden БЕЗ перехода → закрытая панель НИКОГДА не видима, что бы ни делали Android vv/resize/поворот/возврат вкладки
     с transform/height. Открытие: [data-open]→visible сразу + слайд-ин (transform-переход базы цел). iOS V8-пин трогает только data-open. */
  #h-ai-drawer:not([data-open]){visibility:hidden !important;pointer-events:none !important}
  #h-ai-drawer[data-open]{visibility:visible}
  #h-ai-drawer .dh-drawer__hdr{display:none !important}                 /* десктоп-шапка скрыта на моб-странице */
  #h-ai-drawer::after{display:none}                                     /* грабер не нужен (полноэкранно) */
  body.ai-open .otc-tabbar{display:none !important}                     /* фокус: таб-бар скрыт на ИИ-странице */
  /* ═══ DEV1-MOB-AI-PAGE-EXACT-SPEC-V3: ШАПКА + ПОЛЕ 1:1 макет Бека (моб) ═══ */
  /* #1 скролл документа заблокирован пока ИИ открыт (сайт за оверлеем не скроллится/не проступает) */
  html.ai-open,body.ai-open{overflow:hidden !important;overscroll-behavior:none}
  .ai-hdr{flex:0 0 auto;display:flex;align-items:center;gap:11px;padding:calc(12px + env(safe-area-inset-top)) 14px 12px}
  .ai-hdr .ai-hdr__tile{width:34px;height:34px;flex:0 0 34px;border-radius:11px;background:#f5f5f7;display:flex;align-items:center;justify-content:center;border:0;cursor:pointer;padding:0}
  .ai-hdr .ai-hdr__tile:active{background:#ececef}
  .ai-hdr__tile.menu svg{width:19px;height:19px;color:#1c1a22}
  .ai-hdr__title{font-size:16px;font-weight:500;color:#15141a;letter-spacing:-.01em;display:flex;align-items:center;gap:5px;white-space:nowrap}
  .ai-hdr__title .ai{color:#e87b00;font-weight:600}
  .ai-hdr__spark{width:14px;height:14px;flex:0 0 auto}
  .ai-hdr__right{margin-left:auto;display:flex;gap:8px}
  .ai-hdr__right .ai-hdr__tile svg{width:18px;height:18px;color:#5a5661}
  .ai-hdr__line{display:block;flex:0 0 auto;height:2px;background:linear-gradient(90deg,#e87b00,rgba(232,123,0,0))}
  /* ПОЛЕ = ОДНА бесшовная панель (нет окна-в-окне) */
  .ai-inbar{flex:0 0 auto;display:flex;flex-direction:column;background:#fff !important;border:0 !important;border-radius:22px 22px 0 0 !important;box-shadow:0 -5px 18px rgba(0,0,0,.06) !important;padding:16px 16px calc(14px + env(safe-area-inset-bottom)) !important;gap:0}
  /* DEV1-MOB-AI-INPUT-AUTOGROW-V1: flex:0 0 auto !important — КРИТИЧНО. Внешний .dh-ai-input-row .dh-ai-input даёт flex:1 0 0% (flex-basis:0%) → в колонке .ai-inbar высота textarea управляется флексом, а не свойством height → aiGrow(height=scrollHeight) игнорировался, поле схлопывалось в 1 строку (min-height). flex-basis:auto возвращает контроль height → многострочный авто-рост как у Gemini. max-height ~6 строк → дальше внутренний скролл; перенос слов (pre-wrap+break-word), без гориз.скролла. */
  .ai-inbar #ai-input{flex:0 0 auto !important;border:0 !important;background:transparent !important;box-shadow:none !important;outline:none !important;width:100% !important;max-width:none !important;font-size:13px !important;line-height:1.35 !important;color:#1c1a22;resize:none;padding:0 !important;margin:0 0 14px !important;min-height:20px;max-height:150px;overflow-y:auto;white-space:pre-wrap;overflow-wrap:break-word;word-break:break-word}
  .ai-inbar #ai-input::placeholder{color:#9aa0a6}
  /* DEV1-MOB-AI-PAGE-IOS-FIX-V5 #1A: iOS зумит поле с font-size<16px → на фокусе резко зумит и «выкидывает». 16px+ iOS НЕ зумит. Только iOS (html.otc-ios ставит JS); Android остаётся 13px. НЕ трогаем user-scalable/maximum-scale. */
  html.otc-ios .ai-inbar #ai-input{font-size:16px !important}
  /* ═══ DEV1-AI-INPUT-HISTORY-GEMINI-V1 Block A (2026-07-02): моб — РОДНОЙ системный шрифт (секрет «приятности» Gemini: пишет шрифтом самой платформы) на ПОЛЕ + пузырях ответов + чипах; 16px/1.45 ВСЕ моб (не только iOS); карточка-призрак (мягче тень). Десктоп-Onest НЕ трогаем. ═══ */
  @media (max-width:760px){
    .ai-inbar #ai-input, .ai-inbar #ai-input::placeholder,
    #ai-messages .h-ai-msg, #ai-messages .ai-acc-say, #ai-messages .ai-acc-say *,
    #ai-messages .dh-ai-chip, #ai-messages .h-ai-think-st, #ai-messages .ai-acc-header, #ai-messages .ai-acc-gt{
      font-family:-apple-system,"SF Pro Text","Roboto","Helvetica Neue",system-ui,sans-serif !important;
    }
    .ai-inbar #ai-input{ font-size:16px !important; line-height:1.45 !important; }   /* 16px на ВСЕХ моб (Android был 13px) — iOS не зумит + читаемость */
    #ai-messages .ai-acc-say{ line-height:1.45 !important; }
    .ai-inbar{ box-shadow:0 -2px 10px rgba(0,0,0,.045) !important; }   /* карточка-призрак: мягкая тень, без явной рамки (border:0 уже); фон = как у шторки (сливается) */
    /* DEV1-MOB-KBD-SPEED-EDGE-V3 #1 + K2: окно #h-ai-drawer НЕ трогаем (inset:0/top:0/100dvh). ANDROID: .ai-inbar+лента следуют env transform НАПРЯМУЮ (композитор, БЕЗ transition — env синхронен с клавой). iOS (env=0, двигает JS iosPin) — transition только html.otc-ios. */
    .ai-inbar, #ai-messages{ transform: translateY(calc(env(keyboard-inset-height, 0px) * -1)); }
    html.otc-ios .ai-inbar, html.otc-ios #ai-messages{ transition: transform .25s cubic-bezier(.25,.1,.25,1); }
    #ai-messages{ min-height: 0; }
  }
  /* DEV1-MOB-AI-PAGE-IOS-FIX-V5 #2: строка кнопок = ВО ВСЮ ширину (внешний .dh-ai-input-row ставил align-items:flex-end → строка сжималась к правому краю, «+» оказывался справа). align-self:stretch+width:100% → space-between кладёт «+» СЛЕВА, микро/отправить СПРАВА. */
  .ai-inbar .ai-inbar__row{display:flex;align-items:center;justify-content:space-between;align-self:stretch !important;width:100% !important;gap:0}
  .ai-inbar .ai-inbar__plus{font-size:29px !important;line-height:1;color:#444746;background:none !important;border:0 !important;width:auto !important;height:auto !important;min-height:0 !important;border-radius:0 !important;padding:0 2px !important;cursor:pointer;box-shadow:none !important}   /* DEV1-MOB-AI-PAGE-IOS-FIX-V5: иконка «+» +20% (24→29px) */
  .ai-inbar .ai-inbar__plus svg{display:none !important}
  .ai-inbar .ai-inbar__right{margin-left:auto;display:flex;align-items:center;gap:16px}
  .ai-inbar .ai-inbar__send{width:36px !important;height:36px !important;border-radius:50% !important;background:#f1f3f4 !important;display:flex;align-items:center;justify-content:center;border:0 !important;cursor:pointer;padding:0 !important;box-shadow:none !important}
  .ai-inbar .ai-inbar__send svg{width:20px;height:20px;color:#9aa0a6}
  .ai-inbar .ai-inbar__send.has-text{background:#e87b00 !important}
  .ai-inbar .ai-inbar__send.has-text svg{color:#fff}
  .ai-inbar .ai-inbar__send .ai-ic-send{display:none}
  .ai-inbar .ai-inbar__send .ai-ic-mic{display:block}
  .ai-inbar .ai-inbar__send.has-text .ai-ic-mic{display:none}
  .ai-inbar .ai-inbar__send.has-text .ai-ic-send{display:block}
  /* ═══ DEV1-MOB-AI-RESULTS-CARDS-V1: выдача ИИ — карточки товара + стиль ответа GPT/Claude (только моб) ═══ */
  /* стиль ответа: искра-аватар слева, типографика 15/1.6 */
  /* DEV1-MOB-AI-RESULTS-CARDS-V1: ответ бота БЕЗ рамки/пузыря (внешнее правило вешало border+фон) — как GPT/Claude, только текст+искра */
  #ai-messages .h-ai-msg--bot{position:relative;padding:2px 0 2px 34px !important;border:0 !important;background:transparent !important;box-shadow:none !important;-webkit-backdrop-filter:none !important;backdrop-filter:none !important;border-radius:0 !important;max-width:none !important;font-size:15px;line-height:1.6;color:#2b2930}
  #ai-messages .h-ai-msg--bot::before{content:"";position:absolute;left:2px;top:1px;width:22px;height:22px;border-radius:7px;background:linear-gradient(135deg,#fff3e6,#ffe0c2);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23e87b00'%3E%3Cpath d='M12 2l1.6 5.4a3 3 0 0 0 2 2L21 11l-5.4 1.6a3 3 0 0 0-2 2L12 20l-1.6-5.4a3 3 0 0 0-2-2L3 11l5.4-1.6a3 3 0 0 0 2-2z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:16px 16px}
  #ai-messages .ai-acc-header{font-size:15px;font-weight:600;color:#15141a;margin:0 0 4px}
  #ai-messages .ai-acc-say.ai-md p{margin:0 0 8px}
  #ai-messages .ai-acc-say.ai-md p:last-child{margin-bottom:0}
  #ai-messages .ai-acc-say.ai-md strong{font-weight:600;color:#15141a}
  #ai-messages .ai-md-ul{margin:4px 0 8px;padding-left:18px}
  #ai-messages .ai-md-ul li{margin:2px 0}
  #ai-messages .ai-acc-gt{font-size:12px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:#8a8690;margin:12px 0 7px}
  #ai-messages .ai-acc-row{display:flex;flex-direction:column;gap:8px}
  #ai-messages .ai-acc-all{display:inline-block;margin:8px 0 2px;font-size:13px;font-weight:600;color:#e87b00;text-decoration:none}
  /* карточка товара: фото 54 · название 2 стр · цена fmtPrice · ❤ */
  #ai-messages .ai-pc{display:flex;align-items:center;gap:11px;background:#fff;border:1px solid #f0eef2;border-radius:14px;padding:9px 11px;cursor:pointer;-webkit-tap-highlight-color:transparent}
  #ai-messages .ai-pc:active{background:#faf9fb}
  #ai-messages .ai-pc__img{flex:0 0 54px;width:54px;height:54px;border-radius:10px;object-fit:cover;background:#f4f2f6}
  #ai-messages .ai-pc__main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:4px}
  #ai-messages .ai-pc__nm{font-size:13.5px;line-height:1.3;color:#1c1a22;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  #ai-messages .ai-pc__pr{font-size:14px;font-weight:600;color:#15141a}
  #ai-messages .ai-pc__unit{font-weight:400;font-size:12px;color:#9a96a0;margin-left:3px}
  #ai-messages .ai-pc__fav{flex:0 0 auto;width:38px;height:38px;border-radius:50%;border:0;background:#f6f4f8;color:#c9c5cf;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
  #ai-messages .ai-pc__fav svg{width:20px;height:20px}
  #ai-messages .ai-pc__fav.is-active{color:#e87b00}
  #ai-messages .ai-pc__fav.is-active svg{fill:#e87b00;stroke:#e87b00}
  /* DEV1-MOB-AI-PAGE-GEMINI-V1: шапка Вариант A — ☰/✎/✕ в мягких плитках, центр бренд+искра, тонкая градиент-линия снизу */
  .dh-ai-mhdr{position:relative;display:flex;align-items:center;gap:8px;flex:0 0 auto;padding:calc(8px + env(safe-area-inset-top)) 12px 9px;border-bottom:0}
  .dh-ai-mhdr::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,#e87b00,transparent)}
  .dh-ai-mhdr .dh-ai-ic{width:38px;height:38px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;border:0;background:#f5f5f7;color:#1c1a22;cursor:pointer;border-radius:11px;padding:0}
  .dh-ai-mhdr .dh-ai-ic:active{background:#ececef}
  .dh-ai-mhdr .dh-ai-ic svg{width:21px;height:21px}
  .dh-ai-brand{flex:1;text-align:center;font-size:16.5px;font-weight:600;color:#1c1a22;letter-spacing:.2px;display:flex;align-items:center;justify-content:center;gap:5px}
  .dh-ai-brand span{color:#e87b00}
  .dh-ai-brand .dh-ai-spark{width:15px;height:15px;flex:0 0 auto}
  /* стартовый экран по центру: мишка + приветствие */
  .dh-ai-starter{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;padding:24px 18px}
  .dh-ai-mascot{display:block;width:72px;height:72px;border-radius:18px;object-fit:contain}
  .dh-ai-greet{font-size:24px;font-weight:500;color:#1c1a22;letter-spacing:-.01em;line-height:1.15}
  .dh-ai-starter__hint{color:#7a7680;font-size:13px;font-weight:400}
  /* умная кнопка mic↔send: в покое (пусто) — серая mic; есть текст — оранж send */
  .dh-ai-send .ai-ic-mic{display:flex}
  .dh-ai-send.has-text .ai-ic-mic{display:none}
  .dh-ai-send.has-text .ai-ic-send{display:flex}
  .dh-ai-send:not(.has-text) .ai-ic-send{display:none}
  .dh-ai-send:not(.has-text){background:#e87b00}      /* mic тоже фирменный (активна всегда на моб) */
  .dh-ai-send{cursor:pointer}
  .dh-ai-send.listening{animation:aiMicPulse 1s ease-in-out infinite}   /* DEV1-MOB-AI-PAGE-V1: запись голоса — пульс */
  @keyframes aiMicPulse{0%,100%{box-shadow:0 0 0 0 rgba(232,123,0,.5)}50%{box-shadow:0 0 0 8px rgba(232,123,0,0)}}
  /* «+» прикрепить */
  .dh-ai-plus{display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:44px;height:44px;border-radius:50%;border:0;background:#f0f0f2;color:#1c1a22;cursor:pointer;padding:0}
  .dh-ai-plus svg{width:22px;height:22px}
  /* DEV1-MOB-AI-PAGE-FIX-V2 #4: «+»-меню = bottom-sheet снизу вверх (SHEET_MOTION_LAW) */
  .dh-ai-attach-bd{position:fixed;inset:0;z-index:9300;background:rgba(20,16,30,.4);opacity:0;pointer-events:none;transition:opacity .28s}
  .dh-ai-attach-bd.open{opacity:1;pointer-events:auto}
  .dh-ai-attach{position:fixed;left:0;right:0;bottom:0;z-index:9310;background:#fff;border:0;border-radius:20px 20px 0 0;box-shadow:0 -8px 30px rgba(20,16,30,.18);padding:8px 10px calc(12px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:2px;transform:translateY(110%);transition:transform .3s cubic-bezier(.32,.72,0,1);will-change:transform;touch-action:pan-y}
  .dh-ai-attach[hidden]{display:flex}      /* держим в потоке для анимации; видимость через .open (transform) */
  .dh-ai-attach.open{transform:translateY(0)}
  .dh-ai-attach__grab{width:38px;height:4px;border-radius:99px;background:#dcdce0;margin:4px auto 8px;flex:0 0 auto}
  .dh-ai-att{display:flex;align-items:center;gap:13px;padding:15px 14px;border:0;background:none;font-family:inherit;font-size:15px;font-weight:500;color:#1c1a22;cursor:pointer;border-radius:12px;text-align:left;width:100%}
  .dh-ai-att:active{background:#f4f4f6}
  .dh-ai-att svg{width:22px;height:22px;color:#e87b00;flex:0 0 auto}
  .dh-ai-att svg{width:20px;height:20px;color:#e87b00;flex:0 0 auto}
  /* левая шторка-история (Gemini) */
  /* DEV1-MOB-AI-PAGE-GEMINI-V1 баг1: GPU-выезд без дёрганья (will-change+backface — слой готов заранее, нет layout/paint на первом кадре) */
  .dh-ai-hist{position:absolute;top:0;bottom:0;left:0;width:63%;max-width:248px;z-index:9200;background:#fff;box-shadow:6px 0 40px rgba(20,16,30,.2);transform:translate3d(-100%,0,0);will-change:transform;backface-visibility:hidden;transition:transform .3s cubic-bezier(.32,.72,0,1);display:flex;flex-direction:column;gap:8px;padding:calc(10px + env(safe-area-inset-top)) 12px 12px;overscroll-behavior:contain}
  .dh-ai-hist[hidden]{display:flex}      /* держим в потоке для анимации; видимость через .open */
  .dh-ai-hist.open{transform:translate3d(0,0,0)}
  .dh-ai-hist__new{display:flex;align-items:center;gap:8px;border:1px solid #ececef;background:#fff;border-radius:13px;padding:11px 14px;font-family:inherit;font-size:14px;font-weight:500;color:#1c1a22;cursor:pointer}
  .dh-ai-hist__new svg{width:18px;height:18px;color:#e87b00}
  .dh-ai-hist__search{display:flex;align-items:center;gap:8px;background:#f4f4f6;border-radius:12px;padding:9px 12px}
  .dh-ai-hist__search svg{width:16px;height:16px;color:#9a9aa1;flex:0 0 auto}
  .dh-ai-hist__search input{flex:1;border:0;background:none;outline:none;font-family:inherit;font-size:14px;color:#1c1a22}
  .dh-ai-hist__lbl{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#7a7680;margin-top:6px;padding:0 2px}
  .dh-ai-hist__list{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:2px}
  .dh-ai-hist__it{display:flex;align-items:center;gap:9px;padding:11px 10px;border-radius:11px;font-size:14px;color:#1c1a22;cursor:pointer;background:none;border:0;font-family:inherit;text-align:left;width:100%}
  .dh-ai-hist__it:active{background:#f4f4f6}
  .dh-ai-hist__it svg{width:16px;height:16px;color:#9a9aa1;flex:0 0 auto}
  .dh-ai-hist__it span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .dh-ai-hist__empty{color:#9a9aa1;font-size:13px;padding:10px 2px}
  .dh-ai-hist-bd{display:block;position:absolute;inset:0;z-index:9150;background:rgba(20,16,30,.4);opacity:0;pointer-events:none;transition:opacity .3s}   /* DEV1-MOB-AI-PAGE-V1 fix: display:block перебивает десктоп-нейтрализатор → затемнение есть (иначе белая шторка на белом = «не открылась») */
  .dh-ai-hist-bd.open{opacity:1;pointer-events:auto}
  /* шапка шторки-истории: заголовок + очистить + ✕ закрыть */
  .dh-ai-hist__top{display:flex;align-items:center;gap:8px;margin-bottom:2px}
  .dh-ai-hist__title{flex:1;font-size:17px;font-weight:600;color:#1c1a22}
  .dh-ai-hist__act{width:36px;height:36px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;border:0;background:none;color:#7a7680;cursor:pointer;border-radius:10px;padding:0}
  .dh-ai-hist__act:active{background:#f0f0f2}
  .dh-ai-hist__act svg{width:20px;height:20px}
  /* десктоп-дропдауны язык/валюта на моб не нужны — открываем шторкой */
  #lang-dropdown, #cur-dropdown{display:none !important}
  /* DEV1-FIX-AUTH-SCROLL-TABBAR-V1 (БАГ A): #h-auth-modal (.dh-modal) — единственный оверлей без моб-формата.
     Моб-бэкдроп z8999 перекрывал модалку (z502) → «не грузится». Делаем нижней шторкой + z ВЫШЕ бэкдропа.
     Форму (табы/OAuth/Turnstile/поля) НЕ трогаем — только контейнер видим+скроллится. Десктоп не затронут (правка в моб-@media). */
  #h-auth-modal{z-index:9000 !important;align-items:flex-end !important}
  /* DEV1-AUTH-MODAL-SWIPE-LIKE-DRAWERS-V1: карта = монолитная нижняя шторка как cart/wish.
     Шапка (грабер+табы) фикс, тело формы скроллится; свайп-вниз через otc-msheet (порог 30%/флик),
     малое движение пружинит обратно, печать в поля не закрывает (isRestricted). */
  #h-auth-modal .dh-auth-modal__card{width:100% !important;max-width:100% !important;max-height:92svh !important;border-radius:18px 18px 0 0 !important;display:flex !important;flex-direction:column;overflow:hidden !important;padding:0 !important;will-change:transform;overscroll-behavior:contain;opacity:1 !important;transform:translateY(0);visibility:hidden;transition:transform .35s cubic-bezier(.32,.72,0,1),visibility 0s linear .35s}
  /* DEV1-AUTH-CLOSE-FLASH-FIX-V1: на моб карта уезжает как .dh-drawer (только translateY, без scale/fade) →
     убирает мини-вспышку при свайпе вниз (база .dh-modal держала карту на месте → scale(.96)+opacity:0 = отскок вверх+фейд).
     transform/transition БЕЗ !important — чтобы нормальный inline-драг otc-msheet перебивал CSS (как у .dh-drawer, см. строку 103). opacity:1 !important безопасно (otc-msheet не трогает opacity карты). Десктоп (≥761) — свой scale/fade.
     DEV1-AUTH-PEEK-ON-SCROLL-FIX-V1: закрытая карта гасится visibility:hidden (paint-proof) — высота по контенту + скачок svh при скролле давали «подглядывание» снизу. visibility переключается асимметрично: на open мгновенно visible (delay 0s), на close — hidden ЧЕРЕЗ .28с (после съезда вниз) → слайд не ломается. translateY(101%) = запас на скачок viewport. */
  #h-auth-modal[data-open] .dh-auth-modal__card{visibility:visible;transition:transform .35s cubic-bezier(.32,.72,0,1),visibility 0s linear 0s}
  #h-auth-modal:not([data-open]) .dh-auth-modal__card{transform:translateY(101%);visibility:hidden;pointer-events:none}
  /* грабер-хват сверху (как .dh-drawer::after) — тащится пальцем */
  #h-auth-modal .dh-auth-grab{display:block;flex:0 0 auto;position:relative;height:26px;touch-action:none;cursor:grab}
  #h-auth-modal .dh-auth-grab::after{content:"";position:absolute;top:9px;left:50%;margin-left:-18px;width:36px;height:5px;border-radius:99px;background:rgba(60,60,67,.3);pointer-events:none}
  #h-auth-modal .auth-tabs{flex:0 0 auto}
  #h-auth-modal .dh-auth-modal__body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:max(24px,env(safe-area-inset-bottom))}
}
/* МОБ: чип валюты компактный — ТОЛЬКО символ «₸» (длинное лого OPTTOYSCHINA = доминанта 1.30 + 2 иконки физически не дают места полному коду без обрезки лого ни на одной ширине). Полное «Тенге KZT» — в шторке по тапу. Десктоп (≥761) — полный «₸ KZT». */
@media (max-width:760px){ #cur-code .lc-cur{display:none} }
/* ── шторка «Язык и валюта» — СВЕТЛАЯ как cart/wish (DEV1-MOB-SHEETS-POLISH-V1) ── */
.dh-drawer--lc{background:rgba(255,255,255,.98) !important;color:#1d1d1f}
.dh-drawer--lc .dh-drawer__title{color:#1d1d1f;font-size:17px;font-weight:700}
/* DEV3-LANG-CURRENCY-DROPDOWN-REDESIGN-V1 (мобайл-шторка) — единый вид с эталоном/десктопом */
.lc-lbl{font-size:11px;font-weight:600;letter-spacing:.09em;color:#a3a3a8;text-transform:uppercase;padding:10px 14px 6px}
.lc-div{height:1px;background:#ededf0;margin:8px 14px}
.lc-opt{display:flex;align-items:center;gap:10px;width:100%;min-height:46px;padding:0 14px;background:none;border:0;border-radius:11px;color:#1c1c1f;font-size:15px;font-weight:500;font-family:'Onest',-apple-system,'Segoe UI',system-ui,sans-serif;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .12s ease,color .12s ease,transform .06s ease}
.lc-opt:hover{background:#f4f4f6}
.lc-opt:active{transform:scale(.975)}
.lc-opt .lc-code{color:#9a9a9e;font-size:13px;font-weight:500;white-space:nowrap;margin-left:auto}
.lc-opt.is-on{background:#fff3e6;color:#e87b00}.lc-opt.is-on .lc-code{color:#e87b00}
.lc-nm{display:flex;align-items:center;gap:9px;flex:1;min-width:0}
.lc-dot{width:7px;height:7px;border-radius:50%;background:#e87b00;flex:0 0 7px;visibility:hidden}
.lc-opt.is-on .lc-dot{visibility:visible}
/* §6 списки язык/валюта — единый Onest, согласованный вес/размер с pill */
.otc-lang-menu, .otc-lang-opt, .otc-lang-opt__code { font-family: 'Onest', -apple-system, 'Segoe UI', system-ui, sans-serif }
.otc-lang-opt { font-size: 13px; font-weight: 500; letter-spacing: -.1px }
/* верхняя полоса B2B → сплошной чёрный (без оранжевого градиента/границы) — сливается с hero при скролле, оранжевой линии нет */
.topbar-strip { background: #0a0a0a !important; border-bottom-color: transparent !important }
/* НАСТОЯЩИЙ источник оранжевой линии: otc-cat-overlay.css:1 кладёт radial-gradient(оранж .55) на html И body — при скролле верхняя кромка оголяется оранжевым над глобусом. Убираем оранжевый radial, оставляем только тёмный linear. Специфичность html:root / html body > body,html → побеждаем даже их !important. R77: foundation-CSS не трогаем. */
html:root, html body { background: linear-gradient(180deg, #1a1208 0%, #0c0805 25%, #050302 55%, #000000 100%) !important }
.dh, .h { position: sticky; top: 0; z-index: 30; transform: translateY(0); transition: transform 280ms cubic-bezier(.22,1,.36,1); will-change: transform }
.dh.is-hidden, .h.is-hidden { transform: translateY(-100%) }
.h-search { position: relative; flex: 1 }
.h-search-ac { position: absolute; top: calc(100% + 4px); left: 0; right: 0; background: #1a1a1a; border: 1px solid #333; border-radius: 12px; overflow: hidden auto; max-height: min(60vh, 420px); z-index: 50 }
.h-search-ac:not(.is-open) { display: none }
.h-ac-item { display: flex; align-items: flex-start; gap: 10px; padding: 10px 14px; font-size: 13px; color: #dcdce0; text-decoration: none; justify-content: space-between }
.h-ac-item > span:first-child { flex: 1; min-width: 0; white-space: normal; overflow-wrap: anywhere; word-break: break-word; line-height: 1.35 }
.h-ac-item:hover { background: rgba(255,255,255,.06) }
.h-ac-hl { color: #e87b00; font-weight: 600 }
.h-ac-cnt { color: #6b6660; font-size: 11px; flex-shrink: 0; white-space: nowrap; padding-top: 1px }
.h-ac-all { display: block; padding: 10px 14px; font-size: 12px; color: #e87b00; border-top: 1px solid #333; text-decoration: none }
.otc-toast { position: fixed; bottom: 80px; left: 50%; transform: translateX(-50%); background: #1a1a1a; color: #dcdce0; padding: 10px 20px; border-radius: 12px; border: 1px solid rgba(255,255,255,.2); font-size: 13px; z-index: 9999; opacity: 0; transition: opacity .25s; pointer-events: none }
.otc-toast.show { opacity: 1 }
.h-avatar { width: 30px; height: 30px; border-radius: 50%; background: rgba(255,255,255,.12); display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; color: #dcdce0 }
.h-avatar--auth { background: #e87b00; color: #fff }

/* ════ DEV1-HEADER-REWORK-ALIBABA-V1 — ДЕСКТОП (≥761px): шапка адаптивна на всём диапазоне, ♥/🛒 не срезаются ════
   Правый кластер компактный (иконки 36), порядок 🌐·аватар·♥·🛒 (через flex order), чат не в шапке,
   валюта — в дропдауне глобуса, имя — в дропдауне аватара. Моб-рейл (≤760) НЕ затронут. */
@media (min-width:761px){
  /* DEV1-OVERLAY-SCROLL-LOCK-V1: скролл окна не перетекает на страницу (десктоп; на моб .dh-drawer уже contain) */
  .dh-drawer__body, .dh-ai-messages, .dh-drawer--partner .dh-drawer__body{overscroll-behavior:contain}
  header.dh .dh-r1{display:flex !important;flex-wrap:nowrap !important;align-items:center;gap:16px;min-width:0}
  header.dh .dh-logo{flex:0 0 auto}
  header.dh .dh-search.h-search{flex:1 1 auto !important;min-width:200px !important;flex-basis:auto !important;max-width:940px !important}
  header.dh .dh-search.h-search .dh-search-bar{min-width:0;gap:8px}
  header.dh .dh-acts{flex:0 0 auto !important;display:flex !important;align-items:center;gap:10px !important;background:none !important;border:0 !important;padding:0 !important;height:auto !important}
  header.dh .dh-acts .dh-acts-div{display:none !important}
  header.dh .dh-acts #h-chat-btn{display:none !important}   /* §1 чат не в шапке (он в правом сайдбаре «Сообщения») */
  /* порядок справа: 🌐 · аватар · ♥ · 🛒 (без перемещения DOM) */
  header.dh .dh-acts .otc-langcur-pill{order:1}
  header.dh .dh-acts>div:has(#h-prof-btn){order:2}
  header.dh .dh-acts #h-wish-btn{order:3}
  header.dh .dh-acts #h-cart-btn{order:4}
  /* иконки-кнопки 36×36, иконка 24 */
  header.dh .dh-acts .dh-icon-btn{width:36px;height:36px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;position:relative;padding:0;background:none;border:0;border-radius:10px;color:#f6f6f8;cursor:pointer}
  header.dh .dh-acts .dh-icon-btn::before,header.dh .dh-acts .dh-icon-btn::after{display:none !important}
  header.dh .dh-acts .dh-icon-btn:hover{background:rgba(255,255,255,.08)}
  header.dh .dh-acts .dh-icon-btn svg{width:24px;height:24px}
  /* бейджи-счётчики на ♥/🛒 */
  header.dh .dh-acts .dh-icon-btn .dh-bdg{position:absolute;top:-2px;right:-2px;min-width:16px;height:16px;padding:0 4px;background:#ff4d4f;color:#fff;font-size:11px;line-height:16px;border-radius:9px;text-align:center;font-weight:700;border:0}
  header.dh .dh-acts .dh-icon-btn .dh-bdg:empty{display:none}
  /* 🌐 ГЛОБУС: пилюля = только язык (валюта внутри дропдауна) */
  header.dh .dh-acts .otc-langcur-pill{flex:0 0 auto;height:36px;display:flex;align-items:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);border-radius:18px;padding:0 4px}
  header.dh .dh-acts .otc-langcur-pill .otc-lc-sep{display:none !important}        /* разделитель язык|валюта убран */
  header.dh .dh-acts .otc-langcur-pill #cur-trigger{display:none !important}        /* §2 отдельной валюты в шапке НЕТ */
  header.dh .dh-acts #lang-trigger{height:34px;display:flex;align-items:center;gap:6px;padding:0 10px;background:none;border:0;color:#f6f6f8;font-weight:600;font-size:13px;cursor:pointer}
  header.dh .dh-acts #lang-trigger:hover{color:#e87b00}
  header.dh .dh-acts #lang-trigger>svg:first-of-type{width:18px;height:18px;color:#a9a9b2;flex:0 0 auto}
  /* DEV3-LANG-CURRENCY-DROPDOWN-REDESIGN-V1: меню язык/валюта 1:1 с эталоном (карточка #fff, строки 46px,
     точка+название+чип, hover #f4f4f6, активный #fff3e6/#e87b00, scale при нажатии). Механизм i18n/валюты НЕ тронут.
     !important — побеждает otc-glass.css/otc-header-desktop.css (glass/тёмные дефолты). */
  /* DEV1-PANELS-UNIFIED-GLASS-V1: язык/валюта — единое матовое стекло как у гейта «Войдите» (был плоский #fff) */
  header.dh #lang-dropdown.otc-lang-menu{background:linear-gradient(180deg,rgba(255,255,255,.6) 0%,rgba(255,255,255,0) 22%,rgba(255,255,255,0) 78%,rgba(255,255,255,.4) 100%),rgba(255,255,255,.74) !important;-webkit-backdrop-filter:blur(30px) saturate(170%) !important;backdrop-filter:blur(30px) saturate(170%) !important;border:1px solid rgba(255,255,255,.7) !important;border-radius:16px !important;box-shadow:0 16px 44px rgba(20,20,30,.18) !important;padding:8px !important;min-width:266px !important;width:266px}
  header.dh #lang-dropdown .otc-gm-sec{font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:#a3a3a8;padding:10px 12px 6px}
  header.dh #lang-dropdown .otc-gm-sec:first-child{padding-top:6px}
  header.dh #lang-dropdown .otc-gm-div{height:1px;background:#ededf0;margin:8px 8px}
  header.dh #lang-dropdown .otc-lang-opt,
  header.dh #lang-dropdown .otc-gm-cur{display:flex !important;align-items:center;justify-content:flex-start;gap:10px;width:100%;height:46px;padding:0 12px !important;border:0;background:transparent !important;border-radius:11px !important;cursor:pointer;font-family:'Onest',-apple-system,system-ui,sans-serif;font-size:15px !important;font-weight:500 !important;letter-spacing:0 !important;color:#1c1c1f !important;text-align:left;transition:background .12s ease,color .12s ease,transform .06s ease;-webkit-tap-highlight-color:transparent}
  header.dh #lang-dropdown .otc-gm-dot{width:7px;height:7px;border-radius:50%;background:#e87b00;flex:0 0 7px;opacity:0;transition:opacity .12s}
  header.dh #lang-dropdown .otc-gm-nm{flex:1;text-align:left;min-width:0}
  header.dh #lang-dropdown .otc-lang-opt__code{font-size:13px !important;font-weight:500 !important;color:#9a9a9e !important;margin-left:0 !important;white-space:nowrap}
  header.dh #lang-dropdown .otc-lang-opt:hover,
  header.dh #lang-dropdown .otc-gm-cur:hover{background:#f4f4f6 !important;color:#1c1c1f !important}
  header.dh #lang-dropdown .otc-lang-opt:active,
  header.dh #lang-dropdown .otc-gm-cur:active{transform:scale(.975)}
  header.dh #lang-dropdown .otc-lang-opt.cur,
  header.dh #lang-dropdown .otc-gm-cur.cur{background:#fff3e6 !important;color:#e87b00 !important;font-weight:500 !important}
  header.dh #lang-dropdown .otc-lang-opt.cur .otc-lang-opt__code,
  header.dh #lang-dropdown .otc-gm-cur.cur .otc-lang-opt__code{color:#e87b00 !important}
  header.dh #lang-dropdown .otc-lang-opt.cur .otc-gm-dot,
  header.dh #lang-dropdown .otc-gm-cur.cur .otc-gm-dot{opacity:1}
  header.dh #lang-dropdown .otc-lang-opt.cur::before,
  header.dh #lang-dropdown .otc-gm-cur.cur::before{display:none !important}  /* старая 4px-точка отключена (теперь .otc-gm-dot) */
  /* АВАТАР: только аватар, имя/шеврон — в дропдауне аккаунта */
  header.dh .dh-acts #h-prof-btn{width:36px;height:36px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;padding:0;background:none;border:0;border-radius:50%;cursor:pointer}
  header.dh .dh-acts #h-prof-name{display:none !important}
  header.dh .dh-acts #h-prof-btn>svg{display:none !important}
  header.dh .dh-acts .h-avatar{width:32px;height:32px;font-size:13px}
  /* §3 режимы «По фото»/«ИИ-поиск» при <1100px — только иконки (подписи скрыть) */
}
@media (min-width:761px) and (max-width:1100px){
  header.dh .dh-search .dh-mode-btn span{display:none !important}
  header.dh .dh-search .dh-mode-btn{padding:0 9px !important}
}
@media (min-width:761px) and (max-width:960px){
  header.dh .dh-search.h-search{min-width:160px !important}
}
