@font-face {
  font-family: 'Golos Text';
  src: url('/fonts/golos-cyrillic.woff2') format('woff2');
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face {
  font-family: 'Golos Text';
  src: url('/fonts/golos-latin.woff2') format('woff2');
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

:root {
  --ink: #30353c;
  --text: #30353c;
  --muted: #687079;
  --paper: #f6f7f8;
  --line: #e5e8eb;
  --red: #c54436;
  --soft: #faf3f0;
  --orange: #c54436;
  --yellow: #a3362a;
}

body { font-family: 'Golos Text', sans-serif; font-size: 16px; font-weight: 400; line-height: 1.65; color: var(--ink); }
h1, h2, h3 { font-weight: 600; letter-spacing: -.025em; }
h1, h2 { line-height: 1.18; }
h2 { font-size: clamp(28px, 3vw, 38px); }
p { color: var(--muted); }
.ui-icon { display: inline-block; width: 20px; height: 20px; flex: 0 0 20px; vertical-align: middle; }
.container { width: min(1264px, calc(100% - 64px)); }
::selection { color: #30353c; background: #f2d8d0; }
:focus-visible { outline: 3px solid #577b9d; outline-offset: 4px; }

.topbar { border-bottom: 1px solid #f0f1f2; }
.topbar-inner { height: 84px; }
.brand { gap: 11px; }
.brand-mark { width: 42px; height: 42px; background: #c54436; border-radius: 15px; font-size: 20px; font-weight: 600; position: relative; }
.brand-dot { position: absolute; width: 5px; height: 5px; background: #f4cabf; right: 7px; bottom: 8px; border-radius: 50%; }
.brand b { font-size: 21px; font-weight: 600; letter-spacing: -.025em; }
.brand small { font-size: 11px; color: #727983; margin-top: 3px; }
.detail-nav { font-size: 14px; font-weight: 450; gap: 34px; }
.detail-nav a { border-radius: 8px; }
.phone-link { display: inline-flex; align-items: center; gap: 9px; font-weight: 500; font-size: 15px; }
.phone-link .ui-icon { width: 18px; height: 18px; flex-basis: 18px; color: #7b838d; }
.btn { min-height: 50px; padding: 13px 21px; border-radius: 15px; font-size: 14px; font-weight: 500; gap: 9px; transition: background-color .18s, border-color .18s, box-shadow .18s; }
.btn-primary { background: var(--red); box-shadow: 0 4px 10px #8b34220b; }
.btn-primary:hover { background: #ad392d; box-shadow: 0 5px 12px #8b342216; }
.btn-outline, .btn-dark { border-color: #e2e5e9; background: #fff; color: #4b535d; box-shadow: none; }
.btn-outline:hover, .btn-dark:hover { background: #f1f3f5; border-color: #c8cfd6; }
.text-link { display: inline-flex; align-items: center; gap: 8px; font-weight: 500; text-decoration: none; color: #7d493f; }
.text-link:hover { color: #ae382c; text-decoration: underline; text-underline-offset: 5px; }
.text-link .ui-icon { width: 17px; height: 17px; flex-basis: 17px; }

.hero { background: #fbf5f2; padding: 42px 0 24px; }
.hero-grid { grid-template-columns: 1.35fr 1fr; gap: 56px; padding-bottom: 34px; }
.hero h1 { font-size: clamp(40px, 4.3vw, 58px); line-height: 1.15; font-weight: 600; letter-spacing: -.035em; margin-bottom: 24px; }
.hero h1 em { color: #b7483b; }
.hero-copy>p { font-size: 17px; color: #746b67; line-height: 1.65; margin-bottom: 24px; }
.hero-copy .text-link { font-size: 14px; }
.hero-product { width: 100%; max-width: 430px; border-radius: 28px; padding: 16px; transform: none; box-shadow: 0 12px 32px #7f4d3210; }
.hero-product img { height: 254px; border-radius: 18px; background: #fcfbfa; }
.hero-product>span { font-size: 14px; font-weight: 500; padding: 0 4px; margin-top: 16px; }
.hero-product b { font-size: 12px; background: #f3f5f6; color: #65707b; border-radius: 8px; font-weight: 450; }
.hero-photo-link { display: inline-flex; align-items: center; gap: 4px; color: #707983; font-size: 12px; }
.hero-photo-link .ui-icon { width: 15px; height: 15px; flex-basis: 15px; }
.finder { border: 1px solid #f0e6e1; border-radius: 22px; padding: 10px; box-shadow: 0 8px 28px #78533808; }
.finder label { font-size: 12px; color: #7b746f; font-weight: 400; padding: 8px 20px; }
.finder input,.finder select { font-size: 15px; font-weight: 450; min-height: 36px; padding-block: 5px; }
.finder input::placeholder { color: #717a84; font-weight: 400; }
.finder select { padding-right: 8px; }
.finder>.btn { min-width: 196px; margin-left: 10px; }
.finder-help { font-size: 12px; color: #756c67; padding-top: 16px; }
.finder-help a { text-decoration: none; color: #81584e; }
.finder-help a:hover { text-decoration: underline; }

.stock-section { background: #f6f7f8; padding: 52px 0 64px; }
.section-head { display: block; margin-bottom: 28px; }
.section-head h2 { font-weight: 600; font-size: 36px; }
.section-head p { font-size: 14px; margin-top: 12px; }
.section-head p br { display: none; }
.total-count { border: 0; color: #78818b; background: #eaeef1; font-size: 13px; font-weight: 450; padding: 5px 10px; border-radius: 9px; }
.catalog-layout { grid-template-columns: 240px minmax(0,1fr); gap: 32px; }
.catalog-sidebar { padding-top: 10px; }
.category-picker>summary { font-weight: 500; font-size: 15px; display: flex; align-items: center; gap: 9px; }
.category-picker>summary .ui-icon { color: #89919a; width: 18px; height: 18px; flex-basis: 18px; }
.category-buttons { gap: 4px; }
.category-buttons button { font-size: 13px; padding: 12px; border-radius: 12px; gap: 10px; min-height: 46px; color: #69727d; }
.category-buttons .ui-icon { width: 19px; height: 19px; flex-basis: 19px; color: #87919b; }
.category-buttons .category-label { text-align: left; flex: 1; font-size: inherit; color: inherit; }
.category-buttons button>span:last-child { color: #8a929a; font-size: 11px; }
.category-buttons button.active { color: #ad4638; background: #f7eae5; box-shadow: none; font-weight: 500; }
.category-buttons button.active .ui-icon,.category-buttons button.active span { color: #ad4638; }
.category-buttons button:hover { background: #eef0f3; }
.help-link { padding: 22px 12px; margin-top: 24px; font-size: 13px; line-height: 1.65; border-color: #e6e9ec; }
.help-link b { font-size: 16px; font-weight: 500; }
.help-link strong { display: flex; gap: 7px; align-items: center; color: #ad4638; font-weight: 500; }
.help-link .ui-icon { width: 16px; height: 16px; flex-basis: 16px; }
.results-toolbar { font-size: 13px; gap: 12px; margin-bottom: 20px; }
.results-toolbar p { color: #717b86; }
.sort-label { color: #717b86; font-size: 12px; }
.sort-label select { font-size: 12px; font-weight: 450; color: #4a535e; }
.text-button { display: inline-flex; gap: 6px; align-items: center; color: #7c645c; font-size: 12px; font-weight: 400; text-decoration: none; }
.text-button:hover { text-decoration: underline; }
.text-button .ui-icon { width: 15px; height: 15px; flex-basis: 15px; }
.products-grid { gap: 20px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.product-card { border: 1px solid #e9ecef; border-radius: 24px; background: #fff; box-shadow: 0 3px 12px #43536703; }
.product-card:hover { box-shadow: 0 10px 26px #43536709; border-color: #d8dfe6; }
.product-media { padding: 16px 16px 0; }
.product-media img { height: 230px; border-radius: 16px; background: #fafbfc; }
.product-body { padding: 22px; }
.product-code { font-size: 12px; color: #7c8690; margin-bottom: 12px; font-weight: 400; }
.product-code span { font-size: 11px; color: #7c8690; max-width: 150px; }
.product-body :is(h2,h3) { font-size: 19px; line-height: 1.4; font-weight: 500; letter-spacing: -.015em; min-height: 80px; margin-bottom: 18px; }
.card-facts { font-size: 13px; margin-bottom: 22px; }
.card-facts>div { padding: 8px 0; border-color: #f0f2f4; }
.card-facts dt { font-size: 12px; color: #77828d; }
.card-facts dd { font-weight: 450; color: #4e5862; }
.price-line { gap: 8px; }
.product-price { font-size: 27px; font-weight: 550; line-height: 1.25; color: #35404b; letter-spacing: -.025em; }
.price-line small { font-size: 12px; color: #74808a; }
.availability { display: flex; align-items: center; gap: 6px; font-size: 12px; margin: 9px 0 20px; color: #78838e; }
.availability .ui-icon { width: 14px; height: 14px; flex-basis: 14px; }
.product-actions { gap: 10px; }
.product-actions .btn { min-height: 44px; border-radius: 12px; font-size: 13px; padding: 11px 10px; }
.product-actions .btn-primary { background: #f8ebe6; color: #a74133; border-color: #f8ebe6; box-shadow: none; }
.product-actions .btn-primary:hover { background: #f2d9d0; border-color: #f2d9d0; }
.product-actions .ui-icon { width: 16px; height: 16px; flex-basis: 16px; }
.product-no-photo { min-height: 230px; font-size: 15px; font-weight: 400; border-radius: 16px; background: #f7f8fa; }
.catalog-actions>.btn { min-width: 300px; background: transparent; color: #5d6873; }
.empty-products { border-radius: 22px; padding: 40px; }
.empty-products h3 { font-weight: 500; }

.service-section { padding: 76px 0; border-color: #edf0f2; }
.service-split { gap: 80px; }
.service-split>div>p { font-size: 16px; line-height: 1.75; }
.selection-facts>div { grid-template-columns: 150px 1fr; border-color: #ebedf0; padding: 22px 0; }
.selection-facts dt { font-size: 15px; font-weight: 500; }
.selection-facts dd { font-size: 15px; }
.order-steps h3 { font-size: 21px; font-weight: 500; }
.order-steps p { font-size: 15px; line-height: 1.7; }
.order-steps li { border-color: #e4e8eb; }
.order-steps li:before { background: #f7eeea; color: #b05243; font-size: 15px; font-weight: 500; width: 40px; height: 40px; }
.faq-list details { padding: 22px 0; border-color: #e7ebee; }
.faq-list summary { font-size: 17px; font-weight: 450; }
.faq-list p { font-size: 15px; line-height: 1.75; }
.lead-section { background: #fbf5f2; padding: 68px 0; }
.lead-section h2 { font-weight: 600; }
.lead-copy p { font-size: 16px; line-height: 1.75; color: #756b66; }
.lead-section form { gap: 18px; }
.lead-section label { font-size: 14px; font-weight: 400; gap: 9px; color: #706a65; }
.lead-section input,.lead-section textarea { border-color: #e9dfd9; border-radius: 14px; min-height: 52px; padding: 14px 16px; font-size: 16px; color: #39414a; }
.lead-section input::placeholder,.lead-section textarea::placeholder { color: #7a7d83; }
.lead-section #phone-help { font-size: 12px; }
.lead-section .consent { font-size: 12px; line-height: 1.6; }
.form-note { font-size: 13px; }
.contacts-layout p { font-size: 16px; }
.contact-links>a:first-child { font-size: 30px; font-weight: 500; }
.contact-links .text-link { font-size: 15px; }
.footer { background: #f7f8fa; color: #727c87; font-size: 12px; padding: 32px 0; }
.footer a { text-decoration: none; }
.footer a:hover { text-decoration: underline; }

.breadcrumbs { font-size: 12px; padding: 28px 0; color: #7c858f; gap: 8px 20px; }
.breadcrumbs a { text-decoration: none; }
.breadcrumbs a:hover { text-decoration: underline; }
.breadcrumbs [aria-current] { color: #9b776c; }
.product-layout { grid-template-columns: 1.06fr 1fr; gap: 54px; margin-top: 16px; margin-bottom: 46px; }
.product-visual>picture { border: 0; padding: 22px; background: #f6f7f8; border-radius: 26px; }
.product-visual>picture img { height: 510px; border-radius: 14px; }
.product-category { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: #8b6b5f; margin-bottom: 18px; }
.product-category .ui-icon { width: 18px; height: 18px; flex-basis: 18px; }
.product-detail h1 { font-size: clamp(29px,2.5vw,36px); line-height: 1.25; letter-spacing: -.028em; font-weight: 550; margin: 0 0 16px; overflow-wrap: anywhere; }
.product-detail>.product-code { color: #89919a; margin-bottom: 24px; font-size: 12px; }
.product-quick-specs { display: grid; grid-template-columns: 1.4fr 1fr; gap: 24px; margin: 0 0 26px; }
.product-quick-specs dt { display: flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 400; color: #7b858e; margin-bottom: 9px; }
.product-quick-specs .ui-icon { width: 17px; height: 17px; flex-basis: 17px; }
.product-quick-specs dd { font-size: 16px; line-height: 1.5; font-weight: 450; margin: 0; }
.purchase-panel { background: #faf7f5; border: 1px solid #f2e9e4; border-radius: 22px; padding: 26px; margin-top: 0; }
.detail-price { font-size: 30px; font-weight: 550; color: #39414a; letter-spacing: -.025em; }
.purchase-panel>p:not(.detail-price) { font-size: 13px; line-height: 1.6; color: #7e7772; }
.hero-actions { display: grid; grid-template-columns: 1fr; gap: 10px; }
.hero-actions .btn { width: 100%; min-height: 50px; font-size: 14px; }
.hero-actions .btn-outline { border: 0; background: transparent; color: #6c625c; }
.hero-actions .btn-outline:hover { background: #f2eae4; }
.purchase-reassurance { display: flex; gap: 8px; align-items: flex-start; margin: 18px 0 0!important; font-size: 12px!important; }
.purchase-reassurance .ui-icon { width: 17px; height: 17px; flex-basis: 17px; margin-top: 2px; }
.detail-phone { color: #555e67; font-size: 15px; font-weight: 450; margin-top: 18px; }
.photo-caption { font-size: 12px; color: #7d8790; margin: 16px 0 12px; line-height: 1.7; }
.product-visual>.text-link { font-size: 13px; color: #6d7781; }
.section-nav { border: 0; padding: 12px; gap: 8px; background: #f6f7f8; border-radius: 16px; }
.section-nav a { display: inline-flex; align-items: center; gap: 8px; border-radius: 10px; padding: 11px 16px; font-size: 14px; font-weight: 400; color: #66717c; }
.section-nav a:hover { color: #a04334; background: white; }
.section-nav .ui-icon { width: 17px; height: 17px; flex-basis: 17px; }
.detail-section { border-color: #ebedf0; padding: 46px 0; }
.detail-section h2 { font-size: 30px; font-weight: 550; }
.detail-section p,.product-intro { font-size: 16px; line-height: 1.75; }
.spec-table { font-size: 14px; }
.spec-table caption { font-size: 12px; margin-bottom: 18px; }
.spec-table th,.spec-table td { padding: 17px 16px; border-color: #edf0f2; }
.spec-table td { font-weight: 450; }
.spec-table tr:nth-child(odd) { background: #f8f9fa; }
.specs-layout h3 { font-size: 20px; font-weight: 500; }
.selection-list { font-size: 16px; line-height: 1.7; }
.purchase-steps b { font-size: 17px; font-weight: 500; }
.purchase-steps p { font-size: 15px; }
.related-grid a { font-size: 17px; font-weight: 500; }
.related-grid p { font-size: 15px; }
.related-grid small { font-size: 12px; }
.photo-gallery { border-color: #e6e9ed; border-radius: 16px; padding: 16px; }
.photo-gallery summary { font-size: 14px; font-weight: 450; }
.photo-gallery-grid img { background: #f7f8fa; border-radius: 10px; }
.photo-gallery-grid span { font-size: 12px; }
.data-notice { font-size: 14px; border-color: #e3e7eb; background: #f8f9fa; border-radius: 16px; }

.catalog-page { padding-bottom: 60px; }
.catalog-page>h1 { max-width: 22ch; font-size: clamp(32px,3.7vw,46px); font-weight: 550; line-height: 1.2; letter-spacing: -.03em; margin: 14px 0 20px; }
.catalog-intro { font-size: 16px; line-height: 1.75; max-width: 65ch; }
.catalog-page>p:not(.catalog-intro) { font-size: 14px; color: #78818a; }
.catalog-page .finder { background: #fafbfc; border-color: #edf0f2; margin-top: 28px; }
.category-links { gap: 9px; margin: 18px 0 12px; }
.category-links a { border-radius: 10px; border-color: #ebedf0; background: #f9fafb; padding: 11px 14px; color: #6a7580; font-size: 13px; }
.category-links a[aria-current] { background: #faeee9; color: #a54a3a; border-color: #f4e2d9; }
.catalog-page .products-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.category-directory { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; margin-top: 34px; }
.category-directory>.directory-card { display: grid; grid-template-columns: 175px minmax(0,1fr); align-items: stretch; gap: 24px; padding: 22px; background: #fff; border: 1px solid #e8ecef; border-radius: 24px; transition: border-color .2s,box-shadow .2s; }
.category-directory>.directory-card:hover { background: #fff; border-color: #d7dfe5; box-shadow: 0 10px 28px #3d526408; }
.directory-visual { display: grid; place-items: center; padding: 10px; background: #f5f7f8; border-radius: 17px; min-width: 0; }
.directory-visual img { width: 100%; height: 185px; object-fit: contain; border-radius: 10px; }
.directory-copy { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; }
.directory-symbol { display: inline-flex; color: #a38679; margin-bottom: 14px; }
.category-directory .directory-copy h2 { font-size: 21px; line-height: 1.3; font-weight: 500; letter-spacing: -.02em; margin: 0 0 9px; }
.category-directory .directory-count { font-size: 12px; font-weight: 400; color: #8c7165; background: #f7f0eb; padding: 3px 9px; border-radius: 7px; }
.category-directory .directory-copy p { font-size: 13px; line-height: 1.7; margin: 14px 0 20px; color: #76818b; }
.category-directory .directory-action { display: inline-flex; align-items: center; gap: 9px; font-size: 13px; color: #735c50; margin-top: auto; }
.directory-action .ui-icon { width: 16px; height: 16px; flex-basis: 16px; }
.site-assistant[data-assistant-site='kuzovsamosvala.ru'] { font-family: 'Golos Text',sans-serif; --sa-accent:#64717b; --sa-accent-dark:#4f5e69; }
.site-assistant .sa-launch { box-shadow: 0 5px 20px #344b5f16; font-size: 13px; font-weight: 450; }
.site-assistant .sa-panel { border-radius: 20px; }

@media(max-width:1100px) {
  .container { width: calc(100% - 40px); }
  .hero-grid { gap: 32px; }
  .hero h1 { font-size: 46px; }
  .hero-copy>p { font-size: 16px; }
  .hero-product img { height: 232px; }
  .finder label { padding-inline: 12px; }
  .finder>.btn { min-width: 174px; }
  .catalog-layout { grid-template-columns: 215px minmax(0,1fr); gap: 24px; }
  .product-body { padding: 18px; }
  .product-body :is(h2,h3) { font-size: 17px; }
  .product-actions { grid-template-columns: 1fr; }
  .category-directory>.directory-card { grid-template-columns: 132px minmax(0,1fr); gap: 18px; padding: 18px; }
  .directory-visual img { height: 160px; }
  .product-layout { gap: 32px; }
  .product-visual>picture img { height: 450px; }
  .product-detail h1 { font-size: 31px; }
  .purchase-panel { padding: 22px; }
}

@media(max-width:760px) {
  body { font-size: 16px; }
  .container { width: calc(100% - 36px); }
  .topbar-inner { height: 72px; gap: 10px; }
  .brand { gap: 8px; }
  .brand-mark { width: 34px; height: 34px; font-size: 17px; border-radius: 12px; }
  .brand-dot { right: 5px; bottom: 6px; width: 4px; height: 4px; }
  .brand b { font-size: 18px; font-weight: 500; }
  .phone-link { font-size: 11px; font-weight: 400; gap: 0; }
  .phone-link .ui-icon { display: none; }
  .mobile-catalog-link { font-size: 12px; font-weight: 400; }
  .hero { padding: 32px 0 22px; }
  .hero h1 { font-size: clamp(34px,7.9vw,42px); font-weight: 550; line-height: 1.17; letter-spacing: -.035em; margin-bottom: 18px; }
  .hero-copy>p { font-size: 15px; line-height: 1.7; margin-bottom: 18px; }
  .hero-copy>p br { display: none; }
  .hero-copy .text-link { font-size: 13px; }
  .hero-grid { padding-bottom: 26px; }
  .finder { padding: 8px; border-radius: 20px; gap: 8px; }
  .finder label { padding: 9px 12px; font-size: 11px; background: #f6f7f8; border-radius: 12px; }
  .finder input,.finder select { min-height: 32px; font-size: 16px; font-weight: 400; }
  .finder>.btn { margin: 0; min-height: 48px; border-radius: 13px; font-size: 14px; }
  .finder-help { font-size: 12px; padding-top: 14px; line-height: 1.6; }
  .stock-section { padding: 36px 0 44px; }
  .section-head { margin-bottom: 22px; }
  .section-head h2 { font-size: 29px; font-weight: 550; }
  .section-head p { display: block; font-size: 13px; line-height: 1.65; margin-top: 10px; }
  .section-head p br { display: none; }
  .total-count { font-size: 12px; padding: 4px 8px; margin-left: 10px; }
  .catalog-sidebar .category-picker { padding: 10px 14px; margin-bottom: 16px; border-radius: 15px; border-color: #e8ecef; }
  .category-picker>summary { min-height: 32px; font-size: 14px; }
  .category-picker>summary:after { content: ''; width: 7px; height: 7px; border-right: 1.5px solid #8b949d; border-bottom: 1.5px solid #8b949d; transform: rotate(45deg); margin: 0 4px 4px auto; }
  .category-picker[open]>summary:after { transform: rotate(225deg); margin-top: 6px; }
  .category-buttons button { font-size: 14px; min-height: 46px; }
  .category-buttons button>span:last-child { font-size: 12px; }
  .results-toolbar { gap: 4px 10px; margin-bottom: 18px; }
  .results-toolbar p { font-size: 13px; margin-bottom: 6px; }
  .sort-label,.sort-label select,.text-button { font-size: 12px; }
  .products-grid,.catalog-page .products-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
  .product-card { border-radius: 22px; }
  .product-media { padding: 14px 14px 0; }
  .product-media img { height: 200px; border-radius: 14px; }
  .product-body { padding: 20px; }
  .product-code { font-size: 11px; margin-bottom: 12px; }
  .product-code span { display: none; }
  .product-body :is(h2,h3) { font-size: 18px; min-height: 0; font-weight: 500; line-height: 1.45; margin-bottom: 18px; }
  .card-facts { font-size: 13px; margin-bottom: 20px; }
  .card-facts>div { display: flex; gap: 12px; padding: 8px 0; }
  .card-facts dt { font-size: 12px; white-space: normal; }
  .card-facts dd { font-size: 13px; text-align: right; }
  .product-price { font-size: 27px; }
  .price-line small { font-size: 11px; }
  .availability { font-size: 12px; margin: 10px 0 18px; }
  .product-actions { grid-template-columns: 1fr; gap: 8px; }
  .product-actions .btn { font-size: 13px; min-height: 46px; border-radius: 12px; }
  .catalog-actions>.btn { min-width: 0; font-size: 14px; }
  .service-section { padding: 46px 0; }
  .service-split,.lead-grid { gap: 30px; }
  h2 { font-size: 30px; font-weight: 550; }
  .service-split>div>p { font-size: 16px; }
  .selection-facts>div { grid-template-columns: 1fr; gap: 8px; padding: 20px 0; }
  .selection-facts dt { font-size: 16px; }
  .selection-facts dd { font-size: 15px; }
  .order-steps h3 { font-size: 19px; }
  .order-steps p { font-size: 15px; }
  .order-steps li { padding-left: 56px; }
  .faq-list summary { font-size: 16px; font-weight: 450; }
  .faq-list p { font-size: 15px; }
  .lead-section { padding: 46px 0; }
  .lead-copy p { font-size: 16px; }
  .lead-section label { font-size: 14px; }
  .lead-section input,.lead-section textarea { font-size: 16px; }
  .lead-section #phone-help { font-size: 12px; line-height: 1.5; }
  .lead-section .consent { font-size: 12px; }
  .contacts-layout p { font-size: 16px; }
  .contact-links>a:first-child { font-size: 28px; }
  .contact-links>a { font-size: 16px; }
  .footer-inner { font-size: 12px; gap: 16px; }
  .breadcrumbs { font-size: 11px; gap: 8px 14px; padding: 22px 0; }
  .product-layout { grid-template-columns: 1fr; gap: 28px; margin-top: 0; margin-bottom: 30px; }
  .product-layout { display: flex; flex-direction: column; gap: 0; }
  .product-detail { display: contents; }
  .product-category { order: 0; align-self: flex-start; }
  .product-detail h1 { order: 1; }
  .product-detail>.product-code { order: 2; }
  .product-visual { order: 3; width: 100%; margin: 0 0 26px; }
  .product-quick-specs { order: 4; width: 100%; }
  .purchase-panel { order: 5; width: 100%; }
  .data-notice { order: 6; }
  .product-visual>picture { padding: 16px; border-radius: 22px; }
  .product-visual>picture img { height: 330px; border-radius: 12px; }
  .photo-caption { font-size: 12px; }
  .product-visual>.text-link { font-size: 13px; }
  .product-category { font-size: 13px; margin-bottom: 14px; }
  .product-detail h1 { font-size: 29px; font-weight: 550; line-height: 1.25; margin-bottom: 16px; }
  .product-detail>.product-code { margin-bottom: 22px; }
  .product-quick-specs { gap: 20px; margin-bottom: 24px; }
  .product-quick-specs dt { font-size: 11px; align-items: flex-start; }
  .product-quick-specs dd { font-size: 15px; }
  .purchase-panel { padding: 22px; border-radius: 20px; }
  .detail-price { font-size: 29px; }
  .purchase-panel>p:not(.detail-price) { font-size: 13px; }
  .hero-actions .btn { font-size: 14px; min-height: 48px; }
  .section-nav { padding: 8px; gap: 4px; border-radius: 15px; }
  .section-nav a { padding: 10px; font-size: 12px; }
  .detail-section { padding: 36px 0; }
  .detail-section h2 { font-size: 27px; }
  .detail-section p,.product-intro { font-size: 16px; }
  .spec-table { font-size: 13px; }
  .spec-table th,.spec-table td { padding: 14px 10px; }
  .selection-list { font-size: 15px; }
  .purchase-steps p { font-size: 15px; }
  .related-grid a { font-size: 16px; }
  .catalog-page>h1 { font-size: 33px; font-weight: 550; }
  .catalog-intro { font-size: 16px; }
  .catalog-page>p:not(.catalog-intro) { font-size: 13px; }
  .category-links a { font-size: 13px; padding: 10px 12px; }
  .category-directory { grid-template-columns: 1fr; gap: 18px; }
  .category-directory>.directory-card { grid-template-columns: 130px minmax(0,1fr); padding: 18px; gap: 20px; }
  .directory-visual img { height: 160px; }
  .category-directory .directory-copy h2 { font-size: 21px; }
  .category-directory .directory-copy p { font-size: 13px; }
  .mobile-cta { gap: 8px; padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); box-shadow: 0 -6px 24px #43586d05; border-color: #eef1f4; }
  .mobile-cta a { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 46px; border-radius: 14px; background: #f4f6f8; color: #67727d; font-size: 12px; font-weight: 450; padding: 10px 4px; }
  .mobile-cta a .ui-icon { width: 17px; height: 17px; flex-basis: 17px; }
  .mobile-cta a:last-child { background: #c54436; color: white; }
  .site-assistant[data-assistant-site='kuzovsamosvala.ru'] { bottom: calc(84px + env(safe-area-inset-bottom,0px)); right: 14px; }
  .site-assistant .sa-launch { width: 44px; height: 44px; min-height: 44px; border-radius: 15px; background: #77858e; }
}

@media(max-width:520px) {
  .products-grid,.catalog-page .products-grid { grid-template-columns: 1fr; gap: 20px; }
  .product-media img { height: 230px; }
  .product-code span { display: block; font-size: 11px; }
  .product-body :is(h2,h3) { font-size: 19px; }
  .product-actions { grid-template-columns: 1fr 1fr; }
  .category-directory>.directory-card { grid-template-columns: 1fr; gap: 18px; padding: 18px; }
  .directory-visual img { height: 180px; }
  .directory-symbol { display: none!important; }
  .category-directory .directory-copy h2 { font-size: 23px; }
  .category-directory .directory-copy p { font-size: 14px; margin-bottom: 18px; }
  .category-directory .directory-action { font-size: 14px; }
}

@media(max-width:350px) {
  .container { width: calc(100% - 28px); }
  .brand b { font-size: 16px; }
  .phone-link { font-size: 10px; }
  .mobile-catalog-link { font-size: 11px; }
  .hero h1 { font-size: 32px; }
  .hero-copy>p { font-size: 15px; }
  .finder label { padding-inline: 9px; }
  .finder select { font-size: 14px; }
  .product-body { padding: 18px; }
  .product-price { font-size: 26px; }
  .product-actions .btn { font-size: 12px; }
  .product-detail h1 { font-size: 27px; }
  .mobile-cta a { gap: 5px; font-size: 11px; }
  .mobile-cta a .ui-icon { width: 16px; height: 16px; flex-basis: 16px; }
  .purchase-panel { padding: 18px; }
  .detail-price { font-size: 27px; }
}

@media(prefers-reduced-motion:reduce) {
  .btn,.product-card,.directory-card { transition: none; }
}

/* Quiet hierarchy must still be readable: secondary text keeps AA contrast. */
.brand small,.product-code,.product-code span,.card-facts dt,.availability,
.price-line small,.product-detail>.product-code,.photo-caption,
.product-quick-specs dt,.catalog-page>p:not(.catalog-intro),
.catalog-intro,.results-toolbar p,.sort-label,.breadcrumbs,
.category-buttons button>span:last-child,.directory-copy p,
.category-directory .directory-copy p,.related-grid small,
.spec-table caption { color: #68727c; }
.finder label,.finder-help,.purchase-panel>p:not(.detail-price) { color: #74685f; }
.category-directory .directory-count { color: #806355; }
.total-count { color: #646e79; }
.category-buttons button.active>span:last-child { color: #a54334; }
