/* layout.css — каркас страницы: шапка header.top/.bar, .logo, разделы .hnav/.secrow, .search, иконки .hacts,
   язык .langwrap, лента категорий .catbar (её рисует раздел магазина), ящик .drawer, нижняя панель .bnav, footer.
   Владелец: команда «каркас». Раскладка — docs/ARCHITECTURE.md §12. */

/* высота липкой шапки: от неё считают липкие фильтры каталога (catalog.css) и якоря.
   MacBook — один ряд 68 px; планшет — плюс ряд разделов 48; телефон — 54 + 44 */
:root{--hdr:69px}

/* ============ шапка ============ */
header.top{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.7) blur(12px);border-bottom:1px solid var(--line)}
/* контейнер шапки тот же, что у контента (--maxw, UI-01): логотип и язык стоят вровень с блоками страницы */
.bar{display:flex;align-items:center;gap:14px;height:68px}
/* порядок пунктов задан явно: слой поиска catalog.js переносит в body и обратно (qPlace),
   и вернуться он может в конец ряда — на экране поле всё равно стоит перед иконками */
.bar>.logo{order:0} .bar>.hnav{order:1} .bar .search{order:2} .bar>.hacts{order:3} .bar>.burger{order:4}
.logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:19px;letter-spacing:-.5px;flex:none;color:var(--brand);min-height:44px}
/* знак эмблемы фоном: букву из pages.js гасим (font-size:0 + прозрачный цвет), в DOM она остаётся
   для скринридера. Первая строка background-image — фолбэк для браузеров без image-set/type() */
.logo .mark{width:34px;height:34px;flex:none;display:block;font-size:0;color:transparent;
  background-image:url(../img/mark.png);
  background-image:image-set(url(../img/mark.webp) type("image/webp"),url(../img/mark.png) type("image/png"));
  background-position:center;background-size:contain;background-repeat:no-repeat}
.logo i{font-style:normal;color:var(--accent-d)}

/* четыре раздела в ряду шапки. Пункт на всю высоту ряда: полоса активного ложится на нижнюю границу */
.hnav{display:flex;align-items:stretch;align-self:stretch;gap:2px;margin-left:10px;flex:none}
.hnav a{display:flex;align-items:center;position:relative;padding:0 12px;font-weight:600;font-size:15px;color:var(--ink2);
  white-space:nowrap;transition:color .14s}
.hnav a:hover{color:var(--brand)}
.hnav a:active{background:var(--brand-soft)}
.hnav a.on{color:var(--brand)}
/* активный раздел: синий текст + оранжевая полоса 3px, левый конец заострён — как штрих под h2 */
.hnav a.on::after{content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:3px;background:var(--accent);
  clip-path:polygon(6px 0,100% 0,100% 100%,0 100%)}
.hnav a:focus-visible{outline-offset:-4px}

/* Поиск. На десктопе обёртка #qlayer прозрачна (display:contents) — поле остаётся обычным
   элементом ряда шапки. На телефоне (см. media ниже) она превращается в полноэкранный слой;
   поэтому кнопки «назад»/«очистить» и подсказки тут скрыты. */
#qlayer{display:contents}
#qlayer .qhead{display:contents}
#qlayer .qback,#qlayer .qclear,#qlayer .qbody{display:none}
.search{flex:1 1 auto;position:relative;min-width:150px;max-width:380px;margin-left:auto}
.search svg{position:absolute;left:13px;top:12px;width:17px;height:17px;color:var(--brand);opacity:.75;pointer-events:none}
.search input{width:100%;height:42px;border:1px solid var(--line);border-radius:var(--r);padding:0 14px 0 38px;background:var(--soft);transition:.15s}
/* outline:none оставлен намеренно: видимый фокус даёт синяя рамка (10.5:1) плюс мягкий ореол */
.search input:focus{outline:none;border-color:var(--brand);background:var(--bg);box-shadow:0 0 0 3px var(--brand-soft)}
/* #qclear на десктопе (владелец правил — каталог, docs/BLOCK3.md §3.4): «✕» внутри поля. Кнопка — сосед
   .search в ряду шапки (обёртки слоя display:contents), поэтому в поле её заводит отрицательный отступ:
   34 px кнопки + 14 px зазора .bar + 4 px от края. Подпись из pages.js (data-ch) остаётся для скринридера,
   на экране — крестик. Пусто в поле — [hidden], места не занимает. Родной крестик type=search убран,
   чтобы в поле не было двух */
@media(min-width:761px){
  #qlayer #qclear{display:grid;place-items:center;order:2;flex:none;position:relative;z-index:1;
    width:34px;height:34px;margin-left:-52px;padding:0;border-radius:50%;font-size:0;color:var(--ink2);
    background:transparent;transition:background-color .14s,color .14s}
  #qlayer #qclear::before{content:"✕";font-size:14px;line-height:1}
  #qlayer #qclear:hover{background:var(--brand-soft);color:var(--brand)}
  #qlayer #qclear:focus-visible{outline:2px solid var(--brand);outline-offset:1px}
  #qlayer #qclear[hidden]{display:none}
  #qlayer:has(#qclear:not([hidden])) .search input{padding-right:42px}
  #q::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}
}

/* справа: сумка-корзина, профиль, язык */
.hacts{display:flex;align-items:center;gap:4px;flex:none}
.hico{position:relative;display:grid;place-items:center;width:44px;height:44px;border-radius:var(--r);color:var(--brand);transition:background-color .14s}
.hico svg{width:24px;height:24px}
.hico:hover{background:var(--brand-soft)}
.hico:active{transform:scale(.94)}
/* счётчик корзины: появится в блоке 2 (ORD-01), пока скрыт */
.hcount{position:absolute;top:3px;right:1px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;
  background:var(--accent-d);color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center;font-variant-numeric:tabular-nums}
.hcount[hidden]{display:none}

/* #lang — невидимая цель прокси для всех переключателей языка */
.lang{display:none}

/* компактный язык: кнопка с текущим кодом + выпадающий список с полными названиями */
.langwrap{position:relative;flex:none}
.langmini{display:flex;align-items:center;justify-content:center;height:44px;min-width:44px;padding:0 8px;
  border:1px solid var(--line);border-radius:var(--r);background:var(--bg);font-size:12.5px;font-weight:700;letter-spacing:.4px;color:var(--brand)}
.langmini[aria-expanded=true]{background:var(--brand);border-color:var(--brand);color:#fff}
.langpop{position:absolute;right:0;top:calc(100% + 6px);z-index:80;min-width:172px;padding:6px;
  background:var(--bg);border:1px solid var(--line);border-radius:var(--rl);display:grid;gap:2px;
  box-shadow:var(--sh)}
.langpop[hidden]{display:none}
.langpop button{display:flex;align-items:center;min-height:44px;padding:0 12px;border-radius:var(--r);
  font-size:15px;font-weight:600;color:var(--ink);background:var(--bg);text-align:left}
.langpop button:active{background:var(--soft)}
.langpop button.on{background:var(--brand);color:#fff}

.burger{display:none;width:44px;height:44px;border-radius:var(--r);flex-direction:column;justify-content:center;gap:5px;align-items:center;flex:none}
.burger span{width:19px;height:2px;background:var(--brand);border-radius:2px;transition:.2s}
/* та же специфичность, что у страховки в base.css, но layout.css подключён позже — перебивает --soft */
.burger:hover{background:var(--brand-soft)}

/* ряд разделов под шапкой: только там, где разделы не помещаются в ряд шапки (см. media) */
.secrow{display:none;border-top:1px solid var(--line)}
.secrow .wrap{display:flex;align-items:stretch}
.secrow a{display:flex;align-items:center;justify-content:center;position:relative;min-height:44px;padding:0 12px;
  font-weight:600;font-size:14.5px;color:var(--ink2);white-space:nowrap}
.secrow a:hover{color:var(--brand)}
.secrow a.on{color:var(--brand)}
.secrow a.on::after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:3px;background:var(--accent);
  clip-path:polygon(6px 0,100% 0,100% 100%,0 100%)}
.secrow a:active{background:var(--brand-soft)}
.secrow a:focus-visible{outline-offset:-3px}

/* ============ лента категорий магазина (рисует раздел магазина внутри #app) ============ */
.catbar{border-bottom:1px solid var(--line);background:var(--bg);position:relative}
.catbar:after{content:"";position:absolute;right:0;top:0;bottom:0;width:36px;pointer-events:none;background:linear-gradient(90deg,transparent,var(--bg));opacity:0;transition:.2s}
.catbar.scrollable:after{opacity:1}
.catrow{display:flex;gap:4px;align-items:stretch;height:50px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}
.catrow::-webkit-scrollbar{display:none}
/* вес у активного и обычного пункта одинаковый — иначе при смене раздела ряд дёргается по ширине */
.catrow a{display:flex;align-items:center;position:relative;white-space:nowrap;padding:0 14px;border-radius:var(--r) var(--r) 0 0;font-weight:600;color:var(--ink2);font-size:14.5px;transition:color .14s,background-color .14s,transform .14s}
.catrow a:hover{background:var(--brand-soft);color:var(--brand)}
.catrow a.on{color:var(--brand)}
.catrow a.on::after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:3px;background:var(--accent);
  clip-path:polygon(6px 0,100% 0,100% 100%,0 100%)}
.catrow a:active{background:var(--brand-soft);transform:scale(.97)}
/* .catrow — скролл-контейнер и режет наружное кольцо фокуса: вписываем его внутрь бокса */
.catrow a:focus-visible{outline-offset:-2px}

/* ============ ящик меню ============ */
.drawer{position:fixed;inset:0;z-index:90;display:none}
.drawer.on{display:block}
/* вуаль с синим подтоном; rgba первой строкой — фолбэк для браузеров без color-mix */
.drawer .veil{position:absolute;inset:0;background:rgba(8,12,20,.5);background:color-mix(in srgb,var(--brand2) 60%,transparent)}
/* ящик справа — со стороны бургера */
.drawer aside{position:absolute;right:0;top:0;bottom:0;width:min(330px,86vw);background:var(--bg);
  padding:0 max(16px,var(--safeR)) calc(16px + var(--safeB)) 16px;overflow:auto;overscroll-behavior:contain;
  display:flex;flex-direction:column;animation:slide .22s ease}
@keyframes slide{from{transform:translateX(100%)}}
/* голова ящика светлая: цветной знак эмблемы читается только на светлом фоне (MOB-06) */
.dhead{display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin:0 calc(-1*max(16px,var(--safeR))) 10px -16px;padding:calc(8px + env(safe-area-inset-top,0px)) max(16px,var(--safeR)) 8px 16px;
  border-bottom:1px solid var(--line);background:var(--bg)}
.dhead .logo{font-size:17px;gap:8px;min-width:0}
.dhead .logo .mark{width:32px;height:32px}
.dhead .close{width:44px;height:44px;min-width:44px;min-height:44px;border-radius:50%;background:var(--soft);color:var(--brand);font-size:17px;flex:none}
.dhead .close:hover{background:var(--brand-soft)}
/* четыре раздела — первым уровнем */
.dnav{display:grid;gap:2px}
.dnav a{display:flex;align-items:center;position:relative;min-height:50px;padding:0 12px 0 16px;border-radius:var(--r);font-weight:700;font-size:17px;color:var(--ink)}
.dnav a:hover,.dnav a:active{background:var(--brand-soft);color:var(--brand)}
.dnav a.on{color:var(--brand);background:var(--brand-soft)}
/* активный раздел: тот же оранжевый штрих, только вертикальный */
.dnav a.on::before{content:"";position:absolute;left:4px;top:14px;bottom:14px;width:3px;border-radius:2px;background:var(--accent)}
/* служебные страницы */
.dfoot{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}
.dfoot a{display:flex;align-items:center;min-height:44px;padding:0 12px 0 16px;color:var(--ink2);font-size:15px;border-radius:var(--r)}
/* WhatsApp */
.dcontacts{display:grid;gap:8px;margin-top:12px;padding-top:14px;border-top:1px solid var(--line)}
.dcontacts[hidden]{display:none}
.dcontacts a{display:flex;gap:10px;align-items:center;min-height:48px;padding:0 14px;
  border:1px solid var(--line);border-radius:var(--r);font-weight:600;font-size:15px;color:var(--ink)}
.dcontacts a:active{background:var(--soft)}
.dcontacts svg{width:20px;height:20px;color:var(--ok);flex:none}
/* язык — в самом низу ящика (MOB-05), компактно */
.dlang{margin-top:auto;padding-top:16px}
.dlang h6{margin:14px 0 8px;font-size:11px;font-weight:700;color:var(--brand);text-transform:uppercase;letter-spacing:1.2px}
.dlrow{display:flex;gap:6px}
.dlrow button{flex:1;min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:var(--r);
  background:var(--bg);font-size:14px;font-weight:600;color:var(--ink2);transition:.14s}
.dlrow button:hover:not(.on){background:var(--soft)}
.dlrow button.on{background:var(--brand);border-color:var(--brand);color:#fff}
.dlrow button:active{opacity:.75}

/* ============ нижняя панель навигации (только телефон) ============ */
/* Главная · Каталог · Поиск · Корзина · Профиль (MOB-04). Подписи — chBottomNav() в pages.js,
   активный пункт — chOnRoute(). На десктопе панели нет вовсе. */
.bnav{display:none}

/* ============ footer ============ */
/* тёмно-синий подвал; overflow:hidden держит диагональ-след внутри и исключает горизонтальный вылет */
footer{position:relative;overflow:hidden;background:var(--brand2);padding:44px 0 26px;color:var(--brand-soft);font-size:14.5px}
/* единственный декоративный слой на этом экране: след в правой части, над строкой реквизитов */
footer::after{content:"";position:absolute;right:2%;bottom:112px;width:min(34%,400px);height:12px;border-radius:6px;
  pointer-events:none;z-index:0;transform:rotate(var(--skew));transform-origin:0 50%;
  background:linear-gradient(90deg,transparent,var(--accent));opacity:.8}
footer .wrap{position:relative;z-index:1}
footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px}
footer .cols>*{min-width:0}
footer .logo{margin-bottom:10px;font-size:17px;color:#fff}
footer .logo i{color:var(--accent-soft)} /* оранжевый текст на синем запрещён брифом (2.3:1) — берём мягкий тёплый */
footer .logo .mark{background-image:url(../img/mark-w.png);
  background-image:image-set(url(../img/mark-w.webp) type("image/webp"),url(../img/mark-w.png) type("image/png"))}
footer p{margin:0;line-height:1.55}
footer h6{margin:0 0 10px;color:#fff;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px}
footer a{display:block;padding:5px 0;color:#fff}
footer a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
footer a:active{opacity:.7}
footer a:focus-visible{outline-color:#fff} /* кольцо --brand на тёмно-синем не читается */
footer .logo{display:inline-flex}
/* WhatsApp в подвале */
.fcontacts{display:flex;flex-wrap:wrap;gap:2px 16px}
.fcontacts[hidden]{display:none}
.fcontacts a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0;font-weight:600;font-size:14.5px}
/* иконки белые: оранжевыми их красить нельзя (бриф: оранжевая графика только от 24px) */
.fcontacts svg{width:18px;height:18px;color:#fff;flex:none}
/* реквизиты, политика, копирайт */
.copy{margin-top:28px;padding-top:16px;border-top:1px solid rgba(255,255,255,.16);font-size:13px;color:var(--brand-soft)}
.copy .fcompany{color:#fff;opacity:.9}
.copy .flegal{margin-top:6px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px}
.copy .flegal a{display:inline-flex;align-items:center;min-height:32px;padding:0;text-decoration:underline;text-underline-offset:3px}
.copy #fcopy{opacity:.8}

/* ============ планшет и узкий MacBook: разделы не помещаются в ряд шапки ============ */
@media(max-width:1180px){
  :root{--hdr:118px}
  .hnav{display:none}
  .secrow{display:block}
  .secrow .wrap{gap:4px}
  .secrow a{min-height:48px}
  /* текст первого раздела — вровень с логотипом и контентом */
  .secrow a:first-child{margin-left:-12px}
  footer .cols{grid-template-columns:1fr 1fr}
  /* на планшете диагональ не к чему привязать: высота колонок зависит от текстов */
  footer::after{display:none}
}

/* ============ phone ============ */
@media(max-width:760px){
  :root{--hdr:100px}
  /* Минимальная шапка: логотип и бургер. Поиск — полноэкранный слой (кнопка «Поиск» в нижней
     панели), корзина и профиль — там же, язык — внизу ящика (MOB-05). Ряд 5 + 44 + 5 = 54 px */
  .bar{height:auto;gap:8px;padding-block:5px}
  .search{display:none}
  .hacts{display:none}
  .logo{margin-right:auto;font-size:16px;gap:8px;min-width:0;flex:0 1 auto;overflow:hidden}
  /* font-size и радиус тут не переопределяем: font-size вернул бы букву S поверх картинки */
  .logo .mark{width:32px;height:32px}
  .logo .lname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .burger{display:flex}
  /* под шапкой — три раздела; «О компании» — в меню и подвале (ARCH-03).
     Одна строка: влезают — делят ширину, не влезают (ka на 320–390) — ряд листается, как лента категорий */
  .secrow .wrap{gap:0;padding-inline:max(8px,var(--safeL)) max(8px,var(--safeR));
    overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior-x:contain}
  .secrow .wrap::-webkit-scrollbar{display:none}
  .secrow a:first-child{margin-left:0}
  .secrow a{flex:1 0 auto;min-height:44px;padding:0 12px;font-size:13.5px;white-space:nowrap;text-align:center;line-height:1.15}
  .secrow a.on::after{left:12px;right:12px}
  .secrow .sr-about{display:none}
  /* глубокая карточка товара: компактная шапка без ряда разделов (ARCH-03) */
  html[data-section=product] .secrow{display:none}
  html[data-section=product]{--hdr:55px}

  /* ---- полноэкранный поиск ---- */
  #qlayer{position:fixed;inset:0;z-index:96;background:#fff;display:flex;flex-direction:column;
    padding-top:env(safe-area-inset-top);animation:qIn .16s ease}
  #qlayer[hidden]{display:none}
  @keyframes qIn{from{opacity:0;transform:translateY(8px)}}
  #qlayer .qhead{display:flex;align-items:center;gap:8px;padding:8px max(12px,var(--safeR)) 8px max(12px,var(--safeL));
    border-bottom:1px solid var(--line)}
  /* display обязателен: на десктопе эти части слоя выключены (display:none выше по файлу) */
  #qlayer .qback{display:grid;flex:none}
  #qlayer .qclear{display:block;flex:none;min-height:44px;padding:0 6px;font-size:14px;font-weight:600;color:var(--brand)}
  #qlayer .qclear[hidden]{display:none}
  #qlayer .qclear:active{opacity:.6}
  #qlayer .search{display:block;flex:1 1 auto;min-width:0;max-width:none;margin:0}
  #qlayer .search input{height:52px;font-size:17px;padding:0 12px 0 40px;border-radius:var(--r)}
  #qlayer .search svg{top:18px;left:14px;width:19px;height:19px}
  #qlayer .qbody{display:block;flex:1 1 auto;overflow:auto;overscroll-behavior:contain;
    padding:14px max(16px,var(--safeR)) calc(24px + var(--safeB)) max(16px,var(--safeL))}
  .qsec{margin-bottom:20px}
  .qsec h6{margin:0 0 9px;font-size:11px;font-weight:700;color:var(--brand);text-transform:uppercase;letter-spacing:1.2px}
  .qchips{display:flex;flex-wrap:wrap;gap:8px}
  /* строка результата: мини-фото 56 px (то же pic(), без потери качества), имя, цена */
  .qrow{display:flex;align-items:center;gap:12px;width:100%;text-align:left;min-height:64px;padding:6px 4px;border-radius:var(--r)}
  .qrow:active{background:var(--brand-soft)}
  .qrow .qph{width:56px;height:56px;flex:none;background:var(--soft);border-radius:var(--r);position:relative;overflow:hidden}
  .qrow .qph picture{display:contents}
  .qrow .qph img{position:absolute;inset:4px;margin:auto;width:auto;height:auto;
    max-width:calc(100% - 8px);max-height:calc(100% - 8px);object-fit:contain}
  .qrow .qt{min-width:0;flex:1 1 auto}
  .qrow .qt b{display:block;font-size:14px;font-weight:600;line-height:1.3;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .qrow .qt span{display:block;font-size:13px;color:var(--ink2);margin-top:2px}
  /* «показать все» — вторая кнопка брифа: белая, рамка 1.5px --brand, текст --brand */
  .qall{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;
    border:1.5px solid var(--brand);border-radius:var(--r);font-weight:700;font-size:14.5px;color:var(--brand)}
  .qempty{color:var(--ink3);font-size:14px;padding:6px 2px}

  /* ---- нижняя панель навигации: пять пунктов, компактнее и ближе к краю (MOB-04) ---- */
  .bnav{position:fixed;left:0;right:0;bottom:0;z-index:70;display:grid;grid-template-columns:repeat(5,1fr);
    padding:0 var(--safeR) var(--safeB) var(--safeL);background:rgba(255,255,255,.96);backdrop-filter:saturate(1.7) blur(12px);
    border-top:1px solid var(--line)}
  .bnav>*{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
    min-width:0;min-height:52px;padding:5px 2px 4px;color:var(--ink2);font-size:10.5px;font-weight:600;line-height:1.1;
    text-align:center;transition:color .14s,transform .12s}
  .bnav>*[hidden]{display:none}
  .bnav span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .bnav svg{width:22px;height:22px;flex:none}
  .bnav>*:active{transform:scale(.94)}
  .bnav .on{color:var(--brand)}
  /* индикатор активного: синий текст плюс оранжевая полоса 3px со стороны границы */
  .bnav .on::before{content:"";position:absolute;top:0;left:50%;width:28px;height:3px;margin-left:-14px;
    background:var(--accent);border-radius:0 0 3px 3px}
  /* счётчик корзины (блок 2) */
  .bnav .bcount{position:absolute;top:4px;left:calc(50% + 6px);min-width:16px;height:16px;padding:0 4px;border-radius:8px;
    background:var(--accent-d);color:#fff;font-style:normal;font-size:10px;font-weight:700;line-height:16px}
  .bnav .bcount[hidden]{display:none}
  /* панель закрывает нижние 52 px: подвал и «показать ещё» не должны под неё уезжать */
  body{padding-bottom:calc(52px + var(--safeB))}
  /* на странице товара над нижней панелью стоит ещё панель цены #pdbar — иначе она закрывает конец подвала */
  body:has(#pdbar){padding-bottom:calc(124px + var(--safeB))}
  /* фокус с клавиатуры и scrollIntoView не прячут кнопку под нижней панелью (WCAG 2.4.11):
     «Оформить предзаказ», «Отправить заявку» по Tab встают над панелью, а не под неё */
  html{scroll-padding-bottom:calc(60px + var(--safeB))}
  html:has(#pdbar){scroll-padding-bottom:calc(132px + var(--safeB))}
  #toast{bottom:calc(66px + var(--safeB))}
  /* лента категорий: пункт — полноценная тап-зона 44 px */
  .catrow{height:44px}
  .catrow a{display:flex;align-items:center;min-height:44px;font-size:13.5px;padding:0 11px}
  .catrow a.on::after{left:11px;right:11px}
  @media(max-width:359px){ .logo .lname{display:none} }

  /* тап-зоны шапки и ящика 44×44 */
  .burger,.dlrow button,.dhead .close{min-width:44px;min-height:44px}

  footer{padding:30px 0 22px}
  footer .cols{grid-template-columns:1fr 1fr;gap:22px 16px}
  footer .fbrand{grid-column:1/-1}
  footer a{display:flex;align-items:center;min-height:44px;padding:0}
  .copy .flegal a{min-height:44px}
  /* колонки во всю ширину — свободно только справа от логотипа: след стартует там и уходит за край */
  footer::after{display:block;right:auto;left:62%;top:44px;bottom:auto;width:50%}
}

/* ============ грузинский ============ */
/* family и базовый трекинг заголовков живут в base.css (команда «ядро»);
   здесь только элементы каркаса, которых там нет */
html[lang=ka] .logo{letter-spacing:0}
html[lang=ka] .dlang h6{letter-spacing:0}
/* разрядка у uppercase-подписей грузинскому набору не нужна */
html[lang=ka] :is(footer h6,.qsec h6,.langmini){letter-spacing:0}
html[lang=ka] .langpop button{letter-spacing:0}
html[lang=ka] .hnav a{font-size:14.5px}
html[lang=ka] .catrow a{font-size:14px}
@media(max-width:760px){
  html[lang=ka] .catrow a{font-size:13px}
  html[lang=ka] .logo{font-size:15px}
  html[lang=ka] .secrow a{font-size:12.5px}
}
