/* Shared storefront visual language. */
body {
  --font: 'Segoe UI', system-ui, -apple-system, sans-serif;
  --font-display: var(--font);
  --text:#202020; --muted:#595956; --light:#6B6B67;
  --border:#DEDED8; --bg:#FAFAF7; --bg-warm:#F2F2EE;
  --bg-2:#fff; --surface:#fff; --radius:8px; --radius-sm:6px;
  background:var(--bg); color:var(--text);
}

/* Product, service pages, forms and dialogs use the same neutral surfaces. */
body[data-page] { background:var(--bg); }
body .page-nature, body[data-page="catalog"] .page-nature { background:var(--bg); padding:36px 0 28px; }
body .nature-dust-layer, body .nature-clouds, body .nature-sun-rays { display:none; }
body .safety-card, body .contact-manager, body .solution-related, body .catalog-guide {
  background:var(--surface); border:1px solid var(--border); border-radius:6px; box-shadow:none;
}
body .safety-card h3 { font-weight:500; font-size:21px; }
body .safety-card p, body .contact-manager p { color:var(--muted); line-height:1.65; }
body .safety-card::before, body .contact-manager::before { display:none; }
body .safety-card::after { display:none; }
body .delivery-list li:hover { padding-left:0; }
body .contact-manager__avatar { border-radius:6px; background:var(--bg-warm); color:var(--text); box-shadow:none; }
body .solution-hero__grid img { border-radius:6px; box-shadow:none; }
body .solution-related__links a { color:var(--text); background:transparent; border:1px solid var(--border); border-radius:5px; }
body .solution-related__links a:hover { border-color:var(--accent); background:transparent; }
body .solution-section h2, body .catalog-guide h2 { font-weight:500; letter-spacing:-.025em; }
body .filters { background:var(--surface); border-radius:6px; }
body .filters__title { font-weight:600; }
body .filters__label { color:var(--muted); letter-spacing:.04em; }
body .cat-banner { background:transparent; border:0; border-bottom:1px solid var(--border); border-radius:0; box-shadow:none; padding:0 0 24px; }
body .catalog-group__title { color:var(--text); font-weight:500; letter-spacing:-.02em; }
body .catalog-group__title span { background:var(--bg-warm); color:var(--muted); box-shadow:none; }
body .product-page { background:var(--surface); border:1px solid var(--border); border-radius:8px; box-shadow:none; }
body .product-info .section__title { font-weight:500; letter-spacing:-.03em; }
body .product-info__price { font-weight:600; letter-spacing:-.025em; }
body .product-info__availability { background:var(--bg-warm); color:var(--muted); font-weight:500; border-radius:4px; }
body .product-info__desc, body .product-info__meta { color:var(--muted); }
body .product-info__specs-title { font-size:18px; font-weight:500; }
body .specs-table tr { border-color:var(--border); }
body .specs-table th { color:var(--muted); }
body .specs-table td { color:var(--text); font-weight:500; }
body .product-info__actions .btn { border-radius:6px; }
body .form-card { background:var(--surface); border:1px solid var(--border); border-radius:8px; box-shadow:none; }
body .form-card::before, body .modal::before { display:none; }
body .form-group label { color:var(--muted); font-size:13px; font-weight:500; text-transform:none; letter-spacing:0; }
body .form-group :is(input,textarea,select) { background:var(--surface); color:var(--text); border:1px solid var(--border); border-radius:5px; box-shadow:none; }
body .form-group :is(input,textarea,select):focus { border-color:var(--accent); box-shadow:0 0 0 2px var(--glow); }
body .modal-overlay { background:rgba(0,0,0,.65); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); }
body .modal { background:var(--surface); color:var(--text); border:1px solid var(--border); border-radius:10px; box-shadow:0 20px 70px rgba(0,0,0,.2); }
body .modal__title { color:var(--text); font-size:clamp(24px,3vw,30px); font-weight:500; letter-spacing:-.03em; }
body .modal__lead { color:var(--muted); font-size:14px; line-height:1.6; }
body .modal__eyebrow { color:var(--muted); font-weight:500; }
body .modal__close { background:transparent; color:var(--text); border:1px solid var(--border); border-radius:6px; box-shadow:none; }
body .modal__close:hover { background:var(--bg-warm); transform:none; }
body .modal__thanks-icon { background:var(--accent); box-shadow:none; border-radius:6px; }
body .modal__thanks-title, body .cart-total span:last-child { background:none; color:var(--text); -webkit-text-fill-color:var(--text); font-weight:500; }
body .modal__thanks-text, body .modal__thanks-note { color:var(--muted); }
body .consent { background:none; padding:0; border:0; border-radius:0; box-shadow:none; }
body .consent__copy label { font-weight:400; color:var(--text); }
body .consent__copy a { color:var(--muted); }
body .btn--lead-send { border-radius:6px; font-weight:600; }
body .cart-item { border-color:var(--border); }
body .cart-item__img { background:#fff; border-radius:5px; }
body .cart-item__qty button { border-radius:4px; background:var(--bg-warm); color:var(--text); }
body .cart-total { border-color:var(--border); font-weight:500; }
body .quick-view__img { background:#fff; border-radius:6px; }
body .calc-result { background:var(--bg-warm); }
body .calc-step h3 { font-weight:500; }
body .calc-chip, body button.calc-hours__btn { border-radius:5px; font-weight:500; }
body .assist-panel__inner { background:var(--surface); border:1px solid var(--border); border-radius:8px; box-shadow:0 10px 40px rgba(0,0,0,.15); }
body .assist-panel__glow { display:none; }
body .assist-panel__head { background:var(--bg-warm); color:var(--text); border-color:var(--border); }
body .assist-msg { border-radius:6px; box-shadow:none; }
body .assist-nav__btn { background:var(--surface); color:var(--text); border:1px solid var(--border); border-radius:5px; box-shadow:none; animation:none; }
body .assist-form { background:var(--surface); border-color:var(--border); }
body .assist-form input { color:var(--text); background:var(--surface); border-color:var(--border); border-radius:5px; }
body[data-page] .assist-form { background:var(--surface); border-color:var(--border); box-shadow:none; }
body[data-page] .assist-form input { background:var(--surface); color:var(--text); -webkit-text-fill-color:var(--text); border-color:var(--border); }
body[data-page] .assist-form input::placeholder { color:var(--muted); }
body[data-page] .assist-msg__bubble { border-radius:6px; }
body[data-page] .assist-msg--visitor .assist-msg__bubble { background:var(--accent); }
body[data-page] .assist-msg--bot .assist-msg__bubble, body[data-page] .assist-msg--manager .assist-msg__bubble { background:var(--bg-warm); color:var(--text); border-color:var(--border); }
body .cookie-bar { background:var(--surface); color:var(--text); border-top:1px solid var(--border); box-shadow:none; }
.legal-document { max-width:860px; }
.legal-document .section__title { overflow-wrap:anywhere; }
.legal-copy { margin-top:28px; font-size:16px; line-height:1.75; color:var(--text); }
.legal-copy h2 { font-size:22px; line-height:1.35; font-weight:500; letter-spacing:-.02em; margin:32px 0 12px; }
.legal-copy p, .legal-copy ul { margin:0 0 16px; }
.legal-copy ul { padding-left:22px; }
.legal-copy a { color:var(--text); text-decoration:underline; text-underline-offset:3px; }
.legal-meta { color:var(--muted); font-size:13px; margin-top:16px; }
.legal-notice { margin:24px 0; padding:16px 20px; border-left:3px solid var(--accent); background:var(--bg-warm); font-size:14px; line-height:1.6; }
.legal-nav { display:flex; flex-wrap:wrap; gap:8px 20px; margin-top:24px; font-size:14px; }
.legal-nav a { color:var(--muted); text-decoration:underline; }
body .cookie-bar { padding:16px 24px; gap:14px 24px; justify-content:space-between; }
body .cookie-bar:not(.show) { visibility:hidden; pointer-events:none; }
body:has(.cookie-bar.show) .dock { bottom:184px; }
.cookie-bar > span { flex:1 1 360px; max-width:760px; font-size:13px; line-height:1.5; }
.cookie-bar a { color:inherit; text-decoration:underline; }
.cookie-bar__actions { display:flex; flex-wrap:wrap; gap:8px; }
body .assist-form { flex-wrap:wrap; }
.assist-consent { display:flex; flex-basis:100%; gap:8px; font-size:12px; line-height:1.45; color:var(--muted); }
.assist-consent input[type="checkbox"] { flex:none; width:18px; min-width:18px; height:18px; min-height:18px; padding:0; margin:2px 0 0; accent-color:var(--accent); }
.assist-consent a { color:inherit; text-decoration:underline; }
@media (max-width:600px) {
  body .cookie-bar { padding:12px 16px; gap:10px; }
  .cookie-bar__actions { width:100%; }
  .cookie-bar__actions .btn { flex:1; padding:0 10px; font-size:12px; }
  body:has(.cookie-bar.show) .dock { bottom:calc(244px + env(safe-area-inset-bottom)); }
}
@media (max-width:600px) {
  body .form-card { padding:22px 18px; }
  body .modal__head { padding:24px 60px 0 20px; }
  body .modal__body { padding:20px; }
  body .modal__close { top:12px; right:12px; }
  body .page-nature { padding:28px 0 20px; }
  .legal-copy { font-size:15px; }
}
body.is-night {
  --text:#F4F4F0; --muted:#C2C2BD; --light:#A8A8A3;
  --border:#343431; --bg:#000; --bg-warm:#151514;
  --bg-2:#111; --surface:#111;
}
body .sky-ambient { display:none; }
body :is(.header,.header__top) { background:var(--surface); color:var(--text); box-shadow:none; border-color:var(--border); }
body .header__top { border-bottom:1px solid var(--border); }
body :is(.header__phone,.header__address) { color:var(--muted); }
body .header__phones-ico { display:none; }
body .header__phone-sep { background:var(--border); }
body .header__top .socials__btn { color:var(--text); background:transparent; border:0; }
body[data-page] .socials__btn { color:var(--text); background:transparent; box-shadow:none; }
body[data-page] .socials__btn:hover { background:var(--bg-warm); }
body .social-logo { display:inline-block; width:24px; height:24px; flex:0 0 24px; vertical-align:middle; object-fit:contain; }
body .soc-perk__btn .social-logo { width:22px; height:22px; flex-basis:22px; }
body .header__nav a { font-weight:600; }
body[data-page] .header__nav a { background:transparent; border-color:transparent; box-shadow:none; border-radius:5px; color:var(--text); }
body[data-page] .header__nav a:hover, body[data-page] .header__nav a.active { background:var(--bg-warm); color:var(--text); box-shadow:none; }
body .breadcrumbs a { color:var(--muted); }
body .breadcrumbs a:hover { color:var(--text); }
body[data-page] .dock__btn--theme { background:var(--surface); color:var(--text); border:1px solid var(--border); border-radius:6px; box-shadow:none; }
body :is(.header__cart,.header__call-btn,.burger) { border-radius:6px; }
body .btn { border-radius:6px; font-weight:600; letter-spacing:0; box-shadow:none; }
body .hero__panel { width:min(960px,calc(100% - 48px)); gap:30px; }
body .hero__title { max-width:22ch; font-weight:600; font-size:clamp(36px,4.4vw,70px); line-height:1.09; letter-spacing:-.04em; text-wrap:balance; }
body .hero__label { color:#F4D2B9; font-size:11px; letter-spacing:.16em; font-weight:600; margin-bottom:24px; }
body .hero__subtitle { max-width:630px; color:#F1F1ED; font-size:clamp(16px,1.3vw,18px); line-height:1.65; }
body .theme-sky__wash { background:rgba(0,0,0,.54); }
body.is-night .theme-sky__wash { background:rgba(0,0,0,.64); }
body .hero__cta .btn { border-radius:6px; min-height:52px; font-weight:600; box-shadow:none; }
body .hero__cta button.btn.btn--outline { background:transparent; color:#fff; border-color:rgba(255,255,255,.75); }
body .hero__cta button.btn.btn--outline:hover { background:rgba(255,255,255,.12); color:#fff; }
body :is(.section,.section--alt,.section--sun) { background:var(--bg); backdrop-filter:none; -webkit-backdrop-filter:none; }
body main > .section { border-top:1px solid var(--border); }
body .section__head { max-width:760px; margin:0 0 40px; text-align:left; }
body .section__eyebrow { color:var(--muted); font-size:11px; font-weight:600; letter-spacing:.15em; margin-bottom:16px; }
body .section__title { color:var(--text); font-size:clamp(29px,3.1vw,46px); line-height:1.14; font-weight:500; letter-spacing:-.035em; text-wrap:balance; }
body .section__desc { color:var(--muted); font-size:16px; line-height:1.65; max-width:680px; }
body .soc-perk--home { padding:28px 0; background:var(--surface); color:var(--text); border:0; }
body .soc-perk { background:var(--surface); color:var(--text); border-bottom:1px solid var(--border); }
body .soc-perk__title { color:var(--text); font-weight:500; }
body .soc-perk__note { color:var(--muted); }
body .soc-perk__mark { background:var(--bg-warm); color:var(--accent); border:0; border-radius:6px; }
body .soc-perk__mark-pct { color:var(--accent); font-weight:500; }
body .soc-perk::before { display:none; }
body .soc-perk__home-title { color:var(--text); font-size:21px; font-weight:500; letter-spacing:-.02em; }
body :is(.soc-perk__kicker,.soc-perk__home-lead) { color:var(--muted); }
body .soc-perk__kicker { font-size:10px; font-weight:500; }
body .soc-perk__home-lead { font-size:13px; line-height:1.6; max-width:640px; }
body .soc-perk__btn { background:transparent; color:var(--text); border:1px solid var(--border); border-radius:5px; font-size:13px; font-weight:500; }
body .soc-perk__btn:hover { border-color:var(--text); background:transparent; }
body .bento { grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-rows:auto; gap:28px 24px; }
body .bento__tile { display:flex; flex-direction:column; grid-column:auto; grid-row:auto; border:0; background:transparent; border-radius:0; padding:0; color:var(--text); }
body .bento__tile::after { display:none; }
body .bento__img { position:relative; inset:auto; width:100%; height:clamp(150px,18vh,215px); overflow:hidden; border-radius:6px; }
body .bento__body { padding:16px 30px 0 0; }
body .bento__title { color:var(--text); font-size:18px; line-height:1.35; font-weight:600; letter-spacing:-.02em; }
body .bento__text { color:var(--muted); opacity:1; font-size:13px; line-height:1.5; }
body .bento__arrow { top:auto; bottom:20px; right:0; width:24px; height:24px; background:none; color:var(--text); border-radius:0; }
body .bento__tile:hover .bento__arrow { transform:none; color:var(--accent); background:none; }
body :is(.bento__tile,.product-card,.runtime-card,.how__step):hover { transform:none; box-shadow:none; }
body .audience { gap:20px; }
body .audience__card { border-radius:6px; }
body .audience__body { padding:28px; }
body .audience__body h3 { font-size:24px; font-weight:500; letter-spacing:-.02em; }
body .audience__card::after { background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.76)); }
body .solve-strip { gap:16px; margin-bottom:32px; }
body .solve-card { border-radius:6px; }
body .solve-card:hover img { transform:none; }
body .solve-card span { font-size:13px; font-weight:600; }
body .calc-banner { background:transparent; border:0; border-top:1px solid var(--border); border-radius:0; padding:28px 0 0; box-shadow:none; }
body .calc-banner h3 { color:var(--text); font-size:22px; font-weight:500; letter-spacing:-.02em; }
body .calc-banner p { color:var(--muted); line-height:1.6; }
body .how { gap:28px; perspective:none; }
body .how__step { text-align:left; padding:0; background:transparent; border:0; border-radius:0; }
body .how__media { border-radius:6px; height:210px; margin-bottom:22px; }
body .how__media img { animation:none; transform:none; }
body .how__media::after { display:none; }
body .how__n { width:auto; height:auto; margin:0 0 8px; background:none; color:var(--accent); box-shadow:none; font-size:13px; font-weight:600; }
body .how__step h3 { margin:0 0 10px; font-size:21px; font-weight:500; letter-spacing:-.02em; }
body .how__step p { margin:0; color:var(--muted); line-height:1.6; }
body :is(.runtime-card,.why-card) { background:transparent; box-shadow:none; border:0; border-top:1px solid var(--border); border-radius:0; padding:24px 0 0; }
body .runtime-card h3 { color:var(--text); font-weight:500; }
body .runtime-card p { color:var(--muted); }
body .why-grid { gap:28px; }
body .why-card h3 { font-size:20px; font-weight:500; letter-spacing:-.02em; }
body .why-card p { color:var(--muted); line-height:1.65; }
body .product-card { background:transparent; border:0; border-radius:0; }
body .product-card__img-wrap { background:#fff; border:1px solid var(--border); border-radius:6px; height:240px; }
body .product-card__img-wrap::before { display:none; }
body .product-card__body { padding:20px 0 24px; }
body .product-card__name { font-weight:500; font-size:18px; line-height:1.4; letter-spacing:-.015em; }
body .product-card__specs { color:var(--muted); font-size:13px; line-height:1.6; }
body .product-card__price { font-size:24px; font-weight:600; letter-spacing:-.025em; }
body .product-card__price-row { margin-bottom:16px; align-items:baseline; }
body .product-card__price-note { font-size:12px; font-weight:500; letter-spacing:.04em; color:var(--muted); }
body .product-info .product-card__price-row { margin:8px 0 12px; }
body .footer__metrika { color:var(--muted); font-size:12px; line-height:1; text-decoration:none; display:inline-flex; align-items:center; }
body .footer__metrika:hover { color:var(--text); }
body .footer__metrika img { display:none; width:88px; height:31px; }
body .footer__metrika.is-live .footer__metrika-label { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
body .footer__metrika.is-live .footer__metrika-day { display:block; }
body.is-night .footer__metrika.is-live .footer__metrika-day { display:none; }
body.is-night .footer__metrika.is-live .footer__metrika-night { display:block; }
body .product-card__actions { gap:8px; }
body .product-card__actions .btn { min-height:42px; padding:0 12px; font-size:12px; }
body .product-card__actions .btn--outline { border-width:1px; color:var(--text); }
body .faq-list { max-width:none; gap:0; }
body .faq-item { padding:0; border:0; border-top:1px solid var(--border); border-radius:0; background:transparent; }
body .faq-item:last-child { border-bottom:1px solid var(--border); }
body .faq-item summary { display:flex; justify-content:space-between; align-items:baseline; gap:24px; padding:22px 0; font-weight:500; font-size:18px; line-height:1.5; }
body .faq-item summary::after { float:none; flex:none; font-size:22px; font-weight:400; }
body .faq-item p { color:var(--muted); max-width:760px; padding-right:24px; }
body .geo-find { margin:0; }
body .geo-find__head { text-align:left; margin-bottom:32px; }
body .geo-find__icon { display:none; }
body .geo-find__head h2 { font-size:clamp(29px,3.1vw,46px); font-weight:500; letter-spacing:-.035em; }
body .geo-find__addr { color:var(--text); font-size:17px; font-weight:500; }
body :is(.geo-find__map,.geo-find__route) { border-radius:6px; }
body .geo-find__link a { color:var(--text); text-decoration:underline; text-underline-offset:4px; }
body .footer { background:var(--surface); }
body .assist-fab { box-shadow:none; background:var(--accent); }
body :is(.assist-fab__ring,.assist-bot__eye,.assist-bot__ant,.assist-fab__bot) { animation:none; }
body .dock__btn--calc { border-radius:6px; box-shadow:0 2px 8px rgba(0,0,0,.1); }
@media (max-width:1024px) {
  body .bento { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:640px) {
  body .hero__panel { width:calc(100% - 40px); gap:28px; padding:36px 0; }
  body .hero__title { font-size:clamp(31px,8.4vw,46px); max-width:19ch; }
  body .hero__subtitle { font-size:15px; line-height:1.6; }
  body .hero__label { font-size:10px; letter-spacing:.1em; }
  body .section__head { margin-bottom:28px; }
  body .section__desc { font-size:15px; }
  body .bento { grid-template-columns:1fr; gap:28px; }
  body .bento__img { height:auto; aspect-ratio:16/9; }
  body .bento__body { padding-top:12px; }
  body .bento__title { font-size:20px; }
  body .soc-perk__home-grid { gap:18px; }
  body .soc-perk__home-title { font-size:20px; }
  body .soc-perk__btn { min-height:40px; padding:0 12px; }
  body .audience__body { padding:22px; }
  body .how { gap:32px; }
  body .how__media { height:auto; aspect-ratio:16/9; }
  body .calc-banner { gap:20px; }
  body .why-grid { gap:24px; }
  body .faq-item summary { font-size:16px; padding:18px 0; gap:18px; }
  body .product-card__img-wrap { height:260px; }
  body .lead-cta { background:var(--surface); border-top:1px solid var(--border); }
  body :is(.lead-cta__call,.lead-cta__ask) { border-radius:6px; font-weight:600; font-size:14px; }
}

/* Wholesale catalog: consistent frames, restrained labels, readable order conditions. */
body .product-card__img-wrap { width:100%; height:auto; aspect-ratio:1; overflow:hidden; }
body .product-card__img-wrap img { display:block; width:100%; height:100%; padding:7%; box-sizing:border-box; object-fit:contain; object-position:center; transform:none; filter:none; }
body .product-card:hover .product-card__img-wrap img { transform:none; }
body .product-gallery__main { aspect-ratio:1; background:#fff; padding:6%; box-sizing:border-box; }
body .product-gallery__main img { width:100%; height:100%; object-fit:contain; }
body .quick-view__img { aspect-ratio:1; background:#fff; padding:6%; box-sizing:border-box; }
body .quick-view__img img { width:100%; height:100%; object-fit:contain; }
body .product-card__price-row { flex-wrap:wrap; gap:5px 12px; }
body .product-card__price-note { white-space:normal; letter-spacing:0; line-height:1.5; }
body .product-card__group { margin:0 0 8px; color:var(--muted); font-size:12px; letter-spacing:.025em; }
body .wholesale-note { margin:24px 0 16px; padding:16px 0; border-block:1px solid var(--border); color:var(--text); font-size:14px; line-height:1.6; }
body .bento__tile[href="/catalog/zima/"] .bento__img { background:#fff; }
body .bento__tile[href="/catalog/zima/"] img { object-fit:contain; padding:16px; box-sizing:border-box; }
body .catalog-opt-hint { color:var(--text); line-height:1.6; }

body .catalog-opt-hint { white-space:normal; overflow-wrap:anywhere; flex:1 1 220px; }
body .catalog-toolbar > * { min-width:0; }

body .product-photo-note { color:var(--muted); font-size:12px; line-height:1.5; margin:8px 0 12px; }
