/* Аква Стар — мойки. Значения — только из tokens.css, число разрешено лишь в @media */

*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; } /* иначе display у .btn и других классов перебивает атрибут */
html { scroll-behavior: smooth; scroll-padding-top: var(--header-h); -webkit-text-size-adjust: 100%; }
html:has(dialog[open]) { overflow: hidden; }
body {
  margin: 0;
  font-family: var(--font);
  font-size: var(--fs-body);
  font-weight: var(--w-regular);
  line-height: var(--lh-body);
  color: var(--color-ink);
  background: var(--color-paper);
}
img { display: block; max-width: 100%; height: auto; }
h1, h2, h3, p, ul, ol, dl, dd { margin: 0; padding: 0; }
ul, ol { list-style: none; }
a { color: inherit; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
:focus-visible { outline: var(--focus-w) solid var(--blue-sky); outline-offset: var(--focus-offset); }

.container { width: 100%; max-width: calc(var(--container) + 2 * var(--gutter)); margin-inline: auto; padding-inline: var(--gutter); }
.visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.skip { position: absolute; left: var(--gap-s); top: calc(-1 * var(--header-h)); z-index: 30; padding: var(--gap-xs) var(--gap-s); background: var(--color-card); border-radius: var(--radius-s); }
.skip:focus { top: var(--gap-s); }

/* Кнопки */
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  padding: var(--btn-py) var(--btn-px);
  border: var(--border-pill) solid transparent;
  border-radius: var(--radius);
  font-size: var(--fs-body); font-weight: var(--w-bold); line-height: var(--lh-tight);
  text-decoration: none; white-space: nowrap;
  transition: background-color var(--transition), border-color var(--transition), color var(--transition), transform var(--transition);
}
.btn--primary { background: var(--blue); color: var(--color-card); }
.btn--primary:hover { background: var(--blue-deep); }
.btn--ghost { border-color: var(--color-line-strong); background: transparent; }
.btn--ghost:hover { border-color: var(--blue); color: var(--blue-deep); }
.btn--wide { width: 100%; }
.btn:disabled { opacity: 0.6; cursor: default; }

/* Шапка */
.header { position: sticky; top: 0; z-index: 20; background: var(--color-paper); border-bottom: var(--border) solid var(--color-line); }
.header__row { display: flex; align-items: center; justify-content: space-between; gap: var(--gap-m); min-height: var(--header-h); }
.logo { display: inline-flex; align-items: center; gap: var(--gap-xs); flex-shrink: 0; text-decoration: none; font-size: var(--fs-logo); font-weight: var(--w-black); white-space: nowrap; }
.logo img { width: var(--logo-size); height: var(--logo-size); }
.nav { display: flex; gap: var(--gap-m); flex-shrink: 0; }
.nav a { font-weight: var(--w-medium); text-decoration: none; white-space: nowrap; transition: color var(--transition); }
.nav a:hover { color: var(--blue); }
.header__actions { display: flex; align-items: center; gap: var(--gap-m); flex-shrink: 0; }
.header__mail { color: var(--blue); font-weight: var(--w-medium); text-decoration: none; white-space: nowrap; }
.header__mail:hover { text-decoration: underline; }
.header__phone { font-size: var(--fs-phone); font-weight: var(--w-black); text-decoration: none; white-space: nowrap; }
.header__btn-short { display: none; }

/* Баннер */
.banner { position: relative; background: var(--banner-bg); }
.banner__img { width: 100%; }
.banner__hot { overflow: hidden; position: absolute; left: var(--hot-pk-x); top: var(--hot-pk-y); width: var(--hot-pk-w); height: var(--hot-pk-h); border-radius: var(--radius); transition: background-color var(--transition); }
.banner__hot:hover { background: var(--color-hot); }

/* Секции */
.section { padding-block: var(--section-y); }
.section--paper { background: var(--color-paper); }
.section--blush { background: var(--color-tint); }
.section--dark { background: var(--gradient-block); color: var(--color-on-dark); }
.h2 { font-size: var(--fs-h2); font-weight: var(--w-black); line-height: var(--lh-head); text-transform: uppercase; text-wrap: balance; }
.lead { max-width: 60ch; margin-top: var(--gap-s); font-size: var(--fs-lead); color: var(--color-muted); }
.lead--dark { color: var(--color-muted-dark); }

/* Каталог */
.catalog-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: var(--gap-s) var(--gap-l); margin-bottom: var(--gap-m); }
.facts { display: flex; flex-wrap: wrap; gap: var(--gap-xs) var(--gap-m); color: var(--color-muted); }
.facts b { color: var(--color-ink); font-weight: var(--w-black); font-variant-numeric: tabular-nums; }

/* Фильтры: строка обычных списков, без панели */
.toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--gap-xs); }
.toolbar__filters { display: flex; flex-wrap: wrap; gap: var(--gap-xs); }
.toolbar__toggle { display: none; padding: var(--select-py) var(--input-px); background: var(--color-card); border: var(--border) solid var(--color-line-strong); border-radius: var(--radius-s); font-size: var(--fs-small); font-weight: var(--w-bold); }
.select {
  appearance: none;
  width: 100%; padding: var(--select-py) var(--select-pr) var(--select-py) var(--input-px);
  background: var(--color-card) var(--chevron) no-repeat right var(--select-arrow-x) center;
  border: var(--border) solid var(--color-line-strong); border-radius: var(--radius-s);
  color: var(--color-ink); font-size: var(--fs-small); font-weight: var(--w-medium);
  cursor: pointer; transition: border-color var(--transition);
}
.select:hover { border-color: var(--blue); }
.select--on { border-color: var(--blue); color: var(--blue-deep); font-weight: var(--w-bold); }
.toolbar .select { width: auto; }

/* Результаты */
.results__bar { display: flex; align-items: center; gap: var(--gap-m); margin-block: var(--gap-m); min-height: var(--close-size); }
.results__count { font-weight: var(--w-bold); }
.results__reset { padding: 0; background: none; border: 0; color: var(--blue-deep); font-size: var(--fs-small); font-weight: var(--w-bold); text-decoration: underline; }
.grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(var(--card-min), 1fr)); gap: var(--gap-m); }
.card { display: flex; flex-direction: column; background: var(--color-card); border-radius: var(--radius); overflow: hidden; transition: box-shadow var(--transition), transform var(--transition); }
.card:hover { box-shadow: var(--shadow-card); transform: translateY(var(--lift)); }
.card__foto { position: relative; display: block; aspect-ratio: 4 / 3; background: var(--color-tint); }
.card__foto img { width: 100%; height: 100%; object-fit: cover; }
.card__tag { position: absolute; left: var(--tag-offset); top: var(--tag-offset); padding: var(--gap-2xs) var(--gap-s); background: var(--navy-900); color: var(--color-on-dark); border-radius: var(--radius-pill); font-size: var(--fs-xs); font-weight: var(--w-bold); }
.card__body { display: flex; flex-direction: column; flex: 1; padding: var(--gap-m); }
.card__kicker { font-size: var(--fs-xs); font-weight: var(--w-bold); color: var(--color-muted); text-transform: uppercase; letter-spacing: var(--tracking-caps); }
.card__title { margin-top: var(--gap-2xs); font-size: var(--fs-body); font-weight: var(--w-bold); line-height: var(--lh-tight); }
.card__title a { text-decoration: none; }
.card__title a:hover { color: var(--blue); }
.specs { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: auto; padding-top: var(--gap-s); }
.specs > div { padding-right: var(--gap-xs); border-right: var(--border) solid var(--color-line); padding-left: var(--gap-xs); }
.specs > div:first-child { padding-left: 0; }
.specs > div:last-child { border-right: 0; }
.specs dt { font-size: var(--fs-xs); color: var(--color-muted); }
.specs dd { order: -1; font-size: var(--fs-spec); font-weight: var(--w-black); line-height: var(--lh-tight); font-variant-numeric: tabular-nums; }
.specs > div { display: flex; flex-direction: column; }
.card__meta { margin-top: var(--gap-xs); font-size: var(--fs-small); color: var(--color-muted); }
.card__price { margin-top: var(--gap-s); font-size: var(--fs-price); font-weight: var(--w-black); font-variant-numeric: tabular-nums; }
.card__actions { display: grid; grid-template-columns: 1fr auto; gap: var(--gap-xs); margin-top: var(--gap-s); }
.card__actions .btn { padding-inline: var(--gap-s); font-size: var(--fs-small); }
.results__more { margin-top: var(--gap-m); }
.empty { padding: var(--gap-l); background: var(--color-card); border-radius: var(--radius); }
.empty h3 { font-size: var(--fs-h3); font-weight: var(--w-black); }
.empty p { margin: var(--gap-xs) 0 var(--gap-m); color: var(--color-muted); }

/* Исполнение: плитки-кнопки цвета кнопок сайта */
.kinds { display: grid; grid-template-columns: repeat(auto-fit, minmax(var(--kind-min), 1fr)); gap: var(--gap-m); margin-top: var(--gap-l); }
.kind__btn { display: flex; flex-direction: column; width: 100%; height: 100%; padding: 0; background: var(--blue); color: var(--color-on-dark); border: 0; border-radius: var(--radius); overflow: hidden; text-align: left; transition: background-color var(--transition), box-shadow var(--transition), transform var(--transition); }
.kind__btn:hover { background: var(--blue-deep); box-shadow: var(--shadow-card); transform: translateY(var(--lift)); }
.kind__btn[aria-pressed="true"] { background: var(--navy-900); }
.kind__foto { display: block; overflow: hidden; }
.kind__btn img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.kind__title { padding: var(--gap-s) var(--gap-m) 0; font-size: var(--fs-h3); font-weight: var(--w-black); }
.kind__text { padding: var(--gap-2xs) var(--gap-m) 0; font-size: var(--fs-small); }
.kind__count { margin-top: auto; padding: var(--gap-s) var(--gap-m) var(--gap-m); font-size: var(--fs-small); font-weight: var(--w-bold); }

/* Производство */
.why { display: grid; grid-template-columns: repeat(auto-fit, minmax(var(--kind-min), 1fr)); gap: var(--gap-m) var(--gap-l); margin-top: var(--gap-l); }
.why__icon { display: block; box-sizing: content-box; width: var(--icon-size); height: var(--icon-size); padding: calc((var(--icon-box) - var(--icon-size)) / 2); margin-bottom: var(--gap-s); background: var(--color-icon-bg); border-radius: var(--radius); fill: none; stroke: currentColor; stroke-width: var(--icon-stroke); stroke-linecap: round; stroke-linejoin: round; }
.why h3 { font-size: var(--fs-h3); font-weight: var(--w-black); }
.why p { margin-top: var(--gap-xs); color: var(--color-muted-dark); }
.pumps { margin-top: var(--gap-xl); }
.pumps__label { font-size: var(--fs-small); font-weight: var(--w-bold); color: var(--color-muted-dark); }
.pumps__list { display: flex; flex-wrap: wrap; gap: var(--gap-xs) var(--gap-l); margin-top: var(--gap-xs); font-size: var(--fs-pump); font-weight: var(--w-black); text-transform: uppercase; }

/* Применение */
.use { display: grid; grid-template-columns: 1fr 1fr; gap: var(--gap-xl); }
.use__where { margin-top: var(--gap-l); font-size: var(--fs-big-list); font-weight: var(--w-bold); line-height: var(--lh-tight); }
.use__where li { padding-block: var(--gap-s); border-top: var(--border) solid var(--color-line-strong); }
.use__sub { font-size: var(--fs-h3); font-weight: var(--w-black); }
.use__what { margin-top: var(--gap-s); }
.use__what li { padding-block: var(--gap-xs); border-bottom: var(--border) solid var(--color-line); }

/* Видео */
.videos { display: grid; grid-template-columns: repeat(auto-fit, minmax(var(--video-min), 1fr)); gap: var(--gap-m); margin-top: var(--gap-l); }
.video__play, .gallery__video .video__play { position: relative; display: block; width: 100%; padding: 0; aspect-ratio: 16 / 9; background: var(--navy-800); border: 0; border-radius: var(--radius); overflow: hidden; }
.video__play img { width: 100%; height: 100%; object-fit: cover; }
.video__icon { position: absolute; left: 50%; top: 50%; width: var(--play-size); height: var(--play-size); background: var(--blue); border-radius: 50%; transform: translate(-50%, -50%); transition: background-color var(--transition); }
.video__icon::after { content: ""; position: absolute; left: 54%; top: 50%; border-style: solid; border-width: calc(var(--play-tri) / 2) 0 calc(var(--play-tri) / 2) var(--play-tri); border-color: transparent transparent transparent var(--color-card); transform: translate(-50%, -50%); }
.video__play:hover .video__icon { background: var(--blue-deep); }
.video iframe, .gallery__video iframe { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: var(--radius); }
.video__title { margin-top: var(--gap-s); font-weight: var(--w-bold); }
.video__link { font-size: var(--fs-small); font-weight: var(--w-bold); color: var(--blue-deep); }

/* Вопросы и ответы */
.faq { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: var(--gap-xl); align-items: start; }
.faq__item { border-bottom: var(--border) solid var(--color-line-strong); }
.faq__item:first-child { border-top: var(--border) solid var(--color-line-strong); }
.faq__item summary { position: relative; padding: var(--gap-m) var(--gap-l) var(--gap-m) 0; list-style: none; cursor: pointer; transition: color var(--transition); }
.faq__item summary::-webkit-details-marker { display: none; }
.faq__item summary:hover { color: var(--blue-deep); }
.faq__item h3 { font-size: var(--fs-h3); font-weight: var(--w-bold); line-height: var(--lh-tight); }
/* Плюс из двух линий, вертикальная сворачивается при открытии */
.faq__item summary::before, .faq__item summary::after { content: ""; position: absolute; right: 0; top: 50%; width: var(--faq-marker); height: var(--faq-line); margin-top: calc(var(--faq-line) / -2); background: var(--blue); transition: transform var(--t-fast) var(--ease-out); }
.faq__item summary::after { transform: rotate(90deg); }
.faq__item[open] summary::after { transform: rotate(0deg); }
.faq__item p { max-width: 70ch; padding: 0 var(--gap-l) var(--gap-m) 0; color: var(--color-muted); }
.faq__item[open] p { animation: rise var(--t-fast) var(--ease-out); }

/* Заявка */
.request { display: grid; grid-template-columns: 1fr minmax(0, var(--modal-w)); gap: var(--gap-xl); align-items: start; }
.steps { margin-top: var(--gap-l); counter-reset: s; }
.steps li { position: relative; padding: var(--gap-s) 0 var(--gap-s) var(--gap-l); border-top: var(--border) solid var(--color-line-dark); counter-increment: s; font-weight: var(--w-medium); }
.steps li::before { content: counter(s); position: absolute; left: 0; font-weight: var(--w-black); }
.request__contacts { display: flex; flex-wrap: wrap; gap: var(--gap-xs) var(--gap-l); margin-top: var(--gap-l); font-size: var(--fs-h3); font-weight: var(--w-black); }
.request__contacts a { text-decoration: none; }
.request__contacts a:hover { text-decoration: underline; }

.form { display: flex; flex-direction: column; gap: var(--gap-s); }
.form--card { padding: var(--gap-l); background: var(--color-card); color: var(--color-ink); border-radius: var(--radius-l); }
.form__title { font-size: var(--fs-modal-title); font-weight: var(--w-black); padding-right: var(--close-size); }
.form__sub { color: var(--color-muted); }
.form__sub:empty { display: none; }
.field { display: flex; flex-direction: column; gap: var(--gap-2xs); font-size: var(--fs-small); font-weight: var(--w-bold); }
.field input, .field textarea { width: 100%; padding: var(--input-py) var(--input-px); background: var(--color-card); border: var(--border) solid var(--color-line-strong); border-radius: var(--radius-s); font-size: var(--fs-body); font-weight: var(--w-regular); resize: vertical; }
.field .select { font-weight: var(--w-regular); }
.field input[aria-invalid="true"] { border-color: var(--color-error); }
.check { display: flex; gap: var(--gap-xs); font-size: var(--fs-small); }
.check input { flex-shrink: 0; width: var(--check-size); height: var(--check-size); margin: 0; accent-color: var(--blue); }
.check a { color: var(--blue-deep); }
.form__status { font-size: var(--fs-small); }
.form__status:empty { display: none; }
.form__status--error { color: var(--color-error); font-weight: var(--w-bold); }
.form--sent > :not(.form__done):not(.modal__close) { display: none; }
.form__done h3 { font-size: var(--fs-modal-title); font-weight: var(--w-black); }
.form__done p { margin-block: var(--gap-xs) var(--gap-m); color: var(--color-muted); }

/* Подвал */
.footer { padding-block: var(--gap-xl) var(--gap-l); background: var(--navy-900); color: var(--color-on-dark); font-size: var(--fs-small); }
.footer__grid { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--gap-xl); }
.logo--light img { padding: var(--gap-2xs); background: var(--color-card); border-radius: 50%; }
.footer__contacts { margin-top: var(--gap-s); font-size: var(--fs-body); font-weight: var(--w-bold); }
.footer__contacts a { text-decoration: none; }
.req { display: grid; grid-template-columns: repeat(auto-fit, minmax(var(--kind-min), 1fr)); gap: var(--gap-s) var(--gap-l); }
.req dt { color: var(--color-muted-dark); }
.footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--gap-xs) var(--gap-l); margin-top: var(--gap-l); color: var(--color-muted-dark); }

/* Окна */
.modal { width: min(100% - 2 * var(--gap-s), var(--modal-w)); max-height: calc(100dvh - 2 * var(--gap-s)); padding: var(--gap-l); background: var(--color-card); color: var(--color-ink); border: 0; border-radius: var(--radius-l); box-shadow: var(--shadow-modal); }
.modal--wide { width: min(100% - 2 * var(--gap-s), var(--modal-wide-w)); }
.modal::backdrop { background: var(--color-overlay); }
.modal__close { position: absolute; right: var(--gap-xs); top: var(--gap-xs); z-index: 2; width: var(--close-size); height: var(--close-size); background: var(--color-card); border: 0; border-radius: 50%; font-size: var(--fs-close); line-height: 1; }
.modal__close:hover { color: var(--blue); }

.product { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: var(--gap-l); }
.gallery__main { position: relative; aspect-ratio: 4 / 3; background: var(--color-tint); border-radius: var(--radius); overflow: hidden; }
.gallery__main img { width: 100%; height: 100%; object-fit: contain; }
.gallery__nav { position: absolute; top: 50%; width: var(--nav-size); height: var(--nav-size); padding: 0; background: var(--color-photo-nav); border: 0; border-radius: 50%; color: var(--color-card); font-size: var(--fs-nav-arrow); line-height: 1; transform: translateY(-50%); }
.gallery__nav--prev { left: var(--gap-xs); }
.gallery__nav--next { right: var(--gap-xs); }
.gallery__thumbs { display: flex; gap: var(--gap-xs); margin-top: var(--gap-xs); overflow-x: auto; padding-bottom: var(--gap-2xs); }
.gallery__thumb { flex: 0 0 var(--thumb-w); padding: 0; aspect-ratio: 4 / 3; background: var(--color-tint); border: var(--border-pill) solid transparent; border-radius: var(--radius-s); overflow: hidden; }
.gallery__thumb[aria-current="true"] { border-color: var(--blue); }
.gallery__thumb img { width: 100%; height: 100%; object-fit: cover; }
.gallery__video { margin-top: var(--gap-m); }
.product__title { margin-top: var(--gap-2xs); padding-right: var(--close-size); font-size: var(--fs-modal-title); font-weight: var(--w-black); line-height: var(--lh-tight); }
.product__art { margin-top: var(--gap-xs); font-size: var(--fs-small); color: var(--color-muted); overflow-wrap: anywhere; }
.product__buy { display: flex; flex-wrap: wrap; align-items: center; gap: var(--gap-s) var(--gap-m); margin-top: var(--gap-m); padding: var(--gap-m); background: var(--color-tint); border-radius: var(--radius); }
.product__price { font-size: var(--fs-price-big); font-weight: var(--w-black); font-variant-numeric: tabular-nums; line-height: var(--lh-tight); }
.product__h { margin: var(--gap-m) 0 var(--gap-xs); font-size: var(--fs-body); font-weight: var(--w-black); text-transform: uppercase; letter-spacing: var(--tracking-caps); }
.table > div { display: flex; justify-content: space-between; gap: var(--gap-m); padding-block: var(--gap-xs); border-bottom: var(--border) solid var(--color-line); font-size: var(--fs-small); }
.table dt { color: var(--color-muted); }
.table dd { font-weight: var(--w-bold); text-align: right; font-variant-numeric: tabular-nums; }
.product__list li { position: relative; padding: var(--gap-2xs) 0 var(--gap-2xs) var(--gap-m); font-size: var(--fs-small); }
.product__list li::before { content: ""; position: absolute; left: 0; top: var(--gap-s); width: var(--gap-xs); height: var(--gap-xs); background: var(--blue); border-radius: 50%; }
.product__note { margin-top: var(--gap-xs); font-size: var(--fs-small); font-weight: var(--w-bold); }
.product__text { font-size: var(--fs-small); color: var(--color-muted); }

/* ---------- Движение. При «Уменьшении движения» всё выключено внизу файла ---------- */

/* Появление при прокрутке: классы ставит scripts.js, без JS всё видно сразу */
.reveal { opacity: 0; }
.reveal.reveal--in { animation: rise var(--t-reveal) var(--ease-out) both; animation-delay: calc(var(--i, 0) * var(--stagger)); }
@keyframes rise {
  from { opacity: 0; transform: translateY(var(--rise)); }
  to { opacity: 1; transform: none; }
}

/* Блик на кнопке баннера: привлекает к единственному действию первого экрана */
.banner__hot::after {
  content: ""; position: absolute; inset: 0; width: 40%;
  background: linear-gradient(100deg, transparent, var(--sweep-color), transparent);
  transform: translateX(-120%) skewX(-18deg);
  animation: sweep var(--t-sweep) var(--ease-out) infinite;
  pointer-events: none;
}
@keyframes sweep {
  0%, 62% { transform: translateX(-120%) skewX(-18deg); }
  88%, 100% { transform: translateX(320%) skewX(-18deg); }
}

/* Отклик на нажатие и наведение */
.btn:hover:not(:disabled) { transform: translateY(var(--lift)); }
.btn:active:not(:disabled), .kind__btn:active { transform: scale(var(--press)); }
.card__foto { overflow: hidden; }
.card__foto img, .kind__btn img { transition: transform var(--t-reveal) var(--ease-out); }
.card:hover .card__foto img, .kind__btn:hover img { transform: scale(var(--zoom-photo)); }
.video__play img { transition: transform var(--t-reveal) var(--ease-out); }
.video__play:hover img { transform: scale(var(--zoom-photo)); }
.video__icon { transition: background-color var(--transition), scale var(--transition); }
.video__play:hover .video__icon { scale: var(--zoom-icon); }

/* Окна */
.modal[open] { animation: modal-in var(--t-modal) var(--ease-out); }
.modal[open]::backdrop { animation: fade-in var(--t-modal) ease-out; }
@keyframes modal-in {
  from { opacity: 0; transform: translateY(var(--gap-s)) scale(var(--modal-from)); }
}
@keyframes fade-in { from { opacity: 0; } }
.gallery__main img.foto-in { animation: fade-in var(--t-fast) ease-out; }
.form__done:not([hidden]) { animation: rise var(--t-fast) var(--ease-out); }

/* Подбор: карточки плавно переезжают на новые места (View Transitions, где поддерживается) */
.header { view-transition-name: shapka; }
::view-transition-old(root), ::view-transition-new(root) { animation: none; }
::view-transition-group(*) { animation-duration: var(--t-fast); animation-timing-function: var(--ease-out); }

@media print { .reveal { opacity: 1; } }

/* Шапка: меню и почта уходят по замеру, см. struktura.md */
@media (min-width: 1180px) and (max-width: 1439px) { .header__mail { display: none; } }
@media (max-width: 1179px) { .nav { display: none; } }
@media (max-width: 899px) {
  .toolbar__toggle { display: block; }
  .toolbar__filters { display: none; order: 3; width: 100%; grid-template-columns: 1fr 1fr; }
  .toolbar__filters.is-open { display: grid; }
  .toolbar__filters .select { width: 100%; }
  .use, .request, .product, .footer__grid, .faq { grid-template-columns: minmax(0, 1fr); }
  .faq { gap: var(--gap-m); }
  .header__mail { display: none; }
  /* В карточке на телефоне: фото → цена и характеристики → видео */
  .product { gap: var(--gap-s); }
  .gallery { display: contents; }
  .gallery__main { order: 1; }
  .gallery__thumbs { order: 2; margin-top: 0; }
  .product__info { order: 3; }
  .gallery__video { order: 4; margin-top: var(--gap-xs); }
  .gallery__main, .gallery__thumbs, .gallery__video, .product__info { min-width: 0; }
}
@media (max-width: 759px) {
  .banner__hot { left: var(--hot-mob-x); top: var(--hot-mob-y); width: var(--hot-mob-w); height: var(--hot-mob-h); }
}
@media (max-width: 599px) {
  html { scroll-padding-top: var(--header-h-mob); }
  .header__row { min-height: var(--header-h-mob); gap: var(--gap-xs); }
  .header__actions { gap: var(--gap-xs); }
  .logo span { display: none; }
  .logo img { width: var(--logo-size-mob); height: var(--logo-size-mob); }
  .header__phone { font-size: var(--fs-phone-mob); }
  .header__btn { padding: var(--gap-xs) var(--gap-s); font-size: var(--fs-small); }
  .header__btn-long { display: none; }
  .header__btn-short { display: inline; }
  .modal { width: 100%; max-width: none; max-height: 100dvh; height: 100dvh; margin: 0; padding: var(--gap-m); border-radius: 0; }
  .form--card { padding: var(--gap-m); }
  .kinds { grid-template-columns: 1fr 1fr; gap: var(--gap-s); margin-top: var(--gap-m); }
  .kind:last-child { grid-column: 1 / -1; }
  .kind:last-child .kind__btn { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr auto; column-gap: var(--gap-s); }
  .kind:last-child .kind__foto { grid-row: 1 / 3; }
  .kind:last-child img { height: 100%; }
  .kind:last-child .kind__title { align-self: end; padding-left: 0; }
  .kind:last-child .kind__count { padding-left: 0; }
  .kind__text { display: none; }
  .kind__title { padding-inline: var(--gap-s); }
  .kind__count { padding: var(--gap-2xs) var(--gap-s) var(--gap-s); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
  .reveal { opacity: 1; }
  .banner__hot::after { display: none; }
}
