/* CCT public kit (cct_main) */
/**
 * Аврора — скин поверх Bootstrap 5
 * Кастомные блоки: префикс au-* (не пересекается с .btn / .modal / .nav)
 * Шрифты подключаются из index.html (без @import — меньше блокировки отрисовки)
 */

/* @cct-first type */
/* ---------- Map Aurora → Bootstrap ---------- */
:root {
  --bs-primary: var(--brand-600);
  --bs-primary-rgb: 74, 92, 245;
  --bs-body-font-family: var(--f-body);
  --bs-body-color: var(--c-fg);
  --bs-body-bg: var(--c-page);
  --bs-border-color: var(--c-line);
  --bs-border-radius: var(--r-md);
  --bs-border-radius-lg: var(--r-lg);
  --bs-link-color: var(--brand-700);
  --bs-link-hover-color: var(--brand-800);
  --bs-focus-ring-color: var(--c-focus-glow);
}

/* Shared text-field focus: Bootstrap hardcodes #86b7fe — use brand tokens */
.form-control:focus,
.form-select:focus {
  border-color: var(--c-focus-border);
  outline: 0;
  box-shadow: var(--sh-focus);
}

html {
  font-size: var(--t-base);
  /* clip: режет горизонтальный overscroll, не ломая position:sticky у хедера */
  overflow-x: clip;
  max-width: 100%;
  /* Hover lift/dropdown can grow scrollHeight → scrollbar appears → width shift → hover thrash.
     Keep gutter reserved so the page doesn’t jump. */
  scrollbar-gutter: stable;
}
body {
  font-family: var(--f-body);
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
  max-width: 100%;
}

h1, h2, h3, .h1, .h2, .h3,
.display-5, .display-6 {
  font-family: var(--f-display);
  letter-spacing: var(--ls-head);
  font-weight: 800;
  line-height: var(--lh-head);
}
.display-5 {
  font-size: var(--t-d2);
  letter-spacing: var(--ls-display);
  line-height: var(--lh-tight);
}
.display-6 {
  font-size: var(--t-h2);
  letter-spacing: var(--ls-head);
}
div.display-6,
div.h2 {
  margin-top: 0;
  margin-bottom: 0.5rem;
}
.h3, h3 {
  font-size: var(--t-h3);
  font-weight: 700;
}
.lead {
  font-size: var(--t-lead);
  line-height: var(--lh-body);
  font-weight: 400;
  color: var(--c-fg-2);
}

.au-num { font-variant-numeric: tabular-nums; }
/* Optical box for SVG and Bootstrap Icons (.bi). Resets BI vertical-align: -.125em. */
.au-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1em;
  height: 1em;
  flex: 0 0 1em;
  line-height: 0;
}
.au-icon svg {
  display: block;
  width: 1em;
  height: 1em;
}
.au-icon .bi,
.au-icon [class^="bi-"] {
  display: block;
  width: 1em;
  height: 1em;
  font-size: 1em;
  line-height: 1;
}
.au-icon .bi::before,
.au-icon [class^="bi-"]::before {
  display: block;
  line-height: 1;
  vertical-align: 0;
  width: 1em;
  height: 1em;
}
.au-eyebrow {
  display: inline-block;
  font-family: var(--f-body);
  font-size: var(--t-eyebrow);
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  line-height: 1.3;
  color: var(--c-fg-3);
}

/* Keep overflow scroll (arrows / swipe / wheel); hide the native bar.
   Firefox + legacy Edge + WebKit. Vertical lists that need a bar stay on scrollbar-width: thin. */
.au-hide-h-scroll,
.au-steps[data-orient="horizontal"],
.au-hist__viewport,
.au-case__tags,
.au-compare-scroller,
.au-qv__thumbs,
.au-qv__tablist,
.au-lightbox__thumbs,
.au-tabs {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.au-hide-h-scroll::-webkit-scrollbar,
.au-steps[data-orient="horizontal"]::-webkit-scrollbar,
.au-hist__viewport::-webkit-scrollbar,
.au-case__tags::-webkit-scrollbar,
.au-compare-scroller::-webkit-scrollbar,
.au-qv__thumbs::-webkit-scrollbar,
.au-qv__tablist::-webkit-scrollbar,
.au-lightbox__thumbs::-webkit-scrollbar,
.au-tabs::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

/* Клики, открывающие модалку / offcanvas — всегда pointer */
[data-bs-toggle="modal"],
[data-bs-toggle="offcanvas"],
button[data-bs-target*="modal"],
.btn,
.au-play,
.au-pc__media,
.au-svc__art,
.au-row,
.au-doc,
.au-gallery__item,
.au-swatch,
.au-seg .btn {
  cursor: pointer;
}

/*
 * ПРАВИЛО РОЛИ CTA (для новых блоков):
 *  · на фото/видео/ink-фоне (hero, промо с фото) главная кнопка — btn-light или btn-glass
 *    (контраст с тёмным/фото фоном); второстепенная рядом — на ступень тише (btn-glass/btn-outline).
 *  · на обычном/surface-фоне главная кнопка — всегда btn-primary; второстепенная —
 *    btn-outline-primary или btn-soft.
 *  · никогда две кнопки одного визуального веса в одной группе действий.
 */

/*
 * Кнопки — 2 продуктовые высоты:
 *  · btn-lg — page-CTA и Hero (52px / 1rem)
 *  · btn-sm — действия в карточках/списке: купить, корзина, заявка, выбрать тариф
 * Demo-тулбары (.au-seg) и chrome шапки живут отдельно.
 */
.btn {
  --bs-btn-font-size: 1rem;
  --bs-btn-padding-y: 0;
  --bs-btn-padding-x: 1.55rem;
  font-family: var(--f-display);
  font-weight: 700;
  line-height: 1.2;
  border-radius: var(--r-pill);
  height: 3.25rem;
  min-height: 3.25rem;
  padding: 0 var(--bs-btn-padding-x);
  font-size: var(--bs-btn-font-size);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
}
/* card-CTA: купить / в корзину / заявка в карточке / выбрать тариф */
.btn-sm {
  --bs-btn-font-size: .875rem;
  --bs-btn-padding-y: 0;
  --bs-btn-padding-x: 1rem;
  --bs-btn-border-width: 1px;
  height: 2.5rem;
  min-height: 2.5rem;
  padding: 0 var(--bs-btn-padding-x);
  font-size: var(--bs-btn-font-size);
  line-height: 1.2;
  border-radius: var(--r-pill);
  border-style: solid;
  border-width: 1px;
  box-sizing: border-box;
}
/* primary без «прыжка» относительно outline — тот же бордер */
.btn-sm.btn-primary {
  border-color: var(--brand-600);
}
/* синоним page-CTA (= базовый .btn); Hero тоже на lg */
.btn-lg {
  --bs-btn-font-size: 1rem;
  --bs-btn-padding-y: 0;
  --bs-btn-padding-x: 1.55rem;
  height: 3.25rem;
  min-height: 3.25rem;
  padding: 0 var(--bs-btn-padding-x);
  font-size: var(--bs-btn-font-size);
  line-height: 1.2;
  border-radius: var(--r-pill);
}
.btn-primary {
  --bs-btn-bg: var(--brand-600);
  --bs-btn-border-color: var(--brand-600);
  --bs-btn-hover-bg: var(--brand-700);
  --bs-btn-hover-border-color: var(--brand-700);
  --bs-btn-color: var(--brand-fg);
  --bs-btn-hover-color: var(--brand-fg);
  --bs-btn-active-bg: var(--brand-800);
  --bs-btn-active-border-color: var(--brand-800);
  --bs-btn-active-color: var(--brand-fg);
  /* Bootstrap default disabled/focus is kit #0d6efd — flashes blue on AJAX disable */
  --bs-btn-disabled-color: var(--brand-fg);
  --bs-btn-disabled-bg: var(--brand-600);
  --bs-btn-disabled-border-color: var(--brand-600);
  --bs-btn-disabled-opacity: .72;
  --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
  box-shadow: var(--sh-1);
}
.btn-primary:active,
.btn-primary.active,
.btn-check:checked + .btn-primary,
.btn-primary:first-child:active,
:not(.btn-check) + .btn-primary:active {
  background-color: var(--brand-800);
  border-color: var(--brand-800);
  color: var(--brand-fg);
}
.btn-primary:disabled,
.btn-primary.disabled {
  background-color: var(--brand-600);
  border-color: var(--brand-600);
  color: var(--brand-fg);
  opacity: .72;
  box-shadow: none;
}
.btn-primary:not(.btn-sm) {
  box-shadow: var(--sh-brand);
}
.btn-primary.btn-sm {
  box-shadow: var(--sh-1);
}
.btn-outline-primary {
  --bs-btn-color: var(--brand-700);
  --bs-btn-border-color: var(--c-line-2);
  --bs-btn-hover-bg: var(--tint-2);
  --bs-btn-hover-border-color: var(--c-line-2);
  --bs-btn-hover-color: var(--c-fg);
  /* Bootstrap ships #0d6efd for active/disabled — must override or :active flashes kit blue */
  --bs-btn-active-color: var(--brand-fg);
  --bs-btn-active-bg: var(--brand-700);
  --bs-btn-active-border-color: var(--brand-700);
  --bs-btn-disabled-color: var(--brand-700);
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: var(--c-line-2);
  --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
}
.btn-outline-primary:active,
.btn-outline-primary.active,
.btn-check:checked + .btn-outline-primary,
.btn-outline-primary:first-child:active,
:not(.btn-check) + .btn-outline-primary:active {
  background-color: var(--brand-700);
  border-color: var(--brand-700);
  color: var(--brand-fg);
}
.btn-light { font-weight: 700; }
.btn-glass {
  background: rgb(255 255 255 / .16);
  color: #fff;
  border: 0;
  backdrop-filter: blur(8px);
}
.btn-glass:hover { background: rgb(255 255 255 / .24); color: #fff; }
.btn-glass:active {
  background: rgb(255 255 255 / .3);
  color: #fff;
}
.btn-soft {
  background: var(--tint-2);
  color: var(--brand-700);
  border: 0;
  box-shadow: none;
}
.btn-soft:hover { background: var(--tint-3); color: var(--brand-800); }
.btn-soft:active {
  background: var(--tint-3);
  color: var(--brand-800);
}
/* @cct-first /type */

/* ---------- Nav arrows — ровно два вида в kit ----------
   Soft  — светлые секции / карусели / lightbox (эталон: отзывы ←→)
   Solid — рельсы steps / history / speakers (card + hover brand) */
.au-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  margin: 0;
  flex-shrink: 0;
  font-size: 1.15rem;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  transition: background .2s var(--e-soft), color .2s var(--e-soft), border-color .2s var(--e-soft), opacity .2s var(--e-soft);
}
.au-arrow:disabled,
.au-arrow[aria-disabled="true"] {
  opacity: .35;
  cursor: default;
  pointer-events: none;
}
.au-arrow:focus-visible {
  outline: 2px solid var(--brand-500);
  outline-offset: 2px;
}
.au-arrow--soft {
  border: 0;
  border-radius: var(--r-md);
  background: var(--tint-2);
  color: var(--brand-700);
  box-shadow: none;
}
.au-arrow--soft:hover:not(:disabled) {
  background: var(--tint-3);
  color: var(--brand-800);
}
.au-arrow--soft:active:not(:disabled) {
  background: var(--tint-3);
  color: var(--brand-800);
}
.au-arrow--solid {
  border: 1px solid var(--c-line);
  border-radius: var(--r-pill);
  background: var(--c-card);
  color: var(--brand-700);
  box-shadow: var(--sh-1);
}
.au-arrow--solid:hover:not(:disabled) {
  background: var(--brand-600);
  border-color: var(--brand-600);
  color: var(--brand-fg, #fff);
}
.au-arrow--solid svg {
  width: 1.15rem;
  height: 1.15rem;
  stroke: currentColor;
  stroke-width: 2.2;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}
@media (max-width: 575.98px) {
  .au-arrow {
    width: 2.25rem;
    height: 2.25rem;
    font-size: 1.05rem;
  }
}

.au-chip {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 .75rem;
  border-radius: var(--r-pill);
  font-size: var(--t-xs);
  font-weight: 600;
}
.au-chip--sale { background: var(--cct-chip-sale-bg, var(--sale)); color: var(--cct-chip-sale-fg, #fff); }
.au-chip--ghost { background: rgb(255 255 255 / .18); color: #fff; }
.au-chip--hit { background: var(--cct-chip-hit-bg, var(--brand-600)); color: var(--cct-chip-hit-fg, var(--brand-fg)); }
.au-chip--new { background: var(--cct-chip-new-bg, var(--c-ok)); color: var(--cct-chip-new-fg, #fff); }
.au-chip--recommend { background: var(--cct-chip-recommend-bg, var(--brand-800)); color: var(--cct-chip-recommend-fg, var(--brand-fg)); }
.au-chip--action { background: var(--cct-chip-action-bg, var(--c-warn)); color: var(--cct-chip-action-fg, #fff); }
.au-chip--compact { background: var(--cct-chip-compact-bg, var(--brand-400)); color: var(--cct-chip-compact-fg, var(--brand-fg)); }
.au-chip--deal { background: var(--cct-chip-deal-bg, var(--brand-900)); color: var(--cct-chip-deal-fg, var(--brand-fg)); }
/* Set / complect / gift on photo: frosted glass (readable over light & dark media) */
.au-chip--set,
.au-chip--complect,
.au-chip--gift {
  color: var(--cct-chip-gift-fg, var(--c-fg));
  overflow: hidden;
  background: var(
    --cct-chip-gift-bg,
    linear-gradient(
      165deg,
      rgb(255 255 255 / .86) 0%,
      rgb(255 255 255 / .72) 100%
    )
  );
  border: 1px solid rgb(255 255 255 / .7);
  box-shadow:
    0 1px 4px rgb(0 0 0 / .1),
    inset 0 1px 0 rgb(255 255 255 / .8);
  -webkit-backdrop-filter: blur(10px) saturate(1.25);
  backdrop-filter: blur(10px) saturate(1.25);
}
.au-chip--with-gift {
  color: var(--cct-chip-with-gift-fg, var(--c-fg));
  background: var(--cct-chip-with-gift-bg, linear-gradient(
    165deg,
    rgb(255 255 255 / .86) 0%,
    rgb(255 255 255 / .72) 100%
  ));
}
.au-chip--set-sale {
  color: var(--c-fg);
  overflow: hidden;
  background: linear-gradient(
    165deg,
    color-mix(in oklab, var(--sale, #c45c26) 22%, rgb(255 255 255 / .86)) 0%,
    rgb(255 255 255 / .72) 100%
  );
  border: 1px solid color-mix(in oklab, var(--sale, #c45c26) 35%, rgb(255 255 255 / .6));
  box-shadow:
    0 1px 4px rgb(0 0 0 / .1),
    inset 0 1px 0 rgb(255 255 255 / .75);
  -webkit-backdrop-filter: blur(10px) saturate(1.25);
  backdrop-filter: blur(10px) saturate(1.25);
}

/* Header */
/* @cct-first header */
.au-header {
  position: sticky;
  top: 0;
  z-index: var(--z-header);
  background: color-mix(in oklab, var(--c-page) 88%, transparent);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--c-line);
}
/* Catalog strip is already the edge — a light hairline read as a 1px gap before hero. */
.au-header:has(.au-header__row--catalog) {
  border-bottom: 0;
}
/* Wide hero, before scroll: no glass. The photo is the header background.
   The catalog row keeps its own solid menu color. Scroll treatment is separate. */
body:has(.au-hero-deck--wide) > .au-header:not(.is-scrolled) {
  background: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  border-bottom-color: transparent;
}
body:has(.au-hero-deck--wide) > .au-header:not(.is-scrolled) .au-header__row--info {
  border-bottom-color: transparent;
}
body:has(.au-hero-deck--wide) > #main {
  margin-top: calc(-1 * var(--cct-header-stack, var(--header-h)));
}
/* Bootstrap locks body overflow on .modal-open → body becomes the sticky
   containing block, so the header jumps to document top (off-screen when
   scrolled). Lock the root instead; scrollbar-gutter already reserves width. */
html:has(body.modal-open),
html.au-shop-modal-lock {
  overflow: hidden;
}
body.modal-open {
  overflow: visible !important;
  padding-right: 0 !important;
}
.au-logo {
  display: inline-flex;
  align-items: center;
  gap: var(--s-3);
  min-height: var(--s-7);
  font-family: var(--f-display);
  font-weight: 800;
  font-size: var(--t-body);
  line-height: var(--lh-tight);
  color: var(--c-fg);
  text-decoration: none;
}
.au-logo:hover { color: var(--c-fg); }
.au-logo__mark {
  width: var(--s-7);
  height: var(--s-7);
  border-radius: var(--r-sm);
  background: var(--brand-600);
  display: grid;
  place-items: center;
  flex: 0 0 var(--s-7);
}
.au-logo__mark i {
  width: 45%;
  height: 45%;
  border-radius: var(--r-xs);
  background: var(--brand-fg);
  display: block;
}
.au-logo__img {
  display: block;
  height: var(--s-7);
  width: auto;
  max-width: calc(var(--s-12) + var(--s-10));
  flex: 0 0 auto;
  object-fit: contain;
  object-position: left center;
}
/* Desktop nav — overflow «⋯» + dropdowns.
   Until CctNavFit.fit() (is-fitted), clip so items do not paint over chrome.
   After fit, visible again so .au-nav__sub / .au-nav__panel are not clipped. */
.au-nav {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}
.au-nav.is-fitted {
  overflow: visible;
}
.au-nav__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: .1rem;
  min-width: 0;
  width: 100%;
  overflow: visible;
}
.au-nav__item {
  position: relative;
  flex: 0 0 auto;
}
.au-nav__link {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  font-size: var(--t-sm);
  font-weight: 500;
  color: var(--c-fg);
  padding: .5rem .65rem;
  border: 0;
  background: transparent;
  border-radius: var(--r-sm);
  text-decoration: none;
  white-space: nowrap;
  line-height: 1.2;
  cursor: pointer;
}
.au-nav__link:hover,
.au-nav__link:focus-visible {
  color: var(--c-fg);
  background: var(--tint-2);
}
.au-nav__item--parent > .au-nav__link::after {
  content: "";
  width: .45rem;
  height: .45rem;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-1px);
  opacity: .55;
  flex: 0 0 auto;
}
.au-nav__more-btn {
  min-width: 2.25rem;
  justify-content: center;
  font-size: var(--t-h3);
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1;
}
.au-nav__sub,
.au-nav__panel {
  list-style: none;
  margin: 0;
  padding: 0;
  position: absolute;
  top: 100%;
  left: 0;
  z-index: var(--z-panel);
  display: none;
  background: var(--c-page);
  border: 1px solid var(--c-line);
  border-radius: var(--r-xl);
  box-shadow: var(--sh-1);
}
/* Не уже родителя; шире — если дочерний пункт длиннее */
.au-nav__item--parent > .au-nav__sub,
.au-nav__item--more > .au-nav__panel {
  min-width: 100%;
  width: max-content;
  max-width: min(20rem, 85vw);
}
/* «⋯»: правое ребро к кнопке (не уезжает влево под соседние пункты) */
.au-nav__item--more > .au-nav__panel {
  left: auto;
  right: 0;
}
/* Невидимый мост — курсор не теряет hover по диагонали */
.au-nav__item--parent > .au-nav__sub::before,
.au-nav__item--more > .au-nav__panel::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 100%;
  height: .45rem;
}
.au-nav__item--parent:hover > .au-nav__sub,
.au-nav__item--parent:focus-within > .au-nav__sub,
.au-nav__item--parent.is-open > .au-nav__sub,
.au-nav__item--more:hover > .au-nav__panel,
.au-nav__item--more:focus-within > .au-nav__panel,
.au-nav__item--more.is-open > .au-nav__panel {
  display: block;
}
.au-nav__sub > .au-nav__item:first-child {
  border-radius: calc(var(--r-xl) - 1px) calc(var(--r-xl) - 1px) 0 0;
}
.au-nav__sub > .au-nav__item:last-child {
  border-radius: 0 0 calc(var(--r-xl) - 1px) calc(var(--r-xl) - 1px);
}
.au-nav__sub > .au-nav__item:first-child:last-child {
  border-radius: calc(var(--r-xl) - 1px);
}
.au-nav__sub > .au-nav__item:hover,
.au-nav__sub > .au-nav__item:focus-within {
  background: var(--tint-2);
}
.au-nav__sub .au-nav__link {
  display: flex;
  width: 100%;
  box-sizing: border-box;
  white-space: nowrap;
  border-radius: 0;
  padding: .55rem 1rem;
}
.au-nav__sub .au-nav__link:hover,
.au-nav__sub .au-nav__link:focus-visible {
  background: transparent;
  color: var(--c-fg);
}
/* Внутри «⋯» вложенность раскрывается вниз по клику / focus, без flyout */
.au-nav__panel .au-nav__item--parent {
  position: static;
}
.au-nav__panel .au-nav__item--parent > .au-nav__sub {
  position: static;
  display: none;
  margin: 0 0 .25rem;
  padding: 0 0 0 .35rem;
  border: 0;
  border-left: 1px solid var(--c-line);
  border-radius: 0;
  box-shadow: none;
  min-width: 0;
  background: transparent;
}
.au-nav__panel .au-nav__item--parent:hover > .au-nav__sub {
  display: none;
}
.au-nav__panel .au-nav__item--parent.is-open > .au-nav__sub,
.au-nav__panel .au-nav__item--parent:focus-within > .au-nav__sub {
  display: block;
}

/* Mobile menu drawer — лёгкий список, крупные зоны, hint скролла */
.au-menu-drawer {
  --au-menu-pad-x: 1.1rem;
  border: 0;
  background: var(--c-page);
}
.au-menu-drawer.au-menu-drawer { /* specificity vs bootstrap — full viewport, flush left */
  --bs-offcanvas-width: 100%;
  width: 100%;
}
.au-menu-drawer__head {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: var(--s-3);
  padding: 1rem var(--au-menu-pad-x) .65rem;
  border-bottom: 0;
}
.au-menu-drawer__head-mid {
  display: flex;
  flex: 1 1 auto;
  justify-content: center;
  align-items: center;
  min-width: 0;
}
.offcanvas-header.au-menu-drawer__head .btn-close {
  flex: 0 0 auto;
  margin: 0;
}
.au-footer-contacts.au-menu-drawer__head-contacts {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: var(--s-3);
  width: max-content;
  max-width: 100%;
  max-height: var(--tap);
  overflow: hidden;
  font-size: var(--t-xs);
  line-height: 1;
  text-align: left;
}
.au-menu-drawer__head-contacts > li {
  flex: 0 1 auto;
  min-width: 0;
  max-width: 100%;
}
.au-menu-drawer__head-contacts .au-footer-contact,
.au-menu-drawer__head-contacts .au-footer-contact__line .au-footer__val,
.au-menu-drawer__head-contacts .au-footer-contact__line a.au-footer__val {
  font-size: inherit;
  line-height: 1;
}
.au-menu-drawer__head-contacts .au-footer-contact__cap {
  display: none;
}
.au-menu-drawer__head-contacts .au-footer-contact__line {
  flex-wrap: nowrap;
  min-width: 0;
  min-height: 0;
  white-space: nowrap;
}
.au-menu-drawer__head-contacts .au-footer-contact__line .au-footer__val,
.au-menu-drawer__head-contacts .au-footer-contact__line a.au-footer__val {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.au-menu-drawer__title {
  flex: 0 0 auto;
  margin: 0;
  font-family: var(--f-display);
  font-size: var(--t-sm);
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--c-fg-3);
  line-height: 1.2;
}
.au-menu-drawer__body {
  display: flex;
  flex-direction: column;
  padding: 0;
  min-height: 0;
  height: 100%;
  overflow: hidden;
}
.au-menu-drawer__scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding: .15rem 0 1.25rem;
  scrollbar-width: none;
}
.au-menu-drawer__scroll::-webkit-scrollbar { display: none; }
.au-menu-drawer__hint {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  margin-top: -.35rem;
  padding: .35rem var(--au-menu-pad-x) .55rem;
  min-height: 2.5rem;
  border: 0;
  color: var(--c-fg-3);
  background: linear-gradient(180deg, transparent, color-mix(in oklab, var(--c-page) 88%, transparent) 35%, var(--c-page));
  width: 100%;
  font: inherit;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}
.au-menu-drawer__hint[hidden] { display: none !important; }
.au-menu-drawer__hint-ic {
  width: .7rem;
  height: .7rem;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-1px);
  opacity: .75;
  animation: au-menu-hint-bob 1.4s var(--e-soft) infinite;
}
@keyframes au-menu-hint-bob {
  0%, 100% { transform: rotate(45deg) translateY(-2px); opacity: .45; }
  50% { transform: rotate(45deg) translateY(2px); opacity: .9; }
}
@media (prefers-reduced-motion: reduce) {
  .au-menu-drawer__hint-ic { animation: none; }
}
.au-menu-drawer__foot {
  flex: 0 0 auto;
  display: grid;
  justify-items: start;
  gap: .85rem;
  padding: .85rem var(--au-menu-pad-x) calc(.95rem + env(safe-area-inset-bottom, 0px));
  border-top: 1px solid color-mix(in oklab, var(--c-line) 80%, transparent);
  background: color-mix(in oklab, var(--c-page) 92%, var(--tint-1));
}
.au-menu-drawer__cta {
  display: grid;
  gap: .55rem;
  justify-self: stretch;
}
.au-menu-drawer__cta .btn { width: 100%; }
.au-menu-drawer__social {
  justify-self: stretch;
  justify-content: flex-start;
}
.au-menu-drawer__contacts {
  max-width: 100%;
  text-align: left;
}
.au-menu-drawer__foot .au-footer-contact__line a.au-footer__val:hover {
  color: var(--c-fg);
}
/* Язык в меню — без «капсулы», просто текст */
.au-menu-drawer__foot .au-lang {
  padding: 0;
  gap: .15rem;
  background: transparent;
  border-radius: 0;
}
.au-menu-drawer__foot .au-menu-drawer__lang {
  justify-self: end;
}
.au-menu-drawer__foot .au-lang__btn {
  min-width: 2.5rem;
  padding: .35rem .55rem;
  border-radius: var(--r-sm);
  font-size: var(--t-sm);
  font-weight: 700;
  letter-spacing: .06em;
  color: var(--c-fg-3);
  background: transparent;
}
.au-menu-drawer__foot .au-lang__btn.active {
  color: var(--c-fg);
  background: transparent;
  box-shadow: inset 0 -2px 0 var(--brand-600);
}

.au-nav-mobile {
  font-family: var(--f-body);
  overflow: hidden;
  margin: 0;
}
.au-menu-drawer .au-mnav-tabs {
  margin: 0 var(--s-4) var(--s-3);
  max-width: none;
}
.au-mnav-pane[hidden] {
  display: none;
}
.au-nav-m__lead {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  min-width: 0;
}
.au-nav-m__media {
  flex: 0 0 var(--s-6);
  width: var(--s-6);
  height: var(--s-6);
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: var(--r-xs);
  color: var(--c-fg-2);
}
.au-nav-m__media img {
  width: var(--s-6);
  height: var(--s-6);
  object-fit: contain;
}
.au-nav-m__kids {
  display: none;
}
.au-nav-m__viewport {
  overflow: hidden;
  width: 100%;
  touch-action: pan-y;
}
.au-nav-m__track {
  display: flex;
  align-items: flex-start;
  width: 100%;
  transition: transform .42s cubic-bezier(.32, .72, 0, 1);
  will-change: transform;
}
.au-nav-m__panel {
  flex: 0 0 100%;
  width: 100%;
  min-width: 100%;
  height: 0;
  overflow: hidden;
  visibility: hidden;
  padding: 0;
  box-sizing: border-box;
}
.au-nav-m__panel.is-active,
.au-nav-m__panel.is-leaving {
  height: auto;
  overflow: visible;
  visibility: visible;
}
/* Назад — компактная текстовая ссылка, не крупная pill */
.au-nav-m__back {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  min-height: 0;
  border: 0;
  background: transparent;
  color: var(--brand-700);
  font-family: var(--f-body);
  font-size: var(--t-sm);
  font-weight: 600;
  padding: .25rem var(--s-4) .35rem;
  margin: 0 0 .35rem;
  border-radius: var(--r-sm);
  cursor: pointer;
  transition: color .15s var(--e-soft), opacity .15s var(--e-soft);
}
.au-nav-m__back:hover,
.au-nav-m__back:focus-visible {
  color: var(--brand-800);
  outline: none;
}
.au-nav-m__back:active {
  opacity: .72;
}
.au-nav-m__back .au-icon {
  color: inherit;
}
.au-nav-m__title {
  margin: 0 0 .45rem;
  padding-inline: var(--s-4);
  font-family: var(--f-display);
  font-size: var(--t-h3);
  font-weight: 800;
  letter-spacing: var(--ls-head);
  color: var(--c-fg);
  line-height: var(--lh-head);
}
.au-nav-m__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}
.au-nav-m__item {
  margin: 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 85%, transparent);
}
.au-nav-m__link,
.au-nav-m__branch {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .85rem;
  width: 100%;
  min-height: 3.35rem;
  border: 0;
  background: transparent;
  color: var(--c-fg);
  font-family: var(--f-body);
  font-weight: 600;
  font-size: var(--t-body);
  line-height: 1.3;
  text-align: left;
  text-decoration: none;
  padding: .95rem var(--s-4);
  border-radius: 0;
  cursor: pointer;
  transition: color .15s var(--e-soft), background .15s var(--e-soft);
  -webkit-tap-highlight-color: transparent;
}
.au-nav-m__label {
  min-width: 0;
}
.au-nav-m__more {
  flex: 0 0 auto;
  width: .5rem;
  height: .5rem;
  margin-right: .2rem;
  border-right: 1.5px solid var(--c-fg-3);
  border-bottom: 1.5px solid var(--c-fg-3);
  transform: rotate(-45deg);
  opacity: .55;
}
.au-nav-m__link:hover,
.au-nav-m__branch:hover,
.au-nav-m__link:focus-visible,
.au-nav-m__branch:focus-visible,
.au-nav-m__link:active,
.au-nav-m__branch:active {
  color: var(--brand-700);
  background: color-mix(in oklab, var(--tint-2) 70%, transparent);
  outline: none;
}
.au-nav-m__panel--child .au-nav-m__link {
  font-weight: 600;
  color: var(--c-fg-2);
}
.au-nav-m__panel--child .au-nav-m__link:hover,
.au-nav-m__panel--child .au-nav-m__link:active {
  color: var(--c-fg);
}
@media (prefers-reduced-motion: reduce) {
  .au-nav-m__track { transition: none; }
}
/* Shared header chrome icon button: square --tap hit + 24px glyph */
.au-hdr-icon,
.au-burger {
  box-sizing: border-box;
  position: relative;
  width: var(--tap);
  height: var(--tap);
  min-width: var(--tap);
  min-height: var(--tap);
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: var(--r-md);
  background: transparent;
  color: var(--c-fg);
  display: inline-grid;
  place-items: center;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  text-decoration: none;
  line-height: 1;
  appearance: none;
  -webkit-appearance: none;
  flex-shrink: 0;
}
.au-hdr-icon:hover,
.au-hdr-icon:focus-visible,
.au-burger:hover,
.au-burger:focus-visible {
  background: var(--tint-2);
  color: var(--c-fg);
  outline: none;
}
.au-hdr-icon svg {
  width: 24px;
  height: 24px;
  display: block;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
/* Header rail (cart / compare / wishlist / cabinet / search) — one 24px .bi recipe. */
.au-hdr-icon .bi {
  display: block;
  width: 24px;
  height: 24px;
  font-size: 24px;
  line-height: 1;
}
/* Desktop header only (≥992, same as d-lg). Mobile bar + dock keep 24px. */
@media (min-width: 992px) {
  .au-header .au-hdr-icon svg,
  .au-header .au-hdr-icon .bi {
    width: 18px;
    height: 18px;
  }
  .au-header .au-hdr-icon .bi {
    font-size: 18px;
  }
}
/* Buy-row wish/compare (card / QV / detail): same 18px glyph as desktop header rail. Hit stays --tap. */
.au-pc__wish svg,
.au-pc__wish .bi,
.au-pc__compare svg,
.au-pc__compare .bi {
  width: 18px;
  height: 18px;
}
.au-pc__wish .bi,
.au-pc__compare .bi {
  font-size: 18px;
}
.au-hdr-icon--cart:not([data-count]) .au-hdr-qty,
.au-hdr-icon--compare:not([data-count]) .au-hdr-qty,
.au-hdr-icon--wishlist:not([data-count]) .au-hdr-qty {
  display: none !important;
}
.au-hdr-icon--cart[data-count] .au-hdr-qty,
.au-hdr-icon--compare[data-count] .au-hdr-qty,
.au-hdr-icon--wishlist[data-count] .au-hdr-qty {
  position: absolute;
  top: 4px;
  right: 4px;
  box-sizing: content-box;
  display: flex;
  align-items: center;
  justify-content: center;
  width: max-content;
  min-width: 8px;
  height: 16px;
  padding: 0 4px;
  border-radius: var(--r-pill);
  background: var(--sale);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  pointer-events: none;
}
.au-hdr-search {
  position: relative;
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
.au-search-overlay {
  position: fixed;
  inset: 0;
  z-index: var(--z-overlay);
  display: block;
}
.au-search-overlay[hidden] {
  display: none;
}
.au-search-overlay__backdrop {
  position: absolute;
  inset: 0;
  background: color-mix(in oklab, var(--c-fg) 48%, transparent);
  opacity: 0;
  transition: opacity .32s var(--e-soft);
}
.au-search-overlay.is-open .au-search-overlay__backdrop {
  opacity: 1;
}
.au-search-overlay__bar {
  position: relative;
  background: var(--c-page);
  box-shadow: var(--sh-2);
  transform: translate3d(0, -100%, 0);
  transition: transform .32s var(--e-soft);
}
.au-search-overlay.is-open .au-search-overlay__bar {
  transform: translate3d(0, 0, 0);
}
.au-search-overlay__form {
  display: flex;
  align-items: center;
  gap: var(--s-4);
  padding-block: var(--s-3);
}
.au-search-overlay #cct-hdr-search-title {
  position: relative;
}
.au-search-overlay__input {
  flex: 1 1 auto;
  min-width: 0;
  height: 2.5rem;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--c-fg);
  font-family: var(--f-body);
  font-size: var(--t-body);
  font-weight: 500;
  line-height: 1.2;
  outline: none;
}
.au-search-overlay__input::placeholder {
  color: var(--c-fg-2);
}
.au-search-overlay__submit {
  flex: 0 0 auto;
}
.au-search-overlay__close {
  flex: 0 0 auto;
  margin: 0;
}
html.is-hdr-search {
  overflow: hidden;
}
@media (prefers-reduced-motion: reduce) {
  .au-search-overlay__bar,
  .au-search-overlay__backdrop {
    transition: none;
  }
}

/* Scope root — Aurora LP surface (не грузить aurora.css в Bitrix admin) */
html {
  height: 100%;
}
.au-root {
  min-height: 100%;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  overflow-x: clip;
  max-width: 100%;
}
.au-root main {
  flex: 1 1 auto;
  overflow-x: clip;
  max-width: 100%;
}
#site-footer {
  flex-shrink: 0;
  margin-top: auto;
}
/* Site column: same box as .au-page-frame / .in — --gutter, not Bootstrap 12px. */
.au-root .container-xxl {
  width: min(100% - var(--gutter) * 2, var(--w-site));
  max-width: var(--w-site);
  padding-inline: 0;
  margin-inline: auto;
}
.au-root .row,
.au-root [class*="col-"] {
  min-width: 0;
}
/* iOS Safari: clip поддержан не везде — hidden как страховка на корне */
@supports not (overflow: clip) {
  html, body, .au-root, .au-root main {
    overflow-x: hidden;
  }
}

/* g-5 (3rem) шире padding контейнера → ряд вылезает за экран */
@media (max-width: 767.98px) {
  .row.g-5 {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 1.5rem;
  }
}
@media (max-width: 575.98px) {
  .display-5,
  .display-6,
  h1.display-6,
  h2.display-6,
  div.display-6 {
    overflow-wrap: anywhere;
    word-break: break-word;
  }
}
.au-header__bar {
  min-height: 56px;
  flex-wrap: nowrap;
  overflow: visible;
}
.au-header__bar--desk {
  width: 100%;
  gap: var(--s-4);
  font-size: var(--t-body);
}
.au-header__bar--mobi {
  width: 100%;
  gap: var(--s-2);
}
.au-header__bar--mobi.au-header__bar--left .au-header__cluster,
.au-header__bar--mobi.au-header__bar--right .au-header__cluster,
.au-header__bar--mobi.au-header__bar--center .au-header__wing {
  gap: 0;
}
.au-header__bar--desk > *:not(.au-nav):not(.au-header__wing):not(.au-header__cluster) {
  flex: 0 0 auto;
}
.au-header__bar--center .au-header__wing {
  flex: 1 1 0;
  display: flex;
  align-items: center;
  gap: var(--s-4);
  min-width: 0;
}
.au-header__bar--left .au-header__cluster,
.au-header__bar--right .au-header__cluster {
  flex: 1;
  display: flex;
  align-items: center;
  gap: var(--s-4);
  min-width: 0;
}
.au-header__wing--start { justify-content: flex-start; }
.au-header__wing--end { justify-content: flex-end; }
.au-header__bar--center[data-cct-wing-left="edge"] .au-header__wing--start { justify-content: flex-start; }
.au-header__bar--center[data-cct-wing-left="logo"] .au-header__wing--start { justify-content: flex-end; }
.au-header__bar--center[data-cct-wing-right="edge"] .au-header__wing--end { justify-content: flex-end; }
.au-header__bar--center[data-cct-wing-right="logo"] .au-header__wing--end { justify-content: flex-start; }
.au-header__bar--left .au-header__cluster { justify-content: flex-end; }
.au-header__bar--left[data-cct-pack="logo"] .au-header__cluster { justify-content: flex-start; }
.au-header__bar--left[data-cct-pack="edge"] .au-header__cluster { justify-content: flex-end; }
.au-header__bar--right .au-header__cluster { justify-content: flex-start; }
.au-header__bar--right[data-cct-pack="logo"] .au-header__cluster { justify-content: flex-end; }
.au-header__bar--right[data-cct-pack="edge"] .au-header__cluster { justify-content: flex-start; }
.au-header__wing > *:not(.au-nav),
.au-header__cluster > *:not(.au-nav) {
  flex: 0 0 auto;
}
/* Menu absorbs leftover width and shrinks first; «⋯» stays in this box.
   Side-logo cluster must grow the same way — otherwise pack «к краю»
   shrink-wraps the nav to ~0 and fit() hides every item. */
.au-header__bar--desk > .au-nav,
.au-header__wing > .au-nav,
.au-header__cluster > .au-nav {
  flex: 1 1 0%;
  min-width: 0;
}
/* Fitted default: clip the row so ⋯ cannot paint into the next slot.
   Open overflow on any desk nav (row 1 is often unfitted) so the submenu
   is not clipped — otherwise the next header row shows through. */
.au-header__bar--desk .au-nav.is-fitted {
  overflow: hidden;
}
.au-header__bar--desk .au-nav:has(.au-nav__item--parent:hover),
.au-header__bar--desk .au-nav:has(.au-nav__item--parent:focus-within),
.au-header__bar--desk .au-nav:has(.au-nav__item--parent.is-open),
.au-header__bar--desk .au-nav:has(.au-nav__item--more:hover),
.au-header__bar--desk .au-nav:has(.au-nav__item--more:focus-within),
.au-header__bar--desk .au-nav:has(.au-nav__item--more.is-open) {
  overflow: visible;
}
.au-header__bar--desk .au-nav__list {
  width: max-content;
  max-width: 100%;
}
.au-header__bar--desk .au-nav__item--more:not([hidden]) {
  flex: 0 0 auto;
}
.au-header__desk {
  flex-shrink: 0;
}
.au-header__stack {
  display: none;
  flex-direction: column;
  width: 100%;
}
.au-header__row {
  position: relative;
  z-index: 0;
  width: 100%;
}
/* Later siblings paint over earlier ones. Lift the row that owns a flyout
   so row-1 menu is not seen through row-2 chrome. */
.au-header__row:has(:is(
  .au-nav__item--parent:hover,
  .au-nav__item--parent:focus-within,
  .au-nav__item--parent.is-open,
  .au-nav__item--more:hover,
  .au-nav__item--more:focus-within,
  .au-nav__item--more.is-open,
  .au-nav__item--mega:hover,
  .au-nav__item--mega:focus-within,
  .au-nav__item--mega.is-mega-open,
  .au-header-phone--dd:hover,
  .au-header-phone--dd.is-open,
  .au-lang-dd:hover,
  .au-lang-dd:focus-within
)) {
  z-index: 1;
}
.au-header__row-in {
  display: flex;
  align-items: center;
  gap: var(--s-4);
  width: 100%;
  min-height: 56px;
}
.au-header__row-in > .au-nav {
  flex: 1 1 0%;
  min-width: 0;
}
.au-header__row-in > .au-nav--mega-first {
  flex: 0 0 auto;
}
.au-header__row-in > .au-header__bar--desk {
  width: 100%;
}
/* Hairline between scheme rows. Do not set font-size here — slots are the
   same desk chrome as row 2; em icons (.au-icon, .bi) would shrink. */
.au-header__row--info {
  border-bottom: 1px solid var(--c-line);
}
.au-header__row--catalog {
  /* Bar colors: Theme → Основное меню (--nav*). Empty options resolve from brand. */
  --au-cat-bg: var(--nav, var(--brand));
  --au-cat-fg: var(--nav-fg, var(--brand-fg));
  --au-cat-hit-fg: var(--nav-hover-fg, var(--au-cat-fg));
  --au-cat-sub-fg: var(--nav-drop-fg, var(--au-cat-fg));
  --au-cat-row-fg: var(--nav-drop-hover-fg, var(--au-cat-sub-fg));
  --au-cat-hit: var(--nav-hover, color-mix(in oklab, var(--brand) 78%, var(--brand-fg)));
  --au-cat-row: var(--nav-drop, color-mix(in oklab, var(--brand) 62%, var(--brand-fg)));
  background: var(--au-cat-bg);
  color: var(--au-cat-fg);
}
/* Вид «в ширину макета»: заливка только колонки (--w-site / container-xxl). */
html[data-nav-view="site"] .au-header__row--catalog {
  background: transparent;
}
html[data-nav-view="site"] .au-header__row--catalog .au-header__row-in {
  background: var(--au-cat-bg);
  border-radius: var(--r-xl);
}
.au-header__row--catalog .au-header__row-in {
  position: relative;
  min-height: 0;
  padding-block: var(--s-3);
}
.au-header__row--catalog .au-nav {
  overflow: visible;
}
.au-header__row--catalog .au-nav__link {
  color: var(--au-cat-fg);
  font-size: var(--t-body);
  font-weight: 500;
  padding: .55rem .85rem;
}
.au-header__row--catalog .au-nav__item--parent > .au-nav__link::after {
  opacity: .7;
}
.au-header__row--catalog .au-nav__link:hover,
.au-header__row--catalog .au-nav__link:focus-visible,
.au-header__row--catalog .au-nav__item--parent:hover > .au-nav__link,
.au-header__row--catalog .au-nav__item--parent:focus-within > .au-nav__link,
.au-header__row--catalog .au-nav__item--parent.is-open > .au-nav__link,
.au-header__row--catalog .au-nav__item--mega:hover > .au-nav__link,
.au-header__row--catalog .au-nav__item--mega:focus-within > .au-nav__link,
.au-header__row--catalog .au-nav__item--mega.is-mega-open > .au-nav__link,
.au-header__row--catalog .au-nav__link.is-active {
  color: var(--au-cat-hit-fg);
  background: var(--au-cat-hit);
}
.au-header__row--catalog .au-nav__sub,
.au-header__row--catalog .au-nav__panel {
  background: var(--au-cat-hit);
  border: 1px solid color-mix(in oklab, var(--au-cat-sub-fg) 16%, transparent);
  border-radius: var(--r-md);
  box-shadow: var(--sh-2);
  overflow: hidden;
}
/* Open: parent + panel = one silhouette (no radii / hairline at the join). */
.au-header__row--catalog .au-nav__item--parent:hover > .au-nav__link,
.au-header__row--catalog .au-nav__item--parent:focus-within > .au-nav__link,
.au-header__row--catalog .au-nav__item--parent.is-open > .au-nav__link,
.au-header__row--catalog .au-nav__item--more:hover > .au-nav__link,
.au-header__row--catalog .au-nav__item--more:focus-within > .au-nav__link,
.au-header__row--catalog .au-nav__item--more.is-open > .au-nav__link {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  position: relative;
  z-index: calc(var(--z-panel) + 1);
}
.au-header__row--catalog .au-nav__item--parent:hover > .au-nav__sub,
.au-header__row--catalog .au-nav__item--parent:focus-within > .au-nav__sub,
.au-header__row--catalog .au-nav__item--parent.is-open > .au-nav__sub,
.au-header__row--catalog .au-nav__item--more:hover > .au-nav__panel,
.au-header__row--catalog .au-nav__item--more:focus-within > .au-nav__panel,
.au-header__row--catalog .au-nav__item--more.is-open > .au-nav__panel {
  top: calc(100% - 1px);
  border-top: 0;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.au-header__row--catalog .au-nav__sub > .au-nav__item,
.au-header__row--catalog .au-nav__panel > .au-nav__item {
  display: block;
  border-radius: 0;
}
.au-header__row--catalog .au-nav__sub > .au-nav__item:last-child,
.au-header__row--catalog .au-nav__panel > .au-nav__item:last-child,
.au-header__row--catalog .au-nav__sub > .au-nav__item:first-child:last-child,
.au-header__row--catalog .au-nav__panel > .au-nav__item:first-child:last-child {
  /* Inner curve of the panel (--r-md + 1px border). Radius 0 when Тема → Нет. */
  border-radius: 0 0 calc(var(--r-md) - 1px) calc(var(--r-md) - 1px);
  overflow: hidden;
}
.au-header__row--catalog .au-nav__sub > .au-nav__item + .au-nav__item {
  border-top: 1px solid color-mix(in oklab, var(--au-cat-sub-fg) 12%, transparent);
}
.au-header__row--catalog .au-nav__sub > .au-nav__item:hover,
.au-header__row--catalog .au-nav__sub > .au-nav__item:focus-within {
  background: var(--au-cat-row);
}
.au-header__row--catalog .au-nav__sub > .au-nav__item:hover .au-nav__link,
.au-header__row--catalog .au-nav__sub > .au-nav__item:focus-within .au-nav__link {
  color: var(--au-cat-row-fg);
}
.au-header__row--catalog .au-nav__sub .au-nav__link,
.au-header__row--catalog .au-nav__panel .au-nav__link {
  color: var(--au-cat-sub-fg);
  font-size: var(--t-sm);
  font-weight: 500;
  padding: .6rem 1rem;
}
.au-header__row--catalog .au-nav__sub .au-nav__link:hover,
.au-header__row--catalog .au-nav__sub .au-nav__link:focus-visible,
.au-header__row--catalog .au-nav__panel .au-nav__link:hover,
.au-header__row--catalog .au-nav__panel .au-nav__link:focus-visible {
  color: var(--au-cat-row-fg);
  background: transparent;
}
/* Catalog mega: overlay under the first bar item. Do not grow .au-header. */
.au-nav__item--mega {
  position: relative;
}
.au-mega {
  --mega-cap: calc(var(--mega-max, 100dvh) - var(--gutter) - env(safe-area-inset-bottom, 0px));
  display: none;
  position: absolute;
  left: 0;
  right: auto;
  top: 100%;
  z-index: var(--z-panel);
  width: max-content;
  max-width: min(100vw - 2 * var(--gutter), 72rem);
  /* min-content wraps the banner; min() so it cannot defeat the viewport cap. */
  min-height: min-content;
  min-height: min(min-content, var(--mega-cap));
  max-height: var(--mega-cap);
  margin-top: var(--s-2);
  background: var(--c-page);
  color: var(--c-fg);
  border: 1px solid var(--c-line);
  border-radius: var(--r-xl);
  box-shadow: var(--sh-1);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  isolation: isolate;
}
.au-mega:has(.au-mega__banner) {
  max-width: calc(100vw - 2 * var(--gutter));
}
.au-mega[data-mega-view="sidebar"],
.au-mega[data-mega-view="sidebar"]:has(.au-mega__banner) {
  --mega-w: min(var(--w-normal), calc(100vw - 2 * var(--gutter)));
  width: var(--mega-w);
  min-width: var(--mega-w);
  max-width: var(--mega-w);
}
.au-mega[data-mega-view="sidebar"] .au-mega__nav {
  flex-shrink: 0;
  align-self: stretch;
}
.au-mega[data-mega-view="sidebar"] .au-mega__panels,
.au-mega[data-mega-view="sidebar"] .au-mega__body {
  flex: 1 1 auto;
  min-width: 0;
}
.au-mega[data-mega-view="sidebar"] .au-mega__panels {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  min-height: 0;
}
.au-mega[data-mega-view="sidebar"] .au-mega__panel {
  flex: 1 1 auto;
  min-height: 100%;
}
.au-mega__nav {
  flex: 0 0 auto;
  width: max-content;
  min-width: 11rem;
  max-width: 18rem;
  display: flex;
  flex-direction: column;
  gap: var(--s-1);
  padding: var(--s-3);
  background: var(--c-page);
  border-right: 1px solid var(--c-line);
}
.au-mega__tab {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  padding: var(--s-2) var(--s-3);
  border-radius: var(--r-md);
  color: var(--c-fg);
  font-size: var(--t-sm);
  font-weight: 500;
  text-decoration: none;
}
.au-mega__tab:hover,
.au-mega__tab:focus-visible,
.au-mega__tab.is-on {
  background: var(--tint-2);
  color: var(--c-fg);
}
.au-mega__tab-name {
  min-width: 0;
}
.au-mega__panels {
  flex: 1 1 auto;
  min-width: 0;
  padding: var(--s-5);
  background: var(--c-page);
}
.au-mega__panels--banner,
.au-mega__panel--banner {
  display: flex;
  align-items: stretch;
  gap: var(--s-6);
  min-height: 100%;
}
.au-mega__panels--banner > .au-mega__grid,
.au-mega__panel--banner > .au-mega__body {
  min-width: 0;
}
.au-mega__body {
  flex: 1 1 auto;
  min-width: 0;
}
.au-mega__banner {
  position: relative;
  flex: 0 0 min(16rem, 36vw);
  align-self: stretch;
  display: block;
  width: min(16rem, 36vw);
  max-width: 100%;
  min-height: 100%;
  border-radius: var(--r-xl);
  overflow: hidden;
}
.au-mega__banner img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.au-mega__banner--contain img {
  object-fit: contain;
}
.au-mega__grid {
  display: grid;
  grid-template-columns: repeat(3, max-content);
  gap: var(--s-5) var(--s-6);
}
.au-mega[data-mega-view="sidebar"] .au-mega__panels .au-mega__icon {
  /* 48 = ImageSize mega_icon. --r-xl on this square reads as a circle. */
  width: calc(var(--s-8) + var(--s-2));
  height: calc(var(--s-8) + var(--s-2));
  border-radius: var(--r-md);
  background: var(--brand-50);
  color: var(--brand);
}
.au-mega[data-mega-view="sidebar"] .au-mega__panels .au-mega__icon--svg {
  padding: var(--s-2);
}
.au-mega[data-mega-view="sidebar"] .au-mega__panels .au-mega__icon--svg svg {
  stroke-width: 1.15;
}
.au-mega[data-mega-view="columns"] .au-mega__panels {
  padding: var(--s-7) var(--s-8);
}
.au-mega[data-mega-view="columns"] .au-mega__grid {
  grid-template-columns: repeat(4, max-content);
  gap: var(--s-7) var(--s-9);
  align-items: start;
}
.au-mega[data-mega-view="columns"] .au-mega__group {
  display: grid;
  grid-template-columns: minmax(0, max-content);
  align-items: start;
  min-width: 10rem;
}
.au-mega[data-mega-view="columns"] .au-mega__group--media {
  grid-template-columns: var(--s-10) minmax(0, max-content);
  column-gap: var(--s-4);
}
.au-mega[data-mega-view="columns"] .au-mega__copy {
  display: flex;
  flex-direction: column;
  gap: var(--s-2);
  min-width: 0;
}
.au-mega[data-mega-view="columns"] .au-mega__head {
  gap: 0;
  font-size: var(--t-body);
  font-weight: 600;
  line-height: var(--lh-head);
  letter-spacing: var(--ls-head);
}
.au-mega[data-mega-view="columns"] .au-mega__list {
  margin-top: 0;
}
.au-mega[data-mega-view="columns"] .au-mega__group--media .au-mega__list {
  padding-left: 0;
}
.au-mega[data-mega-view="columns"] .au-mega__list a {
  margin-inline: calc(-1 * var(--s-2));
  padding: var(--s-1) var(--s-2);
  font-size: var(--t-sm);
  font-weight: 400;
  line-height: var(--lh-body);
  color: var(--c-fg-2);
}
.au-mega[data-mega-view="columns"] .au-mega__icon {
  width: var(--s-10);
  height: var(--s-10);
  border-radius: var(--r-xl);
  background: var(--brand-50);
  color: var(--brand);
}
.au-mega[data-mega-view="columns"] .au-mega__icon--svg {
  padding: var(--s-3);
}
.au-mega[data-mega-view="columns"] .au-mega__icon--svg svg {
  stroke-width: 1.15;
}
.au-mega__head {
  display: inline-flex;
  align-items: center;
  gap: var(--s-2);
  margin-inline: calc(-1 * var(--s-2));
  padding: var(--s-1) var(--s-2);
  border-radius: var(--r-md);
  color: var(--c-fg);
  font-size: var(--t-sm);
  font-weight: 600;
  text-decoration: none;
}
.au-mega__head:hover,
.au-mega__head:focus-visible {
  color: var(--c-fg);
  background: var(--tint-2);
}
.au-mega__list {
  list-style: none;
  margin: var(--s-2) 0 0;
  padding: 0;
}
.au-mega__list a {
  display: block;
  margin-inline: calc(-1 * var(--s-2));
  padding: var(--s-1) var(--s-2);
  border-radius: var(--r-md);
  color: var(--c-fg-2);
  font-size: var(--t-sm);
  text-decoration: none;
}
.au-mega__list a:hover,
.au-mega__list a:focus-visible {
  color: var(--c-fg);
  background: var(--tint-2);
}
.au-mega__icon {
  flex-shrink: 0;
  width: var(--s-7);
  height: var(--s-7);
  border-radius: var(--r-sm);
  overflow: hidden;
  background: var(--c-surface);
  color: var(--c-fg);
}
.au-mega__icon picture {
  display: block;
  width: 100%;
  height: 100%;
}
.au-mega__icon img,
.au-mega__icon svg {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.au-mega__icon--svg {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--s-2);
}
.au-mega__nav .au-mega__icon {
  width: var(--s-6);
  height: var(--s-6);
}
@media (min-width: 992px) {
  .au-header__stack {
    display: flex;
  }
  .au-nav__item--mega:hover > .au-mega,
  .au-nav__item--mega:focus-within > .au-mega,
  .au-nav__item--mega.is-mega-open > .au-mega {
    display: flex;
    align-items: stretch;
  }
}
.au-header__actions {
  display: flex;
  align-items: center;
  gap: .15rem;
  flex-shrink: 0;
  overflow: visible;
}
@media (max-width: 991.98px) {
  /* мобайл: языки только в #offcanvasMenu, не в шапке */
  .au-header .au-lang-desk { display: none !important; }
  .au-header__actions { gap: 0; }
  .au-header-contact { gap: 0; }
}
@media (min-width: 992px) {
  .au-header__actions { gap: .35rem; }
}

.au-header-contact {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  flex-shrink: 0;
  overflow: visible;
}
.au-header-phone-stack {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  min-width: 0;
  overflow: visible;
}
.au-header-email {
  display: none;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  overflow: visible;
  border-radius: var(--r-md);
  color: var(--c-fg);
  text-decoration: none;
  line-height: 1;
}
.au-header-email__text {
  display: none;
  flex-direction: column;
  align-items: flex-start;
  gap: .1rem;
  min-width: 0;
}
.au-header-email__m-ic { display: none; }
.au-header-hours {
  display: none;
  align-items: center;
  min-width: 0;
  color: var(--c-fg);
  font-size: var(--t-eyebrow);
  font-weight: 500;
  line-height: 1.2;
}
.au-header-hours__val {
  font-family: var(--f-body);
  font-size: var(--t-eyebrow);
  font-weight: 500;
  color: var(--c-fg);
  letter-spacing: normal;
  line-height: 1.2;
  white-space: nowrap;
}

/* Phone: mobile handset; desktop number; multi = in-flow trigger + absolute overlay */
.au-header-phone {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  overflow: visible;
  border-radius: var(--r-md);
  color: var(--c-fg);
  text-decoration: none;
  line-height: 1;
}
a.au-header-phone,
.au-header-phone__main,
.au-header-phone__num {
  -webkit-user-select: text;
  user-select: text;
}
.au-header-phone__copy {
  display: none;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: var(--r-xs);
  background: transparent;
  color: var(--c-fg-2);
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  -webkit-user-select: none;
  user-select: none;
}
.au-header-phone__copy .bi {
  font-size: .75rem;
  line-height: 1;
}
.au-header-phone__copy:hover,
.au-header-phone__copy:focus-visible {
  color: var(--c-fg);
  background: var(--tint-2);
  outline: none;
}
.au-header-phone__copy.is-copied {
  color: var(--c-ok);
}
/* Icon-only hit (mobile / single-icon link): same square as .au-hdr-icon */
a.au-header-phone:not(.au-header-phone--no-ic),
.au-header-phone__call {
  box-sizing: border-box;
  width: var(--tap);
  height: var(--tap);
  min-width: var(--tap);
  min-height: var(--tap);
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: var(--r-md);
  color: var(--c-fg);
  background: transparent;
  display: inline-grid;
  place-items: center;
  text-decoration: none;
  flex-shrink: 0;
  font: inherit;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: transparent;
}
a.au-header-phone:not(.au-header-phone--no-ic):hover,
a.au-header-phone:not(.au-header-phone--no-ic):focus-visible,
.au-header-phone__call:hover,
.au-header-phone__call:focus-visible {
  color: var(--c-fg);
  background: var(--tint-2);
  outline: none;
}
.au-header-phone--dd {
  width: auto;
  height: auto;
  min-width: 0;
  min-height: 0;
  padding: 0;
  gap: 0;
  background: transparent;
}
.au-header-phone__trigger,
.au-header-phone__panel {
  display: none;
}
.au-header-phone__main {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  margin: 0;
  padding: 0;
  color: inherit;
  text-decoration: none;
  min-width: 0;
  background: transparent;
}
.au-header-phone__btn {
  display: none;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  -webkit-user-select: none;
  user-select: none;
  flex-shrink: 0;
}
.au-header-phone__icon {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  align-self: center;
  color: inherit;
}
.au-header-phone__icon svg,
.au-header-phone__icon img,
.au-header-phone__icon .bi {
  display: block;
  width: 24px;
  height: 24px;
  max-width: 24px;
  max-height: 24px;
  object-fit: contain;
}
.au-header-phone__icon svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.au-header-phone__icon .au-icon {
  width: 100%;
  height: 100%;
}
.au-header-phone__icon.au-icon svg,
.au-header-phone__icon .au-icon svg {
  width: 100%;
  height: 100%;
}
.au-header-phone__icon .bi {
  font-size: 24px;
  line-height: 1;
}
.au-header-phone__text {
  display: none;
  flex-direction: column;
  align-items: flex-start;
  gap: .1rem;
  min-width: 0;
}
.au-header-phone--no-ic .au-header-phone__text,
.au-header-phone--no-ic .au-header-phone__num {
  display: inline-flex;
}
.au-header-phone--no-ic .au-header-phone__text {
  flex-direction: column;
}
@media (max-width: 991.98px) {
  a.au-header-phone--no-ic,
  .au-header-phone--no-ic .au-header-phone__call {
    width: auto;
    height: auto;
    min-width: var(--tap);
    min-height: var(--tap);
    padding: 0 .5rem;
    display: inline-flex;
    place-items: unset;
    align-items: center;
    justify-content: center;
  }
  .au-header-phone--no-ic.au-header-phone--dd {
    width: auto;
    height: auto;
    min-width: 0;
    min-height: 0;
    padding: 0;
  }
  a.au-header-phone--no-ic:hover,
  a.au-header-phone--no-ic:focus-visible,
  .au-header-phone--no-ic .au-header-phone__call:hover,
  .au-header-phone--no-ic .au-header-phone__call:focus-visible {
    background: var(--tint-2);
    color: var(--c-fg);
  }
}
.au-header-phone__desc {
  display: block;
  font-size: var(--t-xs);
  font-weight: 500;
  color: var(--c-fg-2);
  line-height: 1.2;
  white-space: nowrap;
}
.au-header-phone__num {
  display: none;
  font-size: var(--t-sm);
  font-weight: 500;
  letter-spacing: normal;
  line-height: 1.2;
  white-space: nowrap;
  padding: 0;
  color: inherit;
  text-decoration: none;
}
.au-header-phone__chev {
  display: none;
  font-size: .75rem;
  line-height: 1;
  opacity: .55;
  flex-shrink: 0;
}
@media (min-width: 992px) {
  /* Text-line icons = 1em (Aurora .au-icon). Header rail size: see .au-hdr-icon. */
  .au-header-phone > .au-header-phone__icon,
  .au-header-phone__trigger .au-header-phone__icon {
    width: 1em;
    height: 1em;
  }
  .au-header-phone > .au-header-phone__icon svg,
  .au-header-phone > .au-header-phone__icon img,
  .au-header-phone > .au-header-phone__icon .bi,
  .au-header-phone__trigger .au-header-phone__icon svg,
  .au-header-phone__trigger .au-header-phone__icon img,
  .au-header-phone__trigger .au-header-phone__icon .bi {
    width: 1em;
    height: 1em;
    max-width: 1em;
    max-height: 1em;
  }
  .au-header-phone > .au-header-phone__icon .bi,
  .au-header-phone__trigger .au-header-phone__icon .bi {
    font-size: 1em;
  }
  .au-header-phone__call { display: none !important; }
  /* Same specificity as the icon-only link, otherwise one phone stays a 44px grid. */
  .au-header-phone,
  a.au-header-phone,
  a.au-header-phone:not(.au-header-phone--no-ic) {
    width: auto;
    height: auto;
    min-width: 0;
    min-height: var(--tap);
    padding: .45rem .65rem .45rem .5rem;
    display: inline-flex;
    place-items: unset;
    align-items: center;
    justify-content: center;
    gap: .35rem;
  }
  a.au-header-phone:hover,
  a.au-header-phone:focus-visible {
    color: var(--c-fg);
    background: var(--tint-2);
    outline: none;
  }
  /* In-flow trigger: same row as 1-phone (icon + number + chevron). Height never changes. */
  .au-header-phone--dd {
    position: relative;
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    padding: 0;
    gap: 0;
    min-height: var(--tap);
    z-index: 41;
    background: transparent;
    border: 0;
    box-shadow: none;
  }
  .au-header-phone__trigger {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    box-sizing: border-box;
    min-height: var(--tap);
    padding: .45rem .65rem .45rem .5rem;
  }
  .au-header-phone__main {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
  }
  .au-header-phone__main:hover,
  .au-header-phone__main:focus-visible {
    color: inherit;
    background: transparent;
    outline: none;
  }
  .au-header-phone__trigger .au-header-phone__num { display: block; }
  .au-header-phone__btn {
    display: inline-flex;
    width: 1.25rem;
    height: 1.25rem;
    min-width: 0;
    min-height: 0;
    padding: 0;
    border-radius: var(--r-xs);
  }
  .au-header-phone__btn:hover,
  .au-header-phone__btn:focus-visible {
    color: inherit;
    background: transparent;
    outline: none;
  }
  .au-header-phone--dd .au-header-phone__chev { display: block; }
  a.au-header-phone--desc {
    align-items: center;
    height: auto;
    min-height: var(--tap);
  }
  .au-header-phone__text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: .1rem;
  }
  .au-header-phone__text .au-header-phone__num { display: block; }
  /* Overlay covers the trigger (Kinder). Does not grow .au-header. */
  .au-header-phone__panel {
    display: none;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 40;
    min-width: 100%;
    min-height: 100%;
    width: max-content;
    margin: 0;
    padding: 0;
    list-style: none;
    box-sizing: border-box;
    border-radius: var(--r-xl);
    background: var(--c-card);
    box-shadow: var(--sh-2);
    border: 1px solid var(--c-line);
  }
  .au-header-phone--dd.is-open .au-header-phone__panel,
  .au-header-phone--dd:focus-within .au-header-phone__panel {
    display: block;
  }
  .au-header-phone--dd.is-open .au-header-phone__trigger,
  .au-header-phone--dd:focus-within .au-header-phone__trigger {
    visibility: hidden;
  }
  @media (hover: hover) {
    .au-header-phone--dd:hover .au-header-phone__panel {
      display: block;
    }
    .au-header-phone--dd:hover .au-header-phone__trigger {
      visibility: hidden;
    }
  }
  .au-header-phone__row {
    display: flex;
    align-items: center;
    gap: var(--s-2);
    margin: 0;
    padding: .55rem 1rem;
    list-style: none;
    box-sizing: border-box;
    background: transparent;
    color: var(--c-fg);
  }
  .au-header-phone__row + .au-header-phone__row {
    border-top: 1px solid var(--c-line);
  }
  .au-header-phone__row:hover,
  .au-header-phone__row:focus-within {
    background: var(--tint-2);
    color: var(--c-fg);
  }
  .au-header-phone__row--hours,
  .au-header-phone__row--hours:hover {
    color: var(--c-fg);
  }
  .au-header-phone__row .au-header-phone__icon {
    width: 1em;
    height: 1em;
  }
  .au-header-phone__row .au-header-phone__icon svg,
  .au-header-phone__row .au-header-phone__icon img,
  .au-header-phone__row .au-header-phone__icon .bi {
    width: 1em;
    height: 1em;
    max-width: 1em;
    max-height: 1em;
    font-size: 1em;
  }
  .au-header-phone__row .au-header-phone__desc {
    font-size: var(--t-sm);
    font-weight: 500;
    color: var(--c-fg);
  }
  .au-header-phone__row:first-child {
    border-radius: calc(var(--r-xl) - 1px) calc(var(--r-xl) - 1px) 0 0;
  }
  .au-header-phone__row:last-child {
    border-radius: 0 0 calc(var(--r-xl) - 1px) calc(var(--r-xl) - 1px);
  }
  .au-header-phone__row:first-child:last-child {
    border-radius: calc(var(--r-xl) - 1px);
  }
  .au-header-phone__body {
    display: flex;
    flex-direction: row;
    align-items: baseline;
    flex-wrap: nowrap;
    gap: .35rem;
    min-width: 0;
    flex: 1;
    white-space: nowrap;
  }
  /* Number grows; copy stays a trailing column (same x on every row). */
  .au-header-phone__line {
    display: flex;
    align-items: center;
    flex: 1;
    gap: .35rem;
    min-width: 0;
  }
  .au-header-phone__line .au-header-phone__num {
    flex: 0 1 auto;
    min-width: 0;
  }
  .au-header-phone__row .au-header-phone__num {
    display: block;
    min-width: 0;
    font-family: var(--f-body);
    font-size: var(--t-sm);
    font-weight: 500;
    color: var(--c-fg);
    text-decoration: none;
  }
  .au-header-phone__row a.au-header-phone__num:link,
  .au-header-phone__row a.au-header-phone__num:visited,
  .au-header-phone__row a.au-header-phone__num:hover,
  .au-header-phone__row a.au-header-phone__num:focus,
  .au-header-phone__row a.au-header-phone__num:active {
    color: var(--c-fg);
    font-weight: 500;
    text-decoration: none;
  }
  .au-header-phone__row .au-header-phone__copy {
    display: inline-flex;
    flex-shrink: 0;
    margin-inline-start: auto;
  }
}

.au-header-city .au-header-phone__panel {
  min-width: 100%;
}
.au-header-city__link {
  display: flex;
  align-items: center;
  flex: 0 1 auto;
  min-width: 0;
  padding: 0;
  color: var(--c-fg);
  text-decoration: none;
  font-size: var(--t-sm);
  font-weight: 500;
  line-height: 1.25;
  white-space: nowrap;
}
.au-header-city__link:hover,
.au-header-city__link:focus-visible {
  color: var(--c-fg);
  outline: none;
}
.au-header-city .au-header-phone__row.is-active .au-header-city__link {
  font-weight: 500;
  color: var(--c-fg);
}
.au-header-city .au-header-phone__row:hover,
.au-header-city .au-header-phone__row:focus-within {
  background: var(--tint-2);
}
@media (max-width: 991.98px) {
  .au-header-city.au-header-phone--dd {
    position: relative;
    z-index: 41;
  }
  .au-header-city .au-header-phone__panel {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    z-index: 40;
    min-width: 0;
    width: max-content;
    max-width: min(20rem, 85vw);
    margin: 0;
    padding: 0;
    list-style: none;
    box-sizing: border-box;
    border-radius: var(--r-xl);
    background: var(--c-card);
    box-shadow: var(--sh-2);
    border: 1px solid var(--c-line);
  }
  .au-header-city.is-open .au-header-phone__panel {
    display: block;
  }
  .au-header-city .au-header-phone__row {
    display: flex;
    align-items: center;
    gap: var(--s-2);
    margin: 0;
    padding: .55rem 1rem;
    list-style: none;
    box-sizing: border-box;
  }
  .au-header-city .au-header-phone__row + .au-header-phone__row {
    border-top: 1px solid var(--c-line);
  }
  .au-header-city .au-header-phone__row:first-child {
    border-radius: calc(var(--r-xl) - 1px) calc(var(--r-xl) - 1px) 0 0;
  }
  .au-header-city .au-header-phone__row:last-child {
    border-radius: 0 0 calc(var(--r-xl) - 1px) calc(var(--r-xl) - 1px);
  }
  .au-header-city .au-header-phone__row:first-child:last-child {
    border-radius: calc(var(--r-xl) - 1px);
  }
}

@media (max-width: 991.98px) {
  .au-header-email:not(.au-header-email--solo) { display: none !important; }
  .au-header-email--solo {
    box-sizing: border-box;
    display: inline-grid;
    place-items: center;
    width: var(--tap);
    height: var(--tap);
    min-width: var(--tap);
    min-height: var(--tap);
    padding: 0;
  }
  .au-header-email--solo .au-header-email__m-ic { display: grid; }
  .au-header-email--solo .au-header-email__text { display: none; }
  .au-header-email--solo:hover,
  .au-header-email--solo:focus-visible {
    color: var(--c-fg);
    background: var(--tint-2);
    outline: none;
  }
}
@media (min-width: 992px) {
  .au-header-email {
    display: inline-flex;
    width: auto;
    height: auto;
    min-width: 0;
    min-height: var(--tap);
    padding: .45rem .65rem .45rem .5rem;
  }
  .au-header-email__m-ic { display: none !important; }
  .au-header-email__text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: .1rem;
  }
  .au-header-email .au-header-phone__num { display: block; }
  .au-header-email:hover,
  .au-header-email:focus-visible {
    color: var(--c-fg);
    background: var(--tint-2);
    outline: none;
  }
  .au-header-hours {
    display: block;
  }
  .au-header-phone-stack {
    position: relative;
    align-items: center;
    gap: 0;
    overflow: visible;
  }
  .au-header-phone-stack:has(.au-header-phone--dd) {
    z-index: 41;
  }
  .au-header-phone-stack .au-header-phone__text {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
  }
  .au-header-phone-stack .au-header-phone__text .au-header-hours {
    position: absolute;
    bottom: 100%;
    left: auto;
    right: 0;
    text-align: right;
  }
  .au-header-phone-stack .au-header-phone--dd.au-header-phone--hours-dd.is-open .au-header-hours {
    visibility: hidden;
    pointer-events: none;
  }
  @media (hover: hover) {
    .au-header-phone-stack .au-header-phone--dd.au-header-phone--hours-dd:hover .au-header-hours {
      visibility: hidden;
      pointer-events: none;
    }
  }
}

/* Mobile phones list — #modalPhones: one type recipe for the whole contact stack */
#modalPhones .au-form__head {
  padding-right: 1.5rem;
  margin-bottom: .5rem;
}
#modalPhones a,
#modalPhones a:link,
#modalPhones a:visited,
#modalPhones a:hover,
#modalPhones a:focus,
#modalPhones a:focus-visible,
#modalPhones a:active {
  font-family: var(--f-body);
  font-size: var(--t-sm);
  font-weight: 400;
  color: var(--c-fg-2);
  text-decoration: none;
}
#modalPhones .au-phones-modal {
  margin: 0;
}
#modalPhones .au-footer-contact__cap {
  display: block;
  font-family: var(--f-body);
  font-size: var(--t-sm);
  font-weight: 600;
  color: var(--c-fg-3);
  line-height: 1;
}
#modalPhones .au-footer-contact__line .au-footer__val,
#modalPhones .au-footer-contact__line a.au-footer__val {
  display: block;
  margin: 0;
  padding: 0;
  font-family: var(--f-body);
  font-size: var(--t-sm);
  font-weight: 400;
  font-style: normal;
  letter-spacing: normal;
  line-height: 1;
  color: var(--c-fg-2);
  text-decoration: none;
}
#modalPhones .au-footer-contact__icon {
  color: var(--c-fg-2);
}
#modalPhones .au-footer-contact:has(.au-footer__val:hover) .au-footer-contact__icon {
  color: var(--c-fg-2);
}
#modalPhones .au-phones-modal__hours,
#modalPhones .au-phones-modal__email {
  margin: 0 0 var(--s-4);
}
#modalPhones .au-phones-modal__extra {
  margin-top: var(--s-4);
}

/* Гамбургер — тот же квадрат --tap, что cart / phone */
.au-burger__bars {
  width: 24px;
  height: 16px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.au-burger__bars i {
  display: block;
  height: 2px;
  width: 100%;
  border-radius: 1px;
  background: currentColor;
}

/* Настройки шапки (Тема сайта) */
html[data-hdr-cart="off"] .au-header .au-hdr-icon--cart { display: none !important; }
html[data-hdr-lang="off"] .au-lang-desk,
html[data-hdr-lang="off"] .au-menu-drawer__foot .au-menu-drawer__lang { display: none !important; }
html[data-hdr-lang="off"] #au-hdr-lang-ui-row { display: none !important; }
html[data-story-tabs="off"] #au-projects-tabs-wrap,
html[data-story-tabs="off"] #au-news-tabs-wrap,
html[data-story-tabs="off"] #au-articles-tabs-wrap { display: none !important; }
@media (max-width: 991.98px) {
  html[data-hdr-phone-m="off"] .au-header .au-header-phone:not(.au-header-city) { display: none !important; }
}
@media (min-width: 992px) {
  html[data-hdr-phone-d="off"] .au-header .au-header-phone:not(.au-header-city) { display: none !important; }
}
.au-form__status {
  margin: .5rem 0 0;
  font-size: var(--t-xs);
  line-height: 1.4;
}
.au-form__status.is-ok { color: var(--c-ok); }
.au-form__status.is-err { color: var(--c-err); }
.au-form.is-submitting { opacity: .92; }
img.is-broken {
  object-fit: contain;
  background: var(--tint-2);
}
.au-map__load { margin-top: .5rem; }
body.au-lightbox-open { overflow: hidden; }

.au-bg-tools [data-bg-set][hidden] { display: none !important; }
.au-bg-tools .d-contents { display: contents; }
.au-seg {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 4px;
  padding: 4px;
  background: var(--tint-2);
  border-radius: var(--r-pill);
}
.au-seg .btn {
  min-height: 32px;
  padding: 0 12px;
  border-radius: var(--r-pill);
  font-size: var(--t-xs);
  border: 0;
  background: transparent;
  color: var(--c-fg-2);
  box-shadow: none;
}
.au-seg .btn.active,
.au-seg .btn[aria-pressed="true"] {
  background: var(--c-page);
  color: var(--c-fg);
  box-shadow: var(--sh-1);
}

/* One phone: caption before the number, same line as a dropdown row. */
@media (min-width: 992px) {
  .au-header-phone-stack a.au-header-phone--desc .au-header-phone__text {
    flex-direction: row;
    align-items: baseline;
    gap: .35rem;
  }
  .au-header-phone-stack a.au-header-phone--desc .au-header-phone__desc {
    font-size: var(--t-sm);
    font-weight: 500;
    color: var(--c-fg);
  }
}

/* @cct-first /header */
/* Pager — same pill cluster as .au-seg (catalog / news / SOA delivery list) */
.au-pager,
.bx-pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  margin: var(--s-4) 0 0;
  text-align: center;
}
.au-pager__list,
.au-pager ul,
.bx-pagination .bx-pagination-container,
.bx-pagination .bx-pagination-container ul {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--s-1);
  margin: 0;
  padding: var(--s-1);
  list-style: none;
  background: var(--tint-2);
  border-radius: var(--r-pill);
}
.bx-pagination .bx-pagination-container {
  width: auto;
  padding: 0;
  background: transparent;
  border-radius: 0;
}
.au-pager li,
.au-pager__item,
.bx-pagination li {
  display: block;
  float: none;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
}
.au-pager a,
.au-pager span,
.bx-pagination a,
.bx-pagination li > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  min-width: 32px;
  padding: 0 var(--s-3);
  border: 0;
  border-radius: var(--r-pill);
  background: transparent;
  box-shadow: none;
  color: var(--c-fg-2);
  font-family: var(--f-display);
  font-size: var(--t-xs);
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
}
.au-pager a span,
.bx-pagination a span {
  display: inline;
  min-height: 0;
  min-width: 0;
  padding: 0;
  background: none;
  box-shadow: none;
  color: inherit;
  font: inherit;
}
.au-pager a:hover,
.au-pager a:focus-visible,
.bx-pagination a:hover,
.bx-pagination a:focus-visible {
  color: var(--c-fg);
  background: var(--c-page);
}
.au-pager .is-active a,
.au-pager .is-active span,
.au-pager [aria-current="page"],
.bx-pagination li.bx-active a,
.bx-pagination li.bx-active span {
  background: var(--c-page);
  color: var(--c-fg);
  box-shadow: var(--sh-1);
}
.bx-pagination .bx-pag-prev > span,
.bx-pagination .bx-pag-next > span {
  color: var(--c-fg-3);
  cursor: default;
}
.au-pager .is-disabled span {
  color: var(--c-fg-3);
  cursor: default;
}
.au-catalog-pager {
  display: flex;
  justify-content: center;
  width: 100%;
  margin: var(--s-4) 0 0;
}
.au-catalog-seo {
  margin-top: var(--s-6);
  max-width: 42rem;
}
.au-pager-more {
  display: flex;
  justify-content: center;
  width: 100%;
}
.au-pager-more .btn[aria-busy="true"] {
  pointer-events: none;
  opacity: 0.7;
}

/* Hero */
/* @cct-first hero */
.au-hero {
  --au-hero-pad: 3.5rem;
  --au-hero-min: min(78vh, 720px);
  position: relative;
  overflow: hidden;
  min-height: var(--au-hero-min);
  display: flex;
  align-items: center;
  padding: var(--au-hero-pad) 0;
}
.au-hero-deck--no-pad-top .au-hero {
  padding-top: 0;
}
.au-hero-deck--wide .au-hero {
  min-height: calc(var(--au-hero-min) + var(--cct-header-stack, var(--header-h)));
  padding-top: calc(var(--au-hero-pad) + var(--cct-header-stack, var(--header-h)));
}
.au-hero-deck--wide.au-hero-deck--no-pad-top .au-hero {
  padding-top: var(--cct-header-stack, var(--header-h));
}
.au-hero__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  /* solid fallback first — if a token is invalid, gradient alone can wipe the fill */
  background-color: var(--brand-700);
  background-image:
    radial-gradient(120% 80% at 80% 20%, var(--brand-300) 0%, transparent 55%),
    linear-gradient(135deg, var(--brand-700), var(--brand-500) 55%, var(--brand-400));
}
.au-hero__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .2;
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.24'/%3E%3C/svg%3E");
}
.au-hero--light .au-hero__bg {
  background:
    radial-gradient(90% 70% at 100% 0%, var(--brand-100), transparent 50%),
    var(--c-page);
}
.au-hero--light .au-hero__bg::after { opacity: .08; }
.au-hero--video .au-hero__bg {
  background-color: #0E1015;
  background-image: none;
}
.au-hero > .container,
.au-hero > .container-fluid,
.au-hero > .container-sm,
.au-hero > .container-md,
.au-hero > .container-lg,
.au-hero > .container-xl {
  position: relative;
  z-index: 1;
  width: 100%;
}
.au-hero > .container-xxl,
.au-hero > .in {
  position: relative;
  z-index: 1;
}

/* Background modes via data-bg-view (desktop data-bg + mobile override → JS) */
.au-hero {
  --au-dim-a: .55;
  --au-dim-b: .35;
  --au-dim-c: .15;
}
.au-hero[data-dim="0"],
.au-hero[data-dim="none"],
.au-hero[data-hero-dim="none"] { --au-dim-a: 0; --au-dim-b: 0; --au-dim-c: 0; }
.au-hero[data-dim="1"],
.au-hero[data-dim="soft"],
.au-hero[data-hero-dim="soft"] { --au-dim-a: .35; --au-dim-b: .2; --au-dim-c: .08; }
.au-hero[data-dim="2"],
.au-hero[data-dim="mid"],
.au-hero[data-hero-dim="mid"] { --au-dim-a: .55; --au-dim-b: .35; --au-dim-c: .15; }
.au-hero[data-dim="3"],
.au-hero[data-dim="strong"],
.au-hero[data-hero-dim="strong"] { --au-dim-a: .72; --au-dim-b: .5; --au-dim-c: .28; }
.au-hero[data-dim="4"],
.au-hero[data-dim="max"],
.au-hero[data-hero-dim="max"] { --au-dim-a: .88; --au-dim-b: .7; --au-dim-c: .45; }

.au-hero__photo,
.au-hero__video,
.au-hero__embed {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: none;
}
/* Wide screens are shorter than 16:9. Two classes beat the grouped center rule,
   including a deferred copy of aurora.css that still says center. */
.au-hero .au-hero__photo {
  object-position: center top;
}
.au-hero__bg > picture {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}
.au-hero__photo--m { display: none; }
.au-hero__video {
  pointer-events: none;
}
.au-hero__embed {
  border: 0;
}
.au-hero[data-bg-view="image"] .au-hero__photo:not(.au-hero__photo--m) { display: block; }
.au-hero[data-bg-view="image"] .au-hero__video,
.au-hero[data-bg-view="image"] .au-hero__embed { display: none; }
@media (max-width: 767.98px) {
  .au-hero[data-bg-view="image"].au-hero--m-alt .au-hero__photo:not(.au-hero__photo--m):not(.au-hero__photo--art) { display: none; }
  .au-hero[data-bg-view="image"].au-hero--m-alt .au-hero__photo--m { display: block; }
  .au-hero[data-bg-view="image"].au-hero--m-alt .au-hero__photo--art { display: block; }
}
.au-hero[data-bg-view="image"] .au-hero__bg {
  background-color: #0E1015;
  background-image: none;
}
.au-hero[data-bg-view="image"] .au-hero__bg::after,
.au-hero[data-bg-view="video"] .au-hero__bg::after {
  opacity: 1;
  mix-blend-mode: normal;
  background-image: none;
  background: linear-gradient(
    105deg,
    rgb(10 12 20 / var(--au-dim-a)) 0%,
    rgb(10 12 20 / var(--au-dim-b)) 48%,
    rgb(10 12 20 / var(--au-dim-c)) 100%
  );
}
.au-hero[data-bg-view="video"] .au-hero__photo { display: none; }
.au-hero[data-bg-view="video"] .au-hero__video,
.au-hero[data-bg-view="video"] .au-hero__embed { display: block; }
.au-hero[data-bg-view="video"] .au-hero__bg {
  background-color: #0E1015;
  background-image: none;
}
.au-hero[data-bg-view="gradient"] .au-hero__photo,
.au-hero[data-bg-view="gradient"] .au-hero__video,
.au-hero[data-bg-view="gradient"] .au-hero__embed { display: none; }
.au-hero[data-bg-view="gradient"] .au-hero__bg {
  background-color: var(--brand-700);
  background-image:
    radial-gradient(120% 80% at 80% 20%, var(--brand-300) 0%, transparent 55%),
    linear-gradient(135deg, var(--brand-700), var(--brand-500) 55%, var(--brand-400));
}
.au-hero[data-bg-view="gradient"] .au-hero__bg::after {
  opacity: .2;
  mix-blend-mode: overlay;
}

/* Solid color bg (CMS: no picture → color; --hero-bg-color / --hero-mobile-bg) */
.au-hero[data-bg-view="color"] .au-hero__photo,
.au-hero[data-bg-view="color"] .au-hero__video,
.au-hero[data-bg-view="color"] .au-hero__embed { display: none; }
.au-hero[data-bg-view="color"] .au-hero__bg {
  background-color: var(--hero-bg-color, var(--brand-700));
  background-image: none;
}
.au-hero[data-bg-view="color"] .au-hero__bg::after {
  opacity: .2;
  mix-blend-mode: overlay;
}
@media (max-width: 767.98px) {
  .au-hero[data-bg-view="color"] .au-hero__bg {
    background-color: var(--hero-mobile-bg, var(--hero-bg-color, var(--brand-800)));
  }
}

/* Multi-slide hero deck — horizontal slide (like product carousel), not crossfade/zoom */
.au-hero-deck {
  position: relative;
}
.au-hero-deck--multi {
  overflow: hidden;
}
.au-hero-deck--multi,
.au-hero-deck--multi > .au-hero {
  touch-action: pan-y;
}
.au-hero-deck--multi > .au-hero {
  transition: none;
}
.au-hero-deck--multi > .au-hero[hidden],
.au-hero-deck--multi > .au-hero:not(.is-active) {
  display: block !important;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  width: 100%;
  pointer-events: none;
  visibility: hidden;
  z-index: 0;
  transform: translate3d(100%, 0, 0);
}
.au-hero-deck--multi > .au-hero.is-active {
  position: relative;
  transform: translate3d(0, 0, 0);
  visibility: visible;
  pointer-events: auto;
  z-index: 1;
}
/* In-flight slide classes (set by Aurora.HeroDeck) */
.au-hero-deck--multi > .au-hero.is-sliding {
  visibility: visible;
  transition: transform .55s cubic-bezier(.22, 1, .36, 1);
  will-change: transform;
}
.au-hero-deck--multi > .au-hero.is-slide-from-end {
  transform: translate3d(100%, 0, 0);
  z-index: 2;
}
.au-hero-deck--multi > .au-hero.is-slide-from-start {
  transform: translate3d(-100%, 0, 0);
  z-index: 2;
}
.au-hero-deck--multi > .au-hero.is-slide-to-start {
  transform: translate3d(-100%, 0, 0);
  z-index: 1;
}
.au-hero-deck--multi > .au-hero.is-slide-to-end {
  transform: translate3d(100%, 0, 0);
  z-index: 1;
}
.au-hero-deck--multi > .au-hero.is-active.is-sliding:not(.is-slide-from-end):not(.is-slide-from-start) {
  transform: translate3d(0, 0, 0);
  z-index: 2;
}
@media (prefers-reduced-motion: reduce) {
  .au-hero-deck--multi > .au-hero,
  .au-hero-deck--multi > .au-hero.is-sliding {
    transition: none !important;
    transform: none !important;
  }
}
.au-hero-dots {
  --au-hero-dots-inset: 1.25rem;
  position: absolute;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: .55rem;
  padding: .55rem .75rem;
  margin: 0;
  background: rgb(10 12 20 / 0.35);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-radius: var(--r-md);
}
.au-hero-dots--horizontal {
  left: 50%;
  bottom: var(--au-hero-dots-inset);
  transform: translateX(-50%);
  flex-direction: row;
}
.au-hero-dots--vertical,
.au-hero-dots--vertical-right {
  top: 50%;
  right: var(--au-hero-dots-inset);
  left: auto;
  transform: translateY(-50%);
  flex-direction: column;
}
.au-hero-dots--vertical-left {
  top: 50%;
  left: var(--au-hero-dots-inset);
  right: auto;
  transform: translateY(-50%);
  flex-direction: column;
}
.au-hero-dots__dot {
  width: .72rem;
  height: .72rem;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgb(255 255 255 / .45);
  box-shadow: 0 0 0 1px rgb(0 0 0 / .1);
  cursor: pointer;
  transition: background .25s ease, transform .25s ease;
}
.au-hero-dots__dot.is-active,
.au-hero-dots__dot[aria-selected="true"] {
  background: var(--brand-500, var(--brand));
  box-shadow: none;
  transform: scale(1.15);
}
@media (prefers-reduced-motion: reduce) {
  .au-hero-dots__dot {
    transition: none;
  }
  .au-hero-dots__dot.is-active,
  .au-hero-dots__dot[aria-selected="true"] {
    transform: none;
  }
}

.au-hero__copy {
  color: #fff;
  max-width: min(var(--t-hero-title-measure), 100%);
  text-shadow: 0 1px 2px rgb(0 0 0 / .18);
}
.au-hero--light .au-hero__copy {
  color: var(--c-fg);
  text-shadow: none;
}
.au-hero__copy .lead {
  color: rgb(255 255 255 / .88);
  max-width: 42ch;
  margin-bottom: 1.35rem;
  line-height: 1.45;
}
.au-hero--light .au-hero__copy .lead { color: var(--c-fg-2); }
.au-hero__title {
  font-size: var(--t-hero-title);
  line-height: 1.1;
  letter-spacing: var(--ls-display);
  margin: 1rem 0 1.1rem;
  max-width: min(var(--t-hero-title-measure), 100%);
}
.au-hero__media {
  --glass-bg: rgb(255 255 255 / .05);
  --glass-border: rgb(255 255 255 / .4);
  --glass-shine: rgb(255 255 255 / .55);
  --glass-shadow:
    0 10px 32px rgb(0 0 0 / .1),
    inset 0 1px 0 rgb(255 255 255 / .55),
    inset 0 -1px 0 rgb(255 255 255 / .05);

  --au-hero-media-inset: 4%;

  position: relative;
  aspect-ratio: 1;
  max-width: 420px;
  margin-inline: auto;
  width: 100%;
  border-radius: var(--r-xl);
  display: grid;
  place-items: center;
  padding: var(--au-hero-media-inset);
  overflow: hidden;

  /*
    Liquid Glass: сильный blur «растворяет» детали фона (ТВ и т.п.),
    заливка остаётся слабой — без молочной тяжести.
  */
  background-color: var(--glass-bg);
  background-image:
    linear-gradient(
      160deg,
      rgb(255 255 255 / .14) 0%,
      rgb(255 255 255 / .03) 42%,
      rgb(255 255 255 / .01) 100%
    );
  border: 1px solid var(--glass-border);
  box-shadow: var(--glass-shadow);
  backdrop-filter: blur(22px) saturate(1.25);
  -webkit-backdrop-filter: blur(22px) saturate(1.25);
}

.au-hero__media::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  z-index: 1;
  background:
    radial-gradient(75% 48% at 14% -2%, var(--glass-shine), transparent 60%),
    linear-gradient(180deg, rgb(255 255 255 / .1), transparent 30%);
  opacity: .55;
}

@media (max-width: 991.98px) {
  .au-hero[data-hero-hide-media-m="1"] .col-lg-5:has(.au-hero__media),
  .au-hero[data-hero-hide-media-m="1"] .au-hero__media {
    display: none;
  }
}

.au-hero__media img {
  position: relative;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: drop-shadow(0 16px 22px rgb(0 0 0 / .32));
  border-radius: 0;
  background: transparent;
}
.au-hero__media img[src$=".svg"] {
  object-fit: contain;
  filter: none;
}

.au-hero__media--photo {
  padding: 0;
  overflow: hidden;
}
.au-hero__media--photo img {
  object-fit: cover;
  filter: none;
  border-radius: inherit;
}
.au-hero__media--photo::before { opacity: .25; }

.au-hero--light .au-hero__media {
  --glass-bg: rgb(255 255 255 / .14);
  --glass-border: rgb(255 255 255 / .5);
  backdrop-filter: blur(6px) saturate(1.1);
  -webkit-backdrop-filter: blur(6px) saturate(1.1);
}

/* light hero + фото/видео фон: светлый текст */
.au-hero--light[data-bg-view="image"] .au-hero__copy,
.au-hero--light[data-bg-view="image"] .au-hero__copy .lead,
.au-hero--light[data-bg-view="video"] .au-hero__copy,
.au-hero--light[data-bg-view="video"] .au-hero__copy .lead {
  color: #fff;
  text-shadow: 0 1px 2px rgb(0 0 0 / .22);
}
.au-hero--light[data-bg-view="image"] .au-eyebrow,
.au-hero--light[data-bg-view="image"] .small,
.au-hero--light[data-bg-view="video"] .au-eyebrow,
.au-hero--light[data-bg-view="video"] .small {
  color: rgb(255 255 255 / .78) !important;
}
.au-hero--light[data-bg-view="image"] .btn-outline-primary,
.au-hero--light[data-bg-view="video"] .btn-outline-primary {
  --bs-btn-color: #fff;
  --bs-btn-border-color: rgb(255 255 255 / .55);
  --bs-btn-hover-bg: rgb(255 255 255 / .12);
  --bs-btn-hover-border-color: #fff;
  --bs-btn-hover-color: #fff;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: rgb(255 255 255 / .22);
  --bs-btn-active-border-color: #fff;
}
.au-hero--light[data-bg-view="gradient"] .au-hero__copy,
.au-hero--light[data-bg-view="gradient"] .au-hero__copy .lead {
  color: var(--c-fg);
  text-shadow: none;
}
.au-hero--light[data-bg-view="gradient"] .au-eyebrow,
.au-hero--light[data-bg-view="gradient"] .small {
  color: var(--c-fg-3) !important;
}
.au-hero--light[data-bg-view="gradient"] .btn-outline-primary {
  --bs-btn-color: var(--brand-600);
  --bs-btn-border-color: var(--brand-500);
  --bs-btn-hover-bg: var(--brand-600);
  --bs-btn-hover-border-color: var(--brand-600);
  --bs-btn-hover-color: #fff;
  --bs-btn-active-color: var(--brand-fg);
  --bs-btn-active-bg: var(--brand-700);
  --bs-btn-active-border-color: var(--brand-700);
}
.au-hero__cta {
  --bs-btn-color: var(--au-hero-cta-fg, #fff);
  --bs-btn-bg: var(--au-hero-cta, var(--brand-600));
  --bs-btn-border-color: var(--au-hero-cta, var(--brand-600));
  --bs-btn-hover-color: var(--au-hero-cta-fg, #fff);
  --bs-btn-hover-bg: color-mix(in oklab, var(--au-hero-cta, var(--brand-600)) 88%, black);
  --bs-btn-hover-border-color: color-mix(in oklab, var(--au-hero-cta, var(--brand-600)) 88%, black);
  --bs-btn-active-color: var(--au-hero-cta-fg, #fff);
  --bs-btn-active-bg: color-mix(in oklab, var(--au-hero-cta, var(--brand-600)) 78%, black);
  --bs-btn-active-border-color: color-mix(in oklab, var(--au-hero-cta, var(--brand-600)) 78%, black);
  background-color: var(--bs-btn-bg);
  border-color: var(--bs-btn-border-color);
  color: var(--bs-btn-color);
}
.au-hero__cta:hover,
.au-hero__cta:focus-visible {
  background-color: var(--bs-btn-hover-bg);
  border-color: var(--bs-btn-hover-border-color);
  color: var(--bs-btn-hover-color);
}
.au-hero__cta:active {
  background-color: var(--bs-btn-active-bg);
  border-color: var(--bs-btn-active-border-color);
  color: var(--bs-btn-active-color);
}

.au-hero--expert .au-hero__media {
  border-radius: 50%;
  max-width: 340px;
  padding: .55rem;
}
.au-hero--expert .au-hero__media img {
  border-radius: 50%;
  object-fit: cover;
  filter: none;
}

.au-hero[data-bg-view="gradient"] .au-hero__media {
  --glass-bg: rgb(255 255 255 / .07);
}

/* Review toolbar: фон hero */
.au-bg-tools {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 4px;
}
.au-bg-tools .btn { min-height: 32px; font-size: var(--t-xs); }
.au-hero__price {
  display: flex;
  align-items: baseline;
  gap: 1rem;
  flex-wrap: wrap;
  margin: 0 0 1.5rem;
}
.au-hero__now {
  font-family: var(--f-display);
  font-size: var(--t-metric-primary);
  font-weight: 800;
}
.au-hero__old {
  font-size: var(--t-lead);
  text-decoration: line-through;
  opacity: .55;
}

.au-cd {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin: 1.25rem 0;
}
.au-cd__cell {
  min-width: 72px;
  padding: .75rem 1rem;
  border-radius: var(--r-md);
  background: rgb(0 0 0 / .28);
  text-align: center;
  backdrop-filter: blur(6px);
}
/* Phone / узкий promo: ровная сетка 2×2, без «сироты» секунд */
@media (max-width: 575.98px) {
  .au-cd {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .5rem;
  }
  .au-cd__cell {
    min-width: 0;
    width: auto;
    padding: .65rem .45rem;
  }
  .au-promo .au-cd {
    gap: .45rem;
  }
}
.au-hero--light .au-cd__cell { background: var(--tint-2); }
.au-cd__val {
  display: block;
  font-family: var(--f-num);
  font-size: var(--t-timer);
  font-weight: 600;
  line-height: 1.1;
}
.au-cd__lbl {
  font-size: var(--t-eyebrow);
  text-transform: uppercase;
  letter-spacing: .06em;
  opacity: .7;
}
.au-cd__lbl--short { display: none; }
.au-cd--card,
.au-cd--detail {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .35rem;
  margin: .5rem 0 0;
  min-width: 0;
  container-type: inline-size;
  container-name: au-cd-card;
}
.au-cd--card .au-cd__cell,
.au-cd--detail .au-cd__cell {
  min-width: 0;
  overflow: hidden;
  padding: var(--s-1) var(--s-2);
  background: var(--tint-2);
  backdrop-filter: none;
}
.au-cd--card .au-cd__val {
  font-size: var(--t-timer-card);
}
.au-cd--detail .au-cd__val {
  font-size: var(--t-timer-sm);
}
/* Card/QV: short units by default so 4 cells never spill. Full words only when the strip is wide. */
.au-cd--card .au-cd__lbl,
.au-cd--detail .au-cd__lbl {
  display: block;
  max-width: 100%;
  overflow: hidden;
  white-space: nowrap;
  text-transform: none;
  letter-spacing: 0;
  font-size: var(--t-chip-compact);
}
.au-cd--card .au-cd__lbl--full,
.au-cd--detail .au-cd__lbl--full {
  display: none;
}
.au-cd--card .au-cd__lbl--short,
.au-cd--detail .au-cd__lbl--short {
  display: block;
}
/* Hoisted: nested @container inside @media is dropped by some engines. */
@supports (container-type: inline-size) {
  @container au-cd-card (min-width: 14rem) {
    .au-cd--card .au-cd__lbl--full,
    .au-cd--detail .au-cd__lbl--full {
      display: block;
    }
    .au-cd--card .au-cd__lbl--short,
    .au-cd--detail .au-cd__lbl--short {
      display: none;
    }
  }
}
.au-predict-host:empty {
  display: none;
}
.au-predict {
  margin: var(--s-3) 0;
  padding: var(--s-3) var(--s-4);
  border-radius: var(--r-md);
  border: 1px solid var(--c-line);
  background: var(--tint-2);
}
.au-predict:empty {
  display: none;
}
.au-qv .au-predict {
  margin: var(--s-3) 0 0;
}
.au-cart-main .au-predict {
  margin: 0 0 var(--s-3);
}
.au-cart-page .au-cart-main {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  min-width: 0;
}
.au-cart-page .au-cart-main .au-predict {
  margin: 0;
}
.au-predict__text {
  margin: 0;
  font-size: var(--t-sm);
  line-height: 1.4;
  color: var(--c-fg);
}
.au-sale-actions,
.au-qv-stores--frame {
  margin: var(--s-3) 0 0;
  padding: var(--s-3) var(--s-4);
  border-radius: var(--r-md);
  border: 0;
  background: transparent;
  min-width: 0;
}
.au-qv .au-sale-actions,
.au-qv .au-qv-stores--frame {
  margin: var(--s-3) 0 0;
}
.au-qv .au-qv-stores--frame {
  padding-left: 0;
  padding-right: 0;
}
.au-sale-actions__title,
.au-qv-stores--frame .au-qv-stores__title,
.au-qv-stores--tab .au-qv-stores__title,
.au-qv-buy-specs__title {
  margin: 0 0 var(--s-2);
  font-size: var(--t-sm);
  font-weight: 600;
  line-height: 1.3;
  color: var(--c-fg);
}
.au-sale-actions__list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.au-sale-actions__item {
  display: flex;
  align-items: center;
  gap: var(--s-2);
  font-size: var(--t-sm);
  line-height: 1.4;
  color: var(--c-fg);
}
.au-sale-actions__item + .au-sale-actions__item {
  margin-top: var(--s-1);
}
.au-sale-actions__icon {
  display: grid;
  place-items: center;
  width: 1em;
  height: 1em;
  flex: 0 0 1em;
  align-self: center;
  font-size: var(--t-body);
  color: var(--brand-600);
}
.au-sale-actions__icon svg,
.au-sale-actions__icon img,
.au-sale-actions__icon .bi {
  display: block;
  width: 1em;
  height: 1em;
  max-width: 1em;
  max-height: 1em;
  object-fit: contain;
}
.au-sale-actions__icon svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.au-sale-actions__icon .bi {
  font-size: 1em;
  line-height: 1;
}
.au-sale-actions__text {
  min-width: 0;
}
.au-sale-actions__gifts {
  margin: var(--s-3) 0 0;
  min-width: 0;
}
/* Deferred gift shell stays in the DOM for ajax. Until it has rows, it is not a box:
   a grid/flex parent would otherwise keep a gap, and the gifts margin would stack on it.
   The Bitrix include wrapper around the shell is the same kind of empty item. */
[data-entity="parent-container"]:has(> [data-entity="header"][data-showed="false"]) {
  display: none;
  margin: 0;
}
.au-qv__info > :has(> [data-entity="parent-container"] > [data-entity="header"][data-showed="false"]) {
  display: none;
}
.au-sale-actions__gifts .au-catalog-head {
  align-items: center;
  margin: 0 0 var(--s-2);
  gap: var(--s-2);
}
.au-sale-actions__gifts .au-catalog-head__text {
  flex: 1 1 auto;
  min-width: 0;
  max-width: none;
}
.au-sale-actions__gift-title {
  margin: 0;
  font-size: var(--t-sm);
  font-weight: 600;
  line-height: 1.3;
  color: var(--c-fg);
}
.au-sale-actions__gift-feed {
  margin: 0;
  padding: 0;
  min-width: 0;
}
.au-sale-actions__gift-box {
  min-width: 0;
}
.au-sale-actions__gifts .au-catalog-panel,
.au-sale-actions__gifts .carousel,
.au-sale-actions__gifts .carousel-inner,
.au-sale-actions__gifts [data-cct-slider-track] {
  min-width: 0;
}
.au-pc--mini {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  gap: var(--s-1);
  min-width: 0;
}
.au-pc--mini .au-pc__media-wrap {
  width: 100%;
  min-width: 0;
}
.au-pc--mini .au-pc__name {
  margin: 0;
  min-width: 0;
  max-width: 100%;
  font-size: var(--t-xs);
  font-weight: 400;
  line-height: var(--lh-head);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  overflow-wrap: anywhere;
  word-break: break-word;
  min-height: calc(2 * var(--lh-head) * 1em);
  max-height: calc(2 * var(--lh-head) * 1em);
  flex: 0 0 auto;
}
.au-pc--mini .au-pc__actions {
  margin-top: var(--s-1);
  flex-shrink: 0;
}
.au-pc--mini .au-pc__actions .btn {
  width: 100%;
  padding: .2rem .4rem;
  font-size: var(--t-xs);
  line-height: 1.2;
}
.au-pc--mini:hover {
  box-shadow: none;
}

.au-play {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  border: 0;
  background: #fff;
  color: var(--brand-700);
  display: grid;
  place-items: center;
  box-shadow: var(--sh-brand);
}
.au-play svg { width: 28px; height: 28px; fill: currentColor; margin-left: 3px; }

/* @cct-first /hero */
/* Sections — flow-root keeps first-child margin inside the painted box
   (constructor «no top pad» + heading mt-*). Not overflow:hidden — card hover. */
.au-sec {
  display: flow-root;
  padding: var(--section-pad) 0;
}
.au-sec--surface { background: var(--c-surface); }
.au-sec__lead {
  color: var(--c-fg-2);
  max-width: 62ch;
  font-size: var(--t-lead);
  line-height: var(--lh-body);
  font-weight: 400;
}
#main:has(.au-404) {
  display: flex;
  flex-direction: column;
}
.au-404 {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.au-shop-chrome + .au-sec.au-404 {
  padding-block: var(--section-pad);
}
.au-404__code {
  margin: 0 0 var(--s-3);
  color: var(--brand);
  font-family: var(--f-display);
  line-height: 0.85;
}
.au-404 .au-sec__lead {
  margin-inline: auto;
}
/* Optional section head chrome: gap only between rendered nodes (no mt-* holes). */
.au-feats-head,
.au-steps-head,
.au-svc-head__text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--s-2);
}
.au-feats-head,
.au-steps-head {
  margin-bottom: var(--s-8);
}
.au-svc-head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--s-5);
  width: 100%;
  margin-bottom: var(--s-8);
}
.au-svc-head__text {
  max-width: 100%;
}
.au-svc-head .au-tabs,
.au-svc-head .au-svc-head__slider {
  max-width: 100%;
}
.au-feats-head.text-center,
.au-steps-head.text-center {
  align-items: center;
  text-align: center;
}
.au-feats-head > *,
.au-steps-head > *,
.au-svc-head__text > * {
  margin-top: 0;
  margin-bottom: 0;
}
.au-feats-head .au-sec__lead.mx-auto,
.au-steps-head .au-sec__lead.mx-auto {
  margin-inline: auto;
}

/* Value */
/* Value / УТП deck — horizontal slide (same motion as hero deck) + side arrows */
.au-value-deck {
  position: relative;
}
.au-value-deck__track {
  position: relative;
}
.au-value-deck--multi .au-value-deck__track {
  display: grid;
  overflow: hidden;
}
.au-value-deck__head .au-eyebrow {
  min-width: 0;
}
.au-value-deck--multi .au-value-slide {
  grid-area: 1 / 1;
  transition: none;
}
.au-value-deck--multi .au-value-slide[hidden],
.au-value-deck--multi .au-value-slide:not(.is-active) {
  display: block !important;
  position: relative;
  width: 100%;
  pointer-events: none;
  visibility: hidden;
  z-index: 0;
  transform: translate3d(100%, 0, 0);
}
.au-value-deck--multi .au-value-slide.is-active {
  position: relative;
  transform: translate3d(0, 0, 0);
  visibility: visible;
  pointer-events: auto;
  z-index: 1;
}
.au-value-deck--multi .au-value-slide.is-sliding {
  visibility: visible;
  transition: transform .55s cubic-bezier(.22, 1, .36, 1);
  will-change: transform;
}
.au-value-deck--multi .au-value-slide.is-slide-from-end {
  transform: translate3d(100%, 0, 0);
  z-index: 2;
}
.au-value-deck--multi .au-value-slide.is-slide-from-start {
  transform: translate3d(-100%, 0, 0);
  z-index: 2;
}
.au-value-deck--multi .au-value-slide.is-slide-to-start {
  transform: translate3d(-100%, 0, 0);
  z-index: 1;
}
.au-value-deck--multi .au-value-slide.is-slide-to-end {
  transform: translate3d(100%, 0, 0);
  z-index: 1;
}
.au-value-deck--multi .au-value-slide.is-active.is-sliding:not(.is-slide-from-end):not(.is-slide-from-start) {
  transform: translate3d(0, 0, 0);
  z-index: 2;
}
@media (prefers-reduced-motion: reduce) {
  .au-value-deck--multi .au-value-slide,
  .au-value-deck--multi .au-value-slide.is-sliding {
    transition: none !important;
    transform: none !important;
  }
}

/* Video embed deck — same slide motion as value; no slide autoplay */
.au-video-deck {
  position: relative;
}
.au-video-deck__track {
  position: relative;
}
.au-video-deck--multi .au-video-deck__track {
  display: grid;
  overflow: hidden;
}
.au-video-deck__head .au-eyebrow {
  min-width: 0;
}
.au-video-deck--multi .au-video-slide {
  grid-area: 1 / 1;
  transition: none;
}
.au-video-deck--multi .au-video-slide[hidden],
.au-video-deck--multi .au-video-slide:not(.is-active) {
  display: block !important;
  position: relative;
  width: 100%;
  pointer-events: none;
  visibility: hidden;
  z-index: 0;
  transform: translate3d(100%, 0, 0);
}
.au-video-deck--multi .au-video-slide.is-active {
  position: relative;
  transform: translate3d(0, 0, 0);
  visibility: visible;
  pointer-events: auto;
  z-index: 1;
}
.au-video-deck--multi .au-video-slide.is-sliding {
  visibility: visible;
  transition: transform .55s cubic-bezier(.22, 1, .36, 1);
  will-change: transform;
}
.au-video-deck--multi .au-video-slide.is-slide-from-end {
  transform: translate3d(100%, 0, 0);
  z-index: 2;
}
.au-video-deck--multi .au-video-slide.is-slide-from-start {
  transform: translate3d(-100%, 0, 0);
  z-index: 2;
}
.au-video-deck--multi .au-video-slide.is-slide-to-start {
  transform: translate3d(-100%, 0, 0);
  z-index: 1;
}
.au-video-deck--multi .au-video-slide.is-slide-to-end {
  transform: translate3d(100%, 0, 0);
  z-index: 1;
}
.au-video-deck--multi .au-video-slide.is-active.is-sliding:not(.is-slide-from-end):not(.is-slide-from-start) {
  transform: translate3d(0, 0, 0);
  z-index: 2;
}
@media (prefers-reduced-motion: reduce) {
  .au-video-deck--multi .au-video-slide,
  .au-video-deck--multi .au-video-slide.is-sliding {
    transition: none !important;
    transform: none !important;
  }
}

.au-value__insight {
  font-size: var(--t-sm);
  font-weight: 600;
  color: var(--brand-700);
  padding: .75rem 1rem;
  background: var(--tint-2);
  border-radius: var(--r-md);
  width: fit-content;
}
/* Value visual switch — demo */
.au-value-switch {
  display: none;
  position: relative;
  z-index: 1;
  background: var(--c-page);
  border-bottom: 1px solid var(--c-line);
  padding: .75rem 0;
}
@media (min-width: 768px) {
  .au-value-switch { display: block; }
}
.au-value-editor {
  margin-top: .35rem;
  padding: .85rem 1rem;
  border: 1px solid var(--c-line);
  border-radius: var(--r-md);
  background: var(--c-surface);
}
.au-value-editor__meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .65rem .85rem;
  margin-bottom: .75rem;
}
@media (max-width: 991.98px) {
  .au-value-editor__meta { grid-template-columns: 1fr 1fr; }
  .au-value-editor__field--wide { grid-column: 1 / -1; }
}
.au-value-editor__field {
  display: flex;
  flex-direction: column;
  gap: .2rem;
  margin: 0;
  font-size: var(--t-eyebrow);
  font-weight: 600;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: var(--c-fg-2);
}
.au-value-editor__field .form-control {
  text-transform: none;
  letter-spacing: 0;
  font-weight: 500;
  font-size: .875rem;
}
.au-value-editor__points {
  display: flex;
  flex-direction: column;
  gap: .45rem;
}
.au-value-editor__row {
  display: grid;
  grid-template-columns: 1.5rem minmax(0, 1.4fr) minmax(0, .8fr);
  gap: .55rem;
  align-items: end;
}
.au-value-editor__idx {
  font-size: .75rem;
  font-weight: 700;
  color: var(--c-fg-3, var(--c-fg-2));
  padding-bottom: .45rem;
}
.au-value-editor__note {
  margin: .7rem 0 0;
  font-size: .75rem;
  color: var(--c-fg-2);
}
.au-value-editor__note code {
  font-size: .7rem;
  color: var(--brand-700);
}

.au-dash {
  border-radius: var(--r-xl);
  background: linear-gradient(160deg, var(--brand-600), var(--brand-800));
  color: #fff;
  width: 100%;
  max-width: 100%;
  min-height: 0;
  box-shadow: var(--sh-2);
  position: relative;
  overflow: hidden;
  aspect-ratio: 4/3;
}
@media (min-width: 576px) {
  .au-dash { min-height: 300px; }
}
.au-dash[data-visual="photo"] {
  background: #0E1015;
}
.au-dash__photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.au-dash__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  gap: .45rem;
  padding: 1.75rem;
  background: linear-gradient(180deg, rgb(10 12 20 / .15) 20%, rgb(10 12 20 / .78) 100%);
}
/* чип: кегль как у заголовка карточки преимуществ («Запуск за выходные») */
.au-dash__chip {
  display: inline-flex;
  align-items: center;
  margin: 0;
  padding: .45rem .95rem;
  border-radius: var(--r-pill);
  font-family: var(--f-display);
  font-size: var(--t-dash-chip);
  font-weight: 700;
  letter-spacing: -.01em;
  text-transform: uppercase;
  background: color-mix(in oklab, var(--brand-600) 92%, transparent);
  color: var(--brand-fg);
  line-height: 1.2;
}
.au-dash[data-visual="photo"] .au-dash__chip {
  background: color-mix(in oklab, var(--brand-600) 92%, transparent);
}
.au-dash:not([data-visual="photo"]) .au-dash__chip {
  background: rgb(255 255 255 / .18);
  color: #fff;
}
.au-dash__metric {
  font-family: var(--f-display);
  font-size: var(--t-metric-hero);
  font-weight: 800;
  letter-spacing: var(--ls-display);
  line-height: .95;
  margin: 0;
  color: #fff;
}
.au-dash__sub {
  margin: 0;
  font-size: var(--t-sm);
  color: rgb(255 255 255 / .78);
  max-width: 28ch;
}

/* Chart panel — визуал занимает почти весь блок */
.au-dash__chart {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: .55rem;
  padding: 1rem 1.1rem .9rem;
  z-index: 1;
}
.au-dash__chart-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .4rem .75rem;
}
.au-dash__chart-head .au-dash__metric {
  font-size: var(--t-metric-tertiary);
}
.au-dash__chart-canvas {
  position: relative;
  min-height: 0;
  height: 100%;
  display: grid;
  place-items: stretch;
}
.au-dash__chart-canvas svg {
  width: 100%;
  height: 100%;
  min-height: 180px;
  overflow: visible;
}
.au-dash__chart-foot {
  font-size: .8rem;
  color: rgb(255 255 255 / .78);
  margin: 0;
}

/* column / bar grow */
.au-dash .au-bar,
.au-dash .au-hbar {
  fill: color-mix(in oklab, var(--brand-300) 82%, white);
}
.au-dash .au-bar {
  transform-box: fill-box;
  transform-origin: bottom center;
  transform: scaleY(0.02);
}
.au-dash.is-in .au-bar {
  animation: au-bar-in .85s var(--e-soft) forwards;
}
.au-dash .au-hbar {
  transform-box: fill-box;
  transform-origin: left center;
  transform: scaleX(0.02);
}
.au-dash.is-in .au-hbar {
  animation: au-hbar-in .85s var(--e-soft) forwards;
}
.au-dash .au-donut-arc {
  stroke-dasharray: var(--len);
  stroke-dashoffset: var(--len);
}
.au-dash.is-in .au-donut-arc {
  animation: au-donut-in 1s var(--e-soft) forwards;
}
.au-dash .au-line-path {
  stroke-dasharray: var(--len);
  stroke-dashoffset: var(--len);
}
.au-dash.is-in .au-line-path {
  animation: au-line-in 1.1s var(--e-soft) forwards;
}
.au-dash .au-line-area {
  opacity: 0;
}
.au-dash.is-in .au-line-area {
  animation: au-fade-in .7s .35s var(--e-soft) forwards;
}
@keyframes au-bar-in {
  to { transform: scaleY(1); }
}
@keyframes au-hbar-in {
  to { transform: scaleX(1); }
}
@keyframes au-donut-in {
  to { stroke-dashoffset: var(--to); }
}
@keyframes au-line-in {
  to { stroke-dashoffset: 0; }
}
@keyframes au-fade-in {
  to { opacity: 1; }
}
.au-dash__donut-wrap {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(140px, .85fr);
  gap: .85rem 1.25rem;
  align-items: center;
  width: 100%;
  height: 100%;
  min-height: 0;
}
.au-dash__donut-wrap > svg {
  width: 100%;
  height: 100%;
  min-height: 220px;
  max-height: none;
}
.au-dash__legend {
  display: grid;
  gap: .7rem;
}
.au-dash__legend-item {
  display: flex;
  align-items: center;
  gap: .55rem;
  font-size: .95rem;
  font-weight: 600;
  color: rgb(255 255 255 / .92);
  line-height: 1.25;
}
.au-dash__legend-item i {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  flex: 0 0 auto;
}
@media (max-width: 520px) {
  .au-dash__donut-wrap {
    grid-template-columns: 1fr;
    justify-items: center;
  }
  .au-dash__legend { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .au-dash .au-bar,
  .au-dash .au-hbar,
  .au-dash .au-donut-arc,
  .au-dash .au-line-path,
  .au-dash .au-line-area {
    animation: none !important;
    transform: none !important;
    stroke-dashoffset: var(--to, 0) !important;
    opacity: 1 !important;
  }
}

/* Features — v1 карточки (восстановлено + лёгкая шлифовка) */
.au-feats {
  --feat-cols: 3;
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .au-feats[data-cols="2"] { grid-template-columns: repeat(2, 1fr); gap: 1.15rem; }
  .au-feats[data-cols="3"] { grid-template-columns: repeat(3, 1fr); gap: 1.1rem; }
  .au-feats[data-cols="4"] { grid-template-columns: repeat(4, 1fr); gap: .9rem; }
}

a.au-feat {
  color: inherit;
  text-decoration: none;
}
.au-feat {
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: .65rem;
  padding: 1.45rem 1.4rem 1.5rem;
  border-radius: var(--r-xl);
  background: var(--c-card);
  border: 1px solid color-mix(in oklab, var(--c-line) 85%, transparent);
  box-shadow: var(--sh-1);
  overflow: visible;
  opacity: 1;
}
.au-feat:hover {
  box-shadow: var(--sh-2);
  border-color: color-mix(in oklab, var(--brand-300) 55%, var(--c-line));
}
.au-feat__ic {
  width: 48px;
  height: 48px;
  border-radius: var(--r-md);
  background: var(--tint-2);
  color: var(--brand-700);
  display: grid;
  place-items: center;
  flex: 0 0 auto;
}
.au-feat__ic svg {
  width: 22px;
  height: 22px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
/* Bootstrap Icons (font) — match SVG glyph box in the same well */
.au-feat__ic .bi {
  font-size: 22px;
  line-height: 1;
  display: block;
}
.au-feat__kicker {
  font-size: var(--t-eyebrow);
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--brand-600);
}
.au-feat :is(h3, .au-feat__title) {
  font-family: var(--f-display);
  font-size: var(--t-h3);
  font-weight: 700;
  letter-spacing: var(--ls-head);
  line-height: var(--lh-head);
  margin: 0;
}
.au-feat p {
  color: var(--c-fg-2);
  font-size: var(--t-body);
  line-height: 1.5;
  margin: 0;
  max-width: none;
}
.au-feat__metric {
  font-family: var(--f-display);
  font-size: var(--t-metric-hero);
  font-weight: 800;
  letter-spacing: var(--ls-display);
  line-height: .95;
  color: var(--brand-600);
}
.au-feat--accent {
  background: linear-gradient(145deg, var(--brand-600), var(--brand-800));
  color: #fff;
  border-color: transparent;
  box-shadow: var(--sh-brand);
}
.au-feat--accent:hover {
  box-shadow: var(--sh-3);
}
.au-feat--accent p,
.au-feat--accent .au-feat__kicker { color: rgb(255 255 255 / .78); }
.au-feat--accent .au-feat__ic {
  background: rgb(255 255 255 / .14);
  color: #fff;
}
.au-feat--accent .au-feat__metric { color: #fff; }
/* ТЗ: иконка + тезис — A: стек · B: ряд (иконки = общий .au-feat__ic) */
.au-feat--thesis {
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 1.1rem;
}
.au-feat--thesis .au-feat__ic {
  margin: 0;
}
.au-feat--thesis :is(h3, .au-feat__title) {
  font-size: var(--t-accent-thesis);
  max-width: none;
  margin: 0;
  line-height: 1.2;
  letter-spacing: -.02em;
  white-space: normal;
  overflow: hidden;
  max-height: calc(1.2em * 2);
  overflow-wrap: break-word;
}
.au-feat--thesis-row {
  flex-direction: row;
  text-align: left;
  gap: 1.25rem;
  padding-inline: 1.5rem;
}
.au-feat--thesis-row :is(h3, .au-feat__title) {
  white-space: normal;
  max-width: 16ch;
  font-size: var(--t-accent-thesis-sm);
  line-height: 1.25;
}

/* base icon-row: иконка слева · текст справа (добавочные карточки при 8) */
.au-feat--icon-row {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: var(--duel-icon-gap, 2rem);
  text-align: left;
}
.au-feat--icon-row .au-feat__ic {
  margin: 0;
  flex: 0 0 auto;
}
.au-feat--icon-row .au-feat__copy {
  display: grid;
  gap: .35rem;
  min-width: 0;
}
.au-feat--icon-row :is(h3, .au-feat__title) {
  margin: 0;
}
.au-feat--icon-row p {
  margin: 0;
}

.au-feat--photo { padding: 0; gap: 0; }
.au-feat--photo .au-feat__art {
  aspect-ratio: 16/10;
  background: var(--c-card);
  overflow: hidden;
}
.au-feat--photo .au-feat__art picture {
  display: block;
  width: 100%;
  height: 100%;
}
.au-feat--photo .au-feat__art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.au-feat--photo .au-feat__body {
  display: grid;
  gap: .4rem;
  padding: 1.15rem 1.3rem 1.35rem;
}

/* Skin: duel — один язык карточек для 2 / 3 / 4 кол. (масштаб через data-cols) */
.au-feats[data-skin="duel"] {
  --duel-inset: 1.75rem;
  --duel-gap: .7rem;
  --duel-icon-gap: 2rem;
  --duel-ic: 72px;
  --duel-ic-svg: 36px;
  --duel-thesis-ic: 144px;
  --duel-thesis-svg: 72px;
  --duel-thesis-gap: 1.65rem;
  --duel-metric: clamp(2.8rem, 2rem + 2.5vw, 4rem);
  /* @2 кол. lead выше метрик; низ всё равно по иконке (flex-end) */
  --duel-lead-h: 5.5rem;
  --duel-title-h: calc(var(--feat-title-size) * 1.25 * 3);
  --duel-text-h: calc(var(--feat-text-size) * 1.45 * 3);
  /* border-box: rows + gaps + inset + 1px border × 2 */
  --duel-h: calc(var(--duel-lead-h) + var(--duel-title-h) + var(--duel-text-h) + (var(--duel-gap) * 2) + (var(--duel-inset) * 2) + 2px);
  --duel-blob: 220px;
  --duel-photo-pad: 1.15rem 1.35rem 1.25rem;
  --duel-kicker-size: .65rem;
  --feat-title-size: var(--t-card-title-lg);
  --feat-text-size: var(--t-body);
  --feat-line-clamp: 5;
  gap: 1.35rem;
}
/* сетка 3 — иконка крупнее, слоты строк фиксированы */
.au-feats[data-skin="duel"][data-cols="3"] {
  --duel-inset: 1.25rem;
  --duel-gap: .45rem; /* текст ближе к заголовку */
  --duel-icon-gap: 1.15rem;
  --duel-ic: 80px;
  --duel-ic-svg: 40px;
  --duel-thesis-ic: 80px;
  --duel-thesis-svg: 40px;
  --duel-thesis-gap: 1.1rem;
  --duel-metric: clamp(2.1rem, 1.6rem + 1.4vw, 2.85rem);
  /* lead = высота иконки → низ metric/kicker = низ иконки */
  --duel-lead-h: var(--duel-ic);
  --duel-title-h: calc(var(--feat-title-size) * 1.25 * 3);
  --duel-text-h: calc(var(--feat-text-size) * 1.45 * 3);
  --duel-blob: 160px;
  --duel-photo-pad: .9rem 1.05rem 1rem;
  --duel-kicker-size: .6rem;
  --feat-title-size: var(--t-card-title-md);
  --feat-text-size: var(--t-sm);
  --feat-line-clamp: 4;
  gap: 1.05rem;
}
/* сетка 4 */
.au-feats[data-skin="duel"][data-cols="4"] {
  --duel-inset: 1rem;
  --duel-gap: .4rem;
  --duel-icon-gap: .9rem;
  --duel-ic: 68px;
  --duel-ic-svg: 34px;
  --duel-thesis-ic: 68px;
  --duel-thesis-svg: 34px;
  --duel-thesis-gap: .85rem;
  --duel-metric: clamp(1.75rem, 1.35rem + 1vw, 2.35rem);
  --duel-lead-h: var(--duel-ic);
  --duel-title-h: calc(var(--feat-title-size) * 1.25 * 3);
  --duel-text-h: calc(var(--feat-text-size) * 1.45 * 3);
  --duel-blob: 130px;
  --duel-photo-pad: .75rem .9rem .85rem;
  --duel-kicker-size: .58rem;
  --feat-title-size: var(--t-card-title-sm);
  --feat-text-size: var(--t-xs);
  --feat-line-clamp: 3;
  gap: .85rem;
}
@media (min-width: 768px) {
  .au-feats[data-skin="duel"] {
    grid-auto-rows: var(--duel-h);
  }
  .au-feats[data-skin="duel"][data-cols="2"] { grid-template-columns: repeat(2, 1fr); }
  .au-feats[data-skin="duel"][data-cols="3"] { grid-template-columns: repeat(3, 1fr); }
  .au-feats[data-skin="duel"][data-cols="4"] { grid-template-columns: repeat(4, 1fr); }
}
.au-feats[data-skin="duel"] .au-feat {
  height: var(--duel-h);
  min-height: var(--duel-h);
  max-height: var(--duel-h);
  padding: var(--duel-inset);
  align-items: flex-start;
  text-align: left;
  gap: var(--duel-gap);
  overflow: hidden;
}
/*
 * Стек: три ФИКСИрованных ряда одинаковой высоты во всех карточках.
 * justify-content:center безопасен — суммарная высота контента совпадает →
 * заголовки и первые строки текста на одной линии; gap только duel-gap.
 */
.au-feats[data-skin="duel"] .au-feat--stack {
  display: grid;
  grid-template-rows: var(--duel-lead-h) var(--duel-title-h) var(--duel-text-h);
  align-content: center;
  justify-items: stretch;
  gap: var(--duel-gap);
}
.au-feats[data-skin="duel"] .au-feat__lead {
  display: flex;
  flex-direction: column;
  /* низ metric/kicker и низ иконки — одна линия */
  justify-content: flex-end;
  align-items: flex-start;
  gap: .35rem;
  height: 100%;
  width: 100%;
  box-sizing: border-box;
  overflow: hidden;
}
.au-feats[data-skin="duel"] .au-feat__lead > .au-feat__ic {
  flex: 0 0 auto;
  margin-top: auto;
}
/* Clip at the slot — no ellipsis (line-clamp always draws …). */
.au-feats[data-skin="duel"] .au-feat--stack > :is(h3, .au-feat__title) {
  width: 100%;
  max-width: none;
  min-width: 0;
  height: 100%;
  max-height: 100%;
  margin: 0;
  overflow: hidden;
  display: block;
  white-space: normal;
  line-height: 1.25;
  overflow-wrap: break-word;
}
.au-feats[data-skin="duel"] .au-feat--stack > p {
  width: 100%;
  max-width: none;
  min-width: 0;
  height: 100%;
  max-height: 100%;
  margin: 0;
  overflow: hidden;
  display: block;
  line-height: 1.45;
  overflow-wrap: break-word;
}
.au-feats[data-skin="duel"] .au-feat__copy {
  display: grid;
  gap: var(--duel-gap);
  min-width: 0;
}
/* thesis-стек: всегда по центру (нет 3-й строки текста — иначе «уплывает» вверх) */
.au-feats[data-skin="duel"] .au-feat--thesis.au-feat--stack {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  gap: var(--duel-gap);
  grid-template-rows: none;
}
.au-feats[data-skin="duel"] .au-feat--thesis.au-feat--stack .au-feat__lead {
  height: auto;
  min-height: 0;
  max-height: none;
  align-items: center;
  justify-content: center;
}
.au-feats[data-skin="duel"] .au-feat--thesis.au-feat--stack > :is(h3, .au-feat__title) {
  height: auto;
  max-height: calc(1.2em * 2);
  width: 100%;
  max-width: none;
  text-align: center;
  white-space: normal;
  display: block;
  overflow: hidden;
  overflow-wrap: break-word;
}
/* сетка 2: крупные thesis-иконки + чуть больший зазор */
.au-feats[data-skin="duel"][data-cols="2"] .au-feat--thesis.au-feat--stack {
  gap: var(--duel-thesis-gap);
}
.au-feats[data-skin="duel"] .au-feat--thesis-row,
.au-feats[data-skin="duel"] .au-feat--icon-row {
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  text-align: left;
  gap: var(--duel-icon-gap);
}
/* единый стиль иконок на сетке; крупнее — только thesis @2 кол. */
.au-feats[data-skin="duel"] .au-feat__ic {
  width: var(--duel-ic);
  height: var(--duel-ic);
  border-radius: var(--r-lg);
  margin: 0;
  background: var(--tint-2);
  color: var(--brand-700);
  box-shadow: none;
}
.au-feats[data-skin="duel"] .au-feat__ic svg {
  width: var(--duel-ic-svg);
  height: var(--duel-ic-svg);
  stroke-width: 1.7;
}
.au-feats[data-skin="duel"] .au-feat__ic .bi {
  font-size: var(--duel-ic-svg);
}
.au-feats[data-skin="duel"][data-cols="2"] .au-feat--thesis:not(.au-feat--thesis-row) .au-feat__ic,
.au-feats[data-skin="duel"][data-cols="2"] .au-feat--thesis-row .au-feat__ic {
  width: var(--duel-thesis-ic);
  height: var(--duel-thesis-ic);
  border-radius: var(--r-xl);
}
.au-feats[data-skin="duel"][data-cols="2"] .au-feat--thesis:not(.au-feat--thesis-row) .au-feat__ic svg,
.au-feats[data-skin="duel"][data-cols="2"] .au-feat--thesis-row .au-feat__ic svg {
  width: var(--duel-thesis-svg);
  height: var(--duel-thesis-svg);
}
.au-feats[data-skin="duel"][data-cols="2"] .au-feat--thesis:not(.au-feat--thesis-row) .au-feat__ic .bi,
.au-feats[data-skin="duel"][data-cols="2"] .au-feat--thesis-row .au-feat__ic .bi {
  font-size: var(--duel-thesis-svg);
}
.au-feats[data-skin="duel"] .au-feat--thesis:not(.au-feat--thesis-row) :is(h3, .au-feat__title) {
  font-size: var(--feat-title-size);
  white-space: normal;
  max-width: none;
  width: 100%;
  margin: 0;
}
.au-feats[data-skin="duel"][data-cols="3"] .au-feat--thesis:not(.au-feat--thesis-row) :is(h3, .au-feat__title),
.au-feats[data-skin="duel"][data-cols="4"] .au-feat--thesis:not(.au-feat--thesis-row) :is(h3, .au-feat__title) {
  white-space: normal;
}
.au-feats[data-skin="duel"] .au-feat--thesis-row .au-feat__ic,
.au-feats[data-skin="duel"] .au-feat--icon-row .au-feat__ic {
  flex: 0 0 auto;
  margin: 0;
}
.au-feats[data-skin="duel"] .au-feat--thesis-row :is(h3, .au-feat__title) {
  flex: 1 1 auto;
  white-space: normal;
  max-width: none;
  margin: 0;
  padding: 0;
  width: auto;
  font-size: var(--feat-title-size);
  line-height: 1.25;
  text-align: left;
  border-left: 0;
}
.au-feats[data-skin="duel"] .au-feat__metric {
  font-size: var(--duel-metric);
  line-height: .95;
  margin: 0;
}
/* num + icon + kicker: lead row is one icon tall; kicker is a second flex item.
   Guessed px/calc still overflowed (margin-top:auto + flex:none). Let the well shrink. */
.au-feats[data-skin="duel"] .au-feat--num .au-feat__lead:has(> .au-feat__ic):has(> .au-feat__kicker) {
  justify-content: flex-start;
}
.au-feats[data-skin="duel"] .au-feat--num .au-feat__lead:has(> .au-feat__kicker) > .au-feat__ic {
  flex: 1 1 0;
  min-width: 0;
  min-height: 0;
  margin-top: 0;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  aspect-ratio: 1;
  align-self: flex-start;
  overflow: hidden;
}
.au-feats[data-skin="duel"] .au-feat--num .au-feat__lead:has(> .au-feat__kicker) > .au-feat__ic svg,
.au-feats[data-skin="duel"] .au-feat--num .au-feat__lead:has(> .au-feat__kicker) > .au-feat__ic .bi {
  width: 50%;
  height: 50%;
  font-size: unset;
  max-width: 50%;
  max-height: 50%;
}
.au-feats[data-skin="duel"] .au-feat--num .au-feat__lead > .au-feat__kicker {
  flex: 0 0 auto;
}
.au-feats[data-skin="duel"] .au-feat__lead .au-feat__kicker {
  line-height: 1.2;
  margin: 0;
}
.au-feats[data-skin="duel"] .au-feat :is(h3, .au-feat__title) {
  font-size: var(--feat-title-size);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -.02em;
  margin: 0;
}
.au-feats[data-skin="duel"] .au-feat p {
  font-size: var(--feat-text-size);
  line-height: 1.45;
  max-width: none;
  width: 100%;
  margin: 0;
}
.au-feats[data-skin="duel"] .au-feat--icon-row p,
.au-feats[data-skin="duel"] .au-feat--thesis-row :is(h3, .au-feat__title) {
  max-width: none;
}
.au-feats[data-skin="duel"] .au-feat:not(.au-feat--photo) {
  background-image: radial-gradient(
    circle at 115% 120%,
    color-mix(in oklab, var(--brand-300) 35%, transparent) 0 36%,
    transparent 46%
  );
}
.au-feats[data-skin="duel"] .au-feat--accent:not(.au-feat--photo) {
  background-image:
    radial-gradient(circle at 115% 120%, rgb(255 255 255 / .12) 0 36%, transparent 46%),
    linear-gradient(145deg, var(--brand-600), var(--brand-800));
}
.au-feats[data-skin="duel"] .au-feat::after {
  content: none;
}
.au-feats[data-skin="duel"] .au-feat--photo {
  display: block;
  padding: 0;
  gap: 0;
  border: 0;
}
.au-feats[data-skin="duel"] .au-feat--photo::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    to top,
    rgb(8 10 16 / .82) 0%,
    rgb(8 10 16 / .55) 28%,
    rgb(8 10 16 / .18) 52%,
    rgb(8 10 16 / 0) 72%
  );
}
.au-feats[data-skin="duel"] .au-feat--photo::after { display: none; }
.au-feats[data-skin="duel"] .au-feat--photo .au-feat__art {
  position: absolute;
  inset: 0;
  aspect-ratio: auto;
  height: 100%;
}
.au-feats[data-skin="duel"] .au-feat--photo .au-feat__art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.au-feats[data-skin="duel"] .au-feat--photo .au-feat__body {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  display: grid;
  justify-items: start;
  gap: .35rem;
  padding: var(--duel-photo-pad);
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  color: #fff;
  overflow: hidden;
}
.au-feats[data-skin="duel"] .au-feat--photo .au-feat__kicker {
  display: inline-flex;
  align-items: center;
  margin: 0;
  padding: .28rem .65rem;
  border-radius: var(--r-pill);
  font-size: var(--duel-kicker-size);
  letter-spacing: .08em;
  background: color-mix(in oklab, var(--brand-600) 88%, transparent);
  color: var(--brand-fg);
  text-shadow: none;
}
.au-feats[data-skin="duel"] .au-feat--photo :is(h3, .au-feat__title) {
  font-size: var(--feat-title-size);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -.02em;
  color: #fff;
  text-shadow: 0 1px 12px rgb(0 0 0 / .35);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: clip;
  max-width: 100%;
}
.au-feats[data-skin="duel"] .au-feat--photo p {
  font-size: var(--feat-text-size);
  line-height: 1.4;
  max-width: none;
  color: rgb(255 255 255 / .88);
  text-shadow: 0 1px 10px rgb(0 0 0 / .3);
  max-height: calc(1.4em * 2);
  overflow: hidden;
}
/* фото: добивает нижний ряд (span-2 / span-3 / вся ширина) */
@media (min-width: 768px) {
  .au-feats[data-skin="duel"] .au-feat--span-row {
    grid-column: 1 / -1;
  }
  .au-feats[data-skin="duel"] .au-feat--span-2 {
    grid-column: span 2;
  }
  .au-feats[data-skin="duel"] .au-feat--span-3 {
    grid-column: span 3;
  }
}
/* Фото: card = белая подложка (фото сверху); half = 1/2 (фото | текст)
   Grid attr data-photo (demo toolbar) OR per-card .au-feat--photo[data-photo] (CMS). */
.au-feats[data-skin="duel"][data-photo="card"] .au-feat--photo,
.au-feats[data-skin="duel"][data-photo="half"] .au-feat--photo,
.au-feats[data-skin="duel"] .au-feat--photo[data-photo="card"],
.au-feats[data-skin="duel"] .au-feat--photo[data-photo="half"] {
  display: flex;
  padding: 0;
  border: 1px solid color-mix(in oklab, var(--c-line) 85%, transparent);
  background: var(--c-card);
  overflow: hidden;
}
.au-feats[data-skin="duel"][data-photo="card"] .au-feat--photo::before,
.au-feats[data-skin="duel"][data-photo="half"] .au-feat--photo::before,
.au-feats[data-skin="duel"] .au-feat--photo[data-photo="card"]::before,
.au-feats[data-skin="duel"] .au-feat--photo[data-photo="half"]::before { display: none; }
.au-feats[data-skin="duel"][data-photo="card"] .au-feat--photo::after,
.au-feats[data-skin="duel"][data-photo="half"] .au-feat--photo::after,
.au-feats[data-skin="duel"] .au-feat--photo[data-photo="card"]::after,
.au-feats[data-skin="duel"] .au-feat--photo[data-photo="half"]::after {
  display: block;
  background: color-mix(in oklab, var(--brand-300) 35%, transparent);
}
.au-feats[data-skin="duel"][data-photo="card"] .au-feat--photo .au-feat__art,
.au-feats[data-skin="duel"][data-photo="half"] .au-feat--photo .au-feat__art,
.au-feats[data-skin="duel"] .au-feat--photo[data-photo="card"] .au-feat__art,
.au-feats[data-skin="duel"] .au-feat--photo[data-photo="half"] .au-feat__art {
  position: relative;
  inset: auto;
  min-height: 0;
  aspect-ratio: auto;
}
.au-feats[data-skin="duel"][data-photo="card"] .au-feat--photo .au-feat__art img,
.au-feats[data-skin="duel"][data-photo="half"] .au-feat--photo .au-feat__art img,
.au-feats[data-skin="duel"] .au-feat--photo[data-photo="card"] .au-feat__art img,
.au-feats[data-skin="duel"] .au-feat--photo[data-photo="half"] .au-feat__art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.au-feats[data-skin="duel"][data-photo="card"] .au-feat--photo .au-feat__body,
.au-feats[data-skin="duel"][data-photo="half"] .au-feat--photo .au-feat__body,
.au-feats[data-skin="duel"] .au-feat--photo[data-photo="card"] .au-feat__body,
.au-feats[data-skin="duel"] .au-feat--photo[data-photo="half"] .au-feat__body {
  position: relative;
  left: auto;
  right: auto;
  bottom: auto;
  z-index: 2;
  gap: .35rem;
  padding: var(--duel-photo-pad);
  color: inherit;
  background: var(--c-card);
}
.au-feats[data-skin="duel"][data-photo="card"] .au-feat--photo .au-feat__kicker,
.au-feats[data-skin="duel"][data-photo="half"] .au-feat--photo .au-feat__kicker,
.au-feats[data-skin="duel"] .au-feat--photo[data-photo="card"] .au-feat__kicker,
.au-feats[data-skin="duel"] .au-feat--photo[data-photo="half"] .au-feat__kicker {
  padding: 0;
  border-radius: 0;
  font-size: var(--duel-kicker-size);
  background: none;
  color: var(--brand-600);
}
.au-feats[data-skin="duel"][data-photo="card"] .au-feat--photo :is(h3, .au-feat__title),
.au-feats[data-skin="duel"][data-photo="half"] .au-feat--photo :is(h3, .au-feat__title),
.au-feats[data-skin="duel"] .au-feat--photo[data-photo="card"] :is(h3, .au-feat__title),
.au-feats[data-skin="duel"] .au-feat--photo[data-photo="half"] :is(h3, .au-feat__title) {
  color: var(--c-fg);
  text-shadow: none;
  white-space: normal;
  overflow: visible;
  text-overflow: unset;
}
.au-feats[data-skin="duel"][data-photo="card"] .au-feat--photo p,
.au-feats[data-skin="duel"][data-photo="half"] .au-feat--photo p,
.au-feats[data-skin="duel"] .au-feat--photo[data-photo="card"] p,
.au-feats[data-skin="duel"] .au-feat--photo[data-photo="half"] p {
  color: var(--c-fg-2);
  text-shadow: none;
  max-height: calc(1.4em * 3);
}

/* Белая подложка: фото сверху на всю ширину, текст снизу */
.au-feats[data-skin="duel"][data-photo="card"] .au-feat--photo,
.au-feats[data-skin="duel"] .au-feat--photo[data-photo="card"] {
  flex-direction: column;
}
.au-feats[data-skin="duel"][data-photo="card"] .au-feat--photo .au-feat__art,
.au-feats[data-skin="duel"] .au-feat--photo[data-photo="card"] .au-feat__art {
  flex: 1 1 54%;
  width: 100%;
  height: auto;
  align-self: stretch;
}
.au-feats[data-skin="duel"][data-photo="card"] .au-feat--photo .au-feat__body,
.au-feats[data-skin="duel"] .au-feat--photo[data-photo="card"] .au-feat__body {
  flex: 0 0 auto;
  width: 100%;
}

/* 1/2: всегда вертикальный разрез — фото слева / текст справа (и на мелких) */
.au-feats[data-skin="duel"][data-photo="half"] .au-feat--photo,
.au-feats[data-skin="duel"] .au-feat--photo[data-photo="half"] {
  flex-direction: row;
  align-items: stretch;
  gap: 0;
}
.au-feats[data-skin="duel"][data-photo="half"] .au-feat--photo .au-feat__art,
.au-feats[data-skin="duel"] .au-feat--photo[data-photo="half"] .au-feat__art {
  flex: 0 0 50%;
  width: 50%;
  max-width: 50%;
  height: 100%;
  align-self: stretch;
}
.au-feats[data-skin="duel"][data-photo="half"] .au-feat--photo .au-feat__body,
.au-feats[data-skin="duel"] .au-feat--photo[data-photo="half"] .au-feat__body {
  flex: 1 1 50%;
  width: 50%;
  max-width: 50%;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center; /* вертикаль — в column-flex это ось main */
  align-items: flex-start;
  /* зазор фото→текст = icon-gap (как у thesis-row) */
  gap: var(--duel-gap);
  padding: .75rem var(--duel-inset) .75rem var(--duel-icon-gap);
}
/* большой 1/2 (на всю ширину): кегль как у «Результат» */
.au-feats[data-skin="duel"][data-photo="half"] .au-feat--span-row .au-feat__body,
.au-feats[data-skin="duel"][data-photo="half"] .au-feat--span-2 .au-feat__body,
.au-feats[data-skin="duel"][data-photo="half"] .au-feat--span-3 .au-feat__body,
.au-feats[data-skin="duel"] .au-feat--photo[data-photo="half"].au-feat--span-row .au-feat__body,
.au-feats[data-skin="duel"] .au-feat--photo[data-photo="half"].au-feat--span-2 .au-feat__body,
.au-feats[data-skin="duel"] .au-feat--photo[data-photo="half"].au-feat--span-3 .au-feat__body {
  gap: var(--duel-gap);
  padding: 1.15rem var(--duel-inset) 1.15rem var(--duel-icon-gap);
}
.au-feats[data-skin="duel"][data-photo="half"] .au-feat--span-row .au-feat__kicker,
.au-feats[data-skin="duel"][data-photo="half"] .au-feat--span-2 .au-feat__kicker,
.au-feats[data-skin="duel"][data-photo="half"] .au-feat--span-3 .au-feat__kicker,
.au-feats[data-skin="duel"] .au-feat--photo[data-photo="half"].au-feat--span-row .au-feat__kicker,
.au-feats[data-skin="duel"] .au-feat--photo[data-photo="half"].au-feat--span-2 .au-feat__kicker,
.au-feats[data-skin="duel"] .au-feat--photo[data-photo="half"].au-feat--span-3 .au-feat__kicker {
  font-size: var(--t-eyebrow);
  font-weight: 700;
  letter-spacing: .08em;
}
.au-feats[data-skin="duel"][data-photo="half"] .au-feat--span-row :is(h3, .au-feat__title),
.au-feats[data-skin="duel"][data-photo="half"] .au-feat--span-2 :is(h3, .au-feat__title),
.au-feats[data-skin="duel"][data-photo="half"] .au-feat--span-3 :is(h3, .au-feat__title),
.au-feats[data-skin="duel"] .au-feat--photo[data-photo="half"].au-feat--span-row :is(h3, .au-feat__title),
.au-feats[data-skin="duel"] .au-feat--photo[data-photo="half"].au-feat--span-2 :is(h3, .au-feat__title),
.au-feats[data-skin="duel"] .au-feat--photo[data-photo="half"].au-feat--span-3 :is(h3, .au-feat__title) {
  font-size: var(--t-card-title-lg);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -.02em;
  margin: 0;
}
.au-feats[data-skin="duel"][data-photo="half"] .au-feat--span-row p,
.au-feats[data-skin="duel"][data-photo="half"] .au-feat--span-2 p,
.au-feats[data-skin="duel"][data-photo="half"] .au-feat--span-3 p,
.au-feats[data-skin="duel"] .au-feat--photo[data-photo="half"].au-feat--span-row p,
.au-feats[data-skin="duel"] .au-feat--photo[data-photo="half"].au-feat--span-2 p,
.au-feats[data-skin="duel"] .au-feat--photo[data-photo="half"].au-feat--span-3 p {
  font-size: var(--t-body);
  line-height: 1.45;
  max-height: calc(1.45em * 4);
  max-width: 48ch;
  margin: 0;
}
.au-feats[data-skin="duel"] .au-feat--icon-row .au-feat__copy {
  flex: 1 1 auto;
  gap: var(--duel-gap);
  min-width: 0;
  max-width: none;
}
.au-feats[data-skin="duel"] .au-feat--icon-row :is(h3, .au-feat__title) {
  font-size: var(--feat-title-size);
}
.au-feats[data-skin="duel"] .au-feat--icon-row p {
  font-size: var(--feat-text-size);
  line-height: 1.45;
  max-width: none;
  max-height: calc(1.45em * var(--feat-line-clamp));
  overflow: hidden;
}
.au-feats[data-skin="duel"] .au-feat--icon-row {
  align-items: center;
}
/* длинный текст у metric/base в узких колонках */
.au-feats[data-skin="duel"][data-cols="3"] .au-feat:not(.au-feat--photo):not(.au-feat--icon-row) p,
.au-feats[data-skin="duel"][data-cols="4"] .au-feat:not(.au-feat--photo):not(.au-feat--icon-row) p {
  overflow: hidden;
  max-width: none;
}

/* Steps switch — demo */
.au-step-switch {
  display: none;
  position: relative;
  z-index: 1;
  background: var(--c-page);
  border-bottom: 1px solid var(--c-line);
  padding: .75rem 0;
}
@media (min-width: 768px) {
  .au-step-switch { display: block; }
}

/* Steps */
.au-steps-rail {
  position: relative;
}
.au-steps-rail[data-orient="vertical"] .au-steps[data-layout="center"] {
  max-width: 760px;
  margin-inline: auto;
}
.au-steps-rail[data-orient="vertical"] .au-steps[data-layout="full"] {
  max-width: none;
  margin-inline: 0;
}
.au-steps-rail[data-orient="vertical"] .au-steps[data-layout="cols"] {
  max-width: none;
  margin-inline: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .75rem 1.1rem;
  align-items: stretch;
}
.au-steps[data-orient="vertical"][data-layout="cols"][data-arrows="1"] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .35rem 1.1rem;
  align-items: stretch;
}
.au-steps[data-orient="vertical"][data-layout="cols"] .au-step {
  margin-bottom: 0;
  height: 100%;
}
.au-steps[data-orient="vertical"][data-layout="cols"] .au-step-arrow--row {
  grid-column: 1 / -1;
  width: 100%;
  height: 2.75rem;
  margin: .55rem 0 .7rem;
}
@media (max-width: 767.98px) {
  .au-steps-rail[data-orient="vertical"] .au-steps[data-layout="cols"],
  .au-steps[data-orient="vertical"][data-layout="cols"][data-arrows="1"] {
    display: flex;
    flex-direction: column;
    grid-template-columns: none;
  }
  .au-steps[data-orient="vertical"][data-layout="cols"] .au-step-arrow--row {
    margin: .85rem 0;
  }
}
.au-steps-rail[data-orient="horizontal"] {
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  gap: .65rem;
}
.au-steps-rail[data-orient="horizontal"].is-scrollable {
  grid-template-columns: auto 1fr auto;
}
.au-steps-rail[data-orient="horizontal"].is-scrollable::before,
.au-steps-rail[data-orient="horizontal"].is-scrollable::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: .35rem;
  width: 2.25rem;
  z-index: 2;
  pointer-events: none;
}
.au-steps-rail[data-orient="horizontal"].is-scrollable::before {
  left: 2.75rem;
  background: linear-gradient(90deg, var(--c-page), transparent);
}
.au-steps-rail[data-orient="horizontal"].is-scrollable::after {
  right: 2.75rem;
  background: linear-gradient(270deg, var(--c-page), transparent);
}
.au-steps[data-orient="horizontal"] {
  --au-step-peek: 2.6rem;   /* хвостик следующего шага с цифрой */
  --au-step-gap: .55rem;
  --au-arrow-slot: 0px;
  display: flex;
  align-items: stretch;
  gap: var(--au-step-gap);
  overflow-x: auto;
  padding: .15rem .1rem .45rem;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.au-steps[data-orient="horizontal"]::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}
.au-steps[data-orient="horizontal"][data-arrows="1"] {
  --au-step-gap: .2rem;
  --au-arrow-slot: 2.55rem; /* кружок + боковые отступы */
}
/* 4+: ширина как у «тройки» — видно ~3 карточки + маленький кусочек 4-й */
.au-steps[data-orient="horizontal"] .au-step {
  flex: 0 0 calc(
    (100% - var(--au-step-peek) - (2 * var(--au-step-gap)) - (2 * var(--au-arrow-slot))) / 3
  );
  margin-bottom: 0;
  scroll-snap-align: start;
  min-height: 100%;
  min-width: 0;
  box-sizing: border-box;
}
/* 3 шага в ленте — равные карточки на всю ширину (десктоп) */
.au-steps[data-orient="horizontal"][data-count="3"] {
  overflow-x: hidden;
  scroll-snap-type: none;
}
.au-steps[data-orient="horizontal"][data-count="3"] .au-step {
  flex: 1 1 0;
  width: auto;
}
@media (max-width: 991.98px) {
  /* планшет: ~2 карточки + хвостик */
  .au-steps[data-orient="horizontal"] {
    --au-step-peek: 2.25rem;
  }
  .au-steps[data-orient="horizontal"] .au-step {
    flex: 0 0 calc(
      (100% - var(--au-step-peek) - var(--au-step-gap) - var(--au-arrow-slot)) / 2
    );
  }
  .au-steps[data-orient="horizontal"][data-count="3"] {
    overflow-x: auto;
    scroll-snap-type: x mandatory;
  }
  .au-steps[data-orient="horizontal"][data-count="3"] .au-step {
    flex: 0 0 calc(
      (100% - var(--au-step-peek) - var(--au-step-gap) - var(--au-arrow-slot)) / 2
    );
  }
}
@media (max-width: 575.98px) {
  /* телефон: 1 карточка + хвостик */
  .au-steps[data-orient="horizontal"] .au-step,
  .au-steps[data-orient="horizontal"][data-count="3"] .au-step {
    flex: 0 0 calc(100% - var(--au-step-peek));
  }
}
.au-steps-nav {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border: 1px solid var(--c-line);
  border-radius: var(--r-pill);
  background: var(--c-card);
  color: var(--brand-700);
  box-shadow: var(--sh-1);
  padding: 0;
  flex-shrink: 0;
  z-index: 3;
  transition: background .2s var(--e-soft), color .2s var(--e-soft), opacity .2s var(--e-soft), border-color .2s var(--e-soft);
}
.au-steps-nav svg {
  width: 1.15rem;
  height: 1.15rem;
  stroke: currentColor;
  stroke-width: 2.2;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.au-steps-nav:hover:not(:disabled) {
  background: var(--brand-600);
  border-color: var(--brand-600);
  color: var(--brand-fg, #fff);
}
.au-steps-nav:disabled {
  opacity: .35;
  cursor: default;
}
.au-steps-nav[hidden] { display: none !important; }

/* connectors between steps */
.au-step-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  color: var(--brand-500);
  pointer-events: none;
  position: relative;
}
/* vertical: больший зазор между блоками, стрелка по центру */
.au-steps[data-orient="vertical"][data-arrows="1"]:not([data-layout="cols"]) {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.au-steps[data-orient="vertical"] .au-step-arrow {
  width: 100%;
  height: 2.75rem;
  margin: .85rem 0;
  flex-shrink: 0;
}
.au-steps[data-orient="vertical"] .au-step-arrow::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 1px;
  background: var(--c-line);
  transform: translateY(-50%);
}
.au-steps[data-orient="vertical"] .au-step {
  margin-bottom: 0;
}
.au-steps[data-orient="vertical"][data-arrows="1"] .au-step {
  margin-bottom: 0;
}
.au-steps[data-orient="vertical"]:not([data-arrows="1"]) .au-step {
  margin-bottom: .75rem;
}
.au-steps[data-orient="vertical"]:not([data-arrows="1"]) .au-step:last-child {
  margin-bottom: 0;
}
/* horizontal: отступы слева/справа от кружка */
.au-steps[data-orient="horizontal"] .au-step-arrow {
  width: auto;
  padding: 0 .85rem;
  align-self: center;
  scroll-snap-align: none;
  box-sizing: content-box;
}
.au-step-arrow__mark {
  position: relative;
  z-index: 1;
  width: 1.65rem;
  height: 1.65rem;
  border-radius: var(--r-pill);
  display: grid;
  place-items: center;
  background: color-mix(in oklab, var(--brand-100) 88%, var(--c-card));
  box-shadow: 0 0 0 1px color-mix(in oklab, var(--brand-400) 35%, transparent);
  animation: au-step-pulse 2.4s var(--e-soft) infinite;
}
.au-step-arrow__mark svg {
  width: 1rem;
  height: 1rem;
  stroke: currentColor;
  stroke-width: 2.4;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.au-steps[data-orient="vertical"] .au-step-arrow__mark {
  width: 1.5rem;
  height: 1.5rem;
  /* разрыв линии под кружком */
  box-shadow:
    0 0 0 1px color-mix(in oklab, var(--brand-400) 35%, transparent),
    0 0 0 6px var(--c-page);
}
@keyframes au-step-pulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.06); opacity: .85; }
}
@media (prefers-reduced-motion: reduce) {
  .au-step-arrow__mark { animation: none; }
  .au-steps[data-orient="horizontal"] { scroll-behavior: auto; }
}

.au-step {
  display: grid;
  gap: 1.15rem 1.25rem;
  align-items: center;
  padding: 1.25rem 1.5rem;
  border-radius: var(--r-xl);
  background: var(--c-card);
  border: 1px solid color-mix(in oklab, var(--c-line) 85%, transparent);
  box-shadow: var(--sh-1);
  margin-bottom: .75rem;
}
.au-step--icon {
  grid-template-columns: auto auto 1fr;
}
.au-step--image {
  grid-template-columns: auto 1fr;
  padding: .85rem 1.15rem .85rem .85rem;
}
.au-step--text {
  grid-template-columns: 1fr;
}
.au-steps[data-orient="horizontal"] .au-step--icon {
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
}
.au-steps[data-orient="horizontal"] .au-step--icon .au-step__n {
  grid-column: 1;
  grid-row: 1;
}
.au-steps[data-orient="horizontal"] .au-step--icon .au-feat__ic {
  grid-column: 1;
  grid-row: 2;
  align-self: start;
}
.au-steps[data-orient="horizontal"] .au-step--icon .au-step__copy {
  grid-column: 2;
  grid-row: 1 / span 2;
}
.au-step__n {
  font-family: var(--f-num);
  font-size: var(--t-timer-sm);
  font-weight: 600;
  color: var(--brand-600);
  line-height: 1;
}
.au-step__art {
  position: relative;
  width: 104px;
  height: 104px;
  border-radius: var(--r-md);
  overflow: hidden;
  flex-shrink: 0;
  background: var(--c-surface);
}
.au-step__art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.au-step__art .au-step__n {
  position: absolute;
  top: .4rem;
  left: .4rem;
  z-index: 1;
  font-size: .85rem;
  padding: .2rem .4rem;
  border-radius: var(--r-sm, .35rem);
  background: color-mix(in oklab, var(--brand-600) 92%, transparent);
  color: var(--brand-fg, #fff);
}
.au-steps[data-orient="horizontal"] .au-step--image {
  grid-template-columns: 1fr;
  grid-template-rows: auto 1fr;
  padding: .75rem;
}
.au-steps[data-orient="horizontal"] .au-step--image .au-step__art {
  width: 100%;
  height: 140px;
}
.au-step__copy { min-width: 0; }
.au-step h3,
.au-step .au-step__title {
  font-family: var(--f-display);
  font-size: var(--t-h3);
  font-weight: 700;
  letter-spacing: var(--ls-head);
  line-height: var(--lh-head);
  margin: 0 0 .35rem;
}
.au-step p {
  color: var(--c-fg-2);
  font-size: var(--t-body);
  margin: 0;
  max-width: none;
}

/* Catalog view switch — demo */
.au-catalog-panel[hidden] { display: none !important; }

/* Catalog cards */
.au-pc {
  --pc-pad: .75rem;
  --au-pc-rail-size: 2rem;
  --au-pc-rail-gap: var(--s-2);
  height: 100%;
  padding: var(--pc-pad);
  border-radius: var(--r-xl);
  background: var(--c-card);
  border: 1px solid color-mix(in oklab, var(--c-line) 85%, transparent);
  box-shadow: var(--sh-1);
  display: flex;
  flex-direction: column;
  gap: .65rem;
  position: relative;
}
.au-pc:hover { box-shadow: var(--sh-2); }
.au-pc__media-wrap {
  position: relative;
  flex: 0 0 auto;
}
/* DNS-scrub: зоны по ширине фото (точки только индикатор) */
.au-pc__media-wrap--scrub .au-pc__media {
  cursor: default;
}
.au-pc__media {
  aspect-ratio: 1;
  border: 0;
  border-radius: var(--r-md);
  background: var(--c-card);
  display: grid;
  place-items: center;
  position: relative;
  cursor: pointer;
  padding: 0;
  width: 100%;
  overflow: hidden;
  color: inherit;
  text-decoration: none;
}
.au-pc__media:not(a):not(button) {
  cursor: default;
}
.au-pc__media svg { width: 58%; }
.au-pc__media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  transform: none;
  justify-self: center;
  align-self: center;
  display: block;
  border-radius: inherit;
}
.au-pc__dots {
  position: absolute;
  left: 0;
  right: 0;
  bottom: .45rem;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .3rem;
  padding: 0 var(--s-2);
  pointer-events: none;
}
.au-pc__dot {
  width: .4rem;
  height: .4rem;
  border-radius: 50%;
  background: rgb(255 255 255 / .55);
  box-shadow: 0 0 0 1px rgb(0 0 0 / .12);
}
.au-pc__dot.is-active {
  background: var(--brand-600);
  box-shadow: none;
}
/* Flags live on .au-pc__media-wrap (sibling of .au-pc__media), never inside the grid button. */
.au-pc__flags {
  position: absolute;
  top: 10px;
  left: 10px;
  right: 10px;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: .5rem;
  pointer-events: none;
}
.au-pc__flags .au-chip {
  flex: 0 1 auto;
  min-width: 0;
  position: relative;
  isolation: isolate;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
/* Left column = badges; right = rail. Long «С подарком» ellipsis, never under the heart. */
.au-pc:has(.au-pc__rail:not(:empty)) .au-pc__flags {
  padding-inline-end: calc(var(--au-pc-rail-size) + var(--au-pc-rail-gap));
}
/* Photo icon rail — separate layer. Do not touch locked .au-pc scale hover. */
.au-pc__rail {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 3;
  display: flex;
  flex-direction: column;
  gap: .35rem;
  pointer-events: none;
}
.au-pc__rail:empty {
  display: none;
}
/* Promo timer sits on the photo (same layer as flags/rail), not in the card column. */
.au-pc__media-wrap > .au-cd--card {
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: 10px;
  z-index: 2;
  margin: 0;
  pointer-events: none;
}
.au-pc:has(.au-pc__rail:not(:empty)) .au-pc__media-wrap > .au-cd--card {
  right: calc(10px + var(--au-pc-rail-size) + var(--au-pc-rail-gap));
}
.au-pc__media-wrap > .au-cd--card .au-cd__cell {
  background: var(--c-card);
  box-shadow: var(--sh-1);
}
.au-pc__media-wrap:has(> .au-cd) .au-pc__dots {
  display: none;
}
.au-pc__rail-btn {
  box-sizing: border-box;
  width: 2rem;
  height: 2rem;
  padding: 0;
  border: 0;
  border-radius: var(--r-sm);
  background: var(--c-fg);
  color: var(--c-surface);
  box-shadow: var(--sh-1);
  display: none;
  place-items: center;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  line-height: 1;
  pointer-events: auto;
}
.au-pc__rail-btn .bi {
  font-size: .95rem;
}
.au-pc__rail-btn:hover,
.au-pc__rail-btn:focus-visible {
  background: var(--brand-600);
  color: var(--brand-fg);
  outline: none;
}
.au-pc__rail-btn:disabled,
.au-pc__rail-btn[aria-disabled="true"] {
  opacity: .5;
  cursor: default;
  pointer-events: none;
}
.au-pc__rail-btn.is-on {
  background: var(--brand-600);
  color: var(--brand-fg);
}
@media (max-width: 767.98px) {
  .au-pc__rail-btn--m {
    display: grid;
  }
}
@media (min-width: 768px) {
  .au-pc__rail {
    opacity: 0;
    visibility: hidden;
    transition: opacity .15s ease, visibility .15s ease;
  }
  .au-pc:hover .au-pc__rail,
  .au-pc:focus-within .au-pc__rail {
    opacity: 1;
    visibility: visible;
  }
  .au-pc__rail-btn--dt {
    display: grid;
  }
}
@media (prefers-reduced-motion: reduce) {
  .au-pc__rail {
    transition: none;
  }
}

/* Catalog section chrome + filter tabs (trade + teaser). */
.au-catalog-head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1rem 1.25rem;
  margin-bottom: 1.5rem;
}
@media (min-width: 992px) {
  .au-catalog-head { margin-bottom: 3rem; }
}
.au-catalog-head__text {
  flex: 1 1 16rem;
  min-width: min(100%, 16rem);
  max-width: 42rem;
}
.au-catalog-head__text .display-6 {
  margin-top: .5rem;
}
.au-catalog-head__text .au-eyebrow + .display-6 {
  margin-top: .5rem;
}
.au-catalog-head__tabs {
  flex: 0 1 auto;
  margin-left: auto;
}
.au-catalog-head--tabs-only .au-catalog-head__tabs {
  margin-left: 0;
}
.au-catalog-slider-nav {
  flex: 0 0 auto;
  margin-left: auto;
}
.au-catalog-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.25rem;
  min-width: 0;
}
.au-catalog-main { min-width: 0; }
.au-sf {
  padding: 1.15rem 1.25rem;
  border: 1px solid color-mix(in oklab, var(--c-line) 85%, transparent);
  border-radius: var(--r-xl);
  box-shadow: var(--sh-1);
  background: var(--c-card, var(--c-page));
  width: 100%;
  min-width: 0;
}
.au-sf__groups {
  display: grid;
  gap: 1rem;
}
.au-sf--top {
  margin-bottom: 1.5rem;
}
.au-sf--top .au-sf__groups {
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
  align-items: start;
}
.au-sf__group {
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0;
}
.au-sf__legend {
  float: none;
  width: 100%;
  margin: 0 0 .45rem;
  padding: 0;
  font-size: var(--t-xs);
  font-weight: 700;
  color: var(--c-fg-2);
}
.au-sf__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: .35rem;
}
.au-sf__opt {
  display: inline-flex;
  align-items: center;
  gap: var(--s-2);
  min-width: 0;
  cursor: pointer;
}
.au-sf .au-check {
  display: inline-flex;
  align-items: center;
}
.au-sf .au-check__box {
  border-radius: var(--r-xs);
}
.au-sf__label {
  flex: 1 1 auto;
  min-width: 0;
  font-size: var(--t-xs);
  line-height: 1.45;
}
.au-sf__count {
  color: var(--c-fg-3);
  font-weight: 400;
}
.au-sf__range {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: .5rem;
}
/* Stock BX.Iblock.SmartFilter track — Aurora skin, brand fill. Not a second slider kit. */
.au-sf__slider {
  position: relative;
  height: 1.5rem;
  margin: .55rem .15rem .1rem;
}
.au-sf__slider .bx-ui-slider-track {
  position: relative;
  height: 4px;
  margin: .55rem .45rem 0;
  border-radius: var(--r-pill);
  background: color-mix(in oklab, var(--c-line) 70%, transparent);
}
.au-sf__slider .bx-ui-slider-pricebar-vd,
.au-sf__slider .bx-ui-slider-pricebar-vn {
  position: absolute;
  top: 0;
  height: 4px;
  border-radius: var(--r-pill);
  background: transparent;
}
.au-sf__slider .bx-ui-slider-pricebar-v,
.au-sf__slider .bx-ui-slider-range {
  position: absolute;
  top: 0;
  height: 4px;
  border-radius: var(--r-pill);
  background: var(--brand-600);
}
.au-sf__slider .bx-ui-slider-handle {
  position: absolute;
  top: 50%;
  z-index: 2;
  width: 1rem;
  height: 1rem;
  margin: -0.5rem 0 0 -0.5rem;
  border: 2px solid var(--brand-600);
  border-radius: 50%;
  background: var(--c-card, var(--c-page));
  box-shadow: var(--sh-1);
  cursor: pointer;
}
.au-sf__slider .bx-ui-slider-handle:focus-visible {
  outline: 2px solid var(--brand-600);
  outline-offset: 2px;
}
.au-sf__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: 1rem;
}
.au-catalog-toolbar {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: .75rem 1rem;
  margin: 0 0 1rem;
}
.au-sf-chips {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  min-width: 0;
  flex: 1 1 auto;
}
.au-sf-chip {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  margin: 0;
  min-height: 28px;
  padding: 0 .65rem;
  border: 1px solid color-mix(in oklab, var(--brand-600) 35%, var(--c-line));
  border-radius: var(--r-pill);
  background: color-mix(in oklab, var(--brand-600) 10%, var(--c-card));
  color: var(--c-fg);
  font: inherit;
  font-size: var(--t-xs);
  line-height: 1.2;
  cursor: pointer;
}
.au-sf-chip:hover,
.au-sf-chip:focus-visible {
  background: color-mix(in oklab, var(--brand-600) 16%, var(--c-card));
  outline: none;
}
.au-sf-chip__x {
  font-size: 1em;
  line-height: 1;
  opacity: .7;
}
.au-catalog-toolbar .au-sort {
  margin-left: auto;
  flex: 0 0 auto;
}
.au-sort {
  position: relative;
}
.au-sort__btn {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  margin: 0;
  padding: .35rem .65rem;
  border: 1px solid var(--c-line);
  border-radius: var(--r-md);
  background: var(--c-card);
  color: var(--c-fg);
  font: inherit;
  cursor: pointer;
}
.au-sort__btn:hover,
.au-sort__btn:focus-visible {
  background: var(--tint-2);
  outline: none;
}
.au-sort__pop {
  position: absolute;
  top: calc(100% + .35rem);
  right: 0;
  z-index: 5;
  display: flex;
  flex-direction: column;
  min-width: 12rem;
  padding: .35rem;
  border: 1px solid var(--c-line);
  border-radius: var(--r-md);
  background: var(--c-card);
  box-shadow: var(--sh-1);
}
.au-sort__opt {
  padding: .4rem .65rem;
  border-radius: var(--r-sm);
  color: var(--c-fg);
  text-decoration: none;
}
.au-sort__opt:hover,
.au-sort__opt.is-on {
  background: var(--tint-2);
}
/* One smart.filter node: lg+ in-flow; <lg owned overlay. Veil lives inside the host. */
@media (max-width: 991.98px) {
  .au-sf-host {
    display: none;
    position: fixed;
    inset: 0;
    z-index: var(--z-overlay);
    align-items: center;
    justify-content: center;
    padding: var(--s-4);
    padding-bottom: calc(var(--s-4) + env(safe-area-inset-bottom, 0px));
  }
  .au-sf-host.is-open {
    display: flex;
  }
  .au-sf-host__backdrop {
    position: absolute;
    inset: 0;
    z-index: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    appearance: none;
    -webkit-appearance: none;
    background-color: var(--bs-backdrop-bg, #000);
    opacity: var(--bs-backdrop-opacity, .5);
    cursor: pointer;
  }
  .au-sf-host__dialog {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    width: min(var(--bs-modal-width, 500px), 100%);
    max-height: min(85dvh, 40rem);
    margin: 0;
    min-height: 0;
  }
  .au-sf-host__panel {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    max-height: min(85dvh, 40rem);
    overflow: hidden;
  }
  .au-sf-host .au-sf {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    margin: 0;
    padding: 0;
    border: 0;
    box-shadow: none;
    background: transparent;
    border-radius: 0;
  }
  .au-sf-host__body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding: 2rem 1.75rem var(--s-4);
    padding-top: calc(1.1rem + var(--tap));
  }
  .au-sf-host__footer {
    flex: 0 0 auto;
    margin-top: 0;
    padding: var(--s-3) 1.75rem 1.85rem;
  }
  .au-sf-host__toggle { display: none; }
  .au-sf-host[data-cct-filter-compact] .au-sf__groups {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem var(--s-2);
    align-items: center;
  }
  .au-sf-host[data-cct-filter-compact] .au-sf__group {
    flex: 1 1 100%;
    min-width: 0;
  }
  .au-sf-host[data-cct-filter-compact] .au-sf__group:not(.au-sf__group--flag) .au-sf__list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--s-2);
  }
  .au-sf-host[data-cct-filter-compact] .au-sf__group:not(.au-sf__group--flag) .au-sf__list > li {
    display: flex;
    flex: 0 1 auto;
    align-items: center;
    width: auto;
  }
}
@media (max-width: 991.98px) and (min-width: 576px) {
  .au-sf-host__body {
    padding: 2.25rem 2.1rem var(--s-4);
    padding-top: calc(1.1rem + var(--tap));
  }
  .au-sf-host__footer {
    padding: var(--s-3) 2.1rem 2rem;
  }
}
@media (min-width: 992px) {
  .au-sf-host {
    position: static;
    display: block;
    z-index: auto;
    width: auto;
    height: auto;
    overflow: visible;
    padding: 0;
    background: none;
  }
  .au-sf-host__backdrop,
  .au-sf-host .au-form-modal__close {
    display: none;
  }
  .au-sf-host__dialog {
    max-width: none;
    margin: 0;
  }
  .au-sf-host__panel.modal-content,
  .au-sf-host__panel.au-form-modal {
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
    max-height: none;
  }
  .au-sf-host__body { padding: 0; overflow: visible; }
  .au-sf-host__footer { padding: 0; }
  .au-sf__actions .btn-lg {
    --bs-btn-font-size: .875rem;
    --bs-btn-padding-x: 1rem;
    height: 2.5rem;
    min-height: 2.5rem;
    padding: 0 var(--bs-btn-padding-x);
    font-size: var(--bs-btn-font-size);
  }
  .au-sf-host__toggle { display: none; }
  .au-sf-host[data-cct-filter-collapse] .au-sf-host__toggle {
    display: inline-grid;
    margin-bottom: var(--s-2);
  }
  .au-sf-host[data-cct-filter-collapse]:not([data-cct-filter-open="1"]) .au-sf-host__dialog {
    display: none;
  }
}
@media (min-width: 992px) {
  .au-catalog-body--left {
    grid-template-columns: minmax(14rem, 18rem) minmax(0, 1fr);
    align-items: start;
  }
  .au-catalog-body--right {
    grid-template-columns: minmax(0, 1fr) minmax(14rem, 18rem);
    align-items: start;
  }
  .au-catalog-body--right .au-sf-host { order: 2; }
  .au-catalog-body--right .au-catalog-main { order: 1; }
  .au-catalog-body--left:has([data-cct-filter-collapse]:not([data-cct-filter-open="1"])),
  .au-catalog-body--right:has([data-cct-filter-collapse]:not([data-cct-filter-open="1"])) {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .au-sf-host[data-cct-filter-view="accordion"] .au-sf-host__drawer-head {
    display: none;
  }
  /* Accordion: one frame on .au-faq--solid (menu recipe). Do not also chrome .au-sf. */
  .au-sf-host[data-cct-filter-view="accordion"] .au-sf {
    padding: 0;
    border: 0;
    box-shadow: none;
    background: transparent;
    border-radius: 0;
  }
  .au-sf-acc {
    margin: 0 0 var(--s-3);
  }
  .au-sf-acc .au-sf-acc__leaf {
    display: flex;
    align-items: center;
    gap: .55rem;
    width: 100%;
    margin: 0;
    padding: .85rem 1rem;
    cursor: pointer;
  }
  .au-sf-acc .au-faq__a-inner {
    padding: 0 1rem .85rem;
  }
  .au-sf-acc .au-sf__list {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .au-sf-acc .au-sf__opt {
    display: flex;
    align-items: center;
    gap: .55rem;
    padding: .35rem 0;
  }
  [data-catalog-view="preview"] [data-cct-product-grid][data-cols] {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(var(--au-cat-cols, 4), minmax(0, 1fr));
    column-gap: 1.5rem;
    row-gap: 0;
    --bs-gutter-x: 0;
    --bs-gutter-y: 0;
  }
  [data-catalog-view="preview"][data-catalog-cols="2"] { --au-cat-cols: 2; }
  [data-catalog-view="preview"][data-catalog-cols="3"] { --au-cat-cols: 3; }
  [data-catalog-view="preview"][data-catalog-cols="4"] { --au-cat-cols: 4; }
  [data-catalog-view="preview"][data-catalog-cols="5"] { --au-cat-cols: 5; }
  [data-catalog-view="preview"] [data-cct-product-grid][data-cols] > [class*="col"] {
    width: auto;
    max-width: none;
    flex: none;
    padding-left: 0;
    padding-right: 0;
  }
}
.au-sf-acc .au-sf-acc__leaf {
  display: flex;
  align-items: center;
  gap: .55rem;
  width: 100%;
  margin: 0;
  padding: .85rem 1rem;
  cursor: pointer;
}
.au-sf-acc .au-faq__a-inner {
  padding: 0 1rem .85rem;
}
.au-sf-acc .au-sf__list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.au-sf-acc .au-sf__opt {
  display: flex;
  align-items: center;
  gap: .55rem;
  padding: .35rem 0;
}
@media (max-width: 991.98px) {
  .au-sf-host[data-cct-filter-view="accordion"] {
    display: flex;
    visibility: hidden;
    pointer-events: none;
    justify-content: flex-start;
    align-items: stretch;
    padding: 0;
  }
  .au-sf-host[data-cct-filter-view="accordion"].is-open {
    visibility: visible;
    pointer-events: auto;
  }
  .au-sf-host[data-cct-filter-view="accordion"] .au-sf-host__dialog {
    width: min(22rem, 100%);
    max-width: 100%;
    height: 100%;
    max-height: none;
    transform: translate3d(-100%, 0, 0);
    transition: transform .28s var(--e-soft);
  }
  .au-sf-host[data-cct-filter-view="accordion"].is-open .au-sf-host__dialog {
    transform: translate3d(0, 0, 0);
  }
  .au-sf-host[data-cct-filter-view="accordion"] .au-sf-host__panel {
    height: 100%;
    max-height: none;
    border-radius: 0;
    background: var(--c-page);
  }
  .au-sf-host[data-cct-filter-view="accordion"] .au-sf-host__drawer-head {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    flex: 0 0 auto;
    gap: var(--s-3);
    min-height: var(--tap);
    padding: 1rem var(--s-4) .65rem;
    border-bottom: 0;
  }
  .au-sf-host[data-cct-filter-view="accordion"] .au-sf-host__drawer-head .btn-close {
    flex: 0 0 auto;
    margin: 0;
  }
  .au-sf-host[data-cct-filter-view="accordion"] .au-sf-host__body {
    padding: .35rem 0 var(--s-3);
  }
  .au-sf-host[data-cct-filter-view="accordion"] .au-sf-acc {
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
    margin: 0;
  }
  .au-sf-host[data-cct-filter-view="accordion"] .au-sf-acc .au-faq__item + .au-faq__item {
    border-top: 1px solid var(--c-line);
  }
  .au-sf-host[data-cct-filter-view="accordion"] .au-sf-host__footer {
    border-top: 1px solid color-mix(in oklab, var(--c-line) 80%, transparent);
    padding: var(--s-3) var(--s-4) calc(var(--s-3) + env(safe-area-inset-bottom, 0px));
  }
}
@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) {
  .au-sf-host[data-cct-filter-view="accordion"] .au-sf-host__dialog {
    transition: none;
  }
}
/* ТП без наведения: цвет / размер (один always-параметр) */
.au-pc__offers {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .35rem .5rem;
  /* место под кольцо выбора — одинаково во всех режимах, без прыжка */
  min-height: 26px;
}
.au-pc__swatches {
  --sw-size: 18px;
  --sw-ring: 3px; /* зазор + толщина кольца */
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .55rem;
  padding: var(--sw-ring);
  margin: calc(var(--sw-ring) * -1) 0; /* визуально плотнее к фото/названию, высота ряда стабильна */
  box-sizing: content-box;
  min-height: var(--sw-size);
}
/* No-color card: same one-row box as a real swatch row. Phone 1-col: hide (nothing to align). */
.au-pc__swatches--empty {
  display: none;
  pointer-events: none;
}
@media (min-width: 768px) {
  .au-pc__swatches--empty {
    display: inline-flex;
  }
}
.au-pc__swatch {
  position: relative;
  width: var(--sw-size);
  height: var(--sw-size);
  padding: 0;
  border-radius: 50%;
  background: var(--sw, #ccc);
  cursor: pointer;
  flex: 0 0 auto;
  border: 1px solid rgb(0 0 0 / .12);
  box-shadow: none;
  outline: none;
  transition: border-color .15s var(--e-soft);
}
.au-pc__swatch:focus-visible {
  outline: 3px solid var(--brand-500);
  outline-offset: 3px;
}
.au-pc__swatch.is-unavailable {
  /* Soft hint: combo missing with current other axis — still clickable (snap). */
  opacity: .4;
  cursor: pointer;
  filter: grayscale(.3);
}
.au-pc__swatch.is-unavailable:hover {
  opacity: .7;
  filter: grayscale(.1);
}
.au-pc__swatch.is-unavailable.is-active {
  opacity: 1;
  filter: none;
  cursor: pointer;
}
.au-pc__swatch::after {
  content: "";
  position: absolute;
  inset: calc(var(--sw-ring) * -1);
  border-radius: 50%;
  border: 1px solid transparent;
  pointer-events: none;
}

/* Рамка — активный цвет = кромка самого круга, без зазора.
   Host is any [data-swatch] (home grid, /catalog/, QV, detail). */
[data-swatch^="border"] .au-pc__swatch.is-active {
  border-color: var(--brand-600);
}

/* Outline — кольцо с зазором (дефолт). Рисуем ::after, не CSS outline —
   иначе на Retina/macOS кольцо «плывёт» и ряд визуально дёргается */
[data-swatch^="outline"] .au-pc__swatch.is-active::after {
  border-color: var(--brand-600);
}

/* Sharp square (catalog.complex). Same ring / edge as the circles. */
[data-swatch$="_sq"] .au-pc__swatch,
[data-swatch$="_sq"] .au-pc__swatch::after {
  border-radius: 0;
}

/* Soft square: slight token radius, not a circle and not a pill. */
[data-swatch$="_soft"] .au-pc__swatch,
[data-swatch$="_soft"] .au-pc__swatch::after {
  border-radius: var(--r-xs);
}
.au-pc__skus {
  display: inline-flex;
  flex-wrap: wrap;
  gap: .3rem;
}
.au-pc__sku {
  min-height: 1.7rem;
  padding: 0 .55rem;
  border-radius: var(--r-sm);
  border: 1px solid var(--c-line-2);
  background: var(--c-surface);
  color: var(--c-fg-2);
  font-size: var(--t-xs);
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
}
.au-pc__sku.is-active {
  border-color: var(--brand-600);
  color: var(--brand-700);
  background: var(--tint-2);
}
.au-pc__sku.is-unavailable {
  /* Soft hint only — click snaps to a real offer with this value. */
  opacity: .45;
  cursor: pointer;
  color: var(--c-fg-3);
  background: color-mix(in oklab, var(--c-surface) 70%, var(--c-line));
  border-color: color-mix(in oklab, var(--c-line) 80%, transparent);
  text-decoration: none;
}
.au-pc__sku.is-unavailable:hover {
  opacity: .75;
  color: var(--c-fg-2);
  border-color: var(--c-line-2);
}
.au-pc__sku.is-unavailable.is-active {
  opacity: 1;
  cursor: pointer;
  text-decoration: none;
}
a.au-pc__name-link {
  color: inherit;
  text-decoration: none;
}
.au-pc__ident {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: .25rem;
}
.au-pc__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .35rem .75rem;
  font-size: var(--t-sm);
  color: var(--c-fg-2);
  line-height: var(--lh-body);
}
.au-pc__article[hidden] { display: none !important; }
.au-pc__stock {
  appearance: none;
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  line-height: inherit;
  text-decoration: none;
  cursor: pointer;
  text-align: left;
}
a.au-pc__stock { color: inherit; }
.au-pc__stock:hover { color: var(--c-fg); }
.au-pc__stock-dot {
  width: .45rem;
  height: .45rem;
  border-radius: var(--r-xs);
  background: var(--c-ok);
  flex: 0 0 auto;
}
.au-stock {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: var(--c-ok);
  font: inherit;
  font-size: var(--t-sm);
  line-height: var(--lh-body);
  text-align: left;
  text-decoration: none;
  cursor: default;
}
button.au-stock {
  appearance: none;
  cursor: pointer;
}
.au-stock.is-out { color: var(--c-fg-2); }
.au-stock.is-low { color: var(--c-warn); }
.au-stock.is-out .au-stock__mark { display: none; }
.au-stock[hidden] { display: none !important; }
.au-stock__mark {
  font-weight: 700;
  line-height: 1;
}
.au-row__side > .au-stock {
  flex: 1 0 100%;
  justify-content: flex-end;
}
.au-qv__buy > .au-stock { flex: 1 1 100%; }
.au-pc__name {
  font-family: var(--f-body);
  font-weight: 400;
  font-size: var(--t-body);
  line-height: var(--lh-body);
  letter-spacing: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  min-height: calc(2 * var(--lh-body) * 1em);
  margin: 0;
  cursor: default;
}
.au-price { display: flex; align-items: baseline; gap: .5rem; flex-wrap: wrap; }
.au-price__now { font-family: var(--f-display); font-weight: 800; font-size: var(--t-h3); }
.au-price__old { color: var(--c-fg-3); text-decoration: line-through; font-size: var(--t-sm); }
.au-price-save {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: stretch;
  max-width: 100%;
  overflow: hidden;
  border-radius: var(--r-xs);
  font-family: var(--f-body);
  font-size: var(--t-xs);
  font-weight: 500;
  line-height: 1.2;
}
.au-price-save[hidden] { display: none; }
.au-price-save__pct {
  flex: 0 0 auto;
  padding: .15rem .4rem;
  background: var(--cct-chip-sale-bg, var(--sale));
  color: var(--cct-chip-sale-fg, #fff);
}
.au-price-save__copy {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  column-gap: .35em;
  flex: 1 1 auto;
  min-width: 0;
  padding: .15rem .4rem;
  background: color-mix(in oklab, var(--cct-chip-sale-bg, var(--sale)) 16%, var(--c-card));
  color: var(--cct-chip-sale-bg, var(--sale));
}
.au-price-save__sum {
  white-space: nowrap;
}
.au-brand {
  display: flex;
  flex-direction: column;
  gap: var(--s-2);
  height: 100%;
  padding: var(--s-4);
  border-radius: var(--r-xl);
  background: var(--c-card);
  border: 1px solid var(--c-line);
  box-shadow: var(--sh-1);
  color: inherit;
  text-decoration: none;
}
a.au-brand:hover { color: inherit; }
.au-brand__art {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 64px;
  background: var(--c-surface);
  border-radius: var(--r-md);
}
.au-brand__art img {
  max-width: 100%;
  height: auto;
  max-height: 64px;
}
.au-brand__name {
  font-family: var(--f-body);
  font-size: var(--t-body);
  font-weight: 500;
  line-height: var(--lh-body);
  margin: 0;
}
.au-brand__lead {
  color: var(--c-fg-2);
  font-size: var(--t-sm);
  margin: 0;
}
.au-brand--detail {
  flex-direction: row;
  align-items: center;
  gap: var(--s-5);
  padding: var(--s-6);
}
.au-brand--detail .au-brand__name {
  font-size: var(--t-h3);
  font-weight: 500;
}
@media (max-width: 575.98px) {
  .au-brand--detail { flex-direction: column; align-items: flex-start; }
}

/* Характеристики / доп. ТП — панель стыкуется с низом карточки, не с «Купить». */
.au-pc__more {
  display: none;
}
/* specsHover on: absolute drop-panel under card (desktop) */
.au-pc--hover-specs .au-pc__more {
  display: grid;
  gap: .65rem;
  align-content: start;
  position: absolute;
  left: -1px;
  right: -1px;
  top: calc(100% - 1px);
  z-index: 4;
  padding: .15rem var(--pc-pad) .85rem;
  background: var(--c-card);
  border: 1px solid color-mix(in oklab, var(--c-line) 85%, transparent);
  border-top: 0;
  border-radius: 0 0 var(--r-xl) var(--r-xl);
  box-shadow: var(--sh-2);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity .2s var(--e-soft),
    visibility .2s;
}
/* Square bottom only when a hover panel actually exists (empty complects stay rounded) */
.au-pc--hover-specs:has(.au-pc__more):hover,
.au-pc--hover-specs:has(.au-pc__more):focus-within {
  z-index: 8;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  box-shadow: var(--sh-2);
}
.au-pc--hover-specs:has(.au-pc__more):hover .au-pc__more,
.au-pc--hover-specs:has(.au-pc__more):focus-within .au-pc__more {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
/* specsHover off: характеристики в потоке карточки (без оверлея) */
.au-pc--specs:not(.au-pc--hover-specs) .au-pc__more {
  display: grid;
  gap: .65rem;
  align-content: start;
  position: static;
  padding: .15rem 0 0;
  opacity: 1;
  visibility: visible;
  transform: none;
  pointer-events: auto;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
}
@media (hover: none), (max-width: 767.98px) {
  /* тач / телефон: характеристики в потоке. max-width — если UA врёт hover:hover */
  .au-pc--hover-specs .au-pc__more {
    position: static;
    left: auto;
    right: auto;
    top: auto;
    width: auto;
    opacity: 1;
    visibility: visible;
    transform: none;
    pointer-events: auto;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    padding: .15rem 0 0;
  }
  .au-pc--hover-specs:hover,
  .au-pc--hover-specs:focus-within,
  .au-pc--hover-specs:has(.au-pc__more):hover,
  .au-pc--hover-specs:has(.au-pc__more):focus-within {
    z-index: auto;
    border-radius: var(--r-xl);
    border-bottom-left-radius: var(--r-xl);
    border-bottom-right-radius: var(--r-xl);
    box-shadow: var(--sh-1);
  }
}
.au-pc__metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .35rem;
  align-content: start;
}
.au-pc__metric {
  display: grid;
  gap: .15rem;
  align-content: start;
  justify-items: center;
  text-align: center;
  padding: .45rem .25rem;
  border-radius: var(--r-sm);
  background: var(--c-surface);
}
.au-pc__metric-k {
  font-size: var(--t-eyebrow);
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--c-fg-3);
}
.au-pc__metric-v {
  font-size: var(--t-xs);
  font-weight: 700;
  color: var(--c-fg);
  line-height: 1.2;
}
.au-pc__offer--hover {
  display: grid;
  gap: .3rem;
}
.au-pc__offer-label {
  font-size: var(--t-eyebrow);
  font-weight: 600;
  color: var(--c-fg-3);
  line-height: 1.3;
}
.au-pc__swatches .au-pc__offer-label {
  flex: 0 0 auto;
  align-self: center;
  white-space: nowrap;
  line-height: var(--sw-size);
}
.au-pc__specs-line {
  margin: 0;
  font-size: var(--t-xs);
  line-height: 1.4;
  color: var(--c-fg-3);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.au-pc__props {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: .3rem;
}
.au-pc__prop {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: .5rem .75rem;
  align-items: baseline;
  font-size: var(--t-xs);
  line-height: 1.35;
}
.au-pc__prop-k {
  color: var(--c-fg-3);
  min-width: 0;
}
.au-pc__prop-v {
  font-weight: 700;
  color: var(--c-fg);
  text-align: right;
}
.au-promo-check.is-disabled {
  opacity: .5;
  pointer-events: none;
}
.au-row {
  display: grid;
  grid-template-columns: 72px 1fr auto;
  gap: 1.25rem;
  align-items: center;
  padding: 1rem 1.25rem;
  border-radius: var(--r-xl);
  background: var(--c-card);
  border: 1px solid color-mix(in oklab, var(--c-line) 85%, transparent);
  box-shadow: var(--sh-1);
  margin-bottom: .75rem;
  width: 100%;
  text-align: left;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}
.au-row:not(a):not(button) {
  cursor: default;
}
.au-row:hover { box-shadow: var(--sh-2); }
.au-row__art,
.au-row__body,
.au-row__head {
  border: 0;
  padding: 0;
  margin: 0;
  background: transparent;
  font: inherit;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  text-align: inherit;
  appearance: none;
  -webkit-appearance: none;
}
.au-row__art:not(a):not(button),
.au-row__head:not(a):not(button) {
  cursor: default;
}
.au-row__art {
  width: 72px;
  height: 72px;
  border-radius: var(--r-md);
  background: var(--c-card);
  display: grid;
  place-items: center;
}
.au-row__art svg { width: 60%; }
.au-row__art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: inherit;
}
.au-row__body {
  min-width: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
.au-row__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-1) var(--s-2);
  width: 100%;
  min-width: 0;
}
.au-row--specs {
  align-items: start;
}
.au-row__title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-1) var(--s-2);
  flex: 0 1 auto;
  min-width: 0;
}
.au-row.js-cct-sku .au-row__title strong {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-width: 0;
  font-weight: 700;
  line-height: var(--lh-head);
}
.au-row__flags {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-1);
  flex: 0 1 auto;
}
.au-row__flags .au-chip {
  box-sizing: border-box;
  min-height: calc(var(--t-eyebrow) + var(--s-2));
  padding: 0 var(--s-2);
  font-size: var(--t-eyebrow);
  line-height: 1;
  border-width: 1px;
  border-style: solid;
}
.au-row__flags .au-chip--hit,
.au-row__flags .au-chip--sale,
.au-row__flags .au-chip--new {
  border-color: transparent;
}
.au-row__meta { color: var(--c-fg-2); font-size: var(--t-sm); margin-top: 4px; }
.au-row__props-line {
  margin: 0;
  font-size: var(--t-sm);
  line-height: 1.4;
  color: var(--c-fg-2);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.au-row__more {
  display: grid;
  grid-template-rows: 1fr;
  width: 100%;
}
.au-row__more-inner {
  display: grid;
  gap: .5rem;
  width: 100%;
  min-height: 0;
  padding-top: .45rem;
}
.au-row__offers {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-2);
}
.au-row__offers .au-pc__offer--hover {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-2);
}
.au-row__offers .au-pc__offer-label {
  flex: 0 0 auto;
  white-space: nowrap;
}
.au-row .au-pc__metrics {
  display: flex;
  flex-wrap: wrap;
  align-content: start;
  align-items: start;
  gap: var(--s-1);
}
.au-row .au-pc__metric {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: var(--s-1);
  padding: var(--s-1) var(--s-2);
  text-align: start;
}
.au-row .au-pc__metric-k,
.au-row .au-pc__metric-v {
  white-space: nowrap;
}
.au-row .au-pc__swatches {
  min-height: 0;
}
.au-row .au-pc__specs-line {
  -webkit-line-clamp: 2;
}
@media (hover: hover) {
  .au-row--hover-specs .au-row__more {
    grid-template-rows: 0fr;
    transition: grid-template-rows var(--d-base) var(--e-soft);
  }
  .au-row--hover-specs .au-row__more-inner {
    overflow: hidden;
    visibility: hidden;
    transition: visibility 0s linear var(--d-base);
  }
  .au-row--hover-specs:hover .au-row__more,
  .au-row--hover-specs:focus-within .au-row__more {
    grid-template-rows: 1fr;
  }
  .au-row--hover-specs:hover .au-row__more-inner,
  .au-row--hover-specs:focus-within .au-row__more-inner {
    visibility: visible;
    transition-delay: 0s;
  }
}
.au-row__side {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  align-self: center;
  justify-content: flex-end;
  gap: var(--s-3);
  min-width: 0;
  margin-top: 0;
}
.au-row__price {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-end;
  align-self: center;
  gap: var(--s-1);
  line-height: 1.15;
}
.au-row__side .au-price__now {
  font-size: var(--t-body);
  font-weight: 700;
  white-space: nowrap;
}
.au-row__side .au-price__old {
  font-size: var(--t-xs);
  white-space: nowrap;
}
.au-row__side .btn {
  flex: 0 0 auto;
  align-self: center;
  white-space: nowrap;
}
@media (max-width: 700px) {
  .au-row { grid-template-columns: 64px 1fr; }
  .au-row__side {
    grid-column: 1 / -1;
    justify-content: flex-start;
    width: 100%;
  }
  .au-row__side > .au-stock { justify-content: flex-start; }
}

/* Promo switch — demo */
.au-promo-checks {
  display: inline-flex;
  flex-wrap: wrap;
  gap: .4rem;
}
.au-promo-check {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  margin: 0;
  padding: .35rem .7rem;
  border-radius: var(--r-pill);
  border: 1px solid var(--c-line);
  background: var(--c-card);
  font-size: var(--t-xs);
  font-weight: 600;
  color: var(--c-fg-2);
  cursor: pointer;
  user-select: none;
}
.au-promo-check:has(input:checked) {
  border-color: color-mix(in oklab, var(--brand-400) 55%, var(--c-line));
  background: var(--tint-2);
  color: var(--brand-800);
}
.au-promo-check .au-check {
  margin: 0;
}
.au-promo [data-promo-action][hidden] {
  display: none !important;
}

/* Promo */
.au-promo {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 2rem;
  align-items: center;
  padding: 2.25rem 2rem;
  border-radius: var(--r-xl);
  color: #fff;
  box-shadow: var(--sh-2);
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: #141828;
  min-height: 300px;
}
.au-promo__photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 72% center;
  z-index: 0;
  pointer-events: none;
}
/* <picture> from Picture::html — same cover layer as hero/cta __bg > picture */
.au-promo > picture:has(> .au-promo__photo) {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
}
.au-promo[data-bg="photo"]::after,
.au-promo:not([data-bg])::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(
    100deg,
    rgb(12 14 22 / var(--au-dim-l, .72)) 0%,
    rgb(12 14 22 / var(--au-dim-m, .35)) 42%,
    rgb(12 14 22 / var(--au-dim-r, .08)) 100%
  );
}
.au-promo[data-bg="photo"][data-dim="none"],
.au-promo[data-dim="none"] {
  --au-dim-l: 0;
  --au-dim-m: 0;
  --au-dim-r: 0;
}
.au-promo[data-bg="photo"][data-dim="soft"] {
  --au-dim-l: .42;
  --au-dim-m: .18;
  --au-dim-r: .04;
}
.au-promo[data-bg="photo"][data-dim="mid"],
.au-promo[data-bg="photo"]:not([data-dim]) {
  --au-dim-l: .72;
  --au-dim-m: .35;
  --au-dim-r: .08;
}
.au-promo[data-bg="photo"][data-dim="strong"] {
  --au-dim-l: .86;
  --au-dim-m: .55;
  --au-dim-r: .22;
}
.au-promo[data-bg="photo"][data-dim="max"] {
  --au-dim-l: .94;
  --au-dim-m: .78;
  --au-dim-r: .45;
}
.au-promo[data-bg="photo"][data-dim="none"]::after {
  display: none;
}
.au-promo[data-bg="gradient"] {
  background-image: linear-gradient(
    135deg,
    var(--promo-bg-color, var(--brand-800)) 0%,
    var(--promo-bg-color, var(--brand-600)) 48%,
    var(--brand-400) 100%
  );
}
.au-promo[data-bg="gradient"] .au-promo__photo,
.au-promo[data-bg="gradient"] > picture,
.au-promo[data-bg="gradient"]::after {
  display: none;
}
.au-promo > *:not(.au-promo__photo):not(picture) { position: relative; z-index: 1; }
.au-promo .lead { color: rgb(255 255 255 / .8); }
.au-promo .au-cd { margin-top: 1.25rem; margin-bottom: 0; }
.au-promo .au-cd[hidden] { display: none !important; }
.au-promo .au-cd__cell {
  background: rgb(0 0 0 / .28);
  border: 1px solid rgb(255 255 255 / .12);
}
.au-promo__box {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 1rem;
  /* glassmorphism — матовое стекло над фото, не глухая плашка */
  background: linear-gradient(
    165deg,
    rgb(255 255 255 / .42) 0%,
    rgb(255 255 255 / .22) 100%
  );
  color: var(--c-fg);
  border-radius: var(--r-lg);
  padding: 1.85rem 1.35rem 1.35rem;
  -webkit-backdrop-filter: blur(28px) saturate(1.45);
  backdrop-filter: blur(28px) saturate(1.45);
  border: 1px solid rgb(255 255 255 / .55);
  box-shadow:
    0 12px 40px rgb(0 0 0 / .16),
    inset 0 1px 0 rgb(255 255 255 / .65);
}
/* скидка — акцентный бейдж на уголке */
.au-promo__sale {
  position: absolute;
  top: 0;
  right: .95rem;
  transform: translateY(-50%);
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.25rem;
  padding: .4rem .95rem;
  border-radius: var(--r-pill);
  background: var(--sale);
  color: #fff;
  font-family: var(--f-num);
  font-size: var(--t-sale-badge);
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1;
  box-shadow: 0 6px 18px color-mix(in oklab, var(--sale) 40%, transparent);
}
.au-promo__prices {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: center;
  gap: .15rem .75rem;
  min-width: 0;
  padding: .1rem 2.5rem 0; /* место под бейдж скидки справа */
  text-align: center;
}
.au-promo__now {
  font-size: var(--t-metric-secondary);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -.03em;
  color: #2a2e36;
  /* лёгкая «вдавленность» в стекло */
  text-shadow:
    0 1px 0 rgb(255 255 255 / .55),
    0 -1px 1px rgb(20 24 32 / .18);
}
.au-promo__old {
  font-size: 1.12rem;
  font-weight: 700;
  text-decoration: line-through;
  text-decoration-thickness: 1.5px;
  text-decoration-color: rgb(42 46 54 / .45);
  color: #5c6470;
  text-shadow: 0 1px 0 rgb(255 255 255 / .35);
}
/* кнопки — столбиком на всю ширину (как раньше), цвета шаблона */
.au-promo__actions {
  display: flex;
  flex-direction: column;
  gap: .65rem;
}
.au-promo__actions .btn {
  width: 100%;
}
.au-promo__actions .btn[hidden] {
  display: none !important;
}
@media (max-width: 860px) {
  .au-promo {
    grid-template-columns: 1fr;
    align-items: stretch;
    min-height: 0;
  }
  .au-promo__photo { object-position: center; }
}

/* Services */
.au-svc {
  height: 100%;
  padding: 1.25rem;
  border-radius: var(--r-xl);
  background: var(--c-card);
  border: 1px solid color-mix(in oklab, var(--c-line) 85%, transparent);
  box-shadow: var(--sh-1);
  display: flex;
  flex-direction: column;
  gap: 1rem;
  position: relative;
}
.au-svc:hover { box-shadow: var(--sh-2); }
.au-svc__art {
  aspect-ratio: 16/10;
  border: 0;
  border-radius: var(--r-md);
  background: var(--c-card);
  display: grid;
  place-items: center;
  cursor: pointer;
  padding: 0;
  width: 100%;
  overflow: hidden;
  color: inherit;
  text-decoration: none;
}
.au-svc__art:not(a):not(button) {
  cursor: default;
}
.au-svc__art svg { width: 42%; }
.au-svc__art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.au-svc h3,
.au-svc .au-svc__title {
  font-family: var(--f-display);
  font-size: var(--t-h3);
  font-weight: 700;
  letter-spacing: var(--ls-head);
  line-height: var(--lh-head);
  margin: 0;
}

/* Services picker — категории + медиа + прайс */
.au-svc-picker {
  display: grid;
  gap: 1.75rem;
}
.au-svc-picker__chips {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem .75rem;
  padding-bottom: 1.15rem;
  border-bottom: 1px solid var(--c-line);
  width: fit-content;
  max-width: 100%;
}
.au-opt--brand {
  position: relative;
  color: var(--brand-600);
  border-color: var(--brand-600);
  background: transparent;
}
.au-opt--brand:hover {
  box-shadow: 0 4px 18px color-mix(in oklab, var(--brand-600) 22%, transparent);
}
.au-opt--brand.active {
  background: var(--brand-100);
  border-color: var(--brand-200);
  color: var(--brand-800);
  box-shadow: none;
}
.au-opt--brand.active::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: calc(-1.15rem - 1px);
  width: 0;
  height: 0;
  transform: translateX(-50%);
  border-left: .45rem solid transparent;
  border-right: .45rem solid transparent;
  border-top: .45rem solid var(--brand-600);
}
.au-svc-picker__main {
  display: grid;
  gap: 1rem 1.5rem;
}
@media (min-width: 992px) {
  /* title над фото; список на уровне фото и не ниже него */
  .au-svc-picker__main {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: .85rem 2rem;
    align-items: start;
  }
  .au-svc-picker__title {
    grid-column: 1;
    grid-row: 1;
  }
  .au-svc-picker__photo {
    grid-column: 1;
    grid-row: 2;
  }
  .au-svc-picker__list {
    grid-column: 2;
    grid-row: 2;
    aspect-ratio: 16 / 10;
    max-height: none;
    height: auto;
    min-height: 0;
    /* первая строка прайса — на уровне конца скругления фото */
    padding-top: var(--r-xl);
    box-sizing: border-box;
  }
}
.au-svc-picker__title {
  margin: 0;
  font-family: var(--f-display);
  font-size: var(--t-h3);
  font-weight: 700;
  letter-spacing: var(--ls-head);
  line-height: var(--lh-head);
  color: var(--c-fg);
}
.au-svc-picker__photo {
  margin: 0;
  border-radius: var(--r-xl);
  overflow: hidden;
  background: var(--c-card);
  aspect-ratio: 16 / 10;
}
.au-svc-picker__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.au-svc-picker__cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 1.25rem;
  padding: 1rem 1.15rem;
  border-radius: var(--r-xl);
  background: var(--c-card);
  border: 1px solid color-mix(in oklab, var(--c-line) 85%, transparent);
  box-shadow: var(--sh-1);
}
.au-svc-picker__cta-left {
  flex: 1 1 14rem;
  min-width: 0;
  font-family: var(--f-body);
  font-size: var(--t-body);
  line-height: var(--lh-body);
  color: var(--c-fg-2);
}
.au-svc-picker__cta-left > :first-child { margin-top: 0; }
.au-svc-picker__cta-left > :last-child { margin-bottom: 0; }
.au-svc-picker__cta-right {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem 1rem;
  flex: 0 1 auto;
}
.au-svc-picker__cta-note {
  font-size: var(--t-sm);
  line-height: var(--lh-body);
  color: var(--c-fg-3);
}
.au-svc-picker__list {
  min-width: 0;
  max-height: min(22rem, 60vh);
  overflow-x: hidden;
  overflow-y: auto;
  padding-right: .35rem;
  scrollbar-width: thin;
  scrollbar-color: var(--brand-600) var(--tint-2);
}
@media (min-width: 992px) {
  .au-svc-picker__list {
    max-height: none; /* высота строки сетки = высота фото */
  }
}
.au-svc-picker__list::-webkit-scrollbar {
  width: .35rem;
}
.au-svc-picker__list::-webkit-scrollbar-track {
  background: var(--tint-2);
  border-radius: var(--r-pill);
}
.au-svc-picker__list::-webkit-scrollbar-thumb {
  background: var(--brand-600);
  border-radius: var(--r-pill);
}
.au-svc-picker__prices {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem 1.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 576px) {
  .au-svc-picker__prices {
    grid-template-columns: 1fr 1fr;
  }
}
.au-svc-picker__row {
  display: grid;
  gap: .2rem;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  text-align: left;
  cursor: pointer;
  font: inherit;
  color: inherit;
  text-decoration: none;
}
.au-svc-picker__row:not(a):not(button) {
  cursor: default;
}
.au-svc-picker__row:hover .au-svc-picker__name {
  color: var(--brand-700);
}
.au-svc-picker__name {
  font-family: var(--f-body);
  font-size: var(--t-body);
  font-weight: 500;
  line-height: var(--lh-body);
  color: var(--c-fg-2);
  transition: color .15s var(--e-soft);
}
.au-svc-picker__price {
  font-family: var(--f-body);
  font-size: var(--t-body);
  font-weight: 700;
  line-height: var(--lh-head);
  color: var(--brand-600);
  font-variant-numeric: tabular-nums;
}
.au-svc-picker__price.au-price .au-price__now {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
}

/* Модалка услуги: с картинкой / без */
.au-service-modal-shell {
  position: relative;
  padding: .75rem;
}
.au-service-modal__close {
  position: absolute;
  top: .85rem;
  right: .85rem;
  z-index: 20;
  pointer-events: auto;
}
#modalService[data-service-media="off"] .au-service-modal__media {
  display: none;
}
#modalService[data-service-media="off"] .au-service-modal__form {
  flex: 0 0 100%;
  max-width: 100%;
  width: 100%;
}
#modalService .au-service-modal__form .au-form__head {
  padding-right: 1.75rem;
}
#modalService .au-service-modal {
  align-items: stretch;
}
#modalService .au-service-modal__media {
  display: flex;
  flex-direction: column;
}
#modalService .au-service-modal__media .au-qv-media {
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  min-height: 0;
  aspect-ratio: auto;
  background: var(--c-card);
}
#modalService .au-form--modal {
  padding: 0;
  background: transparent;
  box-shadow: none;
  border: 0;
}
/* Mobile: hide service image so form + CTA fit the viewport */
@media (max-width: 767.98px) {
  #modalService .au-service-modal__media {
    display: none;
  }
  #modalService .au-service-modal__form {
    flex: 0 0 100%;
    max-width: 100%;
    width: 100%;
  }
  #modalService .au-service-modal-shell {
    padding: .5rem .65rem .65rem;
  }
}

.au-svc__meta { color: var(--c-fg-2); font-size: var(--t-sm); margin: 0; }
.au-svc > .btn {
  width: 100%;
  margin-top: auto;
}
.au-svc__hit {
  display: flex;
  flex-direction: column;
  gap: inherit;
  flex: 1 1 auto;
  min-width: 0;
  color: inherit;
  text-decoration: none;
}
.au-svc__hit .au-svc__art {
  cursor: pointer;
}
a.au-row__price {
  color: inherit;
  text-decoration: none;
}
/* Services detail photo: full content width, panoramic crop (~half of 4:3). */
.au-svc-detail__media {
  margin: 0 0 1rem;
  width: 100%;
  aspect-ratio: 21 / 9;
  border-radius: var(--r-md);
  overflow: hidden;
  background: var(--c-card);
}
.au-svc-detail__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Before / After. A hidden slide stays in the grid so a shorter
   case does not pull the next section up. */
.au-ba-deck--multi .au-ba-deck__track {
  display: grid;
}
.au-ba-deck--multi .au-ba-slide {
  grid-area: 1 / 1;
}
.au-ba-deck--multi .au-ba-slide[hidden] {
  display: block !important;
  visibility: hidden;
  pointer-events: none;
}
.au-ba-layout {
  display: flex;
  flex-wrap: wrap;
}
.au-ba-layout__media,
.au-ba-layout__copy {
  min-width: 0;
}
[data-ba-layout="media-right"] .au-ba-layout__media {
  order: 2;
}
[data-ba-layout="media-right"] .au-ba-layout__copy {
  order: 1;
}
[data-ba-layout="media-full"] .au-ba-layout {
  align-items: stretch !important;
}
[data-ba-layout="media-full"] .au-ba-layout__copy {
  display: none !important;
}
[data-ba-layout="media-full"] .au-ba-layout__media {
  flex: 0 0 100%;
  max-width: 100%;
  width: 100%;
}
[data-ba-layout="media-full"] .au-ba {
  width: 100%;
  aspect-ratio: 16 / 9;
}
@media (max-width: 991.98px) {
  [data-ba-layout="media-right"] .au-ba-layout__media,
  [data-ba-layout="media-right"] .au-ba-layout__copy {
    order: initial;
  }
  [data-ba-layout="media-full"] .au-ba {
    aspect-ratio: 4 / 3;
  }
}
.au-ba {
  position: relative;
  aspect-ratio: 4/3;
  border-radius: var(--r-xl);
  overflow: hidden;
  touch-action: none;
  user-select: none;
  box-shadow: var(--sh-2);
  cursor: ew-resize;
}
.au-ba__layer {
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.au-ba__before { background: var(--tint-3); }
.au-ba__after {
  background: var(--brand-100);
  clip-path: inset(0 0 0 var(--sp, 50%));
}
.au-ba__layer svg {
  position: absolute;
  inset: 0;
  width: 45%;
  height: auto;
  margin: auto;
}
.au-ba__layer img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.au-ba__tag {
  position: absolute;
  top: 12px;
  z-index: 2;
  padding: 4px 10px;
  border-radius: var(--r-pill);
  font-size: var(--t-xs);
  font-weight: 700;
  background: rgb(0 0 0 / .55);
  color: #fff;
}
.au-ba__tag--l { left: 12px; }
.au-ba__tag--r { right: 12px; }
.au-ba__handle {
  position: absolute;
  top: 0;
  bottom: 0;
  left: var(--sp, 50%);
  width: 3px;
  background: #fff;
  transform: translateX(-50%);
  z-index: 3;
}
.au-ba__handle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 40px;
  height: 40px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: #fff;
  box-shadow: var(--sh-2);
}
.au-fig b {
  display: block;
  font-family: var(--f-display);
  font-size: var(--t-metric-primary);
  font-weight: 800;
  color: var(--brand-600);
  letter-spacing: var(--ls-display);
}
.au-fig span { color: var(--c-fg-2); font-size: var(--t-sm); }

/* Docs — card chrome = kit (--r-xl + line + --sh-1) */
.au-doc {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: .65rem;
  height: 100%;
  padding: .75rem;
  border-radius: var(--r-xl);
  background: var(--c-surface);
  border: 1px solid var(--c-line);
  box-shadow: var(--sh-1);
  color: inherit;
}
.au-doc:hover {
  box-shadow: var(--sh-2);
}
/*
 * LOCKED (Kinder 1.8.144, owner OK). See .cursor/rules/aurora-design-system.mdc
 * «Card hover + reveal». Do not split photo/no-photo. Do not add img zoom,
 * CSS `scale`, shadow transition, z-index, or ::after blob on this node.
 */
.au-feat,
.au-pc,
.au-svc,
.au-price-card,
.au-case,
.au-doc,
.au-obj,
.au-sc,
.au-brand {
  position: relative;
  transform: translate3d(0, 0, 0);
  transform-origin: center center;
  transition: transform .32s var(--e-soft);
}
.au-feat.au-reveal,
.au-pc.au-reveal,
.au-svc.au-reveal,
.au-price-card.au-reveal,
.au-case.au-reveal,
.au-doc.au-reveal,
.au-obj.au-reveal,
.au-sc.au-reveal,
.au-brand.au-reveal {
  transition:
    opacity .5s var(--e-soft) var(--au-reveal-delay, 0s),
    transform .32s var(--e-soft);
}
.au-feat.au-reveal:not(.is-in),
.au-pc.au-reveal:not(.is-in),
.au-svc.au-reveal:not(.is-in),
.au-price-card.au-reveal:not(.is-in),
.au-case.au-reveal:not(.is-in),
.au-doc.au-reveal:not(.is-in),
.au-obj.au-reveal:not(.is-in),
.au-sc.au-reveal:not(.is-in),
.au-brand.au-reveal:not(.is-in) {
  opacity: 0;
  transform: translate3d(0, 0, 0);
}
.au-feat.au-reveal.is-in,
.au-pc.au-reveal.is-in,
.au-svc.au-reveal.is-in,
.au-price-card.au-reveal.is-in,
.au-case.au-reveal.is-in,
.au-doc.au-reveal.is-in,
.au-obj.au-reveal.is-in,
.au-sc.au-reveal.is-in,
.au-brand.au-reveal.is-in {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
@media (hover: hover) and (pointer: fine) {
  :is(.au-feat, .au-pc, .au-svc, .au-price-card, .au-case, .au-doc, .au-sc, .au-brand):hover,
  :is(.au-feat, .au-pc, .au-svc, .au-price-card, .au-case, .au-doc, .au-sc, .au-brand).au-reveal:hover,
  :is(.au-feat, .au-pc, .au-svc, .au-price-card, .au-case, .au-doc, .au-sc, .au-brand).au-reveal.is-in:hover,
  .au-obj:has(.au-obj__hit:hover),
  .au-obj.au-reveal:has(.au-obj__hit:hover),
  .au-obj.au-reveal.is-in:has(.au-obj__hit:hover),
  .au-obj:has(.au-obj__hit:focus-visible) {
    transform: translate3d(0, 0, 0) scale(1.02);
  }
}
[data-cct-product-slider] .carousel-item {
  transform-style: flat;
}
.au-feats,
.au-pricing-grid,
.au-sc-grid,
#au-product-grid,
#au-product-grid > [class*="col"],
[data-cct-product-grid],
[data-cct-product-grid] > [class*="col"],
[data-cct-product-slider] .row,
[data-cct-product-slider] .row > [class*="col"],
.au-feats > *,
.au-pricing-grid > *,
.au-sc-grid > * {
  overflow: visible;
}
/* Drop-panel (.au-pc__more) hangs below the card. Same room on grid and rail. */
#au-product-grid,
[data-cct-product-grid],
[data-cct-product-slider],
#au-product-slider {
  --au-pc-more-room: 12rem;
}
/* Reserve paint space for the specs drop-panel so it never grows scrollHeight
   (scrollbar appear → width jump → hover thrash on the last row). */
@media (hover: hover) and (pointer: fine) {
  #au-product-grid,
  [data-cct-product-grid] {
    padding-bottom: var(--au-pc-more-room);
    margin-bottom: calc(var(--au-pc-more-room) * -1);
    position: relative;
    z-index: 1;
    /* Empty reserve box sits over the pager; let clicks through. Cards keep auto. */
    pointer-events: none;
  }
  #au-product-grid > [class*="col"],
  [data-cct-product-grid] > [class*="col"] {
    pointer-events: auto;
  }
}
#au-product-grid > [class*="col"],
[data-cct-product-grid] > [class*="col"],
[data-cct-product-slider] .row > [class*="col"] {
  position: relative;
  z-index: 0;
}
#au-product-grid > [class*="col"]:has(.au-pc:hover),
#au-product-grid > [class*="col"]:has(.au-pc:focus-within),
[data-cct-product-grid] > [class*="col"]:has(.au-pc:hover),
[data-cct-product-grid] > [class*="col"]:has(.au-pc:focus-within),
[data-cct-product-slider] .row > [class*="col"]:has(.au-pc:hover),
[data-cct-product-slider] .row > [class*="col"]:has(.au-pc:focus-within) {
  z-index: 3;
}
/* Looping rail only: lift clip so scale paints. Bounded rails stay clipped
   (gift 1.8.327 + viewed / preview) — hover must not open an empty page. */
@media (hover: hover) and (pointer: fine) {
  [data-cct-product-slider]:not([data-cct-slider-bounded="1"]).carousel-inner:has(.au-pc:is(:hover, :focus-within)) {
    overflow: visible;
  }
  [data-cct-product-slider]:not([data-cct-slider-bounded="1"]) .carousel-item:has(.au-pc:is(:hover, :focus-within)) {
    overflow: visible;
    backface-visibility: visible;
    z-index: 4;
  }
  [data-cct-product-slider].carousel-inner:has(.carousel-item-next),
  [data-cct-product-slider].carousel-inner:has(.carousel-item-prev),
  [data-cct-product-slider].is-rail-moving {
    overflow: hidden;
  }
}
.au-doc__preview {
  position: relative;
  aspect-ratio: 3/4;
  border-radius: var(--r-md);
  overflow: hidden;
  background: var(--c-card);
  display: block;
}
.au-doc__media {
  display: block;
  width: 100%;
  height: 100%;
  color: inherit;
  text-decoration: none;
}
.au-doc__preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.au-doc__copy {
  display: flex;
  flex-direction: column;
  gap: .2rem;
  color: inherit;
  text-decoration: none;
  min-width: 0;
}
.au-doc__copy:hover { color: inherit; }
.au-doc__name {
  font-family: var(--f-display);
  font-weight: 700;
  font-size: var(--t-sm);
  line-height: 1.3;
}
.au-doc__meta {
  font-size: var(--t-xs);
  color: var(--c-fg-3);
}
.au-doc__pdf {
  position: absolute;
  top: .55rem;
  right: .55rem;
  z-index: 2;
}
#au-docs-slider .au-doc { height: 100%; }

/* PDF badge (карточка документа + lightbox) */
.au-pdf-badge {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  padding: .35rem .6rem;
  border-radius: var(--r-md);
  background: var(--brand-600);
  color: var(--brand-fg);
  font-family: var(--f-display);
  font-size: var(--t-xs);
  font-weight: 700;
  letter-spacing: .04em;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 1px 2px color-mix(in oklab, #000 18%, transparent);
  transition: background .15s var(--e-soft), transform .15s var(--e-soft);
}
.au-pdf-badge span {
  min-width: 0;
}
.au-pdf-badge:hover {
  color: var(--brand-fg);
  background: var(--brand-700);
  transform: translateY(-1px);
}
.au-pdf-badge[hidden] { display: none !important; }
.au-pdf-badge svg {
  width: 1rem;
  height: 1rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex: 0 0 auto;
}
.au-lightbox__stage .au-pdf-badge {
  position: absolute;
  top: 1.35rem;
  right: 3.5rem;
  z-index: 4;
}
@media (max-width: 575.98px) {
  .au-lightbox__stage .au-pdf-badge {
    right: 1rem;
    top: 1rem;
  }
}

/* Stats */
.au-stat {
  padding: 1.5rem 1rem;
  border-radius: var(--r-xl);
  background: var(--c-card);
  border: 1px solid color-mix(in oklab, var(--c-line) 85%, transparent);
  box-shadow: var(--sh-1);
  height: 100%;
}
.au-stat .au-num {
  display: block;
  font-family: var(--f-display);
  font-size: var(--t-metric-secondary);
  font-weight: 800;
  color: var(--brand-600);
  letter-spacing: var(--ls-display);
  line-height: 1.1;
}
.au-stat span {
  display: block;
  margin-top: .45rem;
  color: var(--c-fg-2);
  font-size: var(--t-sm);
}

/* Stats band — сетка или слайдер (>4); стрелки = kit .au-arrow--soft (как партнёры) */
.au-stats {
  --au-stats-gap: .75rem;
  position: relative;
}
.au-stats[data-layout="grid"] .au-stats__grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--au-stats-gap);
  text-align: center;
}
@media (min-width: 992px) {
  .au-stats[data-layout="grid"] .au-stats__grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
.au-stats[data-layout="slider"] {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: .65rem;
  min-width: 0;
  overflow: hidden;
  contain: inline-size;
}
.au-stats__viewport {
  overflow: hidden;
  min-width: 0;
  touch-action: pan-y;
  padding: .45rem 0;
  margin: -.45rem 0;
}
.au-stats__track {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: var(--au-stats-gap);
  will-change: transform;
  transition: transform .35s var(--e-soft);
  text-align: center;
}
.au-stats__track > li {
  flex: 0 0 calc((100% - (var(--au-stats-visible, 2) - 1) * var(--au-stats-gap)) / var(--au-stats-visible, 2));
  min-width: 0;
}

/* Mosaic hover strip — full-bleed 1–4 tiles; photo + dim; hover panel reveal */
.au-sec--mosaic {
  padding-bottom: 0;
}
.au-sec--no-pad-top {
  padding-top: 0;
}
.au-sec--mosaic .au-mosaic {
  margin-top: 0;
}
.au-mosaic {
  --au-mosaic-hover: var(--c-fg);
  --au-mosaic-fg: #fff;
  --au-mosaic-hover-a: .88;
  --au-mosaic-min-h: clamp(16rem, 28vw, 22rem);
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin: 0;
  padding: 0;
}
.au-mosaic__tile {
  --au-dim-a: .55;
  position: relative;
  flex: 1 1 100%;
  min-height: var(--au-mosaic-min-h);
  overflow: hidden;
  color: var(--au-mosaic-fg);
  cursor: default;
  outline: none;
}
a.au-mosaic__tile--link {
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}
.au-mosaic__tile[data-title-align="left"] .au-mosaic__title,
.au-mosaic__tile[data-title-align="left"] .au-mosaic__eyebrow {
  text-align: left;
}
.au-mosaic__tile[data-title-align="center"] .au-mosaic__title,
.au-mosaic__tile[data-title-align="center"] .au-mosaic__eyebrow {
  text-align: center;
}
.au-mosaic__eyebrow {
  color: inherit;
  display: block;
  margin: 0 0 .35rem;
}
.au-mosaic[data-cols="1"] .au-mosaic__tile { flex-basis: 100%; }
.au-mosaic[data-cols="2"] .au-mosaic__tile { flex-basis: 50%; }
.au-mosaic[data-cols="3"] .au-mosaic__tile { flex-basis: 33.333%; }
.au-mosaic[data-cols="4"] .au-mosaic__tile { flex-basis: 25%; }
@media (max-width: 991.98px) {
  .au-mosaic[data-cols="3"] .au-mosaic__tile,
  .au-mosaic[data-cols="4"] .au-mosaic__tile { flex-basis: 50%; }
}
@media (max-width: 575.98px) {
  .au-mosaic .au-mosaic__tile { flex-basis: 100%; }
}
.au-mosaic__tile[data-dim="none"] { --au-dim-a: 0; }
.au-mosaic__tile[data-dim="soft"] { --au-dim-a: .35; }
.au-mosaic__tile[data-dim="mid"] { --au-dim-a: .55; }
.au-mosaic__tile[data-dim="strong"] { --au-dim-a: .72; }
.au-mosaic__tile[data-dim="max"] { --au-dim-a: .88; }
.au-mosaic__bg {
  position: absolute;
  inset: 0;
  background: var(--c-surface);
}
.au-mosaic__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: #000;
  opacity: var(--au-dim-a);
  transition: opacity .35s var(--e-soft, ease);
  z-index: 1;
}
.au-mosaic__photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.au-mosaic__panel {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 1.25rem 1.35rem 1.4rem;
  color: var(--au-mosaic-fg);
  transition: background-color .35s var(--e-soft, ease), justify-content .35s var(--e-soft, ease);
}
.au-mosaic__panel::before {
  content: "";
  position: absolute;
  inset: 0;
  background: color-mix(in oklab, var(--au-mosaic-hover) calc(var(--au-mosaic-hover-a) * 100%), transparent);
  opacity: 0;
  transform: translateY(12%);
  transition: opacity .35s var(--e-soft, ease), transform .4s var(--e-soft, ease);
  z-index: -1;
}
.au-mosaic__title {
  margin: 0;
  font-family: var(--f-display);
  font-size: var(--t-card-title-sm);
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  line-height: 1.3;
  text-align: center;
  transition: transform .35s var(--e-soft, ease), text-align .2s ease;
}
.au-mosaic__body {
  margin: 0;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  font-size: var(--t-lead);
  line-height: var(--lh-body);
  text-align: left;
  transition: max-height .4s var(--e-soft, ease), opacity .3s var(--e-soft, ease), margin .3s ease;
}
.au-mosaic__tile:hover .au-mosaic__panel,
.au-mosaic__tile:focus-within .au-mosaic__panel,
.au-mosaic__tile.is-open .au-mosaic__panel {
  justify-content: flex-start;
  padding-top: 1.5rem;
}
.au-mosaic__tile:hover .au-mosaic__panel::before,
.au-mosaic__tile:focus-within .au-mosaic__panel::before,
.au-mosaic__tile.is-open .au-mosaic__panel::before {
  opacity: 1;
  transform: translateY(0);
}
.au-mosaic__tile:hover .au-mosaic__bg::after,
.au-mosaic__tile:focus-within .au-mosaic__bg::after,
.au-mosaic__tile.is-open .au-mosaic__bg::after {
  opacity: 0;
}
.au-mosaic__tile:hover .au-mosaic__title,
.au-mosaic__tile:focus-within .au-mosaic__title,
.au-mosaic__tile.is-open .au-mosaic__title {
  text-align: left;
  margin-bottom: .75rem;
}
.au-mosaic__tile:hover .au-mosaic__body,
.au-mosaic__tile:focus-within .au-mosaic__body,
.au-mosaic__tile.is-open .au-mosaic__body {
  max-height: 12rem;
  opacity: 1;
  margin-top: .15rem;
}
@media (hover: none) {
  .au-mosaic__tile { cursor: pointer; }
}

/* About / media split — per-slide layout; multi → deck + slide (как value/hero) */
.au-about-deck {
  position: relative;
}
.au-about-deck__track {
  position: relative;
}
.au-about-deck--multi .au-about-deck__track {
  display: grid;
  overflow: hidden;
}
.au-about-deck--multi .au-about-slide {
  grid-area: 1 / 1;
  transition: none;
}
.au-about-deck--multi .au-about-slide[hidden],
.au-about-deck--multi .au-about-slide:not(.is-active) {
  display: block !important;
  position: relative;
  width: 100%;
  pointer-events: none;
  visibility: hidden;
  z-index: 0;
  transform: translate3d(100%, 0, 0);
}
.au-about-deck--multi .au-about-slide.is-active {
  position: relative;
  transform: translate3d(0, 0, 0);
  visibility: visible;
  pointer-events: auto;
  z-index: 1;
}
.au-about-deck--multi .au-about-slide.is-sliding {
  visibility: visible;
  transition: transform .55s cubic-bezier(.22, 1, .36, 1);
  will-change: transform;
}
.au-about-deck--multi .au-about-slide.is-slide-from-end {
  transform: translate3d(100%, 0, 0);
  z-index: 2;
}
.au-about-deck--multi .au-about-slide.is-slide-from-start {
  transform: translate3d(-100%, 0, 0);
  z-index: 2;
}
.au-about-deck--multi .au-about-slide.is-slide-to-start {
  transform: translate3d(-100%, 0, 0);
  z-index: 1;
}
.au-about-deck--multi .au-about-slide.is-slide-to-end {
  transform: translate3d(100%, 0, 0);
  z-index: 1;
}
.au-about-deck--multi .au-about-slide.is-active.is-sliding:not(.is-slide-from-end):not(.is-slide-from-start) {
  transform: translate3d(0, 0, 0);
  z-index: 2;
}
@media (prefers-reduced-motion: reduce) {
  .au-about-deck--multi .au-about-slide,
  .au-about-deck--multi .au-about-slide.is-sliding {
    transition: none !important;
    transform: none !important;
  }
}
.au-about-layout {
  display: flex;
  flex-wrap: wrap;
}
.au-about-layout__media,
.au-about-layout__copy {
  min-width: 0;
}
[data-about-layout="text-left"] .au-about-layout__media {
  order: 2;
}
[data-about-layout="text-left"] .au-about-layout__copy {
  order: 1;
}
@media (max-width: 991.98px) {
  [data-about-layout="text-left"] .au-about-layout__media,
  [data-about-layout="text-left"] .au-about-layout__copy {
    order: initial;
  }
}

.au-media-split {
  border-radius: var(--r-xl);
  overflow: hidden;
  aspect-ratio: 4/3;
  background: var(--c-card);
  box-shadow: var(--sh-2);
}
.au-media-split img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.au-check-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: .65rem;
}
.au-check-list li {
  position: relative;
  padding-left: 1.5rem;
  color: var(--c-fg-2);
  font-size: var(--t-body);
  line-height: var(--lh-body);
}
.au-check-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .45em;
  width: .7rem;
  height: .7rem;
  border-radius: 50%;
  background: var(--brand-500);
  box-shadow: inset 0 0 0 3px var(--c-page), 0 0 0 1px var(--brand-500);
}
/* Objects detail/modal: same check chrome, 2 cols from md. Do not change .au-check-list. */
.au-check-list--cols {
  margin-block: var(--s-5);
}
@media (min-width: 768px) {
  .au-check-list--cols {
    grid-template-columns: 1fr 1fr;
    column-gap: var(--s-6);
  }
}
.au-prose .au-check-list {
  list-style: none;
  padding-left: 0;
  gap: .65rem;
}
.au-prose .au-check-list li {
  padding-left: 1.5rem;
}
.au-prose .au-check-list li::marker {
  content: none;
}

/* Timeline / history */
[data-history-layout="list"] .au-hist {
  display: none !important;
}
[data-history-layout="rail"] .au-timeline {
  display: none !important;
}
.au-hist-head__copy {
  min-width: 0;
}

.au-timeline {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 1.25rem;
}
.au-timeline > li {
  display: grid;
  grid-template-columns: 5.5rem minmax(0, 1fr);
  gap: 1rem 1.25rem;
  align-items: center;
  padding: 1.25rem 1.35rem;
  border-radius: var(--r-xl);
  background: var(--c-card);
  border: 1px solid color-mix(in oklab, var(--c-line) 85%, transparent);
  box-shadow: var(--sh-1);
}
.au-timeline time {
  font-family: var(--f-display);
  font-weight: 800;
  font-size: var(--t-h3);
  color: var(--brand-600);
  letter-spacing: var(--ls-display);
  line-height: 1;
}
.au-timeline h3,
.au-timeline .au-hist__title {
  font-family: var(--f-display);
  font-size: var(--t-h3);
  font-weight: 700;
  letter-spacing: var(--ls-head);
  line-height: var(--lh-head);
  margin: 0 0 .35rem;
}
.au-timeline p {
  margin: 0;
  color: var(--c-fg-2);
  font-size: var(--t-body);
  line-height: var(--lh-body);
  max-width: none;
}
@media (max-width: 575.98px) {
  .au-timeline > li { grid-template-columns: 1fr; }
}

/* History · horizontal rail
   Compact card = year + title + teaser (no photo). Active = photo + full copy.
   Above/below slots are already the expanded height so photo open does not
   move the axis, arrows, or the next section. Do not put the body in a
   collapsing grid (overflow:hidden + auto rows hid year/title/teaser). */
.au-hist {
  --au-hist-ease: cubic-bezier(.33, 0, .2, 1);
  --au-hist-gap: 1.35rem;
  --au-hist-track-pad-y: 1rem;
  --au-hist-card-gap: 1.1rem;
  --au-hist-card-w: 17.5rem;
  --au-hist-media-h: 7.25rem;
  --au-hist-slot-h: calc(
    var(--au-hist-media-h)
    + .85rem + 1rem
    + (var(--t-h3) * var(--lh-head) * 2)
    + .4rem
    + (var(--t-body) * var(--lh-body) * 5)
    + 2px
  );
  margin: 0;
  min-width: 0;
  overflow-anchor: none;
}
[data-history-layout="rail"] {
  overflow-anchor: none;
}
.au-hist-rail {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: .75rem;
  overflow-anchor: none;
}
.au-hist__stage {
  position: relative;
  min-width: 0;
}
.au-hist__nav {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border: 1px solid var(--c-line);
  border-radius: var(--r-pill);
  background: var(--c-card);
  color: var(--brand-700);
  box-shadow: var(--sh-1);
  padding: 0;
  flex-shrink: 0;
  cursor: pointer;
  transition: background .2s var(--au-hist-ease), color .2s var(--au-hist-ease), opacity .2s var(--au-hist-ease), border-color .2s var(--au-hist-ease);
}
.au-hist__nav svg {
  width: 1.15rem;
  height: 1.15rem;
  stroke: currentColor;
  stroke-width: 2.2;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}
/* одна и та же стрелка ← ; вправо — зеркало, чтобы оптический центр совпал */
.au-hist__nav--next svg {
  transform: scaleX(-1);
}
.au-hist__nav:hover:not(:disabled) {
  background: var(--brand-600);
  border-color: var(--brand-600);
  color: var(--brand-fg, #fff);
}
.au-hist__nav:disabled {
  opacity: .35;
  cursor: default;
}
.au-hist__viewport {
  position: relative;
  z-index: 1;
  width: 100%;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  scroll-behavior: auto; /* native wheel/trackpad; JS uses smooth only for arrows */
  scrollbar-width: none;
  outline: none;
}
.au-hist__viewport::-webkit-scrollbar {
  display: none;
}
.au-hist__viewport:focus-visible {
  box-shadow: 0 0 0 2px color-mix(in oklab, var(--brand-500) 45%, transparent);
  border-radius: var(--r-md);
}
.au-hist__track {
  list-style: none;
  margin: 0;
  padding: var(--au-hist-track-pad-y) calc(var(--au-hist-gap) / 2);
  display: flex;
  align-items: stretch;
  gap: var(--au-hist-gap);
  height: auto;
  width: max-content;
  min-width: 100%;
  position: relative;
  box-sizing: border-box;
}
/* Line under dots (z0); hit+thumb above cards (z3); viewport/dots in between (z1) */
.au-hist__axis-track {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 3px;
  margin: 0;
  padding: 0;
  transform: translateY(-50%);
  background: color-mix(in oklab, var(--c-line-2) 78%, transparent);
  border-radius: var(--r-pill);
  pointer-events: none;
  z-index: 0;
}
.au-hist__axis-bar {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 1.25rem;
  margin: 0;
  padding: 0;
  transform: translateY(-50%);
  background: transparent;
  cursor: pointer;
  touch-action: none;
  user-select: none;
  z-index: 3;
}
.au-hist__axis-bar:focus-visible {
  outline: 2px solid color-mix(in oklab, var(--brand-500) 50%, transparent);
  outline-offset: 4px;
}
.au-hist__item {
  flex: 0 0 var(--au-hist-card-w);
  width: var(--au-hist-card-w);
  position: relative;
  z-index: 1;
  display: flex;
  align-self: stretch;
  overflow-anchor: none;
}
.au-hist__item.is-active {
  z-index: 2;
}
.au-hist__col {
  position: relative;
  display: grid;
  grid-template-rows: 1fr auto 1fr;
  width: 100%;
  flex: 1 1 auto;
}
.au-hist__above,
.au-hist__below {
  display: flex;
  justify-content: center;
  overflow: visible;
  min-height: calc(var(--au-hist-slot-h) + var(--au-hist-card-gap));
}
.au-hist__above {
  align-items: flex-end;
  padding-bottom: var(--au-hist-card-gap);
}
.au-hist__below {
  align-items: flex-start;
  padding-top: var(--au-hist-card-gap);
}
.au-hist__axis {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 1.4rem;
  height: 1.4rem;
  justify-self: center;
  pointer-events: none;
}
.au-hist__dot {
  width: 1.05rem;
  height: 1.05rem;
  border-radius: 50%;
  background: var(--c-page);
  border: 3px solid var(--brand-600);
  box-shadow:
    0 0 0 4px color-mix(in oklab, var(--brand-500) 18%, transparent),
    var(--sh-1);
  pointer-events: none;
  transition: background .45s var(--au-hist-ease), transform .5s var(--au-hist-ease), box-shadow .45s var(--au-hist-ease);
}
.au-hist__item.is-active .au-hist__dot {
  background: var(--brand-600);
  transform: scale(1.18);
  box-shadow:
    0 0 0 6px color-mix(in oklab, var(--brand-500) 24%, transparent),
    var(--sh-2);
}
.au-hist__card {
  width: 100%;
  flex: 0 0 auto;
  margin: 0;
  display: flex;
  flex-direction: column;
  padding: 0;
  border-radius: var(--r-xl);
  background: var(--c-card);
  border: 1px solid color-mix(in oklab, var(--brand-500) 28%, var(--c-line));
  box-shadow: var(--sh-1);
  cursor: pointer;
  overflow: hidden;
  overflow-anchor: none;
  transition:
    border-color .45s var(--au-hist-ease),
    box-shadow .5s var(--au-hist-ease);
}
.au-hist__card:hover {
  border-color: color-mix(in oklab, var(--brand-500) 50%, var(--c-line));
}
.au-hist__item.is-active .au-hist__card {
  border-color: color-mix(in oklab, var(--brand-500) 45%, var(--c-line));
  box-shadow: var(--sh-2);
}
.au-hist__year {
  display: inline-flex;
  align-items: center;
  padding: .28rem .7rem;
  margin-bottom: .55rem;
  border-radius: var(--r-md);
  background: var(--brand-600);
  color: var(--brand-fg, #fff);
  font-family: var(--f-display);
  font-size: var(--t-xs);
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1.2;
}
.au-hist__year--plain {
  overflow: hidden;
  max-height: 2rem;
  opacity: 1;
}
.au-hist__item.is-active .au-hist__year--plain {
  max-height: 0;
  opacity: 0;
  margin: 0;
  padding-block: 0;
}
.au-hist__year--media {
  position: absolute;
  left: .75rem;
  bottom: .75rem;
  margin: 0;
  z-index: 1;
  opacity: 0;
  transform: translateY(.35rem);
  box-shadow: 0 1px 2px color-mix(in oklab, #000 22%, transparent);
  transition: opacity .55s var(--au-hist-ease) .12s, transform .7s var(--au-hist-ease) .08s;
}
.au-hist__item.is-active .au-hist__year--media {
  opacity: 1;
  transform: translateY(0);
}
.au-hist__body {
  padding: .85rem 1.05rem 1rem;
  min-width: 0;
  flex: 0 0 auto;
}
.au-hist__body h3,
.au-hist__body .au-hist__title {
  font-family: var(--f-display);
  font-size: var(--t-h3);
  font-weight: 700;
  letter-spacing: var(--ls-head);
  line-height: var(--lh-head);
  margin: 0 0 .4rem;
}
.au-hist__short,
.au-hist__full > p {
  margin: 0;
  color: var(--c-fg-2);
  font-size: var(--t-body);
  line-height: var(--lh-body);
  max-width: none;
}

/* Photo opens in the reserved slot. Copy height swaps instantly so short+full
   do not stack mid-click (that overshot the slot and moved the axis). */
.au-hist__media {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  flex: 0 0 auto;
  transition:
    grid-template-rows .8s var(--au-hist-ease),
    opacity .7s var(--au-hist-ease);
}
.au-hist__item.is-active .au-hist__media {
  grid-template-rows: 1fr;
  opacity: 1;
}
.au-hist__media-inner {
  position: relative;
  min-height: 0;
  overflow: hidden;
  background: var(--c-card);
}
.au-hist__media-inner img {
  width: 100%;
  height: var(--au-hist-media-h);
  object-fit: cover;
  display: block;
  transform: scale(1.04);
  transition: transform .85s var(--au-hist-ease);
}
.au-hist__item.is-active .au-hist__media-inner img {
  transform: scale(1);
}
.au-hist__short {
  overflow: hidden;
  max-height: 4.8em;
  opacity: 1;
  transition: opacity .45s var(--au-hist-ease);
}
.au-hist__item.is-active .au-hist__short {
  max-height: 0;
  opacity: 0;
  margin: 0;
}
.au-hist__full {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  overflow: hidden;
  transition: opacity .5s var(--au-hist-ease);
}
.au-hist__item.is-active .au-hist__full {
  grid-template-rows: 1fr;
  opacity: 1;
  overflow: visible;
}
.au-hist__full > p {
  min-height: 0;
  overflow: hidden;
}
.au-hist__item.is-active .au-hist__full > p {
  min-height: auto;
  overflow: visible;
}

/* Fill lives in axis-track (under dots); thumb in axis-bar (above) */
.au-hist__progress-fill {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 0%;
  margin: 0;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--brand-500), var(--brand-600));
  pointer-events: none;
}
/* Scrubber ≠ year dots: larger hollow ring + soft halo (dots stay smaller markers). */
.au-hist__progress-thumb {
  position: absolute;
  top: 50%;
  left: 0%;
  width: 1.55rem;
  height: 1.55rem;
  border-radius: 50%;
  background: var(--c-card);
  border: 3px solid var(--brand-600);
  box-shadow:
    0 0 0 5px color-mix(in oklab, var(--brand-500) 20%, transparent),
    var(--sh-1);
  transform: translate(-50%, -50%);
  pointer-events: none;
  z-index: 1;
}
.au-hist__axis-bar.is-dragging .au-hist__progress-thumb {
  transform: translate(-50%, -50%) scale(1.08);
  background: var(--brand-600);
  box-shadow:
    0 0 0 6px color-mix(in oklab, var(--brand-500) 28%, transparent),
    var(--sh-2);
}
@media (max-width: 767.98px) {
  .au-hist {
    --au-hist-card-w: min(78vw, 17rem);
    --au-hist-gap: 1rem;
    --au-hist-media-h: 6.5rem;
  }
  .au-hist-rail {
    grid-template-columns: minmax(0, 1fr);
    gap: .85rem;
  }
  .au-hist__nav {
    display: none;
  }
  /* Phone: year dots stay; the traveling scrubber fights iOS scroll. */
  .au-hist__progress-thumb,
  .au-hist__progress-fill {
    display: none;
  }
  .au-hist__track {
    padding-inline: .35rem;
  }
  /* Phone: do not interpolate 0fr (Safari pops). Open the slot, fade the photo. */
  .au-hist__media {
    opacity: 1;
    transition: grid-template-rows 0s linear .65s;
  }
  .au-hist__item.is-active .au-hist__media {
    transition: grid-template-rows 0s;
  }
  .au-hist__media-inner img {
    opacity: 0;
    transition: opacity .65s var(--au-hist-ease), transform .65s var(--au-hist-ease);
  }
  .au-hist__item.is-active .au-hist__media-inner img {
    opacity: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  .au-hist__dot,
  .au-hist__card,
  .au-hist__media,
  .au-hist__media-inner img,
  .au-hist__short,
  .au-hist__full,
  .au-hist__year--plain,
  .au-hist__year--media {
    transition: none !important;
  }
}

/* Team */
.au-person {
  text-align: center;
}
.au-person__media {
  position: relative;
  display: block;
  border-radius: var(--r-xl);
  overflow: hidden;
  margin-bottom: .85rem;
  background: var(--c-card);
  isolation: isolate;
}
.au-person__media img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  border-radius: inherit;
  display: block;
  transition: transform .7s var(--e-soft);
}
/* Квадрат: спикеры мероприятия и опция «Команда» */
.au-speakers .au-person__media img,
#team[data-team-photo="square"] .au-person__media img {
  aspect-ratio: 1;
  height: auto;
}
.au-person__media::after {
  content: "";
  position: absolute;
  inset: -20% -40%;
  background: linear-gradient(
    115deg,
    transparent 38%,
    rgb(255 255 255 / .08) 44%,
    rgb(255 255 255 / .55) 50%,
    rgb(255 255 255 / .12) 56%,
    transparent 62%
  );
  transform: translateX(-70%) rotate(8deg);
  opacity: 0;
  pointer-events: none;
  z-index: 1;
}
.au-person:hover .au-person__media img {
  transform: scale(1.04);
}
.au-person:hover .au-person__media::after {
  opacity: 1;
  animation: au-person-shine .9s cubic-bezier(.22, .61, .36, 1) both;
}
@keyframes au-person-shine {
  from {
    transform: translateX(-70%) rotate(8deg);
    opacity: 0;
  }
  18% { opacity: 1; }
  to {
    transform: translateX(70%) rotate(8deg);
    opacity: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .au-person:hover .au-person__media img { transform: none; }
  .au-person:hover .au-person__media::after { animation: none; opacity: 0; }
}
.au-person h3,
.au-person .au-person__title {
  font-family: var(--f-display);
  font-size: var(--t-h3);
  letter-spacing: var(--ls-head);
  line-height: var(--lh-head);
  margin: 0 0 .2rem;
  font-weight: 700;
}
.au-person p {
  margin: 0;
  color: var(--c-fg-3);
  font-size: var(--t-sm);
}
.au-person--openable {
  position: relative;
  cursor: pointer;
}
.au-person__hit {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  font: inherit;
  color: inherit;
  text-decoration: none;
  touch-action: pan-y;
}
.au-person__hit:focus-visible {
  outline: 2px solid color-mix(in oklab, var(--brand-500) 70%, transparent);
  outline-offset: 4px;
  border-radius: var(--r-xl);
}
.au-person__payload {
  display: none;
}

/* Team sheet — photo, post and contacts, text under the photo. */
.au-team-modal,
.au-team-detail {
  --au-team-portrait: 13.75rem;
}
.au-team-modal {
  border: 1px solid var(--c-line);
  border-radius: var(--r-xl);
  box-shadow: var(--sh-1);
  background: var(--c-surface);
  overflow: hidden;
}
.au-team-modal__close {
  position: absolute;
  top: .85rem;
  right: .85rem;
  z-index: 2;
}
.au-team-modal .modal-body {
  padding: clamp(1.25rem, 2.5vw, 2rem);
}
.au-team-sheet__top {
  display: grid;
  grid-template-columns: minmax(0, var(--au-team-portrait)) minmax(0, 1fr);
  gap: clamp(1.25rem, 3vw, 2.25rem);
  align-items: start;
}
.au-team-sheet__top--copy {
  grid-template-columns: minmax(0, 1fr);
}
.au-team-sheet__media {
  margin: 0;
  border-radius: var(--r-xl);
  overflow: hidden;
  background: var(--c-card);
  border: 1px solid var(--c-line);
}
.au-team-sheet__media img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: center 20%;
}
.au-team-sheet__aside {
  min-width: 0;
}
.au-team-sheet__name {
  margin: 0;
  font-family: var(--f-display);
  font-size: var(--t-h3);
  letter-spacing: var(--ls-head);
  line-height: var(--lh-head);
  font-weight: 700;
  color: var(--c-fg);
}
.au-team-sheet__role {
  margin: .4rem 0 0;
  color: var(--c-fg-2);
  font-size: var(--t-sm);
  line-height: var(--lh-body);
}
.au-team-sheet__action {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 1.25rem;
}
.au-team-sheet__action .btn {
  flex: 0 0 auto;
}
.au-team-sheet__rule {
  flex: 1 1 auto;
  min-width: 1.5rem;
  border-top: 1px solid var(--c-line);
}
.au-team-sheet__contacts {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 1rem 2.5rem;
  margin-top: 1.25rem;
}
.au-team-sheet__contacts .au-eyebrow {
  display: block;
}
.au-team-sheet__contact {
  display: block;
  margin-top: .35rem;
  font-weight: 700;
  font-size: var(--t-sm);
  color: var(--c-fg);
  text-decoration: none;
}
.au-team-sheet__contact:hover {
  color: var(--brand-700);
  text-decoration: none;
}
.au-team-sheet__social {
  margin-top: 1.15rem;
}
.au-team-sheet__social .au-social__link {
  width: var(--s-7);
  height: var(--s-7);
}
.au-team-sheet__social .au-social__icon {
  width: var(--s-4);
  height: var(--s-4);
}
.au-team-sheet__bio {
  margin-top: 1.75rem;
}
.au-team-sheet__bio > p:first-child {
  font-weight: 700;
  color: var(--c-fg);
}
.au-team-sheet__bars {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.25rem, 3vw, 2.25rem);
  margin-top: 1.75rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--c-line);
}
.au-team-sheet__col-title {
  font-family: var(--f-display);
  font-size: var(--t-h4);
  letter-spacing: var(--ls-head);
  line-height: var(--lh-head);
  font-weight: 700;
  margin: 0 0 1rem;
  color: color-mix(in oklab, var(--brand-600) 72%, var(--c-fg));
}
.au-skillbars {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: .85rem;
}
.au-skillbar__label {
  display: block;
  margin-bottom: .35rem;
  font-size: var(--t-sm);
  color: var(--c-fg);
}
.au-skillbar__track {
  display: block;
  height: .35rem;
  border-radius: var(--r-xs);
  background: color-mix(in oklab, var(--brand-500) 12%, var(--tint-2));
  overflow: hidden;
}
.au-skillbar__fill {
  display: block;
  height: 100%;
  width: 0;
  border-radius: inherit;
  background: color-mix(in oklab, var(--brand-400) 78%, white);
  transform-origin: left center;
  transform: scaleX(0.02);
}
.au-skillbars.is-in .au-skillbar__fill {
  animation: au-hbar-in .85s var(--e-soft) forwards;
}
.au-skillbar:nth-child(1) .au-skillbar__fill { animation-delay: 0s; }
.au-skillbar:nth-child(2) .au-skillbar__fill { animation-delay: .06s; }
.au-skillbar:nth-child(3) .au-skillbar__fill { animation-delay: .12s; }
.au-skillbar:nth-child(4) .au-skillbar__fill { animation-delay: .18s; }
.au-skillbar:nth-child(5) .au-skillbar__fill { animation-delay: .24s; }
.au-skillbar:nth-child(6) .au-skillbar__fill { animation-delay: .3s; }
@media (max-width: 767.98px) {
  .au-team-sheet__top,
  .au-team-sheet__bars {
    grid-template-columns: 1fr;
  }
  .au-team-sheet__media {
    max-width: var(--au-team-portrait);
  }
}
@media (prefers-reduced-motion: reduce) {
  .au-skillbar__fill {
    transform: none;
    width: var(--level, 0%);
    animation: none !important;
  }
  .au-skillbars.is-in .au-skillbar__fill {
    animation: none !important;
  }
}

/* Team — на phone/tablet слайдер с peek, на lg сетка 4 */
.au-team {
  --au-team-gap: .75rem;
  --au-team-visible: 1;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: .35rem;
  min-width: 0;
}
.au-team[data-layout="grid"] {
  display: block;
}
.au-team[data-layout="grid"] .au-team__nav {
  display: none;
}
.au-team[data-layout="grid"] .au-team__viewport {
  overflow: visible;
}
.au-team[data-layout="grid"] .au-team__track {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--au-team-gap);
  transform: none !important;
}
.au-team__viewport {
  overflow: hidden;
  min-width: 0;
  touch-action: pan-y;
  padding: .15rem 0;
}
.au-team__track {
  display: flex;
  gap: var(--au-team-gap);
  will-change: transform;
  transition: transform .35s var(--e-soft);
}
.au-team__track > .au-person {
  flex: 0 0 calc((100% - (var(--au-team-visible) - 1) * var(--au-team-gap)) / var(--au-team-visible));
  min-width: 0;
}
.au-team__nav {
  display: grid;
  place-items: center;
  width: 2.25rem;
  height: 2.25rem;
  padding: 0;
  border: 0;
  border-radius: var(--r-pill);
  background: transparent;
  color: var(--c-fg-3);
  cursor: pointer;
}
.au-team__nav svg {
  width: 1.15rem;
  height: 1.15rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.au-team__nav:hover:not(:disabled) {
  color: var(--c-fg);
  background: var(--c-surface);
}
.au-team__nav:disabled {
  opacity: .28;
  cursor: default;
}
@media (max-width: 767.98px) {
  .au-team {
    --au-team-visible: 1;
  }
}
@media (min-width: 768px) and (max-width: 991.98px) {
  .au-team {
    --au-team-visible: 2;
  }
}
@media (prefers-reduced-motion: reduce) {
  .au-team__track { transition: none; }
}

/* Reviews — Aurora track (same motion as team/partners). Visible: 3→2→1 / 2→1 / 1. */
.au-reviews {
  --au-reviews-gap: .75rem;
  --au-reviews-visible: 1;
  min-width: 0;
}
.au-reviews__viewport {
  overflow: hidden;
  min-width: 0;
  touch-action: pan-y;
  padding: .15rem 0;
}
.au-reviews__track {
  display: flex;
  gap: var(--au-reviews-gap);
  will-change: transform;
  transition: transform .35s var(--e-soft);
}
.au-reviews__track > .au-review {
  flex: 0 0 calc((100% - (var(--au-reviews-visible) - 1) * var(--au-reviews-gap)) / var(--au-reviews-visible));
  min-width: 0;
}
@media (min-width: 768px) {
  .au-reviews[data-cols="2"],
  .au-reviews[data-cols="3"] {
    --au-reviews-visible: 2;
  }
}
@media (min-width: 992px) {
  .au-reviews[data-cols="1"] { --au-reviews-visible: 1; }
  .au-reviews[data-cols="2"] { --au-reviews-visible: 2; }
  .au-reviews[data-cols="3"] { --au-reviews-visible: 3; }
}
@media (prefers-reduced-motion: reduce) {
  .au-reviews__track { transition: none; }
}
.au-review {
  --au-review-clamp: 4;
  --au-review-avatar: var(--s-10);
  margin: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--s-4);
  padding: var(--s-6);
  text-align: left;
  background: var(--c-card);
  border: 1px solid var(--c-line);
  border-radius: var(--r-xl);
  box-shadow: var(--sh-1);
}
.au-review__head {
  display: flex;
  align-items: center;
  gap: var(--s-4);
  min-width: 0;
}
.au-review__avatar {
  flex: 0 0 var(--au-review-avatar);
  width: var(--au-review-avatar);
  height: var(--au-review-avatar);
  border-radius: 50%;
  overflow: hidden;
  background: var(--c-card);
  border: 1px solid var(--c-line);
}
.au-review__avatar[hidden],
.au-review__date[hidden],
.au-review__company[hidden],
.au-review__kicker[hidden],
#au-review-modal-company[hidden] {
  display: none !important;
}
.au-review__avatar img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.au-review__who {
  min-width: 0;
}
.au-review__date {
  display: block;
  margin: 0 0 var(--s-1);
}
.au-review__name {
  margin: 0;
  font-family: var(--f-display);
  font-size: var(--t-card-title-sm);
  letter-spacing: var(--ls-head);
  line-height: var(--lh-head);
  font-weight: 700;
  color: var(--c-fg);
}
.au-review__company {
  margin: var(--s-1) 0 0;
  font-family: var(--f-body);
  font-size: var(--t-sm);
  line-height: var(--lh-body);
  color: var(--c-fg-3);
}
.au-review__kicker {
  display: block;
  margin: 0;
}
.au-review__text {
  margin: 0;
  flex: 1 1 auto;
  font-family: var(--f-body);
  font-size: var(--t-sm);
  font-weight: 400;
  line-height: var(--lh-body);
  color: var(--c-fg);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: var(--au-review-clamp);
  line-clamp: var(--au-review-clamp);
  overflow: hidden;
  overflow-wrap: anywhere;
}
.au-review__more {
  margin-top: auto;
  align-self: flex-start;
}
.au-review__cms-body {
  display: none;
}
/* #modalReview reuses .au-form-modal chrome (peach radial, close, type).
   Do not fork a second modal skin. Avatar size = card --s-10 circle. */
#modalReview {
  --au-review-avatar: var(--s-10);
}
#modalReview .au-form__head {
  display: flex;
  align-items: center;
  gap: var(--s-4);
}
#modalReview .au-form__lead {
  max-width: none;
}
#modalReview .au-prose p:last-child {
  margin-bottom: 0;
}

/* Partners logos — сетка или слайдер; стрелки = kit .au-arrow--soft (как отзывы) */
.au-partners {
  --au-partners-gap: .75rem;
  position: relative;
}
.au-partners[data-layout="grid"] .au-logos {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--au-partners-gap);
}
.au-partners[data-layout="grid"] .au-logos > li {
  flex: 0 1 calc((100% - var(--au-partners-gap)) / 2);
  min-width: 0;
}
@media (min-width: 576px) {
  .au-partners[data-layout="grid"] .au-logos > li {
    flex-basis: calc((100% - 2 * var(--au-partners-gap)) / 3);
  }
}
@media (min-width: 992px) {
  .au-partners[data-layout="grid"] .au-logos > li {
    flex-basis: calc((100% - 3 * var(--au-partners-gap)) / 4);
  }
}
.au-partners[data-layout="slider"] {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: .65rem;
  min-width: 0;
  overflow: hidden;
  contain: inline-size;
}
.au-partners__viewport {
  /* hidden на обеих осях: clip+visible в Safari даёт утечку ширины трека на всю страницу */
  overflow: hidden;
  min-width: 0;
  touch-action: pan-y;
  /* запас сверху/снизу — чтобы hover-тень не резалась */
  padding: .45rem 0;
  margin: -.45rem 0;
}
.au-partners__track {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: var(--au-partners-gap);
  will-change: transform;
  transition: transform .35s var(--e-soft);
}
.au-partners__track > li {
  flex: 0 0 calc((100% - (var(--au-partners-visible, 2) - 1) * var(--au-partners-gap)) / var(--au-partners-visible, 2));
  min-width: 0;
  overflow: visible;
}
.au-logo-mark {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 6.25rem;
  padding: .85rem 1.1rem;
  border-radius: var(--r-xl);
  border: 1px solid var(--c-line);
  background: var(--c-surface);
  box-shadow: var(--sh-1);
  color: var(--c-fg-2);
  font-family: var(--f-display);
  font-weight: 800;
  letter-spacing: .04em;
  font-size: .95rem;
  text-decoration: none;
  transition: color .15s var(--e-soft), background .15s var(--e-soft), box-shadow .15s var(--e-soft), border-color .15s var(--e-soft);
}
a.au-logo-mark:hover {
  color: var(--brand-700);
  background: color-mix(in oklab, var(--brand-50) 70%, var(--c-surface));
  border-color: color-mix(in oklab, var(--brand-300) 55%, var(--c-line));
  text-decoration: none;
}
.au-logo-mark__media {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  height: 5.25rem;
  overflow: visible;
}
.au-logo-mark__img {
  display: block;
  width: auto;
  max-width: 100%;
  height: 4.5rem;
  max-height: 100%;
  object-fit: contain;
  border-radius: 0;
  flex-shrink: 0;
  filter: grayscale(1);
  opacity: .92;
  transition: filter .2s var(--e-soft), opacity .2s var(--e-soft);
}
.au-logo-mark:hover .au-logo-mark__img,
a.au-logo-mark:hover .au-logo-mark__img {
  filter: grayscale(0);
  opacity: 1;
}
@media (max-width: 575.98px) {
  .au-logo-mark {
    min-height: 5.25rem;
    padding: .75rem .9rem;
  }
  .au-logo-mark__media {
    height: 4.25rem;
  }
  .au-logo-mark__img {
    height: 3.75rem;
  }
}

/* Gallery */
.au-gallery-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem 1.25rem;
}
.au-gallery-head__copy {
  min-width: 0;
  flex: 1 1 14rem;
}
.au-gallery__navs {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  flex-shrink: 0;
}
.au-gallery__nav {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border: none;
  border-radius: var(--r-lg);
  background: color-mix(in oklab, var(--brand-500) 14%, var(--c-page));
  color: var(--brand-700);
  padding: 0;
  cursor: pointer;
  transition: background .2s var(--e-soft), color .2s var(--e-soft), opacity .2s var(--e-soft);
}
.au-gallery__nav svg {
  width: 1.2rem;
  height: 1.2rem;
  stroke: currentColor;
  stroke-width: 2.2;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.au-gallery__nav--next svg {
  transform: scaleX(-1);
}
.au-gallery__nav:hover:not(:disabled) {
  background: var(--brand-600);
  color: var(--brand-fg, #fff);
}
.au-gallery__nav:disabled {
  opacity: .4;
  cursor: default;
}
.au-gallery-slider {
  position: relative;
}
.au-gallery-slide[hidden] {
  display: none !important;
}
.au-gallery-frame {
  position: relative;
}
.au-gallery {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: .75rem;
}
@media (min-width: 768px) {
  [data-gallery-layout="grid"] .au-gallery {
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: 160px;
  }
  [data-gallery-layout="grid"] .au-gallery__item--hero {
    grid-column: span 2;
    grid-row: span 2;
  }
  [data-gallery-layout="grid"] .au-gallery__item--tall {
    grid-row: span 2;
  }
}
.au-gallery__item {
  display: block;
  overflow: hidden;
  border-radius: var(--r-lg);
  background: var(--c-card);
  min-height: 140px;
}
.au-gallery__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .4s var(--e-soft);
}
.au-gallery__item:hover img { transform: scale(1.04); }

/* Коллаж: ровный прямоугольник, фото крупнее, бренд-плашки (как в прототипе) */
[data-gallery-layout="collage"] .au-gallery-frame {
  overflow: hidden;
  padding: 0;
  margin: 0;
  border-radius: var(--r-xl);
}
[data-gallery-layout="collage"] .au-gallery--collage {
  --au-gal-gap: .65rem;
  --au-gal-cols: 12;
  --au-gal-rows: 8;
  display: grid;
  grid-template-columns: repeat(var(--au-gal-cols), minmax(0, 1fr));
  grid-template-rows: repeat(var(--au-gal-rows), minmax(0, 1fr));
  gap: var(--au-gal-gap);
  aspect-ratio: 16 / 10;
  width: 100%;
  max-width: none;
  margin: 0;
  transform: none;
}
[data-gallery-layout="collage"] .au-gallery--collage[hidden] {
  display: none !important;
}
[data-gallery-layout="collage"] .au-gallery--mob {
  --au-gal-cols: 4;
  aspect-ratio: 3 / 4;
}
[data-gallery-layout="collage"] .au-gallery__item,
[data-gallery-layout="collage"] .au-gallery__fill {
  min-width: 0;
  min-height: 0;
  border-radius: var(--r-lg);
}
[data-gallery-layout="collage"] .au-gallery__item {
  box-shadow: var(--sh-1);
}
[data-gallery-layout="collage"] .au-gallery__fill {
  display: block;
  background:
    radial-gradient(120% 90% at 12% 18%, rgb(255 255 255 / .22), transparent 55%),
    linear-gradient(145deg, var(--brand-400), var(--brand-600));
  box-shadow: inset 0 0 0 1px rgb(255 255 255 / .12);
}
[data-gallery-layout="collage"] .au-gallery__fill--soft {
  background:
    radial-gradient(120% 90% at 80% 20%, rgb(255 255 255 / .18), transparent 50%),
    linear-gradient(160deg, var(--brand-300), var(--brand-500));
}
[data-gallery-layout="collage"] .au-gallery__fill--deep {
  background:
    radial-gradient(100% 80% at 30% 80%, rgb(255 255 255 / .1), transparent 45%),
    linear-gradient(155deg, var(--brand-500), var(--brand-700));
}

/* Cases grid — interactive hit = <button class="au-case__hit"> */
.au-case {
  height: 100%;
  border-radius: var(--r-xl);
  overflow: hidden;
  background: var(--c-card);
  border: 1px solid color-mix(in oklab, var(--c-line) 85%, transparent);
  box-shadow: var(--sh-1);
  display: flex;
  flex-direction: column;
}
.au-case__hit {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  text-decoration: none;
  text-align: left;
  cursor: pointer;
  font: inherit;
}
.au-case__hit:not(a):not([role="button"]) {
  cursor: default;
}
.au-case:has(.au-case__hit:hover),
.au-case:has(.au-case__hit:focus-visible) {
  border-color: color-mix(in oklab, var(--brand-400) 45%, var(--c-line));
  box-shadow: var(--sh-2);
}
.au-case__hit:focus-visible {
  outline: 3px solid var(--brand-500);
  outline-offset: -3px;
}
.au-case__media {
  position: relative;
  display: block;
  aspect-ratio: 16/10;
  overflow: hidden;
  background: var(--c-card);
}
.au-case__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.au-case__body {
  display: block;
  padding: 1.15rem 1.25rem 1.35rem;
  min-width: 0;
  overflow: hidden;
}
.au-case__meta {
  display: flex;
  align-items: center;
  gap: .65rem;
  width: 100%;
  min-width: 0;
  max-width: 100%;
}
/* Теги вне hit (a11y: не вкладываем controls в role=button) */
.au-case__tags-bar {
  padding: 0 1.25rem 1.25rem;
  margin-top: -.35rem;
  min-width: 0;
}
.au-case__tags-bar .au-case__tags-wrap {
  width: 100%;
}
.au-case__tags-wrap {
  display: flex;
  align-items: center;
  gap: .25rem;
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  max-width: 100%;
}
.au-case__tags {
  display: flex;
  flex: 1 1 auto;
  flex-wrap: nowrap;
  align-items: center;
  gap: .55rem;
  min-width: 0;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.au-case__tags::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}
.au-case__tags .au-eyebrow {
  flex: 0 0 auto;
  white-space: nowrap;
}
.au-case__tags-wrap--overflow .au-case__tags {
  mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - .85rem), transparent);
}
.au-case__tags-nav {
  flex: 0 0 auto;
  display: inline-grid;
  place-items: center;
  width: 1.55rem;
  height: 1.55rem;
  padding: 0;
  border: 0;
  border-radius: var(--r-pill);
  background: var(--tint-2);
  color: var(--c-fg-3);
  cursor: pointer;
  transition: background .15s var(--e-soft), color .15s var(--e-soft), opacity .15s var(--e-soft);
}
.au-case__tags-nav svg {
  width: .95rem;
  height: .95rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.au-case__tags-nav--next svg {
  transform: scaleX(-1);
}
.au-case__tags-nav:hover:not(:disabled) {
  background: color-mix(in oklab, var(--c-fg-3) 16%, var(--c-page));
  color: var(--c-fg-2);
}
.au-case__tags-nav:disabled {
  opacity: .35;
  cursor: default;
}
.au-case__date {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  padding: .28rem .7rem;
  border-radius: var(--r-md);
  background: var(--brand-600);
  color: var(--brand-fg);
  font-family: var(--f-display);
  font-size: var(--t-xs);
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1.2;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  box-shadow: 0 1px 2px color-mix(in oklab, #000 18%, transparent);
}
.au-case__date--media {
  position: absolute;
  left: .75rem;
  bottom: .75rem;
  z-index: 1;
  margin: 0;
}
.au-case__date--plain {
  position: static;
}
.au-case__title,
.au-case__body h3 {
  display: block;
  font-family: var(--f-display);
  font-size: var(--t-h3);
  font-weight: 700;
  letter-spacing: var(--ls-head);
  line-height: var(--lh-head);
  margin: .35rem 0 .45rem;
}
.au-case__teaser,
.au-case__body > span[data-i18n],
.au-case__body p {
  display: block;
  margin: 0;
  color: var(--c-fg-2);
  font-size: var(--t-body);
}

/* Case article modal + prose */
.au-case-modal__dialog {
  max-width: min(920px, calc(100vw - 1.5rem));
  margin-block: .75rem;
  max-height: calc(100dvh - 1.5rem);
}
.au-case-modal {
  border: 0;
  border-radius: var(--r-xl);
  overflow: hidden;
  background: var(--c-page);
  box-shadow: var(--sh-3);
  max-height: calc(100dvh - 1.5rem);
  display: flex;
  flex-direction: column;
}
.au-case-modal__scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  scroll-padding-bottom: var(--s-4);
}
.au-case-modal__close {
  position: absolute;
  top: .85rem;
  right: .85rem;
  z-index: 5;
  background-color: rgb(255 255 255 / .92);
  border-radius: 50%;
  box-shadow: var(--sh-1);
}
.au-case-modal__hero {
  position: relative;
  aspect-ratio: 21 / 9;
  background: var(--c-card);
  overflow: hidden;
}
.au-case-modal__hero[hidden] {
  display: none !important;
}
.au-case-modal__hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.au-case-modal__body {
  padding: clamp(1.5rem, 3vw, 2.75rem) clamp(1.25rem, 3.5vw, 3rem) 2rem;
}
.au-case-modal__header {
  margin-bottom: 2rem;
}
.au-case-modal__tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .55rem 1rem;
  margin-bottom: .85rem;
  min-width: 0;
}
.au-case-modal__tags .au-case__tags-wrap {
  flex: 1 1 14rem;
  min-width: 0;
}
.au-case-modal__meta {
  font-size: var(--t-xs);
  color: var(--c-fg-3);
  font-weight: 500;
  flex: 0 0 auto;
}
.au-case-modal__title {
  font-family: var(--f-display);
  font-size: var(--t-content-title);
  font-weight: 800;
  letter-spacing: var(--ls-display);
  line-height: var(--lh-tight);
  margin: 0 0 .75rem;
  color: var(--c-fg);
}
.au-case-modal__deck {
  margin: 0;
  font-size: var(--t-lead);
  line-height: 1.5;
  color: var(--c-fg-2);
}
.au-case-modal__footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 1.5rem;
  margin-top: 2.75rem;
  padding-top: 1.75rem;
  border-top: 1px solid var(--c-line);
}
.au-case-modal__footer--detail {
  margin-top: 0;
  margin-bottom: 1.75rem;
  padding-top: 0;
  padding-bottom: 1.75rem;
  border-top: none;
  border-bottom: 1px solid var(--c-line);
}
.au-case-modal__footer--detail .au-price {
  margin-inline-start: auto;
}

/* Полноценная типографика статьи / новости / кейса */
.au-prose {
  --prose-space: 1.15em;
  max-width: none;
  width: 100%;
  color: var(--c-fg-2);
  font-family: var(--f-body);
  font-size: var(--t-body);
  line-height: 1.65;
}
.au-prose > :first-child { margin-top: 0; }
.au-prose > :last-child { margin-bottom: 0; }
.au-prose h1,
.au-prose h2,
.au-prose h3,
.au-prose h4,
.au-prose h5,
.au-prose .au-prose__h2 {
  font-family: var(--f-display);
  color: var(--c-fg);
  letter-spacing: var(--ls-head);
  line-height: var(--lh-head);
  font-weight: 800;
  text-wrap: balance;
}
.au-prose h1 {
  font-size: var(--t-prose-h1);
  letter-spacing: var(--ls-display);
  margin: 2rem 0 .75rem;
}
.au-prose h2,
.au-prose .au-prose__h2 {
  font-size: var(--t-h2);
  margin: 2.1rem 0 .7rem;
}
.au-prose h3 {
  font-size: var(--t-h3);
  font-weight: 700;
  margin: 1.75rem 0 .55rem;
}
.au-prose h4 {
  font-size: var(--t-prose-h4);
  font-weight: 700;
  margin: 1.5rem 0 .45rem;
}
.au-prose h5 {
  font-size: var(--t-eyebrow);
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--c-fg-3);
  margin: 1.5rem 0 .4rem;
}
.au-prose p {
  margin: 0 0 var(--prose-space);
}
.au-prose .au-prose__lead {
  font-size: var(--t-lead);
  color: var(--c-fg);
  line-height: 1.5;
}
.au-prose a {
  color: var(--brand-700);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .18em;
  text-decoration-color: color-mix(in oklab, var(--brand-500) 45%, transparent);
}
.au-prose a:hover {
  color: var(--brand-600);
  text-decoration-color: color-mix(in oklab, var(--brand-500) 70%, transparent);
}
.au-prose strong { color: var(--c-fg); font-weight: 700; }
.au-prose em { font-style: italic; }
.au-prose mark,
.au-prose .au-prose__mark {
  background: color-mix(in oklab, var(--brand-200) 55%, transparent);
  color: var(--c-fg);
  padding: .08em .28em;
  border-radius: var(--r-xs);
}
.au-prose small {
  font-size: var(--t-sm);
  color: var(--c-fg-3);
}
.au-prose ul,
.au-prose ol {
  margin: 0 0 var(--prose-space);
  padding-left: 1.25rem;
  display: grid;
  gap: .45rem;
}
.au-prose li::marker { color: var(--brand-500); }
.au-prose ul { list-style: disc; }
.au-prose ol { list-style: decimal; }
.au-prose li {
  padding-left: .15rem;
  color: var(--c-fg-2);
}
.au-prose li > ul,
.au-prose li > ol {
  margin: .45rem 0 0;
}
/* Вертикальная черта слева — цитата / акцент */
.au-prose blockquote,
.au-prose .au-prose__pull {
  margin: 1.5rem 0;
  padding: .15rem 0 .15rem 1.15rem;
  border-left: 3px solid var(--brand-500);
  color: var(--c-fg);
  font-family: var(--f-display);
  font-size: var(--t-lead);
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: var(--ls-head);
}
.au-prose blockquote p,
.au-prose .au-prose__pull p {
  margin: 0;
  color: inherit;
}
.au-prose blockquote footer,
.au-prose .au-prose__pull cite {
  display: block;
  margin-top: .55rem;
  font-family: var(--f-body);
  font-size: var(--t-sm);
  font-weight: 500;
  font-style: normal;
  color: var(--c-fg-3);
  letter-spacing: 0;
}
/* Блок в рамке */
.au-prose .au-prose__frame {
  margin: 1.5rem 0;
  padding: 1.15rem 1.25rem 1.25rem;
  border: 1px solid color-mix(in oklab, var(--c-line) 90%, transparent);
  border-radius: var(--r-xl);
  background: color-mix(in oklab, var(--tint-1) 80%, var(--c-card));
  box-shadow: var(--sh-1);
}
.au-prose .au-prose__frame > :first-child { margin-top: 0; }
.au-prose .au-prose__frame > :last-child { margin-bottom: 0; }
.au-prose .au-prose__frame h3,
.au-prose .au-prose__frame h4,
.au-prose .au-prose__frame h5 {
  margin-top: 0;
}
/* Мягкая врезка / note */
.au-prose .au-prose__note {
  margin: 1.35rem 0;
  padding: .95rem 1.1rem;
  border-radius: var(--r-lg);
  background: var(--tint-2);
  color: var(--c-fg-2);
  font-size: var(--t-sm);
  line-height: 1.55;
}
.au-prose .au-prose__note > :last-child { margin-bottom: 0; }
/* Метрики */
.au-prose .au-prose__stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));
  gap: .75rem;
  margin: 1.5rem 0;
  padding: 0;
  list-style: none;
}
.au-prose .au-prose__stats li {
  padding: 1rem 1.05rem;
  border-radius: var(--r-lg);
  background: var(--c-card);
  border: 1px solid color-mix(in oklab, var(--c-line) 85%, transparent);
}
.au-prose .au-prose__stats strong {
  display: block;
  font-family: var(--f-display);
  font-size: var(--t-prose-stat);
  font-weight: 800;
  letter-spacing: var(--ls-display);
  color: var(--brand-600);
  line-height: 1.1;
  margin-bottom: .25rem;
}
.au-prose .au-prose__stats span {
  display: block;
  font-size: var(--t-xs);
  color: var(--c-fg-3);
  line-height: 1.35;
}
.au-prose figure {
  margin: 1.6rem 0;
}
.au-prose figure img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: var(--r-lg);
  background: var(--c-card);
}
.au-prose figcaption {
  margin-top: .55rem;
  font-size: var(--t-xs);
  color: var(--c-fg-3);
  line-height: 1.4;
}
.au-prose hr {
  border: 0;
  height: 1px;
  margin: 2rem 0;
  background: var(--c-line);
}
.au-prose code {
  font-family: var(--f-num);
  font-size: .9em;
  padding: .12em .35em;
  border-radius: var(--r-xs);
  background: var(--tint-2);
  color: var(--c-fg);
}
.au-prose pre {
  margin: 1.35rem 0;
  padding: 1rem 1.1rem;
  border-radius: var(--r-lg);
  background: #14161C;
  color: #F4F5F7;
  overflow: auto;
  font-family: var(--f-num);
  font-size: var(--t-sm);
  line-height: 1.5;
}
.au-prose pre code {
  padding: 0;
  background: none;
  color: inherit;
  font-size: inherit;
}
.au-prose table {
  width: 100%;
  margin: 1.5rem 0;
  border-collapse: collapse;
  font-size: var(--t-sm);
}
.au-prose th,
.au-prose td {
  padding: .65rem .75rem;
  border-bottom: 1px solid var(--c-line);
  text-align: left;
  vertical-align: top;
}
.au-prose th {
  font-family: var(--f-display);
  font-weight: 700;
  color: var(--c-fg);
  font-size: var(--t-xs);
  letter-spacing: .04em;
  text-transform: uppercase;
}
/* До / После — таблица из сниппета редактора */
.au-prose .au-prose__ba {
  width: 100%;
  margin: 1.5rem 0;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid color-mix(in oklab, var(--c-line) 90%, transparent);
  border-radius: var(--r-xl);
  overflow: hidden;
  box-shadow: var(--sh-1);
  background: var(--c-card);
}
.au-prose .au-prose__ba th,
.au-prose .au-prose__ba td {
  width: 50%;
  padding: 1rem 1.1rem;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 85%, transparent);
  vertical-align: top;
}
.au-prose .au-prose__ba tr:last-child th,
.au-prose .au-prose__ba tr:last-child td {
  border-bottom: 0;
}
.au-prose .au-prose__ba th {
  background: var(--tint-2);
  text-transform: none;
  letter-spacing: 0;
  font-size: var(--t-sm);
  color: var(--c-fg-2);
}
.au-stories-head {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  min-width: min(100%, 18rem);
}
.au-stories-head .display-6 { margin: 0; }
.au-stories-head .au-sec__lead { margin: 0; }
@media (max-width: 575.98px) {
  .au-case-modal__hero { aspect-ratio: 16 / 10; }
  .au-case-modal__footer { align-items: stretch; }
  .au-case-modal__footer .btn { width: 100%; }
}

/* Product compare — chrome head + sticky param col + horizontal scroll */
.au-compare-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem 1.25rem;
}
.au-compare-head__copy {
  min-width: 0;
  flex: 1 1 14rem;
}
.au-compare__navs {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  flex-shrink: 0;
}
.au-compare__navs[hidden] {
  display: none !important;
}
/* Frame keeps the “more to scroll” edge cue fixed while the table scrolls. */
.au-compare-frame {
  --au-compare-label-min: 8rem;
  --au-compare-label-max: 16rem;
  --au-compare-label: 9.5rem; /* JS may widen within min..max from param labels */
  --au-compare-visible-setting: 4;
  --au-compare-visible: var(--au-compare-visible-setting);
  position: relative;
  border-radius: var(--r-xl);
  background: var(--c-card);
  box-shadow: var(--sh-1); /* outline removed — 1px border broke on rounded scroll corners */
}
/* Soft right fade — barely there */
.au-compare-frame::after {
  content: "";
  position: absolute;
  top: 1px;
  right: 1px;
  bottom: 1px;
  width: 3.25rem;
  border-radius: 0 var(--r-xl) var(--r-xl) 0;
  pointer-events: none;
  z-index: 5;
  opacity: 0;
  background: linear-gradient(
    90deg,
    transparent 0%,
    color-mix(in oklab, var(--c-card) 72%, transparent) 100%
  );
  transition: opacity .35s var(--e-soft);
}
.au-compare-frame.is-more::after {
  opacity: .55;
}
/* Edge cue = kit .au-arrow--soft (same as header / partners nav) */
.au-compare-more {
  position: absolute;
  right: .5rem;
  top: 50%;
  z-index: 6;
  transform: translateY(-50%);
  box-shadow: var(--sh-1);
  animation: au-compare-more-arrow 3.2s var(--e-soft) infinite;
}
.au-compare-more[hidden] {
  display: none !important;
}
.au-compare-more:hover,
.au-compare-more:focus-visible {
  animation: none;
}
@keyframes au-compare-more-arrow {
  0%, 100% { transform: translateY(-50%) translateX(0); }
  50% { transform: translateY(-50%) translateX(3px); }
}
@media (prefers-reduced-motion: reduce) {
  .au-compare-more {
    animation: none;
  }
}
.au-compare-scroller {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  /* No scroll-snap: it pinned the 1st product under the sticky label col. */
  border-radius: var(--r-xl);
  outline: none;
  container-type: inline-size;
  container-name: au-compare;
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* legacy Edge */
}
.au-compare-scroller::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none; /* Chrome / Safari / Chromium Edge */
}
.au-compare-scroller:focus-visible {
  box-shadow: 0 0 0 2px color-mix(in oklab, var(--brand-500) 45%, transparent);
}
.au-compare-wrap {
  border-radius: var(--r-xl);
  background: var(--c-card);
  border: 0;
  box-shadow: none;
  display: inline-block;
  min-width: 100%;
  vertical-align: top;
}
.au-compare {
  /* Exactly N product cols fit beside the sticky label; extras scroll. */
  --au-compare-visible-setting: 4;
  --au-compare-visible: var(--au-compare-visible-setting);
  --au-compare-label: 9.5rem;
  --au-compare-col: calc((100cqi - var(--au-compare-label)) / var(--au-compare-visible));
  --au-compare-n: 4;
  width: calc(var(--au-compare-label) + (var(--au-compare-n) * var(--au-compare-col)));
  min-width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin: 0;
  table-layout: fixed;
}
.au-compare th,
.au-compare td {
  padding: 1rem 1.1rem;
  border-bottom: 1px solid var(--c-line);
  text-align: center;
  vertical-align: middle;
  font-size: var(--t-sm);
  box-sizing: border-box;
  overflow: hidden;
}
.au-compare thead th {
  font-family: var(--f-display);
  font-weight: 700;
}
.au-compare thead th:not(:first-child),
.au-compare tbody td {
  width: var(--au-compare-col);
  min-width: var(--au-compare-col);
  max-width: var(--au-compare-col);
}
.au-compare thead th img {
  width: 72px;
  height: 72px;
  object-fit: contain;
  display: block;
  margin: 0 auto .5rem;
  border-radius: var(--r-md);
  background: var(--c-card);
}
.au-compare thead th span { display: block; }
.au-compare tbody th,
.au-compare thead th:first-child {
  text-align: left;
  font-weight: 600;
  color: var(--c-fg-2);
  white-space: normal;
  overflow-wrap: anywhere;
  hyphens: auto;
  width: var(--au-compare-label);
  min-width: var(--au-compare-label);
  max-width: var(--au-compare-label);
  position: sticky;
  left: 0;
  z-index: 2;
  background: var(--c-card);
  box-shadow: 1px 0 0 color-mix(in oklab, var(--c-line) 85%, transparent);
}
.au-compare thead th:first-child {
  z-index: 3;
  color: var(--c-fg);
  font-weight: 700;
}
.au-compare tbody tr:last-child th,
.au-compare tbody tr:last-child td { border-bottom: 0; }
/* Compact CTA: kit btn-sm, content-width — full-col stretch is too heavy here */
.au-compare__cta-row td {
  text-align: center;
}
.au-compare__cta {
  width: auto;
  max-width: 100%;
  min-width: 0;
  white-space: nowrap;
}
@media (max-width: 767.98px) {
  .au-compare-frame {
    --au-compare-visible: 2;
    --au-compare-label-min: 7.25rem;
    --au-compare-label-max: 11rem;
    --au-compare-label: 7.25rem;
  }
  .au-compare {
    --au-compare-visible: 2;
    --au-compare-label: 7.25rem;
  }
}

/* карточка товара — «Купить» на всю ширину сразу под ценой; 1 клик — сумка на фото */
.au-pc__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: .5rem;
  width: 100%;
  position: relative;
  z-index: 5;
}
.au-pc__actions .btn {
  flex: 1 1 0;
  min-width: 0;
  padding-left: .55rem;
  padding-right: .55rem;
  white-space: nowrap;
}
.au-pc__actions .au-pc__compare,
.au-pc__actions .au-pc__wish {
  flex: 0 0 auto;
}
.au-pc__compare.is-on,
.au-pc__wish.is-on {
  color: var(--brand);
}
.au-pc > .au-pc__actions {
  margin-top: auto;
  max-width: 100%;
  min-width: 0;
}
[data-cct-product-grid] .au-pc__media-wrap,
[data-cct-product-grid] .au-pc__media,
[data-cct-product-grid] .au-pc__media img {
  max-width: 100%;
  min-width: 0;
}
[data-cct-product-grid] .au-buy {
  max-width: 100%;
}
[data-cct-product-grid] .au-qty {
  flex: 1 1 0;
  min-width: 0;
  max-width: none;
  width: auto;
}
[data-cct-product-grid] .au-qty__btn {
  flex: 1 1 0;
  width: auto;
  min-width: 0;
}
[data-cct-product-grid] .au-qty__input {
  flex: 1.4 1 0;
  width: auto;
  min-width: 0;
}
[data-cct-product-grid] .au-buy .btn {
  flex: 1 1 0;
  min-width: 0;
  max-width: 100%;
  padding-left: .4rem;
  padding-right: .4rem;
  overflow: hidden;
  text-overflow: ellipsis;
}
.au-buy {
  display: flex;
  align-items: stretch;
  gap: .5rem;
  width: 100%;
  min-width: 0;
}
.au-buy__icon { display: none; }
.au-buy .btn {
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
}
.au-qty {
  display: inline-flex;
  align-items: stretch;
  flex: 0 0 auto;
  box-sizing: border-box;
  height: 2.5rem; /* .btn-sm — one height on card, list, QV, PDP */
  min-height: 2.5rem;
  border: 1px solid var(--c-line);
  border-radius: var(--r-md);
  background: var(--c-bg);
  overflow: hidden;
}
.au-qty__btn {
  appearance: none;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  color: var(--c-fg);
  width: 2rem;
  padding: 0;
  padding-block-start: 0.06em;
  font: inherit;
  line-height: 1;
  cursor: pointer;
}
.au-qty__input {
  width: 4.5ch;
  min-width: 2.25rem;
  margin: 0;
  padding: 0 0.15rem;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: center;
  font-variant-numeric: tabular-nums;
}
.au-qty__unit {
  display: inline-flex;
  align-items: center;
  padding-inline-end: 0.45rem;
  color: var(--c-fg-2);
  font-size: 0.8125rem;
  line-height: 1;
  white-space: nowrap;
}
.au-row__side .au-buy {
  width: auto;
  flex: 0 0 auto;
}
/* md+ сетка: карточки в ряду одной высоты. «Купить» внизу.
   Оверлей .au-pc__more — от низа карточки (не от кнопки). */
@media (min-width: 768px) {
  [data-cct-product-grid] > [class*="col"],
  #au-product-grid > [class*="col"],
  [data-cct-product-slider] .row > [class*="col"],
  #au-product-slider .row > [class*="col"] {
    display: flex;
    flex-direction: column;
  }
  [data-cct-product-grid] > [class*="col"] > .au-pc,
  #au-product-grid > [class*="col"] > .au-pc,
  [data-cct-product-slider] .row > [class*="col"] > .au-pc,
  #au-product-slider .row > [class*="col"] > .au-pc {
    flex: 1 1 auto;
    width: 100%;
  }
}
/* Touch tablet+: specs are in-flow. Keep chips wrap-as-whole / nowrap from 1.7.98. */
@media (hover: none) and (min-width: 768px) {
  .au-pc__metrics {
    display: flex;
    flex-wrap: wrap;
    align-content: start;
    align-items: start;
    gap: .35rem;
  }
  .au-pc__metric {
    flex: 1 1 auto;
    min-width: max-content;
  }
  .au-pc__metric-k,
  .au-pc__metric-v,
  .au-pc__sku {
    white-space: nowrap;
  }
}
.js-add-cart.is-in-cart {
  gap: .35rem;
}
.js-add-cart .au-cart-check {
  display: inline-grid;
  place-items: center;
  font-size: .95em;
  font-weight: 700;
  line-height: 1;
  color: var(--brand-700);
}

/* Shipping / info cards */
.au-info-card {
  height: 100%;
  padding: 1.5rem 1.5rem 1.65rem;
  border-radius: var(--r-xl);
  background: var(--c-card);
  border: 1px solid color-mix(in oklab, var(--c-line) 85%, transparent);
  box-shadow: var(--sh-1);
}
.au-info-card h3,
.au-info-card .au-info-card__title {
  font-family: var(--f-display);
  font-size: var(--t-h3);
  font-weight: 700;
  letter-spacing: var(--ls-head);
  line-height: var(--lh-head);
  margin: 0 0 1rem;
}

/* Calculator */
.au-calc {
  display: grid;
  gap: .65rem;
  padding: 1.25rem;
  border-radius: var(--r-xl);
  background: var(--c-card);
  border: 1px solid color-mix(in oklab, var(--c-line) 85%, transparent);
  box-shadow: var(--sh-1);
}
.au-calc__row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: .85rem;
  align-items: center;
  padding: .9rem 1rem;
  border-radius: var(--r-lg);
  background: var(--c-surface);
  cursor: pointer;
  margin: 0;
}
.au-calc__row--required {
  cursor: default;
}
.au-calc__row--required .au-check {
  cursor: default;
}
.au-calc__row .au-check {
  margin-top: .1rem;
}
.au-calc__label {
  display: flex;
  flex-direction: column;
  gap: .15rem;
  min-width: 0;
}
.au-calc__label b {
  font-family: var(--f-display);
  font-weight: 700;
  font-size: var(--t-body);
}
.au-calc__label small {
  color: var(--c-fg-3);
  font-size: var(--t-xs);
}
.au-calc__total {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem .25rem 0;
  margin-top: .35rem;
  border-top: 1px solid var(--c-line);
}
.au-calc__sum {
  font-family: var(--f-display);
  font-size: var(--t-metric-tertiary);
  font-weight: 800;
  color: var(--brand-600);
  letter-spacing: var(--ls-display);
  line-height: 1.1;
}

/* Features list (#features-list) */
.au-feat-list {
  display: grid;
  gap: .75rem;
}
.au-feat-list__item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem 1.25rem;
  align-items: start;
  padding: 1.25rem 1.35rem;
  border-radius: var(--r-xl);
  background: var(--c-card);
  border: 1px solid color-mix(in oklab, var(--c-line) 85%, transparent);
  box-shadow: var(--sh-1);
}
.au-feat-list__item .au-feat__ic {
  margin-top: .15rem;
}
.au-feat-list__item .au-feat__ic svg {
  stroke-width: 1.45;
}
.au-feat-list__item h3,
.au-feat-list__item .au-feat__title {
  font-family: var(--f-display);
  font-size: var(--t-h3);
  font-weight: 700;
  letter-spacing: var(--ls-head);
  line-height: var(--lh-head);
  margin: 0 0 .35rem;
}
.au-feat-list__item p {
  margin: 0;
  color: var(--c-fg-2);
  font-size: var(--t-body);
  max-width: none;
}

/* Features icons: soft well + ~2× line-icon + title in the grid cell (no body / card chrome) */
.au-feat-icons {
  --feat-icons-well: 96px;
  --feat-icons-svg: 72px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--s-6);
}
@media (min-width: 1200px) {
  .au-feat-icons {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: var(--s-4);
  }
}
@media (max-width: 1199.98px) {
  .au-feat-icons > .au-feat-icons__item:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    justify-self: center;
    width: calc((100% - var(--s-6)) / 2);
  }
}
.au-feat-icons__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: .75rem;
  height: 100%;
  min-width: 0;
  padding: .25rem .2rem;
}
.au-feat-icons__ic {
  width: var(--feat-icons-well);
  height: var(--feat-icons-well);
  border-radius: var(--r-xl);
  background: var(--tint-2);
  color: var(--brand-700);
  display: grid;
  place-items: center;
  flex: 0 0 auto;
}
.au-feat-icons__ic svg {
  width: var(--feat-icons-svg);
  height: var(--feat-icons-svg);
  stroke: currentColor;
  fill: none;
  stroke-width: 1.25;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.au-feat-icons__ic .bi {
  font-size: var(--feat-icons-svg);
  line-height: 1;
  display: block;
}
.au-feat-icons__item h3,
.au-feat-icons__item .au-feat__title {
  font-family: var(--f-display);
  font-size: var(--t-sm);
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  line-height: 1.25;
  margin: 0;
  align-self: stretch;
  color: var(--c-fg);
  text-wrap: balance;
}
@media (max-width: 767.98px) {
  .au-feat-icons {
    --feat-icons-well: 88px;
    --feat-icons-svg: 64px;
  }
}

/* Pricing */
.au-pricing-grid {
  display: grid;
  gap: 1rem 1.25rem;
  grid-template-columns: 1fr;
  align-items: stretch;
}
@media (min-width: 768px) {
  .au-pricing-grid--cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .au-pricing-grid--cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .au-pricing-grid--cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1200px) {
  .au-pricing-grid--cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.au-price-card {
  --au-price-border: color-mix(in oklab, var(--c-line) 85%, transparent);
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: .55rem;
  padding: 1.6rem 1.5rem 1.55rem;
  border-radius: var(--r-xl);
  background: var(--c-card);
  border: 2px solid var(--au-price-border);
  box-shadow: var(--sh-1);
  position: relative;
}
.au-price-card:hover {
  box-shadow: var(--sh-2);
}
.au-price-card__badge,
.au-price-card > .au-chip {
  position: absolute;
  top: 1rem;
  right: 1rem;
}
/* Badge: custom --au-price-badge, else theme brand (when text is set). */
.au-price-card__badge {
  background: var(--au-price-badge, var(--brand-600));
  color: var(--au-price-badge-fg, var(--brand-fg));
}
.au-price-card__badge--theme {
  background: var(--brand-600);
  color: var(--brand-fg);
}
.au-price-card:has(> .au-chip) > .au-eyebrow {
  padding-right: 5.5rem;
}
.au-price-card h3,
.au-price-card .au-price-card__title {
  font-family: var(--f-display);
  font-size: var(--t-h3);
  font-weight: 800;
  letter-spacing: var(--ls-head);
  line-height: var(--lh-head);
  margin: 0;
}
.au-price-card__prices {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .45rem .75rem;
  margin-top: .15rem;
}
.au-price-card__sum {
  font-family: var(--f-display);
  font-size: var(--t-metric-tertiary);
  font-weight: 800;
  color: var(--brand-600);
  letter-spacing: var(--ls-display);
  line-height: 1.1;
  margin: 0;
}
.au-price-card__sum small {
  font-size: .45em;
  font-weight: 700;
  color: var(--c-fg-3);
  margin-left: .15em;
}
.au-price-card__prices .au-price__old {
  font-size: var(--t-sm);
  color: var(--c-fg-3);
  text-decoration: line-through;
}
.au-price-card__hint {
  color: var(--c-fg-2);
  font-size: var(--t-sm);
  line-height: 1.45;
  margin: 0 0 .35rem;
}
.au-price-card .au-check-list {
  margin: .15rem 0 .2rem;
  flex: 0 0 auto;
  align-content: start;
  align-items: start;
  gap: .65rem;
}
.au-price-card .au-check-list li {
  color: var(--c-fg);
  font-size: var(--t-body);
  line-height: var(--lh-body);
}
.au-price-card__more {
  align-self: flex-start;
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: var(--brand-600);
  font: inherit;
  font-size: var(--t-sm);
  font-weight: 600;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.au-price-card__more:hover {
  color: var(--brand-800);
}
/* «Выбрать» внизу карточки; «Ещё» / «Свернуть» сразу под списком */
.au-price-card > .btn {
  margin-top: auto;
}
/* Default CTA: gray outline + brand label (empty BUTTON_COLOR). Solid when --au-price-btn-* set. */
.au-price-card__cta {
  --bs-btn-color: var(--brand-600);
  --bs-btn-bg: transparent;
  --bs-btn-border-color: color-mix(in oklab, var(--c-line) 92%, var(--c-fg-3));
  --bs-btn-hover-color: var(--brand-800);
  --bs-btn-hover-bg: color-mix(in oklab, var(--brand-500) 8%, transparent);
  --bs-btn-hover-border-color: color-mix(in oklab, var(--brand-500) 35%, var(--c-line));
  --bs-btn-active-color: var(--brand-800);
  --bs-btn-active-bg: color-mix(in oklab, var(--brand-500) 12%, transparent);
  --bs-btn-active-border-color: color-mix(in oklab, var(--brand-500) 45%, var(--c-line));
  border-radius: var(--r-pill);
  font-weight: 600;
}
.au-price-card__cta--solid {
  --bs-btn-color: var(--au-price-btn-fg, #fff);
  --bs-btn-bg: var(--au-price-btn-bg, var(--brand-600));
  --bs-btn-border-color: var(--au-price-btn-border, var(--au-price-btn-bg, var(--brand-600)));
  --bs-btn-hover-color: var(--au-price-btn-fg, #fff);
  --bs-btn-hover-bg: color-mix(in oklab, var(--au-price-btn-bg, var(--brand-600)) 88%, black);
  --bs-btn-hover-border-color: color-mix(in oklab, var(--au-price-btn-border, var(--au-price-btn-bg, var(--brand-600))) 88%, black);
  --bs-btn-active-color: var(--au-price-btn-fg, #fff);
  --bs-btn-active-bg: color-mix(in oklab, var(--au-price-btn-bg, var(--brand-600)) 78%, black);
  --bs-btn-active-border-color: color-mix(in oklab, var(--au-price-btn-border, var(--au-price-btn-bg, var(--brand-600))) 78%, black);
}
.au-price-card:has([style*="--au-price-border"]) {
  box-shadow: var(--sh-2);
}

/* Paged carousels (stories, services). Bootstrap drops the outgoing
   slide from flow when the transition ends, so a shorter page pulls
   the next section up. Every page stays in one grid cell: the track
   is as tall as the tallest page, and the slide transforms still run. */
[data-story-panel="slider"] > .carousel > .carousel-inner,
[data-services-panel="slider"] > .carousel > .carousel-inner {
  display: grid;
}
[data-story-panel="slider"] > .carousel > .carousel-inner > .carousel-item,
[data-services-panel="slider"] > .carousel > .carousel-inner > .carousel-item {
  grid-area: 1 / 1;
  display: block;
  float: none;
  width: 100%;
  margin-right: 0;
}
[data-story-panel="slider"] > .carousel > .carousel-inner > .carousel-item:not(.active):not(.carousel-item-next):not(.carousel-item-prev),
[data-services-panel="slider"] > .carousel > .carousel-inner > .carousel-item:not(.active):not(.carousel-item-next):not(.carousel-item-prev) {
  visibility: hidden;
}

/* Card rail: one row, step one card, clones wrap the end back to the start.
   The viewport stays full — a short last page is not a separate slide.
   The track is the viewport width; column % is of that, not of the card content. */
[data-story-panel="slider"] > .carousel > .carousel-inner[data-cct-card-rail],
[data-services-panel="slider"] > .carousel > .carousel-inner[data-cct-card-rail] {
  display: block;
}
[data-cct-card-rail] {
  overflow: hidden;
  touch-action: pan-y;
}
[data-cct-card-rail] > .carousel-item {
  width: 100%;
  min-width: 0;
}
[data-cct-card-rail] [data-cct-slider-track] {
  width: 100%;
  min-width: 0;
  flex-wrap: nowrap;
  will-change: transform;
  transition: transform .35s var(--e-soft);
}
[data-cct-card-rail].is-rail-snap [data-cct-slider-track] {
  transition: none;
}
[data-cct-card-rail] [data-cct-slider-track] > [class*="col"] {
  flex: 0 0 100%;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
[data-cct-card-rail] .au-case,
[data-cct-card-rail] .au-svc {
  height: 100%;
}
@media (min-width: 768px) {
  [data-cct-card-rail][data-cct-rail-md="2"] [data-cct-slider-track] > [class*="col"] {
    flex: 0 0 50%;
    width: 50%;
    max-width: 50%;
  }
}
@media (min-width: 992px) {
  [data-cct-card-rail][data-cct-rail-lg="2"] [data-cct-slider-track] > [class*="col"] {
    flex: 0 0 50%;
    width: 50%;
    max-width: 50%;
  }
  [data-cct-card-rail][data-cct-rail-lg="3"] [data-cct-slider-track] > [class*="col"] {
    flex: 0 0 33.333333%;
    width: 33.333333%;
    max-width: 33.333333%;
  }
  [data-cct-card-rail][data-cct-rail-lg="4"] [data-cct-slider-track] > [class*="col"] {
    flex: 0 0 25%;
    width: 25%;
    max-width: 25%;
  }
}
@media (prefers-reduced-motion: reduce) {
  [data-cct-card-rail] [data-cct-slider-track] {
    transition: none;
  }
}

/* Catalog slider */
#au-product-slider .au-pc,
[data-cct-product-slider] .au-pc { height: auto; }
#au-service-slider .au-svc { height: 100%; }
#au-projects-slider .au-case,
#au-news-slider .au-case,
#au-articles-slider .au-case { height: 100%; }
#productCarousel .carousel-item .row,
[data-cct-product-slider] .row { --bs-gutter-x: 1rem; }
/* Catalog slider: one nowrap rail. 4-up from tablet (chunk=4, 25% of viewport).
   Extra cards overflow the 100%-wide track; JS translates. Phone: 100% / one card;
   .au-pc-grid--mobile-2: 50% when two or more, 100% when only one. */
[data-cct-product-slider][data-cct-slider-loop="1"],
[data-cct-product-slider][data-cct-slider-bounded="1"] {
  touch-action: pan-y;
}
[data-cct-product-slider] .au-pc,
[data-cct-product-slider] .au-pc__media,
[data-cct-gift-slider] .au-pc,
[data-cct-gift-slider] .au-pc__media {
  touch-action: pan-y;
}
.au-pc__media-wrap--scrub {
  touch-action: pan-y;
}
/* Bounded rail: this node is the x-scroller (swipe / no empty page).
   Top --s-4 = locked scale(1.02) + --sh-1. Bottom = .au-pc__more (SKU chips).
   Ancestors must not overflow:hidden — they sheared the bottom reserve. */
[data-cct-product-slider][data-cct-slider-bounded="1"],
#au-product-slider[data-cct-slider-bounded="1"] {
  overflow: hidden;
}
[data-cct-product-slider][data-cct-slider-bounded="1"] .carousel-item,
#au-product-slider[data-cct-slider-bounded="1"] .carousel-item {
  overflow: visible;
}
.carousel:has(> [data-cct-slider-bounded="1"]),
.au-catalog-panel[data-catalog-panel="slider"] {
  overflow: visible;
}
@media (hover: hover) and (pointer: fine) {
  [data-cct-product-slider][data-cct-slider-bounded="1"],
  #au-product-slider[data-cct-slider-bounded="1"] {
    padding-top: var(--s-4);
    padding-bottom: var(--au-pc-more-room);
    margin-bottom: calc(var(--au-pc-more-room) * -1);
    pointer-events: none;
  }
  /* The 12rem reserve lives on the scroller, but the carousel, panel and
     the catalog section's container grow around it and sit over the next
     block (footer menus). Empty reserve lets clicks through.
     A product card embeds the same rail inside .au-qv (analogs). That
     section's container is the whole card — do not switch it off. */
  .carousel:has(> [data-cct-slider-bounded="1"]),
  .au-catalog-panel:has([data-cct-slider-bounded="1"]),
  .au-sec:not(:has(.au-qv)):has([data-cct-slider-bounded="1"]) > .container-xxl {
    pointer-events: none;
  }
  [data-cct-product-slider][data-cct-slider-bounded="1"] .carousel-item,
  #au-product-slider[data-cct-slider-bounded="1"] .carousel-item,
  .au-sec:has([data-cct-slider-bounded="1"]) .au-catalog-head {
    pointer-events: auto;
  }
}
[data-cct-product-slider] [data-cct-slider-track],
#au-product-slider [data-cct-slider-track] {
  flex-wrap: nowrap;
  will-change: transform;
  transition: transform .35s var(--e-soft);
}
[data-cct-product-slider].is-rail-snap [data-cct-slider-track],
#au-product-slider.is-rail-snap [data-cct-slider-track] {
  transition: none;
}
[data-cct-product-slider] .row > [class*="col"],
#au-product-slider .row > [class*="col"] {
  flex: 0 0 100%;
  max-width: 100%;
}
@media (max-width: 767.98px) {
  .au-pc-grid--mobile-2 [data-cct-product-slider] .row > [class*="col"],
  .au-pc-grid--mobile-2 #au-product-slider .row > [class*="col"] {
    flex: 0 0 50%;
    max-width: 50%;
    width: 50%;
    min-width: 0;
  }
  .au-pc-grid--mobile-2 [data-cct-product-slider][data-cct-slider-count="1"] .row > [class*="col"],
  .au-pc-grid--mobile-2 #au-product-slider[data-cct-slider-count="1"] .row > [class*="col"],
  .au-pc-grid--mobile-2 [data-cct-slider-track]:has(> [class*="col"]:only-child) > [class*="col"] {
    flex: 0 0 100%;
    max-width: 100%;
    width: 100%;
  }
  .au-pc-grid--mobile-2 [data-cct-product-grid] > [class*="col"] {
    flex: 0 0 50%;
    max-width: 50%;
    width: 50%;
    min-width: 0;
  }
  .au-pc-grid--mobile-2 [data-cct-product-grid]:has(> [class*="col"]:only-child) > [class*="col"] {
    flex: 0 0 100%;
    max-width: 100%;
    width: 100%;
  }
  /* Two-up chrome only (2+ cards). Lone full-width card keeps the default chips/rail/type. */
  .au-pc-grid--mobile-2 :is(
    [data-cct-slider-track]:has(> [class*="col"]:nth-child(2)),
    [data-cct-product-grid]:has(> [class*="col"]:nth-child(2))
  ) .au-pc {
    --au-pc-rail-size: var(--s-6);
    --au-pc-rail-gap: var(--s-1);
    --t-timer-sm: var(--t-chip-2up);
    --pc-pad: var(--s-1);
    gap: var(--s-2);
  }
  .au-pc-grid--mobile-2 :is(
    [data-cct-slider-track]:has(> [class*="col"]:nth-child(2)),
    [data-cct-product-grid]:has(> [class*="col"]:nth-child(2))
  ) .au-pc__flags {
    top: var(--s-1);
    left: var(--s-1);
    right: var(--s-1);
    gap: var(--s-1);
  }
  .au-pc-grid--mobile-2 :is(
    [data-cct-slider-track]:has(> [class*="col"]:nth-child(2)),
    [data-cct-product-grid]:has(> [class*="col"]:nth-child(2))
  ) .au-pc__flags .au-chip {
    min-height: var(--s-3);
    padding: 0 var(--s-1);
    font-size: var(--t-chip-2up);
    border-radius: var(--r-xs);
  }
  .au-pc-grid--mobile-2 :is(
    [data-cct-slider-track]:has(> [class*="col"]:nth-child(2)),
    [data-cct-product-grid]:has(> [class*="col"]:nth-child(2))
  ) .au-pc__media img {
    object-fit: contain;
    object-position: center;
  }
  .au-pc-grid--mobile-2 :is(
    [data-cct-slider-track]:has(> [class*="col"]:nth-child(2)),
    [data-cct-product-grid]:has(> [class*="col"]:nth-child(2))
  ) .au-pc__rail {
    top: var(--s-1);
    right: var(--s-1);
    bottom: var(--s-1);
    justify-content: space-between;
    gap: 0;
  }
  /* Chip --s-6, glyph --s-3: dark frame reads on a dark photo (18×18 filled the chip). */
  .au-pc-grid--mobile-2 :is(
    [data-cct-slider-track]:has(> [class*="col"]:nth-child(2)),
    [data-cct-product-grid]:has(> [class*="col"]:nth-child(2))
  ) .au-pc__rail-btn {
    width: var(--s-6);
    height: var(--s-6);
    flex: 0 0 var(--s-6);
  }
  .au-pc-grid--mobile-2 :is(
    [data-cct-slider-track]:has(> [class*="col"]:nth-child(2)),
    [data-cct-product-grid]:has(> [class*="col"]:nth-child(2))
  ) .au-pc__rail-btn .bi {
    width: var(--s-3);
    height: var(--s-3);
    font-size: var(--s-3);
    line-height: 1;
  }
  .au-pc-grid--mobile-2 :is(
    [data-cct-slider-track]:has(> [class*="col"]:nth-child(2)),
    [data-cct-product-grid]:has(> [class*="col"]:nth-child(2))
  ) .au-pc__name {
    font-size: var(--t-xs);
    font-weight: 400;
  }
  .au-pc-grid--mobile-2 :is(
    [data-cct-slider-track]:has(> [class*="col"]:nth-child(2)),
    [data-cct-product-grid]:has(> [class*="col"]:nth-child(2))
  ) .au-pc__meta {
    font-size: var(--t-eyebrow);
    gap: var(--s-1);
  }
  .au-pc-grid--mobile-2 :is(
    [data-cct-slider-track]:has(> [class*="col"]:nth-child(2)),
    [data-cct-product-grid]:has(> [class*="col"]:nth-child(2))
  ) .au-pc--mini .au-pc__name {
    font-size: var(--t-xs);
    font-weight: 400;
    line-height: var(--lh-head);
    min-height: calc(2 * var(--lh-head) * 1em);
    max-height: calc(2 * var(--lh-head) * 1em);
  }
  .au-pc-grid--mobile-2 :is(
    [data-cct-slider-track]:has(> [class*="col"]:nth-child(2)),
    [data-cct-product-grid]:has(> [class*="col"]:nth-child(2))
  ) .au-price__now {
    font-size: var(--t-sm);
  }
  .au-pc-grid--mobile-2 :is(
    [data-cct-slider-track]:has(> [class*="col"]:nth-child(2)),
    [data-cct-product-grid]:has(> [class*="col"]:nth-child(2))
  ) .au-price-save {
    font-size: var(--t-eyebrow);
  }
  .au-pc-grid--mobile-2 :is(
    [data-cct-slider-track]:has(> [class*="col"]:nth-child(2)),
    [data-cct-product-grid]:has(> [class*="col"]:nth-child(2))
  ) .au-price__old {
    font-size: var(--t-xs);
  }
  .au-pc-grid--mobile-2 :is(
    [data-cct-slider-track]:has(> [class*="col"]:nth-child(2)),
    [data-cct-product-grid]:has(> [class*="col"]:nth-child(2))
  ) .au-pc__specs-line {
    font-size: var(--t-eyebrow);
  }
  .au-pc-grid--mobile-2 :is(
    [data-cct-slider-track]:has(> [class*="col"]:nth-child(2)),
    [data-cct-product-grid]:has(> [class*="col"]:nth-child(2))
  ) .au-cd--card .au-cd__lbl--full {
    display: none;
  }
  .au-pc-grid--mobile-2 :is(
    [data-cct-slider-track]:has(> [class*="col"]:nth-child(2)),
    [data-cct-product-grid]:has(> [class*="col"]:nth-child(2))
  ) .au-cd--card .au-cd__lbl--short {
    display: block;
  }
  .au-pc-grid--mobile-2 :is(
    [data-cct-slider-track]:has(> [class*="col"]:nth-child(2)),
    [data-cct-product-grid]:has(> [class*="col"]:nth-child(2))
  ) .au-pc__media-wrap > .au-cd--card {
    left: var(--s-1);
    right: calc(var(--s-1) + var(--au-pc-rail-size) + var(--au-pc-rail-gap));
    bottom: var(--s-1);
    width: max-content;
    max-width: calc(100% - var(--s-1) - var(--au-pc-rail-size) - var(--au-pc-rail-gap));
    grid-template-columns: repeat(4, var(--s-6));
    gap: var(--s-1);
    justify-items: stretch;
  }
  .au-pc-grid--mobile-2 :is(
    [data-cct-slider-track]:has(> [class*="col"]:nth-child(2)),
    [data-cct-product-grid]:has(> [class*="col"]:nth-child(2))
  ) .au-cd--card .au-cd__cell {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: var(--s-6);
    max-width: var(--s-6);
    height: var(--s-6);
    aspect-ratio: 1;
    padding: .15rem;
    border-radius: var(--r-xs);
  }
  .au-pc-grid--mobile-2 :is(
    [data-cct-slider-track]:has(> [class*="col"]:nth-child(2)),
    [data-cct-product-grid]:has(> [class*="col"]:nth-child(2))
  ) .au-cd--card .au-cd__val {
    font-size: var(--t-chip-2up);
    line-height: 1;
  }
  .au-pc-grid--mobile-2 :is(
    [data-cct-slider-track]:has(> [class*="col"]:nth-child(2)),
    [data-cct-product-grid]:has(> [class*="col"]:nth-child(2))
  ) .au-cd--card .au-cd__lbl {
    font-size: var(--t-chip-2up);
    letter-spacing: 0;
    line-height: 1;
  }
  .au-pc-grid--mobile-2 :is(
    [data-cct-slider-track]:has(> [class*="col"]:nth-child(2)),
    [data-cct-product-grid]:has(> [class*="col"]:nth-child(2))
  ) .au-price__now,
  .au-pc-grid--mobile-2 :is(
    [data-cct-slider-track]:has(> [class*="col"]:nth-child(2)),
    [data-cct-product-grid]:has(> [class*="col"]:nth-child(2))
  ) .au-price__old,
  .au-pc-grid--mobile-2 :is(
    [data-cct-slider-track]:has(> [class*="col"]:nth-child(2)),
    [data-cct-product-grid]:has(> [class*="col"]:nth-child(2))
  ) .au-price-save__sum {
    white-space: nowrap;
  }
  .au-pc-grid--mobile-2 :is(
    [data-cct-slider-track]:has(> [class*="col"]:nth-child(2)),
    [data-cct-product-grid]:has(> [class*="col"]:nth-child(2))
  ) .au-price-save {
    max-width: 100%;
  }
  .au-pc-grid--mobile-2 :is(
    [data-cct-slider-track]:has(> [class*="col"]:nth-child(2)),
    [data-cct-product-grid]:has(> [class*="col"]:nth-child(2))
  ) .au-buy {
    gap: var(--s-1);
  }
  .au-pc-grid--mobile-2 :is(
    [data-cct-slider-track]:has(> [class*="col"]:nth-child(2)),
    [data-cct-product-grid]:has(> [class*="col"]:nth-child(2))
  ) .js-cct-add2basket {
    position: relative;
  }
  .au-pc-grid--mobile-2 :is(
    [data-cct-slider-track]:has(> [class*="col"]:nth-child(2)),
    [data-cct-product-grid]:has(> [class*="col"]:nth-child(2))
  ) .js-cct-add2basket:not(.is-unavailable) .au-buy__icon {
    display: inline-block;
    font-size: var(--s-4);
    line-height: 1;
  }
  .au-pc-grid--mobile-2 :is(
    [data-cct-slider-track]:has(> [class*="col"]:nth-child(2)),
    [data-cct-product-grid]:has(> [class*="col"]:nth-child(2))
  ) .js-cct-add2basket:not(.is-unavailable) .au-buy__label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
}
/* Product grid columns: phone 1 (2 if compact), md 3, lg+ constructor data-cols. */
[data-cct-product-grid][data-cols] {
  --au-pc-cols: 1;
  display: grid;
  width: 100%;
  grid-template-columns: repeat(var(--au-pc-cols), minmax(0, 1fr));
  column-gap: 1rem;
  row-gap: 0;
  --bs-gutter-x: 0;
  --bs-gutter-y: 0;
  margin-left: 0;
  margin-right: 0;
}
[data-cct-product-grid][data-cols] > [class*="col"] {
  width: auto;
  max-width: none;
  flex: none;
  padding-left: 0;
  padding-right: 0;
  margin-bottom: 1rem;
  min-width: 0;
}
@media (max-width: 767.98px) {
  /* 2-up: card hugs content. Row track = taller neighbor. Gutter unchanged.
     height:100% + actions margin-top:auto opened a hole inside the short tile. */
  .au-pc-grid--mobile-2 [data-cct-product-grid][data-cols]:has(> [class*="col"]:nth-child(2)) {
    --au-pc-cols: 2;
    align-items: start;
  }
  .au-pc-grid--mobile-2 [data-cct-slider-track]:has(> [class*="col"]:nth-child(2)) {
    align-items: start;
  }
  .au-pc-grid--mobile-2 :is(
    [data-cct-product-grid]:has(> [class*="col"]:nth-child(2)),
    [data-cct-slider-track]:has(> [class*="col"]:nth-child(2))
  ) > [class*="col"] {
    align-self: start;
    height: auto;
  }
  .au-pc-grid--mobile-2 :is(
    [data-cct-product-grid]:has(> [class*="col"]:nth-child(2)),
    [data-cct-slider-track]:has(> [class*="col"]:nth-child(2))
  ) .au-pc:not(.au-pc--mini) {
    height: auto;
  }
}
@media (min-width: 768px) {
  [data-cct-product-grid][data-cols] {
    --au-pc-cols: 3;
    column-gap: 1.5rem;
  }
  [data-cct-product-grid][data-cols] > [class*="col"] {
    margin-bottom: 1.5rem;
  }
}
@media (min-width: 992px) {
  [data-cct-product-grid][data-cols="2"] { --au-pc-cols: 2; }
  [data-cct-product-grid][data-cols="3"] { --au-pc-cols: 3; }
  [data-cct-product-grid][data-cols="4"] { --au-pc-cols: 4; }
  [data-cct-product-grid][data-cols="5"] { --au-pc-cols: 5; }
}
/* Per visual row: name track = tallest title (1 or 2 lines). No JS.
   Span is a property of the GRID, not of one card: mixed span 5/6
   lets a tile occupy two product rows (phone 2-up + desktop in-flow specs). */
@supports (grid-template-rows: subgrid) {
  @media (min-width: 768px) {
    [data-cct-product-grid][data-cols] > [class*="col"] {
      display: grid;
      grid-template-rows: subgrid;
      grid-row: span 5;
    }
    [data-cct-product-grid][data-cols] > [class*="col"] > .au-pc:not(.au-pc--mini) {
      display: grid;
      grid-template-rows: subgrid;
      grid-row: 1 / span 5;
      row-gap: .65rem;
      column-gap: 0;
      align-content: start;
      width: 100%;
      min-width: 0;
    }
    [data-cct-product-grid][data-cols] .au-pc:not(.au-pc--mini) > .au-pc__media-wrap { grid-row: 1; }
    [data-cct-product-grid][data-cols] .au-pc:not(.au-pc--mini) > .au-pc__swatches { grid-row: 2; }
    [data-cct-product-grid][data-cols] .au-pc:not(.au-pc--mini) > .au-pc__ident { grid-row: 3; }
    [data-cct-product-grid][data-cols] .au-pc:not(.au-pc--mini) > .au-price { grid-row: 4; }
    [data-cct-product-grid][data-cols] .au-pc:not(.au-pc--mini) > .au-pc__actions { grid-row: 5; }
    /* Desktop hover: panel is abs on .au-pc — do not put it on a grid row
       (row 5 = dropdown from «Купить»; rows 1–5 = paint on the photo). */
    @media (hover: hover) and (pointer: fine) {
      [data-cct-product-grid][data-cols] .au-pc--hover-specs:not(.au-pc--mini) > .au-pc__more {
        grid-column: auto;
        grid-row: auto;
      }
      [data-cct-product-grid][data-cols]:has(> [class*="col"] > .au-pc--specs:not(.au-pc--hover-specs) > .au-pc__more) > [class*="col"] {
        grid-row: span 6;
      }
      [data-cct-product-grid][data-cols]:has(> [class*="col"] > .au-pc--specs:not(.au-pc--hover-specs) > .au-pc__more) > [class*="col"] > .au-pc:not(.au-pc--mini) {
        grid-row: 1 / span 6;
      }
      [data-cct-product-grid][data-cols] .au-pc--specs:not(.au-pc--hover-specs):not(.au-pc--mini) > .au-pc__more {
        grid-column: 1;
        grid-row: 6;
        align-content: start;
      }
    }
    /* Touch tablet: specs in-flow. Every column uses the same span. */
    @media (hover: none) {
      [data-cct-product-grid][data-cols]:has(> [class*="col"] > .au-pc > .au-pc__more) > [class*="col"] {
        grid-row: span 6;
      }
      [data-cct-product-grid][data-cols]:has(> [class*="col"] > .au-pc > .au-pc__more) > [class*="col"] > .au-pc:not(.au-pc--mini) {
        grid-row: 1 / span 6;
      }
      [data-cct-product-grid][data-cols] .au-pc:not(.au-pc--mini) > .au-pc__more {
        grid-column: 1;
        grid-row: 6;
        align-content: start;
      }
    }
    [data-cct-product-grid][data-cols] .au-pc:not(.au-pc--mini) > .au-pc__ident {
      display: flex;
      flex-direction: column;
      min-width: 0;
      align-self: stretch;
    }
    [data-cct-product-grid][data-cols] .au-pc:not(.au-pc--mini) > .au-pc__ident .au-pc__name-link {
      display: flex;
      flex-direction: column;
      min-width: 0;
      flex: 1 1 auto;
    }
    [data-cct-product-grid][data-cols] .au-pc:not(.au-pc--mini) > .au-pc__ident .au-pc__name,
    [data-cct-product-grid][data-cols] .au-pc:not(.au-pc--mini) > .au-pc__name {
      flex: 0 0 auto;
      align-self: stretch;
      min-width: 0;
      max-width: 100%;
      height: auto;
      overflow-wrap: anywhere;
    }
    [data-cct-product-grid][data-cols] .au-pc:not(.au-pc--mini) > .au-pc__ident .au-pc__meta {
      min-width: 0;
      max-width: 100%;
      overflow-wrap: anywhere;
    }
  }
}
@media (min-width: 768px) {
  [data-cct-product-slider][data-cct-slider-chunk="4"] .row,
  #au-product-slider[data-cct-slider-chunk="4"] .row {
    flex-wrap: nowrap;
  }
  [data-cct-product-slider][data-cct-slider-chunk="4"] .row > [class*="col"],
  #au-product-slider[data-cct-slider-chunk="4"] .row > [class*="col"] {
    flex: 0 0 25%;
    max-width: 25%;
    width: 25%;
    min-width: 0;
  }
  [data-cct-product-slider][data-cct-slider-chunk="4"] .au-pc,
  #au-product-slider[data-cct-slider-chunk="4"] .au-pc {
    height: 100%;
  }
}
@media (prefers-reduced-motion: reduce) {
  [data-cct-product-slider] [data-cct-slider-track],
  #au-product-slider [data-cct-slider-track] {
    transition: none;
  }
}

/* Video embed */
.au-video-embed {
  border-radius: var(--r-xl);
  overflow: hidden;
  background: #0b0d12;
  box-shadow: var(--sh-2);
  aspect-ratio: 16/9;
}
.au-video-embed video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

/* ===== Unified lead forms (.au-form) ===== */
.au-form {
  display: grid;
  gap: 1.25rem;
}
.au-form--card,
.au-form--panel,
.au-form--modal {
  padding: 1.75rem 1.6rem 1.7rem;
  border-radius: var(--r-xl);
  background: var(--c-card);
  box-shadow: var(--sh-2);
  border: 1px solid color-mix(in oklab, var(--c-line) 80%, transparent);
}
.au-form--panel {
  backdrop-filter: blur(14px) saturate(1.15);
  -webkit-backdrop-filter: blur(14px) saturate(1.15);
  background:
    linear-gradient(165deg, rgb(255 255 255 / .96) 0%, rgb(255 255 255 / .9) 100%);
  box-shadow:
    0 1px 0 rgb(255 255 255 / .7) inset,
    var(--sh-3);
}
[data-scheme="dark"] .au-form--panel {
  background: linear-gradient(165deg, rgb(24 26 34 / .94), rgb(18 20 28 / .9));
  border-color: rgb(255 255 255 / .08);
}
.au-form--embedded {
  gap: 1rem;
  padding: 0;
  background: transparent;
  box-shadow: none;
  border: 0;
}
.au-form--compact {
  gap: .85rem;
  padding: 0;
  background: transparent;
  box-shadow: none;
  border: 0;
}
.au-form__head {
  display: grid;
  gap: .45rem;
  margin-bottom: .15rem;
}
.au-form__head .au-eyebrow {
  font-weight: 600;
  letter-spacing: .06em;
  color: color-mix(in oklab, var(--brand-600) 55%, var(--c-fg-3));
}
.au-form__title {
  margin: 0;
  font-family: var(--f-display);
  font-size: var(--t-h3);
  font-weight: 700;
  letter-spacing: var(--ls-head);
  line-height: var(--lh-head);
  color: var(--c-fg);
}
.au-form__lead {
  margin: 0;
  color: var(--c-fg-3);
  font-size: var(--t-sm);
  font-weight: 400;
  line-height: 1.5;
  max-width: 34ch;
}
.au-form__fields {
  display: grid;
  gap: .85rem;
}
.au-form__fields--2 {
  grid-template-columns: 1fr;
}
@media (min-width: 576px) {
  .au-form__fields--2 { grid-template-columns: 1fr 1fr; }
  .au-form__fields--2 .au-field--span { grid-column: 1 / -1; }
}
.au-form__row {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  align-items: end;
}
.au-form__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem 1.1rem;
}
.au-form__submit {
  width: 100%;
  letter-spacing: -.01em;
}
.au-form__actions .au-form__submit,
.au-form__row .au-form__submit {
  width: auto;
  flex: 0 0 auto;
  min-width: 10.5rem;
}
/* в ряду с полем — та же высота, что у btn-lg / input */
.au-form__row .au-form__submit.btn-lg,
.au-form__row .au-field__input {
  height: 3.25rem;
  min-height: 3.25rem;
}
.au-form__note {
  margin: 0;
  font-size: var(--t-xs);
  color: var(--c-fg-3);
}

/* Fields */
.au-field {
  display: grid;
  gap: .35rem;
  margin: 0;
  min-width: 0;
}
.au-field--grow { flex: 1 1 220px; }
.au-field__label {
  font-size: .8125rem;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  color: var(--c-fg-2);
  line-height: 1.2;
}
.au-field__input {
  width: 100%;
  height: 3.25rem;
  min-height: 3.25rem;
  padding: 0 1.05rem;
  /* поля — --r-md, не pill: на textarea капсула выглядит плохо */
  border-radius: var(--r-md);
  border: 1px solid transparent;
  background: var(--tint-2);
  color: var(--c-fg);
  font: inherit;
  font-size: 1rem;
  line-height: 1.35;
  transition:
    border-color .2s var(--e-soft),
    box-shadow .2s var(--e-soft),
    background .2s var(--e-soft);
  outline: none;
  appearance: none;
}
textarea.au-field__input {
  height: auto;
  min-height: 108px;
  resize: vertical;
  padding: 1rem 1.05rem;
  border-radius: var(--r-lg);
}
select.au-field__input {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%235C6373' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  padding-right: 2.5rem;
}
.au-field__input::placeholder { color: var(--c-fg-3); opacity: .85; }
.au-field.is-invalid .au-field__input::placeholder,
.au-field.is-invalid .au-field__control input::placeholder,
.au-field.is-invalid .au-field__control textarea::placeholder,
.au-field:has(:user-invalid) .au-field__input::placeholder,
.au-field:has(:user-invalid) .au-field__control input::placeholder,
.au-field:has(:user-invalid) .au-field__control textarea::placeholder {
  color: var(--c-err);
  opacity: 1;
}
.au-field__input:hover {
  background: color-mix(in oklab, var(--tint-2) 70%, var(--tint-3));
}
.au-field__input:focus {
  background: var(--c-page);
  border-color: var(--c-focus-border);
  box-shadow: var(--sh-focus);
}
.au-field__input:user-invalid:not(:placeholder-shown):not(:focus) {
  border-color: color-mix(in oklab, var(--c-err) 55%, var(--c-line));
}

.au-field.is-invalid .au-field__input,
.au-field.is-invalid .au-field__control input:not([type="hidden"]):not([type="submit"]),
.au-field.is-invalid .au-field__control textarea,
.au-field.is-invalid .au-field__control select,
.au-field:has(:user-invalid) .au-field__input,
.au-field:has(:user-invalid) .au-field__control input:not([type="hidden"]):not([type="submit"]),
.au-field:has(:user-invalid) .au-field__control textarea,
.au-field:has(:user-invalid) .au-field__control select {
  border-color: color-mix(in oklab, var(--c-err) 55%, var(--c-line));
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--c-err) 18%, transparent);
  background: color-mix(in oklab, var(--c-err) 6%, var(--tint-2));
}

.au-field__error {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.au-form__errors {
  display: grid;
  gap: .25rem;
  margin: 0;
  font-size: var(--t-xs);
  font-weight: 500;
  color: var(--c-err);
}
.au-form__errors p { margin: 0; }

/* bitrix:form.result.new HTML_CODE → same chrome as .au-field__input */
.au-field__control {
  display: block;
  width: 100%;
}
.au-field__control input[type="text"],
.au-field__control input[type="email"],
.au-field__control input[type="tel"],
.au-field__control input[type="password"],
.au-field__control input[type="number"],
.au-field__control select,
.au-field__control textarea {
  width: 100%;
  height: 3.25rem;
  min-height: 3.25rem;
  padding: 0 1.05rem;
  border-radius: var(--r-md);
  border: 1px solid transparent;
  background: var(--tint-2);
  color: var(--c-fg);
  font: inherit;
  font-size: 1rem;
  line-height: 1.35;
  outline: none;
  appearance: none;
}
.au-field__control textarea {
  height: auto;
  min-height: 108px;
  resize: vertical;
  padding: 1rem 1.05rem;
  border-radius: var(--r-lg);
}
.au-field__control input:focus,
.au-field__control select:focus,
.au-field__control textarea:focus {
  background: var(--c-page);
  border-color: var(--c-focus-border);
  box-shadow: var(--sh-focus);
}

/* Checkbox — один визуал для consent / calc / promo */
.au-check {
  position: relative;
  display: inline-grid;
  place-items: center;
  width: 1.1rem;
  height: 1.1rem;
  flex: 0 0 auto;
}
.au-check input,
.au-consent > input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  margin: 0;
  pointer-events: none;
}
.au-check__box,
.au-consent__box {
  width: 1.1rem;
  height: 1.1rem;
  /* Маленький квадрат: в «округлых» --r-xs слишком большой → почти круг */
  border-radius: 4px;
  border: 1px solid var(--c-line-2);
  background: transparent;
  box-shadow: none;
  display: grid;
  place-items: center;
  transition: border-color .15s, background .15s, box-shadow .15s;
}
[data-radius="0"] .au-check__box,
[data-radius="0"] .au-consent__box {
  border-radius: 0;
}
.au-check__box::after,
.au-consent__box::after {
  content: "";
  width: .45rem;
  height: .25rem;
  border-left: 1.5px solid #fff;
  border-bottom: 1.5px solid #fff;
  transform: rotate(-45deg) translate(.04rem, -.06rem) scale(0);
  transition: transform .15s var(--e-soft);
}
.au-check:hover .au-check__box,
.au-consent:hover .au-consent__box,
.au-consent:hover .au-check__box,
.au-promo-check:hover .au-check__box,
.au-calc__row:hover .au-check__box,
.au-sf__opt:hover .au-check__box {
  border-color: color-mix(in oklab, var(--brand-400) 50%, var(--c-line-2));
}
.au-check input:checked + .au-check__box,
.au-consent input:checked + .au-consent__box {
  background: var(--brand-600);
  border-color: var(--brand-600);
}
.au-check input:checked + .au-check__box::after,
.au-consent input:checked + .au-consent__box::after {
  transform: rotate(-45deg) translate(.04rem, -.06rem) scale(1);
}
.au-check input:focus-visible + .au-check__box,
.au-consent input:focus-visible + .au-consent__box {
  outline: 3px solid var(--brand-500);
  outline-offset: 3px;
  box-shadow: 0 0 0 1px #fff;
}
.au-check input:disabled + .au-check__box {
  opacity: .55;
}

/* Consent checkbox — лёгкий, в одну линию с текстом */
.au-consent {
  position: relative;
  display: grid;
  grid-template-columns: 1.1rem 1fr;
  column-gap: .65rem;
  align-items: start;
  margin: .1rem 0 0;
  cursor: pointer;
  user-select: none;
}
.au-consent__box {
  margin-top: .12rem;
}
.au-consent .au-check {
  margin-top: .12rem;
}
.au-consent__text {
  font-size: var(--t-xs);
  font-weight: 400;
  line-height: 1.45;
  color: var(--c-fg-3);
}
.au-consent__text a {
  color: inherit;
  font-weight: 500;
  text-decoration: underline;
  text-decoration-color: color-mix(in oklab, var(--c-fg-3) 45%, transparent);
  text-decoration-thickness: 1px;
  text-underline-offset: .18em;
  transition: color .15s, text-decoration-color .15s;
}
.au-consent__text a:hover {
  color: var(--brand-700);
  text-decoration-color: color-mix(in oklab, var(--brand-500) 55%, transparent);
}
.au-form.is-consent-invalid .au-consent__box,
.au-form.is-consent-invalid .au-consent .au-check__box,
.au-consent:has(:user-invalid) .au-consent__box,
.au-consent:has(:user-invalid) .au-check__box {
  border-color: var(--c-err);
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--c-err) 18%, transparent);
}
/* Modal shell for lead form */
.au-form-modal {
  position: relative;
  border: 0;
  padding: 0;
  overflow: hidden;
  background:
    radial-gradient(90% 70% at 100% 0%, color-mix(in oklab, var(--brand-200) 55%, transparent), transparent 55%),
    var(--c-card);
}
.au-form-modal__close {
  position: absolute;
  top: 1.1rem;
  right: 1.1rem;
  z-index: 2;
}
.au-form--modal {
  padding: 2rem 1.75rem 1.85rem;
  border: 0;
  box-shadow: none;
  background: transparent;
}
@media (min-width: 576px) {
  .au-form--modal { padding: 2.25rem 2.1rem 2rem; }
}
/* 34ch on .au-form__lead is the wide-column measure. The modal column is already narrower. */
.au-form--modal .au-form__lead {
  max-width: none;
}

/* Subscribe */
.au-subscribe {
  display: grid;
  gap: 1.25rem;
  padding: 1.75rem 1.5rem;
  border-radius: var(--r-xl);
  background: var(--c-card);
  box-shadow: var(--sh-1);
}
.au-subscribe__copy,
.au-subscribe__form {
  min-width: 0;
}
/* In-page + modal success — same composition as #modalSubscribeNotice (no Bootstrap alert) */
.au-form--modal .au-form__ok,
.au-form--panel .au-form__ok,
.au-form--card .au-form__ok,
.au-form--compact .au-form__ok {
  margin-bottom: 0;
}
.au-form--modal .au-form__ok .au-form__title,
.au-form--panel .au-form__ok .au-form__title,
.au-form--card .au-form__ok .au-form__title {
  max-width: 28ch;
}

/* Subscribe notice uses same shell as #modalForm (.au-form-modal) */
#modalSubscribeNotice.is-error .au-form__title {
  color: var(--c-err, var(--c-fg));
}
.au-subscribe__form .au-form__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: .65rem;
}
.au-subscribe__form .au-form__row .au-field--grow {
  flex: unset;
  min-width: 0;
}
.au-subscribe__form .au-form__row .au-form__submit {
  width: auto;
  min-width: 10.5rem;
}
.au-subscribe__form .au-form__submit.is-busy,
.au-subscribe__form .au-form__submit[aria-busy="true"] {
  pointer-events: none;
  opacity: .85;
}
@media (min-width: 768px) {
  .au-subscribe {
    grid-template-columns: 1.2fr 1fr;
    align-items: center;
    padding: 2rem 2.25rem;
  }
}

/* Calc deck — multi calculators (same motion as event/value) */
.au-calc-deck {
  position: relative;
}
.au-calc-deck__track {
  position: relative;
}
.au-calc-deck--multi .au-calc-deck__track {
  display: grid;
  overflow: hidden;
}
.au-calc-deck__head .au-eyebrow {
  min-width: 0;
}
.au-calc-deck--multi .au-calc-slide {
  grid-area: 1 / 1;
  transition: none;
}
.au-calc-deck--multi .au-calc-slide[hidden],
.au-calc-deck--multi .au-calc-slide:not(.is-active) {
  display: block !important;
  position: relative;
  width: 100%;
  pointer-events: none;
  visibility: hidden;
  z-index: 0;
  transform: translate3d(100%, 0, 0);
}
.au-calc-deck--multi .au-calc-slide.is-active {
  position: relative;
  transform: translate3d(0, 0, 0);
  visibility: visible;
  pointer-events: auto;
  z-index: 1;
}
.au-calc-deck--multi .au-calc-slide.is-sliding {
  visibility: visible;
  transition: transform .55s cubic-bezier(.22, 1, .36, 1);
  will-change: transform;
}
.au-calc-deck--multi .au-calc-slide.is-slide-from-end {
  transform: translate3d(100%, 0, 0);
  z-index: 2;
}
.au-calc-deck--multi .au-calc-slide.is-slide-from-start {
  transform: translate3d(-100%, 0, 0);
  z-index: 2;
}
.au-calc-deck--multi .au-calc-slide.is-slide-to-start {
  transform: translate3d(-100%, 0, 0);
  z-index: 1;
}
.au-calc-deck--multi .au-calc-slide.is-slide-to-end {
  transform: translate3d(100%, 0, 0);
  z-index: 1;
}
.au-calc-deck--multi .au-calc-slide.is-active.is-sliding:not(.is-slide-from-end):not(.is-slide-from-start) {
  transform: translate3d(0, 0, 0);
  z-index: 2;
}
.au-calc__note {
  margin-top: .25rem;
}
@media (prefers-reduced-motion: reduce) {
  .au-calc-deck--multi .au-calc-slide,
  .au-calc-deck--multi .au-calc-slide.is-sliding {
    transition: none !important;
    transform: none !important;
  }
}

/* Event deck — same slide motion as video/value */
.au-event-deck {
  position: relative;
}
.au-event-deck__track {
  position: relative;
}
.au-event-deck--multi .au-event-deck__track {
  display: grid;
  overflow: hidden;
}
.au-event-deck__head .au-eyebrow {
  min-width: 0;
}
.au-event-deck--multi .au-event-slide {
  grid-area: 1 / 1;
  transition: none;
}
.au-event-deck--multi .au-event-slide[hidden],
.au-event-deck--multi .au-event-slide:not(.is-active) {
  display: block !important;
  position: relative;
  width: 100%;
  pointer-events: none;
  visibility: hidden;
  z-index: 0;
  transform: translate3d(100%, 0, 0);
}
.au-event-deck--multi .au-event-slide.is-active {
  position: relative;
  transform: translate3d(0, 0, 0);
  visibility: visible;
  pointer-events: auto;
  z-index: 1;
}
.au-event-deck--multi .au-event-slide.is-sliding {
  visibility: visible;
  transition: transform .55s cubic-bezier(.22, 1, .36, 1);
  will-change: transform;
}
.au-event-deck--multi .au-event-slide.is-slide-from-end {
  transform: translate3d(100%, 0, 0);
  z-index: 2;
}
.au-event-deck--multi .au-event-slide.is-slide-from-start {
  transform: translate3d(-100%, 0, 0);
  z-index: 2;
}
.au-event-deck--multi .au-event-slide.is-slide-to-start {
  transform: translate3d(-100%, 0, 0);
  z-index: 1;
}
.au-event-deck--multi .au-event-slide.is-slide-to-end {
  transform: translate3d(100%, 0, 0);
  z-index: 1;
}
.au-event-deck--multi .au-event-slide.is-active.is-sliding:not(.is-slide-from-end):not(.is-slide-from-start) {
  transform: translate3d(0, 0, 0);
  z-index: 2;
}
@media (prefers-reduced-motion: reduce) {
  .au-event-deck--multi .au-event-slide,
  .au-event-deck--multi .au-event-slide.is-sliding {
    transition: none !important;
    transform: none !important;
  }
}

/* Event */
.au-event-aside {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 1rem 1.25rem;
}
.au-event-aside__btn {
  flex-shrink: 0;
}
.au-event-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.5rem;
}
.au-event-meta > div {
  display: flex;
  flex-direction: column;
  gap: .15rem;
}
.au-event-meta b {
  font-family: var(--f-display);
  font-size: var(--t-h3);
  font-weight: 800;
  color: var(--brand-600);
  letter-spacing: var(--ls-display);
  line-height: 1;
}
.au-event-meta span {
  font-size: var(--t-xs);
  color: var(--c-fg-3);
  text-transform: lowercase;
}
@media (max-width: 991.98px) {
  .au-event-aside {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }
  .au-event-aside__btn {
    width: 100%;
  }
}
.au-program {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: .65rem;
}
.au-program__item {
  display: grid;
  grid-template-columns: 4.5rem 1fr;
  gap: .85rem;
  align-items: center;
  width: 100%;
  padding: 1rem 1.1rem;
  border-radius: var(--r-xl);
  background: var(--c-card);
  border: 1px solid color-mix(in oklab, var(--c-line) 85%, transparent);
  box-shadow: var(--sh-1);
  text-align: left;
  color: inherit;
  cursor: pointer;
  transition: border-color .2s var(--e-soft), box-shadow .2s var(--e-soft), background .2s var(--e-soft);
}
button.au-program__item:hover {
  border-color: color-mix(in oklab, var(--brand-400) 45%, var(--c-line));
}
.au-program__item.is-active,
.au-program__item[aria-selected="true"] {
  border-color: color-mix(in oklab, var(--brand-500) 55%, var(--c-line));
  box-shadow: var(--sh-2), 0 0 0 1px color-mix(in oklab, var(--brand-500) 35%, transparent);
  background: color-mix(in oklab, var(--tint-2) 70%, var(--c-card));
}
/* Режим «Общие»: пункты как обычный список, без выбора */
.au-program--static .au-program__item {
  cursor: default;
}
.au-program time {
  font-family: var(--f-display);
  font-weight: 800;
  color: var(--brand-600);
  font-size: var(--t-sm);
}
.au-program strong {
  display: block;
  font-family: var(--f-display);
  font-size: var(--t-body);
  margin-bottom: .15rem;
}
.au-program span {
  display: block;
  color: var(--c-fg-2);
  font-size: var(--t-sm);
}

/* Event speakers: 1–2 grid, 3–4 slider */
.au-speakers {
  --au-spk-gap: .75rem;
  --au-spk-nav: 2.25rem;
  --au-spk-nav-gap: .45rem;
  position: relative;
}
.au-speakers[data-layout="grid"] {
  display: grid;
  gap: var(--au-spk-gap);
}
/* Один спикер — тот же размер, что карточка в паре; по левому краю */
.au-speakers[data-layout="grid"][data-count="1"] {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.au-speakers[data-layout="grid"][data-count="1"] .au-person {
  grid-column: 1;
  width: 100%;
  max-width: 100%;
  justify-self: stretch;
}
.au-speakers[data-layout="grid"][data-count="2"] {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.au-speakers[data-layout="slider"] {
  display: block;
  padding-inline: calc(var(--au-spk-nav) + var(--au-spk-nav-gap));
}
.au-speakers__viewport {
  overflow: hidden;
  width: 100%;
  min-width: 0;
  touch-action: pan-y;
  container-type: inline-size;
  container-name: au-speakers;
}
.au-speakers__track {
  display: flex;
  gap: var(--au-spk-gap);
  transition: transform .35s var(--e-soft);
  will-change: transform;
}
.au-speakers__track .au-person {
  box-sizing: border-box;
  flex: 0 0 calc((100cqi - var(--au-spk-gap)) / 2);
  width: calc((100cqi - var(--au-spk-gap)) / 2);
  max-width: calc((100cqi - var(--au-spk-gap)) / 2);
  min-width: 0;
}
.au-speakers__nav {
  position: absolute;
  top: calc(50% - 1.75rem);
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--au-spk-nav);
  height: var(--au-spk-nav);
  border: 1px solid var(--c-line);
  border-radius: var(--r-pill);
  background: var(--c-card);
  color: var(--brand-700);
  box-shadow: var(--sh-1);
  padding: 0;
  transition: background .2s var(--e-soft), color .2s var(--e-soft), opacity .2s var(--e-soft), border-color .2s var(--e-soft);
}
.au-speakers__nav--prev { left: 0; }
.au-speakers__nav--next { right: 0; }
.au-speakers__nav svg {
  width: 1.05rem;
  height: 1.05rem;
  stroke: currentColor;
  stroke-width: 2.2;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.au-speakers__nav:hover:not(:disabled) {
  background: var(--brand-600);
  border-color: var(--brand-600);
  color: var(--brand-fg, #fff);
}
.au-speakers__nav:disabled {
  opacity: .35;
  cursor: default;
}
.au-speakers__nav[hidden] { display: none !important; }
@media (max-width: 575.98px) {
  .au-speakers[data-layout="grid"][data-count="2"] {
    grid-template-columns: 1fr 1fr;
  }
  .au-speakers__track .au-person {
    flex: 0 0 100cqi;
    width: 100cqi;
    max-width: 100cqi;
  }
}
.au-person--sm .au-person__media { border-radius: var(--r-lg); }
.au-person--sm h3,
.au-person--sm .au-person__title { font-size: var(--t-body); }

/* Footer minimal */
.au-block-label {
  font-size: var(--t-eyebrow);
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--c-fg-3);
  margin: 0 0 1rem;
}
#site-footer [data-footer-panel][hidden] {
  display: none !important;
}
.au-footer--minimal {
  padding-top: 2rem;
  border-top: 0;
  background: var(--c-page);
}
.au-footer__lead {
  max-width: 36rem;
}
.au-footer-min {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 1.5rem;
}
.au-footer-min__brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: min(100%, 36rem);
  max-width: 36rem;
}
.au-footer--minimal[data-footer-panel="minimal2"] .au-footer-min {
  align-items: flex-start;
}
.au-footer-min__contacts {
  flex: 1 1 16rem;
  max-width: 22rem;
  margin-left: auto;
}
.au-footer-min__nav {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem 1.25rem;
}
.au-footer-min__nav a {
  font-family: var(--f-body);
  color: var(--c-fg-2);
  text-decoration: none;
  font-size: var(--t-sm);
  font-weight: 600;
}
.au-footer-min__nav a:hover { color: var(--c-fg); }

/* Mobile sticky bar */
.au-sticky-bar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: var(--z-sticky);
  display: flex;
  gap: .5rem;
  padding: .65rem .85rem calc(.65rem + env(safe-area-inset-bottom));
  background: rgb(255 255 255 / .92);
  backdrop-filter: blur(12px);
  border-top: 1px solid var(--c-line);
  box-shadow: 0 -8px 24px rgb(0 0 0 / .06);
}
[data-scheme="dark"] .au-sticky-bar {
  background: rgb(18 20 26 / .92);
}
body { padding-bottom: 0; }
@media (max-width: 991.98px) {
  body.has-sticky-bar { padding-bottom: calc(var(--au-sticky-h) + env(safe-area-inset-bottom, 0px)); }
  body:has(.au-footer-dock) {
    padding-bottom: calc(var(--au-dock-h) + env(safe-area-inset-bottom, 0px));
  }
  body.has-sticky-bar:has(.au-footer-dock) {
    padding-bottom: calc(var(--au-sticky-h) + var(--au-dock-h) + env(safe-area-inset-bottom, 0px));
  }
  body:has(.au-footer-dock) .au-sticky-bar {
    bottom: calc(var(--au-dock-h) + env(safe-area-inset-bottom, 0px));
    padding-bottom: .65rem;
  }
}

/* Mobile pinned icon dock — same <lg as the mobile header */
.au-footer-dock {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: var(--z-sticky);
  display: flex;
  align-items: center;
  justify-content: space-around;
  gap: var(--s-2);
  min-height: var(--tap);
  padding: var(--s-2) var(--s-4) calc(var(--s-2) + env(safe-area-inset-bottom, 0px));
  background: rgb(255 255 255 / .92);
  backdrop-filter: blur(12px);
  border-top: 1px solid var(--c-line);
  box-shadow: 0 -8px 24px rgb(0 0 0 / .06);
}
[data-scheme="dark"] .au-footer-dock {
  background: rgb(18 20 26 / .92);
}
.au-footer-dock .au-hdr-icon .bi {
  font-size: 1.35rem;
  line-height: 1;
}

/* Lang switcher */
.au-lang {
  display: inline-flex;
  padding: 3px;
  border-radius: var(--r-pill);
  background: var(--tint-2);
  gap: 2px;
}
.au-lang__btn {
  border: 0;
  background: transparent;
  color: var(--c-fg-2);
  font-size: var(--t-xs);
  font-weight: 700;
  letter-spacing: .04em;
  padding: .35rem .65rem;
  border-radius: var(--r-pill);
  line-height: 1;
}
.au-lang__btn.active {
  background: var(--c-page);
  color: var(--c-fg);
  box-shadow: var(--sh-1);
}

/* Desktop lang UI: toggle / dropdown / modal */
.au-lang-desk {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.au-lang-desk .au-lang--seg,
.au-lang-desk .au-lang-dd,
.au-lang-desk .au-lang-globe--modal {
  display: none;
}
html:not([data-lang-ui]) .au-lang-desk .au-lang--seg,
html[data-lang-ui="toggle"] .au-lang-desk .au-lang--seg { display: inline-flex; }
html[data-lang-ui="dropdown"] .au-lang-desk .au-lang-dd { display: inline-flex; }
html[data-lang-ui="modal"] .au-lang-desk .au-lang-globe--modal { display: inline-grid; }

.au-lang-globe {
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  border-radius: var(--r-md);
  background: transparent;
  color: var(--c-fg);
  display: inline-grid;
  place-items: center;
  cursor: pointer;
}
.au-lang-globe:hover,
.au-lang-globe[aria-expanded="true"] {
  background: var(--tint-2);
}
.au-lang-globe svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.au-lang-dd {
  position: relative;
  align-items: center;
}
.au-lang-menu {
  position: absolute;
  top: calc(100% + .4rem);
  right: 0;
  z-index: 40;
  min-width: 11.5rem;
  max-height: min(32rem, 80vh);
  overflow: auto;
  margin: 0;
  padding: .5rem;
  list-style: none;
  border-radius: var(--r-xl);
  background: var(--c-card);
  border: 1px solid color-mix(in oklab, var(--c-line) 85%, transparent);
  box-shadow: var(--sh-2);
  /* при скролле нижний отступ не «съедается» */
  scroll-padding-block: .5rem;
}
.au-lang-menu[hidden] { display: none !important; }
.au-lang-menu li { margin: 0; }
.au-lang-menu .au-lang-opt {
  display: flex;
  width: 100%;
  align-items: center;
  text-align: left;
  border: 0;
  background: transparent;
  color: var(--c-fg);
  font-family: var(--f-body);
  font-size: var(--t-sm);
  font-weight: 600;
  line-height: 1.25;
  padding: .55rem .75rem;
  border-radius: var(--r-md);
  cursor: pointer;
}
.au-lang-menu .au-lang-opt:hover {
  background: var(--tint-2);
}
.au-lang-menu .au-lang-opt.active {
  background: color-mix(in oklab, var(--brand-500) 12%, var(--c-page));
  color: var(--brand-700);
}
.au-lang-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .55rem;
}
.au-lang-grid .au-lang-opt {
  width: 100%;
  justify-content: center;
}
.au-lang-grid .au-lang-opt.active {
  background: var(--brand-600);
  color: var(--brand-fg);
  border-color: var(--brand-600);
}
.au-seg--wrap {
  flex-wrap: wrap;
  max-width: 100%;
}

/* FAQ — width is on the section (CMS id is not #faq) */
[data-faq-width="center"] .au-faq-shell {
  max-width: 820px;
  margin-inline: auto;
}
[data-faq-width="center"] .au-faq-head {
  text-align: center;
}
[data-faq-width="center"] .au-faq-head .au-sec__lead {
  margin-inline: auto;
}
[data-faq-width="full"] .au-faq-head {
  text-align: left;
}

/* Список: все панели подряд, табы скрыты */
[data-faq-layout="list"] .au-faq-tabs {
  display: none !important;
}
[data-faq-layout="list"] .au-faq-panels {
  display: grid;
  gap: .65rem;
}
[data-faq-layout="list"] .au-faq[data-faq-panel] {
  display: grid;
  gap: .65rem;
}
/* [hidden] не форсим — JS в list-режиме снимает hidden */

/* Табы: только навигация; список вопросов — тот же card-аккордеон */
[data-faq-layout="tabs"] .au-faq-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin: 0 0 1.25rem;
  border-bottom: 1px solid var(--c-line);
}
[data-faq-layout="tabs"] .au-faq-panels {
  display: block;
}
[data-faq-layout="tabs"] .au-faq[data-faq-panel][hidden] {
  display: none !important;
}
[data-faq-layout="tabs"] .au-faq[data-faq-panel]:not([hidden]) {
  display: grid;
  gap: .65rem;
}
.au-faq-tabs__btn {
  appearance: none;
  border: 0;
  margin: 0;
  padding: .85rem 1.15rem;
  background: var(--tint-2);
  color: var(--c-fg-2);
  font-family: var(--f-body);
  font-size: var(--t-sm);
  font-weight: 600;
  line-height: 1.25;
  cursor: pointer;
  border-top: 2px solid transparent;
  border-radius: var(--r-md) var(--r-md) 0 0;
  transition: color .15s var(--e-soft), background .15s var(--e-soft), border-color .15s var(--e-soft);
}
.au-faq-tabs__btn:hover {
  color: var(--c-fg);
}
.au-faq-tabs__btn.is-active {
  background: var(--c-page);
  color: var(--c-fg);
  border-top-color: var(--brand-600);
  font-weight: 700;
}
.au-faq-tabs__btn:focus-visible {
  outline: 2px solid color-mix(in oklab, var(--brand-500) 45%, transparent);
  outline-offset: -2px;
  z-index: 1;
}

.au-faq {
  display: grid;
  gap: .65rem;
}
/* FAQ cards — kit chrome (--r-xl + line + --sh-1) */
.au-faq__item {
  border-radius: var(--r-xl);
  background: var(--c-surface);
  border: 1px solid var(--c-line);
  box-shadow: var(--sh-1);
  padding: 0 1.25rem;
}
.au-faq__item summary {
  list-style: none;
  cursor: pointer;
  font-family: var(--f-display);
  font-weight: 700;
  font-size: var(--t-h3);
  letter-spacing: var(--ls-head);
  line-height: var(--lh-head);
  padding: 1.15rem 1.75rem 1.15rem 0;
  position: relative;
}
.au-faq__item summary::-webkit-details-marker { display: none; }
.au-faq__item summary::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.35rem;
  font-weight: 500;
  color: var(--brand-600);
  line-height: 1;
  transition: transform .25s var(--e-soft), color .2s var(--e-soft);
}
.au-faq__item[open] summary::after { content: "−"; }
.au-faq__a {
  overflow: hidden;
  height: 0;
  color: var(--c-fg-2);
  font-size: var(--t-body);
  line-height: 1.55;
}
.au-faq__item[open]:not([data-animating]) .au-faq__a {
  height: auto;
}
.au-faq__a-inner {
  padding: 0 0 1.2rem;
}
.au-faq__a p {
  margin: 0;
  max-width: none;
}
.au-faq__nav {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: .35rem;
}
.au-faq__nav-link {
  display: block;
  color: inherit;
  text-decoration: none;
  padding: .2rem 0;
}
.au-faq__nav-link:hover,
.au-faq__nav-link.is-active {
  color: var(--brand-600);
}
.au-faq__item--link {
  padding: 0 1.25rem;
}
.au-faq__leaf {
  display: block;
  font-family: var(--f-display);
  font-weight: 700;
  font-size: var(--t-h3);
  letter-spacing: var(--ls-head);
  line-height: var(--lh-head);
  padding: 1.15rem 0;
  color: inherit;
  text-decoration: none;
}
.au-faq__leaf:hover,
.au-faq__leaf.is-active {
  color: var(--brand-600);
}
@media (max-width: 767.98px) {
  .au-sec--hide-mobile {
    display: none;
  }
}
/* menu.accordion: L1 = L2 = footer link scale. FAQ summary stays --t-h3. */
.au-faq--menu .au-faq__item summary,
.au-faq--menu .au-faq__leaf {
  font-family: var(--f-body);
  font-weight: 400;
  font-size: var(--t-sm);
  letter-spacing: 0;
  line-height: var(--lh-body);
  color: var(--c-fg);
}
.au-faq--menu .au-faq__item summary::after {
  font-size: var(--t-sm);
}
.au-faq--menu .au-faq__a {
  font-size: var(--t-sm);
}
.au-faq--menu .au-faq__nav-link {
  font-family: var(--f-body);
  font-size: var(--t-sm);
  font-weight: 400;
  color: var(--c-fg-2);
  padding-left: var(--s-3);
}
.au-faq--menu .au-faq__nav-link:hover,
.au-faq--menu .au-faq__nav-link.is-active,
.au-faq--menu .au-faq__leaf:hover,
.au-faq--menu .au-faq__leaf.is-active {
  color: var(--brand-600);
}
/* menu.accordion «Единый блок»: one chrome on the wrapper, rows inside. */
.au-faq--menu.au-faq--solid {
  gap: 0;
  border-radius: var(--r-xl);
  background: var(--c-surface);
  border: 1px solid var(--c-line);
  box-shadow: var(--sh-1);
  overflow: hidden;
}
.au-faq--menu.au-faq--solid .au-faq__item,
.au-faq--menu.au-faq--solid .au-faq__item--link {
  border-radius: 0;
  border: 0;
  box-shadow: none;
  background: transparent;
}
.au-faq--menu.au-faq--solid .au-faq__item + .au-faq__item {
  border-top: 1px solid var(--c-line);
}
@media (prefers-reduced-motion: reduce) {
  .au-faq__a { transition: none !important; }
}
@media (max-width: 575.98px) {
  .au-faq-tabs__btn {
    flex: 1 1 auto;
    text-align: center;
    padding: .75rem .65rem;
  }
}

/* CTA deck — multi slides; arrows above card (About / Before-After pattern).
   Active slide stays in-flow during transition so the track height never collapses
   (otherwise the next section slides up under the absolute layers). */
.au-cta-deck__wrap {
  position: relative;
}
.au-cta-deck__track {
  position: relative;
}
.au-cta-deck--multi .au-cta-deck__track {
  overflow: hidden;
  isolation: isolate;
}
.au-cta-deck__navs {
  position: static;
}
.au-cta-deck--multi .au-cta-slide {
  position: relative;
}
.au-cta-deck--multi .au-cta-slide[hidden],
.au-cta-deck--multi .au-cta-slide:not(.is-active):not(.is-sliding) {
  display: none;
}
.au-cta-deck--multi .au-cta-slide.is-active {
  display: block;
  position: relative;
  z-index: 1;
}
/* Incoming / outgoing only — never both absolute or the track collapses */
.au-cta-deck--multi .au-cta-slide.is-sliding:not(.is-active) {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  z-index: 2;
  transition: transform .55s var(--e-soft), opacity .45s var(--e-soft);
}
.au-cta-deck--multi .au-cta-slide.is-active.is-sliding {
  display: block;
  position: relative;
  z-index: 1;
  transition: transform .55s var(--e-soft), opacity .45s var(--e-soft);
}
.au-cta-deck--multi .au-cta-slide.is-slide-from-end {
  transform: translateX(12%);
  opacity: 0;
}
.au-cta-deck--multi .au-cta-slide.is-slide-from-start {
  transform: translateX(-12%);
  opacity: 0;
}
.au-cta-deck--multi .au-cta-slide.is-slide-to-start {
  transform: translateX(-12%);
  opacity: 0;
}
.au-cta-deck--multi .au-cta-slide.is-slide-to-end {
  transform: translateX(12%);
  opacity: 0;
}
.au-cta-deck--multi .au-cta-slide.is-active.is-sliding:not(.is-slide-from-end):not(.is-slide-from-start) {
  transform: none;
  opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
  .au-cta-deck--multi .au-cta-slide,
  .au-cta-deck--multi .au-cta-slide.is-sliding {
    transition: none;
  }
}

/* CTA / contacts / footer
   Фон: data-cta-bg (desktop) + data-cta-bg-mobile → data-cta-bg-view,
   затемнение data-cta-dim 0..4 — как у Hero; attrs на .au-cta-slide */
.au-cta {
  --au-dim-a: .55;
  --au-dim-b: .35;
  --au-dim-c: .15;
  --cta-bg-color: var(--tint-2);
  text-align: center;
  padding: 3.5rem 1.75rem;
  border-radius: var(--r-xl);
  background: var(--cta-bg-color);
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.au-cta__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: none;
  background-color: #0E1015;
  border-radius: inherit;
}
.au-cta__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    105deg,
    rgb(10 12 20 / var(--au-dim-a)) 0%,
    rgb(10 12 20 / var(--au-dim-b)) 48%,
    rgb(10 12 20 / var(--au-dim-c)) 100%
  );
}
.au-cta__photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: none;
}
.au-cta__bg > picture {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}
.au-cta__photo--m { display: none; }
.au-cta__body {
  position: relative;
  z-index: 1;
}
.au-cta-slide[data-cta-dim="0"] .au-cta { --au-dim-a: 0; --au-dim-b: 0; --au-dim-c: 0; }
.au-cta-slide[data-cta-dim="1"] .au-cta { --au-dim-a: .35; --au-dim-b: .2; --au-dim-c: .08; }
.au-cta-slide[data-cta-dim="2"] .au-cta { --au-dim-a: .55; --au-dim-b: .35; --au-dim-c: .15; }
.au-cta-slide[data-cta-dim="3"] .au-cta { --au-dim-a: .72; --au-dim-b: .5; --au-dim-c: .28; }
.au-cta-slide[data-cta-dim="4"] .au-cta { --au-dim-a: .88; --au-dim-b: .7; --au-dim-c: .45; }

.au-cta-slide[data-cta-bg-view="image"] .au-cta {
  color: #fff;
  background: #0E1015;
  box-shadow: var(--sh-2);
}
.au-cta-slide[data-cta-bg-view="image"] .au-cta__bg { display: block; }
.au-cta-slide[data-cta-bg-view="image"] .au-cta__photo:not(.au-cta__photo--m) { display: block; }
.au-cta-slide[data-cta-bg-view="image"].au-cta--m-alt .au-cta__photo:not(.au-cta__photo--m):not(.au-cta__photo--art) { display: none; }
.au-cta-slide[data-cta-bg-view="image"].au-cta--m-alt .au-cta__photo--m { display: block; }
.au-cta-slide[data-cta-bg-view="image"].au-cta--m-alt .au-cta__photo--art { display: block; }
.au-cta-slide[data-cta-bg-view="image"] .au-cta .au-eyebrow {
  color: color-mix(in oklab, #fff 72%, transparent);
}
.au-cta-slide[data-cta-bg-view="image"] .au-cta .display-6 {
  color: #fff;
}
.au-cta-slide[data-cta-bg-view="image"] .au-cta .au-sec__lead {
  color: color-mix(in oklab, #fff 82%, transparent);
}
.au-cta-slide[data-cta-bg-view="image"] .au-cta .btn-soft {
  --bs-btn-color: #fff;
  --bs-btn-bg: rgb(255 255 255 / .14);
  --bs-btn-border-color: rgb(255 255 255 / .28);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: rgb(255 255 255 / .22);
  --bs-btn-hover-border-color: rgb(255 255 255 / .4);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: rgb(255 255 255 / .28);
  --bs-btn-active-border-color: rgb(255 255 255 / .45);
  backdrop-filter: blur(8px);
}
.au-cta-slide[data-cta-bg-view="color"] .au-cta {
  background: var(--cta-bg-color, var(--tint-2));
  color: inherit;
  box-shadow: none;
}
.au-cta-slide[data-cta-bg-view="color"] .au-cta__bg,
.au-cta-slide[data-cta-bg-view="color"] .au-cta__photo { display: none; }
/* Модалка «Контакты» — клон выбранного вида блока */
.au-contacts-modal {
  position: relative;
  padding: .75rem;
}
.au-contacts-modal__close {
  position: absolute;
  top: .85rem;
  right: .85rem;
  z-index: 5;
}
.au-contacts-modal .modal-body {
  padding: .5rem .75rem 1rem;
}
.au-contacts-modal__head {
  margin-bottom: 1.15rem;
  padding-right: 1.75rem;
}
.au-contacts-modal__host {
  min-width: 0;
}
.au-contacts-modal__social {
  margin-top: 1.25rem;
  justify-content: flex-end;
}
/* Mobile contacts: без фото над картой, компактная карта */
@media (max-width: 767.98px) {
  [data-contacts-host][data-contacts-view="split"] .au-contacts-panel__photo,
  [data-contacts-host][data-contacts-view="split2"] .au-contacts-panel__photo {
    display: none !important;
  }
  .au-contacts-modal .au-contacts-panel {
    padding: .85rem;
    gap: 1rem;
  }
  .au-contacts-modal .au-map--yandex {
    min-height: 200px;
    height: 200px;
  }
  .au-contacts-modal__social {
    margin-top: .85rem;
    justify-content: flex-start;
  }
}

/* Contacts panel — медиа сверху + факты */
.au-contacts-panel {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.35rem;
  padding: clamp(1.1rem, 2.2vw, 1.75rem);
  border-radius: var(--r-xl);
  background: var(--c-card);
  border: 1px solid color-mix(in oklab, var(--c-line) 85%, transparent);
  box-shadow: var(--sh-1);
}
.au-contacts-panel__info {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.au-contacts-panel__photo {
  margin: 0;
  border-radius: var(--r-lg);
  overflow: hidden;
  background: var(--c-card);
  aspect-ratio: 21 / 9;
}
.au-contacts-panel__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.au-contacts-panel__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: .65rem;
  margin-top: 1.35rem;
}
.au-contacts-panel__social {
  margin-inline-end: auto;
}
.au-contacts-panel__social .au-social {
  gap: .5rem;
}
.au-contacts-panel__social .au-social__link {
  width: 3.25rem;
  height: 3.25rem;
}
.au-contacts-panel__btns {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .65rem;
}
[data-contacts-host][data-contacts-cta="off"] .au-contacts-panel__cta {
  display: none;
}
[data-contacts-host][data-requisites="off"] .au-contacts-panel__req {
  display: none;
}
[data-contacts-host][data-contacts-cta="off"][data-requisites="off"][data-contacts-social="off"] .au-contacts-panel__actions {
  display: none;
}
.au-contacts-facts {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}

/* Картинка, карта и текст — слева фото+факты, справа карта */
[data-contacts-host][data-contacts-view="split"] .au-contacts-panel__photo {
  order: 1;
  aspect-ratio: 16 / 10;
}
[data-contacts-host][data-contacts-view="split"] .au-contacts-panel__info {
  order: 2;
}
[data-contacts-host][data-contacts-view="split"] .au-map {
  order: 3;
}
@media (min-width: 576px) {
  [data-contacts-host][data-contacts-view="split"] .au-contacts-facts {
    grid-template-columns: 1fr 1fr;
    gap: 0;
    align-items: stretch;
  }
  [data-contacts-host][data-contacts-view="split"] .au-contacts-facts__item {
    position: relative;
    min-width: 0;
    padding: 1rem 1.15rem;
    /* общая сетка строки: подпись и контент на одной линии в паре */
    grid-row: span 2;
    grid-template-rows: subgrid;
    align-content: start;
  }
  [data-contacts-host][data-contacts-view="split"] .au-contacts-facts__item:nth-child(odd) {
    padding-left: .85rem;
  }
  [data-contacts-host][data-contacts-view="split"] .au-contacts-facts__item:nth-child(even) {
    padding-right: .35rem;
  }
  [data-contacts-host][data-contacts-view="split"] .au-contacts-facts__item:nth-child(odd)::after {
    content: "";
    position: absolute;
    top: 1rem;
    bottom: 1rem;
    right: 0;
    width: 1px;
    height: auto;
    transform: none;
    background: var(--c-line);
  }
  [data-contacts-host][data-contacts-view="split"] .au-contacts-facts__item:nth-child(-n + 2)::before {
    content: "";
    position: absolute;
    left: 1.15rem;
    right: 1.15rem;
    bottom: 0;
    width: auto;
    height: 1px;
    transform: none;
    background: var(--c-line);
  }
}
@media (min-width: 992px) {
  [data-contacts-host][data-contacts-view="split"] .au-contacts-panel {
    grid-template-columns: 1fr 1fr;
    gap: 1.75rem;
    align-items: stretch;
  }
  [data-contacts-host][data-contacts-view="split"] .au-contacts-panel__photo {
    grid-column: 1;
    grid-row: 1;
    order: unset;
  }
  [data-contacts-host][data-contacts-view="split"] .au-contacts-panel__info {
    grid-column: 1;
    grid-row: 2;
    order: unset;
  }
  [data-contacts-host][data-contacts-view="split"] .au-map {
    grid-column: 2;
    grid-row: 1 / span 2;
    order: unset;
    align-self: stretch;
    min-height: 100%;
    height: 100%;
  }
  [data-contacts-host][data-contacts-view="split"] .au-map--yandex {
    height: 100%;
    min-height: 100%;
    border-radius: var(--r-lg);
  }
}

/* Картинка, карта и текст 2 — фото и карта пополам сверху, факты в ряд снизу */
[data-contacts-host][data-contacts-view="split2"] .au-contacts-panel {
  gap: 1.35rem;
}
[data-contacts-host][data-contacts-view="split2"] .au-contacts-panel__photo {
  aspect-ratio: 16 / 10;
  border-radius: var(--r-lg);
}
[data-contacts-host][data-contacts-view="split2"] .au-map--yandex {
  position: relative;
  min-height: 0;
  aspect-ratio: 16 / 10;
  height: auto;
  border-radius: var(--r-lg);
}
@media (min-width: 768px) {
  [data-contacts-host][data-contacts-view="split2"] .au-contacts-panel {
    grid-template-columns: 1fr 1fr;
    gap: 1rem 1.15rem;
  }
  [data-contacts-host][data-contacts-view="split2"] .au-contacts-panel__photo {
    grid-column: 1;
    grid-row: 1;
  }
  [data-contacts-host][data-contacts-view="split2"] .au-map {
    grid-column: 2;
    grid-row: 1;
    min-height: 0;
    height: auto;
  }
  [data-contacts-host][data-contacts-view="split2"] .au-contacts-panel__info {
    grid-column: 1 / -1;
    grid-row: 2;
  }
}

/* Картинка и текст / Карта и текст / split2 — факты в один ряд */
[data-contacts-host][data-contacts-view="photo"] .au-map {
  display: none !important;
}
[data-contacts-host][data-contacts-view="maptext"] .au-contacts-panel__photo {
  display: none !important;
}
[data-contacts-host][data-contacts-view="maptext"] .au-map--yandex {
  position: relative;
  min-height: 0;
  aspect-ratio: 21 / 9;
  height: auto;
  border-radius: var(--r-lg);
}
@media (min-width: 768px) {
  [data-contacts-host][data-contacts-view="photo"] .au-contacts-facts,
  [data-contacts-host][data-contacts-view="maptext"] .au-contacts-facts,
  [data-contacts-host][data-contacts-view="split2"] .au-contacts-facts {
    grid-template-columns: 1.35fr 1fr 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 0;
    align-items: stretch;
  }
  [data-contacts-host][data-contacts-view="photo"] .au-contacts-facts__item,
  [data-contacts-host][data-contacts-view="maptext"] .au-contacts-facts__item,
  [data-contacts-host][data-contacts-view="split2"] .au-contacts-facts__item {
    position: relative;
    min-width: 0;
    height: auto;
    padding: .15rem 1.15rem;
    grid-row: span 2;
    grid-template-rows: subgrid;
    align-content: start;
  }
  [data-contacts-host][data-contacts-view="photo"] .au-contacts-facts__item:first-child,
  [data-contacts-host][data-contacts-view="maptext"] .au-contacts-facts__item:first-child,
  [data-contacts-host][data-contacts-view="split2"] .au-contacts-facts__item:first-child {
    padding-left: .85rem;
  }
  [data-contacts-host][data-contacts-view="photo"] .au-contacts-facts__item:last-child,
  [data-contacts-host][data-contacts-view="maptext"] .au-contacts-facts__item:last-child,
  [data-contacts-host][data-contacts-view="split2"] .au-contacts-facts__item:last-child {
    padding-right: .35rem;
  }
  [data-contacts-host][data-contacts-view="photo"] .au-contacts-facts__item:not(:first-child)::before,
  [data-contacts-host][data-contacts-view="maptext"] .au-contacts-facts__item:not(:first-child)::before,
  [data-contacts-host][data-contacts-view="split2"] .au-contacts-facts__item:not(:first-child)::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 1px;
    height: auto;
    transform: none;
    background: var(--c-line);
  }
}

/* Только карта — кнопки под картой справа */
[data-contacts-host][data-contacts-view="map"] .au-contacts-panel {
  padding: 0;
  overflow: hidden;
  gap: 0;
}
[data-contacts-host][data-contacts-view="map"] .au-contacts-panel__photo,
[data-contacts-host][data-contacts-view="map"] .au-contacts-facts {
  display: none !important;
}
[data-contacts-host][data-contacts-view="map"] .au-contacts-panel__info {
  padding: 1.1rem clamp(1.1rem, 2.2vw, 1.75rem) 1.25rem;
}
[data-contacts-host][data-contacts-view="map"] .au-contacts-panel__actions {
  margin-top: 0;
}
[data-contacts-host][data-contacts-view="map"][data-contacts-cta="off"][data-requisites="off"][data-contacts-social="off"] .au-contacts-panel__info {
  display: none;
}
[data-contacts-host][data-contacts-view="map"] .au-map--yandex {
  position: relative;
  min-height: 0;
  aspect-ratio: 21 / 9;
  height: auto;
  border-radius: 0;
}

/* Реквизиты — модалка в типографике форм */
.au-req-modal {
  padding: 2rem 1.75rem 1.85rem;
}
@media (min-width: 576px) {
  .au-req-modal { padding: 2.25rem 2.1rem 2rem; }
}
.au-req-modal .au-form__head {
  margin-bottom: 1.15rem;
  padding-right: 1.5rem;
}
.au-req-list {
  margin: 0;
  display: grid;
  gap: 0;
}
.au-req-list__row {
  display: grid;
  gap: .2rem;
  padding: .85rem 0;
  border-top: 1px solid var(--c-line);
}
.au-req-list__row dt {
  margin: 0;
  font-family: var(--f-body);
  font-size: var(--t-xs);
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--c-fg-3);
  line-height: 1.35;
}
.au-req-list__row dd {
  margin: 0;
  font-family: var(--f-body);
  font-size: var(--t-body);
  font-weight: 500;
  line-height: var(--lh-body);
  color: var(--c-fg);
  font-variant-numeric: tabular-nums;
  word-break: break-word;
}

/* Филиалы */
.au-branches-map {
  display: none;
  margin: 0 0 1.75rem;
  border-radius: var(--r-xl);
  overflow: hidden;
  background: var(--c-card);
  border: 1px solid color-mix(in oklab, var(--c-line) 85%, transparent);
  box-shadow: var(--sh-1);
}
#branches[data-branches-map="on"] .au-branches-map {
  display: block;
}
.au-branches-map .au-map--yandex {
  position: relative;
  min-height: 0;
  aspect-ratio: 21 / 9;
  height: auto;
  border-radius: 0;
}
.au-branches {
  display: grid;
  gap: 2rem;
}
.au-branches__group {
  display: grid;
  gap: .75rem;
}
.au-branches__region {
  margin: 0 0 .15rem;
  font-family: var(--f-display);
  font-size: var(--t-h3);
  font-weight: 700;
  letter-spacing: var(--ls-head);
  line-height: var(--lh-head);
  color: var(--c-fg);
}
.au-branch {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .85rem 1rem;
  align-items: start;
  padding: 1rem 1.15rem;
  border-radius: var(--r-xl);
  background: var(--c-card);
  border: 1px solid color-mix(in oklab, var(--c-line) 85%, transparent);
  box-shadow: var(--sh-1);
}
@media (min-width: 768px) {
  .au-branch {
    grid-template-columns: auto minmax(0, 1.4fr) minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem 1.35rem;
    padding: 1.1rem 1.35rem;
  }
}
.au-branch__mark {
  display: grid;
  place-items: center;
  width: 3rem;
  height: 3rem;
  border-radius: var(--r-md);
  background: var(--brand-50);
  color: var(--brand-700);
  font-family: var(--f-display);
  font-size: var(--t-sm);
  font-weight: 800;
  letter-spacing: var(--ls-head);
  flex-shrink: 0;
  overflow: hidden;
}
.au-branch__mark-letter {
  line-height: 1;
}
.au-branch__mark-photo {
  display: none;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#branches[data-branches-mark="photos"] .au-branch__mark {
  width: 3.5rem;
  height: 3.5rem;
  background: var(--tint-2);
  color: transparent;
}
#branches[data-branches-mark="photos"] .au-branch__mark-letter {
  display: none;
}
#branches[data-branches-mark="photos"] .au-branch__mark-photo {
  display: block;
}
.au-branch__main {
  min-width: 0;
}
.au-branch__addr {
  margin: 0 0 .35rem;
  font-family: var(--f-body);
  font-size: var(--t-body);
  font-weight: 700;
  line-height: var(--lh-head);
  color: var(--c-fg);
}
.au-branch__hours {
  display: flex;
  align-items: flex-start;
  gap: .4rem;
  margin: 0;
  font-family: var(--f-body);
  font-size: var(--t-sm);
  font-weight: 400;
  line-height: 1.45;
  color: var(--c-fg-3);
}
.au-branch__ic {
  width: 1rem;
  height: 1rem;
  margin-top: .15rem;
  flex-shrink: 0;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.au-branch__contacts {
  display: grid;
  gap: .25rem;
  min-width: 0;
}
.au-branch__contacts a {
  font-family: var(--f-body);
  font-size: var(--t-body);
  font-weight: 500;
  line-height: var(--lh-body);
  color: var(--c-fg-2);
  text-decoration: none;
  transition: color .15s var(--e-soft);
  word-break: break-word;
}
.au-branch__contacts a:hover {
  color: var(--brand-700);
  text-decoration: none;
}
.au-branch__maplink {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  font-family: var(--f-body);
  font-size: var(--t-sm);
  font-weight: 600;
  color: var(--brand-700);
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: color .15s var(--e-soft);
}
.au-branch__maplink svg {
  width: 1.1rem;
  height: 1.1rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.au-branch__maplink:hover {
  color: var(--brand-600);
  text-decoration: underline;
  text-underline-offset: .2em;
}
.au-branch-map-modal {
  position: relative;
  border: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding: .75rem;
}
.au-branch-map-modal__close {
  position: absolute;
  top: .85rem;
  right: .85rem;
  z-index: 5;
}
.au-branch-map-modal__body {
  display: grid;
  gap: .85rem;
  padding: .35rem .35rem .5rem;
}
.au-branch-map-modal__head {
  padding-right: 1.75rem;
}
.au-branch-map-modal__title {
  margin: 0;
  font-family: var(--f-display);
  font-size: var(--t-h3);
  font-weight: 700;
  letter-spacing: var(--ls-head);
  line-height: var(--lh-head);
  color: var(--c-fg);
}
.au-branch-map-modal__addr {
  margin: .35rem 0 0;
  font-family: var(--f-body);
  font-size: var(--t-sm);
  line-height: var(--lh-body);
  color: var(--c-fg-2);
}
.au-branch-map-modal__map {
  position: relative;
  min-height: 0;
  height: auto;
  aspect-ratio: 16 / 10;
  border-radius: var(--r-lg);
}
.au-branch-map-modal__ext {
  justify-self: end;
}
@media (max-width: 767.98px) {
  .au-branch__contacts {
    grid-column: 2;
  }
  .au-branch__maplink {
    grid-column: 2;
    justify-self: start;
  }
}

.au-contacts-facts__item {
  display: grid;
  grid-template-rows: auto auto;
  align-content: start;
  align-items: start;
  gap: 0;
  min-width: 0;
}
.au-contacts-facts__head {
  display: flex;
  align-items: center;
  gap: .55rem;
  min-width: 0;
  height: 1.25rem;
  min-height: 1.25rem;
}
.au-contacts-facts__head .au-eyebrow {
  margin: 0;
  line-height: 1;
  white-space: nowrap;
}
.au-contacts-facts__ic {
  display: grid;
  place-items: center;
  width: 1.15rem;
  height: 1.15rem;
  color: var(--brand-600);
  flex-shrink: 0;
  overflow: hidden;
}
.au-contacts-facts__ic svg {
  display: block;
  width: 1.15rem;
  height: 1.15rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.au-contacts-facts__body {
  min-width: 0;
  align-self: start;
  margin-top: .45rem; /* вместо gap — работает и с subgrid */
  padding-left: calc(1.15rem + .55rem); /* под выравнивание с текстом заголовка */
}
.au-contacts-facts__body p {
  margin: 0 0 .25rem;
  font-family: var(--f-body);
  font-size: var(--t-body);
  font-weight: 400;
  line-height: var(--lh-body);
  color: var(--c-fg-2);
}
.au-contacts-facts__body a {
  display: inline;
  line-height: inherit;
}
.au-contacts-facts__body p:last-child { margin-bottom: 0; }
.au-contacts-facts__link {
  font-family: var(--f-body);
  font-size: var(--t-body);
  font-weight: 600;
  line-height: var(--lh-body);
  color: var(--c-fg);
  text-decoration: none;
  transition: color .15s var(--e-soft);
}
.au-contacts-facts__link:hover {
  color: var(--brand-700);
  text-decoration: none;
}
.au-contacts-facts__link.au-num {
  font-variant-numeric: tabular-nums;
  letter-spacing: 0;
}

/* Legacy list (модалка «Все способы связи») */
.au-contacts {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: .85rem;
}
.au-contacts > li {
  display: grid;
  grid-template-columns: 1.5rem 1fr;
  column-gap: .85rem;
  align-items: center;
}
.au-contacts__ic {
  display: grid;
  place-items: center;
  width: 1.5rem;
  height: 1.5rem;
  color: var(--brand-700);
  background: none;
}
.au-contacts__ic svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.au-contacts__link,
.au-contacts__text {
  min-width: 0;
  font-size: var(--t-body);
  line-height: 1.4;
  color: var(--c-fg-2);
}
.au-contacts__link {
  color: var(--brand-700);
  text-decoration: none;
  font-weight: 600;
  transition: color .15s var(--e-soft);
}
.au-contacts__link:hover {
  color: var(--brand-600);
  text-decoration: none;
}
.au-contacts__link.au-num {
  font-size: var(--t-h3);
  font-weight: 800;
  letter-spacing: var(--ls-display);
  line-height: 1.2;
}
.au-map {
  min-height: 280px;
  border-radius: var(--r-xl);
  background: linear-gradient(135deg, var(--tint-2), var(--tint-3));
  overflow: hidden;
  color: var(--c-fg-3);
  font-size: var(--t-sm);
  position: relative;
}
.au-map img {
  width: 100%;
  height: 100%;
  min-height: 280px;
  object-fit: cover;
  display: block;
}
.au-map--yandex {
  min-height: 320px;
  height: 100%;
  border-radius: var(--r-lg);
  background: var(--tint-2);
}
@media (min-width: 992px) {
  .au-map--yandex {
    min-height: 100%;
  }
}
.au-map--yandex iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
  z-index: 1;
}
/* Edit mode: a cross-origin map frame does not bubble mouseover to the Bitrix area. */
.au-include-edit .au-map--yandex iframe {
  pointer-events: none;
}
/* Bitrix map.yandex.view: intermediate wrappers must fill .au-map host (height:100% alone collapses) */
.au-map--yandex .bx-yandex-view-layout,
.au-map--yandex .bx-yandex-view-map,
.au-map--yandex .bx-yandex-map {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  min-height: 100% !important;
  border: 0;
  z-index: 1;
}
/* Only the map root canvas fills the host — never all ymaps-* (breaks control sprites). */
.au-map--yandex .bx-yandex-map > ymaps:first-child,
.au-map--yandex .bx-yandex-map > ymaps.ymaps-2-1-79-map,
.au-map--yandex .bx-yandex-map > ymaps[class*="-map"]:not([class*="control"]):not([class*="button"]):not([class*="zoom"]):not([class*="goto"]):not([class*="float"]) {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}
/* Hide Bitrix/Yandex “show map” stubs inside Aurora host when API paints late */
.au-map--yandex .bx-yandex-map > a,
.au-map--yandex [class*="show-map"],
.au-map--yandex .bx-map-wait {
  display: none !important;
}
.au-map__fallback {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: grid;
  place-content: center;
  gap: .35rem;
  padding: 1.25rem;
  text-align: center;
  color: var(--c-fg-2);
  background: var(--tint-2);
}
.au-map--yandex.is-ready {
  background: #e8eef5;
}
.au-map--yandex.is-ready .au-map__fallback {
  display: none;
}
.au-map__open {
  position: absolute;
  left: .65rem;
  right: .65rem;
  bottom: .65rem;
  z-index: 2;
  width: auto;
  max-width: calc(100% - 1.3rem);
  margin-inline: auto;
  pointer-events: auto;
  box-shadow: var(--sh-1);
}
.au-footer {
  padding: 3.5rem 0 1.75rem;
  border-top: 1px solid var(--c-line);
  background: var(--c-page);
}
.au-footer--surface {
  background: var(--c-surface);
}
.au-footer h5 {
  font-family: var(--f-display);
  font-size: var(--t-sm);
  font-weight: 700;
  margin-bottom: 1rem;
}
.au-footer a {
  font-family: var(--f-body);
  font-size: var(--t-sm);
  font-weight: 400;
  font-style: normal;
  letter-spacing: normal;
  color: var(--c-fg-2);
  text-decoration: none;
}
.au-footer a:hover { color: var(--c-fg); }
/* Columns footer, one rule for 1–3 menu columns.
   Below 768px the row stacks. From 768px: logo keeps its own width
   on the left, the menu group is centered in the space before the
   contacts, and the contacts column is the right edge. Menu columns
   stay max-content while they fit, and may shrink or wrap when the
   row is narrow. Column gap is --s-10 (72px, 3× --s-6). */
#footer-columns .au-footer__cols {
  --bs-gutter-x: 0;
  --bs-gutter-y: 0;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: stretch;
  justify-content: flex-start;
  gap: var(--s-6);
  margin-right: 0;
  margin-left: 0;
}
#footer-columns .au-footer__cols > * {
  width: auto;
  max-width: none;
  margin-top: 0;
  margin-right: 0;
  margin-left: 0;
  padding: 0;
}
#footer-columns .au-footer__brand {
  flex: 0 0 auto;
  max-width: 100%;
}
#footer-columns .au-footer__menus {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--s-6);
  min-width: 0;
  max-width: 100%;
}
#footer-columns .au-footer__col,
#footer-columns .au-footer__aside {
  min-width: 0;
  max-width: 100%;
}
@media (min-width: 768px) {
  #footer-columns .au-footer__cols {
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
  }
  #footer-columns .au-footer__menus {
    flex: 1 1 auto;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: center;
    gap: var(--s-10);
  }
  #footer-columns .au-footer__menus > .au-footer__col {
    flex: 0 1 auto;
    width: max-content;
    min-width: 0;
    max-width: min(100%, max-content);
  }
  #footer-columns .au-footer__aside {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    width: max-content;
    max-width: max-content;
    text-align: right;
  }
  #footer-columns .au-footer__aside .au-footer-contacts {
    justify-items: end;
  }
  #footer-columns .au-footer__aside .au-footer-contact {
    align-items: flex-end;
  }
  #footer-columns .au-footer__col a,
  #footer-columns .au-footer-contact__line,
  #footer-columns .au-footer-contact__line .au-footer__val,
  #footer-columns .au-footer-contact__line a.au-footer__val {
    white-space: nowrap;
  }
}
.au-footer-contacts {
  display: grid;
  gap: var(--s-3);
}
.au-footer-contact {
  --au-fc-indent: calc(1em + var(--s-2));
  --au-fc-gap: var(--s-1);
  display: flex;
  flex-direction: column;
  gap: var(--au-fc-gap);
  min-width: 0;
  font-size: var(--t-sm);
  line-height: 1;
}
.au-footer-contact__cap {
  padding-left: var(--au-fc-indent);
  font-family: var(--f-body);
  font-size: inherit;
  line-height: 1;
  font-weight: 600;
  color: var(--c-fg-3);
}
.au-footer .au-footer-contact__cap {
  font-family: var(--f-body);
  font-size: var(--t-sm);
  font-weight: 400;
  font-style: normal;
  letter-spacing: normal;
  color: var(--c-fg-2);
}
.au-footer-contact__line {
  display: flex;
  align-items: center;
  gap: var(--s-2);
  min-height: 1em;
  line-height: 1;
}
.au-footer-contact__line:not(:has(.au-footer-contact__icon)) {
  padding-left: var(--au-fc-indent);
}
.au-footer-contact__icon {
  display: flex;
  flex: 0 0 1em;
  align-items: center;
  justify-content: center;
  width: 1em;
  height: 1em;
  line-height: 0;
  color: var(--c-fg-2);
}
.au-footer-contact:has(.au-footer__val:hover) .au-footer-contact__icon {
  color: var(--c-fg);
}
.au-footer-contact__line .au-footer__val,
.au-footer-contact__line a.au-footer__val {
  display: block;
  margin: 0;
  padding: 0;
  font-family: var(--f-body);
  font-size: var(--t-sm);
  font-weight: 400;
  font-style: normal;
  letter-spacing: normal;
  line-height: 1;
  color: var(--c-fg-2);
  text-decoration: none;
}
.au-footer__social {
  margin-top: 1.75rem;
}
.au-footer__social--min {
  margin-top: 1.15rem;
}
#site-footer[data-footer-social="right"] .au-footer__social {
  justify-content: flex-end;
}
.au-social {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
}
.au-social__link {
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: var(--r-md);
  color: var(--brand-700);
  background: #fff;
  border: 1px solid var(--c-line);
  text-decoration: none;
  transition: color .15s var(--e-soft), background .15s var(--e-soft), border-color .15s var(--e-soft), transform .15s var(--e-soft);
}
.au-footer .au-social__link:hover,
.au-social__link:hover {
  color: #fff;
  background: var(--brand-600);
  border-color: var(--brand-600);
  text-decoration: none;
  transform: translateY(-1px);
}
.au-social__link:focus-visible {
  outline: 2px solid var(--brand-400);
  outline-offset: 2px;
}
/* Inline SVG — цвет через currentColor */
.au-social__icon {
  width: 1.25rem;
  height: 1.25rem;
  display: block;
  flex: 0 0 auto;
  fill: currentColor;
  overflow: visible;
}
.au-social__icon path {
  fill: currentColor;
}
.au-footer__bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .75rem 1rem;
  padding-top: .75rem;
  margin-top: 1rem;
  border-top: 1px solid var(--c-line);
  font-size: var(--t-xs);
  color: var(--c-fg-3);
}
.au-footer__bottom .au-footer__copyright {
  margin-top: 0;
}
.au-footer__lead p:last-child,
.au-footer__copyright p:last-child {
  margin-bottom: 0;
}
.au-footer__lead a,
.au-footer__copyright a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: .15em;
}
.au-publisher {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  margin-left: auto;
  color: var(--c-fg-3);
  line-height: 0;
  text-decoration: none;
}
.au-publisher svg {
  display: block;
  height: 1.5rem;
  width: auto;
}
.au-publisher:hover {
  color: var(--c-fg-2);
}

/* Cookie consent — desktop card (modal chrome); mobile bottom stripe. Close = OK only. */
.au-cookie {
  position: fixed;
  z-index: 1085;
  right: 1.25rem;
  bottom: 1.25rem;
  left: auto;
  width: min(22.5rem, calc(100vw - 2.5rem));
  pointer-events: none;
}
.au-cookie[hidden] {
  display: none !important;
}
.au-cookie__card {
  pointer-events: auto;
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
  padding: 1.35rem 1.35rem 1.2rem;
  border: 0;
  border-radius: var(--r-xl);
  background: var(--c-card);
  color: var(--c-fg);
  box-shadow: var(--sh-3);
}
.au-cookie__text {
  font-size: var(--t-sm);
  line-height: 1.45;
  color: var(--c-fg-2);
  text-align: left;
}
.au-cookie__text > :first-child {
  margin-top: 0;
}
.au-cookie__text > :last-child {
  margin-bottom: 0;
}
.au-cookie__text h2,
.au-cookie__text h3,
.au-cookie__text h4,
.au-cookie__title {
  margin: 0 0 .65rem;
  color: var(--c-fg);
  font-family: var(--f-display);
  font-size: var(--t-h3);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -.01em;
}
.au-cookie__text p {
  margin: 0 0 .45rem;
}
.au-cookie__text a {
  color: var(--brand-700);
  text-decoration: underline;
  text-underline-offset: .12em;
}
.au-cookie__text a:hover {
  color: var(--brand-800);
}
.au-cookie__ok {
  margin-top: .15rem;
  width: 100%;
}
@media (max-width: 767.98px) {
  /* Compact bottom bar — must not become the LCP sheet / cover the hero. */
  .au-cookie {
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    padding: 0;
  }
  body.has-sticky-bar .au-cookie {
    bottom: calc(var(--au-sticky-h) + env(safe-area-inset-bottom, 0px));
  }
  body:has(.au-footer-dock) .au-cookie {
    bottom: calc(var(--au-dock-h) + env(safe-area-inset-bottom, 0px));
  }
  body.has-sticky-bar:has(.au-footer-dock) .au-cookie {
    bottom: calc(var(--au-sticky-h) + var(--au-dock-h) + env(safe-area-inset-bottom, 0px));
  }
  .au-cookie__card {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: var(--s-3);
    padding: var(--s-3) var(--s-4);
    padding-bottom: calc(var(--s-3) + env(safe-area-inset-bottom, 0px));
    border-radius: 0;
    box-shadow: var(--sh-2);
  }
  .au-cookie__text {
    flex: 1 1 auto;
    min-width: 0;
    font-size: var(--t-xs);
    max-height: calc(var(--t-xs) * 1.45 * 3);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .au-cookie__text h2,
  .au-cookie__text h3,
  .au-cookie__text h4,
  .au-cookie__title {
    margin: 0 0 var(--s-1);
    font-size: var(--t-sm);
    line-height: 1.3;
  }
  .au-cookie__text p {
    margin: 0;
  }
  .au-cookie__text p + p {
    margin-top: var(--s-1);
  }
  .au-cookie__ok {
    flex: 0 0 auto;
    width: auto;
    min-width: var(--tap);
    margin-top: 0;
    white-space: nowrap;
  }
}

/* Modal skin — не выше экрана, скролл при переполнении */
.modal-dialog:not(.modal-fullscreen) {
  max-height: calc(100dvh - 1.5rem);
  margin-top: max(.75rem, env(safe-area-inset-top, 0px));
  margin-bottom: max(.75rem, env(safe-area-inset-bottom, 0px));
}
.modal-dialog:not(.modal-fullscreen) .modal-content {
  max-height: calc(100dvh - 1.5rem);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  scroll-padding-bottom: var(--s-4);
}
.modal-dialog-scrollable:not(.modal-fullscreen) .modal-content {
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.modal-dialog-scrollable:not(.modal-fullscreen) .modal-body {
  flex: 1 1 auto;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  min-height: 0;
  scroll-padding-bottom: var(--s-4);
}
/* Requisites / phones / rich forms: scrollable without .modal-body was
   overflow:hidden on .modal-content — last line clipped, no scrollbar. */
.modal-dialog-scrollable:not(.modal-fullscreen) .modal-content:not(:has(.modal-body)) {
  overflow-x: hidden;
  overflow-y: auto;
  scroll-padding-bottom: var(--s-4);
}
/* Inner .au-req-modal / .au-form--modal already pad; avoid a dead strip.
   Only those wrappers — checkout/order keep stock .modal-header/.modal-body padding. */
.modal-dialog-scrollable .au-form-modal > .modal-body:has(> .au-form--modal),
.modal-dialog-scrollable .au-form-modal > .modal-body:has(> .au-req-modal) {
  padding: 0;
}
.modal-content {
  border: 0;
  border-radius: var(--r-xl);
  box-shadow: var(--sh-3);
}
.modal-header { border-bottom: 0; padding-bottom: 0; gap: .75rem; }
.modal-title { min-width: 0; }
.modal-footer { border-top: 0; }

/* Единый крестик закрытия — Bootstrap btn-close, тонкий серый.
   Иконка .85rem, зона нажатия --tap (как .au-hdr-icon). */
.btn-close {
  --bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%235C6373'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");
  --bs-btn-close-opacity: .55;
  --bs-btn-close-hover-opacity: .85;
  --bs-btn-close-focus-shadow: 0 0 0 .2rem color-mix(in oklab, var(--brand-400) 28%, transparent);
  box-sizing: border-box;
  width: var(--tap);
  height: var(--tap);
  min-width: var(--tap);
  min-height: var(--tap);
  padding: 0;
  background-size: .85rem;
  background-position: center;
  flex-shrink: 0;
}
/* Сброс padding Bootstrap у .modal-header / .offcanvas-header .btn-close */
.modal-header .btn-close,
.offcanvas-header .btn-close {
  padding: 0;
  margin: 0 0 0 auto;
}
.modal-fullscreen .modal-body { padding-top: 3rem; }
.au-opts { display: flex; flex-wrap: wrap; gap: .5rem; }
.au-opt {
  min-height: 36px;
  padding: 0 12px;
  border-radius: var(--r-pill);
  border: 1px solid var(--c-line-2);
  background: transparent;
  font-size: var(--t-sm);
  font-weight: 600;
}
.au-opt.active:not(.au-opt--brand) {
  background: var(--brand-600);
  color: var(--brand-fg);
  border-color: var(--brand-600);
}
/* Quick view — попап товара. modal-xl is stock; BS 5.3 has no xxl.
   Width = Aurora wide column (--w-wide / .in--wide), not a magic 1140. */
.au-qv-modal {
  --bs-modal-width: min(var(--w-wide), calc(100vw - 2 * var(--gutter)));
  max-height: min(92vh, 56rem);
}
#modalProduct .modal-content {
  max-height: min(92vh, 56rem);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
/* Телефон: почти весь экран. --s-1 чтобы --r-xl не срезало; safe-area на диалоге.
   Не modal-fullscreen: обнуляет радиус. Десктоп без изменений. */
@media (max-width: 767.98px) {
  #modalProduct .au-qv-modal {
    --au-qv-inset-t: max(var(--s-1), env(safe-area-inset-top, 0px));
    --au-qv-inset-r: max(var(--s-1), env(safe-area-inset-right, 0px));
    --au-qv-inset-b: max(var(--s-1), env(safe-area-inset-bottom, 0px));
    --au-qv-inset-l: max(var(--s-1), env(safe-area-inset-left, 0px));
    --bs-modal-margin: var(--s-1);
    --bs-modal-width: auto;
    width: auto;
    max-width: none;
    margin: var(--au-qv-inset-t) var(--au-qv-inset-r) var(--au-qv-inset-b) var(--au-qv-inset-l);
    height: calc(100% - var(--au-qv-inset-t) - var(--au-qv-inset-b));
    max-height: calc(100% - var(--au-qv-inset-t) - var(--au-qv-inset-b));
    min-height: 0;
  }
  #modalProduct .modal-content {
    height: 100%;
    max-height: 100%;
    align-self: stretch;
  }
}
#modalProduct .modal-header {
  align-items: center;
}
#modalProduct .modal-title {
  flex: 1 1 auto;
  margin: 0;
  font-family: var(--f-display);
  font-weight: 700;
  font-size: var(--t-h3);
  line-height: var(--lh-head);
  letter-spacing: var(--ls-head);
  overflow-wrap: break-word;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
#modalProduct .modal-body {
  display: flex;
  flex-direction: column;
  min-height: 0;
  flex: 1 1 auto;
  overflow-y: auto;
  padding-bottom: 0;
  scroll-padding-bottom: var(--s-4);
}
.au-qv {
  display: flex;
  flex-direction: column;
  gap: 1.35rem;
  /* Content height — modal-body is the only vertical scroller (desktop + phone). */
  flex: 0 0 auto;
  min-height: auto;
}
.au-qv__top {
  display: grid;
  gap: 1.25rem;
}
@media (min-width: 768px) {
  .au-qv__top {
    /* 1fr = minmax(auto, 1fr): gift rail min-content grew info past half. */
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 1.5rem 1.75rem;
    align-items: start;
  }
  .au-qv__top--cols3 {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
  .au-qv__top--cols3 > :nth-child(3) {
    grid-column: 1 / -1;
  }
}
@media (min-width: 992px) {
  .au-qv__top--cols3 {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) minmax(0, .9fr);
  }
  .au-qv__top--cols3 > :nth-child(3) {
    grid-column: auto;
  }
}
/* Thumbs left of main photo; height = media → overflow scrolls vertically.
   Desktop always keeps the thumbs track width so a single photo matches gallery-with-thumbs
   (equal minmax(0,1fr) columns, no rem shrink). Mobile zeros padding below. */
.au-qv__gallery {
  position: relative;
  display: block;
  padding-left: calc(4.5rem + .65rem);
}
.au-qv__thumbs {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  gap: .5rem;
  width: 4.5rem;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  /* Keep scroll, hide the bar (Firefox / IE/Edge legacy / WebKit) */
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.au-qv__thumbs::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}
.au-qv__thumbs[hidden] { display: none !important; }
.au-qv__thumb {
  flex: 0 0 auto;
  width: 4.5rem;
  aspect-ratio: 1;
  padding: 0;
  border: 1px solid var(--c-line);
  border-radius: var(--r-sm);
  background: var(--c-card);
  overflow: hidden;
  cursor: pointer;
}
.au-qv__thumb.is-active {
  border-color: var(--brand-600);
  box-shadow: 0 0 0 1px color-mix(in oklab, var(--brand-600) 40%, transparent);
}
.au-qv__thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
}
@media (max-width: 575.98px) {
  .au-qv__gallery {
    padding-left: 0;
    display: grid;
    gap: .65rem;
  }
  .au-qv-media,
  .au-qv__media-wrap { order: 1; }
  .au-qv__thumbs {
    position: static;
    order: 2;
    flex-direction: row;
    width: 100%;
    bottom: auto;
    overflow-x: auto;
    overflow-y: hidden;
  }
  .au-qv__thumb {
    width: 4rem;
  }
}
.au-qv--thumbs-bottom .au-qv__gallery {
  padding-left: 0;
  display: grid;
  gap: .65rem;
}
.au-qv--thumbs-bottom .au-qv__thumbs {
  position: static;
  order: 2;
  flex-direction: row;
  width: 100%;
  bottom: auto;
  overflow-x: auto;
  overflow-y: hidden;
}
.au-qv--thumbs-bottom .au-qv__thumb {
  width: 4.5rem;
}
.au-qv__col {
  display: grid;
  gap: .75rem;
  align-content: start;
  min-width: 0;
}
.au-qv__media-wrap {
  position: relative;
  min-width: 0;
  min-height: 0;
  width: 100%;
  touch-action: pan-y;
}
@media (min-width: 768px) {
  .au-qv__gallery {
    align-self: start;
    width: 100%;
    min-width: 0;
  }
}
.au-qv__flags {
  position: absolute;
  top: .65rem;
  left: .65rem;
  z-index: 3;
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  pointer-events: none;
}
.au-qv__flags[hidden] { display: none !important; }
.au-qv__flags .au-qv__set-sale-chip {
  pointer-events: auto;
}
.au-qv__media-tools {
  position: absolute;
  top: .65rem;
  right: .65rem;
  z-index: 4;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: .35rem;
  pointer-events: none;
}
.au-qv__media-tools > * {
  pointer-events: auto;
}
.au-qv__media-tools .au-hdr-icon,
.au-qv-media__zoom {
  background: rgb(255 255 255 / .86);
  border: 1px solid rgb(255 255 255 / .7);
  box-shadow:
    0 1px 4px rgb(0 0 0 / .1),
    inset 0 1px 0 rgb(255 255 255 / .8);
  -webkit-backdrop-filter: blur(10px) saturate(1.25);
  backdrop-filter: blur(10px) saturate(1.25);
}
.au-qv__media-tools .au-hdr-icon:hover,
.au-qv__media-tools .au-hdr-icon:focus-visible {
  background: rgb(255 255 255 / .94);
}
[data-scheme="dark"] .au-qv__media-tools .au-hdr-icon,
[data-scheme="dark"] .au-qv-media__zoom {
  background: rgb(18 20 26 / .78);
  border-color: rgb(255 255 255 / .18);
  color: var(--c-fg);
}
@media (max-width: 767.98px) {
  .au-qv__media-wrap:has(.au-qv__media-tools) .au-qv__flags {
    right: calc(var(--tap) + .65rem + .35rem);
  }
  .au-qv__actions .au-pc__wish,
  .au-qv__actions .au-pc__compare {
    display: none;
  }
}
@media (min-width: 768px) {
  .au-qv__media-tools {
    display: none;
  }
}
.au-qv__info {
  display: grid;
  gap: .75rem;
  align-content: start;
  min-width: 0;
}
.au-qv__info-main {
  --au-qv-gap: .55rem; /* единый шаг: рейтинг→лид, Цвет→кружки, Память→кнопки */
  display: grid;
  gap: var(--au-qv-gap);
  align-content: start;
  min-width: 0;
}
/* Settings «Скролл правого блока»: lock info to gallery height (grid row = photo). */
@media (min-width: 768px) {
  .au-qv__top:has(.au-qv__info--scroll) {
    align-items: stretch;
  }
  .au-qv__info--scroll {
    /* height:0 → content does not grow the grid row past the gallery */
    position: relative;
    display: flex;
    flex-direction: column;
    height: 0;
    min-height: 100%;
    max-height: var(--au-qv-aside-h, 100%);
    min-width: 0;
    overflow: hidden;
  }
  .au-qv__info--scroll .au-qv__info-pane {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .au-qv__info--scroll .au-qv__info-pane::-webkit-scrollbar {
    width: 0;
    height: 0;
    display: none;
  }
  /* Overlay the photo bottom — do not reserve a white row. */
  .au-qv__info--scroll .au-qv__scroll-hint {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    flex: none;
    width: 100%;
    margin: 0;
    min-height: 0;
    padding: .55rem 0 .2rem;
    background: linear-gradient(180deg, transparent, var(--c-page));
  }
}
.au-qv__lead {
  margin: 0;
  font-size: var(--t-sm);
  color: var(--c-fg-2);
  line-height: 1.45;
}
.au-qv__lead[hidden] { display: none !important; }
/* Rating chip (★ 4.99 | N отзывов) */
.au-qv-rating {
  appearance: none;
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  width: fit-content;
  max-width: 100%;
  margin: 0;
  padding: .35rem .7rem;
  border: 0;
  border-radius: var(--r-sm);
  background: var(--tint-2);
  color: var(--c-fg);
  font-size: var(--t-sm);
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
  text-align: left;
}
.au-qv-rating:hover {
  background: color-mix(in oklab, var(--tint-2) 70%, var(--brand-100, #f3e8e0));
}
.au-qv-rating:focus-visible {
  outline: 2px solid var(--brand-600);
  outline-offset: 2px;
}
.au-qv-rating__star {
  color: #e6a100;
  font-size: 1.05em;
  line-height: 1;
}
.au-qv-rating__avg {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
}
.au-qv-rating__sep {
  color: var(--c-fg-3, var(--c-fg-2));
  font-weight: 400;
  opacity: .7;
}
.au-qv-rating__count {
  font-weight: 500;
  color: var(--c-fg-2);
}
.au-qv__meta-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem .65rem;
}
.au-qv__article {
  font-size: var(--t-sm);
  color: var(--c-fg-2);
  line-height: var(--lh-body);
}
.au-qv__article .au-pc__article[hidden] { display: none !important; }
.au-qv-brand {
  display: inline-flex;
  align-items: center;
  gap: var(--s-2);
  margin-inline-start: auto;
  color: inherit;
  text-decoration: none;
  font-size: var(--t-sm);
  font-weight: 500;
  line-height: var(--lh-body);
  min-height: var(--s-8);
  position: relative;
}
a.au-qv-brand:hover { color: var(--brand-700); }
.au-qv-brand__logo {
  width: auto;
  height: var(--s-8);
  max-width: var(--s-12);
  object-fit: contain;
  border-radius: var(--r-xs);
  background: var(--c-surface);
}
.au-qv-brand__name { margin: 0; }
/* Wordmark logos already spell the name; keep the span for a11y. */
.au-qv-brand--has-logo .au-qv-brand__name {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.au-qv__set-sale-chip {
  appearance: none;
  flex: 0 0 auto;
  margin: 0;
  /* same type as .au-chip on photo (do not font:inherit from body/button) */
  font-family: inherit;
  font-size: var(--t-xs);
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
}
.au-qv__set-sale-chip:hover {
  filter: brightness(0.98);
}
.au-qv__set-sale-chip:focus-visible {
  outline: 2px solid var(--brand-600);
  outline-offset: 2px;
}
.au-qv__set-sale-chip:not([data-cct-qv-open-tab]) {
  cursor: default;
}
/* Reviews toolbar: vote + «Добавить» in one row; «Скрыть» → right when open */
.au-qv-reviews__bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .35rem 1.15rem;
  margin: 0 0 .75rem;
  padding: 0;
  border: 0;
  background: transparent;
  min-height: 1.75rem;
}
.au-qv-reviews__bar .au-qv-vote {
  margin: 0;
  flex: 0 1 auto;
}
.au-qv-reviews__bar .blog-add-comment {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  order: 0;
  justify-content: flex-start;
}
.au-qv-reviews__bar.is-form-open .blog-add-comment {
  margin-left: auto;
}
/* Stock iblock.vote/stars in reviews tab */
.au-qv-vote {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem .65rem;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
.au-qv-vote__label {
  font-size: var(--t-sm);
  font-weight: 600;
  color: var(--c-fg-2);
}
.au-qv-vote .bx_item_detail_rating {
  margin: 0;
}
.au-qv-vote .bx_item_detail_rating td {
  text-align: left;
  padding: 0;
}
.au-qv-vote .bx_stars_container {
  background: color-mix(in oklab, var(--c-line) 80%, #dadada);
}
.au-qv-vote .bx_stars_progress {
  background: var(--brand-600);
}
.au-qv-vote .bx_stars_rating_votes {
  color: var(--c-fg-2);
  font-size: var(--t-xs);
}

/* Complect composition under price (TYPE_SET) */
.au-qv-complect {
  margin: 0;
  padding: .55rem 0 0;
  border-top: 1px solid var(--c-line);
  min-width: 0;
}
.au-qv-complect__title {
  font-size: var(--t-xs);
  font-weight: 600;
  color: var(--c-fg-2);
  margin: 0 0 .4rem;
  letter-spacing: .02em;
  text-transform: uppercase;
}
.au-qv-complect__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: .35rem;
}
.au-qv-complect__item {
  margin: 0;
  padding: 0;
  min-width: 0;
}
.au-qv-complect__row {
  appearance: none;
  display: flex;
  align-items: center;
  gap: .55rem;
  width: 100%;
  margin: 0;
  padding: .2rem .15rem;
  border: 0;
  border-radius: var(--r-xs, .35rem);
  background: transparent;
  color: var(--c-fg);
  font: inherit;
  font-size: var(--t-sm);
  text-align: left;
  cursor: pointer;
}
.au-qv-complect__row:hover {
  background: color-mix(in oklab, var(--tint-2) 70%, transparent);
}
.au-qv-complect__thumb {
  flex: 0 0 2.35rem;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: var(--r-xs, .35rem);
  border: 1px solid var(--c-line);
  overflow: hidden;
  background: var(--c-card);
}
.au-qv-complect__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.au-qv-complect__name {
  flex: 1 1 auto;
  min-width: 0;
  line-height: 1.3;
}
.au-qv-complect__qty {
  flex: 0 0 auto;
  color: var(--c-fg-2);
  font-variant-numeric: tabular-nums;
  font-weight: 600;
}
.au-qv-complect__economy {
  margin: .45rem 0 0;
  font-size: var(--t-xs);
  color: var(--c-fg-2);
  line-height: 1.35;
}
.au-qv-complect__economy-save {
  color: var(--brand-1, var(--c-accent, #8b5a2b));
  font-weight: 600;
}

/* Stock catalog.set.constructor in QV (TYPE_GROUP) — compact, no h-scroll */
.au-qv-set {
  font-size: var(--t-sm);
  color: var(--c-fg);
  max-width: 100%;
  overflow-x: hidden;
}
.au-qv-set__box {
  max-width: 100%;
}
.au-qv-set__bar {
  position: sticky;
  top: 0;
  z-index: 4;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .65rem 1rem;
  margin: 0 0 .85rem;
  padding: .65rem .75rem;
  border: 1px solid var(--c-line);
  border-radius: var(--r-sm);
  background: color-mix(in oklab, var(--tint-2) 65%, var(--c-bg, #fff));
  box-shadow: 0 1px 0 color-mix(in oklab, var(--c-line) 70%, transparent);
}
.au-qv-set__bar-total {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .35rem .65rem;
  min-width: 0;
}
.au-qv-set__bar-label {
  font-size: var(--t-xs);
  font-weight: 600;
  color: var(--c-fg-2);
  text-transform: uppercase;
  letter-spacing: .03em;
}
.au-qv-set__bar-price {
  font-size: var(--t-md, 1.1rem);
  font-weight: 800;
  color: var(--c-fg);
  font-variant-numeric: tabular-nums;
}
.au-qv-set__bar-old {
  font-size: var(--t-xs);
  color: var(--c-fg-2);
  text-decoration: line-through;
}
.au-qv-set__bar-diff-wrap {
  font-size: var(--t-xs);
  font-weight: 600;
  color: var(--brand-1, var(--c-accent, #8b5a2b));
}
.au-qv-set__bar-diff-label {
  margin-right: .25rem;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
}
.au-qv-set__old,
.au-qv-set .catalog-set-constructor-product-old-price {
  display: inline-block;
  margin-left: .35rem;
  font-size: var(--t-xs);
  font-weight: 500;
  color: var(--c-fg-2);
  text-decoration: line-through;
}
.au-qv-set__other-price .au-qv-set__old {
  display: block;
  margin: .15rem 0 0;
}
.au-qv-set__buy {
  flex: 0 0 auto;
}
.au-qv-set__main {
  display: flex;
  gap: .75rem;
  align-items: center;
  margin: 0 0 .75rem;
  min-width: 0;
}
.au-qv-set__thumb {
  flex: 0 0 4.25rem;
  width: 4.25rem;
  height: 4.25rem;
  border-radius: var(--r-sm);
  border: 1px solid var(--c-line);
  overflow: hidden;
  background: var(--c-bg, #fff);
}
.au-qv-set__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.au-qv-set__main-body { min-width: 0; }
.au-qv-set__main-name {
  font-weight: 700;
  font-size: var(--t-sm);
  line-height: 1.3;
}
.au-qv-set__sku {
  margin-top: .2rem;
  font-size: var(--t-xs);
  color: var(--c-fg-2);
}
.au-qv-set__main-price {
  margin-top: .3rem;
  font-size: var(--t-sm);
}
.au-qv-set__qty {
  color: var(--c-fg-2);
  font-weight: 500;
}
.au-qv-set__section-title {
  font-size: var(--t-xs);
  font-weight: 700;
  color: var(--c-fg-2);
  text-transform: uppercase;
  letter-spacing: .03em;
  margin: 0 0 .4rem;
}
.au-qv-set__table {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  border-collapse: collapse;
  table-layout: fixed;
}
.au-qv-set__table tr {
  border-bottom: 1px solid var(--c-line);
}
.au-qv-set__table td {
  padding: .5rem .2rem;
  vertical-align: middle;
}
.au-qv-set .catalog-set-constructor-items-list-table-cell-img {
  width: 2.75rem;
}
.au-qv-set .catalog-set-constructor-items-list-table-cell-img img {
  width: 2.5rem;
  height: 2.5rem;
  object-fit: cover;
  border-radius: var(--r-xs);
  border: 1px solid var(--c-line);
  display: block;
}
.au-qv-set .catalog-set-constructor-items-list-table-cell-name {
  width: auto;
  min-width: 0;
  overflow: hidden;
}
.au-qv-set .catalog-set-constructor-items-list-table-cell-price {
  width: 8.25rem;
  text-align: right;
  font-size: var(--t-xs);
  color: var(--c-fg-2);
  white-space: normal;
  line-height: 1.35;
}
.au-qv-set .catalog-set-constructor-items-list-table-cell-price .catalog-set-constructor-product-new-price,
.au-qv-set .catalog-set-constructor-items-list-table-cell-price .au-qv-set__old {
  display: block;
  margin-left: 0;
}
.au-qv-set .catalog-set-constructor-items-list-table-cell-del {
  width: 1.75rem;
  text-align: center;
}
.au-qv-set .catalog-set-constructor-items-list-table-cell-delete-btn {
  appearance: none;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  cursor: pointer;
  display: inline-flex;
  width: 1.5rem;
  height: 1.5rem;
  align-items: center;
  justify-content: center;
  border-radius: var(--r-xs);
  color: var(--c-fg-2);
}
.au-qv-set .catalog-set-constructor-items-list-table-cell-delete-btn::before {
  content: "×";
  font-size: 1.15rem;
  line-height: 1;
}
.au-qv-set__link {
  appearance: none;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  text-align: left;
  color: var(--brand-700);
  font-size: var(--t-sm);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: .12em;
  cursor: pointer;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: inline-block;
  vertical-align: middle;
}
.au-qv-set__link:hover {
  color: var(--brand-800);
}
.au-qv-set__others-wrap {
  margin-top: .85rem;
}
.au-qv-set__others {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  width: 100%;
  max-width: 100%;
}
.au-qv-set__other {
  flex: 1 1 8.5rem;
  max-width: 10.5rem;
  padding: .5rem;
  border: 1px solid var(--c-line);
  border-radius: var(--r-sm);
  background: var(--c-bg, #fff);
  box-sizing: border-box;
}
.au-qv-set__other-media {
  width: 100%;
  aspect-ratio: 1;
  border-radius: var(--r-xs);
  overflow: hidden;
  border: 1px solid var(--c-line);
  margin-bottom: .4rem;
}
.au-qv-set__other-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.au-qv-set__other .au-qv-set__link {
  white-space: normal;
  display: block;
  margin-bottom: .25rem;
  line-height: 1.3;
}
.au-qv-set__other-price {
  font-size: var(--t-xs);
  color: var(--c-fg-2);
  margin-bottom: .4rem;
}
.au-qv-set__na {
  font-size: var(--t-xs);
  color: var(--c-fg-2);
}
/* clip (not hidden): keeps horizontal bleed in check without killing position:sticky */
.au-qv__panel[data-cct-qv-panel="set"] {
  overflow-x: hidden;
  min-width: 0;
}

.au-qv__offers {
  display: grid;
  gap: var(--au-qv-gap, .55rem);
}
.au-qv__offer-group,
.au-qv__offer {
  display: grid;
  gap: var(--au-qv-gap, .55rem); /* label → controls: same for Цвет and Память */
}
.au-qv__offer-label {
  margin: 0;
  font-size: var(--t-eyebrow);
  font-weight: 600;
  color: var(--c-fg-3);
  line-height: 1.3;
}
/* QV / PDP card chrome: color chips share .au-pc__sku min-height. List cards stay 18px. */
#au-qv .au-pc__swatches,
.au-qv .au-pc__swatches {
  --sw-size: 1.7rem;
  margin-top: 0;
  margin-bottom: 0;
}
.au-qv__buy {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem .75rem;
  min-width: 0;
}
.au-qv__buy .au-qv__price {
  flex: 0 0 auto;
  margin: 0;
}
.au-qv__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  align-self: start;
  gap: .5rem;
  margin-top: .25rem;
}
.au-qv__buy .au-qv__actions {
  flex: 1 1 100%;
  width: 100%;
  min-width: 0;
  margin-top: 0;
}
.au-qv__props-list.au-qv__buy-props {
  margin: 0;
  min-width: 0;
  row-gap: var(--s-2);
}
.au-qv__buy-props .au-qv__prop {
  padding: 0;
  border-bottom: 0;
}
/* Description-tab rows stay --t-body / 600. This list sits with the article and the lead:
   same size, same weight, same color. Bold values read as a larger face. */
.au-qv__buy-props .au-qv__prop dt,
.au-qv__buy-props .au-qv__prop dd {
  font-size: var(--t-sm);
  font-weight: 400;
  line-height: 1.45;
  color: var(--c-fg-2);
}
.au-qv__actions .au-buy {
  flex: 0 1 auto;
  width: auto;
}
.au-qv__actions .au-buy .btn {
  flex: 0 0 auto;
  width: auto;
  min-width: min-content;
}
.au-qv__actions .au-pc__wish,
.au-qv__actions .au-pc__compare {
  flex: 0 0 auto;
}
/* QV tabs — full width under gallery+buy */
.au-qv__tabs {
  display: flex;
  flex-direction: column;
  gap: .85rem;
  width: 100%;
  padding-top: .25rem;
  border-top: 1px solid var(--c-line);
  flex: 0 0 auto;
  min-height: auto;
}
.au-qv__tabrail {
  display: flex;
  align-items: center;
  gap: .35rem;
  min-width: 0;
  flex: 0 0 auto;
  position: static;
}
.au-qv__tablist {
  display: flex;
  flex-wrap: nowrap;
  gap: .35rem;
  flex: 1 1 auto;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.au-qv__tablist::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}
.au-qv__tabrail.is-overflow.is-at-start:not(.is-at-end) .au-qv__tablist {
  mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - .85rem), transparent);
}
.au-qv__tabrail.is-overflow.is-at-end:not(.is-at-start) .au-qv__tablist {
  mask-image: linear-gradient(90deg, transparent, #000 .85rem, #000 100%);
}
.au-qv__tabrail.is-overflow:not(.is-at-start):not(.is-at-end) .au-qv__tablist {
  mask-image: linear-gradient(90deg, transparent, #000 .85rem, #000 calc(100% - .85rem), transparent);
}
.au-qv__tab-nav {
  width: 2rem;
  height: 2rem;
  font-size: 1rem;
  flex: 0 0 auto;
}
.au-qv__panels {
  height: auto;
  min-height: 0;
  max-height: none;
  overflow: visible;
  padding-bottom: var(--s-4);
}
/* Desktop: height = gallery + current tab, cap 92vh. One scroller = modal-body.
   Top-aligned so switching tabs does not recenter the dialog. */
@media (min-width: 768px) {
  #modalProduct .au-qv-modal {
    align-items: flex-start;
    min-height: 0;
    height: auto;
    max-height: min(92vh, 56rem);
    margin-top: max(1.25rem, 3vh);
    margin-bottom: max(1.25rem, 3vh);
  }
}
#modalProduct .au-qv:not(:has(.au-qv__panels)) > :last-child {
  padding-bottom: var(--s-4);
}
.au-qv__tab {
  appearance: none;
  flex: 0 0 auto;
  margin: 0;
  padding: .55rem .7rem;
  border: 1px solid var(--c-line);
  border-radius: var(--r-sm);
  background: var(--tint-2);
  color: var(--c-fg);
  font-size: var(--t-xs);
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  line-height: 1.2;
  white-space: nowrap;
  cursor: pointer;
  box-shadow: inset 0 2px 0 transparent;
}
.au-qv__tab.is-active,
.au-qv__tab[aria-selected="true"] {
  background: color-mix(in oklab, var(--brand-600) 10%, var(--c-bg));
  border-color: color-mix(in oklab, var(--brand-600) 35%, var(--c-line));
  box-shadow: inset 0 2px 0 var(--brand-600);
}
.au-qv__panel[hidden] { display: none !important; }
.au-qv__panel.is-active {
  display: block;
  min-height: 0;
}
/* Settings «Без вкладок»: same bodies, no rail — cards with Aurora chrome. */
.au-qv__tabs--stack {
  gap: var(--s-5);
  padding-top: var(--s-4);
}
.au-qv__panels--stack {
  display: flex;
  flex-direction: column;
  gap: var(--s-5);
  padding-bottom: var(--s-4);
}
.au-qv__block {
  margin: 0;
  padding: var(--s-5);
  border: 1px solid var(--c-line);
  border-radius: var(--r-xl);
  background: var(--c-card);
  box-shadow: var(--sh-1);
}
.au-qv__block-title {
  margin: 0 0 var(--s-4);
  font-family: var(--f-display);
  font-size: var(--t-h3);
  font-weight: 700;
  letter-spacing: var(--ls-display);
  line-height: 1.25;
  color: var(--c-fg);
}
.au-qv__block-body > :last-child {
  margin-bottom: 0;
}
/* QV characteristics — Aspro-like groups + optional 2 columns */
.au-qv__props {
  display: grid;
  gap: 0; /* group separator = border-top on following groups */
  margin: 0 0 1.1rem;
  max-width: 100%;
}
.au-qv__props-group {
  margin: 0;
  min-width: 0;
}
.au-qv__props-title {
  margin: 0 0 .55rem;
  font-size: var(--t-sm);
  font-weight: 700;
  color: var(--c-fg);
  letter-spacing: .01em;
}
.au-qv__props-list {
  /* Shared label column (= widest name) → values on one vertical line */
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  column-gap: 1.5rem;
  row-gap: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
.au-qv__prop {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: 1 / -1;
  align-items: baseline;
  margin: 0;
  padding: .55rem 0;
  background: transparent;
  border-bottom: 1px solid color-mix(in oklab, var(--c-fg) 10%, transparent);
}
.au-qv__prop:last-child {
  border-bottom: 0;
}
.au-qv__prop dt {
  margin: 0;
  font-weight: 500;
  font-size: var(--t-body);
  color: var(--c-fg-2);
  white-space: nowrap;
}
.au-qv__prop dd {
  margin: 0;
  font-size: var(--t-body);
  font-weight: 600;
  color: var(--c-fg);
  text-align: left;
  min-width: 0;
}
/* Two columns: each cell is its own label|value row (Aspro card style) */
.au-qv__props--cols2 .au-qv__props-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 2rem;
  row-gap: 0;
}
.au-qv__props--cols2 .au-qv__prop {
  display: grid;
  grid-template-columns: minmax(5.5rem, 42%) minmax(0, 1fr);
  grid-column: auto;
  column-gap: 1rem;
  /* Row rule drawn once from odd cells — full width across both columns */
  border-bottom: 0;
  position: relative;
}
.au-qv__props--cols2 .au-qv__prop:nth-child(odd)::after {
  content: "";
  position: absolute;
  left: 0;
  right: calc(-100% - 2rem); /* + sibling column + column-gap */
  bottom: 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-fg) 10%, transparent);
  pointer-events: none;
}
/* No line under the last row of a group */
.au-qv__props--cols2 .au-qv__prop:nth-child(odd):last-child::after,
.au-qv__props--cols2 .au-qv__prop:nth-child(odd):nth-last-child(2)::after {
  content: none;
}
/* Full-width rule between characteristic groups */
.au-qv__props-group + .au-qv__props-group {
  margin-top: 1.15rem;
  padding-top: 1.15rem;
  border-top: 1px solid color-mix(in oklab, var(--c-fg) 12%, transparent);
}
@media (max-width: 575.98px) {
  .au-qv__props--cols2 .au-qv__props-list {
    grid-template-columns: minmax(0, 1fr);
  }
  .au-qv__props--cols2 .au-qv__prop {
    border-bottom: 1px solid color-mix(in oklab, var(--c-fg) 10%, transparent);
  }
  .au-qv__props--cols2 .au-qv__prop:last-child {
    border-bottom: 0;
  }
  .au-qv__props--cols2 .au-qv__prop:nth-child(odd)::after {
    content: none;
  }
}
/* QV «Отзывы» — stock catalog.comments (blog) restyled to Aurora */
.au-qv-comments {
  font-size: var(--t-sm);
  color: var(--c-fg);
}
.au-qv-comments .bx-catalog-tab-list {
  display: none; /* only blog tab in QV — hide socnet tab chrome */
}
.au-qv-comments .bx-catalog-tab-body-container,
.au-qv-comments .bx-catalog-tab-container,
.au-qv-comments .tab-off {
  display: block !important;
  border: 0;
  padding: 0;
  margin: 0;
  background: transparent;
  box-shadow: none;
}
.au-qv-comments .blog-comments {
  color: var(--c-fg);
}
.au-qv-comments .blog-comment-cont-white,
.au-qv-comments .blog-comment-cont {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  margin: 0;
  box-shadow: none;
}
.au-qv-comments .blog-comment-avatar,
.au-qv-comments .blog-comment-avatar-block {
  display: none !important;
}
/* One separator per comment (stock nests cont + cont-white) */
.au-qv-comments .blog-comment {
  margin: 0;
  padding: .65rem 0;
  border: 0;
  border-bottom: 1px solid var(--c-line);
}
.au-qv-comments .blog-comment:last-child,
.au-qv-comments [id^="blog-comment-page-"] > .blog-comment:last-child {
  border-bottom: 0;
}
/* Reply form slots between comments — no chrome when idle */
.au-qv-comments .blog-comment + [id^="form_comment_"],
.au-qv-comments .blog-comment + [id^="form_c_del"],
.au-qv-comments [id^="blog-comment-page-"] > [id^="form_comment_"],
.au-qv-comments [id^="blog-comment-page-"] > [id^="form_c_del"] {
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}
.au-qv-comments .blog-comment + [id^="form_comment_"]:not(:has(.blog-comment-fields)),
.au-qv-comments .blog-comment + [id^="form_c_del"]:not(:has(.blog-comment-fields)),
.au-qv-comments [id^="form_comment_"]:empty,
.au-qv-comments [id^="form_c_del"]:empty {
  display: none;
}
.au-qv-comments hr {
  display: none;
}
.au-qv-comments .blog-clear-float {
  display: block;
  clear: both;
  height: 0;
  overflow: hidden;
  float: none;
}
.au-qv-comments .blog-comment-info,
.au-qv-comments .blog-author,
.au-qv-comments .blog-comment-meta {
  font-size: var(--t-xs);
  color: var(--c-fg-2);
}
.au-qv-comments .blog-comment-content,
.au-qv-comments .blog-comment-post-text {
  font-family: var(--f-body);
  font-size: var(--t-body);
  font-weight: 400;
  color: var(--c-fg-2);
  line-height: 1.65;
  margin-top: .35rem;
}
/* Toggle → comments → show more → composer */
.au-qv-comments .blog-comments {
  display: flex;
  flex-direction: column;
}
.au-qv-comments .blog-comments > .blog-add-comment {
  /* fallback if JS did not mount into .au-qv-reviews__bar */
  order: 0;
  display: flex;
  justify-content: flex-start;
  margin: 0 0 .65rem;
}
.au-qv-reviews__bar .au-qv-comments-toggle,
.au-qv-comments .blog-add-comment .au-qv-comments-toggle {
  color: var(--brand-700);
  font-size: var(--t-sm);
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
  line-height: 1.2;
}
.au-qv-reviews__bar .au-qv-comments-toggle:hover,
.au-qv-comments .blog-add-comment .au-qv-comments-toggle:hover {
  color: var(--brand-800);
  text-decoration: underline;
}
.au-qv-comments .blog-comments > #form_comment_0,
.au-qv-comments .blog-comments > .blog-comment-form {
  order: 1; /* composer under toggle, above reviews */
}
.au-qv-comments .blog-comments > .blog-comment,
.au-qv-comments .blog-comments > [id^="blog-comment-page-"] {
  order: 2;
}
.au-qv-comments .blog-comments > .au-qv-comments-more {
  order: 3;
}
.au-qv-comments-more {
  display: flex;
  justify-content: center;
  margin: .35rem 0 .75rem;
}
.au-qv-comments-more[hidden] {
  display: none !important;
}
.au-qv-comments-more__btn {
  appearance: none;
  border: 1px solid var(--c-line);
  border-radius: var(--r-sm);
  background: var(--c-bg, #fff);
  color: var(--brand-700);
  font-size: var(--t-sm);
  font-weight: 600;
  padding: .45rem 1.1rem;
  cursor: pointer;
}
.au-qv-comments-more__btn:hover {
  border-color: var(--brand-600);
  color: var(--brand-800);
  background: var(--tint-2);
}
.au-qv-comments .blog-comment-form {
  border: 0;
  background: transparent;
  padding: 0;
  margin: .85rem 0 0;
  width: 100%;
  max-width: 100%;
  float: none;
}
.au-qv-comments .blog-comment-fields {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--s-3);
  border: 1px solid var(--c-line);
  border-radius: var(--r-xl);
  background: var(--c-bg, #fff);
  box-shadow: var(--sh-1);
  padding: var(--s-4);
  margin: 0;
  float: none;
  width: auto;
  max-width: 100%;
}
.au-qv-comments .blog-comment-field,
.au-qv-comments .blog-comment-field-user,
.au-qv-comments .blog-comment-field-author,
.au-qv-comments .blog-comment-field-email,
.au-qv-comments .blog-comment-field-captcha,
.au-qv-comments .blog-comment-field-captcha-label,
.au-qv-comments .blog-comment-field-captcha-image {
  float: none !important;
  width: auto;
  max-width: 100%;
}
.au-qv-comments .blog-comment-field-user-sep {
  display: none;
}
.au-qv-comments .blog-comment-field-user {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: var(--s-3);
}
.au-qv-comments .blog-comment-field-author,
.au-qv-comments .blog-comment-field-email {
  flex: 0 1 16rem;
  width: 16rem;
  max-width: 16rem;
}
.au-qv-comments .blog-comment-field-captcha {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: var(--s-2) var(--s-3);
  width: fit-content;
  max-width: 100%;
}
.au-qv-comments .blog-comment-field-captcha-label {
  display: contents;
}
.au-qv-comments .blog-comment-field-captcha-label label {
  margin: 0;
  white-space: nowrap;
}
.au-qv-comments .blog-comment-field-captcha-image,
.au-qv-comments #div_captcha {
  flex: 0 0 auto;
  margin: 0;
}
.au-qv-comments #captcha,
.au-qv-comments .blog-comment-field-captcha-image img {
  display: block;
  width: 180px;
  height: 40px;
  border: 1px solid var(--c-line);
  border-radius: var(--r-sm);
  background: var(--c-bg, #fff);
}
/* Compact body, keep LHE toolbar (B/I/U…) visible */
.au-qv-comments .feed-add-post,
.au-qv-comments .blog-comment-field-text,
.au-qv-comments .bx-html-editor,
.au-qv-comments .bxhtmled-area-cnt {
  max-width: 100%;
}
.au-qv-comments .bx-html-editor,
.au-qv-comments #bx-html-editor-POST_COMMENT_MESSAGE {
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}
.au-qv-comments .bxhtmled-toolbar-cnt,
.au-qv-comments .bx-html-editor .bxhtmled-toolbar {
  display: flex !important;
  flex-wrap: wrap;
  visibility: visible !important;
  height: auto !important;
  max-height: none !important;
}
.au-qv-comments #bx-html-editor-area-cnt-POST_COMMENT_MESSAGE,
.au-qv-comments .bxhtmled-area-cnt {
  height: 88px !important;
  min-height: 72px !important;
  max-height: 88px !important;
}
.au-qv-comments #bx-html-editor-iframe-cnt-POST_COMMENT_MESSAGE,
.au-qv-comments .bxhtmled-iframe-cnt,
.au-qv-comments .bx-editor-iframe,
.au-qv-comments iframe.bx-editor-iframe {
  height: 88px !important;
  min-height: 72px !important;
  max-height: 88px !important;
}
.au-qv-comments .feed-add-post-form,
.au-qv-comments .feed-add-post-text {
  min-height: 0 !important;
  height: auto !important;
}
/* Keep compact chrome, but do not crush the formatting toolbar */
.au-qv-comments .feed-add-post-dnd-notice,
.au-qv-comments #blog-upload-file,
.au-qv-comments [id^="blog-comment-user-fields-UF_BLOG_COMMENT_DOC"] {
  display: none !important;
}
.au-qv-comments .bxhtmled-button-fullscreen {
  display: none !important;
}
.au-qv-comments .feed-add-post-buttons,
.au-qv-comments .blog-comment-buttons {
  margin-top: var(--s-1);
}
.au-qv-comments .blog-comment-field-text label,
.au-qv-comments .blog-comment-fields label {
  font-size: var(--t-xs);
  font-weight: 600;
  color: var(--c-fg-2);
}
.au-qv-comments .blog-comment-fields input[type="text"],
.au-qv-comments .blog-comment-fields input[type="email"],
.au-qv-comments .blog-comment-fields textarea,
.au-qv-comments .blog-comment-field input[type="text"],
.au-qv-comments .blog-comment-field input[type="email"],
.au-qv-comments .blog-comment-field textarea {
  box-sizing: border-box;
  border: 1px solid var(--c-line);
  border-radius: var(--r-sm);
  background: var(--c-bg, #fff);
  color: var(--c-fg);
  padding: .45rem .65rem;
  font-size: var(--t-sm);
  font-family: var(--f-body);
  line-height: 1.3;
}
.au-qv-comments .blog-comment-field-author input,
.au-qv-comments .blog-comment-field-email input {
  width: 100%;
  max-width: 16rem;
}
.au-qv-comments #captcha_word,
.au-qv-comments .blog-comment-field-captcha input[type="text"] {
  width: 8.5rem;
  max-width: 8.5rem;
}
.au-qv-comments .blog-comment-buttons input#post-button,
.au-qv-comments .blog-comment-buttons .btn {
  width: auto;
  max-width: none;
  appearance: none;
  cursor: pointer;
  font-size: .875rem !important;
  font-weight: 700;
  padding: 0 1rem !important;
  height: 2.5rem;
  min-height: 2.5rem;
  line-height: 1.2;
}
.au-qv-comments .main-user-consent-request {
  font-size: var(--t-xs);
  color: var(--c-fg-2);
}
.au-qv-comments .blog-note-error,
.au-qv-comments .blog-errors {
  border-radius: var(--r-sm);
  border: 1px solid color-mix(in oklab, var(--sale) 35%, var(--c-line));
  background: color-mix(in oklab, var(--sale) 8%, var(--c-bg, #fff));
  padding: .55rem .75rem;
  margin: 0 0 .65rem;
}
.au-qv-comments a {
  color: var(--brand-700);
  text-decoration: none;
}
.au-qv-comments a:hover {
  color: var(--brand-800);
  text-decoration: underline;
}
@media (max-width: 575.98px) {
  .au-qv-comments .blog-comment-field-author,
  .au-qv-comments .blog-comment-field-email {
    flex: 1 1 100%;
    width: 100%;
    max-width: 100%;
  }
  .au-qv-comments .blog-comment-field-author input,
  .au-qv-comments .blog-comment-field-email input {
    max-width: 100%;
  }
  .au-qv-comments .blog-comment-field-captcha-label label {
    white-space: normal;
  }
}
.au-qv-stores-aside {
  min-width: 0;
}
.au-qv-stores-aside .au-qv-stores__title {
  font-size: var(--t-sm);
}
@media (max-width: 767.98px) {
  .au-qv-stores-aside { display: none; }
}
.au-qv-stores__items {
  margin: 0;
  padding: 0;
  list-style: none;
}
.au-qv-stores__item {
  font-size: var(--t-sm);
  line-height: 1.4;
  color: var(--brand-700);
}
.au-qv-stores__item + .au-qv-stores__item {
  margin-top: var(--s-1);
}
.au-qv-stores__item a {
  color: inherit;
  text-decoration: none;
}
.au-qv-stores__item a:hover,
.au-qv-stores__item a:focus-visible {
  color: var(--brand-800);
  text-decoration: underline;
}
.au-qv-stores__qty {
  margin-left: .35rem;
  color: var(--c-fg-2);
  white-space: nowrap;
}
.au-qv-stores__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: .75rem;
}
.au-qv-stores__title {
  margin: 0;
  font-size: var(--t-lg);
  font-weight: 700;
  color: var(--c-fg);
}
.au-qv-stores__views {
  display: flex;
  gap: .5rem;
}
.au-qv-stores__view {
  appearance: none;
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .25rem .15rem;
  border: 0;
  background: transparent;
  color: var(--c-fg-2);
  font-size: var(--t-sm);
  cursor: pointer;
}
.au-qv-stores__view.is-active {
  color: var(--brand-600);
  font-weight: 600;
}
.au-qv-stores__list {
  border: 1px solid var(--c-line);
  border-radius: var(--r-xl);
  background: var(--tint-2);
  overflow: hidden;
}
.au-qv-stores__row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: .75rem 1.25rem;
  align-items: start;
  padding: .9rem 1rem;
  border-top: 1px solid var(--c-line);
}
.au-qv-stores__row:first-child { border-top: 0; }
.au-qv-stores__addr {
  font-weight: 600;
  color: var(--c-fg);
  margin-bottom: .25rem;
}
.au-qv-stores__line {
  font-size: var(--t-sm);
  color: var(--c-fg-2);
}
/* Tab «Наличие»: address / hours read as article body. Aside chip + qty stay --t-sm. */
.au-qv__panel .au-qv-stores__addr,
.au-qv__block-body .au-qv-stores__addr {
  font-size: var(--t-body);
  line-height: 1.65;
}
.au-qv__panel .au-qv-stores__line,
.au-qv__block-body .au-qv-stores__line,
.au-qv__panel .au-qv-stores__empty,
.au-qv__block-body .au-qv-stores__empty {
  font-size: var(--t-body);
  line-height: 1.65;
  color: var(--c-fg-2);
}
.au-qv-stores__stock {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  font-size: var(--t-sm);
  font-weight: 600;
  white-space: nowrap;
}
.au-qv-stores__stock.is-in { color: var(--c-ok); }
.au-qv-stores__stock.is-low { color: var(--c-warn); }
.au-qv-stores__stock.is-out { color: var(--c-fg-2); }
.au-qv-stores__dot {
  width: .45rem;
  height: .45rem;
  border-radius: 50%;
  background: currentColor;
}
.au-qv-stores__map-list {
  margin: 0;
  padding-left: 1.1rem;
  display: grid;
  gap: .45rem;
}
.au-qv-stores__map-list a {
  color: var(--brand-600);
  text-decoration: none;
}
.au-qv-stores__empty {
  margin: 0;
  color: var(--c-fg-2);
  font-size: var(--t-sm);
}
/* wrap (qv_tab_layout): 2-col chip grid on phone only. Desktop wrap stays a horizontal rail.
   Slider is not this layout — do not wrap slider chips. */
@media (max-width: 575.98px) {
  .au-qv__tabs:not(.au-qv__tabs--slider) .au-qv__tab-nav {
    display: none !important;
  }
  .au-qv__tabs:not(.au-qv__tabs--slider) .au-qv__tablist {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: visible;
    mask-image: none;
  }
  .au-qv__tabs:not(.au-qv__tabs--slider) .au-qv__tabrail.is-overflow .au-qv__tablist {
    mask-image: none;
  }
  .au-qv__tabs:not(.au-qv__tabs--slider) .au-qv__tab {
    width: 100%;
    min-width: 0;
    text-align: center;
    white-space: normal;
  }
  .au-qv__tabs:not(.au-qv__tabs--slider) .au-qv__tab:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    justify-self: center;
    width: calc((100% - .35rem) / 2);
  }
  .au-qv-stores__row {
    grid-template-columns: 1fr;
  }
}
/* QV tab slider (qv_tab_layout=slider): horizontal chip rail at every breakpoint.
   Phone: swipe the rail (arrows stay JS-hidden). One modal-body scroller. */
.au-qv__tabs--slider .au-qv__tablist {
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
}
.au-qv__tabs--slider .au-qv__tab {
  flex: 0 0 auto;
  white-space: nowrap;
  text-align: center;
}
.au-qv-media {
  position: relative;
  aspect-ratio: 1;
  border: 0;
  border-radius: var(--r-lg);
  background: var(--c-card);
  display: grid;
  place-items: center;
  overflow: hidden;
  padding: 0;
  width: 100%;
  cursor: zoom-in;
  touch-action: pan-y;
}
/* Theme checkbox «Фон изображений в цвет сайта»: кадр и прозрачные пиксели — подложка сайта.
   OFF (no attribute) keeps the neutral frame below. ON paints every photo frame. */
html[data-image-site-bg="on"] .au-pc__media,
html[data-image-site-bg="on"] .au-row__art,
html[data-image-site-bg="on"] .au-qv-media,
html[data-image-site-bg="on"] .au-qv__thumb,
html[data-image-site-bg="on"] .au-qv-complect__thumb,
html[data-image-site-bg="on"] .au-qv-set__thumb,
html[data-image-site-bg="on"] .au-lightbox__thumb,
html[data-image-site-bg="on"] .au-lightbox__img,
html[data-image-site-bg="on"] .au-compare thead th img,
html[data-image-site-bg="on"] .au-cmp__art,
html[data-image-site-bg="on"] .au-cart-line__art,
html[data-image-site-bg="on"] .au-sc__art,
html[data-image-site-bg="on"] .au-sr__art,
html[data-image-site-bg="on"] .au-feat--photo .au-feat__art,
html[data-image-site-bg="on"] .au-svc__art,
html[data-image-site-bg="on"] .au-svc-picker__photo,
html[data-image-site-bg="on"] .au-svc-detail__media,
html[data-image-site-bg="on"] #modalService .au-service-modal__media .au-qv-media,
html[data-image-site-bg="on"] .au-doc__preview,
html[data-image-site-bg="on"] .au-media-split,
html[data-image-site-bg="on"] .au-hist__media-inner,
html[data-image-site-bg="on"] .au-person__media,
html[data-image-site-bg="on"] .au-team-sheet__media,
html[data-image-site-bg="on"] .au-review__avatar,
html[data-image-site-bg="on"] .au-gallery__item,
html[data-image-site-bg="on"] .au-case__media,
html[data-image-site-bg="on"] .au-case-modal__hero,
html[data-image-site-bg="on"] .au-prose figure img,
html[data-image-site-bg="on"] .au-contacts-panel__photo,
html[data-image-site-bg="on"] .au-obj__media,
html[data-image-site-bg="on"] .au-step__art,
html[data-image-site-bg="on"] .au-brand__art,
html[data-image-site-bg="on"] .au-logo-mark__media,
html[data-image-site-bg="on"] .au-mega__icon,
html[data-image-site-bg="on"] .au-mega__banner,
html[data-image-site-bg="on"] .au-nav-m__media {
  background: var(--tint-2);
}
.au-qv-media svg.au-qv-fallback { width: 55%; }
.au-qv-media picture,
.au-case__media picture,
.au-pc__media picture,
.au-person__media picture,
.au-hero__media picture {
  display: block;
  width: 100%;
  height: 100%;
}
.au-qv-media picture,
.au-qv-media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  justify-self: center;
  align-self: center;
  display: block;
  pointer-events: none;
}
.au-qv-media__zoom {
  position: absolute;
  right: .65rem;
  bottom: .65rem;
  z-index: 2;
  box-sizing: border-box;
  width: var(--tap);
  height: var(--tap);
  min-width: var(--tap);
  min-height: var(--tap);
  border-radius: var(--r-md);
  display: grid;
  place-items: center;
  color: var(--c-fg);
  pointer-events: none;
}
.au-qv-media__zoom svg {
  width: 24px;
  height: 24px;
  display: block;
}

/* Lightbox — лёгкая сцена: фото в фокусе, мета без «плашек» */
.au-lightbox {
  position: fixed;
  inset: 0;
  z-index: var(--z-lightbox);
  display: grid;
  place-items: center;
  padding: 1.25rem;
}
/* QV opens inside Bootstrap .modal (z-index 1055) — lift lightbox above it */
body.modal-open .au-lightbox {
  z-index: 2000;
}
.au-lightbox[hidden] {
  display: none !important;
}
.au-lightbox__scrim {
  position: absolute;
  inset: 0;
  border: 0;
  padding: 0;
  margin: 0;
  background: rgb(20 22 28 / .68);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  cursor: pointer;
}
.au-lightbox__panel {
  --au-lb-ctrl-size: 2.5rem;
  --au-lb-ctrl-inset: .85rem;
  --au-lb-thumbs: 4.5rem;
  position: relative;
  z-index: 1;
  width: fit-content;
  max-width: calc(100vw - 2.5rem);
  max-height: calc(100vh - 2.5rem);
  max-height: calc(100dvh - 2.5rem);
  background: var(--c-page);
  border: 1px solid color-mix(in oklab, var(--c-line) 70%, transparent);
  border-radius: var(--r-xl);
  box-shadow: var(--sh-2);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
/* Close = same chrome as lightbox prev/next (tint disc + brand glyph) */
.au-lightbox__close {
  position: absolute;
  top: var(--au-lb-ctrl-inset);
  right: var(--au-lb-ctrl-inset);
  z-index: 3;
  width: var(--au-lb-ctrl-size);
  height: var(--au-lb-ctrl-size);
  min-width: var(--au-lb-ctrl-size);
  min-height: var(--au-lb-ctrl-size);
  padding: 0;
  border: 0;
  border-radius: var(--r-md);
  background: var(--tint-2);
  box-shadow: none;
  opacity: 1;
  filter: none;
  --bs-btn-close-bg: none;
  --bs-btn-close-opacity: 1;
  --bs-btn-close-hover-opacity: 1;
  transition: background-color .2s var(--e-soft);
}
.au-lightbox__close:hover {
  background-color: var(--tint-3);
  opacity: 1;
}
.au-lightbox__close::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: var(--brand-700);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 1.15rem 1.15rem;
  mask-size: 1.15rem 1.15rem;
  -webkit-mask-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M6 6l12 12M18 6 6 18'/%3e%3c/svg%3e");
  mask-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M6 6l12 12M18 6 6 18'/%3e%3c/svg%3e");
}
.au-lightbox__layout {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-areas:
    "stage"
    "meta";
  gap: 0;
  min-height: 0;
  max-height: 100%;
  flex: 0 1 auto;
}
.au-lightbox__thumbs { grid-area: thumbs; }
.au-lightbox__stage { grid-area: stage; }
.au-lightbox__meta { grid-area: meta; }
/* Desktop: thumbs только в ряду stage — обрезка по краям большой картинки, не модалки */
@media (min-width: 768px) {
  .au-lightbox__layout--thumbs {
    grid-template-columns: var(--au-lb-thumbs) minmax(0, 1fr);
    grid-template-areas:
      "thumbs stage"
      ". meta";
    align-items: stretch;
  }
}
.au-lightbox__thumbs {
  display: flex;
  flex-direction: row;
  gap: .4rem;
  padding: .85rem .85rem 0;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior: contain;
  min-height: 0;
  /* Keep scroll, hide the bar (Chrome / Safari / Firefox) */
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.au-lightbox__thumbs::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}
@media (min-width: 768px) {
  .au-lightbox__thumbs {
    --au-lb-thumb-inset-t: 1.15rem;
    --au-lb-thumb-inset-b: .35rem;
    flex-direction: column;
    /* Высота = зона фото (stage минус padding кадра) — клип по краям большой картинки */
    align-self: stretch;
    box-sizing: border-box;
    height: calc(100% - var(--au-lb-thumb-inset-t) - var(--au-lb-thumb-inset-b));
    max-height: calc(100% - var(--au-lb-thumb-inset-t) - var(--au-lb-thumb-inset-b));
    margin: var(--au-lb-thumb-inset-t) 0 var(--au-lb-thumb-inset-b);
    padding: 0 .5rem 0 .85rem;
    overflow-x: hidden;
    overflow-y: auto;
    min-height: 0;
  }
}
.au-lightbox__thumbs[hidden] { display: none !important; }
.au-lightbox__thumb {
  flex: 0 0 auto;
  width: 52px;
  height: 52px;
  padding: 0;
  border: 1px solid transparent;
  border-radius: var(--r-sm);
  background: var(--c-card);
  overflow: hidden;
  cursor: pointer;
  opacity: .72;
  transition: opacity .15s var(--e-soft), border-color .15s var(--e-soft);
}
.au-lightbox__thumb:hover { opacity: 1; }
.au-lightbox__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.au-lightbox__thumb.is-active {
  opacity: 1;
  border-color: var(--brand-500);
}
.au-lightbox__stage {
  position: relative;
  min-width: 0;
  min-height: 0;
}
.au-lightbox__carousel {
  --bs-carousel-transition-duration: .45s;
  min-height: 0;
  background: transparent;
}
/* Crossfade: кадры в одной ячейке — без белого зазора между слайдами */
.au-lightbox__carousel .carousel-inner {
  min-height: 0;
  display: grid;
}
.au-lightbox__carousel .carousel-item {
  grid-area: 1 / 1;
  width: 100%;
  margin-right: 0;
  float: none;
  display: none;
  align-items: center;
  justify-content: center;
  padding: var(--s-4);
  opacity: 0;
  transition: opacity var(--bs-carousel-transition-duration) var(--e-soft);
  transform: none !important;
  backface-visibility: hidden;
}
.au-lightbox__carousel .carousel-item.active,
.au-lightbox__carousel .carousel-item-next,
.au-lightbox__carousel .carousel-item-prev {
  display: flex;
}
.au-lightbox__carousel .carousel-item.active,
.au-lightbox__carousel .carousel-item-next.carousel-item-start,
.au-lightbox__carousel .carousel-item-prev.carousel-item-end {
  opacity: 1;
  z-index: 1;
}
.au-lightbox__carousel .active.carousel-item-start,
.au-lightbox__carousel .active.carousel-item-end {
  opacity: 0;
  z-index: 0;
  transition: opacity 0s var(--bs-carousel-transition-duration);
}
.au-lightbox__img {
  width: auto;
  height: auto;
  max-width: calc(100vw - 2.5rem);
  max-height: calc(100vh - 7rem);
  max-height: calc(100dvh - 7rem);
  object-fit: contain;
  object-position: center;
  display: block;
}
.au-lightbox__layout--thumbs .au-lightbox__img {
  max-width: calc(100vw - 2.5rem - var(--au-lb-thumbs));
}
/* Lightbox nav = same disc as close; same inset (right column / left column) */
.au-lightbox__carousel .carousel-control-prev,
.au-lightbox__carousel .carousel-control-next {
  width: var(--au-lb-ctrl-size);
  padding: 0;
  opacity: 1;
}
.au-lightbox__carousel .carousel-control-prev { left: var(--au-lb-ctrl-inset); }
.au-lightbox__carousel .carousel-control-next { right: var(--au-lb-ctrl-inset); }
.au-lightbox__carousel .carousel-control-prev-icon,
.au-lightbox__carousel .carousel-control-next-icon {
  filter: none;
  width: var(--au-lb-ctrl-size);
  height: var(--au-lb-ctrl-size);
  border: 0;
  border-radius: var(--r-md);
  background-color: var(--tint-2);
  background-image: none;
  box-shadow: none;
  opacity: 1;
  position: relative;
  transition: background-color .2s var(--e-soft);
}
.au-lightbox__carousel .carousel-control-prev:hover .carousel-control-prev-icon,
.au-lightbox__carousel .carousel-control-next:hover .carousel-control-next-icon {
  background-color: var(--tint-3);
}
.au-lightbox__carousel .carousel-control-prev-icon::after,
.au-lightbox__carousel .carousel-control-next-icon::after {
  content: '';
  position: absolute;
  inset: 0;
  background-color: var(--brand-700);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 1.15rem 1.15rem;
  mask-size: 1.15rem 1.15rem;
}
.au-lightbox__carousel .carousel-control-prev-icon::after {
  -webkit-mask-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M19 12H5'/%3e%3cpath d='m11 6-6 6 6 6'/%3e%3c/svg%3e");
  mask-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M19 12H5'/%3e%3cpath d='m11 6-6 6 6 6'/%3e%3c/svg%3e");
}
.au-lightbox__carousel .carousel-control-next-icon::after {
  -webkit-mask-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M5 12h14'/%3e%3cpath d='m13 6 6 6-6 6'/%3e%3c/svg%3e");
  mask-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M5 12h14'/%3e%3cpath d='m13 6 6 6-6 6'/%3e%3c/svg%3e");
}
.au-lightbox__carousel .carousel-control-prev[hidden],
.au-lightbox__carousel .carousel-control-next[hidden] {
  display: none !important;
}

/* подпись: компактная полоса, длинное — обрезка по слову + … */
.au-lightbox__meta {
  position: relative;
  display: grid;
  place-items: center;
  padding: var(--s-2) var(--s-4) var(--s-3);
  background: transparent;
  min-height: 0;
  flex: 0 0 auto;
}
.au-lightbox__title {
  margin: 0 auto;
  width: fit-content;
  max-width: 100%;
  text-align: center;
  color: var(--c-fg);
  font-family: var(--f-display);
  font-size: var(--t-sm);
  font-weight: 600;
  letter-spacing: var(--ls-head);
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.au-lightbox__count {
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--c-fg-3);
  font-family: var(--f-body);
  font-size: var(--t-xs);
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  letter-spacing: .02em;
  line-height: 1;
  white-space: nowrap;
}
.au-lightbox__count[hidden] { display: none !important; }
/* Mobile lightbox: full viewport. Absolute slides — no Bootstrap float / thumbs column. */
@media (max-width: 767.98px) {
  .au-lightbox {
    padding: 0;
    display: block;
  }
  .au-lightbox__panel {
    position: absolute;
    inset: 0;
    width: auto;
    height: auto;
    max-width: none;
    max-height: none;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    pointer-events: none;
  }
  .au-lightbox__close {
    top: max(var(--au-lb-ctrl-inset), env(safe-area-inset-top, 0px));
    right: max(var(--au-lb-ctrl-inset), env(safe-area-inset-right, 0px));
    pointer-events: auto;
  }
  .au-lightbox__carousel .carousel-control-prev {
    left: max(var(--au-lb-ctrl-inset), env(safe-area-inset-left, 0px));
  }
  .au-lightbox__carousel .carousel-control-next {
    right: max(var(--au-lb-ctrl-inset), env(safe-area-inset-right, 0px));
  }
  .au-lightbox__layout,
  .au-lightbox__layout--thumbs {
    display: block;
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    pointer-events: none;
  }
  .au-lightbox__thumbs,
  .au-lightbox__meta {
    display: none !important;
  }
  .au-lightbox__stage,
  .au-lightbox__carousel {
    position: absolute;
    inset: 0;
    display: block;
    width: auto;
    height: auto;
    min-width: 0;
    min-height: 0;
    pointer-events: none;
  }
  .au-lightbox__carousel .carousel-inner {
    position: absolute;
    inset: 0;
    display: block;
    width: auto;
    height: auto;
    overflow: hidden;
    pointer-events: none;
  }
  .au-lightbox__carousel .carousel-control-prev,
  .au-lightbox__carousel .carousel-control-next {
    pointer-events: auto;
  }
  .au-lightbox__carousel .carousel-item {
    position: absolute;
    inset: 0;
    display: none;
    float: none;
    width: auto;
    height: auto;
    min-width: 0;
    min-height: 0;
    margin: 0;
    padding: env(safe-area-inset-top, 0px) var(--s-4) env(safe-area-inset-bottom, 0px);
    align-items: center;
    justify-content: center;
    transform: none !important;
    pointer-events: none;
  }
  .au-lightbox__carousel .carousel-item.active,
  .au-lightbox__carousel .carousel-item-next,
  .au-lightbox__carousel .carousel-item-prev {
    display: flex;
  }
  .au-lightbox__img,
  .au-lightbox__layout--thumbs .au-lightbox__img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    min-width: 0;
    min-height: 0;
    flex: 0 0 auto;
    object-fit: contain;
    object-position: center;
    margin: 0;
    pointer-events: auto;
  }
  .au-lightbox__stage .au-pdf-badge {
    top: max(1.35rem, env(safe-area-inset-top, 0px));
    right: 3.5rem;
    pointer-events: auto;
  }
}
.au-video {
  aspect-ratio: 16/9;
  border-radius: var(--r-lg);
  background: #0E1015;
  overflow: hidden;
}
.au-video video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Custom Aurora video player (replaces native HTML5 chrome) */
.au-video[data-au-player] {
  position: relative;
  isolation: isolate;
  --au-vp-glass-bg: rgb(255 255 255 / .12);
  --au-vp-glass-border: rgb(255 255 255 / .38);
  --au-vp-glass-shadow:
    0 6px 18px rgb(0 0 0 / .22),
    inset 0 1px 0 rgb(255 255 255 / .45);
}
.au-video[data-au-player] video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #0E1015;
}
.au-video[data-au-player] video::-webkit-media-controls {
  display: none !important;
}
.au-vp {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: .7rem .75rem .65rem;
  pointer-events: none;
  opacity: 1;
  transition: opacity .25s ease;
  background:
    linear-gradient(180deg, rgb(0 0 0 / .42) 0%, transparent 28%),
    linear-gradient(0deg, rgb(0 0 0 / .5) 0%, transparent 34%);
}
.au-video[data-au-player].is-playing:not(:hover):not(:focus-within):not(.is-scrubbing) .au-vp {
  opacity: 0;
}
.au-video[data-au-player].is-playing:not(:hover):not(:focus-within):not(.is-scrubbing) .au-vp * {
  pointer-events: none;
}
.au-vp__top,
.au-vp__bottom {
  display: flex;
  align-items: center;
  gap: .45rem;
  pointer-events: auto;
  min-width: 0;
}
.au-vp__top {
  justify-content: space-between;
}
.au-vp__bottom {
  flex-wrap: wrap;
  row-gap: .4rem;
}
.au-vp__cluster,
.au-vp__transport,
.au-vp__volume {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  min-width: 0;
}
.au-vp__pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  height: 2rem;
  padding: 0 .55rem;
  border: 1px solid var(--au-vp-glass-border);
  border-radius: var(--r-pill);
  background: var(--au-vp-glass-bg);
  color: #fff;
  box-shadow: var(--au-vp-glass-shadow);
  backdrop-filter: blur(14px) saturate(1.2);
  -webkit-backdrop-filter: blur(14px) saturate(1.2);
  font-size: var(--t-xs);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease, transform .15s ease;
}
.au-vp__pill:hover {
  background: rgb(255 255 255 / .22);
  border-color: rgb(255 255 255 / .55);
}
.au-vp__pill:focus-visible {
  outline: 2px solid rgb(255 255 255 / .7);
  outline-offset: 2px;
}
.au-vp__pill--play {
  min-width: 2.35rem;
  height: 2.35rem;
}
.au-vp__pill--rate {
  min-width: 2.4rem;
}
.au-vp__seek-lbl {
  letter-spacing: .01em;
}
.au-vp__volume {
  gap: .35rem;
  padding-left: .15rem;
}
.au-vp__range {
  width: 5.5rem;
  max-width: 28vw;
  height: .35rem;
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  cursor: pointer;
}
.au-vp__range::-webkit-slider-runnable-track {
  height: .35rem;
  border-radius: var(--r-pill);
  background: rgb(255 255 255 / .28);
}
.au-vp__range::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: .9rem;
  height: .9rem;
  margin-top: -.28rem;
  border-radius: 50%;
  border: 2px solid #fff;
  background: var(--brand-500);
  box-shadow: 0 1px 6px rgb(0 0 0 / .35);
}
.au-vp__range::-moz-range-track {
  height: .35rem;
  border-radius: var(--r-pill);
  background: rgb(255 255 255 / .28);
}
.au-vp__range::-moz-range-thumb {
  width: .9rem;
  height: .9rem;
  border-radius: 50%;
  border: 2px solid #fff;
  background: var(--brand-500);
  box-shadow: 0 1px 6px rgb(0 0 0 / .35);
}
.au-vp__time {
  color: rgb(255 255 255 / .92);
  font-size: var(--t-xs);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  text-shadow: 0 1px 2px rgb(0 0 0 / .35);
}
.au-vp__scrub {
  flex: 1 1 8rem;
  min-width: 5rem;
  padding: .45rem 0;
  cursor: pointer;
  touch-action: none;
}
.au-vp__scrub-track {
  position: relative;
  height: .35rem;
  border-radius: var(--r-pill);
  background: rgb(255 255 255 / .24);
}
.au-vp__scrub-fill {
  position: absolute;
  inset: 0 auto 0 0;
  width: 0%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--brand-500), var(--brand-600));
  pointer-events: none;
}
.au-vp__scrub-thumb {
  position: absolute;
  top: 50%;
  left: 0%;
  width: .85rem;
  height: .85rem;
  border-radius: 50%;
  background: #fff;
  border: 2px solid var(--brand-600);
  box-shadow: 0 1px 6px rgb(0 0 0 / .35);
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.au-video[data-au-player].is-scrubbing .au-vp__scrub-thumb {
  transform: translate(-50%, -50%) scale(1.12);
}
.au-video-embed[data-au-player] {
  position: relative;
  isolation: isolate;
}
@media (max-width: 575.98px) {
  .au-vp {
    padding: .55rem .55rem .5rem;
  }
  .au-vp__range {
    width: 3.6rem;
  }
  .au-vp__bottom .au-vp__cluster:last-child {
    margin-left: auto;
  }
}
@media (prefers-reduced-motion: reduce) {
  .au-vp {
    transition: none;
  }
}

/* Видео-модалка: крестик снаружи у правого верхнего угла панели */
.au-video-modal__dialog {
  overflow: visible;
  padding: 1.25rem 1.25rem 0;
}
.au-video-modal {
  position: relative;
  overflow: visible;
  background: transparent;
  border: 0;
  box-shadow: none;
}
.au-video-modal__panel {
  overflow: hidden;
  border-radius: var(--r-xl);
  background: #0E1015;
  box-shadow: var(--sh-3);
}
.au-video-modal .au-video {
  border-radius: 0;
}
.au-video-modal__close {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 6;
  width: var(--tap);
  height: var(--tap);
  padding: 0;
  margin: 0;
  border-radius: 50%;
  background-color: rgb(255 255 255 / .96);
  background-position: center;
  background-size: .85rem;
  box-shadow: 0 2px 12px rgb(0 0 0 / .28);
  opacity: 1;
  --bs-btn-close-opacity: 1;
  --bs-btn-close-hover-opacity: 1;
  transform: translate(42%, -42%);
}
.au-video-modal__close:hover {
  background-color: #fff;
  box-shadow: 0 4px 16px rgb(0 0 0 / .32);
}
.modal:has(.au-video-modal) {
  overflow-x: hidden;
  overflow-y: auto;
}
.modal:has(.au-video-modal) .modal-dialog {
  overflow: visible;
}
.modal:has(.au-video-modal) .modal-content {
  overflow: visible;
}
.au-modal-media .au-video-embed {
  border-radius: var(--r-xl);
  overflow: hidden;
}
.au-modal-media .au-video-embed video,
.au-modal-media .au-video-embed iframe {
  display: block;
  width: 100%;
  height: auto;
  max-height: min(70vh, 28rem);
  background: #0E1015;
}
.au-video-modal__panel .au-video-embed {
  border-radius: 0;
}
.au-video-modal__panel .au-video-embed video,
.au-video-modal__panel .au-video-embed iframe {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #0E1015;
}
.au-cart-lines {
  display: flex;
  flex-direction: column;
  gap: .15rem;
  min-width: 0;
}
.au-cart-lines.is-scroll {
  max-height: 14.75rem; /* ~3 строки — форма и CTA остаются в зоне */
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding-right: .15rem;
  margin-bottom: .15rem;
}
.au-cart-lines__empty {
  margin: .35rem 0 1rem;
  padding: 1rem;
  text-align: center;
  color: var(--c-fg-3);
  font-size: var(--t-sm);
  background: var(--tint-1);
  border-radius: var(--r-md);
}
.au-cart-lines__to-catalog {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: .12em;
}
.au-cart-lines__to-catalog:hover {
  color: var(--c-fg);
}
.au-cart-line {
  display: grid;
  /* art | title | qty (aligned) | sum | remove */
  grid-template-columns: 56px minmax(0, 1fr) auto auto auto;
  gap: .65rem .75rem;
  align-items: center;
  padding: .55rem 0;
  border-bottom: 1px solid color-mix(in oklab, var(--c-line) 80%, transparent);
}
.au-cart-line:last-child { border-bottom: 0; }
.au-cart-line__art {
  width: 56px;
  height: 56px;
  border-radius: var(--r-sm);
  background: var(--c-card);
  display: grid;
  place-items: center;
  overflow: hidden;
}
.au-cart-line__art svg { width: 70%; }
.au-cart-line__art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: inherit;
}
.au-cart-line__body { min-width: 0; }
.au-cart-line__title {
  display: block;
  font-size: var(--t-sm);
  font-weight: 700;
  line-height: 1.3;
  color: var(--c-fg);
}
.au-cart-line__meta {
  margin-top: .2rem;
  font-size: var(--t-xs);
  color: var(--c-fg-3);
  line-height: 1.3;
}
.au-cart-line__controls {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  align-self: center;
}
.au-cart-line__price {
  font-size: var(--t-sm);
  font-weight: 700;
  white-space: nowrap;
  text-align: right;
  min-width: 5.5rem;
}
.au-cart-line__qty {
  display: inline-flex;
  align-items: center;
  gap: .15rem;
  margin: 0;
  border: 1px solid var(--c-line-2);
  border-radius: var(--r-sm);
  background: var(--c-surface);
  overflow: hidden;
}
.au-cart-line__qty-btn {
  appearance: none;
  -webkit-appearance: none;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  margin: 0;
  padding: 0;
  padding-block-start: 0.06em;
  border: 0;
  background: transparent;
  color: var(--c-fg-2);
  font-size: var(--t-sm);
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
}
.au-cart-line__qty-btn:hover,
.au-cart-line__qty-btn:focus-visible {
  background: var(--tint-2);
  color: var(--c-fg);
  outline: none;
}
.au-cart-line__qty-input {
  width: 2.25rem;
  height: 1.75rem;
  line-height: 1.75rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-left: 1px solid var(--c-line-2);
  border-right: 1px solid var(--c-line-2);
  background: var(--c-card);
  color: var(--c-fg);
  font-size: var(--t-xs);
  font-weight: 700;
  text-align: center;
  -moz-appearance: textfield;
}
.au-cart-line__qty-input::-webkit-outer-spin-button,
.au-cart-line__qty-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.au-cart-line__remove {
  width: 2rem;
  height: 2rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: var(--r-md);
  background: transparent;
  color: var(--c-fg-3);
  display: inline-grid;
  place-items: center;
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
  transition: color .15s var(--e-soft), background .15s var(--e-soft);
}
.au-cart-line__remove:hover,
.au-cart-line__remove:focus-visible {
  color: var(--c-fg);
  background: var(--tint-2);
  outline: none;
}
.au-cart-line__sum {
  text-align: right;
  min-width: 5.5rem;
}
.au-cart-line__price-old {
  font-size: var(--t-caption);
  color: var(--c-fg-3);
  text-decoration: line-through;
}
.au-cart-line__badge {
  display: inline-flex;
  align-items: center;
  margin-top: .2rem;
  padding: .12rem .4rem;
  border-radius: var(--r-xs);
  border: 1px solid color-mix(in oklab, var(--sale) 18%, transparent);
  background: color-mix(in oklab, var(--sale) 8%, var(--c-card));
  color: color-mix(in oklab, var(--sale) 70%, var(--c-fg));
  font-size: var(--t-caption);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: .01em;
}
@media (max-width: 575.98px) {
  .au-cart-line {
    grid-template-columns: 48px minmax(0, 1fr) auto auto;
    grid-template-areas:
      "art body sum remove"
      "art controls sum remove";
    column-gap: .55rem;
    row-gap: .35rem;
  }
  .au-cart-line__art { grid-area: art; width: 48px; height: 48px; }
  .au-cart-line__body { grid-area: body; }
  .au-cart-line__controls {
    grid-area: controls;
    justify-content: flex-end; /* same vertical edge as qty column on desktop */
  }
  .au-cart-line__sum { grid-area: sum; }
  .au-cart-line__remove { grid-area: remove; }
}
.au-cart-lines__clear {
  border: 0;
  background: transparent;
  color: var(--c-fg-3);
  font-size: var(--t-caption);
  text-decoration: none;
  cursor: pointer;
  padding: 0;
  white-space: nowrap;
}
.au-cart-lines__clear:hover { color: var(--c-fg); }
.au-checkout-modal__tools {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-left: auto;
  flex-shrink: 0;
}
.au-checkout-modal__header {
  display: flex;
  align-items: center;
  gap: .75rem;
}
.au-cart-summary {
  border-top: 1px solid var(--c-line);
  padding-top: 1rem;
  margin-top: .5rem;
  display: grid;
  gap: .75rem;
}
.au-cart-summary__row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
}
.au-cart-summary__row--save {
  margin: 0;
  padding: .5rem .75rem;
  border-radius: var(--r-sm);
  background: color-mix(in oklab, #16a34a 12%, transparent);
  color: color-mix(in oklab, #15803d 70%, var(--c-fg));
  font-size: var(--t-small);
  font-weight: 600;
}
.au-cart-summary__row--total {
  font-weight: 700;
  font-size: var(--t-h5, 1.25rem);
}
.au-cart-coupon {
  display: flex;
  gap: .5rem;
  align-items: stretch;
}
.au-cart-coupon__input {
  flex: 1;
  min-width: 0;
  border: 1px solid var(--c-line);
  border-radius: var(--r-md);
  background: var(--tint-1);
  padding: .65rem .9rem;
  color: var(--c-fg);
}
.au-cart-coupon__btn {
  width: 2.75rem;
  border: 1px solid var(--c-line);
  border-radius: var(--r-md);
  background: var(--c-page);
  color: var(--c-fg);
  cursor: pointer;
}
.au-cart-coupon__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
}
.au-cart-coupon__list li {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .2rem .55rem;
  border-radius: var(--r-xs);
  background: var(--tint-2);
  font-size: var(--t-caption);
}
.au-cart-coupon__list button {
  border: 0;
  background: transparent;
  cursor: pointer;
  color: var(--c-fg-3);
  line-height: 1;
}
.au-cart-actions {
  display: grid;
  gap: .6rem;
}
@media (min-width: 992px) {
  /* Coupon left + total right (~50/50); large totals keep width, promo shrinks */
  .au-cart-summary {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: .75rem;
    row-gap: .65rem;
  }
  .au-cart-summary__row--save {
    flex: 1 1 100%;
    order: 1;
  }
  .au-cart-coupon {
    flex: 1 1 calc(50% - .4rem);
    min-width: 0;
    order: 2;
  }
  .au-cart-summary__row--total {
    flex: 1 1 calc(50% - .4rem);
    min-width: min-content;
    justify-content: flex-end;
    white-space: nowrap;
    gap: .5rem;
    order: 3;
  }
  .au-cart-coupon__list {
    flex: 1 1 100%;
    order: 4;
  }
  .au-cart-actions {
    flex: 1 1 100%;
    order: 5;
  }
  .au-cart-coupon__input {
    padding: .55rem .75rem;
  }
  .au-cart-actions:has(.js-cct-buy1click-open) {
    grid-template-columns: 1fr 1fr;
    gap: .5rem;
  }
  .au-cart-actions .btn {
    white-space: normal;
    line-height: 1.25;
    padding-inline: .75rem;
  }
}
/* Shop /cart/: class lives on the basket root (ajax replaces #au-cart-panel innerHTML). */
.au-cart-page {
  display: grid;
  gap: 1.25rem;
  width: 100%;
  min-width: 0;
}
.au-cart-page .au-cart-lines {
  padding: 1.15rem 1.25rem;
  border: 1px solid color-mix(in oklab, var(--c-line) 85%, transparent);
  border-radius: var(--r-xl);
  box-shadow: var(--sh-1);
  background: var(--c-card, var(--c-page));
}
.au-cart-page .au-cart-lines.is-scroll {
  max-height: none;
  overflow: visible;
  padding-right: 1.25rem;
  margin-bottom: 0;
}
.au-cart-page .au-cart-summary {
  margin-top: 0;
  padding: 1.15rem 1.25rem;
  border: 1px solid color-mix(in oklab, var(--c-line) 85%, transparent);
  border-radius: var(--r-xl);
  box-shadow: var(--sh-1);
  background: var(--c-card, var(--c-page));
  display: grid;
  gap: .75rem;
}
.au-cart-page .au-cart-actions {
  display: flex;
  flex-direction: column;
  gap: .6rem;
}
.au-cart-page .au-cart-actions .btn {
  width: 100%;
}
.au-cart-page .au-cart-lines__empty {
  margin: 0;
  padding: 2rem 1rem;
  background: transparent;
}
/* Wishlist / compare empty: same card as /cart/ empty (not modal tint). */
.au-shop-empty {
  margin: 0;
  padding: 2rem 1.25rem;
  text-align: center;
  color: var(--c-fg-3);
  font-size: var(--t-sm);
  border: 1px solid color-mix(in oklab, var(--c-line) 85%, transparent);
  border-radius: var(--r-xl);
  box-shadow: var(--sh-1);
  background: var(--c-card, var(--c-page));
}
@media (min-width: 992px) {
  .au-cart-page {
    grid-template-columns: minmax(0, 1fr) minmax(16.5rem, 20rem);
    align-items: start;
    gap: 1.5rem;
  }
  .au-cart-page .au-cart-summary {
    position: sticky;
    top: 5.5rem;
    display: grid;
  }
  .au-cart-page .au-cart-summary__row--save,
  .au-cart-page .au-cart-coupon,
  .au-cart-page .au-cart-summary__row--total,
  .au-cart-page .au-cart-coupon__list,
  .au-cart-page .au-cart-actions {
    flex: none;
    order: unset;
    width: 100%;
  }
  .au-cart-page .au-cart-summary__row--total {
    justify-content: space-between;
  }
  .au-cart-page .au-cart-actions:has(.js-cct-buy1click-open) {
    display: flex;
    flex-direction: column;
    grid-template-columns: 1fr;
  }
}
.js-cct-add2basket.is-in-cart {
  background: var(--tint-2);
  color: var(--c-fg);
  border-color: var(--c-line);
}
.js-cct-add2basket.is-in-cart .au-cart-check {
  margin-right: .25rem;
}
.js-cct-add2basket.is-unavailable,
.js-cct-add2basket:disabled {
  opacity: .55;
  cursor: not-allowed;
}
/* Same inset as #modalCheckout: Bootstrap --bs-modal-padding on header/body. */
.au-order-modal .modal-header,
.au-order-modal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
}
.au-order-modal__tools {
  display: flex;
  align-items: center;
  gap: .65rem;
  margin-left: auto;
  flex-shrink: 0;
}
.au-order-modal .modal-title {
  font-family: var(--f-display);
  font-weight: 800;
  letter-spacing: var(--ls-display, -0.02em);
  margin: 0;
  min-width: 0;
}
.au-order__back {
  border: 0;
  background: transparent;
  padding: .25rem .15rem;
  color: var(--brand);
  font-size: var(--t-sm);
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}
.au-order__back:hover,
.au-order__back:focus {
  color: var(--brand-700, var(--brand));
  text-decoration: none;
}
.au-order__back[hidden] { display: none !important; }
.au-order-frame {
  display: block;
  width: 100%;
  border: 0;
  border-radius: var(--r-lg);
  background: transparent;
}
/* #modalOrder: iframe fills modal-body; the iframe document is the only scroller.
   Nested .modal-body overflow-y:auto + iframe 70vh/content-height was a second bar. */
#modalOrder.modal {
  overflow: hidden;
}
#modalOrder .modal-dialog {
  height: calc(100% - var(--bs-modal-margin, 1.75rem) * 2);
  max-height: calc(100dvh - 1.5rem);
}
#modalOrder .modal-content {
  height: 100%;
  max-height: 100%;
}
#modalOrder .au-order-modal__body:has(#au-order-panel:not([hidden])) {
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
#modalOrder .au-order-panel:not([hidden]) {
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
}
#modalOrder .au-order-panel[hidden] {
  display: none !important;
}
#modalOrder .au-order-frame {
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  min-height: 0;
  overflow: hidden;
}
#modalCheckout.modal {
  overflow: hidden;
}
.au-combined-order {
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--c-line);
}
.au-combined-order--success {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
#modalCheckout #au-cart-panel[hidden] {
  display: none !important;
}
/* Success state: same au-form-modal shell; title only in header */
#au-checkout-modal-content.is-order-success .au-checkout-modal__body,
#au-order-modal-content.is-order-success .au-order-modal__body {
  padding-top: .35rem;
}
#au-checkout-modal-content.is-order-success #au-combined-order.au-combined-order--success {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
.au-checkout-modal__header .modal-title,
.au-order-modal__header .modal-title {
  font-family: var(--f-display);
  font-weight: 800;
}
.au-combined-order__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: .75rem;
}
/* Combined: iframe grows with content — only .modal-body scrolls. */
.au-combined-order__frame {
  min-height: 280px;
  height: auto;
  max-height: none;
  overflow: hidden;
}
/* Order iframe load: compact brand spinner (no half-screen skeleton bars) */
.au-order-panel {
  position: relative;
}
.au-order-panel.is-loading {
  min-height: 8.5rem;
}
.au-order-panel.is-loading .au-order-frame {
  opacity: 0;
  pointer-events: none;
}
.au-order-panel.is-loading .au-order-skel,
.au-order-panel.is-loading .au-order-skel[hidden] {
  display: flex !important;
  position: absolute;
  inset: 0;
  z-index: 2;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .85rem;
  background: var(--c-page, #fff);
  padding: 1.25rem 1rem;
}
.au-order-skel {
  display: none;
}
.au-order-skel__spin {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  border: 2.5px solid color-mix(in oklab, var(--brand) 22%, transparent);
  border-top-color: var(--brand);
  animation: au-order-spin .7s linear infinite;
}
.au-order-skel__hint {
  margin: 0;
  font-size: var(--t-caption);
  color: var(--c-fg-3);
  text-align: center;
}
@keyframes au-order-spin {
  to { transform: rotate(360deg); }
}
@media (prefers-reduced-motion: reduce) {
  .au-order-skel__spin {
    animation: none;
    border-top-color: color-mix(in oklab, var(--brand) 45%, transparent);
  }
}
.au-checkout-modal--combined .modal-body,
#au-checkout-modal-content.au-checkout-modal--combined .au-checkout-modal__body,
#modalCheckout .au-checkout-modal--combined .modal-body {
  max-height: min(85vh, 900px);
  overflow-y: auto;
  overflow-x: hidden;
}
/* Combined: cart list must not nest a second scrollbar */
#modalCheckout .au-checkout-modal--combined .au-cart-lines,
#modalCheckout .au-checkout-modal--combined .au-cart-lines.is-scroll {
  max-height: none;
  overflow: visible;
  overscroll-behavior: auto;
  padding-right: 0;
  margin-bottom: 0;
}
#modalCheckout .au-combined-order__frame {
  /* JS sets exact px height from contentDocument */
  transition: height .15s ease;
}
#modalCheckout .au-order-panel.is-loading .au-combined-order__frame {
  transition: none;
}
/* Bitrix admin edit labels must not float over the order modal */
#modalOrder .bx-context-toolbar,
#modalOrder .bx-context-toolbar-empty-area,
#modalOrder .bx-component-opener,
#modalCheckout .bx-context-toolbar,
#modalCheckout .bx-context-toolbar-empty-area,
#modalCheckout .bx-component-opener {
  display: none !important;
}
/* Empty cart: same width as #modalForm (default dialog). Do NOT use --bs-modal-width — modal-xl sets it to 1140px. */
#modalCheckout:has(.au-cart-lines__empty) .modal-dialog {
  --bs-modal-width: 500px;
  max-width: 500px;
}
/* Success: compact dialog so thank-you lead stays one line on desktop */
#modalCheckout:has(.is-order-success) .modal-dialog,
#modalOrder:has(.is-order-success) .modal-dialog {
  /* Narrower than modal-xl/lg; wide enough for one-line thank-you */
  max-width: min(44rem, calc(100vw - 1.5rem));
}
.au-order-success {
  max-width: none;
  padding: .15rem 0 .85rem;
}
.au-order-success__lead {
  margin: 0;
  font-size: var(--t-sm);
  line-height: 1.45;
  white-space: nowrap;
}
@media (max-width: 575.98px) {
  .au-order-success__lead {
    white-space: normal;
  }
}
.au-order-success .h4 {
  font-family: var(--f-display);
  font-weight: 800;
}
.au-order-result__card {
  max-width: 36rem;
  padding: 1.5rem;
  border: 1px solid var(--c-line);
  border-radius: var(--r-xl);
  box-shadow: var(--sh-1);
  background: var(--c-page);
}
.au-hdr-icon--cart.is-pulse {
  animation: au-cart-pulse .45s var(--e-soft);
}
@keyframes au-cart-pulse {
  0% { transform: scale(1); }
  40% { transform: scale(1.12); }
  100% { transform: scale(1); }
}
.au-cart-fly {
  position: fixed;
  z-index: var(--z-fly);
  border-radius: var(--r-md);
  overflow: hidden;
  pointer-events: none;
  box-shadow: var(--sh-2);
  background: var(--c-page);
  transition: transform .55s cubic-bezier(.32, .72, 0, 1), opacity .55s ease;
  will-change: transform, opacity;
}
.au-cart-fly img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.au-cart-fly--dot {
  background: var(--brand-600);
  border-radius: 50%;
  box-shadow: var(--sh-1);
}
@media (prefers-reduced-motion: reduce) {
  .au-hdr-icon--cart.is-pulse { animation: none; }
  .au-cart-fly { transition-duration: .01ms; }
}

/* Nav tabs as pills (+ optional scroll arrows for story feeds) */
.au-tabs-wrap {
  display: flex;
  align-items: center;
  gap: .35rem;
  min-width: 0;
  max-width: min(100%, 36rem);
}
.au-tabs-wrap .au-tabs {
  flex: 1 1 auto;
  min-width: 0;
}
.au-tabs-nav {
  flex: 0 0 auto;
  display: inline-grid;
  place-items: center;
  width: 1.75rem;
  height: 1.75rem;
  padding: 0;
  border: 0;
  border-radius: var(--r-pill);
  background: var(--tint-2);
  color: var(--c-fg-3);
  cursor: pointer;
  transition: background .15s var(--e-soft), color .15s var(--e-soft), opacity .15s var(--e-soft);
}
.au-tabs-nav svg {
  width: 1rem;
  height: 1rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.au-tabs-nav--next svg {
  transform: scaleX(-1);
}
.au-tabs-nav:hover:not(:disabled) {
  background: color-mix(in oklab, var(--c-fg-3) 16%, var(--c-page));
  color: var(--c-fg-2);
}
.au-tabs-nav:disabled {
  opacity: .35;
  cursor: default;
}
.au-tabs {
  background: var(--tint-2);
  border-radius: var(--r-pill);
  padding: var(--s-1);
  gap: var(--s-1);
  display: flex;
  flex-wrap: nowrap;
  max-width: 100%;
  margin-inline: 0;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.au-tabs::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}
.au-tabs-wrap--overflow .au-tabs {
  mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - .9rem), transparent);
}
.au-tabs-wrap--overflow .au-sc-tile-slider__track {
  mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - .9rem), transparent);
}
.au-tabs .nav-link {
  flex: 0 0 auto;
  white-space: nowrap;
  border: 0;
  border-radius: var(--r-pill);
  color: var(--c-fg-2);
  font-weight: 600;
  font-size: var(--t-sm);
  padding: .45rem .9rem;
}
.au-tabs .nav-link.active {
  background: var(--c-page);
  color: var(--c-fg);
  box-shadow: var(--sh-1);
}

/* Theme panel + live-preview stripped for Bitrix ship */

/* Dark scheme overrides for Bootstrap surfaces */
[data-scheme="dark"] {
  --bs-body-bg: var(--c-page);
  --bs-body-color: var(--c-fg);
  --bs-border-color: var(--c-line);
}
[data-scheme="dark"] .modal-content {
  background: var(--c-card);
  color: var(--c-fg);
}
[data-scheme="dark"] .btn-close { filter: invert(1); }
[data-scheme="dark"] .au-lightbox__close { filter: none; }

/* Heads (and any non-card .au-reveal): fade + lift. Delay only here, not on hover. */
.au-reveal {
  transition:
    opacity .5s var(--e-soft, ease) var(--au-reveal-delay, 0s),
    transform .5s var(--e-soft, ease) var(--au-reveal-delay, 0s);
}
.au-reveal:not(.is-in) {
  opacity: 0;
  transform: translate3d(0, 18px, 0);
}
.au-reveal.is-in {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
/* Hover cards: fade only. Later than the head lift so Safari never mixes Y + scale. */
.au-feat.au-reveal:not(.is-in),
.au-pc.au-reveal:not(.is-in),
.au-svc.au-reveal:not(.is-in),
.au-price-card.au-reveal:not(.is-in),
.au-case.au-reveal:not(.is-in),
.au-doc.au-reveal:not(.is-in),
.au-obj.au-reveal:not(.is-in) {
  transform: translate3d(0, 0, 0);
}
.au-feat.au-reveal.is-in,
.au-pc.au-reveal.is-in,
.au-svc.au-reveal.is-in,
.au-price-card.au-reveal.is-in,
.au-case.au-reveal.is-in,
.au-doc.au-reveal.is-in,
.au-obj.au-reveal.is-in {
  transform: translate3d(0, 0, 0);
}
@media (prefers-reduced-motion: reduce) {
  .au-reveal:not(.is-in),
  .au-reveal.is-in {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
html[data-au-motion="off"] .au-reveal:not(.is-in),
html[data-au-motion="off"] .au-reveal.is-in {
  opacity: 1;
  transform: none;
  transition: none;
}

body.au-gsap .au-feat-list__item,
body.au-gsap .au-stat,
body.au-gsap .au-step,
body.au-gsap .au-row,
body.au-gsap .au-gallery__item,
body.au-gsap .au-person,
body.au-gsap .au-review,
body.au-gsap .au-logo-mark,
body.au-gsap .au-faq__item,
body.au-gsap .au-ba,
body.au-gsap .au-promo {
  transition-property: box-shadow, border-color, background-color, color, opacity, transform;
  transition-duration: .35s;
  transition-timing-function: var(--e-soft);
}

/* prefers-reduced-motion: единый reset в tokens.css */

/* —— objects.grid (cct_objects) — portfolio cards ——
   Badge = existing .au-chip (frosted .au-chip--set by default; optional BADGE_COLOR).
   No dog-ear sticker; no new tokens. */
.au-obj {
  display: flex;
  flex-direction: column;
  height: 100%;
  border-radius: var(--r-xl);
  background: var(--c-card);
  border: 1px solid var(--c-line);
  box-shadow: var(--sh-1);
  overflow: hidden;
  transition: transform .32s var(--e-soft);
}
.au-obj:has(.au-obj__hit:hover),
.au-obj:has(.au-obj__hit:focus-visible) {
  box-shadow: var(--sh-2);
}
.au-obj__hit {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  text-align: left;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  outline: none;
}
.au-obj__hit:not(a):not([role="button"]) {
  cursor: default;
}
.au-obj__hit:focus-visible {
  box-shadow: inset 0 0 0 2px var(--brand-600);
}
.au-obj__media {
  position: relative;
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: var(--c-soft);
}
.au-obj__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.au-obj__badge {
  position: absolute;
  top: .75rem;
  left: .75rem;
  z-index: 2;
  max-width: calc(100% - 1.5rem);
}
.au-obj__badge--custom {
  background: var(--au-obj-badge, var(--brand-600));
  color: var(--au-obj-badge-fg, var(--brand-fg));
  border: none;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.au-obj__body {
  display: flex;
  flex-direction: column;
  gap: .45rem;
  padding: 1rem 1.1rem 1.15rem;
}
.au-obj__row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: .75rem 1rem;
}
.au-obj__title {
  font-family: var(--f-display);
  font-size: var(--t-card-title-md);
  font-weight: 800;
  letter-spacing: var(--ls-head);
  line-height: var(--lh-head);
  min-width: 0;
}
.au-obj__area {
  flex: 0 0 auto;
  font-family: var(--f-display);
  font-size: var(--t-card-title-md);
  font-weight: 700;
  letter-spacing: var(--ls-head);
  line-height: var(--lh-head);
  white-space: nowrap;
  color: var(--c-fg);
}
.au-obj__specs {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem 1.1rem;
  color: var(--c-muted);
  font-size: var(--t-sm);
  line-height: 1.35;
}
.au-obj__spec {
  display: inline-block;
}
.au-obj__tags {
  padding: 0 1.1rem 1.15rem;
  min-width: 0;
}
.au-obj__tags-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .55rem;
  min-width: 0;
}
.au-obj__tags-list .au-eyebrow {
  flex: 0 0 auto;
}

/* Shop page chrome: stock bitrix:breadcrumb + page H1 (not on home / landing).
   First band after chrome uses --s-6, not landing --section-pad.
   bitrix:catalog AJAX_MODE wraps the section in #comp_* — same first band. */
.au-shop-chrome {
  padding-top: var(--s-6);
}
.au-shop-chrome > .container-xxl {
  display: block;
}
.au-shop-chrome__h1 {
  display: block;
  margin: var(--s-3) 0 0;
}
/* Product (and other block) H1 is not in the chrome. «Без верхнего отступа»
   then removes the section pad, so the heading sits on the crumbs.
   Same top gap as .au-shop-chrome__h1. flow-root keeps the margin inside. */
.au-shop-chrome + .au-sec--no-pad-top > .container-xxl > h1:first-child,
.au-shop-chrome + * > .au-sec--no-pad-top > .container-xxl > h1:first-child {
  margin-top: var(--s-3);
}
.au-shop-chrome + .au-sec,
.au-shop-chrome + .sec,
.au-shop-chrome + .au-page-frame,
.au-shop-chrome + * > .au-page-frame,
.au-shop-chrome + * > .au-sec:first-of-type,
.au-shop-chrome + * > .sec:first-of-type {
  padding-top: var(--s-6);
}
/* Empty cart / wishlist / compare: keep landing --section-pad under the page H1
   (wishlist escaped the --s-6 first-band via extra wraps — that rhythm is the SoT). */
.au-shop-chrome + .au-sec:has(.au-shop-empty),
.au-shop-chrome + .sec:has(.au-shop-empty),
.au-shop-chrome + * > .au-sec:has(.au-shop-empty),
.au-shop-chrome + * > .sec:has(.au-shop-empty),
.au-shop-chrome + * > * > .au-sec:has(.au-shop-empty),
.au-shop-chrome + * > * > .sec:has(.au-shop-empty) {
  padding-top: var(--section-pad);
}
/* Constructor «Без верхнего отступа» wins over shop first-band and the empty restore. */
.au-sec.au-sec--no-pad-top,
.au-shop-chrome + .au-sec.au-sec--no-pad-top,
.au-shop-chrome + * > .au-sec.au-sec--no-pad-top,
.au-shop-chrome + * > * > .au-sec.au-sec--no-pad-top,
.au-shop-chrome + .au-sec:has(.au-shop-empty).au-sec--no-pad-top,
.au-shop-chrome + * > .au-sec:has(.au-shop-empty).au-sec--no-pad-top,
.au-shop-chrome + * > * > .au-sec:has(.au-shop-empty).au-sec--no-pad-top {
  padding-top: 0;
}

/* Shop page frames (aside / split). Tokens only; filter column matches catalog-body.
   Host is emitted when two+ slots have an active block. Empty slot = no wrapper.
   --cols only when both column slots are filled (no hole for a missing column). */
.au-page-frame {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 1.25rem;
  width: min(100% - var(--gutter) * 2, var(--w-site));
  margin-inline: auto;
  min-width: 0;
}
.au-page-frame__top,
.au-page-frame__bottom,
.au-page-frame__aside,
.au-page-frame__main,
.au-page-frame__start,
.au-page-frame__end {
  min-width: 0;
}
.au-page-frame__top,
.au-page-frame__bottom {
  grid-column: 1 / -1;
}
/* Last catalog rail (viewed / related): scale(1.02) must paint above the footer.
   Footer is a sibling of #main — z-index on a nested section loses.
   Stacking on the wrapper — not a z-index transition on .au-pc. */
#main:has([data-cct-product-slider]),
#main:has([data-catalog-view="slider"]) {
  position: relative;
  z-index: 1;
  overflow: visible;
}
/* Slider stacking (z-index: 1) traps position:fixed filter under header/dock.
   Open overlay must share the overlay token with .au-sf-host, not a new ladder. */
@media (max-width: 991.98px) {
  #main:has(.au-sf-host.is-open) {
    position: relative;
    z-index: var(--z-overlay);
  }
}
.au-page-frame,
.au-page-frame__bottom,
[data-catalog-view="slider"] {
  overflow: visible;
}
.au-page-frame .container-xxl,
.au-page-frame .in,
.au-page-frame .sec__in {
  width: 100%;
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}
@media (min-width: 992px) {
  .au-page-frame--aside-left.au-page-frame--cols {
    grid-template-columns: minmax(14rem, 18rem) minmax(0, 1fr);
  }
  .au-page-frame--aside-right.au-page-frame--cols {
    grid-template-columns: minmax(0, 1fr) minmax(14rem, 18rem);
  }
  .au-page-frame--aside-right.au-page-frame--cols .au-page-frame__main { grid-column: 1; }
  .au-page-frame--aside-right.au-page-frame--cols .au-page-frame__aside { grid-column: 2; }
  .au-page-frame--split.au-page-frame--cols {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}
/* Filter aside is .au-sf-host (no .au-sec). Catalog in main still wraps .au-sec
   (and CAjax #comp_*). Zero first-band --section-pad so both columns share a top.
   Frame already has shop-chrome --s-6 when it follows the page H1. Landing stack unchanged. */
.au-page-frame--cols > :is(.au-page-frame__aside, .au-page-frame__main, .au-page-frame__start, .au-page-frame__end) > .au-sec:first-of-type,
.au-page-frame--cols > :is(.au-page-frame__aside, .au-page-frame__main, .au-page-frame__start, .au-page-frame__end) > .sec:first-of-type,
.au-page-frame--cols > :is(.au-page-frame__aside, .au-page-frame__main, .au-page-frame__start, .au-page-frame__end) > * > .au-sec:first-of-type,
.au-page-frame--cols > :is(.au-page-frame__aside, .au-page-frame__main, .au-page-frame__start, .au-page-frame__end) > * > .sec:first-of-type {
  padding-top: 0;
}
/* Guide / first band in the top belt: frame already has shop-chrome --s-6. */
.au-page-frame__top > .au-sec:first-of-type,
.au-page-frame__top > .sec:first-of-type,
.au-page-frame__top > * > .au-sec:first-of-type,
.au-page-frame__top > * > .sec:first-of-type {
  padding-top: 0;
}
/* Shop inner pages: stacked constructor bands are one page, not four landings.
   Following .au-sec (and CAjax #comp_* wrap) drop --section-pad top.
   The last band keeps full --section-pad bottom (delivery rhythm). Home / landing unchanged. */
.au-shop-chrome ~ .au-sec + .au-sec,
.au-shop-chrome ~ .sec + .sec,
.au-page-frame__main > .au-sec ~ .au-sec,
.au-page-frame__main > .sec ~ .sec,
.au-page-frame__main > .au-sec ~ * > .au-sec,
.au-page-frame__main > .sec ~ * > .sec,
.au-page-frame__main > * ~ .au-sec,
.au-page-frame__main > * ~ .sec,
.au-page-frame__main > * ~ * > .au-sec,
.au-page-frame__main > * ~ * > .sec {
  padding-top: 0;
}
.au-shop-chrome ~ .au-sec:has(+ .au-sec),
.au-shop-chrome ~ .sec:has(+ .sec),
.au-page-frame__top > .au-sec,
.au-page-frame__top > .sec,
.au-page-frame__main > .au-sec:has(+ .au-sec),
.au-page-frame__main > .sec:has(+ .sec),
.au-page-frame__main > .au-sec:has(+ *),
.au-page-frame__main > .sec:has(+ *) {
  padding-bottom: var(--s-8);
}
.au-crumb {
  margin: 0;
  color: var(--c-fg-3);
  font-size: var(--t-sm);
  line-height: var(--lh-body);
}
.au-crumb__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-2);
  margin: 0;
  padding: 0;
  list-style: none;
}
.au-crumb__item {
  display: inline-flex;
  align-items: center;
  gap: var(--s-2);
}
.au-crumb__sep {
  color: var(--c-line);
}
.au-crumb__link {
  color: var(--c-fg-3);
  text-decoration: none;
}
.au-crumb__link:hover {
  color: var(--brand-700);
}
.au-crumb__cur {
  color: var(--c-fg);
}

/* Shop catalog.sections — tiles / lists / tag cloud / sliders */
.au-sc-embed {
  margin-bottom: var(--s-5);
}
.au-sc-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
@media (min-width: 768px) and (max-width: 991.98px) {
  .au-sc-grid {
    grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
  }
}
@media (min-width: 992px) {
  .au-sc-grid[data-cols="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .au-sc-grid[data-cols="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .au-sc-grid[data-cols="4"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .au-sc-grid[data-cols="5"] { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .au-sc-grid[data-cols="6"] { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}
.au-sc {
  display: flex;
  flex-direction: column;
  min-width: 0;
  text-decoration: none;
  color: inherit;
  background: var(--c-card);
  border: 1px solid var(--c-line);
  border-radius: var(--r-xl);
  box-shadow: var(--sh-1);
}
.au-sc__art {
  display: block;
  overflow: hidden;
  border-radius: var(--r-xl) var(--r-xl) 0 0;
  aspect-ratio: 4 / 3;
  background: var(--c-card);
}
.au-sc__art img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* Card / list titles wrap at spaces. Do not clamp or hyphenate — long names
   (Бижутерия и ювелирные изделия) must stay readable. Tag pills stay nowrap. */
.au-sc__name,
.au-sc__subs a {
  overflow-wrap: break-word;
  word-break: normal;
}
.au-sc__subs a {
  hyphens: auto;
  -webkit-hyphens: auto;
}
.au-sc__name {
  display: block;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: .9rem 1.1rem 1.05rem;
  font-size: var(--t-md);
  font-weight: 600;
  line-height: 1.3;
}
.au-sc-tags__list {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}
.au-sc-tags:not(.is-open) .au-sc-tags__list {
  max-height: 2.25rem;
  overflow: hidden;
}
.au-sc-tags .au-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  background: var(--tint-2);
  color: var(--c-fg);
  text-decoration: none;
}
.au-sc-tags .au-chip:hover {
  background: var(--tint-3);
}
.au-sc-tags__more {
  margin-top: .75rem;
}
.au-sc-tags-slider {
  max-width: 100%;
}
.au-sc-tags-slider .nav-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.au-sc-grid--listed,
.au-sc-grid--rows {
  grid-template-columns: minmax(0, 1fr);
}
.au-sc-grid--compact {
  align-items: stretch;
}
.au-sc__hit {
  display: flex;
  flex-direction: column;
  color: inherit;
  text-decoration: none;
}
.au-sc__copy {
  display: flex;
  flex-direction: column;
  gap: .2rem;
  min-width: 0;
  flex: 1 1 auto;
}
.au-sc--listed .au-sc__art,
.au-sc-tile-slider .au-sc__art {
  border-radius: var(--r-xl) var(--r-xl) 0 0;
}
.au-sc--row .au-sc__art,
.au-sc--compact .au-sc__art {
  flex: 0 0 auto;
  width: 3.5rem;
  aspect-ratio: 1;
  border-radius: var(--r-md);
}
.au-sc--compact {
  flex-direction: row;
  align-items: center;
  gap: var(--s-3);
  padding: .75rem 1rem;
}
.au-sc--compact .au-sc__name,
.au-sc--row .au-sc__name {
  padding: 0;
  color: inherit;
  text-decoration: none;
}
.au-sc--listed {
  overflow: visible;
  height: 100%;
}
.au-sc--listed .au-sc__name {
  padding-bottom: .35rem;
}
.au-sc--row {
  flex-direction: row;
  align-items: flex-start;
  padding: 1rem 1.1rem 1.15rem;
  gap: var(--s-3);
  overflow: visible;
  height: 100%;
}
.au-sc__body {
  display: flex;
  flex-direction: column;
  gap: .15rem;
  min-width: 0;
}
.au-sc__n,
.au-sc__qty {
  font-weight: 400;
  color: var(--c-fg-3);
}
.au-sc__qty {
  font-size: var(--t-sm);
}
.au-sc__subs {
  list-style: none;
  margin: 0;
  padding: 0 .9rem .15rem 1.1rem;
  display: flex;
  flex-direction: column;
  gap: .2rem;
}
.au-sc--row .au-sc__subs,
.au-sc--row .au-sc__more {
  padding-left: 0;
  padding-right: 0;
  margin-left: 0;
  margin-right: 0;
}
.au-sc--row .au-sc__more {
  margin-bottom: 0;
}
.au-sc__subs a {
  color: var(--brand);
  text-decoration: none;
  font-size: var(--t-sm);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
}
.au-sc__subs a:hover {
  text-decoration: underline;
}
.au-sc__more {
  margin: .35rem 1.1rem .85rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--c-fg-3);
  font: inherit;
  font-size: var(--t-sm);
  cursor: pointer;
  text-align: left;
}
.au-sc__lead {
  margin: 0;
  padding: .25rem 0 0;
  font-size: var(--t-sm);
  color: var(--c-fg-3);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
.au-sc-tile-slider {
  max-width: none;
  width: 100%;
  overflow: visible;
}
.au-sc-tile-slider__track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: min(12rem, 42vw);
  gap: 1rem;
  flex: 1 1 auto;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  padding-block: .5rem;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.au-sc-tile-slider__track::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}
.au-sc-tile-slider__track .au-sc {
  min-width: 0;
}
@media (min-width: 992px) {
  .au-sc-tile-slider__track {
    grid-auto-columns: calc((100% - 5 * 1rem) / 6);
  }
}
@media (min-width: 768px) {
  .au-sc-grid--listed,
  .au-sc-grid--rows {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 992px) {
  .au-sc-grid--listed[data-cols="2"],
  .au-sc-grid--rows[data-cols="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .au-sc-grid--listed[data-cols="3"],
  .au-sc-grid--rows[data-cols="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .au-sc-grid--listed[data-cols="4"],
  .au-sc-grid--rows[data-cols="4"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .au-sc-grid--listed[data-cols="5"],
  .au-sc-grid--rows[data-cols="5"] { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .au-sc-grid--listed[data-cols="6"],
  .au-sc-grid--rows[data-cols="6"] { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}
#modalCompare .au-sec {
  padding: 0;
}
#modalCompare .container-xxl {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}
.au-cmp-empty {
  padding: 0;
}
.au-cmp-scroller {
  overflow-x: auto;
}
.au-cmp {
  width: 100%;
  border-collapse: collapse;
}
.au-cmp th,
.au-cmp td {
  padding: .75rem;
  border-bottom: 1px solid var(--c-line);
  vertical-align: top;
  text-align: left;
}
.au-cmp__item {
  min-width: 10rem;
  position: relative;
}
.au-cmp__art {
  display: grid;
  place-items: center;
  width: var(--s-10);
  height: var(--s-10);
  margin-bottom: .5rem;
  border-radius: var(--r-md);
  background: var(--c-card);
  overflow: hidden;
}
.au-cmp__art a {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
}
.au-cmp__art img {
  height: 100%;
  width: auto;
  max-width: 100%;
  object-fit: contain;
}
.au-cmp__name a {
  color: inherit;
  text-decoration: none;
}
.au-cmp__remove {
  position: absolute;
  top: 0;
  right: 0;
}
.au-cmp__key {
  color: var(--c-fg-2);
  white-space: nowrap;
}
.au-cab__nav {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-bottom: 1rem;
}
.au-cab__link {
  padding: .35rem .7rem;
  border-radius: var(--r-md);
  color: var(--c-fg);
  text-decoration: none;
}
.au-cab__link.is-on,
.au-cab__link:hover {
  background: var(--tint-2);
}
.au-cab__tiles {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr));
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.au-cab__tile {
  display: block;
  padding: 1rem 1.1rem;
  border: 1px solid var(--c-line);
  border-radius: var(--r-xl);
  box-shadow: var(--sh-1);
  color: inherit;
  text-decoration: none;
  background: var(--c-card);
}
.au-sr-form {
  display: flex;
  align-items: stretch;
  gap: .5rem;
  margin-bottom: 1.25rem;
}
.au-sr-form .form-control {
  flex: 1 1 auto;
  min-width: 0;
  height: 2.5rem;
  min-height: 2.5rem;
}
.au-sr-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.au-sr {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid var(--c-line);
  border-radius: var(--r-xl);
  box-shadow: var(--sh-1);
  background: var(--c-card);
}
.au-sr:not(:has(.au-sr__art)) {
  grid-template-columns: 1fr;
}
.au-sr--product .au-sr__art,
.au-sr--section .au-sr__art {
  width: 6.5rem;
}
.au-sr--news .au-sr__art {
  width: 8rem;
}
.au-sr__art img {
  width: 100%;
  height: auto;
  border-radius: var(--r-md);
}
.au-sr__title {
  margin: .25rem 0 .35rem;
  font-size: var(--t-md, 1.1rem);
}
.au-sr__title a {
  color: inherit;
  text-decoration: none;
}
.au-sr--section .au-sr__title {
  font-size: var(--t-sm);
}
.au-auth {
  display: flex;
  flex-direction: column;
  gap: .75rem;
}
.au-auth__field {
  display: flex;
  flex-direction: column;
  gap: .3rem;
}
.au-auth__check {
  display: flex;
  align-items: center;
  gap: .5rem;
}
.au-auth__links {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin: 0;
}
.au-auth__links a {
  color: var(--brand-700);
  text-decoration: underline;
  text-underline-offset: .12em;
}
.au-auth__links a:hover {
  color: var(--brand-800);
}
.au-auth__done {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .75rem;
}
.au-auth__cabinet {
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  color: var(--c-fg);
  font-weight: 600;
}
.au-auth__cabinet:hover {
  color: var(--brand-700);
}
.au-auth__err {
  color: var(--sale);
  margin: 0;
}

/* Product card Files tab — download rows, not docs.grid photo cards. */
.au-qv-files {
  display: grid;
  gap: var(--s-3);
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .au-qv-files[data-cols="2"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .au-qv-files[data-cols="3"] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.au-qv-file {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  min-width: 0;
  padding: var(--s-3);
  border: 1px solid var(--c-line);
  border-radius: var(--r-xl);
  box-shadow: var(--sh-1);
  background: var(--c-surface);
  color: inherit;
  text-decoration: none;
}
.au-qv-file:hover {
  color: inherit;
}
.au-qv-file .au-icon {
  flex: 0 0 auto;
  font-size: var(--t-h3);
  color: var(--brand-700);
}
.au-qv-file__text {
  display: flex;
  flex-direction: column;
  gap: .15rem;
  min-width: 0;
}
.au-qv-file__name {
  font-size: var(--t-body);
  line-height: var(--lh-tight);
  overflow-wrap: anywhere;
}
.au-qv-file__meta {
  font-size: var(--t-sm);
  color: var(--c-fg-2);
}
