/* Стили публичного каталога (007). Контраст проверен по WCAG 2.2 AA: основной текст #1b1f24 на белом, ссылки #0b57a4. */
:root { --fg:#1b1f24; --muted:#5b6570; --link:#0b57a4; --line:#d6dbe1; --bg:#fff; --soft:#f3f5f7; }
* { box-sizing: border-box; }
body.catalog { margin:0; font:16px/1.5 system-ui, "Segoe UI", Arial, sans-serif; color:var(--fg); background:var(--bg); }
a { color:var(--link); }
.skip { position:absolute; left:-999px; } .skip:focus { left:8px; top:8px; background:#fff; padding:8px; z-index:10; }
.sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.cat-head { display:flex; flex-wrap:wrap; gap:16px; align-items:center; padding:12px 16px; border-bottom:1px solid var(--line); }
.cat-logo { font-weight:700; font-size:20px; text-decoration:none; color:var(--fg); }
.cat-search { margin-left:auto; display:flex; gap:8px; }
.cat-search input { width:min(320px, 60vw); padding:8px 10px; border:1px solid #8a94a0; border-radius:4px; font:inherit; }
main button { padding:8px 14px; border:1px solid var(--link); background:var(--link); color:#fff; border-radius:4px; font:inherit; cursor:pointer; }
.cat-main { max-width:1200px; margin:0 auto; padding:16px; }
.crumbs ol { display:flex; flex-wrap:wrap; gap:6px; list-style:none; padding:0; margin:0 0 12px; font-size:14px; }
.crumbs li + li::before { content:"/"; color:var(--muted); margin-right:6px; }
h1 { font-size:28px; line-height:1.2; margin:8px 0 16px; } h2 { font-size:22px; margin:28px 0 10px; } h3 { font-size:17px; margin:16px 0 6px; }
.muted { color:var(--muted); font-size:14px; }
.grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); gap:16px; }
.card { border:1px solid var(--line); border-radius:6px; padding:14px; }
.card h2 { font-size:18px; margin:0 0 6px; }
.mark-card .photo { display:block; aspect-ratio:3/2; background:var(--soft); margin-bottom:8px; }
.mark-card img { width:100%; height:100%; object-fit:contain; }
.noimg { display:flex; align-items:center; justify-content:center; height:100%; min-height:120px; background:var(--soft); color:var(--muted); font-size:14px; }
.mark-head { display:grid; grid-template-columns:1fr minmax(240px, 360px); gap:24px; align-items:start; }
.mark-photo { width:100%; height:auto; max-height:420px; object-fit:contain; border-radius:6px; }
.facts { display:grid; grid-template-columns:max-content 1fr; gap:4px 16px; margin:12px 0; } .facts dt { color:var(--muted); } .facts dd { margin:0; }
.letters { display:grid; grid-template-columns:80px 1fr; gap:6px 12px; } .letters dt { font-weight:700; } .letters dd { margin:0; }
.tbl { border-collapse:collapse; width:100%; } .tbl th, .tbl td { text-align:left; padding:8px 10px; border-bottom:1px solid var(--line); vertical-align:top; }
.tbl thead th { background:var(--soft); }
.scroll { overflow-x:auto; }
.ico { vertical-align:middle; margin-right:6px; }
.adv { list-style:none; padding:0; display:grid; grid-template-columns:repeat(auto-fill, minmax(240px, 1fr)); gap:8px; }
.filter { display:flex; flex-wrap:wrap; gap:8px 12px; align-items:center; margin:8px 0 12px; }
.filter select { padding:7px 8px; font:inherit; }
.pager ul { list-style:none; display:flex; flex-wrap:wrap; gap:6px; padding:0; } .pager a, .pager span { display:inline-block; min-width:36px; padding:6px 10px; border:1px solid var(--line); text-align:center; }
.pager [aria-current] { background:var(--soft); font-weight:700; }
.list { padding-left:20px; } .err { color:#a40000; }
.cat-foot { padding:24px 16px; color:var(--muted); border-top:1px solid var(--line); margin-top:32px; }
details summary { cursor:pointer; color:var(--link); font-size:14px; font-weight:400; }
@media (max-width:720px) { .mark-head { grid-template-columns:1fr; } h1 { font-size:24px; } }
@media (prefers-reduced-motion: reduce) { * { scroll-behavior:auto !important; } }
.layout-filter { display:grid; grid-template-columns:260px 1fr; gap:24px; }
.facets fieldset { border:0; border-top:1px solid var(--line); margin:0 0 12px; padding:8px 0; max-height:260px; overflow:auto; }
.facets legend { font-weight:600; padding:0; }
.opt { display:block; padding:2px 0; } .opt input { margin-right:6px; }
.actions { display:flex; gap:12px; align-items:center; }
@media (max-width:820px) { .layout-filter { grid-template-columns:1fr; } }

/* Сверка с PNG Figma: контент 1328 px, боковая колонка 304 px, ряды продукции.
   Существующие GET-формы и таблицы сохранены; стили подключаются только каталогом. */
@font-face { font-family:'PT Root UI'; src:url('fonts/pt-root-ui-vf.woff2') format('woff2'); font-weight:300 700; font-display:swap; }
.catalog .article-nav { display:flex; flex-wrap:wrap; gap:24px; padding:24px 0; border-bottom:1px solid var(--line); margin-top:32px; }
.catalog .construction-parts { list-style:none; counter-reset:part; padding:0; display:grid; gap:16px; }
.catalog .construction-parts > li { counter-increment:part; background:var(--soft); padding:24px; }
.catalog .construction-parts h3 { margin:0 0 16px; font-size:20px; }
.catalog .construction-parts h3::before { content:counter(part, decimal-leading-zero) ' / '; color:var(--muted); }
.catalog .construction-parts ul { padding-left:20px; display:grid; gap:8px; }
.catalog .construction-elements { padding-left:24px; display:grid; gap:16px; }
body.catalog { --fg:#0d0e10; --muted:#62636a; --link:#0d0e10; --line:#e3e3e8; --soft:#f4f4f6; font:425 17px/1.35 'PT Root UI',Arial,sans-serif; }
.catalog a { text-underline-offset:4px; }
/* Ссылки каталога: не задевать шапку и подвал темы — там свои hover-стили из site.css. */
.catalog main a:hover,
.catalog .cat-head a:hover,
.catalog .cat-foot a:hover { color:#ad400c; }
.catalog main :is(button,input,select) { font:inherit; border-radius:0; }
.catalog main button { background:#0d0e10; border-color:#0d0e10; }
.catalog main :is(a,button,input,select,summary):focus-visible,
.catalog .cat-head :is(a,button,input,select,summary):focus-visible,
.catalog .cat-foot :is(a,button,input,select,summary):focus-visible { outline:3px solid #ff6a14; outline-offset:4px; }
.catalog .cat-head { max-width:1328px; margin:auto; padding:5px 10px; gap:30px; border:0; min-height:54px; }
.catalog .cat-logo { flex-shrink:0; display:inline-flex; }
.catalog .cat-logo img { display:block; max-width:100%; height:auto; }
.catalog .cat-primary { display:flex; gap:24px; font-size:17px; letter-spacing:-.02em; }
.catalog .cat-primary a { text-decoration:none; padding:10px 0; }
.catalog .cat-callback { margin-left:auto; padding:12px 15px; background:#ff8036; color:#0d0e10; text-decoration:none; font-size:17px; line-height:17px; border-radius:2px; white-space:nowrap; }
.catalog .cat-menu { position:relative; font-size:14px; }
.catalog .cat-menu summary { padding:7px; color:var(--fg); list-style:none; }
.catalog .cat-menu summary::-webkit-details-marker { display:none; }
/* Исходный menu-icon из архивного app.min.css; это сохранённый элемент прежнего сайта. */
.catalog .archive-menu-icon { margin:auto; display:grid; place-items:center; height:30px; width:30px; overflow:hidden; }
.catalog .archive-menu-icon > span { width:30px; height:1px; display:block; background-color:#0d0e10; justify-self:end; }
.catalog .cat-menu nav { position:absolute; right:0; top:44px; background:white; z-index:3; min-width:200px; border:1px solid var(--line); padding:16px; display:grid; gap:16px; }
.catalog .cat-main { max-width:1328px; padding:32px 10px 100px; margin:auto; min-height:60vh; }
.catalog .catalog-shell { display:grid; grid-template-columns:304px minmax(0,1fr); gap:32px; }
.catalog .catalog-content { min-width:0; }
.catalog .cat-sidebar { padding-top:48px; font-size:17px; min-width:0; }
.catalog .cat-sidebar nav { display:grid; gap:24px; }
.catalog .cat-sidebar nav a { text-decoration:none; line-height:1.25; max-width:230px; }
.catalog .cat-sidebar [aria-current] { color:#a63c0b; }
.catalog .category-nav > summary { display:none; }
.catalog .category-branch > summary { display:block; color:var(--fg); font-size:17px; list-style:none; }
.catalog .category-branch > summary::-webkit-details-marker { display:none; }
.catalog .category-branch ul { list-style:none; padding:16px 0 0 16px; margin:0; font-size:15px; display:grid; gap:16px; }
/* «К марке кабеля» — возврат назад: круглый значок со стрелкой в стиле стрелок каталога */
.catalog .catalog-back { display:inline-flex; align-items:center; gap:10px; margin:0 0 28px; color:var(--muted); font-size:15px; text-decoration:none; }
.catalog .catalog-back__icon { display:inline-flex; align-items:center; justify-content:center; flex:none; width:36px; height:36px; border:1.5px solid #dcdcde; border-radius:50%; color:var(--fg); font-size:17px; line-height:1; transition:color .15s ease, border-color .15s ease; }
.catalog .catalog-back__text { line-height:1.2; }
.catalog .catalog-back:hover { color:var(--fg); }
.catalog .catalog-back:hover .catalog-back__icon,
.catalog .catalog-back:focus-visible .catalog-back__icon { color:#ff6a14; border-color:#ff6a14; }
.catalog .catalog-back:focus-visible { outline:none; }
.catalog .section-nav { position:sticky; top:24px; }
.catalog .crumbs ol { font-size:14px; color:var(--muted); margin:0 0 32px; }
.catalog .crumbs a { color:var(--muted); text-decoration:none; }
.catalog .crumbs li { min-width:0; max-width:100%; overflow-wrap:anywhere; }
.catalog h1 { font-size:41px; line-height:1; font-weight:500; letter-spacing:-.03em; margin:0 0 34px; overflow-wrap:anywhere; }
.catalog h2 { font-weight:500; font-size:28px; line-height:1.2; letter-spacing:-.025em; margin:0 0 28px; }
.catalog h3 { font-weight:500; }
.catalog .cat-search { display:flex; gap:0; margin:0 0 32px; background:var(--soft); border-radius:4px; min-height:56px; }
.catalog .cat-search input { width:100%; min-width:0; border:1px solid transparent; background:transparent; padding:16px; }
.catalog .cat-search input::placeholder { color:var(--muted); opacity:1; }
/* Фокус поиска — рамка вокруг всего поля (по макету search.png), а не системный синий контур. */
.catalog .cat-search input:focus-visible { outline:none; }
.catalog .cat-search:focus-within { box-shadow: inset 0 0 0 2px #ff6a14; }
.catalog .cat-search button { padding:12px 20px; background:transparent; border:0; color:var(--muted); }
.catalog .grid { grid-template-columns:1fr; gap:16px; }
.catalog .card { border:0; border-radius:0; padding:24px; background:var(--soft); }
.catalog .card h2 { font-size:22px; line-height:1.2; }
.catalog .card a { text-decoration:none; }
.catalog .card ul { padding-left:18px; }
.catalog .layout-filter { display:flex; flex-direction:column; gap:20px; }
.catalog .facets { display:block; }
.catalog .filter-heading { grid-column:1/-1; display:flex; justify-content:space-between; gap:16px; color:var(--muted); font-size:14px; }
.catalog .facets fieldset { min-width:0; border:1px solid var(--line); padding:12px; max-height:200px; margin:0; }
.catalog .facets legend { font-size:14px; font-weight:500; padding:0 4px; }
.catalog .facet-picker { position:relative; min-width:0; }
.catalog .facet-picker summary { border:1px solid #cbcbcb; border-radius:4px; background:#eee; color:var(--fg); padding:10px 12px; font-size:13px; list-style:none; }
.catalog .facet-picker summary::-webkit-details-marker { display:none; }
.catalog .facet-picker summary .facet-name { display:block; font-size:13px; margin:0 0 6px; color:var(--muted); overflow-wrap:anywhere; }
.catalog .facet-picker[open] fieldset { position:absolute; top:100%; left:0; right:0; z-index:2; background:white; box-shadow:0 8px 16px #0d0e1014; max-height:240px; }
.catalog .facets .opt { font-size:14px; padding:5px 0; }
.catalog .facets input { accent-color:#ff6a14; }
.catalog .facets .actions { grid-column:1/-1; }
.catalog .results > .muted { margin:0 0 24px; }
.catalog .mark-card { display:grid; grid-template-columns:32% minmax(0,1fr); gap:24px; align-items:center; padding:0 24px 0 0; min-height:144px; }
.catalog .mark-card .photo { aspect-ratio:auto; height:144px; margin:0; }
.catalog .mark-card img { display:block; mix-blend-mode:multiply; }
.catalog .mark-card h2 { font-size:20px; font-weight:500; margin:0 0 8px; overflow-wrap:anywhere; }
.catalog .mark-card p { color:var(--muted); font-size:14px; margin:0; }
.catalog .mark-card-area { color:var(--muted); font-size:14px; margin:0 0 4px; }
.catalog .mark-card-tu { color:var(--muted); font-size:14px; margin:4px 0 0; }
.catalog .mark-card-info { padding:16px 0; }
.catalog .mark-head { grid-template-columns:minmax(0,1fr) minmax(240px,1fr); gap:40px; align-items:center; }
.catalog .mark-head > * { min-width:0; }
.catalog .mark-photo { max-height:340px; border-radius:0; }
.catalog .lead { font-size:18px; margin:0 0 24px; }
.catalog .mark > section,.catalog .marksize > section { margin-top:72px; scroll-margin-top:24px; }
.catalog .mark-head { scroll-margin-top:24px; }
.catalog .facts { grid-template-columns:minmax(110px,auto) minmax(0,1fr); font-size:15px; gap:10px 24px; margin:24px 0; }
.catalog .facts dd { overflow-wrap:anywhere; }
.catalog .outline-button { display:inline-block; border:1.5px solid #ff6a14; color:#a63c0b; text-decoration:none; padding:12px 16px; font-size:15px; }
.catalog .tbl { font-size:14px; }
.catalog .tbl th { font-weight:425; }
.catalog .tbl th,.catalog .tbl td { padding:12px 8px; }
.catalog .tbl a { text-decoration:none; }
/* Шапка таблицы мельче ячеек: длинные подписи («Расчётная масса кабеля, кг/км») иначе
   переносятся на три строки и шапка перевешивает данные */
.catalog .tbl thead th { color:var(--muted); background:white; font-size:13px; line-height:1.3; padding-top:10px; padding-bottom:10px; }
.catalog .scroll { max-width:100%; }
.catalog .scroll:focus-visible { outline:3px solid #ff6a14; }
.catalog .sizes { min-width:640px; }
.catalog .drawing { max-width:100%; height:auto; display:block; margin:32px 0; }
.catalog .adv { grid-template-columns:1fr; gap:16px; }
.catalog .letters { grid-template-columns:minmax(48px,auto) minmax(0,1fr); gap:16px 24px; }
.catalog .filter { margin:24px 0; }
.catalog .filter select { max-width:100%; border:1px solid #8a8b8f; background:white; }
.catalog .pager ul { justify-content:flex-end; gap:8px; margin-top:32px; }
.catalog .pager a,.catalog .pager span { border:0; text-decoration:none; padding:12px 16px; }
.catalog .cat-foot { margin-top:0; border:0; background:#f9f9fb; padding:64px 16px 32px; }
.catalog .cat-foot-inner { max-width:1328px; margin:auto; display:grid; grid-template-columns:1fr 2fr 1fr; gap:48px; }
.catalog .cat-foot nav { display:grid; gap:16px; margin-top:32px; }
.catalog .cat-foot a { text-decoration:none; }
.catalog .cat-foot .footer-categories { grid-template-columns:1fr 1fr; align-content:start; margin-top:0; font-size:14px; }
.catalog .footer-contact h2 { font-size:24px; }
.catalog .footer-legal { grid-column:1/-1; color:var(--muted); font-size:12px; margin:24px 0 0; display:flex; gap:32px; flex-wrap:wrap; }
.catalog .cat-category { display:none; }
@media(max-width:1024px) {
  .catalog .cat-category { display:block; margin-bottom:16px; }
  .catalog .cat-category select { width:100%; min-height:48px; padding:10px 12px; border:1px solid var(--line); border-radius:3px; background:#fff; font:inherit; color:inherit; }
  .catalog .cat-sidebar .category-nav { display:none; }
}
@media(max-width:1024px) {
  .catalog .cat-head { gap:24px; padding:16px 32px; }
  .catalog .cat-primary { display:none; }
  .catalog .catalog-shell { grid-template-columns:minmax(0,1fr); gap:24px; padding:32px 32px 72px; }
  .catalog .cat-sidebar { padding:0; }
  .catalog .category-nav { border:1px solid var(--line); padding:12px 16px; }
  .catalog .category-nav > summary { display:none; }
  .catalog .category-nav nav { padding:20px 0 8px; }
  .catalog .cat-sidebar .section-nav { display:flex; gap:20px; overflow:auto; padding-bottom:12px; position:static; }
  .catalog .section-nav a { flex-shrink:0; max-width:180px; }
/* Текущий раздел марки в оглавлении слева */
  .catalog .catalog-back { margin-bottom:20px; }
  .catalog h1 { font-size:36px; }
  .catalog .cat-foot-inner { grid-template-columns:1fr 2fr; }
  .catalog .footer-contact { grid-column:1/-1; }
}
@media(max-width:600px) {
  .catalog .cat-head { padding:16px; gap:16px; min-height:64px; }
  .catalog .cat-logo img { width:140px; }
  .catalog .cat-callback { display:none; }
  .catalog .cat-menu { margin-left:auto; }
  .catalog .catalog-shell { padding:24px 16px 56px; gap:20px; }
  .catalog h1 { font-size:28px; margin-bottom:24px; }
  .catalog h2 { font-size:24px; }
  .catalog .facets { grid-template-columns:1fr; }
  .catalog .facets fieldset { max-height:160px; }
  .catalog .mark-card { grid-template-columns:1fr; gap:0; padding:0; }
  .catalog .mark-card .photo { height:160px; }
  .catalog .mark-card-info { padding:16px; }
  .catalog .mark-head { grid-template-columns:1fr; gap:24px; }
  .catalog .mark-photo { max-height:240px; }
  .catalog .mark > section,.catalog .marksize > section { margin-top:48px; }
  .catalog .cat-foot-inner { grid-template-columns:1fr; gap:32px; }
  .catalog .cat-foot .footer-categories { grid-template-columns:1fr; }
  .catalog .card { padding:20px; }
  .catalog .card.mark-card { padding:0; }
}

/* Каталог: композиция экспорта Figma, PDF стр. 19. */
.catalog .listing-modes { display:flex; align-items:center; gap:6px; font-size:14px; }
.catalog .listing-modes > span { color:var(--muted); margin-right:4px; }
.catalog .listing-modes a { padding:3px 8px; border:1px solid var(--line); border-radius:3px; text-decoration:none; }
.catalog .listing-modes a[aria-current] { border-color:#ff8036; }
.catalog .cat-search { margin-bottom:8px; }
.catalog .filter-heading { justify-content:flex-start; align-items:center; position:relative; }
.catalog .filter-clear { display:inline-flex; align-items:center; gap:4px; }
.catalog .filter-drawer-toggle { position:absolute; width:1px; height:1px; opacity:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.catalog .filter-drawer-trigger { margin-left:auto; display:inline-flex; gap:8px; align-items:center; border:1.5px solid #dcdcde; border-radius:3px; padding:5px 10px; cursor:pointer; color:var(--fg); font-size:14px; }
.catalog .filter-drawer-trigger svg { display:block; }
.catalog .filter-drawer { position:fixed; inset:0; z-index:60; visibility:hidden; transition:visibility 0s .28s; }
.catalog .filter-drawer-toggle:checked ~ .filter-drawer { visibility:visible; transition:visibility 0s 0s; }
.catalog .filter-drawer-backdrop { position:absolute; inset:0; background:rgba(13,14,16,.4); opacity:0; transition:opacity .28s ease; }
.catalog .filter-drawer-toggle:checked ~ .filter-drawer .filter-drawer-backdrop { opacity:1; }
.catalog .filter-drawer-panel { position:absolute; top:0; right:0; bottom:0; width:min(440px,92vw); box-sizing:border-box; padding:24px; background:#fff; overflow-y:auto; box-shadow:-8px 0 28px rgba(13,14,16,.18); transform:translateX(100%); transition:transform .28s ease; }
.catalog .filter-drawer-toggle:checked ~ .filter-drawer .filter-drawer-panel { transform:translateX(0); }
.catalog .filter-drawer-head { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.catalog .filter-drawer-count { color:var(--muted); font-size:14px; margin-left:auto; }
.catalog .filter-drawer-count a { color:#a63c0b; }
.catalog .filter-drawer-head h2 { margin:0; font-size:22px; }
.catalog .filter-drawer-close { cursor:pointer; font-size:14px; color:var(--muted); padding:6px 10px; border:1px solid var(--line); border-radius:3px; white-space:nowrap; }
.catalog .filter-group { border-bottom:1px solid var(--line); }
.catalog .filter-group > summary { padding:12px 0; font-weight:700; font-size:15px; cursor:pointer; color:var(--fg); }
.catalog .filter-group .facet { margin:2px 0 10px; }
.catalog .facet { margin:0 0 14px; }
.catalog .facet-head { display:flex; justify-content:space-between; align-items:baseline; gap:12px; margin-bottom:6px; }
.catalog .facet-name { font-size:13px; color:var(--muted); }
.catalog .facet-head .facet-clear { font-size:12px; color:var(--muted); }
.catalog .facet-chips { display:flex; flex-wrap:wrap; gap:6px; }
.catalog .chip { position:relative; display:inline-flex; align-items:center; gap:6px; padding:4px 8px; border:1.5px solid #dcdcde; border-radius:3px; background:#fff; font-size:13px; line-height:1.2; cursor:pointer; user-select:none; transition:border-color .15s ease, color .15s ease; }
.catalog .chip-input { position:absolute; width:1px; height:1px; opacity:0; }
.catalog .chip-mark { font-weight:700; }
.catalog .chip-plus { color:#9a9b9c; }
.catalog .chip-x { display:none; color:#9a9b9c; }
.catalog .chip-input:checked ~ .chip-x { display:inline; }
.catalog .chip-input:checked ~ .chip-plus { display:none; }
.catalog .chip-on { border-color:#ff6a14; }
.catalog .chip-off { opacity:.4; cursor:default; }
/* При наведении рамка подкрашивается, как у активного чипа — понятно, что элемент кликабельный. */
.catalog .chip:hover:not(.chip-off):not(.chip-on) { border-color:#ff6a14; }
.catalog .chip-on:hover { border-color:#ff6a14; }
.catalog .chip:has(.chip-input:focus-visible) { outline:2px solid #ff6a14; outline-offset:2px; }
.catalog .filter-basic { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:12px; margin:8px 0 16px; }
@media (max-width: 900px) { .catalog .filter-basic { display: none; } }
.catalog .facet-combo { position:relative; min-width:0; }
.catalog .facet-combo .facet-name { display:block; margin-bottom:6px; }
.catalog .facet-combo-control { position:relative; display:flex; flex-wrap:wrap; align-items:center; gap:6px; min-height:44px; box-sizing:border-box; padding:6px 32px 6px 10px; border:1.5px solid #dcdcde; border-radius:4px; background:#fff; cursor:text; }
.catalog .facet-combo.is-open .facet-combo-control { border-color:#ff6a14; }
.catalog .facet-combo-selected { display:contents; }
.catalog .combo-chip { display:inline-flex; align-items:center; gap:4px; padding:3px 6px; border:1.5px solid #dcdcde; border-radius:3px; font-size:13px; white-space:nowrap; }
.catalog .combo-chip-x { cursor:pointer; font-weight:700; color:#9a9b9c; }
.catalog .facet-combo-search { flex:1 1 60px; min-width:30px; border:0; outline:0; background:transparent; font:inherit; font-size:14px; padding:4px 0; color:var(--fg); }
.catalog .facet-combo-caret { position:absolute; right:10px; top:50%; transform:translateY(-50%); color:var(--muted); cursor:pointer; padding:8px; line-height:1; }
.catalog .facet-combo-caret svg { display:block; }
.catalog .facet-combo-menu { display:none; position:absolute; left:0; top:100%; margin-top:4px; z-index:30; width:max(100%, 260px); box-sizing:border-box; background:#fff; border:1px solid var(--line); border-radius:4px; box-shadow:0 8px 24px rgba(13,14,16,.14); padding:10px; }
.catalog .facet-combo.is-open .facet-combo-menu { display:block; }
.catalog .facet-combo-options { display:flex; flex-wrap:wrap; gap:6px; max-height:240px; overflow:auto; }
.catalog .facet-combo-clear { display:inline-flex; align-items:center; gap:6px; margin-top:10px; border:0; background:transparent; color:var(--muted); font:inherit; font-size:13px; cursor:pointer; padding:2px 0; text-decoration:none; }
.catalog .facet-combo-clear:hover { color:#ff6a14; }
/* Без JS комбобокс не нужен: показываем значения чипсами прямо в форме (FR-023). */
/* Без JS фильтры-комбо показываются списком чипсов; с JS — сразу как мультивыбор,
   чтобы при загрузке не мелькали чипсы, которые потом «схлопываются» в комбо. */
html:not(.js) .catalog .layout-filter .facet-combo-control { display:none; }
html:not(.js) .catalog .layout-filter .facet-combo-menu { display:block; position:static; width:auto; box-shadow:none; border:0; padding:0; margin:0; }
.catalog .filters-enhanced .facets > .actions { display:none; }
/* В панели «все фильтры» кнопки «Показать» нет в макете: с JS фильтры применяются сразу. */
.catalog .filters-enhanced .filter-drawer-panel .actions { display:none; }
.catalog .nomenclature { min-width:620px; }
.catalog .mark-card { border-radius:6px; transition:background .15s ease; }
.catalog .mark-card:hover { background:#ececee; }

.catalog .mark-card-variants { display:inline-block; font-size:14px; color:var(--muted); margin-top:8px; }
.catalog .mark-card-specs { margin-top:8px; }
.catalog .mark-card { min-height:128px; }
.catalog .mark-card .photo { height:128px; }
.catalog .cat-search button { order:-1; width:52px; flex-shrink:0; padding:14px; }
.catalog .cat-search button img { width:20px; height:20px; display:block; }
.catalog .cat-search input { padding-left:0; }
.catalog .cat-head { width:100%; box-sizing:border-box; }
.catalog .callback .gl__title { font-size:41px; line-height:1.1; margin-bottom:48px; }
.catalog .callback-form__submit { background:#ff8036; color:#0d0e10; border:0; }
@media(max-width:600px) { .catalog .callback .gl__title { font-size:28px; margin-bottom:24px; } }
.catalog .mark-card-param { display:inline-block; padding-left:12px; margin-left:12px; border-left:1px solid #d6d6da; }
.catalog .ico { object-fit:contain; flex-shrink:0; vertical-align:middle; margin-right:12px; opacity:.75; } .catalog .adv li { display:flex; align-items:center; min-height:40px; }
.catalog .card-benefits { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
.catalog .card-benefit { position:relative; }
.catalog .card-benefit summary { display:flex; align-items:center; justify-content:center; width:32px; height:32px; cursor:pointer; list-style:none; }
.catalog .card-benefit summary::-webkit-details-marker { display:none; }
.catalog .card-benefit summary:focus-visible { outline:2px solid #ff6a14; outline-offset:2px; }
.catalog .card-benefit > span { position:absolute; top:100%; right:0; width:220px; max-width:60vw; padding:12px; background:white; box-shadow:0 4px 16px #0002; z-index:4; font-size:14px; }
@media(max-width:600px) { .catalog .card-benefit > span { left:0; right:auto; width:180px; max-width:50vw; } }
.catalog .card-benefit summary img { width:20px; height:20px; object-fit:contain; opacity:.65; }
/* Конструкция: описание слева, схема справа, как в исходном кадре марки. */
.catalog .construction-layout { display:grid; gap:32px; align-items:center; }
.catalog .construction-layout.has-drawing { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.catalog .construction-layout ol { margin:0; padding-left:24px; }
.catalog .construction-layout li { padding-left:4px; margin-bottom:16px; }
.catalog .construction-layout .drawing { width:100%; height:auto; margin:0 0 24px; }
.catalog .adv { gap:12px; }
.catalog .adv .ico { width:24px; height:24px; }
@media(max-width:720px) { .catalog .construction-layout.has-drawing { grid-template-columns:minmax(0,1fr); } }

/* Карусель «Похожие продукты» (Марка2.png): стрелки только если карточки не помещаются. */
.catalog .section-head { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.catalog .carousel-nav { display:flex; gap:8px; }
.catalog .carousel-arrow { width:44px; height:44px; box-sizing:border-box; border-radius:50%; border:1.5px solid #dcdcde; background:#fff; color:var(--fg); font:inherit; font-size:18px; line-height:1; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; }
.catalog .carousel-arrow:hover { border-color:#ff6a14; color:#ff6a14; }
.catalog .carousel-arrow:disabled { opacity:.35; cursor:default; border-color:#dcdcde; color:var(--muted); }
.catalog .carousel-track { display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding-bottom:4px; }
.catalog .carousel-track::-webkit-scrollbar { display:none; }
.catalog .carousel-track .mark-card { flex:0 0 min(320px, 86vw); scroll-snap-align:start; }

/* Слайдер фото первого экрана (марка/артикул), если фотографий больше двух. */
.catalog .gallery { display:flex; flex-direction:column; gap:10px; }
.catalog .gallery-main { position:relative; }
.catalog .gallery-thumbs { display:flex; gap:8px; flex-wrap:wrap; }
.catalog .gallery-thumb { padding:0; border:1.5px solid #dcdcde; border-radius:4px; background:#fff; cursor:pointer; width:66px; height:50px; overflow:hidden; }
.catalog .gallery-thumb.is-active { border-color:#ff6a14; }
.catalog .gallery-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
/* Слайдер фото марки и артикула: стрелки внизу справа, как в галерее темы. */
.catalog .mark-gallery .mark-photo { cursor:grab; user-select:none; touch-action:pan-y; }
.catalog .mark-gallery .mark-photo:active { cursor:grabbing; }
.catalog .gallery-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:12px; }
.catalog .gallery-counter { margin:0; color:var(--muted); font-size:14px; font-variant-numeric:tabular-nums; }
.catalog .gallery-arrows { display:flex; align-items:center; gap:10px; }
.catalog .gallery-open { display:block; width:100%; padding:0; border:0; background:none; cursor:zoom-in; }
.catalog .mark-gallery .mark-photo { transition:opacity .22s ease; }
.catalog .mark-gallery .mark-photo.is-switching { opacity:.2; }
.catalog .gallery-dialog__image { transition:opacity .2s ease; }
.catalog .gallery-dialog__image.is-switching { opacity:.25; }
@media (prefers-reduced-motion: reduce) {
  .catalog .mark-gallery .mark-photo,
  .catalog .gallery-dialog__image { transition:none; }
}
/* Увеличенный просмотр фото по клику. */
.catalog .gallery-dialog { max-width:96vw; max-height:96vh; padding:0; border:0; background:transparent; overflow:visible; }
.catalog .gallery-dialog::backdrop { background:rgba(13,14,16,.85); }
/* Открытие и закрытие просмотра — с проявлением, а не рывком. */
.catalog .gallery-dialog[open] { animation:gallery-dialog-in .22s ease both; }
.catalog .gallery-dialog[open]::backdrop { animation:gallery-backdrop-in .22s ease both; }
.catalog .gallery-dialog.is-closing { animation:gallery-dialog-out .17s ease both; }
.catalog .gallery-dialog.is-closing::backdrop { animation:gallery-backdrop-out .17s ease both; }
@keyframes gallery-dialog-in { from { opacity:0; transform:scale(.96); } to { opacity:1; transform:scale(1); } }
@keyframes gallery-dialog-out { from { opacity:1; transform:scale(1); } to { opacity:0; transform:scale(.97); } }
@keyframes gallery-backdrop-in { from { opacity:0; } to { opacity:1; } }
@keyframes gallery-backdrop-out { from { opacity:1; } to { opacity:0; } }
@media (prefers-reduced-motion: reduce) {
  .catalog .gallery-dialog[open],
  .catalog .gallery-dialog[open]::backdrop,
  .catalog .gallery-dialog.is-closing,
  .catalog .gallery-dialog.is-closing::backdrop { animation:none; }
}
.catalog .gallery-dialog__image { display:block; max-width:92vw; max-height:88vh; object-fit:contain; background:#fff; }
.catalog .gallery-dialog__close,
.catalog .gallery-dialog__nav { position:absolute; width:44px; height:44px; padding:0; border:0; border-radius:50%; background:#fff; color:var(--fg); font-size:26px; line-height:1; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; }
.catalog .gallery-dialog__close:hover,
.catalog .gallery-dialog__nav:hover { color:#ff6a14; }
.catalog .gallery-dialog__close { top:-16px; right:-16px; }
.catalog .gallery-dialog__nav { top:50%; transform:translateY(-50%); font-size:30px; }
.catalog .gallery-dialog__nav--prev { left:8px; }
.catalog .gallery-dialog__nav--next { right:8px; }

/* Пояснение исполнения — подсказкой при наведении (вместо раскрывашки «Что означает запись»). */
.catalog .tbl .has-tip { cursor:help; text-decoration:underline dotted; text-underline-offset:3px; }
/* Двухколоночная таблица характеристик: подпись занимает всё место, значение прижато к правому краю */
.catalog .tbl--spec th[scope=row] { width:100%; }
.catalog .tbl--spec td { text-align:right; white-space:nowrap; padding-left:24px; }

/* Пагинация таблицы исполнений «← [2] показать больше →» (Артыкул2.png). */
.catalog .pager-more { display:flex; align-items:center; justify-content:flex-end; gap:8px; margin-top:16px; }
.catalog .pager-more.is-loading { opacity:.45; pointer-events:none; }
.catalog .pager-arrow { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; box-sizing:border-box; border-radius:50%; border:1.5px solid #dcdcde; background:#fff; color:var(--fg); text-decoration:none; font-size:18px; line-height:1; }
.catalog .pager-arrow:hover { border-color:#ff6a14; color:#ff6a14; }
.catalog .pager-arrow.is-disabled { opacity:.35; border-color:#dcdcde; color:var(--muted); }
.catalog .pager-current { display:inline-flex; align-items:center; justify-content:center; min-width:48px; height:44px; box-sizing:border-box; padding:0 10px; background:var(--soft); border-radius:4px; font-size:16px; font-weight:500; }
.catalog .pager-more-link { color:var(--fg); text-decoration:none; font-size:15px; margin-right:4px; }
.catalog .pager-more-link:hover { color:#ff6a14; }

/* «очистить» у фасета — с иконкой корзинки (как в макете). */
.catalog .facet-head .facet-clear { display:inline-flex; align-items:center; gap:4px; text-decoration:none; }
.catalog .facet-head .facet-clear:hover { color:#ff6a14; }
.catalog .facet-combo-clear svg { display:block; }
/* Сворачивание/разворачивание группы фильтров — аккуратный шеврон вместо системного треугольника. */
.catalog .filter-group > summary { display:flex; align-items:center; justify-content:space-between; gap:8px; list-style:none; }
.catalog .filter-group > summary::-webkit-details-marker { display:none; }
.catalog .filter-group > summary::after { content:''; width:9px; height:9px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); transition:transform .2s ease; flex-shrink:0; margin-right:3px; }
.catalog .filter-group[open] > summary::after { transform:rotate(-135deg); }

/* Метраж и вес в таблице номенклатуры (по Каталог3.png) */
.catalog .qty { display:flex; align-items:center; gap:6px; white-space:nowrap; }
.catalog .qty-btn { position:relative; flex:none; display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; padding:0; border-radius:50%; border:1px solid #dcdcde; background:#fff; color:var(--fg); font:inherit; font-size:0; line-height:1; cursor:pointer; }
.catalog .qty-btn:hover { border-color:#ff6a14; color:#ff6a14; }
/* Знаки рисуем сами: так «−» и «+» стоят ровно по центру круга, без смещения от метрик шрифта. */
.catalog .qty-btn::before, .catalog .qty-btn::after { content:''; position:absolute; left:50%; top:50%; background:currentColor; border-radius:1px; }
.catalog .qty-btn::before { width:10px; height:1.5px; margin:-0.75px 0 0 -5px; }
.catalog .qty-btn[data-qty-plus]::after { width:1.5px; height:10px; margin:-5px 0 0 -0.75px; }
.catalog .qty-field { display:inline-flex; align-items:center; gap:2px; }
.catalog .qty-input { width:42px; padding:4px 2px; border:0; background:transparent; text-align:center; font:inherit; color:inherit; -moz-appearance:textfield; }
.catalog .qty-input::-webkit-outer-spin-button, .catalog .qty-input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.catalog .qty-input:focus, .catalog .qty-input:focus-visible { outline:none; }
.catalog .qty-unit { color:var(--muted); font-size:13px; }
.catalog .qty-weight { color:var(--muted); font-size:13px; min-width:46px; }
.catalog .qty-cart { position:relative; flex:none; display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; padding:0; border:0; border-radius:3px; background:transparent; color:var(--muted); cursor:pointer; transition:background-color .15s ease, color .15s ease; }
.catalog .qty-cart:hover { color:#ff6a14; background:var(--soft); }
/* Позиция в заявке: кнопка становится зелёной, плюс меняется на галочку (как в макете). */
.catalog .qty-cart.is-active { background:#00c771; color:#fff; border-radius:6px; }
.catalog .qty-cart.is-active:hover { background:#00b365; color:#fff; }
.catalog .qty-cart .cart-plus, .catalog .qty-cart .cart-check { transition:opacity .15s ease; }
.catalog .qty-cart .cart-check { opacity:0; }
.catalog .qty-cart.is-active .cart-plus { opacity:0; }
.catalog .qty-cart.is-active .cart-check { opacity:1; }

/* Метраж: «−» тёмный, пока есть что уменьшать, и гаснет на 1; количество в серой плашке, «+» тёмный. */
.catalog .qty-btn[data-qty-minus] { border-color:#1b1f24; color:#1b1f24; }
.catalog .qty-btn[data-qty-minus]:hover { border-color:#ff6a14; color:#ff6a14; }
.catalog .qty-btn[data-qty-plus] { border-color:#1b1f24; color:#1b1f24; background:#fff; }
.catalog .qty-btn[data-qty-plus]:hover { border-color:#ff6a14; color:#ff6a14; }
/* Пока метраж 1 (или достигнут предел 9999), кнопка недоступна и выглядит светлой. */
.catalog .qty-btn:disabled { border-color:#ededef; color:#c9c9cb; cursor:default; }
.catalog .qty-btn:disabled::before, .catalog .qty-btn:disabled::after { background:#c9c9cb; }
.catalog .qty-btn:disabled:hover { border-color:#ededef; color:#c9c9cb; }
.catalog .qty-field { background:var(--soft, #f4f4f5); border-radius:3px; padding:0 10px; min-height:30px; }
.catalog .qty-input { width:38px; }
/* Страница артикула: действия (количество, «добавить в заявку»). */
.catalog .article-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:16px 0; }
.catalog .cta-button { border:0; border-radius:3px; background:#ff6a14; color:#0d0e10; padding:12px 18px; font:inherit; font-size:15px; cursor:pointer; transition:background-color .15s ease, color .15s ease; }
.catalog .cta-button:hover { background:#ff8036; }
.catalog .cta-button.is-active { background:#00c771; color:#fff; }
.catalog .cta-button.is-active:hover { background:#00b365; color:#fff; }
/* Область поиска: «в этом разделе / во всём каталоге». */
.catalog .cat-search { flex-wrap:wrap; }
.catalog .cat-search .search-scope { flex-basis:100%; display:flex; gap:16px; padding:0 16px 10px; font-size:14px; }
.catalog .cat-search .search-scope-item { display:inline-flex; align-items:center; gap:6px; cursor:pointer; }
/* Диапазон «от … до …» в панели фильтров (температура). */
.catalog .facet-range-fields { display:flex; align-items:center; gap:8px; margin:2px 0 8px; }
.catalog .facet-range-field { display:inline-flex; align-items:center; gap:6px; flex:1; }
.catalog .facet-range-field input { width:100%; min-width:0; padding:6px 8px; border:1px solid var(--line); border-radius:3px; font:inherit; font-size:14px; }
.catalog .facet-range-hints { display:flex; flex-wrap:wrap; gap:8px; color:var(--muted); font-size:12px; margin-bottom:8px; }
/* Стрелки в дереве левого меню: анимированный шеврон. */
.catalog .category-branch > summary { display:flex; align-items:center; gap:6px; list-style:none; }
.catalog .category-branch > summary::-webkit-details-marker { display:none; }
.catalog .category-branch > summary::after { content:''; width:7px; height:7px; margin-left:auto; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(-45deg); transition:transform .2s ease; flex-shrink:0; }
.catalog .category-branch[open] > summary::after { transform:rotate(45deg); }


/* Третий уровень дерева каталога — марки с прямой ссылкой. */
.catalog .category-leaf > summary { display:flex; align-items:center; gap:6px; list-style:none; font-size:15px; color:var(--muted); }
.catalog .category-leaf > summary::-webkit-details-marker { display:none; }
.catalog .category-leaf > summary::after { content:''; width:6px; height:6px; margin-left:auto; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(-45deg); transition:transform .2s ease; flex-shrink:0; }
.catalog .category-leaf[open] > summary::after { transform:rotate(45deg); }
.catalog .category-leaf > summary a { color:inherit; }
.catalog .category-leaf ul { padding:10px 0 0 14px; font-size:14px; gap:10px; }
.catalog .category-leaf ul a { color:var(--muted); }
.catalog .category-leaf ul a:hover { color:var(--link); }

/* Поиск в каталоге: поле тянется, лупа слева, область поиска — второй строкой. */
.catalog .cat-search { display:flex; flex-wrap:wrap; align-items:center; gap:0; }
.catalog .cat-search input { flex:1 1 auto; width:auto; min-width:0; }
.catalog .cat-search button { order:-1; flex:0 0 52px; width:52px; }
.catalog .cat-search .search-scope { flex-basis:100%; display:flex; flex-wrap:wrap; gap:8px 16px; padding:0 16px 12px; font-size:14px; }
.catalog .cat-search .search-scope-item { display:inline-flex; align-items:center; gap:6px; cursor:pointer; white-space:nowrap; }

/* Область поиска — кнопки с рамкой, активная оранжевая, на наведении тоже рамка. */
.catalog .cat-search .search-scope { align-items:center; gap:8px; }
.catalog .cat-search .search-scope-label { color:var(--muted); font-size:14px; margin-right:2px; }
.catalog .cat-search .search-scope-item { display:inline-flex; align-items:center; gap:6px; padding:6px 14px; border:1px solid #dcdcde; border-radius:3px; background:#fff; color:var(--fg); cursor:pointer; white-space:nowrap; transition:border-color .15s ease, color .15s ease; }
.catalog .cat-search .search-scope-item:hover { border-color:#ff6a14; color:#ff6a14; }
.catalog .cat-search .search-scope-item input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.catalog .cat-search .search-scope-item:has(input:checked) { border-color:#ff6a14; color:#1b1f24; }
.catalog .cat-search .search-scope-item:has(input:focus-visible) { outline:2px solid #ff6a14; outline-offset:2px; }

/* «Показать» и «Искать» — один ряд кнопок под полем поиска. */
.catalog .listing-modes { flex-wrap:wrap; }
.catalog .listing-modes__group { display:inline-flex; align-items:center; gap:6px; margin-left:24px; font-size:14px; color:var(--fg); }
.catalog .listing-modes__group > span { color:var(--muted); margin-right:4px; }
.catalog .listing-modes__radio { display:inline-flex; align-items:center; gap:6px; padding:3px 8px; border:1px solid var(--line); border-radius:3px; background:#fff; color:var(--fg); cursor:pointer; white-space:nowrap; transition:border-color .15s ease; }
.catalog .listing-modes__radio:hover { border-color:#ff8036; }
.catalog .listing-modes__radio:has(input:checked) { border-color:#ff8036; color:#1b1f24; }
.catalog .listing-modes__radio input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.catalog .listing-modes__radio:has(input:focus-visible) { outline:2px solid #ff6a14; outline-offset:2px; }
@media (max-width: 900px) { .catalog .listing-modes__group { margin-left:0; } }

/* Подсказки у иконок преимуществ в карточке марки — по наведению, не по клику. */
.catalog .card-benefit { position:relative; display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; cursor:help; }
.catalog .card-benefit:focus-visible { outline:2px solid #ff6a14; outline-offset:2px; }
.catalog .card-benefit-tip { position:absolute; top:100%; right:0; width:220px; max-width:60vw; padding:12px; background:#fff; border-radius:4px; box-shadow:0 4px 16px #0002; z-index:4; font-size:14px; line-height:1.35; color:#1b1f24; opacity:0; visibility:hidden; transform:translateY(-4px); transition:opacity .15s ease, transform .15s ease, visibility .15s; pointer-events:none; }
.catalog .card-benefit:hover .card-benefit-tip,
.catalog .card-benefit:focus-visible .card-benefit-tip { opacity:1; visibility:visible; transform:translateY(0); }
.catalog .card-benefit img { width:20px; height:20px; object-fit:contain; opacity:.65; }
@media (max-width:600px) { .catalog .card-benefit-tip { left:0; right:auto; width:180px; max-width:50vw; } }

/* «Показать», «Искать» и «все фильтры» — на наведении только рамка, цвет текста не меняем. */
.catalog .listing-modes a { transition:border-color .15s ease; }
.catalog .listing-modes a:hover { color:inherit; border-color:#ff8036; }
.catalog .filter-drawer-trigger { transition:border-color .15s ease; }
.catalog .filter-drawer-trigger:hover { border-color:#ff8036; }

/* Подсветка иконок преимуществ при наведении: мягкий круг + иконка из .65 в 1.0. */
.catalog .card-benefit { border-radius:50%; transition:background-color .15s ease; }
.catalog .card-benefit:hover,
.catalog .card-benefit:focus-visible { background:#eef1f4; }
.catalog .card-benefit:hover img,
.catalog .card-benefit:focus-visible img { opacity:1; }
.catalog .adv li { border-radius:50%; transition:background-color .15s ease; }
.catalog .adv li:hover { background:#eef1f4; }
.catalog .adv li:hover .ico { opacity:1; }
.catalog .adv .ico { transition:opacity .15s ease; }

/* Карточка марки по макету: характеристики и иконки преимуществ в одну строку. */
.catalog .mark-card-meta { display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-top:4px; }
.catalog .mark-card-meta .mark-card-specs { margin:0; }
.catalog .mark-card-meta .card-benefits { margin-top:0; }

/* Номенклатура: карточка марки + её таблица исполнений идут парами. */
.catalog .results-items > .card.mark-card + .scroll { margin:0 0 24px; }
.catalog .results .card.mark-card { margin-bottom:12px; }

/* Фильтры: заголовок внутри поля, как в макете; одна рамка без двойного выделения. */
.catalog .facet-combo .facet-name { display:block; flex:0 0 100%; margin:0; font-size:12px; line-height:1.25; color:var(--muted); }
.catalog .facet-combo-control { padding:6px 32px 6px 10px; align-content:center; }
.catalog .facet-combo-control:focus-within { border-color:#ff6a14; }
.catalog .facet-combo-search:focus,
.catalog .facet-combo-search:focus-visible { outline:0 !important; box-shadow:none !important; border:0; }
.catalog .facet-combo-control:focus-within .facet-combo-search { outline:0 !important; }

/* Мобильные: подсказка иконки не должна растягивать страницу вправо.
   На тач-экранах ховера нет — скрываем её, текст остаётся в aria-label иконки. */
@media (max-width: 600px) {
  .catalog .card-benefit-tip { display: none; }
}
.catalog .mark-card, .catalog .card-benefits { overflow-x: clip; }

/* Подсказка иконки: центрируем под иконкой и снимаем обрезку — clip резал её слева.
   От мобильного вылета защищает display:none на узких экранах, а не overflow. */
.catalog .mark-card, .catalog .card-benefits { overflow-x: visible; }
.catalog .card-benefit-tip { right: auto; left: 50%; transform: translate(-50%, -4px); }
.catalog .card-benefit:hover .card-benefit-tip,
.catalog .card-benefit:focus-visible .card-benefit-tip { transform: translate(-50%, 0); }

/* Текущий раздел марки в оглавлении слева: акцентный цвет и чуть плотнее начертание */
.catalog .section-nav a[aria-current="location"] { color:#a63c0b; font-weight:500; }

/* Плавающая кнопка каталога на телефоне: фильтры, избранное и сравнение под рукой */
.cat-fab { display: none; }
@media (max-width: 1024px) {
  .cat-fab { display: block; position: fixed; right: 14px; bottom: calc(14px + env(safe-area-inset-bottom, 0px)); z-index: 60; }
  .cat-fab__btn { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 54px; height: 54px; padding: 0; border: 0; border-radius: 50%; background: #ff6a14; color: #fff; box-shadow: 0 8px 24px -6px rgba(13,14,16,.45); cursor: pointer; }
  .cat-fab__btn:hover { background: var(--accent-hover, #e25508); }
  .cat-fab__btn:focus-visible { outline: 3px solid #1b1f24; outline-offset: 2px; }
  .cat-fab__badge { position: absolute; top: -2px; right: -2px; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 10px; background: #1b1f24; color: #fff; font-size: 12px; line-height: 20px; text-align: center; }
  .cat-fab__panel { position: absolute; right: 0; bottom: 66px; min-width: 190px; padding: 6px; border-radius: 6px; background: #fff; box-shadow: 0 12px 32px -8px rgba(13,14,16,.35); display: flex; flex-direction: column; gap: 2px; }
  .cat-fab__panel[hidden] { display: none; }
  .cat-fab__item { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 14px; border-radius: 4px; color: var(--fg); font-size: 15px; text-decoration: none; cursor: pointer; }
  .cat-fab__item:hover, .cat-fab__item:focus-visible { background: var(--soft); color: #ff6a14; }
  .cat-fab__item[hidden] { display: none; }
  .cat-fab__count { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 10px; background: #ff6a14; color: #fff; font-size: 12px; line-height: 20px; text-align: center; }
  /* Кнопка «наверх» и баннер cookie не перекрывают плавающую кнопку */
  .catalog .to-top { bottom: 84px; }
  html.consent-on .cat-fab { bottom: calc(var(--consent-h, 0px) + 14px); }
}

/* Подсказки поиска в каталоге: марки и исполнения под строкой поиска. */
.cat-search { position: relative; }
.cat-suggest { position: absolute; top: calc(100% + 6px); left: 0; right: 0; z-index: 70; max-height: 320px; overflow: auto; border-radius: 6px; background: #fff; box-shadow: 0 12px 32px -8px rgba(13, 14, 16, .35); padding: 6px; }
.cat-suggest__item { display: block; padding: 10px 12px; border-radius: 4px; color: var(--fg); font-size: 15px; line-height: 1.35; text-decoration: none; }
.cat-suggest__item:hover, .cat-suggest__item:focus-visible { background: var(--soft); color: #ff6a14; }
.cat-suggest__path { display: block; color: #626267; font-size: 12px; margin-top: 2px; }

/* Избранное и сравнение на карточке марки: только значки справа сверху, без плашек и фона. */
.mark-card { position: relative; }
.mark-card-actions { position: absolute; top: 12px; right: 12px; z-index: 2; display: flex; gap: 14px; }
.mark-card .mark-act { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; color: #626267; cursor: pointer; }
.mark-card .mark-act svg { flex: none; }
.mark-card .mark-act:hover { color: #ff6a14; }
.mark-card .mark-act.is-on { color: #ff6a14; }
.mark-card .mark-act.is-on svg { fill: currentColor; }

/* Скелетоны выдачи на время загрузки фильтров */
.catalog .skeleton-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 16px; }
.catalog .skeleton-card { padding: 14px; border: 1px solid var(--line); border-radius: 6px; background: #fff; }
.catalog .skeleton-block { border-radius: 4px; background: linear-gradient(100deg, #eef0f2 30%, #f8f9fa 50%, #eef0f2 70%); background-size: 200% 100%; animation: elkacat-shimmer 1.1s ease-in-out infinite; }
.catalog .skeleton-img { aspect-ratio: 4 / 3; margin-bottom: 12px; }
.catalog .skeleton-line { height: 14px; margin-bottom: 8px; }
.catalog .skeleton-line.short { width: 65%; }
.catalog .skeleton-line.tiny { width: 40%; height: 11px; margin-bottom: 0; }
@keyframes elkacat-shimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }
@media (prefers-reduced-motion: reduce) { .catalog .skeleton-block { animation: none; } }