/* line3a.css — СОБРАН scripts/line3_build_a_css.py из stylesheet/a-src/*.css, руками не править */

/* ---- a-src/00-base.css ---- */
/* ==========================================================================
   ВАРИАНТ A «Полоса марки» — этап 1, 30.09.2026 (alcaplast-shop.ru).
   Макет: line3-design/etap1/line3-probes/variant-A. Всё ниже включается классом
   body.l3a (header.tpl) и новыми блоками .l3a-*. Цвета — только формулами от пары
   --brand-accent / --brand-ground (:root выше). Текст на цвете марки — --a-ink.
   ========================================================================== */
/* Роли хендоффа A строго по формулам README (на body.l3a): в :root line3.css части нет
   (--field, --err, --a-press, --a-line), а --ok там считается от марки — на красном сайте
   «В наличии» выходило красным. Остальные повторены, чтобы вид A не зависел от :root. */
body.l3a {
  --mute: color-mix(in oklab, var(--ink) 58%, var(--bg));
  --line: color-mix(in oklab, var(--ink) 14%, var(--bg));
  --card: color-mix(in oklab, var(--bg) 94%, var(--ink));
  --sel: color-mix(in oklab, var(--a) 12%, var(--bg));
  --a-text: color-mix(in oklch, var(--a) 45%, var(--ink));
  --a-line: color-mix(in oklch, var(--a-ink) 35%, var(--a));
  --ok: color-mix(in oklch, #2f7a3b 80%, var(--ink));
  --err: color-mix(in oklch, #c62a1f 85%, var(--ink));
  --field: color-mix(in oklab, var(--ink) 40%, var(--bg));
  --a-press: color-mix(in oklch, var(--a) 84%, black);
}
.l3a .l3-wrap { max-width: calc(var(--container) + var(--gutter) * 2); }

/* ---------- шапка: ярус с логотипом ---------- */
.l3a-hdr { position: relative; z-index: 50; background: var(--bg); }
.l3a-top { height: 96px; display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 24px; }
.l3a-top-l { font-size: 13px; line-height: 1.45; color: var(--mute); }
.l3a-sign { display: flex; flex-direction: column; align-items: center; gap: 7px; color: var(--ink); }
.l3a-sign img { display: block; height: var(--lh, 44px); width: var(--lw, auto); max-width: 280px; object-fit: contain; }
.l3a-logo-txt { font-family: var(--font-display); font-size: 30px; line-height: 1; }
.l3a-kick { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--mute); white-space: nowrap; }
.l3a-kick .s { display: none; }
.l3a-top-r { justify-self: end; text-align: right; }
.l3a-tel { display: block; }
.l3a-tel b { display: block; font-weight: 600; font-size: 16px; line-height: 1.3; white-space: nowrap; }
.l3a-tel .h { display: block; font-size: 13px; color: var(--mute); }
.l3a-tel-ico { display: none; }
@media (hover: hover) { .l3a-sign:hover { color: var(--ink); } .l3a-tel:hover b { color: var(--a-text); } }

/* ---------- полоса цвета марки: каталог, поиск во всю ширину, сравнение, корзина ---------- */
.l3a-band { background: var(--a); color: var(--a-ink); }
.l3a-band--thin { height: 6px; }
.l3a-band-in { height: 68px; display: flex; align-items: center; gap: 12px; }
.l3a-btn-line { height: 44px; padding: 0 18px 0 14px; display: inline-flex; align-items: center; gap: 10px; border: 1.5px solid var(--a-ink); color: var(--a-ink); font-weight: 600; font-size: 15px; white-space: nowrap; transition: background .15s; }
.l3a-btn-line:hover, .l3a-cat.open > .l3a-btn-line { background: var(--a-hover); color: var(--a-ink); }
.l3a-menu-btn { display: none; }
.l3a-cat { position: relative; flex: none; }
.l3a-cat-list { display: none; position: absolute; left: 0; top: calc(100% + 12px); z-index: 80; width: min(760px, calc(100vw - 2 * var(--gutter))); padding: 12px 24px 16px; background: var(--bg); color: var(--ink); border: 1px solid var(--ink); columns: 3; column-gap: 32px; }
.l3a-cat.open .l3a-cat-list { display: block; }
.l3a-cat-list a { display: flex; justify-content: space-between; gap: 12px; min-height: 40px; align-items: center; border-bottom: 1px solid var(--line); font-size: 15px; break-inside: avoid; }
.l3a-cat-list a i { font-style: normal; font-size: 13px; color: var(--mute); font-variant-numeric: tabular-nums; }
.l3a-cat-list a.is-active { font-weight: 600; }
.l3a-search { position: relative; flex: 1; min-width: 0; }
.l3a-search form { display: flex; align-items: center; height: 44px; background: var(--bg); color: var(--ink); }
.l3a-search .ic { flex: none; display: grid; place-items: center; width: 46px; color: var(--mute); }
.l3a-search input[type="search"] { flex: 1; min-width: 0; height: 44px; border: 0; background: transparent; padding: 0 12px 0 0; font-size: 16px; color: var(--ink); outline: none; -webkit-appearance: none; appearance: none; }
.l3a-search input[type="search"]::placeholder { color: var(--mute); opacity: 1; }
.l3a-search form:focus-within { box-shadow: 0 0 0 2px var(--a-ink); }
.l3a-search button[type="submit"] { flex: none; height: 44px; padding: 0 22px; background: var(--ink); color: var(--bg); font-weight: 600; font-size: 15px; }
.l3a-search button[type="submit"]:hover { background: var(--ink-hover); }
/* подсказки — прямоугольник под полем, поверх страницы */
.l3a-search .l3-sg { position: absolute; left: 0; right: 0; top: calc(100% + 12px); margin: 0; background: var(--bg); color: var(--ink); z-index: 90; max-height: calc(100vh - 200px); overflow-y: auto; }
.l3a-cmp { flex: none; position: relative; height: 44px; padding: 0 14px; display: flex; align-items: center; color: var(--a-ink); font-weight: 600; font-size: 15px; white-space: nowrap; }
.l3a-cmp .ic { display: none; }
.l3a-cart { flex: none; position: relative; height: 44px; padding: 0 18px; display: flex; align-items: center; gap: 10px; background: var(--a-ink); color: var(--bg); font-weight: 600; font-size: 15px; white-space: nowrap; }
.l3a-cart .ct, .l3a-cmp .ct { position: absolute; top: -6px; right: -6px; min-width: 20px; height: 20px; padding: 0 5px; background: var(--bg); color: var(--ink); border: 1.5px solid var(--a-ink); font-size: 12px; font-weight: 600; display: none; place-items: center; line-height: 1; }
@media (hover: hover) {
  .l3a-band a:hover { color: inherit; }
  .l3a-cmp:hover { text-decoration: underline; text-underline-offset: 4px; color: var(--a-ink); }
  .l3a-cart:hover { color: var(--bg); background: color-mix(in oklch, var(--a-ink) 85%, var(--a)); }
}

/* ---------- строка разделов под полосой ---------- */
.l3a-nav { border-bottom: 1px solid var(--line); }
.l3a-nav-in { height: 48px; display: flex; justify-content: center; align-items: center; gap: 0 32px; font-size: 15px; flex-wrap: wrap; overflow: hidden; }
.l3a-nav-in a { height: 48px; display: flex; align-items: center; white-space: nowrap; }
.l3a-nav-in a.is-active { font-weight: 600; box-shadow: inset 0 -2px 0 var(--ink); }
.l3a-nav-in .svc { color: var(--mute); }
.l3a-nav-in .sep { width: 1px; height: 16px; background: var(--line); }
/* шторка: заголовок вместо поля поиска (поиск и так в полосе) */
.l3a-menu-title { flex: 1; font-family: var(--font-display); font-weight: 400; font-size: 24px; }

@media (max-width: 1279px) {
  .l3a-nav-in { gap: 0 22px; font-size: 14px; }
}
/* 768–1023 (кадр 768): ярус 80, логотип по площади 5 000 px², полоса 60, строка разделов 44 */
@media (max-width: 1023px) {
  .l3a-top { height: 80px; gap: 16px; }
  .l3a-top-l { font-size: 12px; }
  .l3a-sign { gap: 5px; }
  .l3a-sign img { height: var(--lhm, 36px); width: var(--lwm, auto); max-width: 240px; }
  .l3a-kick { font-size: 11px; letter-spacing: .08em; }
  .l3a-kick .r { display: none; }
  .l3a-tel b { font-size: 15px; }
  .l3a-tel .h { display: none; }
  .l3a-band-in { height: 60px; gap: 8px; }
  .l3a-btn-line { padding: 0 14px 0 12px; gap: 8px; }
  .l3a-search button[type="submit"] { display: none; }
  .l3a-search form { padding-right: 8px; }
  .l3a-cmp { width: 44px; padding: 0; justify-content: center; }
  .l3a-cmp .ic { display: block; }
  .l3a-cmp .lb, .l3a-cart .lb { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .l3a-cart { width: 44px; padding: 0; justify-content: center; }
  .l3a-cart .ct:not([hidden]), .l3a-cmp .ct:not([hidden]) { display: grid; }
  .l3a-cmp .ct { top: 2px; right: 0; border: 0; background: transparent; color: var(--a-ink); min-width: 0; padding: 0; height: auto; font-size: 11px; }
  .l3a-nav-in { height: 44px; gap: 0 24px; }
  .l3a-nav-in a { height: 44px; }
  .l3a-nav-in .sep, .l3a-nav-in .svc { display: none; }
}
/* до 767 (кадр 390): ярус 64 — пусто 44 · логотип + «Официальный дилер» · телефон 44; полоса 60 */
@media (max-width: 767px) {
  .l3a-top { height: 64px; gap: 4px; grid-template-columns: 44px minmax(0, 1fr) 44px; }
  .l3a-top-l { visibility: hidden; }
  .l3a-sign { gap: 3px; min-width: 0; }
  .l3a-sign img { height: var(--lhs, 26px); width: var(--lws, auto); max-width: 100%; }
  .l3a-kick .l { display: none; }
  .l3a-kick .s { display: inline; }
  .l3a-tel { display: none; }
  .l3a-tel-ico { display: grid; place-items: center; width: 44px; height: 44px; color: var(--ink); }
  .l3a-band-in { height: 60px; padding-top: 8px; padding-bottom: 8px; gap: 8px; }
  .l3a-menu-btn { display: inline-grid; place-items: center; width: 44px; padding: 0; flex: none; }
  .l3a-cat, .l3a-cmp { display: none; }
  .l3a-nav { display: none; }
  .l3a-search .ic { width: 38px; }
  .l3a-search .l3-sg { position: fixed; left: 8px; right: 8px; top: auto; margin-top: 8px; max-height: 70vh; }
  .l3a-hdr--checkout .l3a-top-l { display: none; }
  .l3a-hdr--checkout .l3a-top { grid-template-columns: 1fr auto; }
  .l3a-hdr--checkout .l3a-sign { align-items: flex-start; }
}

/* ---------- подвал сплошным цветом марки ---------- */
.l3a-ftr { margin-top: 96px; background: var(--a); color: var(--a-ink); padding: 36px 0 28px; font-size: 14px; }
.l3a-ftr a { color: inherit; }
.l3a-ftr-nav { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px 36px; font-weight: 600; font-size: 14px; letter-spacing: .08em; text-transform: uppercase; }
.l3a-ftr-bot { margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--a-line); display: flex; justify-content: space-between; gap: 12px 24px; line-height: 1.6; }
.l3a-ftr-bot .who { text-align: right; }
.l3a-ftr--short { margin-top: 64px; padding: 20px 0; }
.l3a-ftr--short .l3a-ftr-bot { margin-top: 0; padding-top: 0; border-top: 0; flex-wrap: wrap; }
.l3a-ftr-mini { display: flex; gap: 18px; flex-wrap: wrap; }
@media (hover: hover) { .l3a-ftr a:hover { color: inherit; text-decoration: underline; text-underline-offset: 3px; } }
/* 768: ссылки сеткой в 4 колонки по 44, строка контактов и подпись — столбиком слева */
@media (max-width: 1023px) {
  .l3a-ftr { margin-top: 80px; padding: 28px 0; font-size: 13px; }
  .l3a-ftr-nav { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 16px; font-size: 13px; }
  .l3a-ftr-nav a { min-height: 44px; display: flex; align-items: center; }
  .l3a-ftr-bot { margin-top: 16px; flex-direction: column; gap: 4px; }
  .l3a-ftr-bot .who { text-align: left; }
}
@media (max-width: 767px) {
  .l3a-ftr { margin-top: 56px; padding: 24px 0; }
  .l3a-ftr-nav { grid-template-columns: 1fr 1fr; gap: 0 12px; }
  .l3a-ftr-bot { margin-top: 16px; padding-top: 16px; flex-direction: column; }
  .l3a-ftr-bot .who { text-align: left; }
  .l3a-ftr-bot .contacts .d { display: none; }
  .l3a-ftr-bot .contacts > a, .l3a-ftr-bot .contacts > span:not(.d) { display: block; }
  .l3a-ftr-bot .contacts > a { min-height: 44px; display: flex; align-items: center; }
  .l3a-ftr-mini a { min-height: 44px; display: inline-flex; align-items: center; }
  /* липкая панель покупки не должна закрывать низ подвала */
  .l3a[class*="product-product"] .l3a-ftr { padding-bottom: 100px; }
}

/* ---------- главная: мозаика разделов ---------- */
.l3a-home-h1 { padding-top: 20px; margin: 0 0 12px; font-family: var(--font-body) !important; font-size: 14px !important; line-height: 1.4 !important; letter-spacing: .02em !important; color: var(--mute); }
.l3a-home-h1 .cnt { font: inherit; }
.l3a-mosaic { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-auto-rows: 154px; gap: 12px; scroll-margin-top: 16px; }
.l3a-tile { display: flex; flex-direction: column; min-width: 0; min-height: 0; background: var(--photo); overflow: hidden; }
.l3a-tile.w3 { grid-column: span 3; } .l3a-tile.w4 { grid-column: span 4; } .l3a-tile.w5 { grid-column: span 5; }
.l3a-tile.w6 { grid-column: span 6; } .l3a-tile.w7 { grid-column: span 7; } .l3a-tile.w12 { grid-column: 1 / -1; }
.l3a-tile.h1, .l3a-tile.hs { grid-row: span 2; } .l3a-tile.h2 { grid-row: span 4; } .l3a-tile.hl { grid-row: span 3; }
.l3a-tile .ph { flex: 1; min-height: 0; display: flex; align-items: center; justify-content: center; overflow: hidden; padding: 28px 40px 12px; }
.l3a-tile .ph img { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; transition: transform .25s; }
.l3a-tile.hs .ph { padding: 20px 24px 8px; }
.l3a-tile.is-empty .ph { margin: 20px 28px 0; padding: 0; background: repeating-linear-gradient(135deg, var(--card) 0 10px, var(--photo) 10px 20px); }
.l3a-tile .cap { background: var(--a); color: var(--a-ink); padding: 14px 24px 16px; display: grid; gap: 4px; transition: background .15s; }
.l3a-tile .cap a { color: var(--a-ink); }
.l3a-tile .t { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; min-width: 0; }
.l3a-tile .t b { font-weight: 600; font-size: 19px; line-height: 1.2; letter-spacing: .05em; text-transform: uppercase; min-width: 0; overflow-wrap: anywhere; }
.l3a-tile .t .n { font-size: 14px; white-space: nowrap; flex: none; }
.l3a-tile.hs .t b { font-size: 16px; }
.l3a-tile.hs .t .n { font-size: 13px; }
.l3a-tile .subs { font-size: 15px; line-height: 1.4; display: flex; flex-wrap: wrap; gap: 0 6px; }
.l3a-tile.hs .subs { font-size: 14px; }
.l3a-tile .subs i { font-style: normal; opacity: .55; }
@media (hover: hover) {
  .l3a-tile:hover .cap { background: var(--a-hover); }
  .l3a-tile:hover .ph img { transform: scale(1.03); }
  .l3a-tile .cap a:hover { color: var(--a-ink); text-decoration: underline; text-underline-offset: 3px; }
}
@media (max-width: 1023px) {
  .l3a-mosaic { grid-auto-rows: 120px; }
  .l3a-tile.hs { grid-column: span 6; }
  .l3a-tile .ph { padding: 18px 20px 8px; }
  .l3a-tile .cap { padding: 12px 16px 14px; }
  .l3a-tile .t b { font-size: 16px; }
}
@media (max-width: 767px) {
  .l3a-home-h1 { padding-top: 14px; margin-bottom: 10px; font-size: 13px !important; }
  .l3a-mosaic { grid-template-columns: 1fr 1fr; grid-auto-rows: auto; gap: 8px; }
  .l3a-tile, .l3a-tile.w3, .l3a-tile.w4, .l3a-tile.w5, .l3a-tile.w6, .l3a-tile.w7, .l3a-tile.w12 { grid-column: auto; grid-row: auto; height: 220px; }
  .l3a-tile.m-full { grid-column: 1 / -1; height: 200px; }
  .l3a-tile.m-full:first-child { height: 300px; }
  .l3a-tile .ph, .l3a-tile.hs .ph { padding: 14px; }
  .l3a-tile.is-empty .ph { margin: 12px 12px 0; }
  .l3a-tile .cap { padding: 10px 12px 12px; gap: 2px; }
  .l3a-tile .t { display: block; }
  .l3a-tile .t b, .l3a-tile.hs .t b { display: block; font-size: 15px; letter-spacing: .04em; }
  .l3a-tile .t .n, .l3a-tile.hs .t .n { display: block; font-size: 13px; margin-top: 2px; }
  .l3a-tile .subs { display: none; }
  .l3a-tile .t { min-height: 44px; }
}

/* ---------- карточка списка (ACard): «l» на ≥1024, «s» на 768/390 ---------- */
/* сетка 4 / 4 / 2, зазор 36×24 / 28×12 / 24×12 */
.l3a .l3-list, .l3a-list, .l3a .l3-cat:not(.l3-cat--full) .l3-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 36px 24px; border: 0; background: none; }
.l3a .l3-sec > .l3a-list, .l3a .l3-sec > .l3-list { margin-top: 28px; }
.l3a-card { display: flex; flex-direction: column; min-width: 0; }
.l3a-card .photo { position: relative; display: flex; align-items: center; justify-content: center; aspect-ratio: 1; background: var(--photo); overflow: hidden; padding: 10%; }
.l3a-card .photo img { display: block; width: 100%; height: 100%; object-fit: contain; transition: transform .25s; }
.l3a-card .photo.is-empty { background: repeating-linear-gradient(135deg, var(--card) 0 8px, var(--photo) 8px 16px); }
.l3a-card.is-out .photo img { opacity: .5; }
/* метки (A18): не больше двух, столбиком в левом верхнем углу фото — «Хит продаж» (--a / --a-ink), «Новинка» (--ink / --bg);
   у «нет в наличии» шаблон их не выводит. 1440: 28 / 13 px / поля 10 / угол 12; ≤1023 (768, 390): 24 / 12 px / поля 7 / угол 8 */
.l3a-card .badges { position: absolute; top: 12px; left: 12px; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; pointer-events: none; }
.l3a-card .badge { height: 28px; padding: 0 10px; display: flex; align-items: center; font-size: 13px; font-weight: 600; line-height: 1; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.l3a-card .badge--hit { background: var(--a); color: var(--a-ink); }
.l3a-card .badge--new { background: var(--ink); color: var(--bg); }
.l3a-card .pr { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-top: 14px; min-height: 48px; }
.l3a-card .sum { min-width: 0; padding-top: 4px; }
.l3a-card .price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 8px; font-weight: 600; font-size: 24px; line-height: 1.1; white-space: nowrap; font-variant-numeric: tabular-nums; }
.l3a-card .price s { font-weight: 400; font-size: 14px; color: var(--mute); }
.l3a-card .stock { font-size: 13px; line-height: 1.35; margin-top: 4px; color: var(--mute); }
.l3a-card .stock.l3-status-ok { color: var(--ok); }
.l3a-card .stock-s { display: none; }
/* кнопка корзины: в наличии — марка; добавляем — кольцо; в корзине — галочка на --a-ink; нет — серая */
.l3a-card .buy { flex: none; position: relative; width: 48px; height: 48px; display: grid; place-items: center; background: var(--a); color: var(--a-ink); transition: background .15s; }
.l3a-card .buy .i-ok { display: none; }
.l3a-card .buy:active { background: var(--a-press); }
.l3a-card .buy.is-in { background: var(--a-ink); color: var(--bg); }
.l3a-card .buy.is-in .i-bag { display: none; }
.l3a-card .buy.is-in .i-ok { display: block; }
.l3a-card .buy.is-busy .i-bag, .l3a-card .buy.is-busy .i-ok { visibility: hidden; }
.l3a-card .buy.is-busy::after { content: ""; position: absolute; left: 50%; top: 50%; width: 18px; height: 18px; margin: -9px 0 0 -9px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: l3a-spin .8s linear infinite; }
@keyframes l3a-spin { to { transform: rotate(360deg); } }
.l3a-card .buy:disabled { background: var(--card); color: var(--mute); cursor: not-allowed; }
.l3a-card .nm { margin-top: 10px; font-size: 15px; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; }
.l3a-card .meta { margin-top: auto; padding-top: 6px; display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-size: 13px; color: var(--mute); }
.l3a-card .specs { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.l3a-card .cmp { flex: none; font-size: 13px; color: var(--mute); border-bottom: 1px solid var(--line); line-height: 1.3; }
.l3a-card .cmp.is-on { color: var(--ink); font-weight: 600; border-bottom-color: var(--ink); }
.l3a-card .buy:focus-visible, .l3a-card .cmp:focus-visible, .l3a-card .nm:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
@media (hover: hover) {
  .l3a-card .photo:hover img { transform: scale(1.03); }
  .l3a-card .buy:not(:disabled):not(.is-in):hover { background: var(--a-hover); color: var(--a-ink); }
  .l3a-card .cmp:hover { color: var(--ink); border-color: var(--ink); }
}
@media (max-width: 1023px) {
  .l3a .l3-list, .l3a-list, .l3a .l3-cat:not(.l3-cat--full) .l3-list { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px 12px; }
  .l3a-card .photo { padding: 8%; }
  .l3a-card .badges { top: 8px; left: 8px; gap: 4px; }
  .l3a-card .badge { height: 24px; padding: 0 7px; font-size: 12px; }
  .l3a-card .pr { margin-top: 10px; gap: 6px; min-height: 44px; align-items: center; }
  .l3a-card .sum { padding-top: 0; }
  .l3a-card .price { font-size: 18px; }
  .l3a-card .price s { font-size: 12px; }
  .l3a-card .buy { width: 44px; height: 44px; }
  .l3a-card .buy svg { width: 18px; height: 18px; }
  .l3a-card .stock-l, .l3a-card .meta { display: none; }
  .l3a-card .stock-s { display: block; margin-top: 4px; font-size: 12px; }
  .l3a-card .nm { margin-top: 8px; font-size: 14px; }
}
@media (max-width: 767px) {
  .l3a .l3-list, .l3a-list, .l3a .l3-cat:not(.l3-cat--full) .l3-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 12px; }
}
@media (max-width: 374px) {
  .l3a-card .price { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) { .l3a-card .buy.is-busy::after { animation-duration: 2s; } }

/* ---------- главная: секции ---------- */
.l3a-home .l3-sec { margin-top: 72px; }
.l3a-home .l3-sec--two, .l3a[class*="product-category"] .l3-sec--two { padding-top: 28px; border-top: 1px solid var(--ink); }
.l3a .l3-sec--two { margin-top: 80px; }
.l3a-trust { margin-top: 80px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px; padding: 32px 0; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--line); }
.l3a-trust b { display: block; font-weight: 600; font-size: 18px; }
.l3a-trust p { margin-top: 8px; font-size: 15px; line-height: 1.5; color: var(--mute); }
/* частые вопросы: заголовок слева в колонке 320, вопросы одним списком справа */
.l3a .l3-sec:has(> .l3-faq) { display: grid; grid-template-columns: var(--rail) minmax(0, 1fr); gap: 48px; align-items: start; }
.l3a .l3-sec:has(> .l3-faq) > h2 { margin-bottom: 0 !important; }
.l3a .l3-faq { grid-template-columns: minmax(0, 1fr); }
.l3a .l3-faq .q { min-height: 56px; align-items: center; padding: 10px 0; font-size: 16px; }
.l3a .l3-faq > ul:last-child li:last-child { border-bottom: 1px solid var(--line); }
@media (max-width: 1023px) {
  .l3a .l3-sec:has(> .l3-faq) { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .l3a-trust { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; padding: 20px 0; margin-top: 64px; }
  .l3a-trust b { font-size: 16px; }
  .l3a-trust p { margin-top: 4px; font-size: 14px; }
  .l3a .l3-sec--two { margin-top: 56px; }
}
@media (max-width: 767px) {
  .l3a-home .l3-sec { margin-top: 48px; }
  .l3a :where(.line3) h2, .l3a .l3-sec h2 { font-size: 26px; }
  .l3a .l3-faq .q { font-size: 15px; }
  .l3a-trust { grid-template-columns: minmax(0, 1fr); gap: 18px; padding: 20px 0 0; border-bottom: 0; margin-top: 48px; }
}
@media (max-width: 374px) {
  .l3a-tile .t b, .l3a-tile.hs .t b { font-size: 13px; letter-spacing: .02em; overflow-wrap: normal; }
}

/* ---------- «Чем модели отличаются» (главная, раздел, серия): таблица; на 390 — лента карточек 156 ---------- */
body.l3a .l3a-cmpt { padding-top: 24px; border-top: 1px solid var(--ink); }
body.l3a .l3a-cmpt h2 { font-size: 34px; line-height: 1.1; }
body.l3a .l3a-cmpt-lead { margin-top: 12px; font-size: 14px; line-height: 1.5; color: var(--mute); }
body.l3a .l3a-cmpt .l3-table { width: 100%; font-size: 14px; }
body.l3a .l3a-cmpt .l3-table th { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--mute); font-weight: 400; }
body.l3a .l3a-cmpt .l3-table td.b { font-weight: 400; }
body.l3a .l3a-cmpt .l3-table td.r.b { font-weight: 600; white-space: nowrap; }
body.l3a .l3a-cmpt-ribbon { display: none; }
body.l3a .l3a-cmpt .l3-table th, body.l3a .l3a-cmpt .l3-table td { white-space: normal; }
body.l3a .l3a-cmpt .l3-table td.r { white-space: nowrap; }
@media (max-width: 1023px) { body.l3a .l3a-cmpt h2 { font-size: 28px; } }
@media (max-width: 767px) {
  body.l3a .l3a-cmpt h2 { font-size: 24px; }
  body.l3a .l3a-cmpt .l3-table-wrap { display: none; }
  body.l3a .l3a-cmpt-ribbon { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; margin: 0; padding: 0 0 4px; scroll-snap-type: x proximity; }
  body.l3a .l3a-cmpt-ribbon::-webkit-scrollbar { display: none; }
  body.l3a .l3a-cmpt-ribbon li { flex: 0 0 156px; display: flex; flex-direction: column; gap: 2px; padding: 12px; border: 1px solid var(--line); font-size: 12px; line-height: 1.4; color: var(--mute); scroll-snap-align: start; }
  body.l3a .l3a-cmpt-ribbon .nm { font-size: 13px; font-weight: 600; color: var(--ink); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; margin-bottom: 2px; }
  body.l3a .l3a-cmpt-ribbon .v { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  body.l3a .l3a-cmpt-ribbon .p { margin-top: auto; padding-top: 4px; font-weight: 600; font-size: 13px; color: var(--ink); white-space: nowrap; }
}

/* ---------- категория, серия, пустой раздел — в 20-category.css ---------- */

/* ---------- товар: схема прежняя (фото слева, покупка 400 справа), новые пропорции ---------- */
.l3a .l3-pdp-head h1 { font-size: 44px; max-width: 900px; }
@media (min-width: 1024px) { .l3a .l3-passport { grid-template-columns: repeat(var(--n, 5), minmax(0, 1fr)); } }
.l3a .l3-passport b { font-size: 22px; line-height: 1.1; }
.l3a .l3-passport span { font-size: 12px; }
.l3a .l3-gallery .main { height: auto; aspect-ratio: 5 / 4; border: 0; padding: 48px; }
.l3a .l3-gallery .main img { max-width: 100%; max-height: 100%; mix-blend-mode: normal; }
.l3a .l3-gallery .thumbs { grid-template-columns: repeat(auto-fill, 88px); gap: 8px; margin-top: 8px; }
.l3a .l3-gallery .thumbs button { height: 88px; border: 0; padding: 8px; }
.l3a .l3-gallery .thumbs button.is-active { outline: 1.5px solid var(--ink); outline-offset: -1.5px; border: 0; }
.l3a .l3-gallery .thumbs img { mix-blend-mode: normal; }
.l3a .l3-buy { padding: 28px; gap: 16px; }
.l3a .l3-buy .price { font-family: var(--font-body); font-weight: 600; font-size: 36px; }
.l3a .l3-buy .stock b { color: var(--ok); }
.l3a .l3-buy .stock b.l3-status-order { color: var(--mute); }
.l3a .l3-buy .l3-buy-cta { width: 100%; }
@media (max-width: 1023px) {
  .l3a .l3-pdp-head h1 { font-size: 34px; }
  .l3a .l3-gallery .main { padding: 32px; }
}
@media (max-width: 767px) {
  .l3a .l3-pdp-head h1 { font-size: 28px; line-height: 1.12; }
  .l3a .l3-gallery .main { aspect-ratio: 1; padding: 24px; }
  .l3a .l3-gallery .thumbs { grid-template-columns: repeat(auto-fill, 64px); }
  .l3a .l3-gallery .thumbs button { height: 64px; padding: 4px; }
  .l3a .l3-buy { padding: 20px 16px; }
  .l3a .l3-buy .price { font-size: 30px; }
  .l3a .l3-passport b { font-size: 20px; }
  .l3a .l3-sticky-buy .price { font-family: var(--font-body); font-weight: 600; }
}

/* ---------- корзина, поиск и прочие страницы: только общий ритм ---------- */
.l3a .l3-search-h h1, .l3a .l3-search-empty h1 { font-size: 40px; }
@media (max-width: 767px) { .l3a .l3-search-h h1, .l3a .l3-search-empty h1 { font-size: 28px; } }

/* ---- a-src/20-category.css ---- */
/* ==========================================================================
   Вид A — экраны 02 Категория, 03 Серия (посадочная фильтра), 14 Пустая категория.
   Хендофф: design/A02, A03, A14. Шаблон: template-a/product/category.tpl,
   template-a/module/filterpro.tpl. Колонка фильтров 260 + 48 — только ≥1280; ниже —
   «Фильтры · N» + «Популярные ↓» и лист фильтров снизу.
   Чипы (.l3a-chip) общие — ими пользуются и другие экраны вида A.
   ========================================================================== */

/* ---------- чипы: выбран — марка; текущая серия — рамка --ink; недоступен — пунктир ---------- */
body.l3a .l3a-chips { display: flex; justify-content: flex-start; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 24px; }
body.l3a .l3a-chip { height: 44px; padding: 0 16px; display: inline-flex; align-items: center; gap: 6px; font-size: 15px; border: 1px solid var(--line); color: var(--ink); white-space: nowrap; background: transparent; }
body.l3a .l3a-chip i { font-style: normal; font-weight: 400; color: inherit; opacity: .7; }
body.l3a .l3a-chip.is-on { background: var(--a); border-color: var(--a); color: var(--a-ink); font-weight: 600; }
body.l3a .l3a-chip.is-cur { border: 1.5px solid var(--ink); font-weight: 600; }
body.l3a .l3a-chip--more { color: var(--mute); border-style: dashed; }
body.l3a .l3a-chip:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
@media (hover: hover) {
  body.l3a .l3a-chip:hover { border-color: var(--ink); color: var(--ink); }
  body.l3a .l3a-chip.is-on:hover { background: var(--a-hover); border-color: var(--a-hover); color: var(--a-ink); }
}

/* ---------- заголовок: крошки, H1, счётчик, лид, факты серии ---------- */
body.l3a .l3a-catpage .l3-bc { justify-content: flex-start; }
body.l3a .l3a-cat-h { padding-top: 16px; text-align: left; }
body.l3a .l3a-cat-h h1 { font-size: 44px; line-height: 1.05; text-wrap: balance; max-width: 1000px; }
body.l3a .l3a-cat-h .sub { margin-top: 8px; font-size: 14px; color: var(--mute); }
body.l3a .l3a-cat-h .lead { margin-top: 14px; max-width: 720px; font-size: 17px; line-height: 1.55; color: var(--ink); }
body.l3a .l3a-facts { margin: 24px 0 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; padding: 18px 0 16px; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--line); }
body.l3a .l3a-facts dt { font-family: var(--font-display); font-weight: 400; font-size: 22px; line-height: 1.1; font-variant-numeric: tabular-nums; }
body.l3a .l3a-facts dd { margin: 4px 0 0; font-size: 13px; color: var(--mute); }
body.l3a .l3a-chips--ser { margin-top: 12px; gap: 6px; }
body.l3a .l3a-chips--ser .lbl { font-size: 13px; color: var(--mute); margin-right: 6px; }
body.l3a .is-landing .l3a-chips--ser { margin-top: 20px; }

/* ---------- раздел: колонка фильтров 260 + 48 (≥1280) ---------- */
body.l3a .l3-cat { padding-top: 36px; display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 48px; align-items: start; }
body.l3a .l3-cat--full { grid-template-columns: minmax(0, 1fr); }
body.l3a .l3-cat > * { min-width: 0; }
body.l3a .l3-filters .l3-kick.ft, body.l3a .l3-fg .ft { font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--mute); }
body.l3a .l3-fg .opt { min-height: 28px; font-size: 14px; }
body.l3a .l3-fg .opt .box { width: 16px; height: 16px; border: 1.5px solid var(--field); }
body.l3a .l3-fg .opt input:checked ~ .box { background: var(--ink); border-color: var(--ink); }
body.l3a .l3-fg .opt input:focus-visible ~ .box { outline: 2px solid var(--ink); }
body.l3a .l3-fg .opt .count { font-size: 12px; font-variant-numeric: tabular-nums; }
body.l3a .l3-filters .l3-chips .l3-chip { border-color: var(--ink); }
body.l3a .l3a-fbar { display: grid; gap: 8px; }
body.l3a .l3a-fbar .reset { display: none; }
body.l3a .l3-filters .apply { height: 44px; width: 100%; background: var(--ink); color: var(--bg); box-shadow: none; font-weight: 600; font-size: 15px; }
@media (hover: hover) { body.l3a .l3-filters .apply:hover { background: var(--ink-hover, var(--ink)); color: var(--bg); box-shadow: none; } }
body.l3a .l3-filters .drawer-head { display: none; }

/* ---------- сортировка текстом + применённые фильтры чипами 32 (≥1280) ---------- */
body.l3a .l3-sort { display: flex; align-items: center; gap: 8px 22px; padding-bottom: 12px; border-bottom: 1px solid var(--line); font-size: 14px; flex-wrap: wrap; min-height: 44px; }
body.l3a .l3-sort .lbl { color: var(--mute); }
body.l3a .l3-sort a.srt { color: var(--ink); }
body.l3a .l3-sort a.srt.is-active { font-weight: 600; }
body.l3a .l3-sort .found { margin-left: auto; display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; color: var(--mute); font-size: 13px; }
body.l3a .l3a-fchip { height: 32px; padding: 0 10px; display: inline-flex; align-items: center; gap: 8px; background: var(--ink); color: var(--bg); font-size: 13px; font-weight: 600; white-space: nowrap; }
body.l3a a.l3a-fchip:hover { color: var(--bg); }
body.l3a .l3a-fbtn, body.l3a .l3a-sortdd { display: none; }
body.l3a .l3-chips-top { display: none !important; }
body.l3a .l3-cat .l3-list { margin-top: 24px; }

/* ---------- «Показать ещё» + страницы 44 ---------- */
body.l3a .l3-pager { margin-top: 40px; padding-top: 0; display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
body.l3a .l3a-more { height: 44px; min-width: 200px; padding: 0 28px; display: inline-grid; place-items: center; box-shadow: inset 0 0 0 1.5px var(--ink); font-weight: 600; font-size: 14px; color: var(--ink); }
body.l3a .l3a-more.is-muted { color: var(--mute); box-shadow: inset 0 0 0 1.5px var(--line); }
@media (hover: hover) { body.l3a .l3a-more:hover { background: var(--card); color: var(--ink); } }
body.l3a .l3-pagination, body.l3a .l3-pagination ul { gap: 4px; }
body.l3a .l3-pagination a, body.l3a .l3-pagination span, body.l3a .l3-pagination b { min-width: 44px; height: 44px; padding: 0 6px; color: var(--ink); font-size: 14px; }
body.l3a .l3-pagination li.active span, body.l3a .l3-pagination b { background: var(--ink); color: var(--bg); font-weight: 600; }
@media (hover: hover) { body.l3a .l3-pagination a:hover { background: var(--card); color: var(--ink); } }

/* ---------- таблица, другие серии, SEO-текст 3 строки + «Читать полностью ↓» ---------- */
body.l3a .l3a-catpage .l3-sec--two { margin-top: 80px; padding-top: 24px; border-top: 1px solid var(--ink); }
body.l3a .l3a-other { margin-top: 80px; }
body.l3a .l3a-other .l3a-chips { margin-top: 16px; }
body.l3a .l3a-seo { margin-top: 80px; max-width: 760px; }
body.l3a .l3a-seo h2 { font-size: 34px; line-height: 1.1; }
body.l3a .l3a-seo-body { margin-top: 14px; max-width: none; font-size: 15px; line-height: 1.6; max-height: 4.8em; overflow: hidden; position: relative; }
body.l3a .l3a-seo-body > :first-child { margin-top: 0; }
body.l3a .l3a-seo-body::after { content: "…"; position: absolute; right: 0; bottom: 0; padding-left: 24px; background: linear-gradient(90deg, transparent, var(--bg) 20px); }
body.l3a .l3a-seo.is-open .l3a-seo-body { max-height: none; }
body.l3a .l3a-seo.is-open .l3a-seo-body::after { display: none; }
body.l3a .l3a-seo-more { margin-top: 6px; min-height: 44px; padding: 0; font-weight: 600; font-size: 14px; color: var(--ink); background: none; }
body.l3a .l3a-seo-more:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }

/* ---------- пустой раздел (экран 14) ---------- */
body.l3a .l3a-empty { margin-top: 24px; padding: 28px 0; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--line); }
body.l3a .l3a-empty b { display: block; font-weight: 600; font-size: 17px; }
body.l3a .l3a-empty p { margin-top: 6px; max-width: 640px; font-size: 15px; line-height: 1.55; color: var(--mute); }
body.l3a .l3a-empty p a { color: var(--ink); font-weight: 600; white-space: nowrap; }
body.l3a .l3a-mosaic-h { margin: 80px 0 24px; font-size: 34px; line-height: 1.1; }

/* ---------- ниже 1280: фильтры листом снизу, две кнопки 44 над сеткой ---------- */
@media (max-width: 1279px) {
  body.l3a .l3-cat { grid-template-columns: minmax(0, 1fr); gap: 0; padding-top: 28px; }
  body.l3a.l3-noscroll { overflow: hidden; }
  body.l3a .l3-sort { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding-bottom: 0; border-bottom: 0; }
  body.l3a .l3-sort .lbl, body.l3a .l3-sort a.srt { display: none; }
  body.l3a .l3-sort .found { grid-column: 1 / -1; margin-left: 0; }
  body.l3a .l3-cat--full .l3-sort .l3a-sortdd { grid-column: 1 / -1; }
  body.l3a .l3a-fbtn { display: grid; place-items: center; height: 44px; padding: 0 12px; background: var(--ink); color: var(--bg); box-shadow: none; font-weight: 600; font-size: 14px; }
  body.l3a .l3a-sortdd { display: block; position: relative; }
  body.l3a .l3a-sortdd summary { height: 44px; display: flex; align-items: center; justify-content: center; gap: 6px; list-style: none; cursor: pointer; box-shadow: inset 0 0 0 1.5px var(--ink); font-size: 14px; }
  body.l3a .l3a-sortdd summary::-webkit-details-marker { display: none; }
  body.l3a .l3a-sortdd[open] summary { background: var(--card); }
  body.l3a .l3a-sortdd > div { position: absolute; left: 0; right: 0; top: 100%; z-index: 40; background: var(--bg); border: 1px solid var(--ink); border-top: 0; }
  body.l3a .l3a-sortdd > div a { display: flex; align-items: center; min-height: 44px; padding: 0 16px; border-top: 1px solid var(--line); font-size: 15px; color: var(--ink); }
  body.l3a .l3a-sortdd > div a.is-active { font-weight: 600; }
  /* лист снизу: верх в 76 px от края экрана, шапка 56, строки 44, низ «Сбросить» + «Показать N» 52 */
  body.l3a .l3-filter-mask.open { display: block; position: fixed; inset: 0; z-index: 110; background: color-mix(in oklab, var(--ink) 45%, var(--bg)); opacity: .85; }
  body.l3a .l3-filters { position: fixed; left: 0; right: 0; bottom: 0; top: 76px; width: auto; z-index: 120; display: flex; flex-direction: column; gap: 0; padding: 0; background: var(--bg); transform: translateY(105%); visibility: hidden; transition: transform .22s ease-out, visibility 0s .22s; overflow-y: auto; overscroll-behavior: contain; }
  body.l3a .l3-filters.open { transform: none; visibility: visible; transition: transform .22s ease-out; }
  body.l3a .l3-filters > * { flex: none; }
  body.l3a .l3-filters .drawer-head { position: sticky; top: 0; z-index: 2; display: flex; justify-content: space-between; align-items: center; height: 56px; padding: 0 8px 0 var(--gutter); background: var(--bg); border-bottom: 1px solid var(--line); }
  body.l3a .l3-filters .drawer-head b { font-weight: 600; font-size: 17px; }
  body.l3a .l3-filters .drawer-head .x { width: 44px; height: 44px; display: grid; place-items: center; color: var(--ink); background: none; }
  body.l3a .l3-filters .l3-filters-head { display: none; }
  body.l3a .l3-filters .l3-chips { padding: 12px var(--gutter) 0; }
  body.l3a .l3-filters .l3-fg { padding: 16px var(--gutter) 0; gap: 0; }
  body.l3a .l3-filters .l3-fg .ft { margin-bottom: 4px; }
  body.l3a .l3-filters .l3-fg .opt { min-height: 44px; font-size: 15px; gap: 12px; }
  body.l3a .l3-filters .l3-fg .opt .box { width: 20px; height: 20px; }
  body.l3a .l3-filters .l3-fg .showall { min-height: 44px; }
  body.l3a .l3a-fbar { position: sticky; bottom: 0; margin-top: auto; display: grid; grid-template-columns: auto 1fr; gap: 12px; padding: 12px var(--gutter); background: var(--bg); border-top: 1px solid var(--line); }
  body.l3a .l3a-fbar .reset { display: grid; place-items: center; height: 52px; padding: 0 20px; box-shadow: inset 0 0 0 1.5px var(--ink); font-weight: 600; font-size: 15px; color: var(--ink); background: none; }
  body.l3a .l3a-fbar .apply { position: static; margin: 0; height: 52px; background: var(--a); color: var(--a-ink); font-size: 16px; }
  body.l3a .l3a-catpage .l3-sec--two { margin-top: 64px; }
}
@media (max-width: 1023px) {
  body.l3a .l3a-cat-h h1 { font-size: 36px; }
  body.l3a .l3a-facts { gap: 16px; }
  body.l3a .l3a-seo h2, body.l3a .l3a-mosaic-h { font-size: 28px; }
  body.l3a .l3a-seo, body.l3a .l3a-other { margin-top: 64px; }
  body.l3a .l3a-mosaic-h { margin-top: 64px; }
}
@media (max-width: 767px) {
  body.l3a .l3a-cat-h { padding-top: 8px; }
  body.l3a .l3a-cat-h h1 { font-size: 30px; line-height: 1.1; }
  body.l3a .l3a-cat-h .sub { margin-top: 4px; font-size: 13px; }
  body.l3a .l3a-cat-h .lead { font-size: 16px; }
  body.l3a .l3a-facts { grid-template-columns: 1fr 1fr; gap: 16px; }
  /* чипы на 390 — одна строка с прокруткой вбок */
  body.l3a .l3a-cat-h .l3a-chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin: 16px calc(-1 * var(--gutter)) 0; padding: 0 var(--gutter); }
  body.l3a .l3a-cat-h .l3a-chips::-webkit-scrollbar { display: none; }
  body.l3a .l3a-cat-h .l3a-chips > * { flex: none; }
  body.l3a .l3a-cat-h .l3a-chips--ser { margin-top: 8px; }
  body.l3a .l3-cat { padding-top: 20px; }
  body.l3a .l3-pager { flex-direction: column; align-items: flex-start; margin-top: 32px; }
  body.l3a .l3a-catpage .l3-sec--two { margin-top: 48px; }
  body.l3a .l3a-seo, body.l3a .l3a-other { margin-top: 48px; }
  body.l3a .l3a-seo h2, body.l3a .l3a-mosaic-h { font-size: 24px; }
  body.l3a .l3a-mosaic-h { margin: 48px 0 16px; }
  body.l3a .l3a-empty { padding: 20px 0; }
}

/* ---- a-src/30-search.css ---- */
/* ==========================================================================
   Вид A — экраны 12 Поиск и 13 Поиск без результатов (template-a/product/search.tpl).
   Заголовок, чипы, сортировка, сетка и «Показать ещё» — общие из 00-base.css и 20-category.css
   (страница несёт класс .l3a-catpage). Здесь — только своё.
   ========================================================================== */

/* запрос в поле шапки — тёмным текстом (на странице поиска он уже введён) */
body.l3a.product-search .l3a-search input[type="search"] { color: var(--ink); }

/* выдача: без колонки фильтров; сортировка — текстом на 1440, кнопкой «Популярные ↓» ниже */
body.l3a .l3a-search-page .l3-cat { padding-top: 28px; }
@media (max-width: 1279px) {
  body.l3a .l3a-search-page .l3-sort { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  body.l3a .l3a-search-page .l3-sort .found { grid-column: auto; justify-content: flex-end; }
  body.l3a .l3a-search-page .l3-sort .l3a-sortdd { grid-column: auto; }
}

/* строка «Не нашли нужное? Позвоните» под сеткой */
body.l3a .l3a-callus { margin-top: 48px; padding-top: 20px; border-top: 1px solid var(--line); font-size: 14px; color: var(--mute); }
body.l3a .l3a-callus a { color: var(--ink); font-weight: 600; white-space: nowrap; }

/* ---------- экран 13: ничего не нашлось ---------- */
body.l3a .l3a-snone-h h1 { max-width: 1000px; }
body.l3a .l3a-fix { margin-top: 10px; font-size: 16px; }
body.l3a .l3a-fix a { font-weight: 600; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1.5px; }
body.l3a .l3a-tips { margin: 24px 0 0; padding: 20px 0; list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px 48px; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--line); }
body.l3a .l3a-tips b { display: block; font-weight: 600; font-size: 14px; }
body.l3a .l3a-tips span { display: block; margin-top: 4px; font-size: 13px; line-height: 1.45; color: var(--mute); overflow-wrap: anywhere; }
body.l3a .l3a-sec-cats { margin-top: 48px; }
body.l3a .l3a-sec-cats h2 { font-size: 34px; line-height: 1.1; }
body.l3a .l3a-sec-cats .l3a-chips { margin-top: 16px; }
body.l3a .l3a-search-page .l3a-sec { margin-top: 64px; }

@media (max-width: 1023px) {
  body.l3a .l3a-sec-cats h2 { font-size: 28px; }
  body.l3a .l3a-tips { gap: 16px 24px; }
}
@media (max-width: 767px) {
  body.l3a .l3a-fix { font-size: 15px; }
  body.l3a .l3a-tips { grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 16px 0; }
  body.l3a .l3a-sec-cats { margin-top: 40px; }
  body.l3a .l3a-sec-cats h2 { font-size: 24px; }
  /* разделы — одна строка с прокруткой вбок, как чипы раздела */
  body.l3a .l3a-sec-cats .l3a-chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin: 16px calc(-1 * var(--gutter)) 0; padding: 0 var(--gutter); }
  body.l3a .l3a-sec-cats .l3a-chips::-webkit-scrollbar { display: none; }
  body.l3a .l3a-sec-cats .l3a-chips > * { flex: none; }
  body.l3a .l3a-search-page .l3a-sec { margin-top: 48px; }
  body.l3a .l3a-callus { margin-top: 32px; }
}

/* Длинный запрос (200 букв без пробелов) не должен растягивать страницу: H1 и строки поиска переносятся (чеклист 4.2, приёмка 05.10). */
body.l3a .product-search h1, body.l3a .l3a-snone-h h1, body.l3a .l3a-search h1 { overflow-wrap: anywhere; word-break: break-word; }

/* ---- a-src/40-product.css ---- */
/* ==========================================================================
   A04 Товар — вид A «Полоса марки» (template-a/product/product.tpl), задание 72.
   Хендофф: H1 44/36/30 + артикул + «В сравнении ✓»; паспорт 4 величины (Piazzolla 22);
   фото 5:4 / 4:3 / 1:1 на --photo + миниатюры 88 (на 390 — лента со счётчиком «1 / N»);
   покупка 400 справа, рамка 1 --ink, padding 28/24/20, цена 36/36/30, степпер 52 + «В корзину»;
   блоки: заголовок слева 320 + 48 (1024+), ниже — в столбец, линия --ink сверху;
   липкая полоса 76 до 1023.
   ========================================================================== */
body.l3a .l3a-p { --p-sec: 80px; }

/* ---------- кнопки экрана (свои, чтобы не зависеть от .l3-btn старого вида) ---------- */
body.l3a .l3a-p .l3a-btn-main, body.l3a .l3a-cmpp .l3a-btn-main {
  height: 52px; padding: 0 28px; display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  background: var(--a); color: var(--a-ink); border: 0; font-weight: 600; font-size: 17px; line-height: 1.1;
  white-space: nowrap; cursor: pointer; transition: background .15s;
}
body.l3a .l3a-p .l3a-btn-main:active, body.l3a .l3a-cmpp .l3a-btn-main:active { background: var(--a-press); }
body.l3a .l3a-p .l3a-btn-main[disabled] { background: var(--card); color: var(--mute); cursor: not-allowed; }
body.l3a .l3a-p .l3a-btn-sec {
  height: 52px; padding: 0 24px; display: inline-flex; align-items: center; justify-content: center;
  background: transparent; color: var(--ink); box-shadow: inset 0 0 0 1.5px var(--ink); font-weight: 600; font-size: 16px; white-space: nowrap;
}
@media (hover: hover) {
  body.l3a .l3a-p .l3a-btn-main:hover, body.l3a .l3a-cmpp .l3a-btn-main:hover { background: var(--a-hover); color: var(--a-ink); }
  body.l3a .l3a-p .l3a-btn-main:active { background: var(--a-press); }
  body.l3a .l3a-p .l3a-btn-sec:hover { background: var(--card); color: var(--ink); }
}
body.l3a .l3a-p :is(a, button, label, input):focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }

/* ---------- заголовок ---------- */
body.l3a .l3a-p-head { padding-top: 12px; }
body.l3a .l3a-p-head h1 { margin: 0; font-family: var(--font-display); font-weight: 400; font-size: 44px; line-height: 1.05; letter-spacing: -0.015em; text-wrap: balance; max-width: 900px; overflow-wrap: anywhere; }
body.l3a .l3a-p-meta { margin-top: 10px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 20px; font-size: 14px; color: var(--mute); }
body.l3a .l3a-p-meta a { color: var(--ink); }
body.l3a .l3a-p-meta b { font-weight: 600; color: var(--ink); }
/* «Добавить к сравнению» / «В сравнении ✓» (состояние ставит line3.js по списку сравнения) */
body.l3a .l3a-cmp-btn { min-height: 44px; margin: -12px 0; padding: 0; display: inline-flex; align-items: center; background: none; border: 0; font: inherit; color: var(--ink); cursor: pointer; }
body.l3a .l3a-cmp-btn { text-decoration: underline; text-decoration-color: var(--line); text-underline-offset: 4px; }
body.l3a .l3a-cmp-btn.is-in { font-weight: 600; text-decoration-color: var(--ink); }
@media (hover: hover) { body.l3a .l3a-cmp-btn:hover { color: var(--a-text); text-decoration-color: var(--a-text); } }

/* ---------- раскладка: паспорт / фото / покупка ---------- */
body.l3a .l3a-p-top {
  display: grid; grid-template-columns: minmax(0, 1fr) 400px; column-gap: 48px; align-items: start;
  grid-template-areas: "pass pass" "gal buy";
}
body.l3a .l3a-pass { grid-area: pass; }
body.l3a .l3a-gal { grid-area: gal; margin-top: 24px; min-width: 0; }
body.l3a .l3a-buy { grid-area: buy; margin-top: 24px; }

/* паспорт: величины в ряд, линия --ink сверху; «Ещё N →» — только 1024+, «Все характеристики» — только до 767 */
body.l3a .l3a-pass { margin-top: 20px; display: grid; grid-template-columns: repeat(var(--n, 4), minmax(0, 1fr)) auto; align-items: center; border-top: 1px solid var(--ink); }
body.l3a .l3a-pass .c { padding: 14px 16px 14px 0; border-bottom: 1px solid var(--line); min-width: 0; align-self: stretch; }
body.l3a .l3a-pass .c b { display: block; font-family: var(--font-display); font-weight: 400; font-size: 22px; line-height: 1.1; overflow-wrap: anywhere; }
body.l3a .l3a-pass .c span { display: block; margin-top: 4px; font-size: 12px; color: var(--mute); }
body.l3a .l3a-pass .more { min-height: 44px; padding: 0 8px; display: inline-flex; align-items: center; font-size: 14px; white-space: nowrap; color: var(--ink); }
body.l3a .l3a-pass .all { display: none; }
@media (hover: hover) { body.l3a .l3a-pass a:hover { color: var(--a-text); } }

/* фото: поле --photo, contain; дополнительные кадры видны только лентой до 767 */
body.l3a .l3a-gal .main { position: relative; aspect-ratio: 5 / 4; background: var(--photo); overflow: hidden; }
body.l3a .l3a-gal .main.is-empty { background: repeating-linear-gradient(135deg, var(--card) 0 10px, var(--photo) 10px 20px); }
body.l3a .l3a-gal .track { position: absolute; inset: 0; display: flex; }
body.l3a .l3a-gal .slide { flex: 0 0 100%; display: flex; align-items: center; justify-content: center; padding: 48px; min-width: 0; }
body.l3a .l3a-gal .slide img { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
body.l3a .l3a-gal .slide--more { display: none; }
body.l3a .l3a-gal .count { display: none; position: absolute; right: 10px; bottom: 10px; font-size: 12px; color: var(--mute); font-variant-numeric: tabular-nums; pointer-events: none; }
body.l3a .l3a-gal .thumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
body.l3a .l3a-gal .th { width: 88px; height: 88px; flex: none; display: grid; place-items: center; padding: 8px; background: var(--photo); border: 0; cursor: pointer; }
body.l3a .l3a-gal .th img { width: 100%; height: 100%; object-fit: contain; }
body.l3a .l3a-gal .th.is-active { outline: 1.5px solid var(--ink); outline-offset: -1.5px; }
body.l3a .l3a-gal .th--more { background: var(--card); font-size: 14px; color: var(--mute); }
body.l3a .l3a-gal .th-t { position: absolute; opacity: 0; pointer-events: none; }
body.l3a .l3a-gal .th--rest { display: none; }
body.l3a .l3a-gal .th-t:checked ~ .th--rest { display: grid; }
body.l3a .l3a-gal .th-t:checked ~ .th--more { display: none; }
@media (hover: hover) { body.l3a .l3a-gal .th:hover { outline: 1px solid var(--line); outline-offset: -1px; } body.l3a .l3a-gal .th.is-active:hover { outline: 1.5px solid var(--ink); outline-offset: -1.5px; } body.l3a .l3a-gal .th--more:hover { color: var(--ink); } }

/* блок покупки */
body.l3a .l3a-buy.l3-buy { display: block; border: 1px solid var(--ink); padding: 28px; gap: 0; background: transparent; }
body.l3a .l3a-buy .price-row { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
body.l3a .l3a-buy .price { font-family: var(--font-body); font-weight: 600; font-size: 36px; line-height: 1; font-variant-numeric: tabular-nums; white-space: nowrap; }
body.l3a .l3a-buy .price s { font-weight: 400; font-size: 16px; color: var(--mute); }
body.l3a .l3a-buy .price--ask { font-size: 28px; white-space: normal; }
body.l3a .l3a-buy .note { font-size: 13px; color: var(--mute); white-space: nowrap; }
body.l3a .l3a-buy .stock { display: block; margin-top: 14px; font-size: 15px; line-height: 1.4; }
body.l3a .l3a-buy .stock b { display: block; font-weight: 600; color: var(--ok); }
body.l3a .l3a-buy .stock b.l3-status-order { color: var(--mute); }
body.l3a .l3a-buy .stock span { display: block; margin-top: 2px; color: var(--mute); }
body.l3a .l3a-buy .options { margin-top: 16px; display: grid; gap: 12px; }
body.l3a .l3a-buy .qty-row { display: flex; gap: 8px; margin-top: 20px; }
body.l3a .l3a-buy .l3-qty { flex: none; display: flex; height: 52px; border: 1px solid var(--ink); }
body.l3a .l3a-buy .l3-qty button { width: 44px; background: transparent; border: 0; font-size: 18px; color: var(--ink); cursor: pointer; }
body.l3a .l3a-buy .l3-qty input { width: 40px; border: 0; padding: 0; text-align: center; background: transparent; font-size: 16px; color: var(--ink); -moz-appearance: textfield; }
body.l3a .l3a-buy .qty-row .l3a-btn-main { flex: 1; min-width: 0; padding: 0 16px; }
body.l3a .l3a-buy > .l3a-btn-main { display: flex; width: 100%; margin-top: 20px; }
body.l3a .l3a-notify { margin-top: 20px; display: grid; gap: 8px; }
body.l3a .l3a-notify .l3-input { height: 52px; width: 100%; padding: 0 14px; border: 1px solid var(--field); background: var(--bg); font-size: 16px; color: var(--ink); }
body.l3a .l3a-notify .l3-input:focus { outline: none; box-shadow: inset 0 0 0 1px var(--ink); border-color: var(--ink); }
body.l3a .l3a-notify .l3a-btn-main { width: 100%; }
body.l3a .l3a-buy .ask { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 0 12px; margin-top: 6px; font-size: 14px; }
body.l3a .l3a-buy .ask a { min-height: 44px; display: inline-flex; align-items: center; color: var(--ink); border: 0; }
body.l3a .l3a-buy .ask a:first-child { text-decoration: underline; text-underline-offset: 4px; }
body.l3a .l3a-buy .ask .tel { white-space: nowrap; }
body.l3a .l3a-buy .trust { margin: 16px 0 0; padding: 18px 0 0; list-style: none; border-top: 1px solid var(--line); display: grid; gap: 12px; font-size: 14px; line-height: 1.45; }
body.l3a .l3a-buy .trust b { display: block; font-weight: 600; }
body.l3a .l3a-buy .trust span { display: block; color: var(--mute); }
@media (hover: hover) { body.l3a .l3a-buy .ask a:hover { color: var(--a-text); } }

/* ---------- блоки ниже: заголовок слева 320 + 48 ---------- */
body.l3a .l3a-ps { margin-top: var(--p-sec); padding-top: 24px; border-top: 1px solid var(--ink); display: grid; grid-template-columns: var(--rail) minmax(0, 1fr); gap: 48px; align-items: start; }
body.l3a .l3a-p h2 { margin: 0; font-family: var(--font-display); font-weight: 400; font-size: 34px; line-height: 1.1; letter-spacing: -0.01em; }
body.l3a .l3a-ps > .b { min-width: 0; }
body.l3a .l3a-ps-more { display: inline-flex; min-height: 44px; align-items: center; margin-top: 6px; font-size: 15px; color: var(--ink); text-decoration: underline; text-underline-offset: 4px; }
/* характеристики: ключ 42 % --mute */
body.l3a .l3a-kv { width: 100%; border-collapse: collapse; font-size: 15px; }
body.l3a .l3a-kv td { padding: 12px 0; border-bottom: 1px solid var(--line); vertical-align: top; overflow-wrap: anywhere; }
body.l3a .l3a-kv td:first-child { width: 42%; padding-right: 24px; color: var(--mute); }
/* о модели */
body.l3a .l3a-prose { font-size: 16px; line-height: 1.6; color: var(--ink); max-width: 760px; }
body.l3a .l3a-prose h3, body.l3a .l3a-prose h4 { font-family: var(--font-body); font-size: 16px; font-weight: 600; margin: 18px 0 6px; }
body.l3a .l3a-prose > :first-child { margin-top: 0; }
body.l3a .l3a-desc-t { position: absolute; opacity: 0; pointer-events: none; }
body.l3a .l3a-desc-btn { display: none; }
body.l3a .l3a-desc-btn .off { display: none; }
/* против ближайших */
body.l3a .l3a-vs-wrap { overflow-x: auto; }
body.l3a .l3a-vs { width: 100%; border-collapse: collapse; font-size: 15px; }
body.l3a .l3a-vs th { padding: 0 12px 10px; border-bottom: 1px solid var(--ink); text-align: left; vertical-align: bottom; font-weight: 600; font-size: 13px; line-height: 1.3; color: var(--mute); }
body.l3a .l3a-vs th:first-child { padding-left: 0; font-weight: 400; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
body.l3a .l3a-vs th.cur { color: var(--ink); }
body.l3a .l3a-vs th a { color: inherit; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
body.l3a .l3a-vs td { padding: 12px; border-bottom: 1px solid var(--line); vertical-align: top; }
body.l3a .l3a-vs td:first-child { padding-left: 0; }
body.l3a .l3a-vs td:last-child, body.l3a .l3a-vs th:last-child { padding-right: 0; }
body.l3a .l3a-vs td.k { color: var(--mute); }
body.l3a .l3a-vs td.cur { font-weight: 600; }
body.l3a .l3a-vs td.pr { white-space: nowrap; }
body.l3a .l3a-vs-cards { display: none; }
@media (hover: hover) { body.l3a .l3a-vs th a:hover { color: var(--a-text); } }
/* доставка, оплата, гарантия */
body.l3a .l3a-cond { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px 32px; font-size: 15px; line-height: 1.5; }
body.l3a .l3a-cond b { font-weight: 600; }
body.l3a .l3a-cond p { margin: 6px 0 0; color: var(--mute); }
/* отзывы */
body.l3a .l3a-rv-none { margin: 0; font-size: 15px; line-height: 1.5; color: var(--mute); }
body.l3a .l3a-p-rv .l3-rv { margin-top: var(--p-sec); padding-top: 24px; border-top: 1px solid var(--ink); grid-template-columns: var(--rail) minmax(0, 1fr); }
body.l3a .l3a-p-rv .l3-rv-sum h2 { font-size: 34px; }
/* вопросы о модели — раскладка .l3-sec:has(> .l3-faq) из 00-base */
body.l3a .l3a-p-faq .l3-sec { margin-top: var(--p-sec); padding-top: 24px; border-top: 1px solid var(--ink); }
/* похожие */
body.l3a .l3a-p-sim { margin-top: var(--p-sec); }
body.l3a .l3a-p-sim .h { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding-bottom: 14px; border-bottom: 1px solid var(--ink); }
body.l3a .l3a-p-sim .h a { font-size: 15px; white-space: nowrap; color: var(--ink); text-decoration: underline; text-underline-offset: 4px; }
body.l3a .l3a-p-sim .l3a-list { margin: 24px 0 0; padding: 0; list-style: none; gap: 36px 24px; }
@media (hover: hover) { body.l3a .l3a-p-sim .h a:hover, body.l3a .l3a-ps-more:hover { color: var(--a-text); } }
/* строка для поиска внизу */
body.l3a .l3a-p-seo { margin: 56px 0 0; max-width: 900px; font-size: 13px; line-height: 1.6; color: var(--mute); }

/* ---------- липкая полоса (видимость — line3.css до 1023 + line3.js) ---------- */
body.l3a .l3a-sticky.l3-sticky-buy { height: 76px; padding: 0 var(--gutter); gap: 12px; }
body.l3a .l3a-sticky .sum { flex: 1; min-width: 0; }
body.l3a .l3a-sticky .price { font-family: var(--font-body); font-weight: 600; font-size: 20px; line-height: 1.2; font-variant-numeric: tabular-nums; white-space: nowrap; }
body.l3a .l3a-sticky .stock { margin-top: 2px; font-size: 12px; }
body.l3a .l3a-sticky .l3a-btn-main { height: 48px; padding: 0 22px; font-size: 16px; }
body.l3a .l3a-sticky .l3a-btn-sec { height: 48px; padding: 0 20px; }

/* ---------- 1024–1279: те же две колонки, покупка 360 ---------- */
@media (max-width: 1279px) {
  body.l3a .l3a-p-top { grid-template-columns: minmax(0, 1fr) 360px; column-gap: 40px; }
  body.l3a .l3a-buy.l3-buy { padding: 24px; }
}

/* ---------- 768–1023: паспорт → фото 4:3 → покупка на всю ширину ---------- */
@media (max-width: 1023px) {
  body.l3a .l3a-p { --p-sec: 64px; }
  body.l3a .l3a-p-head h1 { font-size: 36px; }
  /* последняя крошка = H1 строкой ниже: на узких она уходила отдельной строкой — убираем вместе с «/» */
  body.l3a .l3a-p .l3-bc span[aria-current], body.l3a .l3a-p .l3-bc span[aria-hidden]:nth-last-child(2) { display: none; }
  body.l3a .l3a-p-top { grid-template-columns: minmax(0, 1fr); grid-template-areas: "pass" "gal" "buy"; }
  body.l3a .l3a-pass { grid-template-columns: repeat(var(--n, 4), minmax(0, 1fr)); }
  body.l3a .l3a-pass .more { display: none; }
  body.l3a .l3a-gal .main { aspect-ratio: 4 / 3; }
  body.l3a .l3a-gal .slide { padding: 32px; }
  body.l3a .l3a-buy { margin-top: 28px; }
  body.l3a .l3a-p h2 { font-size: 28px; }
  body.l3a .l3a-ps { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  body.l3a .l3a-p-rv .l3-rv { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  body.l3a .l3a-p-rv .l3-rv-sum h2 { font-size: 28px; }
  body.l3a .l3a-ps-more { margin-top: 0; }
  /* длинное описание свёрнуто до восьми строк */
  body.l3a .l3a-desc .l3a-prose { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 8; overflow: hidden; }
  body.l3a .l3a-desc-t:checked ~ .l3a-prose { display: block; overflow: visible; }
  body.l3a .l3a-desc-btn { display: inline-flex; min-height: 44px; align-items: center; margin-top: 4px; font-weight: 600; font-size: 15px; cursor: pointer; text-decoration: underline; text-underline-offset: 4px; }
  body.l3a .l3a-desc-t:checked ~ .l3a-desc-btn .on { display: none; }
  body.l3a .l3a-desc-t:checked ~ .l3a-desc-btn .off { display: inline; }
  body.l3a .l3a-sticky .stock { color: var(--ok); }
  body.l3a .l3a-sticky .stock.l3-status-order { color: var(--mute); }
}

/* ---------- до 767: фото 1:1 лентой → покупка → паспорт 2×2 ---------- */
@media (max-width: 767px) {
  body.l3a .l3a-p { --p-sec: 48px; }
  body.l3a .l3a-p-head { padding-top: 8px; }
  body.l3a .l3a-p-head h1 { font-size: 30px; }
  body.l3a .l3a-p-top { grid-template-areas: "gal" "buy" "pass"; }
  body.l3a .l3a-gal { margin-top: 16px; }
  body.l3a .l3a-gal .main { aspect-ratio: 1; }
  body.l3a .l3a-gal .track { overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; }
  body.l3a .l3a-gal .track::-webkit-scrollbar { display: none; }
  body.l3a .l3a-gal .slide { padding: 24px; scroll-snap-align: start; }
  body.l3a .l3a-gal .slide--more { display: flex; }
  body.l3a .l3a-gal .count { display: block; }
  body.l3a .l3a-gal .thumbs { display: none; }
  body.l3a .l3a-buy { margin-top: 20px; }
  body.l3a .l3a-buy.l3-buy { padding: 20px; }
  body.l3a .l3a-buy .price { font-size: 30px; }
  body.l3a .l3a-buy .price--ask { font-size: 24px; }
  body.l3a .l3a-pass { grid-template-columns: 1fr 1fr; }
  body.l3a .l3a-pass .c b { font-size: 20px; }
  body.l3a .l3a-pass .all { grid-column: 1 / -1; display: flex; min-height: 44px; align-items: center; font-size: 14px; color: var(--ink); }
  body.l3a .l3a-pass[style*="--n:1"] .c, body.l3a .l3a-pass[style*="--n:3"] .c:nth-child(3) { grid-column: 1 / -1; }
  body.l3a .l3a-p h2, body.l3a .l3a-p-rv .l3-rv-sum h2 { font-size: 24px; }
  body.l3a .l3a-ps { gap: 12px; }
  body.l3a .l3a-kv td:first-child { padding-right: 12px; }
  body.l3a .l3a-cond { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  body.l3a .l3a-vs-wrap { display: none; }
  body.l3a .l3a-vs-cards { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; margin: 0 calc(-1 * var(--gutter)); padding: 0 var(--gutter); }
  body.l3a .l3a-vs-cards::-webkit-scrollbar { display: none; }
  body.l3a .l3a-vs-cards .vc { flex: none; width: 156px; padding: 12px; border: 1px solid var(--line); font-size: 14px; line-height: 1.5; color: var(--ink); display: flex; flex-direction: column; }
  body.l3a .l3a-vs-cards .vc.cur { border-color: var(--ink); }
  body.l3a .l3a-vs-cards .nm { font-weight: 600; hyphens: auto; overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; margin-bottom: 4px; }
  body.l3a .l3a-vs-cards .v { display: block; overflow-wrap: anywhere; }
  body.l3a .l3a-vs-cards .v i { font-style: normal; color: var(--mute); }
  body.l3a .l3a-vs-cards .pr { margin-top: auto; padding-top: 4px; font-weight: 600; white-space: nowrap; }
  body.l3a .l3a-p-sim .l3a-list { gap: 24px 12px; }
  body.l3a .l3a-p-sim .h a { font-size: 14px; }
  body.l3a .l3a-sticky.l3-sticky-buy { padding: 0 16px; }
  body.l3a .l3a-p-seo { margin-top: 40px; }
  /* под подвалом уже есть отступ body.has-sticky (76) — второй, из 00-base, не нужен */
  body.l3a.has-sticky[class*="product-product"] .l3a-ftr { padding-bottom: 24px; }
}

/* ---- a-src/50-cart.css ---- */
/* ==========================================================================
   Вид A — 05 «Корзина», 06 «Пустая корзина» (template-a/checkout/cart.tpl).
   Роли --ok/--err/--field по хендоффу A (не от марки) — пока только на своих страницах;
   общий 00-base.css их ещё не объявляет.
   ========================================================================== */
body.l3a .l3a-cartpage, body.l3a .l3-co, body.l3a .l3a-co-sticky {
  --ok: color-mix(in oklch, #2f7a3b 80%, var(--ink));
  --err: color-mix(in oklch, #c62a1f 85%, var(--ink));
  --field: color-mix(in oklab, var(--ink) 40%, var(--bg));
  --a-press: color-mix(in oklch, var(--a) 84%, black);
}

/* ---------- общие кнопки экрана: главная 52 и вторая 52 ---------- */
body.l3a .l3a-btn-main { display: inline-flex; align-items: center; justify-content: center; gap: 10px; height: 52px; padding: 0 28px; background: var(--a); color: var(--a-ink); font-weight: 600; font-size: 16px; line-height: 1; white-space: nowrap; transition: background .15s; }
body.l3a .l3a-btn-main:active { background: var(--a-press); }
body.l3a .l3a-btn-line2 { display: inline-flex; align-items: center; justify-content: center; height: 52px; padding: 0 24px; box-shadow: inset 0 0 0 1.5px var(--ink); color: var(--ink); font-weight: 600; font-size: 16px; line-height: 1; white-space: nowrap; }
body.l3a .l3a-btn-line2.is-empty { display: none; }
body.l3a .l3a-btn-line2:active { background: var(--line); }
@media (hover: hover) {
  body.l3a .l3a-btn-main:hover { background: var(--a-hover); color: var(--a-ink); }
  body.l3a .l3a-btn-line2:hover { background: var(--card); color: var(--ink); }
}
body.l3a .l3a-cartpage :is(a, button, input):focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }

/* ---------- заголовок ---------- */
body.l3a .l3a-cart-h { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 12px; padding-top: 20px; }
body.l3a .l3a-cart-h h1 { font-size: 44px; line-height: 1.05; }
body.l3a .l3a-cart-h .cnt { font-size: 17px; color: var(--mute); }

/* ---------- раскладка: список + итог 400 справа (≥1280), ниже — итог под списком ---------- */
body.l3a .l3a-cartgrid { display: grid; grid-template-columns: minmax(0, 1fr) var(--buy); gap: 48px; align-items: start; margin-top: 28px; }
body.l3a .l3a-cart-main { min-width: 0; }

/* строка товара: фото 112 · название · количество · сумма 150 · убрать 44 */
body.l3a .l3a-crows { border-top: 1px solid var(--ink); }
body.l3a .l3a-crow { display: grid; grid-template-columns: 112px minmax(0, 1fr) auto 150px 44px; gap: 0 24px; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--line); }
body.l3a .l3a-crow .img { display: flex; align-items: center; justify-content: center; width: 112px; height: 112px; background: var(--photo); padding: 8px; overflow: hidden; }
body.l3a .l3a-crow .img img { display: block; max-width: 100%; max-height: 100%; object-fit: contain; }
body.l3a .l3a-crow .img.is-empty { background: repeating-linear-gradient(135deg, var(--card) 0 8px, var(--photo) 8px 16px); }
body.l3a .l3a-crow .name { min-width: 0; }
body.l3a .l3a-crow .nm { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; font-size: 15px; line-height: 1.4; color: var(--ink); }
body.l3a .l3a-crow .meta { margin-top: 4px; font-size: 13px; color: var(--mute); }
body.l3a .l3a-crow .stock { margin-top: 4px; font-size: 13px; line-height: 1.4; }
body.l3a .l3a-crow .stock .st.l3-status-ok { color: var(--ok); }
body.l3a .l3a-crow .stock .st.is-order { color: var(--a-text); }
body.l3a .l3a-crow .stock .mt { color: var(--mute); }
body.l3a .l3a-crow .l3-qty { height: 44px; border: 1px solid var(--ink); }
body.l3a .l3a-crow .l3-qty button { width: 40px; font-size: 18px; color: var(--ink); }
body.l3a .l3a-crow .l3-qty button[disabled] { color: var(--line); cursor: default; }
body.l3a .l3a-crow .l3-qty input { width: 40px; font-size: 16px; border-color: var(--line); }
body.l3a .l3a-crow .total { text-align: right; min-width: 0; }
body.l3a .l3a-crow .total b { display: block; font-weight: 600; font-size: 19px; line-height: 1.2; white-space: nowrap; font-variant-numeric: tabular-nums; }
body.l3a .l3a-crow .total .each { display: block; margin-top: 2px; font-size: 13px; color: var(--mute); white-space: nowrap; font-variant-numeric: tabular-nums; }
body.l3a .l3a-crow .rm button { width: 44px; height: 44px; display: grid; place-items: center; color: var(--mute); }
@media (hover: hover) {
  body.l3a .l3a-crow .nm:hover { color: var(--a-text); }
  body.l3a .l3a-crow .rm button:hover { color: var(--ink); background: var(--card); }
  body.l3a .l3a-crow .l3-qty button:not([disabled]):hover { background: var(--card); }
}

/* плашка «… удалён · Вернуть» (10 с, line3.js под body.l3a) */
body.l3a .l3a-undo { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 48px; margin-top: 12px; padding: 0 16px; background: var(--card); font-size: 14px; }
body.l3a .l3a-undo[hidden] { display: none; }
body.l3a .l3a-undo .t { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.l3a .l3a-undo button { flex: none; min-height: 44px; font-weight: 600; font-size: 14px; color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }

body.l3a .l3a-cart-links { display: flex; justify-content: space-between; gap: 16px; margin-top: 12px; font-size: 14px; }
body.l3a .l3a-cart-links a { min-height: 44px; display: inline-flex; align-items: center; color: var(--ink); }
body.l3a .l3a-cart-links a:hover { color: var(--a-text); }

/* промокод (штатный coupon.tpl) — компактно под списком */
body.l3a .l3a-cart-extra { margin-top: 20px; max-width: 520px; font-size: 14px; }
body.l3a .l3a-cart-extra .l3-cart-coupon { display: grid; gap: 8px; }
body.l3a .l3a-cart-extra .l3-cart-coupon > b { font-weight: 600; font-size: 15px; }
body.l3a .l3a-cart-extra .l3-field > span { font-size: 13px; color: var(--mute); }
body.l3a .l3a-cart-extra .row { display: flex; gap: 8px; margin-top: 6px; }
body.l3a .l3a-cart-extra .l3-input { flex: 1; min-width: 0; height: 48px; border: 1px solid var(--field); background: transparent; padding: 0 14px; font-size: 16px; color: var(--ink); border-radius: 0; }
body.l3a .l3a-cart-extra .l3-input:hover { border-color: var(--ink); }
body.l3a .l3a-cart-extra .l3-input:focus { outline: 0; border: 2px solid var(--ink); padding: 0 13px; }
body.l3a .l3a-cart-extra .l3-btn { height: 48px; }

/* итог: рамка --ink */
body.l3a .l3a-totals { display: grid; gap: 10px; padding: 24px; border: 1px solid var(--ink); font-size: 14px; position: sticky; top: 24px; }
body.l3a .l3a-totals .row { display: flex; justify-content: space-between; gap: 12px; color: var(--mute); }
body.l3a .l3a-totals .row > span:last-child { color: var(--ink); text-align: right; font-variant-numeric: tabular-nums; }
body.l3a .l3a-totals .row.is-cut, body.l3a .l3a-totals .row.is-cut > span { color: var(--ink); }
body.l3a .l3a-totals .row.is-note { margin-top: -6px; justify-content: flex-start; align-items: baseline; flex-wrap: wrap; gap: 0 8px; font-size: 13px; }
body.l3a .l3a-totals .row.is-note .drop { color: var(--mute); font-size: 13px; border-bottom: 1px solid var(--line); }
body.l3a .l3a-totals .sum { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-top: 10px; padding-top: 18px; border-top: 1px solid var(--line); }
body.l3a .l3a-totals .sum b { font-weight: 600; font-size: 15px; }
body.l3a .l3a-totals .sum .big { font-weight: 600; font-size: 30px; line-height: 1; white-space: nowrap; font-variant-numeric: tabular-nums; }
body.l3a .l3a-totals .l3a-btn-main { width: 100%; margin-top: 8px; }
body.l3a .l3a-totals .note { margin: 4px 0 0; font-size: 13px; line-height: 1.5; color: var(--mute); }

/* липкая полоса итога (<1280, появляется, когда итог ушёл за экран) */
body.l3a .l3a-sticky { display: none; }

/* доверие под корзиной */
body.l3a .l3a-cartpage .l3a-trust { margin-top: 72px; }

/* ---------- 06 пустая корзина ---------- */
body.l3a .l3a-cart-empty { padding-top: 56px; max-width: 760px; }
body.l3a .l3a-cart-empty .l3a-undo { margin: 0 0 32px; }
body.l3a .l3a-cart-empty h1 { font-size: 44px; line-height: 1.05; text-wrap: balance; }
body.l3a .l3a-cart-empty .lead { margin: 14px 0 0; font-size: 17px; line-height: 1.55; color: var(--mute); max-width: 52ch; }
body.l3a .l3a-cart-empty .acts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }
body.l3a .l3a-cart-shelf { margin-top: 72px; }
body.l3a .l3a-cart-shelf .l3-sec-h h2 { font-size: 34px; line-height: 1.1; }
body.l3a .l3a-cart-shelf .l3-sec-h > a { font-size: 14px; }

@media (max-width: 1279px) {
  body.l3a .l3a-cartgrid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  body.l3a .l3a-totals { position: static; }
  body.l3a .l3a-sticky { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 100; min-height: 76px; padding: 12px var(--gutter); gap: 16px; align-items: center; justify-content: space-between; background: var(--bg); border-top: 1px solid var(--ink); transition: transform .16s ease-out; }
  body.l3a .l3a-sticky[hidden] { display: flex; transform: translateY(110%); visibility: hidden; }
  body.l3a .l3a-sticky .s { display: grid; gap: 3px; min-width: 0; }
  body.l3a .l3a-sticky .s b { font-weight: 600; font-size: 20px; line-height: 1.1; white-space: nowrap; font-variant-numeric: tabular-nums; }
  body.l3a .l3a-sticky .s span { font-size: 12px; color: var(--mute); }
  body.l3a .l3a-sticky .l3a-btn-main { height: 48px; padding: 0 24px; }
  body.l3a.has-l3a-sticky .l3a-ftr { padding-bottom: 100px; }
}
@media (max-width: 1023px) {
  body.l3a .l3a-cart-h h1, body.l3a .l3a-cart-empty h1 { font-size: 36px; }
  body.l3a .l3a-crow { grid-template-columns: 96px minmax(0, 1fr) auto 124px 44px; gap: 0 16px; }
  body.l3a .l3a-crow .img { width: 96px; height: 96px; }
  body.l3a .l3a-crow .total b { font-size: 18px; }
  body.l3a .l3a-cart-shelf .l3-sec-h h2 { font-size: 28px; }
  body.l3a .l3a-cart-empty { padding-top: 40px; }
}
@media (max-width: 767px) {
  body.l3a .l3a-cart-h { padding-top: 12px; }
  body.l3a .l3a-cart-h h1, body.l3a .l3a-cart-empty h1 { font-size: 30px; }
  body.l3a .l3a-cart-h .cnt { font-size: 15px; }
  body.l3a .l3a-cartgrid { margin-top: 16px; }
  /* 390: фото 88, название 3 строки, крестик справа; количество и сумма второй строкой */
  body.l3a .l3a-crow { position: relative; grid-template-columns: 88px auto minmax(0, 1fr); grid-template-areas: "img name name" "img qty total"; gap: 10px 12px; align-items: start; }
  body.l3a .l3a-crow .img { grid-area: img; width: 88px; height: 88px; padding: 6px; }
  body.l3a .l3a-crow .name { grid-area: name; padding-right: 36px; }
  body.l3a .l3a-crow .nm { -webkit-line-clamp: 3; font-size: 14px; }
  body.l3a .l3a-crow .stock { font-size: 12px; }
  body.l3a .l3a-crow .rm { position: absolute; top: 6px; right: -10px; }
  body.l3a .l3a-crow .qty { grid-area: qty; }
  body.l3a .l3a-crow .total { grid-area: total; align-self: center; }
  body.l3a .l3a-crow .total b { font-size: 17px; }
  body.l3a .l3a-crow .total .each { font-size: 12px; }
  body.l3a .l3a-totals { padding: 20px 16px; }
  body.l3a .l3a-totals .sum .big { font-size: 26px; }
  body.l3a .l3a-cart-links { font-size: 13px; }
  body.l3a .l3a-cart-extra .row { flex-wrap: wrap; }
  body.l3a .l3a-cart-extra .l3-input { flex-basis: 180px; }
  body.l3a .l3a-sticky { padding: 10px 16px; gap: 12px; }
  body.l3a .l3a-sticky .s b { font-size: 18px; }
  body.l3a .l3a-cart-empty { padding-top: 24px; }
  body.l3a .l3a-cart-empty .lead { font-size: 15px; }
  body.l3a .l3a-cart-empty .acts { margin-top: 20px; }
  body.l3a .l3a-cart-empty .acts a { flex: 1 1 auto; padding: 0 18px; font-size: 15px; }
  body.l3a .l3a-cart-shelf { margin-top: 48px; }
  body.l3a .l3a-cart-shelf .l3-sec-h { flex-wrap: nowrap; }
  body.l3a .l3a-cart-shelf .l3-sec-h h2 { font-size: 24px; }
  body.l3a .l3a-cartpage .l3a-trust { margin-top: 48px; }
}
@media (max-width: 359px) {
  body.l3a .l3a-crow { grid-template-columns: 72px auto minmax(0, 1fr); grid-template-areas: "img name name" "qty qty total"; }
  body.l3a .l3a-crow .img { width: 72px; height: 72px; }
}

/* ---- a-src/55-checkout.css ---- */
/* ==========================================================================
   Вид A — 07 «Оформление» (Simple Checkout, template-a/checkout/simplecheckout.tpl).
   Меняется только вид: id блоков, name полей, кнопки и перерисовка Simple — прежние.
   Шаги — одна колонка: номер Piazzolla --mute + заголовок, линия --ink сверху; поля 2/2/1;
   способы получения — карточки-радио 3/3/1; итог 400 справа (≥1280), ниже — под формой
   с липкой полосой (её стили — в 50-cart.css, .l3a-sticky).
   ========================================================================== */
body.l3a[class*="simplecheckout"] .l3-h1-line { padding-top: 20px; }
body.l3a[class*="simplecheckout"] .l3-h1-line h1 { font-size: 44px; line-height: 1.05; }
body.l3a[class*="simplecheckout"] .l3-h1-line .cnt { font-size: 15px; color: var(--mute); }

body.l3a .l3-co { grid-template-columns: minmax(0, 1fr) var(--buy); gap: 48px; padding-top: 32px; }
body.l3a .l3-co-left { gap: 48px; }
body.l3a .l3-co :is(a, button):focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
body.l3a .l3-co .form-control:focus-visible { outline: 0; }

/* шаг: линия --ink сверху, заголовок над полями, одна колонка */
body.l3a .l3-co-left .simplecheckout-block { display: block; padding-top: 24px; border-top: 1px solid var(--ink); }
body.l3a .l3-co-left .simplecheckout-block[data-hide="true"] { display: none; }
body.l3a .l3-co-left .simplecheckout-block > * + * { margin-top: 20px; }
body.l3a .l3-co-left .checkout-heading { font-family: var(--font-display); font-weight: 400; font-size: 28px; line-height: 1.1; }
body.l3a .l3-co-left .checkout-heading::before { display: inline; margin: 0 12px 0 0; font-family: var(--font-display); font-size: inherit; letter-spacing: 0; text-transform: none; color: var(--mute); }
body.l3a .l3-co-left .checkout-heading .checkout-heading-button { font-size: 14px; }
/* адрес доставки — часть шага «Доставка»: без своего номера и линии; комментарий — часть «Оплаты» */
body.l3a .l3-co #simplecheckout_shipping_address, body.l3a .l3-co #simplecheckout_comment { border-top: 0; padding-top: 0; margin-top: -24px; }
body.l3a .l3-co #simplecheckout_shipping_address .checkout-heading { display: none; }
body.l3a .l3-co #simplecheckout_shipping_address > * + * { margin-top: 0; }

/* поля: подпись 13 --mute над полем 48, текст 16 */
body.l3a .l3-co #simplecheckout_customer fieldset.form-horizontal,
body.l3a .l3-co #simplecheckout_shipping_address fieldset.form-horizontal { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px 24px; }
body.l3a .l3-co .form-group { gap: 6px; font-size: 13px; }
body.l3a .l3-co .control-label { font-size: 13px; color: var(--mute); }
body.l3a .l3-co .form-control { height: 48px; border: 1px solid var(--field); background: var(--bg); padding: 0 14px; font-size: 16px; }
body.l3a .l3-co textarea.form-control { min-height: 112px; padding: 12px 14px; }
body.l3a .l3-co .form-control::placeholder { color: var(--mute); opacity: 1; }
body.l3a .l3-co .form-control:focus { border: 2px solid var(--ink); padding: 0 13px; }
body.l3a .l3-co textarea.form-control:focus { padding: 11px 13px; }
body.l3a .l3-co .form-control[disabled], body.l3a .l3-co .form-control[readonly] { background: var(--card); }
body.l3a .l3-co .form-group.has-error .form-control { border: 1.5px solid var(--err); }
body.l3a .l3-co .form-group.has-error .control-label, body.l3a .l3-co .simplecheckout-error-text { color: var(--err); font-size: 13px; }
body.l3a .l3-co .simplecheckout-warning-text, body.l3a .l3-co .alert { border: 1.5px solid var(--err); color: var(--err); }
body.l3a .l3-co .alert.hidden { display: none; }
@media (hover: hover) { body.l3a .l3-co .form-control:not(:focus):hover { border-color: var(--ink); } }

/* способы: карточки-радио. Доставка — 3 колонки, оплата — столбиком с зазором 8.
   Всё, что не карточка (описание выбранного, блок пунктов выдачи, поля модуля), уходит
   на всю ширину ниже карточек (order), чтобы не рвать ряд. */
body.l3a .l3-co :is(#simplecheckout_shipping, #simplecheckout_payment) .form-group > .col-sm-12 { display: grid; gap: 8px; }
body.l3a .l3-co #simplecheckout_shipping .form-group > .col-sm-12 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.l3a .l3-co #simplecheckout_shipping .form-group > .col-sm-12 > :not(.radio) { grid-column: 1 / -1; order: 1; }
body.l3a .l3-co #simplecheckout_shipping .form-group > .col-sm-12 > p { order: 0; margin: 8px 0 0; font-size: 14px; }
body.l3a .l3-co .radio { margin: 0; min-width: 0; }
body.l3a .l3-co .radio label,
body.l3a .l3-co .radio:first-of-type label,
body.l3a .l3-co .form-group > .col-sm-12 > .radio:first-child label { height: 100%; grid-template-columns: 18px minmax(0, 1fr); align-items: start; align-content: start; gap: 2px 12px; padding: 14px 16px; border: 1px solid var(--line); }
body.l3a .l3-co .radio label:has(.quote-cost) { grid-template-columns: 18px minmax(0, 1fr); }
body.l3a .l3-co .radio label:has(input:checked) { background: var(--sel); border-color: transparent; box-shadow: inset 0 0 0 1.5px var(--ink); }
body.l3a .l3-co .radio input[type="radio"] { margin-top: 1px; border-color: var(--ink); }
body.l3a .l3-co .radio input[type="radio"]:checked { border-width: 5px; }
body.l3a .l3-co .quote-title, body.l3a .l3-co .quote-title .fat-text { font-size: 15px; }
body.l3a .l3-co .quote-title .small, body.l3a .l3-co .quote-text { font-size: 13px; color: var(--mute); }
body.l3a .l3-co .quote-text:empty { display: none; }
body.l3a .l3-co .quote-cost { grid-column: 2; font-weight: 400; font-size: 13px; color: var(--mute); }
body.l3a .l3-co .radio.is-off label { opacity: .7; }
@media (hover: hover) { body.l3a .l3-co .radio label:not(:has(input:checked)):hover { border-color: var(--ink); } }
body.l3a .l3-co .radio + fieldset { padding: 12px 16px; border: 1px solid var(--line); border-top: 0; margin-top: -8px; }
body.l3a .l3-co .form-description, body.l3a .l3-co .simplecheckout-methods-description { padding: 4px 0 0; font-size: 13px; }

/* пункты выдачи (≥1024 в потоке): поиск 48, список и карта рядом поровну */
body.l3a .l3-pvz { margin-top: 8px; }
body.l3a .l3-co .l3-pvz:not(:empty) + .radio label { border-top: 1px solid var(--line); }
body.l3a .l3-pvz-search { height: 48px; border: 1px solid var(--field); font-size: 16px; padding: 0 14px; }
body.l3a .l3-pvz-search:focus { outline: 0; border: 2px solid var(--ink); padding: 0 13px; }
body.l3a .l3-pvz-row:has(input:checked) { background: var(--sel); box-shadow: inset 0 0 0 1.5px var(--ink); }
body.l3a .l3-pvz-sum, body.l3a .l3-pvz-open { border-color: var(--ink); }
@media (min-width: 1024px) {
  body.l3a .l3-pvz-flow { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; }
  body.l3a .l3-pvz-panel { border: 0; }
  body.l3a .l3-pvz-panel .top { padding: 0 0 10px; border: 0; }
  body.l3a .l3-pvz-panel .l3-pvz-search { height: 48px; border: 1px solid var(--field); font-size: 16px; }
  body.l3a .l3-pvz-list { gap: 8px; max-height: 420px; padding: 2px; }
  body.l3a .l3-pvz-row, body.l3a .l3-pvz-row:last-child { border: 1px solid var(--line); }
  body.l3a .l3-pvz-map { height: 420px; border: 0; }
}

/* итог справа: рамка --ink, мини-список товаров без фото */
body.l3a .l3-co-right { gap: 14px; padding: 24px; border: 1px solid var(--ink); font-size: 14px; position: sticky; top: 24px; }
body.l3a .l3-co-items { gap: 8px; font-size: 13px; }
body.l3a .l3-co-item { grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: baseline; }
body.l3a .l3-co-item .img { display: none; }
body.l3a .l3-co-item .nm { font-weight: 400; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; color: var(--ink); }
body.l3a .l3-co-item .meta { font-size: 12px; }
body.l3a .l3-co-item .total { font-weight: 400; }
body.l3a .l3-co-coupon { gap: 8px; padding-top: 14px; font-size: 13px; }
body.l3a .l3-co-coupon b { font-weight: 600; font-size: 13px; }
body.l3a .l3-co-coupon .row .form-control { height: 44px; font-size: 16px; }
body.l3a .l3-co-coupon .row a { height: 44px; }
body.l3a .l3-co .simplecheckout-cart-total { font-size: 14px; }
body.l3a .l3-co .simplecheckout-cart-total-value { color: var(--ink); text-align: right; font-variant-numeric: tabular-nums; }
body.l3a .l3-co #total_total, body.l3a .l3-co .simplecheckout-cart-total.is-total { border-top: 1px solid var(--line); padding-top: 18px; margin-top: 10px; }
body.l3a .l3-co #total_total .simplecheckout-cart-total-name { font-size: 15px; }
body.l3a .l3-co #total_total .simplecheckout-cart-total-value { font-family: var(--font-body); font-weight: 600; font-size: 30px; white-space: nowrap; }
/* кнопка подтверждения: 52, текст по центру; состояния (недоступно, пересчёт, к оплате) — прежние из line3.js */
body.l3a .l3-co .l3-cta { justify-content: center; font-size: 16px; }
body.l3a .l3-co .l3-cta.is-pay { justify-content: space-between; }
body.l3a .l3-co .l3-cta:active { background: var(--a-press); }
body.l3a .l3-co .l3-cta.is-off, body.l3a .l3-co .l3-cta.is-off:hover { background: var(--card); color: var(--mute); box-shadow: none; }
body.l3a .l3-co .politic, body.l3a .l3-co .l3-cta-note { font-size: 13px; }

@media (max-width: 1279px) {
  body.l3a .l3-co { grid-template-columns: minmax(0, 1fr); gap: 48px; }
  body.l3a .l3-co-right { position: static; order: 2; padding: 24px; border: 1px solid var(--ink); }
  body.l3a .l3-co-right h2 { counter-increment: none; }
}
@media (max-width: 1023px) {
  body.l3a[class*="simplecheckout"] .l3-h1-line h1 { font-size: 36px; }
  body.l3a .l3-co .checkout-heading { font-size: 26px; }
  body.l3a .l3-co-left { gap: 40px; }
  body.l3a .l3-co .simplecheckout-block > *:not(.checkout-heading) { grid-column: auto; }
}
@media (max-width: 767px) {
  body.l3a[class*="simplecheckout"] .l3-h1-line h1 { font-size: 30px; }
  body.l3a .l3-co { padding-top: 20px; gap: 40px; }
  body.l3a .l3-co-left { gap: 36px; }
  body.l3a .l3-co .checkout-heading { font-size: 24px; }
  body.l3a .l3-co #simplecheckout_customer fieldset.form-horizontal,
  body.l3a .l3-co #simplecheckout_shipping_address fieldset.form-horizontal { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  body.l3a .l3-co #simplecheckout_shipping .form-group > .col-sm-12 { grid-template-columns: minmax(0, 1fr); }
  body.l3a .l3-co-right { padding: 20px 16px; }
  body.l3a .l3-co #total_total .simplecheckout-cart-total-value { font-size: 26px; }
}

/* ---- a-src/60-compare.css ---- */
/* ==========================================================================
   A16 Сравнение — вид A «Полоса марки» (template-a/product/compare.tpl), задание 72.
   1440/768: колонка параметров 220/160 (закреплена при прокрутке) + до 4 моделей в ширину,
   больше — прокрутка вбок; строки с вертикальными линиями --line.
   до 767: две модели рядом, листаются по одной (стрелки 44, «1–2 из 3»), название
   параметра строкой над значениями. Нет значения — «—».
   ========================================================================== */
body.l3a .l3a-cmpp-h1 { margin: 12px 0 0; font-family: var(--font-display); font-weight: 400; font-size: 44px; line-height: 1.05; letter-spacing: -0.015em; text-wrap: balance; }
body.l3a .l3a-cmp-t { position: absolute; opacity: 0; pointer-events: none; }
body.l3a .l3a-cmp-tools { margin-top: 20px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
body.l3a .l3a-cmp-tools .seg { display: inline-flex; height: 44px; border: 1px solid var(--ink); font-size: 15px; }
body.l3a .l3a-cmp-tools .seg label { padding: 0 16px; display: grid; place-items: center; cursor: pointer; white-space: nowrap; }
/* выбранный сегмент — --ink/--bg и не нажимается: флажок один, клик по выбранному перевернул бы его */
body.l3a .l3a-cmp-t:not(:checked) ~ .l3a-cmp-tools .seg .all,
body.l3a .l3a-cmp-t:checked ~ .l3a-cmp-tools .seg .diff { background: var(--ink); color: var(--bg); pointer-events: none; }
body.l3a .l3a-cmp-t:focus-visible ~ .l3a-cmp-tools .seg { outline: 2px solid var(--ink); outline-offset: 2px; }
body.l3a .l3a-cmp-tools .hid { font-size: 13px; color: var(--mute); }
body.l3a .l3a-cmp-t:not(:checked) ~ .l3a-cmp-tools .hid { visibility: hidden; }
body.l3a .l3a-cmp-tools .clr { margin-left: auto; min-height: 44px; display: inline-flex; align-items: center; font-size: 14px; color: var(--mute); }
@media (hover: hover) {
  body.l3a .l3a-cmp-tools .seg label:hover { background: var(--card); }
  body.l3a .l3a-cmp-tools .clr:hover { color: var(--ink); text-decoration: underline; text-underline-offset: 4px; }
}

/* ---------- сетка ---------- */
body.l3a .l3a-cmpg { --lw: 220px; --cg: 0px; margin-top: 24px; }
body.l3a .l3a-cmpg .sc { container-type: inline-size; overflow-x: auto; overscroll-behavior-x: contain; border-top: 1px solid var(--ink); }
body.l3a .l3a-cmpg .in { --cw: calc((100cqw - var(--lw)) / min(var(--n), 4)); width: max-content; min-width: 100%; }
body.l3a .l3a-cmpg .r { display: grid; grid-template-columns: var(--lw) repeat(var(--n), var(--cw)); column-gap: var(--cg); }
body.l3a .l3a-cmp-t:checked ~ .l3a-cmpg .r.same { display: none; }
body.l3a .l3a-cmpg .k { position: sticky; left: 0; z-index: 2; background: var(--bg); padding: 13px 12px 13px 0; border-top: 1px solid var(--line); font-size: 14px; color: var(--mute); overflow-wrap: anywhere; }
body.l3a .l3a-cmpg .v { padding: 13px 12px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); font-size: 15px; min-width: 0; overflow-wrap: anywhere; }
body.l3a .l3a-cmpg .v.is-empty { color: var(--mute); }
body.l3a .l3a-cmpg .v--list { grid-column: 2 / -1; }
body.l3a .l3a-cmpg .r--head .k { border-top: 0; }
body.l3a .l3a-cmpg .m { position: relative; min-width: 0; padding: 16px 12px; border-left: 1px solid var(--line); display: flex; flex-direction: column; }
body.l3a .l3a-cmpg .m .rm { position: absolute; right: 0; top: 4px; z-index: 1; width: 44px; height: 44px; display: grid; place-items: center; font-size: 20px; line-height: 1; color: var(--mute); }
body.l3a .l3a-cmpg .m .ph { height: 140px; display: flex; align-items: center; justify-content: center; padding: 12px; background: var(--photo); }
body.l3a .l3a-cmpg .m .ph.is-empty { background: repeating-linear-gradient(135deg, var(--card) 0 8px, var(--photo) 8px 16px); }
body.l3a .l3a-cmpg .m .ph img { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
body.l3a .l3a-cmpg .m .nm { margin-top: 10px; font-size: 15px; line-height: 1.35; min-height: 40px; color: var(--ink); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; }
body.l3a .l3a-cmpg .m .pr { margin-top: auto; padding-top: 8px; display: flex; justify-content: space-between; align-items: center; gap: 8px; }
body.l3a .l3a-cmpg .m .sum { min-width: 0; }
body.l3a .l3a-cmpg .m .sum b { display: block; font-weight: 600; font-size: 20px; line-height: 1.2; white-space: nowrap; font-variant-numeric: tabular-nums; }
body.l3a .l3a-cmpg .m .sum span { display: block; font-size: 13px; margin-top: 2px; }
body.l3a .l3a-cmpg .m .buy { flex: none; width: 44px; height: 44px; display: grid; place-items: center; background: var(--a); color: var(--a-ink); border: 0; cursor: pointer; transition: background .15s; }
body.l3a .l3a-cmpg .l3-cmp-listbtn { min-height: 44px; margin: -12px 0; padding: 0; background: none; border: 0; font: inherit; color: var(--ink); text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
body.l3a .l3a-cmpg :is(a, button):focus-visible { outline: 2px solid var(--ink); outline-offset: -2px; }
@media (hover: hover) {
  body.l3a .l3a-cmpg .m .rm:hover { color: var(--ink); }
  body.l3a .l3a-cmpg .m .nm:hover { color: var(--a-text); }
  body.l3a .l3a-cmpg .m .buy:hover { background: var(--a-hover); color: var(--a-ink); }
}
/* листалка: на 1024+ только при >4 моделях, до 767 — при >2 */
body.l3a .l3a-cmpg .pager { display: none; justify-content: space-between; align-items: center; margin-top: 10px; font-size: 14px; }
body.l3a .l3a-cmpg.pg-d .pager { display: flex; }
body.l3a .l3a-cmpg .pager .pos { color: var(--mute); }
body.l3a .l3a-cmpg .pager .ar { display: flex; }
body.l3a .l3a-cmpg .pager button { width: 44px; height: 44px; display: grid; place-items: center; background: none; border: 0; font-size: 18px; color: var(--ink); cursor: pointer; }
body.l3a .l3a-cmpg .pager button[disabled] { color: var(--line); cursor: default; }
/* пусто */
body.l3a .l3a-cmp-empty { margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--ink); display: grid; gap: 20px; justify-items: start; }
body.l3a .l3a-cmp-empty p { margin: 0; font-size: 17px; line-height: 1.5; max-width: 640px; }

@media (max-width: 1279px) {
  body.l3a .l3a-cmpg { --lw: 160px; }
}
@media (max-width: 1023px) {
  body.l3a .l3a-cmpp-h1 { font-size: 36px; }
}
@media (max-width: 767px) {
  body.l3a .l3a-cmpp-h1 { font-size: 30px; }
  body.l3a .l3a-cmp-tools .seg { flex: 1 1 100%; }
  body.l3a .l3a-cmp-tools .seg label { flex: 1; padding: 0 10px; }
  body.l3a .l3a-cmp-tools .clr { margin-left: 0; }
  body.l3a .l3a-cmpg { --cg: 8px; margin-top: 16px; }
  body.l3a .l3a-cmpg .sc { border-top: 0; scroll-snap-type: x mandatory; scrollbar-width: none; }
  body.l3a .l3a-cmpg .sc::-webkit-scrollbar { display: none; }
  body.l3a .l3a-cmpg .in { --cw: calc((100cqw - var(--cg) * (min(var(--n), 2) - 1)) / min(var(--n), 2)); }
  body.l3a .l3a-cmpg .r { grid-template-columns: repeat(var(--n), var(--cw)); padding: 10px 0; border-bottom: 1px solid var(--line); row-gap: 4px; }
  body.l3a .l3a-cmpg .r--head { padding: 0 0 10px; border-bottom: 1px solid var(--ink); }
  body.l3a .l3a-cmpg .r--head .k { display: none; }
  /* название параметра — строкой над значениями, стоит на месте при листании */
  body.l3a .l3a-cmpg .k { grid-column: 1 / -1; position: static; background: none; padding: 0; border: 0; font-size: 13px; }
  body.l3a .l3a-cmpg .k span { position: sticky; left: 0; }
  body.l3a .l3a-cmpg .v { padding: 0; border: 0; }
  body.l3a .l3a-cmpg .v--list { grid-column: 1 / -1; }
  body.l3a .l3a-cmpg .v--list span { position: sticky; left: 0; }
  body.l3a .l3a-cmpg .l3-cmp-listbtn { margin: -10px 0; }
  body.l3a .l3a-cmpg .m { padding: 0; border: 0; scroll-snap-align: start; }
  body.l3a .l3a-cmpg .m .ph { height: 120px; padding: 10px; }
  body.l3a .l3a-cmpg .m .rm { top: 0; background: color-mix(in oklab, var(--photo) 80%, transparent); }
  body.l3a .l3a-cmpg .m .nm { margin-top: 8px; font-size: 14px; font-weight: 600; min-height: 0; }
  body.l3a .l3a-cmpg .m .sum b { font-size: 17px; }
  body.l3a .l3a-cmpg .m .sum span { font-size: 12px; }
  body.l3a .l3a-cmpg.pg-m .pager { display: flex; }
  body.l3a .l3a-cmpg:not(.pg-m) .pager { display: none; }
}
@media (max-width: 374px) {
  body.l3a .l3a-cmpg .m .pr { flex-wrap: wrap; }
  body.l3a .l3a-cmpg .m .sum b { font-size: 16px; }
}

/* ---- a-src/70-info.css ---- */
/* ==========================================================================
   Вид A: служебные страницы — О магазине (A08), Контакты (A09), Доставка и оплата (A10),
   Оптовикам и юрлицам (A11) и остальные страницы раздела «Покупателю» (общий каркас
   template-a/information/l3_info_open|close.tpl). Задание 72, 05.10.2026.
   Ритм: H1 → лид → строки-разделы «заголовок 320 слева | содержимое», над каждой линия --ink.
   ========================================================================== */

/* роли хендоффа, которых нет в 00-base: объявлены на своих страницах, чтобы не задеть соседей */
body.l3a .l3a-pg {
  --field: color-mix(in oklab, var(--ink) 40%, var(--bg));
  --err: color-mix(in oklch, #c62a1f 85%, var(--ink));
  --ok: color-mix(in oklch, #2f7a3b 80%, var(--ink));
}

/* ---------- заголовок страницы ---------- */
body.l3a .l3a-pg-h { padding-top: 20px; max-width: 760px; }
body.l3a .l3a-pg h1 { font-size: 44px; line-height: 1.05; text-wrap: balance; }
body.l3a .l3a-pg-lead { margin-top: 14px; max-width: 640px; font-size: 17px; line-height: 1.55; color: var(--ink); }
body.l3a .l3a-pg .l3-bc { padding-top: 18px; }

/* ---------- строка-раздел: заголовок слева в колонке --rail, содержимое справа ---------- */
body.l3a .l3a-row { margin-top: 80px; padding-top: 24px; border-top: 1px solid var(--ink); display: grid; grid-template-columns: var(--rail) minmax(0, 1fr); gap: 48px; align-items: start; max-width: none; }
body.l3a .l3a-row > h2, body.l3a .l3a-row-h h2 { font-size: 34px; line-height: 1.1; }
body.l3a .l3a-row-h p { margin-top: 12px; font-size: 14px; line-height: 1.5; color: var(--mute); }
body.l3a .l3a-row-h p a, body.l3a .l3a-cols3 a, body.l3a .l3a-cols2 a, body.l3a .l3a-pg-more a { color: var(--ink); text-decoration: underline; text-decoration-color: var(--line); text-underline-offset: 3px; }
@media (hover: hover) { body.l3a .l3a-row a:hover { text-decoration-color: currentColor; } }
/* вопросы (common/l3_faq.tpl) — той же строкой */
body.l3a .l3a-pg .l3-sec:has(> .l3-faq) { margin-top: 80px; padding-top: 24px; border-top: 1px solid var(--ink); }
body.l3a .l3a-pg .l3-sec:has(> .l3-faq) > h2 { font-size: 34px; line-height: 1.1; }
body.l3a .l3a-pg .l3-faq > ul:first-child > li:first-child { border-top: 0; }

/* три / две колонки текста: «Как мы работаем», «Оплата», «Гарантия и возврат» */
body.l3a .l3a-cols3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 32px; }
body.l3a .l3a-cols3 b { display: block; font-weight: 600; font-size: 15px; line-height: 1.35; }
body.l3a .l3a-cols3 p { margin-top: 8px; font-size: 14px; line-height: 1.5; color: var(--mute); }
body.l3a .l3a-cols2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 48px; font-size: 15px; line-height: 1.55; }
body.l3a .l3a-pg-more { grid-column: 2; margin-top: -24px; font-size: 14px; }

/* факты о магазине — строкой, как паспорт товара */
body.l3a .l3a-afacts { margin-top: 40px; padding-top: 20px; border-top: 1px solid var(--ink); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
body.l3a .l3a-afacts b { display: block; font-family: var(--font-display); font-weight: 400; font-size: 34px; line-height: 1; }
body.l3a .l3a-afacts span { display: block; margin-top: 6px; font-size: 13px; color: var(--mute); }

/* документы: сканы 3:4 */
body.l3a .l3a-docs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
body.l3a .l3a-doc-card { display: grid; gap: 4px; font-size: 14px; }
body.l3a .l3a-doc-card .sc { display: block; aspect-ratio: 3 / 4; background: var(--card); overflow: hidden; margin-bottom: 8px; }
body.l3a .l3a-doc-card .sc img { width: 100%; height: 100%; object-fit: cover; }
body.l3a .l3a-doc-card b { font-weight: 600; }
body.l3a .l3a-doc-card u { font-size: 13px; text-underline-offset: 3px; }

/* реквизиты: ключ 40 % --mute, значение; линии --line */
body.l3a .l3a-req { width: 100%; border-collapse: collapse; font-size: 15px; }
body.l3a .l3a-req th { width: 40%; padding: 12px 24px 12px 0; text-align: left; vertical-align: top; font-weight: 400; color: var(--mute); border-bottom: 1px solid var(--line); }
body.l3a .l3a-req td { padding: 12px 0; vertical-align: top; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }

/* ---------- контакты: список + карта 4:3 ---------- */
body.l3a .l3a-contacts { display: grid; grid-template-columns: minmax(0, 1fr); gap: 48px; align-items: start; }
body.l3a .l3a-contacts.has-map { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
body.l3a .l3a-contacts--top { margin-top: 32px; }
body.l3a .l3a-contacts--top:not(.has-map) .l3a-ways { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 48px; }
body.l3a .l3a-ways li { padding: 14px 0 16px; border-bottom: 1px solid var(--line); display: grid; gap: 3px; min-width: 0; }
body.l3a .l3a-contacts--top .l3a-ways { border-top: 1px solid var(--line); }
body.l3a .l3a-contacts--top:not(.has-map) .l3a-ways li:nth-child(2) { border-top: 0; }
body.l3a .l3a-ways .lbl { font-size: 13px; color: var(--mute); }
body.l3a .l3a-ways .v { font-family: var(--font-display); font-weight: 400; font-size: 22px; line-height: 1.2; color: var(--ink); overflow-wrap: anywhere; justify-self: start; }
body.l3a .l3a-ways a.v { min-height: 32px; display: inline-flex; align-items: center; }
body.l3a .l3a-ways .sub { font-size: 13px; color: var(--mute); }
body.l3a .l3a-ways .sub a { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
body.l3a .l3a-ways .msgs { display: flex; gap: 20px; flex-wrap: wrap; font-size: 16px; }
body.l3a .l3a-ways .msgs a { min-height: 32px; display: inline-flex; align-items: center; text-decoration: underline; text-decoration-color: var(--line); text-underline-offset: 4px; }
@media (hover: hover) { body.l3a .l3a-ways a.v:hover, body.l3a .l3a-ways .msgs a:hover { color: var(--a-text); } }
body.l3a .l3a-map { aspect-ratio: 4 / 3; background: var(--card); overflow: hidden; }
body.l3a .l3a-map iframe { display: block; width: 100%; height: 100%; border: 0; }

/* ---------- формы: поле 48, рамка --field, подпись 13 --mute ---------- */
body.l3a .l3a-form { max-width: none; gap: 14px 16px; }
body.l3a .l3a-form .l3-field { gap: 6px; }
body.l3a .l3a-form .l3-field > span:first-child { font-size: 13px; color: var(--mute); }
body.l3a .l3a-form .l3-input { height: 48px; border: 1px solid var(--field); background: var(--photo); font-size: 16px; padding: 0 14px; }
body.l3a .l3a-form textarea.l3-input { height: 132px; padding: 12px 14px; resize: vertical; line-height: 1.45; }
body.l3a .l3a-form .l3-input::placeholder { color: var(--mute); opacity: 1; }
@media (hover: hover) { body.l3a .l3a-form .l3-input:hover { border-color: var(--ink); } }
body.l3a .l3a-form .l3-input:focus { border: 1px solid var(--ink); outline: 2px solid var(--ink); outline-offset: -2px; }
body.l3a .l3a-form .l3-field.is-error .l3-input { border: 1.5px solid var(--err); }
body.l3a .l3a-form .l3-field.is-error > span:first-child, body.l3a .l3a-form .l3-field.is-error .l3-hint { color: var(--err); font-size: 13px; }
body.l3a .l3a-form .foot { gap: 16px 24px; margin-top: 4px; }
body.l3a .l3a-form .foot .l3-btn--primary { height: 52px; padding: 0 28px; font-size: 16px; }
body.l3a .l3a-form .foot .l3-hint { font-size: 13px; max-width: 420px; }
body.l3a .l3a-done { padding: 20px 0 0; display: grid; gap: 4px; justify-items: start; color: var(--ink); }
body.l3a .l3a-done b { color: var(--ok); }
body.l3a .l3a-done p { margin: 6px 0 14px; }

/* ---------- доставка: таблица способов ---------- */
body.l3a .l3a-dtab { font-size: 15px; }
body.l3a .l3a-dtab .hd, body.l3a .l3a-dtab .tr { display: grid; grid-template-columns: minmax(0, 1fr) 180px 220px; column-gap: 24px; }
body.l3a .l3a-dtab .hd { padding-bottom: 10px; border-bottom: 1px solid var(--ink); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--mute); }
body.l3a .l3a-dtab .hd span:last-child, body.l3a .l3a-dtab .price { text-align: right; }
body.l3a .l3a-dtab .tr { padding: 14px 0; border-bottom: 1px solid var(--line); align-items: baseline; }
body.l3a .l3a-dtab .nm b { display: block; font-weight: 600; }
body.l3a .l3a-dtab .nm span { display: block; margin-top: 2px; font-size: 13px; line-height: 1.45; color: var(--mute); }
body.l3a .l3a-dtab .price { font-variant-numeric: tabular-nums; }
body.l3a .l3a-pg .l3-calc { max-width: none; }
body.l3a .l3a-pg .l3-calc .l3-dost-calc { max-width: 760px; display: grid; gap: 12px; }
body.l3a .l3a-pg .l3-calc .row .l3-input { height: 48px; border: 1px solid var(--field); background: var(--photo); font-size: 16px; }
body.l3a .l3a-pg .l3-calc .row .l3-btn { height: 48px; }
body.l3a .l3a-pg .l3-calc .row .l3-input { flex: 1 1 auto; min-width: 0; }
body.l3a .l3a-doc-call { margin-top: 56px; font-size: 14px; color: var(--mute); }
body.l3a .l3a-doc-call a { color: var(--ink); font-weight: 600; white-space: nowrap; }

/* ---------- каркас прочих страниц «Покупателю» (оплата, гарантия, возврат, оферта, политика) ---------- */
body.l3a .l3a-doc-body > h1 { padding-top: 20px; max-width: 900px; }
body.l3a .l3a-doc-body > .l3-lead { margin-top: 14px; max-width: 760px; font-size: 17px; line-height: 1.55; color: var(--ink); }
body.l3a .l3a-doc-body > .l3-prose { margin-top: 48px; max-width: 1040px; }
body.l3a .l3a-doc-body > .l3-prose h2 { font-size: 24px; }
body.l3a .l3a-doc-body > .l3-prose > :first-child { margin-top: 0; }
body.l3a .l3a-doc-body > .l3-cards3 { max-width: 1040px; }
body.l3a .l3a-doc-body > .l3-pay-note { max-width: 760px; font-size: 14px; color: var(--mute); }
body.l3a .l3a-infonav { margin-top: 64px; }
body.l3a .l3a-infonav h2 { font-size: 24px !important; }
body.l3a .l3a-links { display: flex; flex-wrap: wrap; gap: 8px; }
body.l3a .l3a-links .l3a-chip { height: 44px; }

/* ---------- юрлицам: условия, форма + карточка отдела ---------- */
body.l3a .l3a-terms { margin-top: 32px; padding: 20px 0 24px; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--line); display: grid; grid-template-columns: repeat(var(--n, 3), minmax(0, 1fr)); gap: 24px 40px; }
body.l3a .l3a-terms b { display: block; font-weight: 600; font-size: 15px; }
body.l3a .l3a-terms p { margin-top: 8px; font-size: 14px; line-height: 1.5; color: var(--mute); }
body.l3a .l3a-opt { margin-top: 64px; display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 48px; align-items: start; }
body.l3a .l3a-opt-main h2 { font-size: 34px; line-height: 1.1; padding-bottom: 14px; margin-bottom: 20px; border-bottom: 1px solid var(--ink); }
body.l3a .l3a-drop { position: relative; }
body.l3a .l3a-drop #button_select { width: 100%; min-height: 56px; padding: 12px 16px; border: 1.5px dashed var(--field); background: transparent; color: var(--ink); font-size: 14px; cursor: pointer; text-align: center; }
@media (hover: hover) { body.l3a .l3a-drop #button_select:hover { border-color: var(--ink); background: var(--card); } }
body.l3a .l3a-drop #info_files { margin-top: 8px; font-size: 14px; }
body.l3a .l3a-drop #status_upload:empty { display: none; }
body.l3a .l3a-drop .l3a-drop-clear { margin-top: 6px; min-height: 44px; font-size: 13px; color: var(--mute); text-decoration: underline; text-underline-offset: 3px; background: none; border: 0; cursor: pointer; }
body.l3a .l3a-opt-card { border: 1px solid var(--ink); padding: 24px; display: grid; gap: 20px; font-size: 14px; }
body.l3a .l3a-opt-card b { display: block; font-weight: 600; font-size: 15px; }
body.l3a .l3a-opt-card .pl { display: grid; gap: 6px; justify-items: start; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
body.l3a .l3a-opt-card .pl span { font-size: 13px; color: var(--mute); }
body.l3a .l3a-opt-card .dep { display: grid; gap: 2px; }
body.l3a .l3a-opt-card .dep a { min-height: 32px; display: inline-flex; align-items: center; overflow-wrap: anywhere; }
body.l3a .l3a-opt-card .dep span { font-size: 13px; color: var(--mute); }

/* ---------- 1024–1279 ---------- */
@media (max-width: 1279px) {
  body.l3a .l3a-row { gap: 40px; }
  body.l3a .l3a-dtab .hd, body.l3a .l3a-dtab .tr { grid-template-columns: minmax(0, 1fr) 140px 190px; }
  body.l3a .l3a-opt { grid-template-columns: minmax(0, 1fr) 300px; gap: 40px; }
}

/* ---------- 768–1023: заголовки над содержимым, отступ 64 ---------- */
@media (max-width: 1023px) {
  body.l3a .l3a-pg h1 { font-size: 36px; }
  body.l3a .l3a-row, body.l3a .l3a-pg .l3-sec:has(> .l3-faq) { margin-top: 64px; grid-template-columns: minmax(0, 1fr); gap: 16px; }
  body.l3a .l3a-row > h2, body.l3a .l3a-row-h h2, body.l3a .l3a-pg .l3-sec:has(> .l3-faq) > h2, body.l3a .l3a-opt-main h2 { font-size: 28px; }
  body.l3a .l3a-pg-more { grid-column: 1; margin-top: 0; }
  body.l3a .l3a-afacts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.l3a .l3a-afacts b { font-size: 28px; }
  body.l3a .l3a-contacts.has-map { gap: 32px; }
  body.l3a .l3a-dtab .hd, body.l3a .l3a-dtab .tr { grid-template-columns: minmax(0, 1fr) 120px 160px; column-gap: 16px; }
  body.l3a .l3a-terms { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 20px 24px; }
  body.l3a .l3a-terms[style*="--n:4"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.l3a .l3a-opt { margin-top: 48px; grid-template-columns: minmax(0, 1fr); gap: 32px; }
  body.l3a .l3a-infonav { margin-top: 48px; }
}

/* ---------- <768: одна колонка, отступ 48 ---------- */
@media (max-width: 767px) {
  body.l3a .l3a-pg-h { padding-top: 12px; }
  body.l3a .l3a-pg h1 { font-size: 30px; line-height: 1.1; }
  body.l3a .l3a-pg-lead, body.l3a .l3a-doc-body > .l3-lead { font-size: 16px; }
  body.l3a .l3a-row, body.l3a .l3a-pg .l3-sec:has(> .l3-faq) { margin-top: 48px; padding-top: 20px; }
  body.l3a .l3a-row > h2, body.l3a .l3a-row-h h2, body.l3a .l3a-pg .l3-sec:has(> .l3-faq) > h2, body.l3a .l3a-opt-main h2 { font-size: 24px; }
  body.l3a .l3a-cols3, body.l3a .l3a-cols2, body.l3a .l3a-docs { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  body.l3a .l3a-afacts { gap: 16px; padding-top: 16px; margin-top: 28px; }
  body.l3a .l3a-afacts b { font-size: 24px; }
  body.l3a .l3a-req th { width: 38%; padding-right: 12px; font-size: 14px; }
  body.l3a .l3a-req td { font-size: 14px; }
  body.l3a .l3a-contacts, body.l3a .l3a-contacts.has-map { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  body.l3a .l3a-contacts--top { margin-top: 20px; }
  body.l3a .l3a-contacts--top:not(.has-map) .l3a-ways { grid-template-columns: minmax(0, 1fr); }
  body.l3a .l3a-contacts--top:not(.has-map) .l3a-ways li:nth-child(2) { border-top: 0; }
  body.l3a .l3a-ways a.v { min-height: 44px; }
  body.l3a .l3a-ways .msgs a, body.l3a .l3a-ways .sub a { min-height: 44px; display: inline-flex; align-items: center; }
  body.l3a .l3a-form { grid-template-columns: minmax(0, 1fr); }
  body.l3a .l3a-form .full, body.l3a .l3a-form .foot { grid-column: 1; }
  body.l3a .l3a-form .foot { flex-direction: column; align-items: stretch; }
  body.l3a .l3a-form .foot .l3-btn--primary { width: 100%; }
  /* таблица доставки → список: способ → пояснение → срок и цена одной строкой */
  body.l3a .l3a-dtab .hd { display: none; }
  body.l3a .l3a-dtab .tr { grid-template-columns: minmax(0, 1fr) auto; row-gap: 4px; padding: 14px 0; }
  body.l3a .l3a-dtab .nm { grid-column: 1 / -1; }
  body.l3a .l3a-dtab .term { font-size: 14px; }
  body.l3a .l3a-dtab .price { font-size: 14px; }
  body.l3a .l3a-pg .l3-calc .row { flex-direction: column; }
  body.l3a .l3a-pg .l3-calc .row .l3-input { flex: none; }
  body.l3a .l3a-pg .l3-calc .row .l3-btn { width: 100%; }
  body.l3a .l3a-terms { grid-template-columns: minmax(0, 1fr); gap: 16px; margin-top: 24px; }
  body.l3a .l3a-opt-card { padding: 20px 16px; }
  body.l3a .l3a-doc-body > .l3-prose { margin-top: 32px; }
  body.l3a .l3a-doc-body > .l3-prose--cols { columns: 1; }
  body.l3a .l3a-doc-call { margin-top: 40px; }
  body.l3a .l3a-doc-call a { display: inline-flex; min-height: 44px; align-items: center; }
  body.l3a .l3a-links { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin: 0 calc(-1 * var(--gutter)); padding: 0 var(--gutter); }
  body.l3a .l3a-links::-webkit-scrollbar { display: none; }
  body.l3a .l3a-links .l3a-chip { flex: none; }
}

/* ---- a-src/80-404-sitemap.css ---- */
/* ==========================================================================
   Вид A: 404 (A15) и карта сайта (A17). Задание 72, 05.10.2026.
   ========================================================================== */

/* ---------- 404: по центру, «404» Piazzolla цветом марки текстом ---------- */
body.l3a .l3a-404 { padding-top: 96px; padding-bottom: 32px; display: flex; flex-direction: column; align-items: center; text-align: center; }
body.l3a .l3a-404 .code { font-family: var(--font-display); font-weight: 400; font-size: 160px; line-height: 1; letter-spacing: -0.02em; color: var(--a-text); }
body.l3a .l3a-404 h1 { margin-top: 12px; font-size: 44px; line-height: 1.05; }
body.l3a .l3a-404 .lead { margin-top: 16px; max-width: 520px; font-size: 16px; line-height: 1.55; color: var(--mute); text-wrap: pretty; }
body.l3a .l3a-404 .q { margin-top: 28px; width: min(560px, 100%); display: flex; height: 52px; border: 1.5px solid var(--ink); background: var(--photo); }
body.l3a .l3a-404 .q input[type="search"] { flex: 1; min-width: 0; height: 100%; border: 0; background: transparent; padding: 0 16px; font-size: 16px; color: var(--ink); outline: none; -webkit-appearance: none; appearance: none; border-radius: 0; }
body.l3a .l3a-404 .q input[type="search"]::placeholder { color: var(--mute); opacity: 1; }
body.l3a .l3a-404 .q:focus-within { outline: 2px solid var(--ink); outline-offset: 2px; }
body.l3a .l3a-404 .q button { flex: none; padding: 0 24px; background: var(--ink); color: var(--bg); font-weight: 600; font-size: 15px; border: 0; cursor: pointer; }
@media (hover: hover) { body.l3a .l3a-404 .q button:hover { background: var(--ink-hover, var(--ink)); } }
body.l3a .l3a-404-cats { margin-top: 20px; max-width: 760px; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
body.l3a .l3a-404 .home { margin-top: 28px; height: 44px; padding: 0 20px; font-size: 15px; }
body.l3a .l3a-404 .home:hover { background: var(--card); color: var(--ink); box-shadow: inset 0 0 0 1.5px var(--ink); }

/* ---------- карта сайта: группы в CSS-колонках 4 / 2, на телефоне аккордеон ---------- */
body.l3a .l3a-sm-count { margin-top: 8px; font-size: 14px; color: var(--mute); }
body.l3a .l3a-sm { margin-top: 32px; columns: 4; column-gap: 32px; }
body.l3a .l3a-sm-g { break-inside: avoid; display: inline-block; width: 100%; padding: 14px 0 24px; border-top: 1px solid var(--ink); }
body.l3a .l3a-sm-g .hd { position: relative; display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-family: var(--font-body); font-weight: 600; font-size: 16px; line-height: 1.35; letter-spacing: 0; }
body.l3a .l3a-sm-g .hd > a, body.l3a .l3a-sm-g .hd > span { min-width: 0; overflow-wrap: anywhere; }
body.l3a .l3a-sm-g .hd i { flex: none; font-style: normal; font-weight: 400; font-size: 14px; color: var(--mute); font-variant-numeric: tabular-nums; }
body.l3a .l3a-sm-g .tg { display: none; }
body.l3a .l3a-sm-g ul { margin-top: 8px; display: grid; gap: 0; }
body.l3a .l3a-sm-g li { font-size: 14px; line-height: 1.45; padding: 3px 0; overflow-wrap: anywhere; }
body.l3a .l3a-sm-g ul.is-cut li.x { display: none; }
body.l3a .l3a-sm-g li.more button { padding: 2px 0; font-size: 13px; color: var(--mute); background: none; border: 0; cursor: pointer; }
@media (hover: hover) {
  body.l3a .l3a-sm-g li a:hover, body.l3a .l3a-sm-g .hd a:hover { color: var(--a-text); }
  body.l3a .l3a-sm-g li.more button:hover { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
}

@media (max-width: 1279px) { body.l3a .l3a-sm { columns: 3; } }
@media (max-width: 1023px) {
  body.l3a .l3a-404 { padding-top: 64px; }
  body.l3a .l3a-404 .code { font-size: 120px; }
  body.l3a .l3a-404 h1 { font-size: 36px; }
  body.l3a .l3a-sm { columns: 2; column-gap: 28px; }
}
@media (max-width: 767px) {
  body.l3a .l3a-404 { padding-top: 40px; padding-bottom: 8px; }
  body.l3a .l3a-404 .code { font-size: 88px; }
  body.l3a .l3a-404 h1 { margin-top: 8px; font-size: 30px; line-height: 1.1; }
  body.l3a .l3a-404 .lead { font-size: 15px; }
  body.l3a .l3a-404 .q { margin-top: 20px; }
  body.l3a .l3a-404 .q button { padding: 0 18px; }
  body.l3a .l3a-404-cats .l3a-chip { height: 44px; }
  /* аккордеон: строка группы 56, ссылки 44; открыта первая */
  body.l3a .l3a-sm { margin-top: 20px; columns: 1; border-bottom: 1px solid var(--line); }
  body.l3a .l3a-sm-g { display: block; padding: 0; border-top: 1px solid var(--line); }
  body.l3a .l3a-sm-g:first-child { border-top-color: var(--ink); }
  body.l3a .l3a-sm-g .hd { min-height: 56px; align-items: center; justify-content: flex-start; gap: 6px; padding-right: 44px; font-size: 15px; }
  body.l3a .l3a-sm-g .hd > a { position: relative; z-index: 1; }
  body.l3a .l3a-sm-g .tg { display: block; position: absolute; inset: 0; width: 100%; background: none; border: 0; cursor: pointer; }
  body.l3a .l3a-sm-g .tg::after { content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 44px; text-align: center; font-size: 20px; font-weight: 400; color: var(--ink); }
  body.l3a .l3a-sm-g.is-open .tg::after { content: "−"; }
  body.l3a .l3a-sm-g ul { display: none; margin-top: 0; padding-bottom: 8px; }
  body.l3a .l3a-sm-g.is-open ul { display: grid; }
  body.l3a .l3a-sm-g li { padding: 0; font-size: 14px; }
  body.l3a .l3a-sm-g li a, body.l3a .l3a-sm-g li.more button { min-height: 44px; display: flex; align-items: center; }
}
