@font-face{font-family:Roboto;font-style:normal;font-weight:100 900;font-display:swap;src:url('/static/fonts/Roboto.woff2') format('woff2')}
.page-title{margin:var(--s2) 0 var(--s5)}.intro{margin-top:var(--s4)}
.content-page{max-width:1000px;padding:var(--s5) 0 var(--s8)}.content-page>p{margin-top:var(--s5);max-width:760px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s6);margin-top:var(--s6)}.content-page h2{margin-bottom:var(--s4)}
.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-errors{background:var(--color-danger-bg);color:var(--color-danger);padding:var(--s4);border-radius:var(--radius-lg);margin-bottom:var(--s4)}.form-errors p{margin:0}.form-note{margin-top:var(--s3)}.btn:disabled{opacity:.65;cursor:wait}.figure svg{width:100%;height:auto}.sources h2{font-size:20px}.catalog-intro{margin-bottom:var(--s5);max-width:800px}.field select{width:100%;min-height:44px;border:1px solid var(--color-border);border-radius:var(--radius);padding:8px;color:var(--color-text);background:white;font:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.footer__logo img{margin-bottom:var(--s4)}
@media(max-width:767px){.contact-grid{grid-template-columns:1fr}.dimstrip__v{font-size:30px}.panel h2{font-size:22px}}
.pdp>div,.pdp>aside{min-width:0}.dimstrip{grid-template-columns:repeat(3,minmax(0,1fr))}.dimstrip__i{min-width:0}.filters form>a{display:flex;align-items:center;min-height:44px;margin-top:var(--s2)}
@media(max-width:639px){.dimstrip__i{padding:var(--s4) var(--s2)}.dimstrip__v{font-size:28px;overflow-wrap:anywhere}.dimstrip__v small{display:block;margin:var(--s1) 0 0}.mbar .btn{min-width:0;padding-left:var(--s3);padding-right:var(--s3)}}
.analytics-choice{position:fixed;bottom:var(--s4);left:var(--s4);right:var(--s4);max-width:720px;margin:auto;background:white;border:1px solid var(--color-border);box-shadow:var(--shadow-2);border-radius:var(--radius-lg);padding:var(--s5);z-index:100}.analytics-choice .btn{margin:var(--s1)}.analytics-settings{display:block;min-height:44px;margin:var(--s4) auto;border:0;background:none;color:var(--color-primary);font:inherit;text-decoration:underline;cursor:pointer}

.stock-placeholder{display:grid;gap:8px;text-align:center;padding:24px;max-width:100%;color:var(--color-text)}.stock-placeholder>span{font-weight:700;color:var(--color-primary)}.stock-placeholder>strong{font-size:18px;overflow-wrap:anywhere}.stock-placeholder>small{color:var(--color-text-muted)}

.pdp>*{min-width:0}.pdp h1,.crumbs li{overflow-wrap:anywhere}.spec td{white-space:normal;overflow-wrap:anywhere}.tablewrap{max-width:100%}
.pdp{overflow-wrap:anywhere}.pdp .alert p{min-width:0;max-width:100%;overflow-wrap:anywhere}

.stock-notice{display:block}.stock-notice p{margin-top:12px}

/* ===== правки переноса макета ===== */
/* иконки статуса наличия (смысл не только цветом) */
.badge::before{content:"";flex:none;width:16px;height:16px;background:currentColor;-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat}
.badge--in{--i:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M3.5 8.5l3 3 6-7' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>")}
.badge--out{--i:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><circle cx='8' cy='8' r='5.5' fill='none' stroke='black' stroke-width='2'/></svg>")}
.badge--ask{--i:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><circle cx='8' cy='8' r='6.5' fill='none' stroke='black' stroke-width='1.6'/><path d='M6.2 6.3a1.9 1.9 0 113.2 1.3c-.6.5-1.4.8-1.4 1.7M8 11.6v.1' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round'/></svg>")}
/* заголовок карточки не слипается с блоком размеров */
.pdp h1{margin:var(--s2) 0 var(--s4)}
.pdp .alert,.pdp .intro{margin-bottom:var(--s4)}
/* числа размеров не переносятся посреди значения */
.dimstrip__v{white-space:nowrap;overflow-wrap:normal}
@media(max-width:639px){.dimstrip__v{font-size:22px;overflow-wrap:normal}.dimstrip__l{font-size:12px;line-height:16px}}
/* плитки категорий: 6 штук — по три в ряд */
@media(min-width:1024px){.cats:has(>:nth-child(5)){grid-template-columns:repeat(3,1fr)}}
/* фильтры: счётчик не прилипает к названию */
.filters li a{gap:var(--s3);align-items:baseline}
/* иконки в плитках доверия и в меню */
.trust svg,.ims__fact svg{flex:none}
.menu-btn svg{width:16px;height:16px}
.copy svg{flex:none}
.figure figcaption a{white-space:nowrap}

/* карточки: ровная вёрстка, кнопка внизу, без лишних отступов абзацев */
.card__body p{margin:0}
.card__body{gap:var(--s2)}
.card__title{margin:0}
.card__actions{margin-top:auto;padding-top:var(--s4)}
.card .btn{white-space:nowrap;padding-left:var(--s4);padding-right:var(--s4)}
.block .grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.card__dims{margin-top:2px}
/* поля выбора в фильтрах — в стиле остальных полей */
.field select{appearance:none;-webkit-appearance:none;background:var(--color-surface) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1.5l5 5 5-5' fill='none' stroke='%233f6aa6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat right 14px center;border:1px solid var(--color-border);border-radius:var(--radius);padding:8px 38px 8px 12px;min-height:44px;font:inherit;color:var(--color-text);cursor:pointer;transition:border-color .15s,background-color .15s}
.field select:hover{border-color:var(--color-brand-light)}
.field select:focus{background-color:#fff;border-color:var(--color-primary)}

.block .grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.block .card__media{aspect-ratio:16/10;padding:var(--s4) var(--s4) var(--s2)}
.block .card__media svg{max-width:110px}
.dims-filter{border:0;padding:0;margin:0 0 var(--s4);display:grid;grid-template-columns:1fr 1fr;gap:0 var(--s3)}
.dims-filter legend{padding:0;margin-bottom:var(--s2);font-weight:600;font-size:15px}
.dims-filter .field{margin-bottom:var(--s3)}
.dims-filter .field label{font-family:var(--font-mono);font-weight:700}

/* подвал всегда внизу окна */
body{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
body>main{flex:1 0 auto}
.footer{margin-top:auto}
/* контакты плитками */
.contact-list{list-style:none;margin:var(--s4) 0 0;padding:0;display:grid;gap:var(--s3)}
.contact-list li{display:grid;gap:4px;padding:var(--s4) var(--s5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:linear-gradient(180deg,#fff,var(--color-surface));box-shadow:var(--shadow-1)}
.contact-list__k{font-size:13px;line-height:18px;color:var(--color-text-muted);font-weight:600}
.contact-list a{font-weight:600;font-size:18px;text-decoration:none}
.contact-list a:hover{text-decoration:underline}
/* 404 */
.error-code{font:700 clamp(64px,10vw,112px)/1 var(--font-mono);letter-spacing:-.04em;color:var(--color-brand);margin-bottom:var(--s3)}
.content-page--404 .search{margin-top:var(--s5);max-width:640px}
.btn-row{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s5)}
/* CTA на информационных страницах */
.content-cta{margin-top:var(--s7);grid-template-columns:1fr;max-width:820px}
@media(min-width:768px){.content-cta{grid-template-columns:1fr auto;align-items:center}}
.content-cta .btn{justify-self:start}
/* пустая выдача внутри каталога */
.catalog .empty{margin:0;max-width:none;padding:var(--s6) 0}
.catalog .empty .btn{margin-top:var(--s4)}
/* вход в админку */
.login-panel .small{margin-top:var(--s4)}

/* размеры целей нажатия и аккуратные переносы */
.vchip{white-space:nowrap}
.nav a{min-height:44px;display:inline-flex;align-items:center}
.topbar a{display:inline-flex;align-items:center;min-height:32px}
@media(max-width:1023px){.topbar a{min-height:40px}}
.crumbs a{display:inline-block;padding:6px 0}
.footer ul a,.footer__legal a{display:inline-block;padding:6px 0;min-height:32px}
.chip{display:inline-flex;align-items:center;min-height:40px;padding:6px 14px}
.link-arrow{min-height:44px}
.copy{min-height:44px;padding:0 16px}
.logo{display:inline-flex;align-items:center;min-height:44px}
.footer__logo{display:inline-block;padding:6px 0}
.card__title--long{font-size:16px;line-height:22px;letter-spacing:-.04em}

/* шапка на средних ширинах: без переносов в меню */
@media(min-width:1024px){
  .nav{gap:2px;margin-left:0}
  .nav a{white-space:nowrap;padding:8px 10px}
  .header__search{flex:1 1 150px;min-width:150px;max-width:300px}
  .header__cta{padding-left:16px;padding-right:16px}
}
@media(min-width:1024px) and (max-width:1199px){
  .header .container{gap:var(--s2) var(--s3)}
  .logo img{width:132px;height:auto}
  .header__search input{padding-left:14px}
}
.catalog .grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
@media(min-width:1024px){.catalog .grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}}

/* ===== форма заявки: аккуратная структура ===== */
.panel__top{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s3);margin-bottom:var(--s3)}
.panel h2{margin:0 0 var(--s1)}
.panel .intro{margin:0 0 var(--s4)}
.panel form .field{margin-bottom:var(--s3)}
.panel form .field label,.dlg form .field label{margin-bottom:6px}
.field--row{align-items:start;grid-template-columns:92px 1fr}
.contact-group{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--s3) var(--s4) var(--s1);margin:0 0 var(--s3);background:linear-gradient(180deg,#fff,var(--color-surface))}
.contact-group legend{padding:0 var(--s2);font-weight:700;font-size:14px;line-height:20px}
.contact-group legend span{font-weight:400;color:var(--color-text-muted)}
.contact-group .field{margin-bottom:var(--s3)}
.contact-group input{background:#fff}
.more{margin:0 0 var(--s3)}
.more summary{cursor:pointer;color:var(--color-primary);font-weight:600;font-size:15px;min-height:36px;display:flex;align-items:center;gap:6px;list-style:none}
.more summary::-webkit-details-marker{display:none}
.more summary::before{content:"+";display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--color-primary-soft);font-weight:700;line-height:1}
.more[open] summary::before{content:"–"}
.more .field{margin-top:var(--s2);margin-bottom:0}
.field-error{color:var(--color-danger);font-size:14px;line-height:20px;margin-top:6px}
.field--error input{border-color:var(--color-danger);background:var(--color-danger-bg)}
.field input[aria-invalid=true]{border-color:var(--color-danger)}
.check{margin-bottom:var(--s4)}
.form-note{margin-top:var(--s3)}
.check span{min-width:0}
.check a{white-space:nowrap}

/* подсказки поиска */
form.search{position:relative}
.suggest{position:absolute;z-index:70;top:calc(100% + 8px);left:0;right:0;margin:0;padding:6px;list-style:none;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);max-height:320px;overflow:auto}
.suggest li{padding:10px 12px;border-radius:8px;cursor:pointer;font:600 15px/22px var(--font-mono);color:var(--color-text);overflow-wrap:anywhere}
.suggest li:hover,.suggest li[aria-selected=true]{background:var(--color-primary-soft);color:var(--color-primary-hover)}
.suggest[hidden]{display:none}
.search--lg .suggest li{font-size:16px}
/* список подсказок на главной не обрезается первым экраном */
.hero{overflow:visible;overflow-x:clip}
.hero .search{z-index:5}
/* страховка: ниже подвала никогда не бывает белой полосы */
html{background:#2b3b57;min-height:100%}
body{background:#fff}

/* Подтверждение запроса — общий компонент для всех форм. */
.lead-success{padding:24px 20px;background:#f0f8f3;border:1px solid #d5e9dc;border-radius:16px;text-align:center}
.lead-success:focus{outline:none}
.lead-success__icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin:0 auto 16px;border-radius:50%;background:#dcefe3;color:#176b38}
.lead-success__icon svg{width:24px;height:24px}
.lead-success h3{margin:0 0 10px;font-size:22px;line-height:1.3;color:var(--color-text)}
.lead-success p{margin:0;line-height:1.5;color:var(--color-text-muted)}
.panel--submitted>h2,.panel--submitted>.intro{display:none}
.content-page>.lead-success{max-width:560px;margin-bottom:24px}
