/*
Theme Name: Distribution Partner
Theme URI: https://example.com/
Author: Codex
Description: Корпоративная тема для дистрибьюторской компании в Узбекистане.
Version: 1.2.0
Text Domain: distribution-partner
*/

@font-face {
  font-family: "Onest";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("assets/fonts/onest-cyrillic-variable.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Onest";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("assets/fonts/onest-latin-variable.woff2") format("woff2");
  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: #20211f;
  --ink-soft: #2b2c29;
  --paper: #ffffff;
  --canvas: #f6f6f3;
  --product-media: #f4f6f3;
  --surface: #f0f1ee;
  --muted: #6f716b;
  --yellow: #f4c542;
  --yellow-hover: #ffd45d;
  --line: #dedfd9;
  --line-dark: rgba(255,255,255,.16);
  --radius: 22px;
  --container: 1240px;
  --font-sans: "Onest", "Segoe UI", Arial, sans-serif;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
img { display: block; max-width: 100%; }
h1, h2, h3, h4, h5, h6 { font-weight: 760; }

.site-shell { overflow: clip; }
.container { width: min(calc(100% - 48px), var(--container)); margin-inline: auto; }
.skip-link {
  position: fixed; left: 16px; top: -80px; z-index: 1000;
  background: var(--yellow); color: #20211f; padding: 10px 14px; border-radius: 10px;
}
.skip-link:focus { top: 16px; }

.topbar { background: var(--canvas); border-bottom: 1px solid var(--line); color: #5c5e59; font-size: 13px; }
.topbar__inner { min-height: 38px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.topbar__links { display: flex; gap: 22px; }
.topbar a:hover { color: #9a7000; }

.site-header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(255,255,255,.94); border-bottom: 1px solid var(--line);
  box-shadow: 0 8px 28px rgba(25,26,23,.05);
  backdrop-filter: blur(18px);
}
.site-header__inner { min-height: 82px; display: flex; align-items: center; gap: 32px; }
.brand { display: inline-flex; align-items: center; gap: 12px; color: #263d32; white-space: nowrap; }
.brand__mark {
  position: relative; flex: 0 0 48px; width: 48px; height: 48px; overflow: hidden;
}
.brand__mark img { position: absolute; top: -1px; left: -32px; width: 128px; max-width: none; height: auto; filter: brightness(0) saturate(100%) invert(31%) sepia(15%) saturate(747%) hue-rotate(97deg) brightness(91%) contrast(87%); }
.brand__wordmark, .brand__wordmark strong, .brand__wordmark small { display: block; }
.brand__wordmark strong { font-size: 16px; line-height: 1; font-weight: 900; letter-spacing: .025em; }
.brand__wordmark small { margin-top: 5px; color: #728178; font-size: 8px; line-height: 1; font-weight: 800; letter-spacing: .19em; }
.custom-logo { max-height: 48px; width: auto; }
.site-nav { margin-left: auto; display: flex; align-items: center; gap: 25px; font-size: 14px; font-weight: 700; }
.site-nav a { color: #3e403c; transition: color .2s ease; }
.site-nav a:hover, .site-nav a:focus { color: #9a7000; }
.header-cta { margin-left: 4px; }
.site-nav a.header-cta {
  background: var(--yellow); border-color: var(--yellow); color: var(--ink);
  font-weight: 850; box-shadow: none;
}
.site-nav a.header-cta:hover, .site-nav a.header-cta:focus {
  background: var(--yellow-hover); border-color: var(--yellow-hover); color: var(--ink);
}
.menu-toggle {
  display: none; margin-left: auto; width: 46px; height: 46px; border: 1px solid var(--line); border-radius: 12px;
  background: var(--yellow); color: var(--ink); font-size: 22px; cursor: pointer;
}

.button {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 50px; padding: 0 21px; border: 1px solid var(--yellow); border-radius: 12px;
  background: var(--yellow); color: var(--ink); font-size: 14px; font-weight: 850;
  box-shadow: 0 8px 18px rgba(126,92,0,.1);
  transition: transform .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.button:hover, .button:focus { transform: translateY(-2px); background: var(--yellow-hover); border-color: var(--yellow-hover); color: var(--ink); box-shadow: 0 12px 24px rgba(126,92,0,.14); }
.button--ghost { background: var(--paper); color: var(--ink); border-color: #bfc1bb; box-shadow: none; }
.button--ghost:hover, .button--ghost:focus { background: var(--surface); color: var(--ink); border-color: #aeb0aa; }
.button--dark { background: var(--ink); color: #fff; border-color: var(--ink); box-shadow: none; }
.button--dark:hover, .button--dark:focus { background: #393a37; border-color: #393a37; color: #fff; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 3px solid rgba(244,197,66,.62); outline-offset: 3px; }

.hero { position: relative; padding: 40px 0 52px; background: #fbfbf9; border-bottom: 1px solid var(--line); }
.hero::before {
  content: ""; position: absolute; width: 520px; height: 520px; left: -290px; bottom: -350px; border-radius: 50%;
  background: rgba(244,197,66,.18); filter: blur(2px); pointer-events: none;
}
.hero__grid { position: relative; display: grid; grid-template-columns: 1.04fr .96fr; align-items: center; gap: 62px; }
.hero__copy { padding: 0; }
.eyebrow { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 20px; color: #8d6800; font-size: 12px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.eyebrow::before { content: ""; width: 25px; height: 3px; border-radius: 999px; background: var(--yellow); }
.hero h1 { margin: 0; max-width: 720px; font-size: clamp(42px, 4.1vw, 58px); font-weight: 760; line-height: 1.04; letter-spacing: -.035em; }
.hero h1 span {
  color: var(--ink);
  background: linear-gradient(transparent 62%, rgba(244,197,66,.78) 62%);
}
.hero__lead { max-width: 650px; margin: 27px 0 0; color: #60625d; font-size: clamp(17px, 1.8vw, 20px); }
.hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 31px; }
.hero__note { display: flex; flex-direction: column; gap: 2px; margin: 25px 0 0; color: #7c7e78; font-size: 13px; }
.hero__note strong { color: #393a37; font-size: 14px; }

.hero-catalog {
  position: relative; padding: 24px; border: 1px solid #dfb12d; border-radius: 28px;
  background: var(--yellow); box-shadow: 0 24px 65px rgba(54,44,15,.17);
}
.hero-catalog::after {
  content: "B2B"; position: absolute; right: 26px; bottom: 10px;
  color: rgba(32,33,31,.07); font-size: 96px; line-height: 1; font-weight: 900; letter-spacing: -.08em;
  pointer-events: none;
}
.hero-catalog__head { position: relative; z-index: 1; display: flex; justify-content: space-between; align-items: start; gap: 24px; margin-bottom: 19px; }
.hero-catalog__kicker { display: block; margin-bottom: 8px; color: #725300; font-size: 11px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.hero-catalog h2 { max-width: 390px; margin: 0; font-size: clamp(29px, 3.1vw, 43px); line-height: 1.02; letter-spacing: -.045em; }
.hero-catalog__badge { flex: 0 0 auto; padding: 7px 10px; border: 1px solid rgba(32,33,31,.25); border-radius: 999px; font-size: 11px; font-weight: 800; }
.hero-catalog__grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.hero-catalog__grid a {
  min-height: 78px; padding: 14px; border: 1px solid rgba(32,33,31,.09); border-radius: 14px;
  background: rgba(255,255,255,.94); display: flex; flex-direction: column; justify-content: space-between;
  box-shadow: 0 5px 14px rgba(65,48,0,.06); transition: transform .2s ease, background .2s ease;
}
.hero-catalog__grid a:hover, .hero-catalog__grid a:focus { transform: translateY(-3px); background: #fff; }
.hero-catalog__grid span { color: #8a8c85; font-size: 10px; font-weight: 800; }
.hero-catalog__grid strong { max-width: 180px; font-size: 15px; line-height: 1.18; }
.hero-catalog__link { position: relative; z-index: 1; display: inline-flex; gap: 10px; margin-top: 17px; font-size: 13px; font-weight: 850; }

.stats { padding: 30px 0 72px; background: var(--paper); }
.stats__grid { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); border-radius: 18px; background: #fff; overflow: hidden; box-shadow: 0 14px 42px rgba(35,36,32,.05); }
.stat { min-height: 110px; padding: 24px 22px; border-right: 1px solid var(--line); display: flex; align-items: flex-start; gap: 15px; }
.stat:last-child { border-right: 0; }
.stat__icon { flex: 0 0 auto; width: 34px; height: 34px; display: grid !important; place-items: center; margin: 0 !important; border-radius: 9px; background: var(--yellow); color: var(--ink) !important; font-size: 11px !important; font-weight: 900; }
.stat strong { display: block; color: var(--ink); font-size: 16px; line-height: 1.2; letter-spacing: -.015em; }
.stat div > span { display: block; margin-top: 7px; color: var(--muted); font-size: 12px; line-height: 1.35; }

.section { padding: 96px 0; background: var(--paper); }
.section--cream { background: var(--canvas); color: var(--ink); }
.section--panel { background: var(--ink-soft); color: #fff; }
.section-heading { display: grid; grid-template-columns: .68fr 1.32fr; gap: 70px; align-items: start; margin-bottom: 52px; }
.section-heading h2 { margin: 0; font-size: clamp(38px, 4.7vw, 60px); line-height: 1.04; letter-spacing: -.05em; }
.section-heading p { margin: 9px 0 0; max-width: 650px; color: var(--muted); font-size: 18px; }
.section--panel .eyebrow { color: #f2ca58; }
.section--panel .section-heading p { color: #b9bbb4; }

.about-grid { display: grid; grid-template-columns: 1.03fr .97fr; gap: 20px; }
.about-story { min-height: 430px; padding: 38px; border: 1px solid #dfb12d; border-radius: var(--radius); background: var(--yellow); color: var(--ink); display: flex; flex-direction: column; justify-content: space-between; }
.about-story__kicker { font-size: 12px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.about-story h3 { max-width: 650px; margin: 74px 0 0; font-size: clamp(31px, 4vw, 50px); line-height: 1.04; letter-spacing: -.045em; }
.about-story p { max-width: 620px; margin: 22px 0 0; color: #4d3c0c; font-size: 16px; }
.about-visual { min-height: 430px; padding: 38px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; color: var(--ink); display: grid; align-content: space-between; box-shadow: 0 12px 35px rgba(35,36,32,.045); }
.about-visual__label { color: var(--muted); font-size: 12px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.about-visual strong { font-size: 26px; line-height: 1.15; }
.about-visual p { margin: 13px 0 0; color: var(--muted); }
.audience-button { margin-top: 24px; }
.material-tags { display: flex; flex-wrap: wrap; align-content: center; gap: 9px; margin: 31px 0; }
.material-tags span { padding: 9px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); color: #555752; font-size: 12px; font-weight: 650; }

.services-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.service-card { min-height: 280px; padding: 27px; border: 1px solid var(--line); border-radius: 18px; background: var(--canvas); display: flex; flex-direction: column; transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease; }
.service-card:hover { transform: translateY(-5px); border-color: #c6a02f; box-shadow: 0 16px 34px rgba(35,36,32,.07); }
.service-card__number { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; background: var(--yellow); color: var(--ink); font-size: 11px; font-weight: 900; }
.service-card h3 { margin: auto 0 14px; font-size: 25px; line-height: 1.08; letter-spacing: -.028em; }
.service-card p { margin: 0; overflow-wrap: anywhere; color: var(--muted); font-size: 14px; }

.network-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 20px; }
.warehouse-gallery { min-height: 470px; display: grid; grid-template-columns: repeat(2, 1fr); grid-template-rows: 1.2fr .8fr; gap: 10px; }
.warehouse-photo { position: relative; min-height: 0; margin: 0; overflow: hidden; border: 1px solid var(--line-dark); border-radius: 16px; background: #1c1d1b; }
.warehouse-photo--main { grid-column: 1 / -1; }
.warehouse-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.warehouse-photo:hover img { transform: scale(1.025); }
.warehouse-photo figcaption { position: absolute; left: 12px; bottom: 12px; padding: 7px 10px; border-radius: 8px; background: rgba(20,21,19,.82); color: #fff; font-size: 11px; font-weight: 700; backdrop-filter: blur(8px); }
.network-map { min-height: 470px; position: relative; overflow: hidden; border: 1px solid var(--line-dark); border-radius: var(--radius); background: #222320; }
.network-map::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px); background-size: 42px 42px; }
.network-map::after { content: "UZ"; position: absolute; left: 32px; bottom: 8px; color: rgba(255,255,255,.035); font-size: 150px; line-height: 1; font-weight: 900; letter-spacing: -.08em; }
.city { position: absolute; z-index: 1; display: flex; align-items: center; gap: 8px; color: #f0f0eb; font-size: 12px; font-weight: 650; }
.city::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--yellow); box-shadow: 0 0 0 6px rgba(244,197,66,.12); }
.city--tashkent { right: 17%; top: 24%; }.city--samarkand { left: 44%; top: 45%; }.city--bukhara { left: 25%; top: 51%; }.city--fergana { right: 8%; top: 43%; }.city--nukus { left: 11%; top: 24%; }.city--termez { left: 53%; bottom: 14%; }
.network-panel { padding: 38px; border-radius: var(--radius); background: var(--yellow); color: var(--ink); display: flex; flex-direction: column; }
.network-panel h3 { margin: 0; font-size: 40px; line-height: 1.04; letter-spacing: -.045em; }
.network-panel p { margin: 21px 0 28px; color: #554311; font-size: 16px; }
.network-list { display: grid; gap: 0; margin-top: auto; }
.network-list div { display: flex; justify-content: space-between; padding: 14px 0; border-top: 1px solid rgba(32,33,31,.23); font-size: 13px; font-weight: 750; }

.advantages-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.advantage { position: relative; min-height: 210px; padding: 68px 24px 25px; border: 1px solid var(--line); border-radius: 17px; background: #fff; box-shadow: 0 10px 28px rgba(35,36,32,.035); }
.advantage::before { content: "✓"; position: absolute; left: 24px; top: 23px; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 9px; background: var(--yellow); font-size: 14px; font-weight: 900; }
.advantage strong { display: block; margin-bottom: 12px; font-size: 19px; line-height: 1.2; }
.advantage span { color: var(--muted); font-size: 14px; }

.partners { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.partner { position: relative; min-height: 112px; display: flex; align-items: center; padding: 24px 24px 24px 70px; border: 1px solid var(--line); border-radius: 15px; background: #fff; color: #494b46; font-size: 13px; font-weight: 800; text-align: left; }
.partner::before { content: ""; position: absolute; left: 22px; top: 50%; width: 30px; height: 30px; border-radius: 9px; background: var(--yellow); transform: translateY(-50%) rotate(8deg); }

.brands-section { background: #fff; }
.brand-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.brand-card { min-height: 138px; margin: 0; padding: 24px 20px 18px; border: 1px solid var(--line); border-radius: 16px; background: var(--canvas); display: grid; grid-template-rows: 1fr auto; gap: 15px; place-items: center; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.brand-card:hover { transform: translateY(-4px); border-color: #cbb052; box-shadow: 0 14px 30px rgba(35,36,32,.07); }
.brand-card img { width: auto; max-width: 176px; max-height: 72px; object-fit: contain; }
.brand-card figcaption { font-size: 10px; font-weight: 850; letter-spacing: .055em; line-height: 1.35; text-align: center; text-transform: uppercase; }
.brand-card--exclusive { background: #e8f0eb; border-color: #9bb1a5; }
.brand-card--exclusive figcaption { color: #496556; }
.brand-card--official figcaption { color: #777970; }

#contact { background: var(--paper); }
.contact-wrap { display: grid; grid-template-columns: .9fr 1.1fr; gap: 20px; padding: 22px; border-radius: 28px; background: var(--ink-soft); color: #fff; }
.contact-copy { padding: 32px 24px; }
.contact-copy .eyebrow { color: #f2ca58; }
.contact-copy h2 { margin: 0; font-size: clamp(38px, 4.8vw, 58px); line-height: 1; letter-spacing: -.05em; }
.contact-copy p { max-width: 540px; color: #b8bab3; }
.contact-details { display: grid; gap: 16px; margin-top: 40px; }
.contact-details span { display: block; color: #92948d; font-size: 11px; text-transform: uppercase; letter-spacing: .1em; }
.contact-details a, .contact-details strong { font-size: 17px; }
.contact-form { padding: 36px; border-radius: 18px; background: #fff; color: var(--ink); }
.contact-form h3 { margin: 0 0 26px; font-size: 32px; letter-spacing: -.035em; }
.contact-options { display: flex; flex-direction: column; }
.contact-option { padding: 0; }
.contact-option + .contact-option { margin-top: 26px; padding-top: 26px; border-top: 1px solid var(--line); }
.contact-option > span { color: #8b6a0b; font-size: 11px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.contact-option h4 { margin: 8px 0 8px; font-size: 25px; line-height: 1.1; letter-spacing: -.025em; }
.contact-option p { margin: 0 0 18px; color: var(--muted); font-size: 14px; }
.field { margin-bottom: 16px; }
.field label { display: block; margin-bottom: 7px; color: #555752; font-size: 11px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.field input, .field textarea, .field select { width: 100%; border: 1px solid var(--line); border-radius: 11px; background: var(--canvas); color: var(--ink); outline: none; padding: 13px 14px; }
.field input:focus, .field textarea:focus, .field select:focus { border-color: #a7821d; background: #fff; }
.field select { min-height: 49px; }
.field textarea { min-height: 106px; resize: vertical; }
.contact-form .button--dark { background: var(--yellow); color: var(--ink); border-color: var(--yellow); }
.contact-form .button--dark:hover, .contact-form .button--dark:focus { background: var(--yellow-hover); border-color: var(--yellow-hover); color: var(--ink); }
.form-note { margin: 12px 0 0; color: var(--muted); font-size: 12px; }

.site-footer { padding: 32px 0; background: var(--ink-soft); border-top: 1px solid var(--line-dark); color: #a6a8a1; font-size: 13px; }
.site-footer__inner { display: flex; justify-content: space-between; align-items: center; gap: 22px; }
.site-footer__brand { display: flex; align-items: center; gap: 16px; }
.footer-logo { width: 56px; height: 52px; object-fit: contain; }

.catalog-page { background: #fff; }
.catalog-hero { padding: 48px 0 42px; background: #f7f8f6; border-bottom: 1px solid #e2e6e2; }
.catalog-hero__grid { display: grid; grid-template-columns: 1fr 365px; align-items: center; gap: 54px; }
.catalog-hero .eyebrow { margin-bottom: 13px; }
.catalog-hero h1 { max-width: 780px; margin: 0; font-size: clamp(40px, 4.4vw, 58px); font-weight: 760; line-height: 1.03; letter-spacing: -.035em; }
.catalog-hero p:not(.eyebrow) { max-width: 720px; margin: 17px 0 0; color: var(--muted); font-size: 17px; }
.catalog-exclusive { width: fit-content; max-width: 610px; display: inline-flex; align-items: center; gap: 15px; margin-top: 22px; padding: 11px 15px; border: 1px solid #cbd7d0; border-radius: 13px; background: #fff; transition: border-color .2s ease, transform .2s ease; }
.catalog-exclusive:hover, .catalog-exclusive:focus { transform: translateY(-2px); border-color: #789986; }
.catalog-exclusive img { flex: 0 0 auto; width: 62px; height: 32px; object-fit: contain; }
.catalog-exclusive span, .catalog-exclusive strong, .catalog-exclusive small { display: block; }
.catalog-exclusive .catalog-exclusive__count { flex: 0 0 auto; width: 38px; height: 38px; border-radius: 11px; background: #e8f0eb; color: #3e574a; font-size: 24px; font-weight: 900; line-height: 38px; text-align: center; }
.catalog-exclusive strong { color: #3e574a; font-size: 12px; line-height: 1.25; }
.catalog-exclusive small { margin-top: 2px; color: #858881; font-size: 10px; }
.catalog-delivery-card { min-height: 132px; padding: 23px; border: 1px solid #6f8e7e; border-radius: 17px; background: #789986; color: #fff; display: flex; flex-direction: column; justify-content: center; box-shadow: 0 18px 42px rgba(54,76,65,.12); }
.catalog-delivery-card span { color: #f3f8f5; font-size: 12px; font-weight: 850; letter-spacing: .075em; text-transform: uppercase; }
.catalog-delivery-card strong { margin-top: 5px; font-size: 29px; line-height: 1.1; letter-spacing: -.035em; }
.catalog-delivery-card small { margin-top: 12px; color: #edf4f0; font-size: 13px; font-weight: 750; line-height: 1.35; }

.catalog-brands { padding: 58px 0 64px; background: var(--canvas); border-bottom: 1px solid var(--line); }
.catalog-brands__head { display: flex; align-items: end; justify-content: space-between; gap: 36px; margin-bottom: 24px; }
.catalog-brands__head > div { max-width: 760px; }
.catalog-brands__head .eyebrow { margin-bottom: 10px; }
.catalog-brands__head h2 { margin: 0; font-size: clamp(31px, 3.6vw, 46px); line-height: 1.02; letter-spacing: -.045em; }
.catalog-brands__head p:not(.eyebrow) { max-width: 690px; margin: 13px 0 0; color: var(--muted); font-size: 15px; line-height: 1.55; }
.catalog-brands__head .button { flex: 0 0 auto; }
.brand-grid--catalog .brand-card--official { background: #fff; }

.catalog-section { padding: 30px 0 86px; }
.catalog-focus { margin-bottom: 22px; }
.catalog-focus__head { display: flex; align-items: end; justify-content: space-between; gap: 36px; margin-bottom: 17px; }
.catalog-focus__head span { color: #5f7d6e; font-size: 10px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.catalog-focus__head h2 { margin: 4px 0 0; font-size: clamp(27px, 3vw, 38px); line-height: 1.05; letter-spacing: -.04em; }
.catalog-focus__head p { max-width: 390px; margin: 0; color: var(--muted); font-size: 13px; }
.catalog-focus__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.catalog-focus-card { position: relative; min-width: 0; height: 292px; display: block; overflow: hidden; padding: 0; border: 0; border-radius: 17px; background: #7e8c94; color: #fff; cursor: pointer; text-align: left; text-decoration: none; box-shadow: 0 10px 28px rgba(35,36,32,.07); }
.catalog-focus-card:nth-child(2) { background: #879f94; }
.catalog-focus-card:nth-child(3) { background: #d5dfd8; }
.catalog-focus-card:nth-child(4) { background: #d9d2c4; }
.catalog-focus-card:nth-child(5) { background: #cbd7d9; }
.catalog-focus-card:nth-child(6) { background: #c8d4cd; }
.catalog-focus-card:nth-child(7) { background: #d6c9bd; }
.catalog-focus-card:nth-child(8) { background: #b9cbc5; }
.catalog-focus-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(27,34,31,.06) 30%, rgba(20,28,25,.73) 100%); transition: background .22s ease; }
.catalog-focus-card:hover::after, .catalog-focus-card:focus::after { background: linear-gradient(180deg, rgba(27,34,31,0) 25%, rgba(20,28,25,.63) 100%); }
.catalog-focus-card:focus-visible { outline: 3px solid #24513c; outline-offset: 3px; }
.catalog-focus-card > img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.catalog-focus-card:hover > img, .catalog-focus-card:focus > img { transform: scale(1.035); }
.catalog-focus-card--category-photo > img { object-position: center 40%; }
.catalog-focus-card--decorative-photo > img { object-position: center 36%; transform: scale(1.02); }
.catalog-focus-card--decorative-photo:hover > img, .catalog-focus-card--decorative-photo:focus > img { transform: scale(1.055); }
.catalog-focus-card--painting-photo > img { object-position: center 37%; transform: scale(1.02); }
.catalog-focus-card--painting-photo:hover > img, .catalog-focus-card--painting-photo:focus > img { transform: scale(1.055); }
.catalog-focus-card--paint-photo > img { object-position: center 34%; transform: scale(1.02); }
.catalog-focus-card--paint-photo:hover > img, .catalog-focus-card--paint-photo:focus > img { transform: scale(1.055); }
.catalog-focus-card--hose-photo > img { object-position: center 38%; transform: scale(1.02); }
.catalog-focus-card--hose-photo:hover > img, .catalog-focus-card--hose-photo:focus > img { transform: scale(1.055); }
.catalog-focus-card--decorative { background: #586d67; }
.catalog-focus-card__art { position: absolute; inset: 0; display: flex; align-items: flex-start; justify-content: flex-end; gap: 22px; padding: 22px 28px 68px 38%; }
.catalog-focus-card__art img { width: auto; max-width: 32%; height: 72%; object-fit: contain; mix-blend-mode: multiply; filter: drop-shadow(0 16px 19px rgba(40,45,40,.2)); transition: transform .35s ease; }
.catalog-focus-card__art--decorative { display: grid; place-items: center; padding: 14px 18px 76px; }
.catalog-focus-card__art--decorative img { width: 88%; max-width: none; height: 100%; object-fit: contain; mix-blend-mode: normal; }
.catalog-focus-card__art--tools-set, .catalog-focus-card__art--hose { display: grid; place-items: center; padding: 14px 18px 78px; }
.catalog-focus-card__art--tools-set img { width: 88%; max-width: none; height: 100%; object-fit: contain; mix-blend-mode: normal; }
.catalog-focus-card__art--hose img { width: 92%; max-width: none; height: 100%; object-fit: contain; mix-blend-mode: normal; }
.catalog-focus-card__art--single { padding: 0; }
.catalog-focus-card__art--single img { position: absolute; top: 12px; right: 14px; width: auto; max-width: 62%; height: calc(100% - 30px); object-fit: contain; mix-blend-mode: normal; filter: drop-shadow(0 16px 20px rgba(40,45,40,.24)); }
.catalog-focus-card__art--blend img { mix-blend-mode: multiply; }
.catalog-focus-card__art--collection { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: end; gap: 3px; padding: 16px 13px 80px; }
.catalog-focus-card__art--collection img { position: static; justify-self: center; width: 118%; max-width: 118%; height: 100%; object-fit: contain; mix-blend-mode: normal; }
.catalog-focus-card__art--chemistry img:nth-child(1), .catalog-focus-card__art--chemistry img:nth-child(3) { width: 142%; max-width: 142%; height: auto; mix-blend-mode: multiply; filter: contrast(1.06) brightness(1.06) drop-shadow(0 16px 19px rgba(40,45,40,.16)); -webkit-mask-image: radial-gradient(ellipse 70% 76% at center, #000 55%, transparent 100%); mask-image: radial-gradient(ellipse 70% 76% at center, #000 55%, transparent 100%); }
.catalog-focus-card__art--chemistry img:nth-child(2) { width: 100%; max-width: 100%; height: 100%; }
.catalog-focus-card:hover .catalog-focus-card__art img, .catalog-focus-card:focus .catalog-focus-card__art img { transform: translateY(-3px) scale(1.03); }
.catalog-focus-card__label { position: absolute; z-index: 1; left: 20px; right: 20px; bottom: 19px; display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 4px 12px; }
.catalog-focus-card small { grid-column: 1 / -1; color: rgba(255,255,255,.78); font-size: 10px; font-style: normal; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.catalog-focus-card strong { max-width: 340px; font-size: 21px; line-height: 1.08; letter-spacing: -.025em; }
.catalog-focus-card i { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.64); border-radius: 50%; font-size: 16px; font-style: normal; }

.catalog-category-nav { margin-bottom: 14px; padding: 18px; border: 1px solid #dde2dd; border-radius: 17px; background: #f3f5f2; }
.catalog-category-nav__head { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 13px; }
.catalog-category-nav__head strong { font-size: 18px; letter-spacing: -.02em; }
.catalog-category-nav__head span { color: #688071; font-size: 10px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.catalog-category-chips { display: flex; flex-wrap: wrap; gap: 7px; }
.catalog-category-chip { min-height: 38px; padding: 0 12px; border: 1px solid #d6dbd6; border-radius: 9px; background: #fff; color: #454640; font-size: 11px; font-weight: 780; cursor: pointer; transition: background .18s ease, color .18s ease, transform .18s ease; }
.catalog-category-chip:hover, .catalog-category-chip:focus { transform: translateY(-1px); background: #fff; }
.catalog-category-chip.is-active { border-color: #3f5b4d; background: #3f5b4d; color: #fff; }
.catalog-toolbar { display: grid; grid-template-columns: 1.6fr repeat(3, 1fr); gap: 13px; padding: 16px; border: 1px solid var(--line); border-radius: 15px; background: #fff; }
.catalog-mobile-filters { display: contents; }
.catalog-toolbar label { display: block; margin: 0 0 7px; color: #686a64; font-size: 10px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.catalog-toolbar input, .catalog-toolbar select { width: 100%; height: 50px; padding: 0 13px; border: 1px solid #cfd1cb; border-radius: 11px; background: var(--canvas); color: var(--ink); outline: none; }
.catalog-toolbar input:focus, .catalog-toolbar select:focus { border-color: #668777; background: #fff; }
.catalog-toolbar select:disabled { color: #a3a59f; cursor: not-allowed; }
.catalog-mobile-filter-toggle { display: none; }
.catalog-meta { display: flex; justify-content: space-between; gap: 24px; margin: 26px 2px 17px; color: var(--muted); font-size: 13px; }
.catalog-meta p { margin: 0; }
#catalog-result-count { color: var(--ink); font-weight: 800; }
.catalog-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; }

.product-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: #fff; display: flex; flex-direction: column; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.product-card:hover { transform: translateY(-4px); border-color: #93a99e; box-shadow: 0 16px 36px rgba(35,36,32,.08); }
.product-card__image { position: relative; height: 190px; padding: 20px; background: var(--canvas); display: grid; place-items: center; overflow: hidden; color: inherit; }
.product-card__image img { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.product-card__placeholder { position: absolute; color: #989a94; font-size: 12px; font-weight: 750; }
.product-card__stock { position: absolute; z-index: 2; left: 12px; top: 12px; padding: 6px 8px; border-radius: 8px; background: #fff; color: #427346; box-shadow: 0 3px 12px rgba(35,36,32,.08); font-size: 10px; font-weight: 850; }
.product-card__body { flex: 1; display: flex; flex-direction: column; padding: 18px; }
.product-card__category { min-height: 28px; color: #5f7d6e; font-size: 10px; font-weight: 850; line-height: 1.35; letter-spacing: .045em; text-transform: uppercase; }
.product-card__code { margin-top: 10px; color: #969892; font-size: 11px; }
.product-card__title { margin: 7px 0 18px; font-size: 16px; line-height: 1.28; letter-spacing: -.015em; }
.product-card__title a { color: inherit; }
.product-card__title a:hover, .product-card__title a:focus { color: #4f745f; }
.product-card__details { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: auto; }
.product-card__details span { padding: 9px; border-radius: 9px; background: var(--canvas); color: var(--muted); font-size: 10px; }
.product-card__details strong { display: block; margin-top: 2px; color: var(--ink); font-size: 12px; }
.product-card__footer { display: flex; align-items: end; justify-content: space-between; gap: 10px; padding-top: 17px; margin-top: 17px; border-top: 1px solid var(--line); }
.product-card__footer small { display: block; color: var(--muted); font-size: 10px; }
.product-card__price { display: block; margin-top: 2px; font-size: 19px; line-height: 1.1; letter-spacing: -.025em; }
.product-card__action { flex: 0 0 auto; min-height: 37px; display: inline-flex; align-items: center; padding: 0 11px; border-radius: 9px; background: #3f5b4d; color: #fff; font-size: 11px; font-weight: 850; }
.product-card__action:hover, .product-card__action:focus { background: #557563; color: #fff; }
.catalog-load { display: flex; justify-content: center; margin-top: 32px; }
.catalog-load .button { min-width: 190px; cursor: pointer; }
.catalog-empty { margin-top: 18px; padding: 56px 24px; border: 1px dashed #c7c9c3; border-radius: 18px; background: var(--canvas); text-align: center; }
.catalog-empty strong, .catalog-empty span { display: block; }
.catalog-empty strong { font-size: 23px; }
.catalog-empty span { margin-top: 6px; color: var(--muted); }
.catalog-noscript { padding: 18px; border-radius: 12px; background: #fff6d9; color: #5d4912; }

.catalog-cta { padding: 0 0 94px; background: #fff; }
.catalog-cta__inner { padding: 42px; border-radius: 24px; background: var(--ink-soft); color: #fff; display: flex; align-items: end; justify-content: space-between; gap: 42px; }
.catalog-cta .eyebrow { color: #f2ca58; }
.catalog-cta h2 { max-width: 760px; margin: 0; font-size: clamp(34px, 4vw, 52px); line-height: 1.02; letter-spacing: -.045em; }
.catalog-cta p:not(.eyebrow) { max-width: 700px; margin: 17px 0 0; color: #b9bbb4; }
.catalog-cta .button { flex: 0 0 auto; }

.product-page { background: #fff; }
.product-detail { padding: 34px 0 94px; }
.product-breadcrumbs { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 31px; color: #8a8c86; font-size: 12px; }
.product-breadcrumbs a { color: #5d7468; }
.product-breadcrumbs a:hover, .product-breadcrumbs a:focus { color: var(--ink); }
.product-detail__layout { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr); gap: clamp(42px, 6vw, 86px); align-items: start; }
.product-gallery { min-width: 0; }
.product-gallery__stage { position: relative; aspect-ratio: 1; overflow: hidden; display: grid; place-items: center; padding: clamp(24px, 4vw, 48px); border: 1px solid #e0e3de; border-radius: 22px; background: #fff; }
.product-gallery__stage > picture { display: block; width: 100%; height: 100%; }
.product-gallery__stage > picture > img { width: 100%; height: 100%; object-fit: contain; }
.product-gallery__stage.is-landscape-image { aspect-ratio: 3 / 2; padding: 0; }
.product-gallery__stage.is-landscape-image > picture > img { display: block; object-fit: contain; }
.product-gallery__stage.is-cover-image { padding: 0; background: transparent; }
.product-gallery__stage.is-cover-image > picture > img { display: block; object-fit: cover; }
.product-gallery__empty { color: #979a94; font-size: 14px; }
.product-gallery__close { position: absolute; top: 14px; right: 14px; z-index: 2; width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid #d7dbd5; border-radius: 50%; background: rgba(255,255,255,.92); color: #40584c; cursor: pointer; font-size: 27px; line-height: 1; text-decoration: none; }
.product-gallery__close:hover, .product-gallery__close:focus { border-color: #759081; background: #fff; color: #30483c; }
.product-gallery__arrow { position: absolute; top: 50%; z-index: 2; width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid #d7dbd5; border-radius: 50%; background: rgba(255,255,255,.94); color: #30483c; box-shadow: 0 8px 24px rgba(32,33,31,.12); cursor: pointer; font-size: 20px; transform: translateY(-50%); transition: background .2s ease, border-color .2s ease, transform .2s ease; }
.product-gallery__arrow--previous { left: 14px; }
.product-gallery__arrow--next { right: 14px; }
.product-gallery__arrow:hover, .product-gallery__arrow:focus { border-color: #759081; background: #fff; transform: translateY(-50%) scale(1.05); }
.product-gallery__counter { position: absolute; right: 15px; bottom: 14px; z-index: 2; margin: 0; padding: 5px 10px; border: 1px solid rgba(215,219,213,.9); border-radius: 999px; background: rgba(255,255,255,.9); color: #4c5d54; font-size: 11px; font-weight: 800; }
.product-gallery__thumbs { display: flex; gap: 9px; overflow-x: auto; margin-top: 12px; padding: 2px 2px 6px; }
.product-gallery__thumb { flex: 0 0 82px; width: 82px; height: 82px; overflow: hidden; padding: 7px; border: 1px solid #daddd8; border-radius: 12px; background: #fff; cursor: pointer; }
.product-gallery__thumb.is-active { border: 2px solid #5f7d6e; padding: 6px; }
.product-gallery__thumb picture { display: block; width: 100%; height: 100%; }
.product-gallery__thumb img { width: 100%; height: 100%; object-fit: contain; }
.product-gallery__thumb[data-gallery-fit="cover"],
.product-gallery__thumb[data-gallery-fit="cover"].is-active { padding: 0; background: transparent; }
.product-gallery__thumb[data-gallery-fit="cover"] img { display: block; object-fit: cover; }
.product-summary { position: sticky; top: 112px; padding-top: 8px; }
.product-summary h1 { max-width: 660px; margin: 9px 0 13px; font-size: clamp(31px, 4vw, 52px); line-height: 1.02; letter-spacing: -.045em; }
.product-summary__code { margin: 0; color: var(--muted); font-size: 13px; }
.product-summary__code strong { color: var(--ink); }
.product-summary__price { margin-top: 34px; padding: 22px 0; border-block: 1px solid var(--line); }
.product-summary__price span { display: block; color: var(--muted); font-size: 12px; }
.product-summary__price strong { display: block; margin-top: 4px; color: #527863; font-size: clamp(29px, 4vw, 42px); line-height: 1; letter-spacing: -.035em; }
.product-summary__facts { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 18px; }
.product-summary__facts div { padding: 14px 15px; border-radius: 12px; background: var(--canvas); }
.product-summary__facts span { display: block; color: var(--muted); font-size: 11px; }
.product-summary__facts strong { display: block; margin-top: 3px; font-size: 16px; }
.product-summary__facts small { display: block; margin-top: 5px; color: var(--muted); font-size: 10px; line-height: 1.35; }
.product-summary__order { margin-top: 27px; }
.product-summary__order p { max-width: 480px; margin: 0 0 17px; color: var(--muted); font-size: 13px; line-height: 1.55; }
.product-summary__order .button { min-width: 205px; }
.product-information { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(38px, 8vw, 110px); margin-top: 72px; padding-top: 44px; border-top: 1px solid var(--line); }
.product-information h2 { margin: 5px 0 0; font-size: clamp(27px, 3vw, 38px); letter-spacing: -.035em; }
.product-information dl { margin: 0; }
.product-information dl div { display: grid; grid-template-columns: minmax(120px, .7fr) 1.3fr; gap: 20px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.product-information dt { color: var(--muted); font-size: 12px; }
.product-information dd { margin: 0; font-size: 13px; font-weight: 720; }
.product-not-found { min-height: 56vh; padding: 90px 0; }
.product-not-found h1 { margin: 7px 0 12px; font-size: clamp(39px, 6vw, 68px); letter-spacing: -.045em; }
.product-not-found p:not(.eyebrow) { margin: 0 0 24px; color: var(--muted); }
@media (max-width: 1080px) {
  .site-nav { gap: 18px; font-size: 13px; }
  .site-nav a:nth-child(4) { display: none; }
  .hero__grid { gap: 34px; }
  .catalog-hero__grid { grid-template-columns: 1fr; gap: 34px; }
  .catalog-focus__grid { grid-template-columns: repeat(2, 1fr); }
  .catalog-focus-card { height: 270px; }
  .catalog-toolbar { grid-template-columns: repeat(2, 1fr); }
  .catalog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 920px) {
  .topbar { display: none; }
  .site-header__inner { min-height: 72px; }
  .menu-toggle { display: grid; place-items: center; }
  .site-nav { display: none; position: absolute; left: 24px; right: 24px; top: 74px; padding: 18px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: 0 24px 55px rgba(35,36,32,.16); flex-direction: column; align-items: stretch; gap: 0; }
  .site-nav.is-open { display: flex; }
  .site-nav a, .site-nav a:nth-child(4) { display: block; padding: 12px 9px; }
  .site-nav .header-cta { margin: 9px 0 0; text-align: center; }
  .hero { padding-top: 46px; }
  .hero__grid, .about-grid, .network-grid, .contact-wrap { grid-template-columns: 1fr; }
  .hero__copy { padding: 0; }
  .section-heading { grid-template-columns: 1fr; gap: 17px; }
  .services-grid { grid-template-columns: repeat(2, 1fr); }
  .advantages-grid { grid-template-columns: repeat(2, 1fr); }
  .brand-grid { grid-template-columns: repeat(2, 1fr); }
  .stats__grid { grid-template-columns: repeat(2, 1fr); }
  .stat:nth-child(2) { border-right: 0; }
  .stat:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .catalog-cta__inner { align-items: start; flex-direction: column; }
  .product-detail__layout { grid-template-columns: 1fr; }
  .product-summary { position: static; padding-top: 0; }
  .product-information { grid-template-columns: 1fr; gap: 24px; }
}

@media (max-width: 640px) {
  .container { width: min(calc(100% - 28px), var(--container)); }
  .hero { padding: 38px 0 42px; }
  .hero h1 { font-size: clamp(38px, 11vw, 50px); }
  .hero__lead { font-size: 17px; }
  .hero__actions { flex-direction: column; }
  .hero__actions .button { width: 100%; }
  .hero-catalog { padding: 21px; border-radius: 22px; }
  .hero-catalog__head { flex-direction: column; gap: 11px; }
  .hero-catalog__grid { grid-template-columns: 1fr; }
  .hero-catalog__grid a { min-height: 78px; }
  .hero-catalog::after { font-size: 70px; }
  .stats { padding-bottom: 56px; }
  .stats__grid { grid-template-columns: 1fr; }
  .stat, .stat:nth-child(2) { border-right: 0; border-bottom: 1px solid var(--line); }
  .stat:last-child { border-bottom: 0; }
  .section { padding: 72px 0; }
  .section-heading { margin-bottom: 38px; }
  .section-heading p { font-size: 16px; }
  .services-grid, .advantages-grid, .partners { grid-template-columns: 1fr; }
  .service-card { min-height: 235px; }
  .about-story, .about-visual, .network-panel { padding: 27px; }
  .about-story h3 { margin-top: 52px; }
  .network-panel h3 { font-size: 34px; }
  .network-map { min-height: 390px; }
  .warehouse-gallery { min-height: 520px; grid-template-columns: 1fr; grid-template-rows: 1.2fr .9fr .9fr; }
  .warehouse-photo--main { grid-column: auto; }
  .brand-grid { grid-template-columns: 1fr 1fr; }
  .brand-card { min-height: 112px; padding: 18px; }
  .contact-wrap { padding: 12px; border-radius: 22px; }
  .contact-copy, .contact-form { padding: 25px; }
  .site-footer__inner { flex-direction: column; }
  .catalog-hero { padding: 34px 0 27px; }
  .catalog-hero h1 { font-size: clamp(36px, 11vw, 48px); }
  .catalog-hero p:not(.eyebrow) { font-size: 17px; }
  .catalog-delivery-card { min-height: 112px; padding: 20px; }
  .catalog-delivery-card strong { font-size: 26px; }
  .catalog-brands { padding: 48px 0 54px; }
  .catalog-brands__head { align-items: flex-start; flex-direction: column; gap: 20px; }
  .catalog-brands__head .button { width: 100%; text-align: center; }
  .catalog-section { padding: 14px 0 72px; }
  .catalog-focus__head { align-items: start; flex-direction: column; gap: 9px; }
  .catalog-focus__grid { display: flex; overflow-x: auto; padding-bottom: 5px; scroll-snap-type: x mandatory; scrollbar-width: thin; }
  .catalog-focus-card { flex: 0 0 82%; height: 300px; scroll-snap-align: start; }
  .catalog-focus-card__art { padding-left: 28%; }
  .catalog-focus-card__art--decorative, .catalog-focus-card__art--tools-set, .catalog-focus-card__art--hose { padding: 14px 18px 78px; }
  .catalog-focus-card__art--single { padding: 0; }
  .catalog-focus-card__art--collection { padding: 16px 13px 80px; }
  .catalog-focus-card__art--single img { right: 14px; max-width: 62%; }
  .catalog-category-nav { margin-inline: -2px; padding: 15px; }
  .catalog-category-nav__head { margin-bottom: 10px; }
  .catalog-category-chips { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; scrollbar-width: thin; }
  .catalog-category-chip { flex: 0 0 auto; white-space: nowrap; }
  .catalog-toolbar, .catalog-grid { grid-template-columns: 1fr; }
  .catalog-meta { align-items: flex-start; flex-direction: column; gap: 4px; }
  .product-card__image { height: 215px; }
  .catalog-cta { padding-bottom: 72px; }
  .catalog-cta__inner { padding: 28px; border-radius: 20px; }
  .catalog-cta .button { width: 100%; }
  .product-detail { padding: 24px 0 68px; }
  .product-breadcrumbs { margin-bottom: 22px; }
  .product-gallery__stage { border-radius: 17px; }
  .product-gallery__arrow { width: 40px; height: 40px; }
  .product-gallery__arrow--previous { left: 10px; }
  .product-gallery__arrow--next { right: 10px; }
  .product-gallery__thumb { flex-basis: 74px; width: 74px; height: 74px; }
  .product-summary h1 { margin-top: 7px; }
  .product-summary__order .button { width: 100%; }
  .product-information { margin-top: 49px; padding-top: 34px; }
  .product-information dl div { grid-template-columns: 1fr; gap: 5px; }
}

/* B2B catalog audit: task-first navigation, honest media states and a saved request list. */
.topbar a:hover { color: #745500; }
.header-contact span { color: #666a64; }
.brand-card--official figcaption { color: #666963; }

.site-header__main {
  grid-template-columns: auto auto minmax(250px, 1fr) auto auto auto;
}

.header-catalog-button,
.header-request-button {
  font: inherit;
  cursor: pointer;
}

.header-request-button {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 11px;
  border: 1px solid #b8c4bc;
  border-radius: 10px;
  background: #fff;
  color: #294737;
  font-size: 12px;
  font-weight: 850;
  white-space: nowrap;
}

.header-request-button strong {
  min-width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  padding: 0 6px;
  border-radius: 999px;
  background: #365b48;
  color: #fff;
  font-size: 11px;
}

.header-request-button:hover,
.header-request-button:focus { border-color: #557662; background: #f2f6f3; }

.header-catalog-panel {
  position: absolute;
  z-index: 70;
  left: 0;
  right: 0;
  top: 76px;
  max-height: calc(100vh - 76px);
  overflow-y: auto;
  padding: 18px 0 22px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: rgba(255,255,255,.99);
  box-shadow: 0 26px 48px rgba(31,38,33,.14);
}

.admin-bar .header-catalog-panel { top: 76px; }
.header-catalog-panel[hidden] { display: none; }
.header-catalog-panel__head { display: flex; align-items: start; justify-content: space-between; gap: 24px; margin-bottom: 14px; }
.header-catalog-panel__head strong,
.header-catalog-panel__head span { display: block; }
.header-catalog-panel__head strong { font-size: 22px; letter-spacing: -.025em; }
.header-catalog-panel__head span { margin-top: 3px; color: #666a64; font-size: 12px; }
.header-catalog-panel__head-actions { display: flex; align-items: center; gap: 12px; }
.header-catalog-panel__head-actions > a {
  min-height: 40px; display: inline-flex; align-items: center; gap: 8px; padding: 0 13px;
  border: 1px solid #cbd3cd; border-radius: 10px; color: #315a44; font-size: 12px; font-weight: 850;
}
.header-catalog-panel__head-actions > a:hover,
.header-catalog-panel__head-actions > a:focus { border-color: #6f907d; background: #eef3ef; }
.header-catalog-panel__head-actions > a span { display: inline; margin: 0; color: inherit; }
.header-catalog-panel__head button,
.request-drawer__head button {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid #d4d8d2;
  border-radius: 50%;
  background: #fff;
  color: #334a3e;
  cursor: pointer;
  font-size: 21px;
}

.header-catalog-panel__layout {
  display: grid; grid-template-columns: 260px minmax(0, 1fr); min-height: 390px;
  overflow: hidden; background: transparent;
}
.header-catalog-panel__categories { padding: 0 22px 0 0; border-right: 1px solid #e0e4df; background: transparent; }
.header-catalog-panel__categories button {
  width: 100%; min-height: 46px; display: flex; align-items: center; justify-content: flex-start; gap: 13px;
  padding: 7px 4px; border: 0; border-radius: 0; background: transparent; color: #30342f;
  cursor: pointer; font: inherit; text-align: left;
}
.header-catalog-panel__categories strong { font-size: 13px; line-height: 1.25; }
.header-catalog-panel__category-icon { flex: 0 0 25px; width: 25px; height: 25px; color: #747b76; font-size: 23px; line-height: 25px; }
.header-catalog-panel__categories button:hover,
.header-catalog-panel__categories button:focus { background: #f4f5f3; color: #315a44; outline: none; }
.header-catalog-panel__categories button[aria-selected="true"] { background: #eef2ef; color: #315a44; outline: none; }
.header-catalog-panel__categories button:hover .header-catalog-panel__category-icon,
.header-catalog-panel__categories button:focus .header-catalog-panel__category-icon,
.header-catalog-panel__categories button[aria-selected="true"] .header-catalog-panel__category-icon { color: #315a44; }
.header-catalog-panel__categories button:focus-visible { outline: 2px solid #f0c93a; outline-offset: 2px; }
.header-catalog-panel__content { min-width: 0; padding: 0 26px 24px; }
.header-catalog-panel__content section[hidden] { display: none; }
.header-catalog-panel__category-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding-bottom: 18px; border-bottom: 1px solid #e1e5e1; }
.header-catalog-panel__category-head > div > span,
.header-catalog-panel__group-title { color: #5f7e6b; font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.header-catalog-panel__category-head h2 { max-width: 650px; margin: 4px 0 0; font-size: clamp(22px, 2.2vw, 32px); line-height: 1.08; letter-spacing: -.035em; }
.header-catalog-panel__category-head p { margin: 6px 0 0; color: #6a6f68; font-size: 12px; }
.header-catalog-panel__category-head > a { flex: 0 0 auto; min-height: 42px; display: inline-flex; align-items: center; gap: 8px; padding: 0 2px; color: #315a44; font-size: 12px; font-weight: 850; text-decoration: underline; text-underline-offset: 4px; }
.header-catalog-panel__category-head > a:hover,
.header-catalog-panel__category-head > a:focus { color: #1f4330; }
.header-catalog-panel__group-title { margin-top: 20px; }
.header-catalog-panel__groups { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 6px 26px; margin-top: 8px; }
.header-catalog-panel__groups a { min-height: 42px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 9px; border-radius: 8px; color: #343934; font-size: 13px; font-weight: 750; }
.header-catalog-panel__groups a:hover,
.header-catalog-panel__groups a:focus { background: #eef3ef; color: #274c38; }
.header-catalog-panel__groups small { flex: 0 0 auto; color: #8a8f88; font-size: 11px; font-weight: 700; }
.header-catalog-panel__items { max-height: 318px; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); align-items: start; gap: 22px 30px; margin-top: 16px; padding-right: 5px; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
.header-catalog-panel__item-group { min-width: 0; }
.header-catalog-panel__item-group h3 { margin: 0 0 7px; font-size: 13px; line-height: 1.25; }
.header-catalog-panel__item-group h3 a { color: #20231f; font-weight: 900; }
.header-catalog-panel__item-group h3 a:hover,
.header-catalog-panel__item-group h3 a:focus { color: #315a44; text-decoration: underline; text-underline-offset: 3px; }
.header-catalog-panel__item-links a { min-height: 43px; display: flex; align-items: center; padding: 6px 0; border-bottom: 1px solid #edf0ec; color: #4f544e; }
.header-catalog-panel__item-links a:hover,
.header-catalog-panel__item-links a:focus { background: transparent; color: #274c38; }
.header-catalog-panel__item-links a > span { min-width: 0; }
.header-catalog-panel__item-links strong { display: -webkit-box; overflow: hidden; font-size: 11px; line-height: 1.3; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.header-catalog-panel__item-links small { display: block; margin-top: 3px; color: #858b84; font-size: 9px; font-weight: 700; }
.header-catalog-panel__quick { margin-top: 20px; padding-top: 17px; border-top: 1px solid #e1e5e1; }
.header-catalog-panel__quick > strong { display: block; margin-bottom: 9px; color: #4f5851; font-size: 11px; }
.header-catalog-panel__quick > div { display: flex; flex-wrap: wrap; gap: 7px; }
.header-catalog-panel__quick a { min-height: 34px; display: inline-flex; align-items: center; padding: 0 11px; border: 1px solid #cbd5ce; border-radius: 999px; background: #f7f8f6; color: #365b48; font-size: 11px; font-weight: 800; }
.header-catalog-panel__quick a:hover,
.header-catalog-panel__quick a:focus { border-color: #6f907d; background: #e9f0eb; }
.site-nav__mobile-catalog { display: none; }

.catalog-search small { display: block; margin: 6px 2px 0; color: #666a64; font-size: 10px; line-height: 1.3; }
.catalog-active-filters { display: flex; flex-wrap: wrap; gap: 7px; margin: 12px 0 0; }
.catalog-active-filters[hidden] { display: none; }
.catalog-active-filter {
  min-height: 34px;
  padding: 0 11px;
  border: 1px solid #aebdb4;
  border-radius: 999px;
  background: #eef3ef;
  color: #315540;
  cursor: pointer;
  font-size: 11px;
  font-weight: 760;
}
.catalog-active-filter:hover,
.catalog-active-filter:focus { border-color: #52735f; background: #e1ebe4; }
.catalog-app.is-loading .catalog-toolbar,
.catalog-app.is-loading .catalog-category-chips { opacity: .72; }
.catalog-toolbar :disabled,
.catalog-category-chip:disabled { cursor: wait; }

.product-card__quality {
  position: absolute;
  z-index: 2;
  left: 12px;
  bottom: 12px;
  padding: 5px 7px;
  border-radius: 7px;
  background: rgba(255,255,255,.94);
  color: #6b5b2c;
  box-shadow: 0 3px 12px rgba(35,36,32,.07);
  font-size: 9px;
  font-weight: 800;
}
.product-card__image.is-preview-image img { width: 78%; height: 78%; }
.product-card__details strong { line-height: 1.35; }
.product-card__request {
  position: relative;
  z-index: 4;
  flex: 0 0 auto;
  min-height: 42px;
  padding: 0 12px;
  border: 1px solid #365b48;
  border-radius: 9px;
  background: #365b48;
  color: #fff;
  cursor: pointer;
  font-size: 11px;
  font-weight: 850;
}
.product-card__request:hover,
.product-card__request:focus,
.product-card__request.is-added { border-color: #294737; background: #294737; }

.product-summary__order-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.product-summary__order-actions .button { cursor: pointer; }

.request-drawer {
  width: min(560px, 100%);
  max-width: 100%;
  height: 100dvh;
  max-height: 100dvh;
  margin: 0 0 0 auto;
  padding: 0;
  border: 0;
  background: #fff;
  color: var(--ink);
  box-shadow: -22px 0 55px rgba(25,31,27,.2);
}
.request-drawer::backdrop { background: rgba(22,28,24,.46); backdrop-filter: blur(3px); }
body.request-drawer-is-open { overflow: hidden; }
.request-drawer.is-fallback-open {
  position: fixed;
  inset: 0 0 0 auto;
  z-index: 1000;
}
.request-drawer__panel { height: 100%; min-height: 100%; display: flex; flex-direction: column; overflow-y: auto; padding: 22px; }
.request-drawer__head { display: flex; align-items: start; justify-content: space-between; gap: 20px; }
.request-drawer__head span { color: #52735f; font-size: 10px; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.request-drawer__head h2 { margin: 3px 0 0; font-size: 28px; line-height: 1.05; letter-spacing: -.04em; }
.request-drawer__intro { margin: 11px 0 14px; color: #636760; font-size: 12px; line-height: 1.45; }
.request-drawer__selection { padding: 11px 12px; border: 1px solid #dfe3dd; border-radius: 13px; background: #fafbf9; }
.request-drawer__selection-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 7px; }
.request-drawer__selection-head h3 { margin: 0; font-size: 14px; }
.request-drawer__selection-head strong { color: #52735f; font-size: 11px; }
.request-drawer__items { display: grid; gap: 9px; max-height: 220px; overflow-y: auto; padding: 1px 3px 1px 1px; }
.request-drawer__items[hidden],
.request-drawer__empty[hidden] { display: none; }
.request-drawer__empty { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 0; padding: 9px 0 1px; border: 0; border-top: 1px dashed #cfd5cf; border-radius: 0; color: #626760; text-align: left; }
.request-drawer__empty strong,
.request-drawer__empty span { display: block; }
.request-drawer__empty strong { flex: 0 0 auto; color: #30332f; font-size: 12px; }
.request-drawer__empty span { margin-top: 2px; font-size: 10px; }
.request-drawer__empty a { flex: 0 0 auto; color: #365b48; font-size: 11px; font-weight: 780; text-decoration: underline; text-underline-offset: 3px; }
.request-item { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; padding: 14px; border: 1px solid #dfe3dd; border-radius: 13px; background: #fafbf9; }
.request-item__copy span,
.request-item__copy a { display: block; }
.request-item__copy span { color: #6a6e67; font-size: 10px; }
.request-item__copy a { margin-top: 4px; font-size: 13px; font-weight: 760; line-height: 1.3; }
.request-item__copy a:hover,
.request-item__copy a:focus { color: #365b48; }
.request-item__controls { display: grid; grid-template-columns: 34px 54px 34px; gap: 4px; align-content: center; }
.request-item__controls button,
.request-item__controls input { min-width: 0; height: 34px; border: 1px solid #ccd2cc; border-radius: 8px; background: #fff; color: #31352f; text-align: center; }
.request-item__controls button { cursor: pointer; font-weight: 850; }
.request-item__controls [data-request-remove] { grid-column: 1 / -1; height: 27px; border: 0; background: transparent; color: #765b54; font-size: 10px; font-weight: 700; }
.request-form { position: relative; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px 12px; margin-top: 13px; }
.request-form__field { display: grid; gap: 4px; }
.request-form__field--wide { grid-column: 1 / -1; }
.request-form__field label { color: #4f564f; font-size: 12px; font-weight: 780; }
.request-form__field label span { color: #9a442f; }
.request-form__field label .request-form__optional { color: #7a8079; font-size: 9px; font-weight: 600; }
.request-form__field small { color: #777d76; font-size: 10px; line-height: 1.35; }
.request-form__field input,
.request-form__field select,
.request-form__field textarea { width: 100%; min-width: 0; border: 1px solid #cfd5cf; border-radius: 10px; background: #fff; color: #262a26; font: inherit; }
.request-form__field input,
.request-form__field select { min-height: 44px; padding: 0 11px; }
.request-form__field textarea { resize: vertical; min-height: 76px; padding: 10px 11px; }
.request-form__field input:focus,
.request-form__field select:focus,
.request-form__field textarea:focus { outline: 3px solid rgba(54,91,72,.18); border-color: #365b48; }
.request-form__details > summary { display: none; }
.request-form__details-body { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px 12px; }
.request-form__consent { display: flex; align-items: flex-start; gap: 8px; color: #5d625c; font-size: 12px; line-height: 1.4; cursor: pointer; }
.request-form__consent input { flex: 0 0 auto; width: 17px; height: 17px; margin-top: 1px; accent-color: #365b48; }
.request-form__consent a { color: #244b37; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.request-form__order-note { margin: -1px 0 0; color: #676d67; font-size: 10px; line-height: 1.4; }
.request-form__order-note strong { color: #334c3e; }
.request-form__submit-row { display: grid; grid-template-columns: minmax(230px,1fr) minmax(0,180px); align-items: center; gap: 12px; }
.request-form__submit-row > span { color: #656b65; font-size: 10px; line-height: 1.35; }
.request-form__submit { width: 100%; min-height: 44px; cursor: pointer; }
.request-form__submit:disabled { opacity: .65; cursor: wait; }
.request-form__trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.request-success { margin-top: 13px; padding: 20px; border: 1px solid #9dbbaa; border-radius: 14px; background: #edf6f0; text-align: center; }
.request-success h3 { margin: 0; color: #294c39; font-size: 19px; }
.request-success p { margin: 7px 0 16px; color: #536159; font-size: 12px; }
.request-drawer__footer { margin-top: auto; padding-top: 13px; border-top: 1px solid var(--line); }
.request-drawer__footer-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.request-drawer__footer .button { width: 100%; min-height: 42px; margin: 0; padding: 0 12px; cursor: pointer; font-size: 11px; }
.request-drawer__footer .button:disabled { opacity: .5; cursor: not-allowed; }
.request-drawer__status { display: block; min-height: 0; padding: 8px 10px; border-radius: 9px; background: #eef5f0; color: #365b48; font-size: 11px; line-height: 1.4; }
.request-drawer__status[data-state="error"] { background: #fff0ec; color: #853823; }
.request-drawer__status:empty { display: none; }

@media (max-width: 1120px) {
  .site-header__main { grid-template-columns: auto auto minmax(230px,1fr) auto auto; }
  .header-catalog-panel__layout { grid-template-columns: 238px minmax(0,1fr); }
  .header-catalog-panel__content { padding: 0 20px 20px; }
  .header-catalog-panel__items { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 920px) {
  .site-header__main { grid-template-columns: auto 1fr auto; }
  .header-request-button { justify-self: end; }
  .header-catalog-panel { display: none; }
}

@media (max-width: 640px) {
  .header-request-button span { display: none; }
  .header-request-button { min-width: 44px; justify-content: center; padding: 0 8px; }
  .product-card__image.is-preview-image img { width: 72%; height: 72%; }
  .product-card__footer { align-items: center; }
  .product-card__request { min-height: 44px; }
  .product-summary__order-actions { display: grid; grid-template-columns: 1fr; width: 100%; }
  .request-drawer__panel { padding: 19px 16px calc(16px + env(safe-area-inset-bottom)); }
  .request-item { grid-template-columns: 1fr; }
  .request-drawer__items { max-height: none; overflow: visible; }
  .request-item__controls { grid-template-columns: 44px 64px 44px; justify-content: start; }
  .request-item__controls button,
  .request-item__controls input { height: 44px; }
  .request-item__controls [data-request-remove] { min-height: 44px; }
  .request-form { grid-template-columns: 1fr; }
  .request-form__field--wide { grid-column: auto; }
  .request-form__details > summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 44px; padding: 0 11px; border: 1px solid #cfd5cf; border-radius: 10px; color: #3f4942; font-size: 12px; font-weight: 760; cursor: pointer; list-style-position: inside; }
  .request-form__details > summary span { color: #777d76; font-size: 9px; font-weight: 600; }
  .request-form__details:not([open]) .request-form__details-body { display: none; }
  .request-form__details[open] > summary { margin-bottom: 10px; }
  .request-form__details-body { grid-template-columns: 1fr; }
  .request-form__submit-row { grid-template-columns: 1fr; gap: 5px; }
  .request-drawer__footer-actions { grid-template-columns: 1fr; }
  .request-drawer__empty { align-items: flex-start; }
  .request-drawer__empty span { max-width: none; text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}

/* Catalog-first redesign: search, clear hierarchy and compact B2B product flow. */
.screen-reader-text {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.screen-reader-text:focus {
  position: fixed !important; left: 18px; top: 18px; z-index: 1000; width: auto; height: auto;
  padding: 11px 14px; clip: auto; border-radius: 8px; background: #fff; color: var(--ink);
}
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 3px solid #2d6049; outline-offset: 3px;
}

.topbar { background: #f4f5f2; color: #555852; }
.topbar__inner { min-height: 34px; }
.topbar__facts { display: flex; align-items: center; gap: 0; }
.topbar__facts span { display: inline-flex; align-items: center; }
.topbar__facts span + span::before { content: "•"; margin: 0 11px; color: #9da09a; }
.topbar__links { gap: 18px; }

.site-header { background: rgba(255,255,255,.98); box-shadow: 0 5px 18px rgba(25,26,23,.045); }
.admin-bar .site-header { top: 32px; }
.site-header__main {
  min-height: 76px; display: grid; grid-template-columns: auto auto minmax(280px, 1fr) auto auto;
  align-items: center; gap: 14px;
}
.brand__mark { flex-basis: 43px; width: 43px; height: 43px; }
.brand__mark img { left: -29px; width: 115px; }
.brand__wordmark strong { font-size: 15px; }
.brand__wordmark small { font-size: 7px; }
.custom-logo-link { display: inline-flex; align-items: center; }
.header-catalog-button {
  min-height: 46px; display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  padding: 0 16px; border: 1px solid #e0b42e; border-radius: 10px; background: var(--yellow);
  color: var(--ink); font-size: 14px; font-weight: 850; white-space: nowrap;
}
.header-catalog-button:hover, .header-catalog-button:focus { background: var(--yellow-hover); }
.header-catalog-button [data-catalog-menu-icon] { width: 18px; display: inline-grid; place-items: center; font-size: 20px; line-height: 1; }
.header-catalog-button[aria-expanded="true"] { border-color: #9d7612; background: var(--yellow-hover); box-shadow: inset 0 0 0 1px rgba(95,70,8,.18); }
.header-catalog-button[aria-expanded="true"] [data-catalog-menu-icon] { font-size: 25px; font-weight: 500; }
.header-search {
  min-width: 0; height: 46px; display: flex; overflow: hidden; border: 1px solid #c8ccc6;
  border-radius: 10px; background: #fff;
}
.header-search:focus-within { border-color: #3f6b55; box-shadow: 0 0 0 1px #3f6b55; }
.header-search input { min-width: 0; flex: 1; border: 0; outline: 0; padding: 0 15px; background: transparent; color: var(--ink); }
.header-search input::placeholder { color: #777b74; }
.header-search button {
  min-width: 77px; border: 0; background: #365b48; color: #fff; cursor: pointer; font-size: 13px; font-weight: 800;
}
.header-search button:hover, .header-search button:focus { background: #294737; }
.header-contact { display: flex; flex-direction: column; align-items: flex-end; white-space: nowrap; }
.header-contact span { color: #777b74; font-size: 10px; font-weight: 750; text-transform: uppercase; letter-spacing: .07em; }
.header-contact a { margin-top: 2px; color: #294737; font-size: 14px; font-weight: 850; }
.header-contact a.header-contact__secondary { margin-top: 0; font-size: 11px; font-weight: 750; }
.site-header__navigation { border-top: 1px solid #eceeea; }
.site-nav {
  min-height: 43px; margin: 0 auto; display: flex; align-items: center; gap: 0; overflow-x: auto;
  color: #4c504a; font-size: 12px; font-weight: 720; scrollbar-width: none;
}
.site-nav::-webkit-scrollbar { display: none; }
.site-nav a { flex: 0 0 auto; padding: 12px 11px; }
.site-nav a:nth-child(4) { display: block; }
.site-nav a:first-child { padding-left: 0; color: #294737; font-weight: 850; }
.site-nav a:hover, .site-nav a:focus { color: #1f5940; }
.site-nav__divider { flex: 1 0 20px; }
.site-nav a.site-nav__price { padding-right: 0; color: #8b6700; font-weight: 850; }
.menu-toggle { margin: 0; min-width: 46px; }

.catalog-hero { padding: 42px 0; background: #fafbf9; }
.catalog-hero__grid { grid-template-columns: minmax(0, 1.22fr) minmax(360px, .78fr); gap: 54px; }
.catalog-hero h1 { max-width: 780px; font-size: clamp(40px, 4.4vw, 58px); }
.catalog-hero p:not(.eyebrow) { max-width: 700px; color: #5f635d; font-size: 17px; }
.catalog-hero-search { max-width: 690px; display: flex; gap: 9px; margin-top: 25px; }
.catalog-hero-search input {
  min-width: 0; flex: 1; height: 52px; padding: 0 16px; border: 1px solid #bcc2bb; border-radius: 11px;
  background: #fff; color: var(--ink); outline: 0;
}
.catalog-hero-search input:focus { border-color: #39644f; box-shadow: 0 0 0 1px #39644f; }
.catalog-hero-search .button { min-width: 136px; box-shadow: none; cursor: pointer; }
.catalog-hero__facts { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 9px; }
.catalog-hero__facts > div, .catalog-hero__facts > a {
  min-height: 105px; padding: 17px; border: 1px solid #dfe3dd; border-radius: 14px; background: #fff;
  display: flex; flex-direction: column; justify-content: space-between;
}
.catalog-hero__facts > div strong { color: #355f4a; font-size: 27px; line-height: 1; letter-spacing: -.035em; }
.catalog-hero__facts > div span { overflow-wrap: anywhere; color: #666a64; font-size: 12px; line-height: 1.3; }
.catalog-hero__facts .catalog-exclusive { width: auto; max-width: none; margin: 0; flex-direction: row; align-items: center; gap: 12px; }
.catalog-hero__facts .catalog-exclusive img { width: 70px; height: 38px; }
.catalog-hero__facts .catalog-exclusive__count { width: 46px; height: 46px; line-height: 46px; }
.catalog-hero__facts .catalog-exclusive strong { font-size: 11px; }
.catalog-hero__facts .catalog-exclusive small { font-size: 10px; }

.catalog-section { padding: 34px 0 84px; }
.catalog-focus { margin-bottom: 34px; }
.catalog-focus__head { margin-bottom: 15px; }
.catalog-focus__head h2 { font-size: clamp(29px, 3vw, 40px); }
.catalog-focus__head p { font-size: 14px; }
.catalog-focus-card { height: 238px; border-radius: 15px; box-shadow: 0 8px 23px rgba(35,36,32,.055); }
.catalog-focus-card.is-active { box-shadow: 0 0 0 3px #3f6b55, 0 12px 28px rgba(35,36,32,.1); }
.catalog-focus-card__label { left: 18px; right: 18px; bottom: 17px; }
.catalog-focus-card small { font-size: 11px; }
.catalog-focus-card strong { font-size: 20px; }
.catalog-focus-card i { width: 40px; height: 40px; }

.catalog-browser { display: grid; grid-template-columns: 238px minmax(0, 1fr); gap: 24px; align-items: start; }
.catalog-category-nav {
  position: sticky; top: 136px; margin: 0; padding: 18px; border: 1px solid #dfe3dd;
  border-radius: 15px; background: #fff;
}
.admin-bar .catalog-category-nav, .admin-bar .catalog-toolbar { top: 168px; }
.catalog-category-nav__head { align-items: flex-start; flex-direction: column; gap: 2px; margin-bottom: 12px; }
.catalog-category-nav__head strong { font-size: 20px; }
.catalog-category-nav__head span { font-size: 10px; }
.catalog-category-chips { display: flex; flex-direction: column; gap: 3px; }
.catalog-category-chip {
  width: 100%; min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 10px;
  padding: 8px 9px; border: 0; border-radius: 9px; background: transparent; color: #3f433e;
  font-size: 12px; line-height: 1.25; text-align: left;
}
.catalog-category-chip span { min-width: 24px; color: #838780; font-size: 11px; font-weight: 700; text-align: right; }
.catalog-category-chip:hover, .catalog-category-chip:focus { transform: none; background: #f1f3f0; }
.catalog-category-chip.is-active { background: #365b48; color: #fff; }
.catalog-category-chip.is-active span { color: #fff; }
.catalog-order-note { margin-top: 16px; padding-top: 15px; border-top: 1px solid #e1e4df; }
.catalog-order-note strong { color: #365b48; font-size: 12px; }
.catalog-order-note p { margin: 6px 0 0; color: #6a6e67; font-size: 11px; line-height: 1.5; }
.catalog-results { min-width: 0; }
.catalog-trail { min-height: 24px; display: flex; align-items: center; gap: 8px; margin: 0 2px 10px; color: #828780; font-size: 11px; }
.catalog-trail button {
  padding: 0; border: 0; background: transparent; color: #456b57; cursor: pointer; font: inherit; font-weight: 800;
}
.catalog-trail button:hover, .catalog-trail button:focus { color: #234f39; text-decoration: underline; text-underline-offset: 3px; }
.catalog-trail button[aria-current="page"] { color: #737871; cursor: default; text-decoration: none; }
.catalog-trail strong { min-width: 0; overflow: hidden; color: #666b65; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.catalog-context { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; margin: 0 2px 18px; }
.catalog-context > div { min-width: 0; }
.catalog-context__kicker { display: block; margin-bottom: 5px; color: #587664; font-size: 10px; font-weight: 900; letter-spacing: .075em; text-transform: uppercase; }
.catalog-context h2 { margin: 0; font-size: clamp(30px, 3.2vw, 43px); letter-spacing: -.045em; line-height: 1.02; }
.catalog-context p { max-width: 700px; margin: 9px 0 0; color: #6c716a; font-size: 13px; line-height: 1.45; }
.catalog-context > a { flex: 0 0 auto; padding-bottom: 4px; color: #416b55; font-size: 12px; font-weight: 850; }
.catalog-context > a:hover, .catalog-context > a:focus { color: #234f39; }
.catalog-subcategory-nav { margin: 0 0 14px; padding: 15px; border: 1px solid #dfe3dd; border-radius: 14px; background: #fff; }
.catalog-subcategory-nav__head { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 10px; }
.catalog-subcategory-nav__head div { display: flex; align-items: baseline; gap: 9px; }
.catalog-subcategory-nav__head span { color: #768078; font-size: 9px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.catalog-subcategory-nav__head strong { color: #2f342f; font-size: 14px; }
.catalog-subcategory-nav__head small { color: #7c817b; font-size: 10px; }
.catalog-subcategory-links { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 6px; }
.catalog-subcategory-links.has-group-media { grid-template-columns: repeat(5, minmax(0,1fr)); gap: 10px; }
.catalog-subcategory-link {
  min-width: 0; min-height: 43px; display: flex; align-items: center; justify-content: space-between; gap: 10px;
  padding: 8px 10px; border: 0; border-radius: 8px; background: transparent; color: #343934; cursor: pointer;
  font-size: 11px; font-weight: 760; line-height: 1.25; text-align: left;
}
.catalog-subcategory-link span { min-width: 0; }
.catalog-subcategory-link small { flex: 0 0 auto; color: #8a8f88; font-size: 9px; font-weight: 750; }
.catalog-subcategory-link:hover, .catalog-subcategory-link:focus { background: #f1f3f0; color: #274f3b; }
.catalog-subcategory-link.is-active { background: #eaf1ec; color: #28543e; box-shadow: inset 3px 0 0 #4b755e; }
.catalog-subcategory-link.is-active small { color: #52705f; }
.catalog-subcategory-link--product { text-decoration: none; }
.catalog-subcategory-link--all { grid-column: 1 / -1; min-height: 38px; padding: 6px 10px; }
.catalog-subcategory-link--group { display: flex; min-width: 0; min-height: 178px; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 7px; padding: 6px; text-align: left; box-shadow: none; }
.catalog-subcategory-link--group.is-active { box-shadow: inset 0 0 0 2px #6f927d; }
.catalog-subcategory-link__media { display: grid; width: 100%; height: 116px; place-items: center; overflow: hidden; border-radius: 8px; background: #fff; color: #8a8f88; font-size: 10px; }
.catalog-subcategory-link__media picture { display: contents; }
.catalog-subcategory-link__media img { display: block; width: 100%; height: 100%; object-fit: contain; }
.catalog-subcategory-link__copy { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: 3px; padding: 0 3px 4px; }
.catalog-subcategory-link__copy strong { color: inherit; font-size: 11px; line-height: 1.25; }
.catalog-subcategory-link__copy small { font-size: 9px; }
.catalog-toolbar {
  position: sticky; top: 136px; z-index: 8; grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 9px; padding: 12px; border-radius: 14px; box-shadow: 0 8px 24px rgba(30,35,31,.055);
}
.catalog-search { grid-column: span 2; }
.catalog-toolbar label { font-size: 11px; }
.catalog-toolbar input, .catalog-toolbar select { height: 46px; background: #f7f8f6; font-size: 13px; }
.catalog-filter__hint { display: block; margin: 6px 2px 0; color: #666a64; font-size: 9px; line-height: 1.3; }
.catalog-reset {
  align-self: end; min-height: 46px; padding: 0 12px; border: 1px solid #cfd3cc; border-radius: 10px;
  background: #fff; color: #565b54; cursor: pointer; font-size: 12px; font-weight: 780;
}
.catalog-reset:hover, .catalog-reset:focus { border-color: #557662; color: #2d6049; }
.catalog-meta { margin: 20px 2px 14px; font-size: 12px; }
.catalog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
.product-card { border-radius: 14px; box-shadow: none; }
.product-card:hover { transform: translateY(-2px); box-shadow: 0 10px 26px rgba(35,36,32,.07); }
.product-card__image { height: 188px; padding: 18px; }
.product-card__stock { min-height: 28px; display: inline-flex; align-items: center; font-size: 11px; }
.product-card__body { padding: 16px; }
.product-card__category { min-height: 32px; color: #4d745e; font-size: 11px; }
.product-card__code { margin-top: 7px; color: #747871; font-size: 12px; }
.product-card__code-row { min-height: 26px; display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 7px; }
.product-card__code-row .product-card__code { margin-top: 0; }
.product-card__material { flex: 0 0 auto; padding: 4px 7px; border: 1px solid #d7ded8; border-radius: 999px; background: #f1f3ef; color: #53665a; font-size: 9px; font-weight: 850; line-height: 1.15; white-space: nowrap; }
.product-card__material--xps { border-color: #eadca6; background: #fff5cf; color: #745a0d; }
.product-card__title { margin: 6px 0 15px; font-size: 16px; }
.product-card__details span { padding: 9px; color: #666a64; font-size: 11px; }
.product-card__details strong { font-size: 13px; }
.product-card__footer { padding-top: 14px; margin-top: 14px; }
.product-card__footer small { color: #686d66; font-size: 11px; }
.product-card__price { font-size: 18px; }
.product-card__action { min-height: 44px; padding: 0 13px; font-size: 12px; }

.product-summary__labels { display: flex; flex-wrap: wrap; gap: 7px; }
.product-summary { top: 136px; }
.admin-bar .product-summary { top: 168px; }
.product-gallery__stage.is-preview-image > picture { width: min(68%, 380px); height: min(68%, 380px); }
.product-gallery__quality-note {
  position: absolute; left: 18px; right: 18px; bottom: 15px; z-index: 2; margin: 0; padding: 8px 10px;
  border-radius: 8px; background: rgba(255,255,255,.91); color: #666a64; font-size: 10px; line-height: 1.35; text-align: center;
}
.product-summary__labels span { padding: 7px 9px; border-radius: 8px; background: #eef3ef; color: #3b654f; font-size: 10px; font-weight: 850; letter-spacing: .055em; text-transform: uppercase; }
.product-summary__price small { display: block; margin-top: 9px; color: #777b74; font-size: 11px; }
.product-summary__material-fact { border: 1px solid #d7e0d9; background: #eef4ef !important; }
.product-summary__material-fact--xps { border-color: #eadca6; background: #fff7dc !important; }
.product-summary__facts .product-summary__material-fact small { color: #647068; }
.product-summary__service { display: grid; gap: 0; margin: 20px 0 0; padding: 0; list-style: none; }
.product-summary__service li { position: relative; padding: 12px 0 12px 28px; border-top: 1px solid var(--line); }
.product-summary__service li::before { content: "✓"; position: absolute; left: 0; top: 13px; color: #3a7252; font-weight: 900; }
.product-summary__service strong, .product-summary__service span { display: block; }
.product-summary__service strong { font-size: 13px; }
.product-summary__service span { margin-top: 2px; color: #6c7069; font-size: 11px; }
.product-summary__order { display: flex; flex-direction: column; align-items: flex-start; gap: 11px; }
.product-summary__order p { order: 2; margin: 0; }
.product-summary__order p strong { color: #3c5f4d; }
.product-information > div > p:not(.eyebrow) { max-width: 430px; margin: 13px 0 0; color: var(--muted); font-size: 13px; }
.related-products { margin-top: 76px; padding-top: 44px; border-top: 1px solid var(--line); }
.related-products__head { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 22px; }
.related-products__head h2 { margin: 4px 0 0; font-size: clamp(29px, 3vw, 40px); letter-spacing: -.04em; }
.related-products__head a { color: #416b55; font-size: 13px; font-weight: 800; }
.related-products__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; }
.related-products .product-card__image { height: 170px; }
.product-mobile-action { display: none; }

.site-footer { padding: 0; background: #242724; color: #c8cbc5; }
.site-footer__grid { display: grid; grid-template-columns: 1.35fr repeat(3, 1fr); gap: 48px; padding-top: 48px; padding-bottom: 38px; }
.site-footer__brand { align-items: flex-start; gap: 14px; }
.site-footer__brand strong { display: block; color: #fff; font-size: 14px; }
.site-footer__brand p { max-width: 280px; margin: 8px 0 0; color: #9fa39c; font-size: 12px; line-height: 1.5; }
.footer-logo { flex: 0 0 auto; width: 48px; height: 45px; filter: brightness(0) invert(1); opacity: .9; }
.site-footer__column { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.site-footer__column > strong { margin-bottom: 5px; color: #fff; font-size: 12px; text-transform: uppercase; letter-spacing: .07em; }
.site-footer__column a, .site-footer__column span { color: #b3b7b0; font-size: 12px; line-height: 1.45; }
.site-footer__column a:hover, .site-footer__column a:focus { color: #fff; }
.site-footer__contacts a:first-of-type { color: #fff; font-size: 15px; font-weight: 850; }
.site-footer__bottom { min-height: 54px; display: flex; align-items: center; justify-content: space-between; gap: 24px; border-top: 1px solid rgba(255,255,255,.11); color: #8f938c; font-size: 11px; }

@media (max-width: 1120px) {
  .site-header__main { grid-template-columns: auto auto minmax(250px,1fr) auto; }
  .header-contact { display: none; }
  .catalog-browser { grid-template-columns: 220px minmax(0,1fr); gap: 18px; }
  .catalog-toolbar { position: static; grid-template-columns: repeat(2, minmax(0,1fr)); }
  .catalog-search { grid-column: 1 / -1; }
  .catalog-reset { grid-column: auto; justify-self: stretch; min-width: 100px; }
  .related-products__grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}

@media (max-width: 920px) {
  .site-header__main { min-height: 74px; grid-template-columns: auto 1fr auto; gap: 10px; padding: 10px 0; }
  .header-catalog-button, .header-contact { display: none; }
  .header-search { grid-column: 1 / -1; grid-row: 2; width: 100%; }
  .site-header__navigation { border-top: 0; }
  .site-nav {
    display: none; position: absolute; left: 18px; right: 18px; top: calc(100% + 1px); max-height: calc(100vh - 150px);
    overflow-y: auto; padding: 10px; border: 1px solid var(--line); border-radius: 14px; background: #fff;
    box-shadow: 0 24px 55px rgba(35,36,32,.17); flex-direction: column; align-items: stretch;
  }
  .site-nav.is-open { display: flex; }
  .site-nav a, .site-nav a:nth-child(4), .site-nav a:first-child { display: block; padding: 11px 10px; }
  .site-nav__desktop-category { display: none !important; }
  .site-nav__mobile-catalog { display: block; }
  .site-nav__mobile-catalog > strong {
    display: block; padding: 8px 10px 10px; color: #52735f; font-size: 11px; font-weight: 900;
    letter-spacing: .07em; text-transform: uppercase;
  }
  .site-nav__mobile-catalog details { border-top: 1px solid #e2e5e0; }
  .site-nav__mobile-catalog details:last-of-type { border-bottom: 1px solid #e2e5e0; }
  .site-nav__mobile-catalog summary {
    min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 12px;
    padding: 9px 10px; color: #30352f; cursor: pointer; font-size: 12px; font-weight: 820;
  }
  .site-nav__mobile-catalog summary > span { min-width: 0; display: flex; align-items: center; gap: 9px; }
  .site-nav__mobile-catalog summary > span i { flex: 0 0 20px; width: 20px; height: 20px; color: #68746c; font-size: 19px; line-height: 20px; }
  .site-nav__mobile-catalog summary small { flex: 0 0 auto; color: #7a8079; font-size: 10px; font-weight: 700; }
  .site-nav__mobile-catalog details[open] summary { color: #315a44; }
  .site-nav__mobile-catalog details > div { display: grid; gap: 2px; padding: 0 6px 9px 18px; }
  .site-nav__mobile-catalog details > div a,
  .site-nav__mobile-catalog details > div a:first-child,
  .site-nav__mobile-catalog details > div a:nth-child(4) {
    min-height: 42px; display: flex; align-items: center; justify-content: space-between; gap: 10px;
    padding: 8px 10px; border-radius: 8px; color: #5d645e; font-size: 11px; font-weight: 700;
  }
  .site-nav__mobile-catalog details > div a:first-child { color: #315a44; font-weight: 850; }
  .site-nav__mobile-catalog details > div a:hover,
  .site-nav__mobile-catalog details > div a:focus { background: #eef3ef; color: #274c38; }
  .site-nav__mobile-catalog details > div small { color: #8a8f88; font-size: 9px; }
  .site-nav__divider { display: none; }
  .site-nav a.site-nav__price { margin-top: 5px; padding: 12px; border-radius: 9px; background: var(--yellow); color: var(--ink); text-align: center; }
  body.menu-is-open { overflow: hidden; }
  .catalog-hero__grid { grid-template-columns: 1fr; gap: 30px; }
  .catalog-hero__facts { grid-template-columns: repeat(4, minmax(0,1fr)); }
  .catalog-hero__facts > div, .catalog-hero__facts > a { min-height: 112px; }
  .catalog-focus__grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .catalog-browser { grid-template-columns: 1fr; }
  .catalog-category-nav { position: static; padding: 14px; }
  .admin-bar .catalog-category-nav, .admin-bar .catalog-toolbar { top: auto; }
  .catalog-category-nav__head { flex-direction: row; align-items: center; }
  .catalog-category-chips { flex-direction: row; flex-wrap: nowrap; overflow-x: auto; padding: 4px 3px 7px; scroll-padding-inline: 3px; }
  .catalog-category-chip { flex: 0 0 auto; width: auto; min-height: 44px; white-space: nowrap; }
  .catalog-order-note { margin-top: 10px; }
  .catalog-subcategory-links { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .catalog-subcategory-links.has-group-media { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .catalog-toolbar { position: static; grid-template-columns: 1fr 1fr; }
  .product-summary, .admin-bar .product-summary { top: auto; }
  .catalog-search { grid-column: 1 / -1; }
  .catalog-reset { grid-column: auto; justify-self: stretch; }
  .catalog-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .related-products__grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .site-footer__grid { grid-template-columns: repeat(2, 1fr); gap: 34px; }
}

@media (max-width: 782px) {
  .admin-bar .site-header { top: 46px; }
}

@media (max-width: 640px) {
  .brand__mark { flex-basis: 40px; width: 40px; height: 40px; }
  .brand__mark img { left: -27px; width: 108px; }
  .brand__wordmark strong { font-size: 14px; }
  .header-search { height: 44px; }
  .header-search button { min-width: 68px; }
  .catalog-hero { padding: 29px 0 27px; }
  .catalog-hero h1 { font-size: clamp(35px, 10vw, 46px); }
  .catalog-hero p:not(.eyebrow) { font-size: 15px; }
  .catalog-hero-search { flex-direction: column; }
  .catalog-hero-search .button { width: 100%; }
  .catalog-hero__facts { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .catalog-hero__facts > div, .catalog-hero__facts > a { min-height: 102px; padding: 14px; }
  .catalog-hero__facts > div strong { font-size: 24px; }
  .catalog-focus-card { height: 250px; }
  .catalog-focus-card__label { bottom: 16px; }
  .catalog-category-nav { margin: 0; }
  .catalog-order-note p { font-size: 12px; }
  .catalog-trail { margin-top: 2px; }
  .catalog-context { align-items: flex-start; margin-bottom: 14px; }
  .catalog-context h2 { font-size: clamp(28px, 9vw, 38px); }
  .catalog-context p { font-size: 12px; }
  .catalog-context > a { display: none; }
  .catalog-subcategory-nav { padding: 11px; }
  .catalog-subcategory-nav__head { align-items: flex-start; }
  .catalog-subcategory-nav__head div { display: block; }
  .catalog-subcategory-nav__head span { display: block; margin-bottom: 3px; }
  .catalog-subcategory-links { grid-template-columns: 1fr 1fr; gap: 4px; }
  .catalog-subcategory-link { min-height: 42px; padding: 7px 8px; font-size: 10px; }
  .catalog-subcategory-links.has-group-media { grid-template-columns: 1fr 1fr; gap: 7px; }
  .catalog-subcategory-link--all { min-height: 38px; }
  .catalog-subcategory-link--group { min-height: 154px; padding: 5px; }
  .catalog-subcategory-link__media { height: 96px; }
  .catalog-subcategory-link__copy strong { font-size: 10px; }
  .catalog-subcategory-link--product { grid-column: 1 / -1; }
  .catalog-toolbar { grid-template-columns: 1fr; padding: 10px; }
  .catalog-search, .catalog-reset { grid-column: auto; }
  .catalog-reset { min-height: 44px; }
  .catalog-grid { grid-template-columns: 1fr; }
  .product-card__image { height: 224px; }
  .product-card__body { padding: 17px; }
  .catalog-meta { gap: 5px; }
  .product-gallery__arrow { width: 44px; height: 44px; }
  .product-summary__order { align-items: stretch; }
  .product-mobile-action {
    position: fixed; left: 14px; right: 14px; bottom: 12px; z-index: 40; min-height: 52px;
    display: flex; align-items: center; justify-content: center; padding: 0 18px; border-radius: 12px;
    background: var(--yellow); color: var(--ink); box-shadow: 0 12px 38px rgba(25,30,26,.23); font-size: 13px; font-weight: 900;
  }
  .product-page { padding-bottom: 76px; }
  .related-products { margin-top: 54px; padding-top: 34px; }
  .related-products__head { align-items: flex-start; flex-direction: column; gap: 10px; }
  .related-products__grid { grid-template-columns: 1fr; }
  .site-footer__grid { grid-template-columns: 1fr; gap: 27px; padding-top: 38px; }
  .site-footer__bottom { align-items: flex-start; flex-direction: column; justify-content: center; gap: 5px; padding: 16px 0; }
}

/* Product media standard: every catalog frame is square and never crops the item. */
.product-card__image,
.related-products .product-card__image {
  height: auto;
  aspect-ratio: 1 / 1;
  background: var(--product-media);
}

.product-card__image img {
  mix-blend-mode: normal;
}

.product-card__image picture {
	display: contents;
}

.product-card__image[data-card-gallery] { cursor: pointer; }
.product-card__image[data-card-gallery]:focus-visible { outline: 3px solid #315a44; outline-offset: -3px; }
.product-card__image [data-card-gallery-slide][hidden] { display: none; }
.product-card__gallery-dots {
  position: absolute; left: 50%; bottom: 11px; z-index: 3; display: flex; align-items: center; gap: 5px;
  padding: 5px 7px; border-radius: 999px; background: rgba(255,255,255,.9); transform: translateX(-50%);
  box-shadow: 0 2px 8px rgba(35,40,36,.1); pointer-events: none;
}
.product-card__gallery-dots i { width: 6px; height: 6px; border-radius: 50%; background: #aeb5af; }
.product-card__gallery-dots i.is-active { width: 8px; height: 8px; background: #315a44; }

/* Approved square card images already contain their own finished background. */
.product-card__image.is-card-cover {
  padding: 0;
  background: transparent;
}

.product-card__image.is-card-cover img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: translateY(var(--card-image-shift-y, 0));
}

.product-card__image.is-card-cover.has-card-shift {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.product-gallery__caption {
  display: flex;
  align-items: center;
  min-height: 31px;
  margin: 9px 0 0;
  color: #4a6757;
  font-size: 12px;
  font-weight: 800;
}

/* Product 817 uses finished square gallery assets; remove the duplicate media background. */
.product-gallery[data-product-code="817"] .product-gallery__stage {
  padding: 0;
  background: transparent;
}

.product-gallery[data-product-code="817"] .product-gallery__stage > picture > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.product-gallery[data-product-code="817"] .product-gallery__thumb,
.product-gallery[data-product-code="817"] .product-gallery__thumb.is-active {
  padding: 0;
  background: transparent;
}

.product-gallery[data-product-code="817"] .product-gallery__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.product-card__spec {
  margin: -6px 0 14px;
  color: #68746d;
  font-size: 12px;
  line-height: 1.4;
}

/* Audit improvements: consistent branding, contrast, keyboard flow and resilient mobile navigation. */
.brand__mark img {
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: contain;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline-color: #24513c;
}

html[data-theme="dark"] a:focus-visible,
html[data-theme="dark"] button:focus-visible,
html[data-theme="dark"] input:focus-visible,
html[data-theme="dark"] textarea:focus-visible,
html[data-theme="dark"] select:focus-visible {
  outline-color: #f4c542;
}

.site-footer a:focus-visible,
.catalog-cta a:focus-visible {
  outline-color: #f4c542;
}

.catalog-exclusive small,
.catalog-category-chip span,
.product-breadcrumbs,
.product-summary__price small,
.header-search input::placeholder {
  color: #666a64;
}

.product-card {
  position: relative;
}

.product-card__title a::after {
  content: "";
  position: absolute;
  z-index: 3;
  inset: 0;
}

.product-card__title a:focus-visible::after {
  outline: 3px solid #24513c;
  outline-offset: -4px;
  border-radius: 13px;
}

html[data-theme="dark"] .product-card__title a:focus-visible::after {
  outline-color: #f4c542;
}

.product-card__action {
  pointer-events: none;
}

.product-summary {
  position: static;
}

.copy-product-code {
  margin: 0 0 0 5px;
  padding: 0;
  border: 0;
  border-bottom: 1px dashed currentColor;
  background: transparent;
  color: #365b48;
  cursor: pointer;
  font-size: inherit;
  font-weight: 800;
}

.product-information a,
.contact-copy a {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

@media (min-width: 921px) and (min-height: 860px) {
  .product-summary {
    position: sticky;
  }
}

@media (max-width: 1120px) {
  .js .menu-toggle {
    display: grid;
  }

  .js .site-header__navigation {
    border-top: 0;
  }

  .js .site-nav {
    position: absolute;
    left: 18px;
    right: 18px;
    top: calc(100% + 1px);
    display: none;
    max-height: calc(100vh - 150px);
    overflow-y: auto;
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 24px 55px rgba(35,36,32,.17);
    flex-direction: column;
    align-items: stretch;
  }

  .js .site-nav.is-open {
    display: flex;
  }

  .js .site-nav a,
  .js .site-nav a:nth-child(4),
  .js .site-nav a:first-child {
    display: block;
    padding: 11px 10px;
  }

  .js .site-nav__divider {
    display: none;
  }

  .js .site-nav a.site-nav__price {
    margin-top: 5px;
    padding: 12px;
    border-radius: 9px;
    background: var(--yellow);
    color: var(--ink);
    text-align: center;
  }

  body.menu-is-open {
    overflow: hidden;
  }
}

@media (max-width: 920px) {
  html:not(.js) .menu-toggle {
    display: none;
  }

  html:not(.js) .site-nav {
    position: static;
    display: flex;
    max-height: none;
    margin: 0 auto;
    padding: 8px 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  .js .menu-toggle {
    display: grid;
  }

  body.menu-is-open {
    overflow: hidden;
  }
}

@media (max-width: 640px) {
  .catalog-browser,
  .catalog-toolbar {
    grid-template-columns: minmax(0, 1fr);
  }

  .catalog-results,
  .catalog-toolbar,
  .catalog-search,
  .catalog-filter {
    min-width: 0;
    max-width: 100%;
  }

  .product-mobile-action {
    bottom: calc(12px + env(safe-area-inset-bottom));
  }

  .product-page {
    padding-bottom: calc(76px + env(safe-area-inset-bottom));
  }
}

/* Low-glare colour themes. Light is the storefront default; the header
   control lets a visitor keep a personal dark-mode preference. */
.site-header__main {
  grid-template-columns: auto auto minmax(280px, 1fr) auto auto auto;
}

.theme-toggle {
  width: 46px;
  height: 46px;
  display: grid;
  flex: 0 0 46px;
  place-items: center;
  padding: 0;
  border: 1px solid #c8ccc6;
  border-radius: 10px;
  background: #f4f5f2;
  color: #294737;
  cursor: pointer;
  font-size: 20px;
  line-height: 1;
  transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}

.theme-toggle:hover,
.theme-toggle:focus { border-color: #557662; background: #e9efeb; transform: translateY(-1px); }
.theme-toggle__icon { display: block; transform: translateY(-1px); }
html:not(.js) .theme-toggle { display: none; }

@media (max-width: 1120px) {
  .site-header__main { grid-template-columns: auto auto minmax(220px, 1fr) auto auto auto; }
}

@media (max-width: 920px) {
  .site-header__main { grid-template-columns: auto 1fr auto auto; }
}

html[data-theme="dark"] {
  --ink: #e7ede9;
  --ink-soft: #111714;
  --paper: #111714;
  --canvas: #18201c;
  --product-media: #141b18;
  --surface: #202923;
  --muted: #a8b1ab;
  --yellow: #d5ad3b;
  --yellow-hover: #e2bc4b;
  --line: #344139;
  --line-dark: rgba(255,255,255,.14);
  color-scheme: dark;
}

html[data-theme="dark"] body,
html[data-theme="dark"] .site-shell,
html[data-theme="dark"] .catalog-page,
html[data-theme="dark"] .product-page {
  background: #0f1512;
  color: var(--ink);
}

html[data-theme="dark"] body,
html[data-theme="dark"] .site-header,
html[data-theme="dark"] .topbar,
html[data-theme="dark"] .product-card,
html[data-theme="dark"] .catalog-toolbar,
html[data-theme="dark"] .catalog-category-nav,
html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea {
  transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}

html[data-theme="dark"] .topbar {
  background: #0c120f;
  border-color: #2c3731;
  color: #9ba69f;
}
html[data-theme="dark"] .topbar__facts span + span::before { color: #56625b; }
html[data-theme="dark"] .topbar a:hover { color: #dfbd58; }

html[data-theme="dark"] .site-header {
  background: rgba(16,23,19,.97);
  border-color: #303b35;
  box-shadow: 0 8px 28px rgba(0,0,0,.28);
}
html[data-theme="dark"] .site-header__navigation { border-color: #2d3832; }
html[data-theme="dark"] .brand { color: #d8e3dc; }
html[data-theme="dark"] .brand__wordmark small,
html[data-theme="dark"] .header-contact span { color: #98a59d; }
html[data-theme="dark"] .brand__mark img { filter: brightness(0) invert(86%) sepia(9%) saturate(343%) hue-rotate(95deg) brightness(98%); }
html[data-theme="dark"] .header-contact a { color: #d9e7df; }
html[data-theme="dark"] .header-search {
  border-color: #435047;
  background: #18211c;
}
html[data-theme="dark"] .header-search:focus-within { border-color: #86a995; box-shadow: 0 0 0 1px #86a995; }
html[data-theme="dark"] .header-search input { color: #eef2ef; }
html[data-theme="dark"] .header-search input::placeholder { color: #929d96; }
html[data-theme="dark"] .header-search button { background: #315540; color: #f4f7f5; }
html[data-theme="dark"] .header-search button:hover,
html[data-theme="dark"] .header-search button:focus { background: #3f6b52; }
html[data-theme="dark"] .header-request-button,
html[data-theme="dark"] .theme-toggle,
html[data-theme="dark"] .menu-toggle {
  border-color: #46544b;
  background: #1a241f;
  color: #dce7e0;
}
html[data-theme="dark"] .header-request-button:hover,
html[data-theme="dark"] .header-request-button:focus,
html[data-theme="dark"] .theme-toggle:hover,
html[data-theme="dark"] .theme-toggle:focus { border-color: #76917f; background: #243129; }
html[data-theme="dark"] .header-request-button strong { background: #537560; color: #fff; }
html[data-theme="dark"] .site-nav { color: #b7c0ba; }
html[data-theme="dark"] .site-nav a { color: #b7c0ba; }
html[data-theme="dark"] .site-nav a:first-child { color: #d5e3da; }
html[data-theme="dark"] .site-nav a:hover,
html[data-theme="dark"] .site-nav a:focus { color: #e0bd55; }
html[data-theme="dark"] .site-nav a.site-nav__price { color: #e0bd55; }

html[data-theme="dark"] .header-catalog-panel {
  border-color: #344139;
  background: rgba(18,25,21,.99);
  box-shadow: 0 28px 58px rgba(0,0,0,.42);
}
html[data-theme="dark"] .header-catalog-panel__head span,
html[data-theme="dark"] .header-catalog-panel__category-head p { color: #a2aca5; }
html[data-theme="dark"] .header-catalog-panel__head button,
html[data-theme="dark"] .request-drawer__head button {
  border-color: #46534a;
  background: #202923;
  color: #d8e4dc;
}
html[data-theme="dark"] .header-catalog-panel__head-actions > a,
html[data-theme="dark"] .header-catalog-panel__quick a { border-color: #46544b; background: #1a241f; color: #b9d6c4; }
html[data-theme="dark"] .header-catalog-panel__head-actions > a:hover,
html[data-theme="dark"] .header-catalog-panel__head-actions > a:focus,
html[data-theme="dark"] .header-catalog-panel__quick a:hover,
html[data-theme="dark"] .header-catalog-panel__quick a:focus { border-color: #76917f; background: #243129; }
html[data-theme="dark"] .header-catalog-panel__category-head > a { color: #b9d6c4; }
html[data-theme="dark"] .header-catalog-panel__category-head > a:hover,
html[data-theme="dark"] .header-catalog-panel__category-head > a:focus { color: #fff; }
html[data-theme="dark"] .header-catalog-panel__layout { background: transparent; }
html[data-theme="dark"] .header-catalog-panel__categories { border-color: #38453e; background: transparent; }
html[data-theme="dark"] .header-catalog-panel__categories button { color: #d7dfda; }
html[data-theme="dark"] .header-catalog-panel__category-icon { color: #9ca69f; }
html[data-theme="dark"] .header-catalog-panel__categories button:hover,
html[data-theme="dark"] .header-catalog-panel__categories button:focus,
html[data-theme="dark"] .header-catalog-panel__categories button[aria-selected="true"] { background: transparent; color: #b9d6c4; }
html[data-theme="dark"] .header-catalog-panel__categories button:hover .header-catalog-panel__category-icon,
html[data-theme="dark"] .header-catalog-panel__categories button:focus .header-catalog-panel__category-icon,
html[data-theme="dark"] .header-catalog-panel__categories button[aria-selected="true"] .header-catalog-panel__category-icon { color: #b9d6c4; }
html[data-theme="dark"] .header-catalog-panel__category-head,
html[data-theme="dark"] .header-catalog-panel__quick { border-color: #38453e; }
html[data-theme="dark"] .header-catalog-panel__category-head > div > span,
html[data-theme="dark"] .header-catalog-panel__group-title { color: #9ec1ac; }
html[data-theme="dark"] .header-catalog-panel__item-group h3 a { color: #f0f3f1; }
html[data-theme="dark"] .header-catalog-panel__item-group h3 a:hover,
html[data-theme="dark"] .header-catalog-panel__item-group h3 a:focus { color: #b9d6c4; }
html[data-theme="dark"] .header-catalog-panel__groups a { color: #d7dfda; }
html[data-theme="dark"] .header-catalog-panel__groups a:hover,
html[data-theme="dark"] .header-catalog-panel__groups a:focus { background: #222d27; color: #fff; }
html[data-theme="dark"] .header-catalog-panel__groups small { color: #99a49d; }
html[data-theme="dark"] .header-catalog-panel__item-links a { border-color: #303b34; color: #d7dfda; }
html[data-theme="dark"] .header-catalog-panel__item-links a:hover,
html[data-theme="dark"] .header-catalog-panel__item-links a:focus { background: transparent; color: #fff; }
html[data-theme="dark"] .header-catalog-panel__item-links small { color: #99a49d; }
html[data-theme="dark"] .header-catalog-panel__items i { color: #9ec1ac; }

@media (max-width: 920px) {
  html[data-theme="dark"] .site-nav__mobile-catalog > strong { color: #9ec1ac; }
  html[data-theme="dark"] .site-nav__mobile-catalog details { border-color: #364139; }
  html[data-theme="dark"] .site-nav__mobile-catalog summary { color: #d7dfda; }
  html[data-theme="dark"] .site-nav__mobile-catalog summary > span i { color: #9ca69f; }
  html[data-theme="dark"] .site-nav__mobile-catalog summary small,
  html[data-theme="dark"] .site-nav__mobile-catalog details > div small { color: #9ca69f; }
  html[data-theme="dark"] .site-nav__mobile-catalog details[open] summary,
  html[data-theme="dark"] .site-nav__mobile-catalog details > div a:first-child { color: #b9d6c4; }
  html[data-theme="dark"] .site-nav__mobile-catalog details > div a { color: #b8c1bb; }
  html[data-theme="dark"] .site-nav__mobile-catalog details > div a:hover,
  html[data-theme="dark"] .site-nav__mobile-catalog details > div a:focus { background: #243129; color: #fff; }
}

html[data-theme="dark"] .catalog-hero,
html[data-theme="dark"] .catalog-brands,
html[data-theme="dark"] .catalog-section,
html[data-theme="dark"] .catalog-cta,
html[data-theme="dark"] .hero,
html[data-theme="dark"] .stats,
html[data-theme="dark"] .section,
html[data-theme="dark"] .brands-section,
html[data-theme="dark"] #contact {
  background: #111714;
  border-color: var(--line);
  color: var(--ink);
}
html[data-theme="dark"] .catalog-hero { background: #141b17; }
html[data-theme="dark"] .catalog-hero p:not(.eyebrow),
html[data-theme="dark"] .catalog-brands__head p:not(.eyebrow),
html[data-theme="dark"] .catalog-focus__head p { color: #aab3ad; }
html[data-theme="dark"] .catalog-hero__facts > div,
html[data-theme="dark"] .catalog-hero__facts > a,
html[data-theme="dark"] .catalog-exclusive,
html[data-theme="dark"] .catalog-category-nav,
html[data-theme="dark"] .catalog-toolbar,
html[data-theme="dark"] .product-card,
html[data-theme="dark"] .stats__grid,
html[data-theme="dark"] .about-visual,
html[data-theme="dark"] .service-card,
html[data-theme="dark"] .advantage,
html[data-theme="dark"] .partner,
html[data-theme="dark"] .brand-card,
html[data-theme="dark"] .contact-form {
  border-color: #344139;
  background: #19211d;
  color: var(--ink);
  box-shadow: none;
}
html[data-theme="dark"] .catalog-hero__facts > div span,
html[data-theme="dark"] .catalog-exclusive small,
html[data-theme="dark"] .brand-card--official figcaption { color: #a4aea7; }
html[data-theme="dark"] .catalog-hero__facts > div strong,
html[data-theme="dark"] .catalog-exclusive strong { color: #9fc7af; }

html[data-theme="dark"] .catalog-category-chip { color: #cbd3ce; }
html[data-theme="dark"] .catalog-category-chip span { color: #929d96; }
html[data-theme="dark"] .catalog-category-chip:hover,
html[data-theme="dark"] .catalog-category-chip:focus { background: #242e28; }
html[data-theme="dark"] .catalog-category-chip.is-active { background: #4d735e; color: #fff; }
html[data-theme="dark"] .catalog-category-chip.is-active span { color: #fff; }
html[data-theme="dark"] .catalog-trail { color: #8f9a93; }
html[data-theme="dark"] .catalog-trail button { color: #acd0ba; }
html[data-theme="dark"] .catalog-trail button[aria-current="page"],
html[data-theme="dark"] .catalog-trail strong { color: #a5afa8; }
html[data-theme="dark"] .catalog-context__kicker { color: #9fc7af; }
html[data-theme="dark"] .catalog-context p { color: #aab3ad; }
html[data-theme="dark"] .catalog-context > a { color: #b5d4c1; }
html[data-theme="dark"] .catalog-subcategory-nav { border-color: #344139; background: #19211d; }
html[data-theme="dark"] .catalog-subcategory-nav__head strong { color: #eef2ef; }
html[data-theme="dark"] .catalog-subcategory-nav__head span,
html[data-theme="dark"] .catalog-subcategory-nav__head small,
html[data-theme="dark"] .catalog-subcategory-link small { color: #98a29b; }
html[data-theme="dark"] .catalog-subcategory-link { color: #d3dbd6; }
html[data-theme="dark"] .catalog-subcategory-link:hover,
html[data-theme="dark"] .catalog-subcategory-link:focus { background: #242e28; color: #fff; }
html[data-theme="dark"] .catalog-subcategory-link.is-active { background: #294235; color: #dff1e5; box-shadow: inset 3px 0 0 #82a68f; }
html[data-theme="dark"] .catalog-subcategory-link.is-active small { color: #b3c9bc; }
html[data-theme="dark"] .catalog-subcategory-link--group.is-active { box-shadow: inset 0 0 0 2px #82a68f; }
html[data-theme="dark"] .catalog-subcategory-link__media { background: #fff; }
html[data-theme="dark"] .catalog-order-note { border-color: #344139; }
html[data-theme="dark"] .catalog-order-note strong { color: #a4c9b2; }
html[data-theme="dark"] .catalog-order-note p,
html[data-theme="dark"] .catalog-toolbar label,
html[data-theme="dark"] .catalog-filter__hint,
html[data-theme="dark"] .catalog-search small,
html[data-theme="dark"] .catalog-meta { color: #a5afa8; }
html[data-theme="dark"] .catalog-toolbar input,
html[data-theme="dark"] .catalog-toolbar select,
html[data-theme="dark"] .catalog-hero-search input,
html[data-theme="dark"] .field input,
html[data-theme="dark"] .field textarea,
html[data-theme="dark"] .field select {
  border-color: #46534a;
  background: #101713;
  color: #e5ebe7;
}
html[data-theme="dark"] .catalog-toolbar input:focus,
html[data-theme="dark"] .catalog-toolbar select:focus,
html[data-theme="dark"] .catalog-hero-search input:focus,
html[data-theme="dark"] .field input:focus,
html[data-theme="dark"] .field textarea:focus,
html[data-theme="dark"] .field select:focus { border-color: #83a790; background: #151e19; }
html[data-theme="dark"] .catalog-reset {
  border-color: #46534a;
  background: #202923;
  color: #c4cdc7;
}
html[data-theme="dark"] .catalog-reset:hover,
html[data-theme="dark"] .catalog-reset:focus { border-color: #84a38f; color: #e4ece7; }
html[data-theme="dark"] .catalog-active-filter {
  border-color: #567363;
  background: #24342b;
  color: #b9dac6;
}
html[data-theme="dark"] #catalog-result-count { color: #edf2ef; }

html[data-theme="dark"] .product-card:hover { border-color: #63806f; box-shadow: 0 13px 32px rgba(0,0,0,.24); }
html[data-theme="dark"] .product-card__image,
html[data-theme="dark"] .related-products .product-card__image { background: #121814; border-color: #35423a; }
html[data-theme="dark"] .product-gallery__stage,
html[data-theme="dark"] .product-gallery__thumb { background: #fff; border-color: #536159; }
html[data-theme="dark"] .product-card__stock,
html[data-theme="dark"] .product-card__quality {
  background: rgba(24,34,28,.94);
  color: #a9d7b3;
  box-shadow: 0 4px 14px rgba(0,0,0,.26);
}
html[data-theme="dark"] .product-card__category { color: #8fbea2; }
html[data-theme="dark"] .product-card__code,
html[data-theme="dark"] .product-card__details span,
html[data-theme="dark"] .product-card__footer small,
html[data-theme="dark"] .product-card__spec { color: #a5afa8; }
html[data-theme="dark"] .product-card__details span { background: #222b26; }
html[data-theme="dark"] .product-card__details strong { color: #edf1ee; }
html[data-theme="dark"] .product-card__footer { border-color: #344139; }
html[data-theme="dark"] .product-card__title a:hover,
html[data-theme="dark"] .product-card__title a:focus { color: #acd1ba; }
html[data-theme="dark"] .product-card__material,
html[data-theme="dark"] .product-summary__labels span {
  border-color: #405047;
  background: #26322b;
  color: #add0bb;
}
html[data-theme="dark"] .product-card__material--xps { border-color: #746531; background: #342f1d; color: #dfc86e; }

/* Product photos keep their original colour and brightness in both themes. */
html[data-theme="dark"] .product-card__image.is-card-cover img,
html[data-theme="dark"] .product-gallery__stage > picture > img,
html[data-theme="dark"] .product-gallery__thumb img {
  filter: none;
}

html[data-theme="dark"] .product-breadcrumbs { color: #9da8a1; }
html[data-theme="dark"] .product-breadcrumbs a,
html[data-theme="dark"] .product-gallery__caption,
html[data-theme="dark"] .copy-product-code,
html[data-theme="dark"] .related-products__head a { color: #9fc6ae; }
html[data-theme="dark"] .product-gallery__close,
html[data-theme="dark"] .product-gallery__arrow,
html[data-theme="dark"] .product-gallery__counter,
html[data-theme="dark"] .product-gallery__quality-note {
  border-color: #536159;
  background: rgba(25,35,29,.92);
  color: #d7e3dc;
}
html[data-theme="dark"] .product-gallery__close:hover,
html[data-theme="dark"] .product-gallery__close:focus,
html[data-theme="dark"] .product-gallery__arrow:hover,
html[data-theme="dark"] .product-gallery__arrow:focus { border-color: #89a895; background: #26332b; color: #fff; }
html[data-theme="dark"] .product-summary__price,
html[data-theme="dark"] .product-information,
html[data-theme="dark"] .related-products,
html[data-theme="dark"] .product-information dl div,
html[data-theme="dark"] .product-summary__service li { border-color: #344139; }
html[data-theme="dark"] .product-summary__price strong,
html[data-theme="dark"] .product-summary__order p strong { color: #9bc5aa; }
html[data-theme="dark"] .product-summary__facts div { background: #202923; }
html[data-theme="dark"] .product-summary__material-fact { border-color: #466153; background: #213128 !important; }
html[data-theme="dark"] .product-summary__material-fact--xps { border-color: #72642e; background: #342f1d !important; }
html[data-theme="dark"] .product-summary__facts small,
html[data-theme="dark"] .product-summary__service span,
html[data-theme="dark"] .product-information > div > p:not(.eyebrow) { color: #a4aea7; }

html[data-theme="dark"] .request-drawer {
  background: #151d19;
  color: var(--ink);
  box-shadow: -24px 0 60px rgba(0,0,0,.48);
}
html[data-theme="dark"] .request-drawer::backdrop { background: rgba(3,7,5,.72); }
html[data-theme="dark"] .request-drawer__intro,
html[data-theme="dark"] .request-drawer__empty,
html[data-theme="dark"] .request-drawer__footer p span,
html[data-theme="dark"] .request-item__copy span,
html[data-theme="dark"] .request-form__field label,
html[data-theme="dark"] .request-form__consent,
html[data-theme="dark"] .request-form__order-note { color: #a5afa8; }
html[data-theme="dark"] .request-form__field small,
html[data-theme="dark"] .request-form__field label .request-form__optional,
html[data-theme="dark"] .request-form__details > summary span,
html[data-theme="dark"] .request-form__submit-row > span { color: #9ca8a0; }
html[data-theme="dark"] .request-drawer__empty,
html[data-theme="dark"] .request-item,
html[data-theme="dark"] .request-drawer__selection { border-color: #3b4941; background: #1d2721; }
html[data-theme="dark"] .request-drawer__empty strong { color: #e8eeea; }
html[data-theme="dark"] .request-drawer__empty a { color: #9bc5aa; }
html[data-theme="dark"] .request-item__controls button,
html[data-theme="dark"] .request-item__controls input,
html[data-theme="dark"] .request-form__field input,
html[data-theme="dark"] .request-form__field select,
html[data-theme="dark"] .request-form__field textarea { border-color: #4a584f; background: #111814; color: #e8eeea; }
html[data-theme="dark"] .request-form__field input::placeholder,
html[data-theme="dark"] .request-form__field textarea::placeholder { color: #7f8a83; }
html[data-theme="dark"] .request-form__details > summary { border-color: #4a584f; color: #dce5df; }
html[data-theme="dark"] .request-success { border-color: #466153; background: #213128; }
html[data-theme="dark"] .request-success h3 { color: #b9dfc5; }
html[data-theme="dark"] .request-success p { color: #a5afa8; }
html[data-theme="dark"] .request-drawer__footer { border-color: #344139; }
html[data-theme="dark"] .request-form__order-note strong { color: #b9dfc5; }
html[data-theme="dark"] .request-drawer__status { background: #213128; color: #b9dfc5; }
html[data-theme="dark"] .request-drawer__status[data-state="error"] { background: #38241e; color: #ffc6b5; }

html[data-theme="dark"] .button--ghost { border-color: #57635b; background: #202923; color: #e6ece8; }
html[data-theme="dark"] .button--ghost:hover,
html[data-theme="dark"] .button--ghost:focus { border-color: #7f9889; background: #29352e; color: #fff; }
html[data-theme="dark"] .screen-reader-text:focus { background: #202923; color: #fff; }
html[data-theme="dark"] .field label,
html[data-theme="dark"] .contact-option p { color: #a6b0a9; }

@media (max-width: 1120px) {
  html.js[data-theme="dark"] .site-nav {
    border-color: #3a473f;
    background: #171f1b;
    box-shadow: 0 26px 58px rgba(0,0,0,.48);
  }
}

/* Mobile audit fixes: compact results, one-line search and reliable dark contrast. */
html[data-theme="dark"] .hero-catalog,
html[data-theme="dark"] .about-story {
  border-color: #b89028;
  background: #d5ad3b;
  color: #20211f;
}

html[data-theme="dark"] .hero-catalog__kicker,
html[data-theme="dark"] .hero-catalog__grid span { color: #654d0b; }
html[data-theme="dark"] .hero-catalog__grid a { background: rgba(255,255,255,.9); color: #20211f; }
html[data-theme="dark"] .about-story p { color: #49390c; }
html[data-theme="dark"] .about-story .button--dark {
  border-color: #20211f;
  background: #20211f;
  color: #fff;
}
html[data-theme="dark"] .about-story .button--dark:hover,
html[data-theme="dark"] .about-story .button--dark:focus { background: #343631; color: #fff; }
html[data-theme="dark"] .contact-form .button--dark { color: #20211f; }
html[data-theme="dark"] .material-tags span {
  border-color: #46534a;
  background: #202923;
  color: #d7dfda;
}
html[data-theme="dark"] .stat__icon { color: #20211f !important; }
html[data-theme="dark"] .button:not(.button--ghost):not(.button--dark) { color: #20211f; }
html[data-theme="dark"] .section:not(.section--panel) .eyebrow,
html[data-theme="dark"] .hero .eyebrow,
html[data-theme="dark"] .catalog-hero .eyebrow { color: #dfbd58; }

@media (max-width: 1120px) {
  html.js[data-theme="dark"] .site-nav a { color: #d3ddd7; }
  html.js[data-theme="dark"] .site-nav a:first-child { color: #b4d5c1; }
  html.js[data-theme="dark"] .site-nav a:hover,
  html.js[data-theme="dark"] .site-nav a:focus { background: #202b25; color: #f0ca5b; }
  html.js[data-theme="dark"] .site-nav a.site-nav__price {
    background: var(--yellow);
    color: #20211f;
  }
}

@media (max-width: 780px) {
  .catalog-hero-search {
    flex-direction: row;
    gap: 8px;
  }

  .catalog-hero-search input {
    height: 48px;
    padding-inline: 13px;
    font-size: 14px;
  }

  .catalog-hero-search .button {
    width: auto;
    min-width: 98px;
    min-height: 48px;
    padding-inline: 14px;
  }

  .catalog-grid { grid-template-columns: 1fr; gap: 10px; }

  .catalog-mobile-filter-toggle {
    grid-column: 1 / -1;
    min-height: 46px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 0 13px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: var(--paper);
    color: var(--ink);
    cursor: pointer;
    font: inherit;
    font-size: 12px;
    font-weight: 850;
  }

  .catalog-mobile-filter-toggle strong {
    min-width: 23px;
    padding: 3px 6px;
    border-radius: 999px;
    background: var(--yellow);
    color: #20211f;
    text-align: center;
    font-size: 10px;
  }

  .catalog-mobile-filters { display: contents; }
  .catalog-toolbar:not(.is-mobile-expanded) .catalog-mobile-filters { display: none; }

  .catalog-grid .product-card {
    display: grid;
    grid-template-columns: clamp(112px, 31vw, 142px) minmax(0, 1fr);
    align-items: stretch;
  }

  .catalog-grid .product-card__image {
    width: 100%;
    height: 100%;
    min-height: 208px;
    aspect-ratio: auto;
    padding: 10px;
    border-right: 1px solid var(--line);
  }

  .catalog-grid .product-card__image.is-card-cover { padding: 0; }

  .catalog-grid .product-card__stock {
    left: 7px;
    top: 7px;
    min-height: 24px;
    padding: 4px 6px;
    font-size: 9px;
  }

  .catalog-grid .product-card__quality {
    left: 7px;
    bottom: 7px;
    max-width: calc(100% - 14px);
    font-size: 10px;
  }

  .catalog-grid .product-card__body { padding: 11px 12px; }
  .catalog-grid .product-card__category {
    min-height: 0;
    overflow: hidden;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .catalog-grid .product-card__code-row { min-height: 20px; margin-top: 3px; }
  .catalog-grid .product-card__code { font-size: 11px; }
  .catalog-grid .product-card__material { padding: 3px 5px; font-size: 10px; }
  .catalog-grid .product-card__title {
    display: -webkit-box;
    overflow: hidden;
    margin: 3px 0 7px;
    font-size: 14px;
    line-height: 1.22;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  .catalog-grid .product-card__spec {
    overflow: hidden;
    margin: 0 0 7px;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .catalog-grid .product-card__details { gap: 5px; margin-top: 0; }
  .catalog-grid .product-card__details span { padding: 5px; font-size: 10px; }
  .catalog-grid .product-card__details strong { margin-top: 1px; font-size: 11px; line-height: 1.2; }
  .catalog-grid .product-card__footer { gap: 6px; padding-top: 8px; margin-top: 8px; }
  .catalog-grid .product-card__footer small { font-size: 10px; }
  .catalog-grid .product-card__price { font-size: 15px; }
  .catalog-grid .product-card__request { min-height: 44px; padding-inline: 9px; font-size: 11px; }
}

/* Keep the eight quick categories to one compact, swipeable row on tablets
   and phones instead of consuming most of the first catalogue screen. */
@media (max-width: 780px) {
  .catalog-focus__head p { display: none; }
  .catalog-focus__grid {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding: 5px 4px 10px;
    scroll-padding-inline: 4px;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
  }
  .catalog-focus-card {
    flex: 0 0 clamp(168px, 31vw, 210px);
    height: 190px;
    scroll-snap-align: start;
  }
  .catalog-focus-card__label { left: 13px; right: 13px; bottom: 13px; gap: 3px 8px; }
  .catalog-focus-card small { font-size: 10px; }
  .catalog-focus-card strong { font-size: 16px; }
  .catalog-focus-card i { width: 30px; height: 30px; font-size: 13px; }
}

@media (max-width: 480px) {
  .catalog-focus-card { flex-basis: clamp(142px, 47vw, 164px); height: 164px; }
  .catalog-focus-card small { display: none; }
  .catalog-focus-card strong { font-size: 15px; }
}

/* Audience positioning: buyers stay in one flow; supplier proposals stay separate. */
.catalog-audience { margin: 0 0 34px; }
.catalog-audience__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 520px);
  align-items: end;
  gap: 32px;
  margin-bottom: 15px;
}
.catalog-audience__kicker,
.catalog-supplier__kicker {
  color: #5f7d6e;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.catalog-audience__head h2 {
  margin: 4px 0 0;
  font-size: clamp(29px, 3vw, 40px);
  line-height: 1.05;
  letter-spacing: -.04em;
}
.catalog-audience__head > p {
  max-width: 520px;
  margin: 0;
  color: #5f635d;
  font-size: 14px;
  line-height: 1.55;
}
.catalog-audience__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.catalog-audience__grid > li { min-width: 0; }
.catalog-audience-card {
  min-height: 188px;
  height: 100%;
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 16px;
  padding: 20px;
  border: 1px solid #dfe3dd;
  border-radius: 15px;
  background: #fff;
  color: #20211f;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.catalog-audience-card:hover {
  transform: translateY(-2px);
  border-color: #789986;
  box-shadow: 0 10px 26px rgba(35,36,32,.07);
}
.catalog-audience-card__number {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  background: #e8f0eb;
  color: #355f4a;
  font-size: 12px;
  font-weight: 900;
}
.catalog-audience-card__body {
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.catalog-audience-card__body > h3 {
  margin: 0;
  font-size: 19px;
  line-height: 1.18;
  letter-spacing: -.025em;
}
.catalog-audience-card__body > p {
  margin-top: 8px;
  margin-bottom: 0;
  color: #626760;
  font-size: 13px;
  line-height: 1.48;
}
.catalog-audience-card__action {
  margin-top: auto;
  padding-top: 15px;
  color: #365b48;
  font-size: 12px;
  font-weight: 850;
}
.catalog-audience-card__body i,
.catalog-supplier__inner i { font-style: normal; }
.catalog-audience-card--primary {
  border-color: #365b48;
  background: #365b48;
  color: #fff;
}
.catalog-audience-card--primary .catalog-audience-card__number {
  background: rgba(255,255,255,.15);
  color: #fff;
}
.catalog-audience-card--primary .catalog-audience-card__body > p { color: #dce8e1; }
.catalog-audience-card--primary .catalog-audience-card__action { color: #fff; }

.catalog-supplier { padding: 34px 0; background: #fff; }
.catalog-supplier__inner {
  min-height: 150px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 28px;
  padding: 27px 30px;
  border-radius: 20px;
  background: #f4c542;
  color: #20211f;
  box-shadow: 0 10px 28px rgba(35,36,32,.08);
  transition: transform .2s ease, box-shadow .2s ease;
}
.catalog-supplier__inner:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 34px rgba(35,36,32,.13);
}
.catalog-supplier__kicker { color: #66500f; }
.catalog-supplier__copy { display: grid; gap: 7px; }
.catalog-supplier__copy > h2 {
  margin: 0;
  font-size: clamp(23px, 2.5vw, 32px);
  line-height: 1.08;
  letter-spacing: -.035em;
}
.catalog-supplier__copy > p {
  max-width: 730px;
  margin: 0;
  color: #55471d;
  font-size: 14px;
  line-height: 1.5;
}
.catalog-supplier__action {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 19px;
  border-radius: 12px;
  background: #20211f;
  color: #fff;
  font-size: 12px;
  font-weight: 850;
  white-space: nowrap;
}

html[data-theme="dark"] .catalog-audience__head > p { color: #aab3ad; }
html[data-theme="dark"] .catalog-audience__kicker { color: #9fc7af; }
html[data-theme="dark"] .catalog-audience-card {
  border-color: #3b4841;
  background: #19211d;
  color: #e7ede9;
  box-shadow: none;
}
html[data-theme="dark"] .catalog-audience-card__body > p { color: #b4bdb7; }
html[data-theme="dark"] .catalog-audience-card__number { background: #24332a; color: #a8ceb8; }
html[data-theme="dark"] .catalog-audience-card__action { color: #a8ceb8; }
html[data-theme="dark"] .catalog-audience-card:hover { border-color: #76917f; background: #202b25; }
html[data-theme="dark"] .catalog-audience-card--primary {
  border-color: #537560;
  background: #315540;
  color: #fff;
}
html[data-theme="dark"] .catalog-audience-card--primary .catalog-audience-card__number {
  background: rgba(255,255,255,.15);
  color: #fff;
}
html[data-theme="dark"] .catalog-audience-card--primary .catalog-audience-card__body > p { color: #e0ebe4; }
html[data-theme="dark"] .catalog-audience-card--primary .catalog-audience-card__action { color: #fff; }
html[data-theme="dark"] .catalog-audience-card--primary:hover { border-color: #76917f; background: #3f6b52; }
html[data-theme="dark"] .catalog-supplier { background: #111714; }
html[data-theme="dark"] .catalog-supplier__inner { background: #d8af39; color: #20211f; }
html[data-theme="dark"] .catalog-supplier__kicker { color: #4b3907; }
html[data-theme="dark"] .catalog-supplier__copy > p { color: #493b17; }

#catalog-toolbar,
#catalog-focus,
#contact,
#manufacturers { scroll-margin-top: 150px; }

@media (max-width: 900px) {
  .catalog-audience__head { grid-template-columns: 1fr; gap: 8px; }
  .catalog-audience__head > p { max-width: 680px; }
  .catalog-audience__grid { grid-template-columns: 1fr; }
  .catalog-audience-card {
    min-height: 0;
    grid-template-columns: 38px minmax(0, 1fr);
    grid-template-rows: auto;
    align-items: start;
  }
  .catalog-supplier__inner { grid-template-columns: 1fr; gap: 12px; }
  .catalog-supplier__action { justify-self: start; }
}

@media (max-width: 780px) {
  .catalog-audience { margin-bottom: 25px; }
  .catalog-audience__head { margin-bottom: 12px; }
  .catalog-audience__head > p { font-size: 13px; line-height: 1.45; }
  .catalog-audience__grid { gap: 8px; }
  .catalog-audience-card { gap: 12px; padding: 14px; }
  .catalog-audience-card__body > h3 { font-size: 16px; }
  .catalog-audience-card__body > p { margin-top: 5px; font-size: 13px; }
  .catalog-audience-card__action { padding-top: 9px; }
  .catalog-supplier { padding: 24px 0; }
  .catalog-supplier__inner { min-height: 0; padding: 20px; border-radius: 17px; }
  .catalog-supplier__copy > p { font-size: 13px; }
  .catalog-supplier__action { width: 100%; }
}

/* September 2026 interface refinement: clearer first screen, calmer header and
   predictable theme behaviour. Keep this block last so it resolves earlier
   audit layers without changing product-media rules. */
.catalog-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

.catalog-hero__actions .button { min-width: 174px; box-shadow: none; cursor: pointer; }
#catalog-products { scroll-margin-top: 150px; }

html[data-theme="dark"] .hero__lead { color: #bcc7c0; }
html[data-theme="dark"] .hero__note { color: #aab5ae; }
html[data-theme="dark"] .hero__note strong { color: #e3ebe6; }

@media (max-width: 1240px) and (min-width: 921px) {
  .topbar__links { display: none; }
  .topbar__inner { justify-content: center; }
}

@media (max-width: 1120px) and (min-width: 921px) {
  .js .site-nav,
  html.js[data-theme="dark"] .site-nav {
    display: none;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
    max-height: none;
    padding: 12px;
    overflow: visible;
  }

  .js .site-nav.is-open { display: grid; }

  .js .site-nav a,
  .js .site-nav a:nth-child(4),
  .js .site-nav a:first-child {
    min-height: 44px;
    display: flex;
    align-items: center;
    padding: 9px 11px;
    border-radius: 9px;
  }

  .js .site-nav a:hover,
  .js .site-nav a:focus { background: #f1f4f1; }
  html.js[data-theme="dark"] .site-nav a:hover,
  html.js[data-theme="dark"] .site-nav a:focus { background: #202b25; }

  .js .site-nav a.site-nav__price {
    grid-column: span 2;
    justify-content: center;
    margin-top: 0;
  }
}

@media (max-width: 920px) {
  .js .site-nav.is-open { display: flex; }
}

@media (max-width: 640px) {
  .catalog-hero__actions { display: grid; grid-template-columns: 1fr; }
  .catalog-hero__actions .button { width: 100%; min-width: 0; }
}

/* Compact desktop catalogue controls. The header already contains the main
   site search, so secondary filters stay available without covering products
   while the visitor scrolls. */
@media (min-width: 781px) {
  .catalog-toolbar {
    grid-template-columns: minmax(280px, 1fr) auto;
    align-items: end;
    gap: 9px;
    padding: 9px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 8px 24px rgba(30, 35, 31, .07);
    backdrop-filter: blur(12px);
  }

  .catalog-search { grid-column: auto; }
  .catalog-search small { display: none; }

  .catalog-mobile-filter-toggle {
    grid-column: auto;
    min-width: 190px;
    min-height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 14px;
    border: 1px solid #bdc8c0;
    border-radius: 10px;
    background: #eef3ef;
    color: #315b45;
    cursor: pointer;
    font: inherit;
    font-size: 12px;
    font-weight: 850;
  }

  .catalog-mobile-filter-toggle::after {
    content: "↓";
    margin-left: 2px;
    font-size: 13px;
    line-height: 1;
  }

  .catalog-toolbar.is-mobile-expanded .catalog-mobile-filter-toggle::after { content: "↑"; }
  .catalog-mobile-filter-toggle:hover,
  .catalog-mobile-filter-toggle:focus { border-color: #557662; background: #e5eee8; }

  .catalog-mobile-filter-toggle strong {
    min-width: 22px;
    padding: 3px 6px;
    border-radius: 999px;
    background: var(--yellow);
    color: #20211f;
    text-align: center;
    font-size: 10px;
  }

  .catalog-mobile-filters {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    align-items: end;
    gap: 9px;
    padding-top: 9px;
    border-top: 1px solid #e1e5df;
  }

  .catalog-toolbar:not(.is-mobile-expanded) .catalog-mobile-filters { display: none; }
  .catalog-toolbar.is-mobile-expanded { box-shadow: 0 12px 32px rgba(30, 35, 31, .1); }
  .catalog-reset { width: 100%; }

  .catalog-toolbar--filters-only {
    width: fit-content;
    max-width: 100%;
    margin-left: auto;
    padding: 0;
    grid-template-columns: auto;
    justify-content: end;
    border: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
  }

  .catalog-toolbar--filters-only.is-mobile-expanded {
    width: 100%;
    padding: 9px;
    grid-template-columns: 1fr;
    border: 1px solid var(--line);
    background: rgba(255, 255, 255, .96);
  }

  .catalog-toolbar--filters-only .catalog-mobile-filter-toggle { justify-self: end; }
}

@media (min-width: 921px) {
  .catalog-toolbar { position: sticky; top: 136px; }
}

@media (min-width: 781px) and (max-width: 1120px) {
  .catalog-toolbar { position: static; }
  .catalog-mobile-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

html[data-theme="dark"] .catalog-mobile-filter-toggle {
  border-color: #526159;
  background: #253129;
  color: #d9e4dc;
}

html[data-theme="dark"] .catalog-mobile-filter-toggle:hover,
html[data-theme="dark"] .catalog-mobile-filter-toggle:focus {
  border-color: #7b9485;
  background: #2d3c33;
}

html[data-theme="dark"] .catalog-mobile-filters { border-top-color: #3e4a43; }

html[data-theme="dark"] .catalog-toolbar--filters-only.is-mobile-expanded { background: #1f2923; }

@media (max-width: 780px) {
  .catalog-mobile-filters {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: end;
    gap: 8px;
  }

  .catalog-toolbar:not(.is-mobile-expanded) .catalog-mobile-filters { display: none; }
  .catalog-mobile-filters .catalog-reset { grid-column: 1 / -1; }
}

@media (max-width: 359px) {
  .catalog-mobile-filters { grid-template-columns: minmax(0, 1fr); }
  .catalog-mobile-filters .catalog-reset { grid-column: auto; }
}
