/* UMKO — общая шапка покупательских витрин (mp/ads/odr.um-ko.ru).
   31.08.2026: раньше эти 3 файла держали ТРИ КОПИИ одной и той же разметки/CSS — правка цвета
   или отступа требовала находить и чинить в трёх местах, что уже приводило к рассинхрону.
   Теперь один файл, подключается везде. Разное между доменами (набор пунктов nav/иконок,
   есть ли поиск/переключатель Покупаю-Продаю) — остаётся в разметке каждой страницы,
   но ссылается на ЭТИ классы, стиль меняется здесь одним разом на все три домена.
   Требует токенов страницы: --card/--line/--bg/--navy/--muted/--teal (уже объявлены в
   локальном :root каждой из трёх страниц, см. MIGRATION). */
.uab{display:none!important}
.uh{position:sticky;top:0;z-index:9500;background:var(--umko-teal-d,#7B9100);border-bottom:1px solid rgba(255,255,255,.14)}
.uh-in{max-width:1320px;margin:0 auto;padding:0 32px;height:64px;display:flex;align-items:center;gap:20px}
.uh-logo{width:110px;height:23px;flex:none;display:block;background:#fff;border-radius:var(--umko-radius-2sm, 10px);box-sizing:content-box;padding:7px 12px}
.uh-logo::before{content:'';display:block;width:100%;height:100%;background:linear-gradient(135deg,var(--umko-teal-br,#6500B2) 6%,var(--umko-teal,#5F7000) 44%,var(--umko-gold,#6500B2) 97%);-webkit-mask:url(/logo.png?v=4) left center/contain no-repeat;mask:url(/logo.png?v=4) left center/contain no-repeat}
/* 01.09.2026: color:#fff!important на этих 3 правилах (плюс .u-sub a ниже) — не косметика,
   а фикс реального бага: a:not(.btn){color:var(--accent)} из umko-theme-light.css имеет ТУ ЖЕ
   специфичность (0,1,1/0,1,0 vs их 0,1,1), что и голые классы на <a> здесь — при равенстве
   выигрывает более поздний по подключению файл. На /katalog (первая страница, где рядом
   загружен umko-theme-light.css) это делало текст кнопок шапки цвета фона — невидимым.
   .uh-cab уже имел !important (видимо, кто-то уже ловил этот же класс бага раньше) — остальные
   пропустили. Тот же паттерн, тот же файл — используется везде (mp/ads/odr), фикс не меняет
   значение цвета, только гарантирует его победу. */
.u-apps{flex:none;display:flex;align-items:center;gap:7px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);border-radius:var(--umko-radius-pill, 999px);padding:9px 16px;font-size:13px;font-weight:700;color:#fff!important;cursor:pointer;font-family:inherit;text-decoration:none}
.u-apps:hover{background:rgba(255,255,255,.26)}
.hnav{display:none}
.uh-hsearch,.hsearch{flex:1;max-width:440px;min-width:0;display:flex;align-items:center;background:var(--card);border:1.5px solid var(--line);border-radius:var(--umko-radius-pill, 999px);padding:0 0 0 14px;overflow:hidden}
.uh-hsearch input,.hsearch input{border:none;background:none;outline:none;font-size:13.5px;color:var(--navy,var(--ink));width:100%;font-family:inherit;padding:9px 0}
.uh-hsearch .ico,.hsearch .ico{color:var(--muted);flex:none}
.uh-hsearch button,.hsearch button{border:0;background:var(--umko-teal-br);color:#fff;padding:9px 20px;border-radius:0;font-weight:700;cursor:pointer;font-size:13px;align-self:stretch;flex:none}
.uh-hsearch button:hover,.hsearch button:hover{background:var(--umko-gold-d)}
.uh-right{display:flex;align-items:center;gap:18px;margin-left:auto;flex:none}
.hmode{display:flex;background:#fff;border:1px solid rgba(255,255,255,.5);border-radius:999px;padding:3px;width:180px;flex:none}
.hmode a{flex:1;text-align:center;padding:7px 6px;border-radius:999px;font-size:12px;font-weight:700;text-decoration:none;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:4px}
.hmode a .ico{width:12px;height:12px}
.hmode a.on{background:var(--umko-teal);color:#fff}
.uh-icons{display:flex;align-items:center;gap:16px;flex:none}
.uh-ibtn{display:flex;flex-direction:column;align-items:center;gap:2px;color:#fff!important;opacity:.92;text-decoration:none;position:relative;font-size:11px;font-weight:600}
.uh-ibtn:hover{opacity:1}
.uh-ibtn .ico{width:19px;height:19px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}
.uh-cab{background:var(--umko-teal-br);color:#fff!important;text-decoration:none;font-weight:800;font-size:13.5px;padding:10px 16px;border-radius:var(--umko-radius-2sm,10px);white-space:nowrap;flex:none}
.uh-cab:hover{background:var(--umko-gold-d)}
.ai-pulse{animation:umkoBotPulse 2.6s ease-in-out infinite}
@keyframes umkoBotPulse{0%{box-shadow:0 0 0 0 rgba(101,0,178,.35)}70%{box-shadow:0 0 0 7px rgba(101,0,178,0)}100%{box-shadow:0 0 0 0 rgba(101,0,178,0)}}
@media (max-width:1180px){.uh-ibtn span{display:none}}
@media (max-width:1024px){.uh-in{gap:16px;padding:0 20px}.uh-hsearch,.hsearch{max-width:220px}}
@media (max-width:640px){.uh-in{height:auto;flex-wrap:wrap;gap:9px;padding:9px 13px}.uh-hsearch,.hsearch{order:3;flex:1 1 100%;max-width:none}.uh-right{order:2;margin-left:0}.hnav{display:none}.u-apps span{display:none}
  /* 02.09.2026 (владелец: "иконок не видно" — Telegram/YouTube/GPT обрезались за краем узкой
     .uh-icons на мобильном) — этот файл грузится ПОСЛЕДНИМ (см. комментарий выше про каскад),
     поэтому такое же правило в <style> самой страницы не побеждало. Плитки-дубли есть в панели
     «Сервисы» (там места хватает). */
  .uh-social{display:none}}
/* подкатегорийная/дела-лента — бренд-полоса под шапкой, одна на десктоп и мобайл */
.u-sub{background:var(--umko-teal);border-bottom:1px solid rgba(255,255,255,.1)}
.u-sub-in{max-width:1320px;margin:0 auto;padding:0 32px;height:44px;display:flex;align-items:center;gap:24px;overflow-x:auto;scrollbar-width:none}
.u-sub-in::-webkit-scrollbar{display:none}
.u-sub a{flex:none;color:#fff!important;opacity:.88;text-decoration:none;font-size:13px;font-weight:600;white-space:nowrap;background:none;border:0;font-family:inherit;cursor:pointer}
.u-sub a:hover,.u-sub a.on{opacity:1;text-decoration:underline}
@media(max-width:640px){.u-sub-in{padding:0 14px;gap:18px;height:40px}.u-sub a{font-size:12.5px}}
/* мобильная компакт-шапка */
.mtb{display:none;position:sticky;top:0;z-index:9500;background:var(--umko-teal-d,#7B9100);border-bottom:1px solid rgba(255,255,255,.14);padding:10px 14px 8px;flex-direction:column;gap:9px}
.mtb-row{display:flex;align-items:center;justify-content:space-between;gap:8px}
.mtb-logo{width:100px;height:21px;display:block;background:#fff;border-radius:var(--umko-radius-2sm, 9px);box-sizing:content-box;padding:6px 10px;flex:none}
.mtb-logo::before{content:'';display:block;width:100%;height:100%;background:linear-gradient(135deg,var(--umko-teal-br,#6500B2) 6%,var(--umko-teal,#5F7000) 44%,var(--umko-gold,#6500B2) 97%);-webkit-mask:url(/logo.png?v=4) left center/contain no-repeat;mask:url(/logo.png?v=4) left center/contain no-repeat}
/* #фикс 06.09.2026 (владелец: "чтобы всё отображалось нормально и не ехало" — на узких
   экранах 5-7 круглых иконок (Справка/Избранное/Заказы/Корзина/Telegram/GPT/Войти) не
   помещались в .mtb-row и раздвигали ВСЮ страницу вбок — живой замер подтвердил 62px
   горизонтального скролла на 390px). min-width:0 разрешает этому flex-элементу сжаться
   меньше суммы иконок (без этого браузер по умолчанию не даёт flex-элементу быть уже
   контента, и overflow вместо контейнера утекал на body); overflow-x:auto контейнирует
   прокрутку внутри самой строки иконок — если что-то не влезло, докрутить можно свайпом
   ЗДЕСЬ, а не вся страница едет вбок. Скроллбар спрятан — визуально это просто ряд иконок. */
.mtb-icons{display:flex;align-items:center;gap:10px;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.mtb-icons::-webkit-scrollbar{display:none}
.mtb-ibtn{width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;color:#fff!important;position:relative;text-decoration:none;flex:none}
.mtb-ibtn .ico{width:15px;height:15px}
.mtb-search{display:flex;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:9px 12px}
.mtb-search input{border:none;background:none;outline:none;font-size:14px;color:var(--navy,var(--ink));width:100%;font-family:inherit}
.mtb-search .ico{color:var(--muted);flex:none}
.mtb-mode{display:flex;background:#fff;border:1px solid rgba(255,255,255,.5);border-radius:12px;padding:3px}
.mtb-mode a{flex:1;text-align:center;padding:9px 6px;border-radius:var(--umko-radius-2sm, 9px);font-size:13px;font-weight:700;text-decoration:none;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:5px}
.mtb-mode a .ico{width:14px;height:14px}
.mtb-mode a.on{background:var(--umko-teal);color:#fff}
@media(max-width:640px){.uh{display:none}.mtb{display:flex}}
/* 01.09.2026: панель "Сервисы" (umkoSvcPanel() в buyer_header.php) — та же централизация, что и
   у самой шапки выше. Раньше был скопирован в 4 страницы отдельно, отсюда рассинхрон порядка
   тайлов между копиями. */
.svc-sec{position:fixed;z-index:9600;background:var(--card);border:1px solid var(--line);border-radius:var(--umko-radius-2lg, 16px);box-shadow:0 24px 60px rgba(0,0,0,.18);padding:20px 22px;max-width:640px;width:min(640px,calc(100% - 32px));box-sizing:border-box;display:none}
.svc-sec.open{display:block}
.svc-backdrop{display:none;position:fixed;inset:0;z-index:9550;background:rgba(10,20,15,.25)}
.svc-backdrop.open{display:block}
.svc-h{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:700;margin:0 0 16px}
.svc-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
@media (max-width:900px){.svc-grid{grid-template-columns:repeat(4,1fr)}}
@media (max-width:600px){.svc-grid{grid-template-columns:repeat(3,1fr)}}
.svc-tile{display:flex;flex-direction:column;align-items:center;gap:9px;text-decoration:none;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:var(--umko-radius-md, 12px);padding:16px 8px;text-align:center;transition:.15s;position:relative}
.svc-tile:hover{border-color:var(--teal);transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,51,85,.08)}
.svc-tile.soon{opacity:.55;pointer-events:none}
.svc-ic{width:42px;height:42px;border-radius:12px;background:color-mix(in srgb,var(--teal) 12%,var(--card));color:var(--teal);display:flex;align-items:center;justify-content:center;margin:0 auto}
.svc-ic .ico{width:20px;height:20px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}
.svc-tile span{font-size:12px;font-weight:600}
.svc-soon-badge{position:absolute;top:6px;right:6px;background:var(--umko-warn-bg,#fef3c7);color:#92400e;font-size:9px;font-weight:700;padding:2px 6px;border-radius:8px}
