/* IQfitness visual system: real content first, soft electro-biomorph signature second. */
@font-face { font-family: 'IQ Manrope'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/iq-premium/Manrope-400-cyrillic.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'IQ Manrope'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/iq-premium/Manrope-400-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'IQ Manrope'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/iq-premium/Manrope-500-cyrillic.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'IQ Manrope'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/iq-premium/Manrope-500-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'IQ Manrope'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/iq-premium/Manrope-600-cyrillic.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'IQ Manrope'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/iq-premium/Manrope-600-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'IQ Manrope'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/iq-premium/Manrope-700-cyrillic.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'IQ Manrope'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/iq-premium/Manrope-700-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'IQ Unbounded'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/iq-premium/Unbounded-600-cyrillic.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'IQ Unbounded'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/iq-premium/Unbounded-600-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'IQ Unbounded'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/iq-premium/Unbounded-700-cyrillic.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'IQ Unbounded'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/iq-premium/Unbounded-700-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root {
  /* Primitives: immutable visual material. */
  --iq-color-void: #08060f;
  --iq-color-violet-900: #141027;
  --iq-color-violet-800: #20183b;
  --iq-color-ink: #f2eefb;
  --iq-color-muted: #b6aec9;
  --iq-color-lime: #b9ff3c;
  --iq-color-magenta: #ff2e97;
  --iq-color-cyan: #24e0ff;
  --iq-color-danger: #ff5a67;
  --iq-space-1: 4px;
  --iq-space-2: 8px;
  --iq-space-3: 12px;
  --iq-space-4: 16px;
  --iq-space-5: 24px;
  --iq-space-6: 32px;
  --iq-radius-input: 12px;
  --iq-radius-media: 18px;
  --iq-radius-panel: 24px;

  /* Semantics: roles that stay stable if the material changes. */
  --iq-bg-canvas: var(--iq-color-void);
  --iq-bg-surface: var(--iq-color-violet-900);
  --iq-bg-surface-raised: var(--iq-color-violet-800);
  --iq-fg-primary: var(--iq-color-ink);
  --iq-fg-muted: var(--iq-color-muted);
  --iq-action-primary: var(--iq-color-lime);
  --iq-action-signal: var(--iq-color-cyan);
  --iq-action-emotion: var(--iq-color-magenta);
  --iq-status-danger: var(--iq-color-danger);
  --iq-border-subtle: color-mix(in srgb, var(--iq-border-tint) 16%, transparent);
  --iq-border-tint: rgb(206, 190, 255);

  --iq-font: 'IQ Manrope', 'Open Sans', Arial, sans-serif;
  --iq-display: 'IQ Unbounded', 'Gotham Pro', Arial, sans-serif;
}

/* Everything that derives from a themeable token has to be declared on body.
   A var() inside a custom property resolves against the element the property
   is declared on, and the theme blocks (body.iq-variant-*) redefine the
   semantic tokens on body. Declared on :root, these would resolve once against
   the base palette and stay violet no matter which theme is active.
   font-family is here for an unrelated reason: style.min.css sets
   body{font-family:"Gotham Pro"}, which outranks an html-level declaration. */
body {
  /* Components: page rules consume these, not raw values. */
  --iq-button-primary-bg: var(--iq-action-primary);
  --iq-button-primary-fg: var(--iq-bg-canvas);
  --iq-input-bg: rgba(255, 255, 255, .05);
  --iq-input-border: var(--iq-border-subtle);
  --iq-card-bg: linear-gradient(145deg, rgba(35, 25, 67, .94), rgba(15, 11, 29, .96));
  --iq-card-border: var(--iq-border-subtle);

  /* Compatibility aliases for the existing theme selectors. */
  --iq-void: var(--iq-bg-canvas);
  --iq-panel: var(--iq-bg-surface);
  --iq-ink: var(--iq-fg-primary);
  --iq-muted: var(--iq-fg-muted);
  --iq-lime: var(--iq-action-primary);
  --iq-pink: var(--iq-action-emotion);
  --iq-cyan: var(--iq-action-signal);
  --iq-line: var(--iq-border-subtle);
  --iq-panel-raised: var(--iq-bg-surface-raised);
  --iq-radius-card: var(--iq-radius-panel);
  --iq-text-muted: var(--iq-fg-muted);
  --iq-accent-orange: var(--iq-action-signal);
  --iq-void-soft: color-mix(in srgb, var(--iq-bg-canvas) 98%, white 2%);
  font-family: var(--iq-font);
}

body.home { background: var(--iq-void); }

body .header__inner, body .footer__inner { font-family: var(--iq-font); }
body .main-nav a, body .header__login-btn, body .header__register-btn, body .header__lk-btn { font-family: var(--iq-font); font-weight: 600; }
body .btn, body button, body input, body select, body textarea { font-family: var(--iq-font); }
body a:focus-visible, body button:focus-visible, body input:focus-visible, body select:focus-visible, body textarea:focus-visible { outline: 2px solid var(--iq-cyan); outline-offset: 3px; }

/* Shared shell: keep navigation quiet so the product remains the hero. */
body .header {
  background: rgba(8, 6, 15, .97);
  border-bottom-color: var(--iq-border-subtle);
}
body .header__inner { min-height: 76px; }
body .header__logo { max-width: 168px; }
body .header__logo-img:not(.header__logo-img--mobile) { filter: none; }
body .header__logo-img--mobile { width: 42px; height: 42px; }
body .footer__logo { width: 168px; height: 48px; }
body .main-nav a,
body .header__login-btn,
body .header__register-btn,
body .header__logout-btn,
body .header__lk-btn { color: var(--iq-fg-primary); }
body .main-nav .sub-menu a {
  display: inline-flex;
  min-height: 24px;
  align-items: center;
}
body .mobile-menu__catalog .sub-menu a {
  display: inline-flex;
  min-height: 24px;
  align-items: center;
}
body .footer .sub-menu a {
  display: inline-flex;
  min-height: 24px;
  align-items: center;
}
body .header__login-btn,
body .header__register-btn { min-height: 44px; border-radius: 999px; }
body .header__cart,
body .header__like { display: grid; min-width: 44px; min-height: 44px; place-items: center; }
body .header__cart svg { fill: var(--iq-fg-primary); }
body .header__like svg { fill: var(--iq-action-emotion); }
body .header__count { background: var(--iq-action-primary); color: var(--iq-bg-canvas); }
body .help-block { background: var(--iq-bg-surface); }
body .help-block a { color: var(--iq-fg-primary); }
body .help-block .mobile-menu__catalog .sub-menu {
  border: 1px solid var(--iq-border-subtle);
  background: linear-gradient(145deg, var(--iq-panel-raised), var(--iq-panel));
  box-shadow: inset 0 1px rgba(255, 255, 255, .05);
}
body .help-block .mobile-menu__catalog .sub-menu li { border-bottom-color: var(--iq-border-subtle); }
body .help-block .mobile-menu__catalog .sub-menu a { color: var(--iq-fg-primary); }
body .help-block .mobile-menu__catalog .sub-menu a:hover,
body .help-block .mobile-menu__catalog .sub-menu a:focus-visible { color: var(--iq-action-signal); }
body .help-block .mobile-menu__catalog .current-menu-item > a { color: var(--iq-action-signal); }
body .help-block .mobile-menu__back-btn { color: var(--iq-fg-primary); }
body .main-catalog__sidebar-wrapper .sidebar__menu .sub-menu {
  border: 1px solid var(--iq-border-subtle);
  background: linear-gradient(145deg, var(--iq-panel-raised), var(--iq-panel));
  box-shadow: inset 0 1px rgba(255, 255, 255, .05);
}
body .main-catalog__sidebar-wrapper .sidebar__menu .sub-menu li { border-bottom-color: var(--iq-border-subtle); }
body .main-catalog__sidebar-wrapper .sidebar__menu .sub-menu a { color: var(--iq-fg-primary); }
body .main-catalog__sidebar-wrapper .sidebar__menu .sub-menu a:hover,
body .main-catalog__sidebar-wrapper .sidebar__menu .sub-menu a:focus-visible { color: var(--iq-action-signal); }
body .main-catalog__sidebar-wrapper .sidebar__menu .current-menu-item {
  background: rgba(70, 215, 255, .09) !important;
}
body .main-catalog__sidebar-wrapper .sidebar__menu .current-menu-item > a {
  background: rgba(70, 215, 255, .09) !important;
  color: var(--iq-action-signal) !important;
}
body .footer {
  margin-top: 80px;
  background: linear-gradient(160deg, var(--iq-panel), var(--iq-void) 78%);
  color: var(--iq-fg-primary);
}
body .footer__mask,
body .footer__background { display: none; }
body .footer a { color: var(--iq-fg-primary); }
body .footer a:hover,
body .footer a:focus-visible { color: var(--iq-action-primary); }
body .footer__bottom { border-top-color: var(--iq-border-subtle); color: var(--iq-fg-muted); }
body .social-icons__link { display: grid; min-width: 44px; min-height: 44px; place-items: center; }
body .open-promo-popup-btn {
  top: auto;
  right: 18px;
  bottom: 18px;
  width: 48px;
  height: 48px;
  border: 1px solid var(--iq-border-subtle);
  border-radius: 50%;
  background: color-mix(in srgb, var(--iq-panel) 96%, transparent);
  box-shadow: 0 12px 28px rgba(0, 0, 0, .34), inset 0 1px rgba(255, 255, 255, .06);
  color: var(--iq-fg-primary);
  transition: transform .22s ease, border-color .22s ease, background .22s ease;
}
body .open-promo-popup-btn__title-text { display: none; }
body .open-promo-popup-btn__percent-sign { color: var(--iq-pink); font-family: var(--iq-display); font-size: 18px; }
body .open-promo-popup-btn:hover,
body .open-promo-popup-btn:focus-visible {
  border-color: rgba(255, 46, 151, .72);
  background: var(--iq-bg-surface-raised);
  transform: translateY(-2px);
}
body .header-link {
  top: auto;
  bottom: 18px;
  left: 18px;
  z-index: 12;
  height: auto;
  padding: 12px 16px;
  border: 1px solid rgba(36, 224, 255, .48);
  border-radius: 999px;
  background: color-mix(in srgb, var(--iq-panel) 96%, transparent) !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, .34), inset 0 1px rgba(255, 255, 255, .06);
  filter: none;
  transform: none;
  animation: none;
}
body .header-link > span {
  color: var(--iq-fg-primary) !important;
  font: 700 10px/1 var(--iq-font);
  letter-spacing: .06em;
}
body .header-link:hover,
body .header-link:focus-visible { border-color: var(--iq-cyan); background: var(--iq-bg-surface-raised) !important; }

/* «Горячая линия» (fixed, bottom:18px/left:18px, z-index:12 — см. выше)
   на главной попадает ровно на кнопку «Послушать» в хиро: клик по кнопке
   на деле открывал t.me/iqfitnessru, плеер не запускался. Поднимаем кнопку
   выше этой плашки. */
body .main-banner__preview {
  position: relative;
  z-index: 13;
}

/* Keep the mega-menu inside the viewport even when its hidden flex content is wide. */
body .main-nav__column-submenu {
  box-sizing: border-box;
  position: fixed !important;
  top: 103px !important;
  width: min(1250px, calc(100vw - 32px)) !important;
  max-width: calc(100vw - 32px);
  left: auto !important;
  right: 16px !important;
  overflow-x: clip;
}

/* Navigation contrast: the legacy mega-menu supplied a white surface while
   Orbit supplies a dark canvas, making unselected columns nearly disappear. */
body .main-nav__column-submenu {
  border: 1px solid color-mix(in srgb, var(--iq-border-tint) 22%, transparent) !important;
  border-radius: 18px !important;
  background: linear-gradient(145deg, var(--iq-panel-raised), var(--iq-void-soft) 82%) !important;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .42), inset 0 1px rgba(255, 255, 255, .06) !important;
  color: var(--iq-fg-primary) !important;
}
body .main-nav__column-submenu > li {
  min-width: 0;
  border-right: 1px solid color-mix(in srgb, var(--iq-border-tint) 12%, transparent);
  background: color-mix(in srgb, var(--iq-panel) 72%, transparent) !important;
}
body .main-nav__column-submenu > li:last-child { border-right: 0; }
body .main-nav__column-submenu > li.menu-music { background: linear-gradient(180deg, rgba(92, 42, 132, .58), color-mix(in srgb, var(--iq-panel) 78%, transparent)) !important; }
body .main-nav__column-submenu > li.menu-video { background: linear-gradient(180deg, rgba(112, 31, 92, .48), color-mix(in srgb, var(--iq-panel) 78%, transparent)) !important; }
body .main-nav__column-submenu > li.menu-clothes { background: linear-gradient(180deg, rgba(83, 43, 92, .48), color-mix(in srgb, var(--iq-panel) 78%, transparent)) !important; }
body .main-nav__column-submenu > li > a,
body .main-nav__column-submenu li > ul > li a {
  color: var(--iq-fg-primary) !important;
  font-weight: 600;
}
body .main-nav__column-submenu li > ul > li a {
  min-height: 36px;
  border: 1px solid transparent;
  border-radius: 10px;
}
body .main-nav__column-submenu li > ul > li a::before { background: var(--iq-action-signal) !important; }
body .main-nav__column-submenu > li:hover > a,
body .main-nav__column-submenu li > ul > li a:hover,
body .main-nav__column-submenu li > ul > li a:focus-visible {
  color: var(--iq-bg-canvas) !important;
  background: var(--iq-action-primary) !important;
  border-color: var(--iq-action-primary);
}
body .main-nav__column-submenu .current-menu-item > a {
  color: var(--iq-action-signal) !important;
}

@media (max-width: 991px) {
  body .header { background: linear-gradient(135deg, var(--iq-panel), var(--iq-void) 72%); }
  body .header__inner { min-height: 68px; padding-inline: 14px; }
  body .header--iq-brand .header__logo-img--mobile { width: 112px; height: auto; }
  body .header__hamburger { min-width: 44px; min-height: 44px; }
  body .header__hamburger span,
  body .header__hamburger span::before,
  body .header__hamburger span::after { background: var(--iq-fg-primary); }
  body .help-block { border-bottom: 1px solid var(--iq-border-subtle); }
  body .footer { margin-top: 48px; background: var(--iq-void); }
  body .footer__inner { padding-inline: 18px; }
  body .main-catalog__sidebar-wrapper .sidebar__menu .sub-menu a {
    display: flex;
    min-height: 44px;
    align-items: center;
  }
}

body.home .header {
  background: linear-gradient(110deg, #100b22, #210b30 65%, #36072e);
  border-bottom-color: rgba(242, 238, 251, .12);
}

/* The approved Orbit lockup is intentionally tested as text + sign at every
   breakpoint; a separate unrecognisable mobile glyph would undo the rebrand. */
body.home .header--iq-brand .header__logo-img:not(.header__logo-img--mobile) {
  display: block;
  width: 154px;
  height: auto;
}
body.home .header--iq-brand .header__logo-img--mobile { display: none; }
body.home .main-nav a,
body.home .header__login-btn,
body.home .header__register-btn,
body.home .header__lk-btn { color: var(--iq-ink); }
body.home .header__cart svg { fill: var(--iq-ink); }

body.home .main-banner--iq {
  position: relative;
  max-width: 1440px;
  height: min(670px, calc(100vh - 132px));
  min-height: 560px;
  margin: 0 auto 72px;
  overflow: hidden;
  border-radius: 0 0 40px 40px;
  background:
    radial-gradient(circle at 73% 48%, rgba(71, 40, 135, .34), transparent 32%),
    linear-gradient(125deg, #090711 0%, #110b20 48%, #0e0920 100%);
  --iq-tempo-accent: #a78bfa;
  --iq-tempo-signal: #37e7c7;
  --iq-tempo-speed: 5.8s;
}

body.home .main-banner--iq::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(8, 6, 15, .98) 0%, rgba(8, 6, 15, .86) 41%, rgba(8, 6, 15, .23) 75%, rgba(8, 6, 15, .58) 100%);
}

body.home .main-banner--iq[data-iq-tempo='cardio'] { --iq-tempo-accent: #ff3ca6; --iq-tempo-signal: #b9ff3c; --iq-tempo-speed: 2.4s; }
body.home .main-banner--iq[data-iq-tempo='strength'] { --iq-tempo-accent: #24e0ff; --iq-tempo-signal: #b9ff3c; --iq-tempo-speed: 3.4s; }

body.home .main-banner--iq .main-banner__inner {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1200px;
  min-height: 100%;
  padding: 50px 15px;
}

body.home .main-banner--iq .main-banner__content {
  position: relative;
  z-index: 3;
  width: min(100%, 490px);
}

body.home .main-banner__eyebrow {
  display: block;
  margin-bottom: 24px;
  color: var(--iq-cyan);
  font: 600 12px/1.2 var(--iq-font);
  letter-spacing: .16em;
}

body.home .main-banner--iq .main-banner__title {
  max-width: 520px;
  margin: 0;
  color: var(--iq-ink);
  font: 700 clamp(42px, 5.1vw, 72px)/1.02 var(--iq-display);
  letter-spacing: -.06em;
  text-transform: none;
}

body.home .main-banner--iq .main-banner__title b {
  display: block;
  margin-top: 8px;
  color: var(--iq-lime);
  font-size: .66em;
  line-height: 1.1;
}

body.home .main-banner__description {
  max-width: 410px;
  min-height: 50px;
  margin: 22px 0 0;
  color: var(--iq-muted);
  font: 400 16px/1.55 var(--iq-font);
  transition: opacity .2s ease, transform .2s ease;
}

body.home .main-banner__tempo-switch { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }
body.home .main-banner__tempo-button {
  /* WCAG 2.5.8: keep the primary tempo choices comfortably tappable. */
  min-height: 44px;
  padding: 0 13px;
  border: 1px solid rgba(242, 238, 251, .22);
  border-radius: 999px;
  background: rgba(255, 255, 255, .025);
  color: var(--iq-muted);
  font: 700 11px/1 var(--iq-font);
  cursor: pointer;
  transition: color .18s ease, background-color .18s ease, border-color .18s ease, transform .18s ease;
}
body.home .main-banner__tempo-button:hover,
body.home .main-banner__tempo-button:focus-visible { border-color: var(--iq-tempo-signal); color: var(--iq-ink); transform: translateY(-1px); }
body.home .main-banner__tempo-button.is-active { border-color: var(--iq-tempo-accent); background: color-mix(in srgb, var(--iq-tempo-accent) 16%, transparent); color: var(--iq-ink); }

body.home .main-banner__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 34px;
}

body.home .main-banner__cta,
body.home .main-banner__secondary {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 0 22px;
  border-radius: 999px;
  font: 700 13px/1 var(--iq-font);
  text-decoration: none;
  transition: transform .2s ease, background-color .2s ease, border-color .2s ease;
}

body.home .main-banner__cta {
  background: var(--iq-lime);
  color: var(--iq-void);
}

body.home .main-banner__secondary {
  border: 1px solid rgba(242, 238, 251, .36);
  color: var(--iq-ink);
}

body.home .main-banner__cta:hover,
body.home .main-banner__secondary:hover { transform: translateY(-2px); }

body.home .main-banner__delivery-note {
  margin: 10px 0 0;
  color: var(--iq-fg-muted);
  font: 500 11px/1.4 var(--iq-font);
  letter-spacing: .02em;
}

body.home .main-banner__tempo-desk {
  position: absolute;
  z-index: 1;
  top: 50%; right: 2%;
  width: min(52%, 650px);
  transform: translateY(-50%);
  border: 1px solid rgba(228, 219, 255, .14);
  border-radius: 30px;
  background: linear-gradient(145deg, rgba(48, 31, 85, .36), rgba(6, 5, 12, .08));
  box-shadow: inset 0 1px rgba(255, 255, 255, .06), 0 38px 100px rgba(0, 0, 0, .26);
  backdrop-filter: blur(7px);
}
body.home .main-banner__tempo-head { display: flex; align-items: center; justify-content: space-between; padding: 20px 24px 0; color: var(--iq-muted); font: 700 10px/1 var(--iq-font); letter-spacing: .13em; }
body.home .main-banner__tempo-head b { color: var(--iq-tempo-signal); font: 700 12px/1 var(--iq-display); letter-spacing: -.04em; }
body.home .main-banner__tempo-orbit { position: relative; aspect-ratio: 1.28 / 1; }
body.home .main-banner__tempo-orbit svg { display: block; width: 100%; height: 100%; overflow: visible; }
body.home .main-banner__tempo-track { stroke: rgba(230, 222, 255, .2); stroke-width: 1.5; stroke-dasharray: 3 10; }
body.home .main-banner__tempo-wave { stroke: var(--iq-tempo-accent); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 680; stroke-dashoffset: 680; animation: iq-tempo-draw var(--iq-tempo-speed) ease-in-out infinite; }
body.home .main-banner__tempo-core { fill: color-mix(in srgb, var(--iq-tempo-accent) 13%, transparent); stroke: var(--iq-tempo-signal); stroke-width: 1.5; }
body.home .main-banner__tempo-dot { fill: var(--iq-tempo-signal); transform-box: fill-box; transform-origin: center; animation: iq-tempo-pulse var(--iq-tempo-speed) ease-in-out infinite; }
body.home .main-banner__tempo-dot--two { animation-delay: -1.1s; fill: var(--iq-tempo-accent); }
body.home .main-banner__tempo-dot--three { animation-delay: -2.2s; }
body.home .main-banner__tempo-readout { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; }
body.home .main-banner__tempo-readout span { color: var(--iq-muted); font: 700 10px/1.2 var(--iq-font); letter-spacing: .13em; }
body.home .main-banner__tempo-readout strong { margin-top: 8px; color: var(--iq-ink); font: 700 clamp(52px, 8vw, 88px)/.86 var(--iq-display); letter-spacing: -.12em; }
body.home .main-banner__tempo-readout small { margin-top: 9px; color: var(--iq-tempo-signal); font: 700 9px/1 var(--iq-font); letter-spacing: .15em; }
body.home .main-banner__tempo-scale { display: flex; align-items: center; gap: 12px; padding: 0 24px 20px; color: var(--iq-muted); font: 700 9px/1 var(--iq-font); letter-spacing: .12em; }
body.home .main-banner__tempo-scale i { position: relative; flex: 1; height: 1px; background: rgba(230, 222, 255, .2); }
body.home .main-banner__tempo-scale i::after { content: ''; position: absolute; top: -2px; left: 15%; width: 5px; height: 5px; border-radius: 50%; background: var(--iq-tempo-signal); box-shadow: 0 0 14px var(--iq-tempo-signal); animation: iq-tempo-marker var(--iq-tempo-speed) ease-in-out infinite; }
@keyframes iq-tempo-draw { 0%, 18% { stroke-dashoffset: 680; opacity: .1; } 45%, 83% { stroke-dashoffset: 0; opacity: 1; } 100% { stroke-dashoffset: -680; opacity: .1; } }
@keyframes iq-tempo-pulse { 0%, 100% { transform: scale(.7); opacity: .45; } 50% { transform: scale(1.38); opacity: 1; } }
@keyframes iq-tempo-marker { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(420%); } }

body.home .main-catalog {
  padding-top: 18px;
  padding-bottom: 80px;
  background: var(--iq-bg-canvas);
  border-top: 1px solid var(--iq-border-subtle);
}
body.home .main-catalog__inner { max-width: 1200px; padding-bottom: 0; }
body.home .main-catalog__title { color: var(--iq-ink); font-family: var(--iq-display); font-weight: 600; text-transform: none; letter-spacing: -.04em; }
body.home .main-catalog__list { gap: 18px; }
body .catalog-item {
  width: auto;
  min-width: 0;
  margin: 0;
  padding: 12px 12px 18px;
  border: 1px solid var(--iq-line);
  border-radius: 24px;
  background: var(--iq-card-bg);
  box-shadow: 0 18px 40px rgba(0, 0, 0, .24);
  transition: transform .22s cubic-bezier(.2, .8, .2, 1), border-color .22s cubic-bezier(.2, .8, .2, 1), box-shadow .22s cubic-bezier(.2, .8, .2, 1);
}
/* Гейтим, как соседний зум картинки (:1754): на тач-устройстве :hover
   залипает после тапа, и карточка виснет наклонённой до тапа в другое место. */
@media (hover: hover) and (pointer: fine) {
  body .catalog-item:hover { transform: perspective(900px) translateY(-3px) rotateX(var(--iq-card-y, 0deg)) rotateY(var(--iq-card-x, 0deg)); border-color: color-mix(in srgb, var(--iq-action-primary) 46%, transparent); box-shadow: 0 24px 52px rgba(0, 0, 0, .34); }
}
body .catalog-item__image { border: 0; border-radius: 18px; box-shadow: none; }
body .catalog-item__image--fallback {
  display: grid;
  place-items: center;
  gap: 10px;
  padding: 22px;
  background-color: rgba(8, 6, 15, .78) !important;
  background-image: linear-gradient(145deg, rgba(36, 224, 255, .12), color-mix(in srgb, var(--iq-lime) 8%, transparent)), url('/wp-content/themes/flagstudio/assets/img/iq-pulse.svg') !important;
  background-size: auto, 42% auto !important;
  background-repeat: no-repeat !important;
  background-position: center, center 38% !important;
}
body .catalog-item__image-fallback {
  align-self: end;
  max-width: 90%;
  padding: 5px 9px;
  border: 1px solid color-mix(in srgb, var(--iq-lime) 28%, transparent);
  border-radius: 999px;
  background: rgba(8, 6, 15, .76);
  color: var(--iq-fg-muted);
  font: 600 10px/1.2 var(--iq-font);
  letter-spacing: .02em;
  text-align: center;
}
body .catalog-item__name { color: var(--iq-ink); font-family: var(--iq-font); font-weight: 700; }
/* style.min.css stretches ::after over the whole card (make-card-clickable).
   That overlay paints above the image's play/cart/like buttons and swallows
   their clicks — the preview button looked wired but never actually fired
   under a real pointer click. The visible name text is still a real <a> and
   stays clickable; only the full-card hit area is disabled here. */
body .catalog-item__name::after { pointer-events: none; }
body .catalog-item__description { color: var(--iq-muted); font-family: var(--iq-font); }
body .catalog-item__meta {
  display: block;
  margin: 10px 0 4px;
  color: var(--iq-fg-muted) !important;
  font: 600 10px/1.35 var(--iq-font);
  letter-spacing: .02em;
}
body .catalog-item__real-price { color: var(--iq-lime); font-family: var(--iq-display); font-weight: 600; }
body .catalog-item__old-price { color: rgba(182, 174, 201, .76); }
body .catalog-item__label { font-family: var(--iq-font); font-weight: 700; letter-spacing: .08em; }
body .catalog-item__label--top { color: var(--iq-void); }
body .catalog-item__cart, body .catalog-item__like { min-width: 44px; min-height: 44px; }

/* IQ Library prototype: make discovery and preview feel like a music product. */
body.tax-product_cat .iq-discovery {
  grid-column: 1 / -1;
  padding: 20px 22px;
  border: 1px solid rgba(36, 224, 255, .2);
  border-radius: 20px;
  background: linear-gradient(110deg, rgba(36, 224, 255, .08), color-mix(in srgb, var(--iq-lime) 4%, transparent) 58%, rgba(255, 46, 151, .08));
}
body .iq-discovery__head { display: flex; align-items: end; justify-content: space-between; gap: 16px; }
body .iq-discovery__eyebrow { color: var(--iq-cyan); font: 700 10px/1 var(--iq-font); letter-spacing: .14em; }
body .iq-discovery h2 { margin: 8px 0 0; color: var(--iq-ink); font: 600 clamp(20px, 3vw, 30px)/1.1 var(--iq-display); letter-spacing: -.05em; }
body .iq-discovery__count { color: var(--iq-muted); font: 600 12px/1 var(--iq-font); white-space: nowrap; }
body .iq-discovery__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
body .iq-filter-chip { min-height: 40px; padding: 8px 14px; border: 1px solid rgba(230, 222, 255, .2); border-radius: 999px; background: rgba(8, 6, 15, .34); color: var(--iq-muted); font: 600 12px/1 var(--iq-font); cursor: pointer; transition: border-color .2s ease, color .2s ease, background .2s ease, transform .2s ease; }
body .iq-filter-chip:hover, body .iq-filter-chip:focus-visible { border-color: var(--iq-cyan); color: var(--iq-ink); transform: translateY(-1px); }
body .iq-filter-chip.is-active { border-color: var(--iq-lime); background: color-mix(in srgb, var(--iq-lime) 12%, transparent); color: var(--iq-lime); }
body .catalog-item[hidden] { display: none; }
body .catalog-item { transform: perspective(900px) rotateX(var(--iq-card-y, 0deg)) rotateY(var(--iq-card-x, 0deg)); transform-style: preserve-3d; }
@supports not (backdrop-filter: blur(1px)) {
  body .iq-sticky-player { background: color-mix(in srgb, var(--iq-panel) 99%, transparent); }
}
body .catalog-item__play.iq-card-play { cursor: pointer; }
body .catalog-item__play.iq-card-play.is-playing { background: var(--iq-lime); color: var(--iq-void); box-shadow: 0 0 0 5px color-mix(in srgb, var(--iq-lime) 13%, transparent), 0 0 24px color-mix(in srgb, var(--iq-lime) 40%, transparent); }
body .iq-sticky-player { position: fixed; z-index: 40; right: 22px; bottom: 22px; display: flex; align-items: center; gap: 14px; width: min(440px, calc(100vw - 32px)); min-height: 74px; padding: 12px 14px; border: 1px solid rgba(36, 224, 255, .34); border-radius: 18px; background: color-mix(in srgb, var(--iq-panel) 94%, transparent); box-shadow: 0 22px 60px rgba(0, 0, 0, .42), inset 0 1px rgba(255, 255, 255, .08); backdrop-filter: blur(18px); }
body .iq-sticky-player[hidden] { display: none; }
body .iq-sticky-player__pulse { display: flex; align-items: center; gap: 3px; width: 48px; height: 32px; padding: 0 5px; border-radius: 10px; background: rgba(36, 224, 255, .08); }
body .iq-sticky-player__pulse i { display: block; width: 3px; height: 10px; border-radius: 3px; background: var(--iq-cyan); }
body .iq-sticky-player.is-playing .iq-sticky-player__pulse i { animation: iq-pulse-bar .8s ease-in-out infinite alternate; }
body .iq-sticky-player.is-playing .iq-sticky-player__pulse i:nth-child(2n) { animation-delay: -.35s; }
body .iq-sticky-player.is-playing .iq-sticky-player__pulse i:nth-child(3n) { animation-delay: -.6s; }
body .iq-sticky-player__track { display: flex; flex: 1; min-width: 0; flex-direction: column; gap: 6px; }
body .iq-sticky-player__eyebrow { color: var(--iq-cyan); font: 700 9px/1 var(--iq-font); letter-spacing: .13em; }
body .iq-sticky-player__track strong { overflow: hidden; color: var(--iq-ink); font: 600 12px/1.25 var(--iq-font); text-overflow: ellipsis; white-space: nowrap; }
/* Ссылка на карточку товара. Пока href не проставлен (товар ещё не
   выбран/неизвестен) — это не кликабельная пустышка: браузер без href не
   делает элемент фокусируемым, курсор остаётся обычным.

   overflow/white-space/text-overflow должны стоять на ОДНОМ элементе, чтобы
   сработал многоточие: раньше clip-свойства были на <strong> внутри, а
   ширину ограничивал только родитель без overflow:hidden — inline-текст
   просто рисовался поверх кнопок плеера, ничем не обрезаясь. min-width:0
   обязателен: без него flex-ребёнок не сжимается меньше содержимого — это и
   даёт наложение текста на кнопки, а не marquee justify-self здесь ни при
   чём (в этой теме он не работает). */
body .iq-sticky-player__link {
  display: block;
  overflow: hidden;
  min-width: 0;
  color: inherit;
  text-decoration: none;
  white-space: nowrap;
  text-overflow: ellipsis;
}
body .iq-sticky-player__link[href] { cursor: pointer; }
body .iq-sticky-player__link[href]:hover, body .iq-sticky-player__link[href]:focus-visible { text-decoration: underline; }
body .iq-sticky-player__toggle,
body .iq-sticky-player__close,
body .iq-sticky-player__nav { display: grid; place-items: center; flex: 0 0 auto; border: 0; cursor: pointer; }
body .iq-sticky-player__toggle { width: 42px; height: 42px; border-radius: 50%; background: var(--iq-lime); color: var(--iq-void); font-size: 14px; }
body .iq-sticky-player__close { width: 26px; height: 26px; background: transparent; color: var(--iq-muted); font-size: 22px; }
@keyframes iq-pulse-bar { from { height: 7px; opacity: .5; } to { height: 25px; opacity: 1; } }
@media (max-width: 991px) { body .iq-sticky-player { right: 14px; bottom: 14px; } }
@media (max-width: 560px) {
  body.tax-product_cat .iq-discovery { padding: 16px; border-radius: 16px; }
  body .iq-discovery__head { align-items: start; flex-direction: column; gap: 8px; }
  body .iq-discovery__chips { gap: 6px; margin-top: 14px; }
  body .iq-filter-chip { min-height: 36px; padding-inline: 11px; font-size: 11px; }
  body .iq-sticky-player { gap: 9px; min-height: 66px; padding: 10px; }
  body .iq-sticky-player__pulse { display: none; }
}
@media (prefers-reduced-motion: reduce) { body .catalog-item, body .iq-filter-chip { transition: none; } body .iq-sticky-player.is-playing .iq-sticky-player__pulse i { animation: none; } }

/* Catalog is a navigation surface: filters and category choices stay legible
   before the visitor starts scanning products. */
body.post-type-archive-product main,
body.tax-product_cat main {
  background:
    radial-gradient(circle at 86% 0, rgba(58, 29, 108, .16), transparent 28%),
    var(--iq-bg-canvas);
}
body.post-type-archive-product .breadcrumbs,
body.tax-product_cat .breadcrumbs { background: transparent; }
body.post-type-archive-product .breadcrumbs *,
body.tax-product_cat .breadcrumbs * { color: var(--iq-fg-muted); }
body.post-type-archive-product .main-catalog,
body.tax-product_cat .main-catalog { background: transparent; }
body.post-type-archive-product .main-catalog__title,
body.tax-product_cat .main-catalog__title {
  color: var(--iq-fg-primary);
  font-family: var(--iq-display);
  font-weight: 600;
  letter-spacing: -.045em;
  text-transform: none;
}
body.post-type-archive-product .main-catalog__list,
body.tax-product_cat .main-catalog__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  align-items: stretch;
}
body.post-type-archive-product .main-catalog__list > .main-catalog__title,
body.tax-product_cat .main-catalog__list > .main-catalog__title,
body.post-type-archive-product .main-catalog__list > .pagin,
body.tax-product_cat .main-catalog__list > .pagin,
body.post-type-archive-product .main-catalog__list > .iq-hero-pin,
body.tax-product_cat .main-catalog__list > .iq-hero-pin,
body.post-type-archive-product .main-catalog__list > .iq-hotiron-parallax,
body.tax-product_cat .main-catalog__list > .iq-hotiron-parallax {
  grid-column: 1 / -1;
}
body.post-type-archive-product .catalog-item,
body.tax-product_cat .catalog-item {
  width: auto;
  margin: 0;
}
body.post-type-archive-product .main-catalog__quick-categories,
body.tax-product_cat .main-catalog__quick-categories { margin-bottom: 20px; }
body.post-type-archive-product .main-catalog__quick-category,
body.tax-product_cat .main-catalog__quick-category {
  border-color: var(--iq-card-border);
  border-radius: var(--iq-radius-input);
  background: color-mix(in srgb, var(--iq-panel) 82%, transparent);
  color: var(--iq-fg-primary);
  font-family: var(--iq-font);
  letter-spacing: .01em;
}
body.post-type-archive-product .main-catalog__quick-category-arrow,
body.tax-product_cat .main-catalog__quick-category-arrow { color: var(--iq-action-primary); }
body.post-type-archive-product .main-catalog__quick-category:hover,
body.post-type-archive-product .main-catalog__quick-category:focus-visible,
body.tax-product_cat .main-catalog__quick-category:hover,
body.tax-product_cat .main-catalog__quick-category:focus-visible {
  border-color: var(--iq-action-primary);
  color: var(--iq-fg-primary);
}
body.post-type-archive-product .main-catalog__filters-toggle,
body.tax-product_cat .main-catalog__filters-toggle {
  border-color: var(--iq-card-border);
  border-radius: var(--iq-radius-input);
  background: var(--iq-bg-surface);
  color: var(--iq-fg-primary);
  font-family: var(--iq-font);
  letter-spacing: .04em;
}
body.post-type-archive-product .main-catalog__filters-toggle[aria-expanded='true'],
body.tax-product_cat .main-catalog__filters-toggle[aria-expanded='true'] {
  border-color: var(--iq-action-signal);
  color: var(--iq-action-signal);
}
body.post-type-archive-product .main-catalog__sidebar-wrapper,
body.tax-product_cat .main-catalog__sidebar-wrapper {
  border-color: var(--iq-card-border);
  background: color-mix(in srgb, var(--iq-panel) 70%, transparent);
}
body.post-type-archive-product .sidebar,
body.tax-product_cat .sidebar { color: var(--iq-fg-primary); }
body.post-type-archive-product .sidebar a,
body.tax-product_cat .sidebar a { color: var(--iq-fg-muted); }
body.post-type-archive-product .sidebar a:hover,
body.post-type-archive-product .sidebar a:focus-visible,
body.tax-product_cat .sidebar a:hover,
body.tax-product_cat .sidebar a:focus-visible { color: var(--iq-action-primary); }
body.post-type-archive-product .simple-text,
body.tax-product_cat .simple-text { background: var(--iq-bg-canvas); color: var(--iq-fg-primary); }
body.post-type-archive-product .simple-text__inner,
body.tax-product_cat .simple-text__inner { color: var(--iq-fg-muted); }
body.post-type-archive-product .simple-text__title,
body.tax-product_cat .simple-text__title { color: var(--iq-fg-primary); font-family: var(--iq-display); font-weight: 600; text-transform: none; }
body.post-type-archive-product .simple-text a,
body.tax-product_cat .simple-text a { color: var(--iq-action-signal); }
body.post-type-archive-product .main-slider,
body.tax-product_cat .main-slider {
  overflow: hidden;
  margin-top: 32px;
  border-block: 1px solid var(--iq-border-subtle);
  background: var(--iq-bg-surface);
}
body.post-type-archive-product .main-slider__slide,
body.tax-product_cat .main-slider__slide {
  position: relative;
  background-color: rgba(8, 6, 15, .68);
  background-blend-mode: multiply;
  filter: saturate(.72) contrast(1.08);
}
body.post-type-archive-product .main-slider__slide::after,
body.tax-product_cat .main-slider__slide::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(8, 6, 15, .42), transparent 44%, rgba(8, 6, 15, .52));
}
body.post-type-archive-product .main-slider .swiper-button-prev,
body.post-type-archive-product .main-slider .swiper-button-next,
body.tax-product_cat .main-slider .swiper-button-prev,
body.tax-product_cat .main-slider .swiper-button-next {
  width: 44px;
  height: 44px;
  margin-top: -22px;
  border: 1px solid var(--iq-border-subtle);
  border-radius: 50%;
  background: rgba(8, 6, 15, .72);
}
body.post-type-archive-product .main-slider .swiper-button-prev svg,
body.post-type-archive-product .main-slider .swiper-button-next svg,
body.tax-product_cat .main-slider .swiper-button-prev svg,
body.tax-product_cat .main-slider .swiper-button-next svg { fill: var(--iq-fg-primary); }

@media (max-width: 991px) {
  body.post-type-archive-product .main-catalog__inner,
  body.tax-product_cat .main-catalog__inner { padding-inline: 14px; }
  body.post-type-archive-product .main-catalog__quick-categories,
  body.tax-product_cat .main-catalog__quick-categories { margin-inline: 0; gap: 10px; }
  body.post-type-archive-product .main-catalog__quick-category,
  body.tax-product_cat .main-catalog__quick-category { min-height: 56px; padding: 12px 14px; }
  body.post-type-archive-product .main-catalog__filters-toggle,
  body.tax-product_cat .main-catalog__filters-toggle { width: 100%; min-height: 52px; margin-inline: 0; }
  body.post-type-archive-product .main-catalog__sidebar-wrapper,
  body.tax-product_cat .main-catalog__sidebar-wrapper {
    margin-top: 10px;
    padding: 14px;
    border: 1px solid var(--iq-card-border);
    border-radius: var(--iq-radius-media);
  }
  body.post-type-archive-product .main-catalog__list,
  body.tax-product_cat .main-catalog__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
}

/* Product detail: the purchase decision stays compact and unmistakable. */
body.single-product main {
  min-height: 64vh;
  background:
    radial-gradient(circle at 76% 12%, rgba(65, 35, 116, .2), transparent 30%),
    linear-gradient(160deg, var(--iq-void-soft) 0%, var(--iq-void) 64%);
}
body.single-product .header { background: var(--iq-void-soft); border-bottom-color: var(--iq-line); }
body.single-product .header__logo-img:not(.header__logo-img--mobile) { filter: none; }
body.single-product .main-nav a,
body.single-product .header__login-btn,
body.single-product .header__register-btn,
body.single-product .header__lk-btn { color: var(--iq-ink); }
body.single-product .header__cart svg { fill: var(--iq-ink); }
body.single-product .breadcrumbs { background: transparent; }
body.single-product .breadcrumbs * { color: var(--iq-fg-muted) !important; }
body.single-product .product { background: transparent; }
body.single-product .product__inner { max-width: 1200px; }
body.single-product .product__info-wrap {
  padding: 28px;
  border: 1px solid var(--iq-line);
  border-radius: var(--iq-radius-card);
  background: var(--iq-card-bg);
  box-shadow: 0 24px 54px rgba(0, 0, 0, .24), inset 0 1px rgba(255, 255, 255, .05);
}
body.single-product .product__img { overflow: hidden; border-radius: 18px; }
body.single-product .product__img img { display: block; width: 100%; }
body.single-product .product__purchase-count { color: var(--iq-cyan); font-family: var(--iq-font); font-weight: 600; }
body.single-product .product__title { color: var(--iq-ink); font-family: var(--iq-display); font-weight: 600; letter-spacing: -.045em; text-transform: none; }
body.single-product .product__price { color: var(--iq-lime); font-family: var(--iq-display); font-weight: 600; }
body.single-product .product__price--old { color: var(--iq-muted); }
body.single-product .product__purchase-conditions { color: var(--iq-muted); font-family: var(--iq-font); }
body.single-product .product__purchase-conditions li::before { color: var(--iq-lime); }
body.single-product .product__description-content,
body.single-product .product__description-content p,
body.single-product .product__description-content li,
body.single-product .product__description-content strong,
body.single-product .product__description-content a {
  color: var(--iq-fg-muted) !important;
  font-family: var(--iq-font);
}
body.single-product .product__description-content a { color: var(--iq-cyan) !important; }
body.single-product .product__description-content strong { color: var(--iq-fg-primary) !important; }
body.single-product .product__form .quantity .qty {
  min-height: 44px;
  border-color: var(--iq-line);
  border-radius: 10px;
  background: rgba(255, 255, 255, .05);
  color: var(--iq-ink);
}
body.single-product .product__add-to-cart {
  min-height: 48px;
  border: 0;
  border-radius: 999px;
  background: var(--iq-lime);
  color: var(--iq-void);
}
body.single-product .product__actions > .btn:not(.product__add-to-cart),
body.single-product .product__form .simplefavorite-button,
body.single-product .product__form .btn--light-violet {
  min-height: 44px;
  border-radius: 999px;
  border-color: var(--iq-line);
  background: transparent;
  color: var(--iq-ink);
}
body.single-product .product__actions .simplefavorite-button {
  border-color: rgba(70, 215, 255, .55) !important;
  color: var(--iq-cyan) !important;
  min-width: 214px;
  white-space: nowrap;
}
body.single-product .product__actions .simplefavorite-button:hover,
body.single-product .product__actions .simplefavorite-button:focus-visible {
  border-color: var(--iq-cyan);
  background: rgba(70, 215, 255, .09);
  color: var(--iq-ink);
}
/* The Orbit purchase block already contains the canonical CTA. Hide the legacy
   duplicate injected by the old mobile-product-cta template. */
body.single-product .mobile-product-cta { display: none !important; }
body.single-product .product__reviews { color: var(--iq-ink); }
body.single-product .product__reviews-inner {
  border: 1px solid var(--iq-line);
  border-radius: var(--iq-radius-card);
  background: color-mix(in srgb, var(--iq-panel) 70%, transparent);
}
body.single-product .product__reviews h2,
body.single-product .product__reviews #reply-title { color: var(--iq-ink); font-family: var(--iq-display); font-weight: 600; }
body.single-product .product__reviews .comment-form-comment textarea,
body.single-product .product__reviews .comment-form input:not([type='submit']) {
  border-color: var(--iq-line);
  background: rgba(255, 255, 255, .05);
  color: var(--iq-ink);
}
body.single-product .player-controls { border-color: var(--iq-line); }
body.single-product .player-controls .player__btn,
body.single-product .player__btn { border-color: var(--iq-line); color: var(--iq-ink); }
body.single-product .player-controls .player__btn:hover,
body.single-product .player__btn:hover { border-color: var(--iq-cyan); color: var(--iq-cyan); }
body.single-product .product__reviews {
  max-width: 1200px;
  margin: 34px auto 0;
  padding: 0 20px;
}
body.single-product .product__reviews-inner {
  padding: 26px 28px;
  border: 1px solid var(--iq-line);
  border-radius: var(--iq-radius-card);
  background: var(--iq-card-bg);
  box-shadow: inset 0 1px rgba(255, 255, 255, .04);
}
body.single-product .product__reviews #comments { margin: 0; }
body.single-product .product__reviews .woocommerce-Reviews-title {
  margin: 0 0 16px;
  color: var(--iq-ink);
  font: 600 clamp(24px, 3vw, 34px)/1.1 var(--iq-display);
  letter-spacing: -.045em;
}
body.single-product .product__reviews .woocommerce-noreviews,
body.single-product .product__reviews .woocommerce-verification-required {
  margin: 0;
  color: var(--iq-muted);
  font: 500 14px/1.5 var(--iq-font);
}
body.single-product .product__reviews .woocommerce-verification-required {
  margin-top: 14px;
  padding: 13px 15px;
  border: 1px solid rgba(36, 224, 255, .2);
  border-radius: 12px;
  background: rgba(36, 224, 255, .06);
  color: var(--iq-cyan);
}
body.single-product .product__reviews .commentlist { margin: 0; padding: 0; list-style: none; }
body.single-product .product__reviews .comment_container {
  padding: 16px;
  border: 1px solid var(--iq-line);
  border-radius: 14px;
  background: rgba(8, 6, 15, .24);
}
body.single-product .simple-text { min-height: 0; padding: 0; background: var(--iq-bg-canvas); }
body.single-product .footer { margin-top: 0; }
@media (max-width: 600px) {
  body.single-product .product__reviews { margin-top: 24px; padding: 0 14px; }
  body.single-product .product__reviews-inner { padding: 20px 16px; border-radius: 18px; }
}
body.single-product .player {
  border-color: var(--iq-line);
  background: rgba(255, 255, 255, .045);
  color: var(--iq-ink);
}
body.single-product .player__singer { color: var(--iq-muted); }
body.single-product .player__song { color: var(--iq-ink); }
body.single-product .player__progress { background: rgba(182, 174, 201, .25); }
body.single-product .player__progress::-webkit-progress-bar { background: rgba(182, 174, 201, .25); }
body.single-product .player__progress::-webkit-progress-value { background: var(--iq-cyan); }
body.single-product .player__progress-separator { background: var(--iq-cyan); }
body.single-product .player__current,
body.single-product .player__total { color: var(--iq-muted); }

@media (max-width: 520px) {
  body.single-product .product__info-wrap { padding: 18px 14px; border-radius: 18px; }
  body.single-product .product__title { font-size: 24px; line-height: 1.16; }
  body.single-product .player {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px;
    gap: 10px 12px;
    align-items: center;
    padding: 14px;
  }
  body.single-product .player__name {
    position: static;
    display: block;
    width: auto;
    min-width: 0;
    margin: 0;
  }
  body.single-product .player__singer,
  body.single-product .player__song {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  body.single-product .player__btn--mobile-small {
    width: 44px;
    height: 44px;
    min-width: 44px;
    margin: 0;
  }
  body.single-product .player__progress-wrap {
    grid-column: 1 / -1;
    width: 100%;
    min-width: 0;
    margin: 0;
  }
}

/* Account and auth: transaction UI, not a decorative landing page. */
body.page-template-page-auth main,
body.page-template-page-reg main,
body.page-template-page-personal main,
body.page-template-page-lk-edit main,
body.page-template-page-cart main,
body.page-template-page-checkout main {
  min-height: 64vh;
  background:
    radial-gradient(circle at 82% 8%, rgba(65, 35, 116, .18), transparent 28%),
    linear-gradient(160deg, var(--iq-void-soft) 0%, var(--iq-void) 64%);
}
body.page-template-page-auth .login,
body.page-template-page-reg .reg { min-height: 720px; padding: 48px 0 80px; background: transparent; }
body.page-template-page-auth .header,
body.page-template-page-reg .header,
body.page-template-page-personal .header,
body.page-template-page-lk-edit .header,
body.page-template-page-cart .header,
body.page-template-page-checkout .header { background: var(--iq-void-soft); border-bottom-color: var(--iq-line); }
body.page-template-page-auth .footer,
body.page-template-page-reg .footer,
body.page-template-page-personal .footer,
body.page-template-page-lk-edit .footer,
body.page-template-page-cart .footer,
body.page-template-page-checkout .footer { margin-top: 0; }
body.page-template-page-auth .header__logo-img:not(.header__logo-img--mobile),
body.page-template-page-reg .header__logo-img:not(.header__logo-img--mobile),
body.page-template-page-personal .header__logo-img:not(.header__logo-img--mobile),
body.page-template-page-lk-edit .header__logo-img:not(.header__logo-img--mobile),
body.page-template-page-cart .header__logo-img:not(.header__logo-img--mobile),
body.page-template-page-checkout .header__logo-img:not(.header__logo-img--mobile) { filter: none; }
body.page-template-page-auth .main-nav a,
body.page-template-page-auth .header__login-btn,
body.page-template-page-auth .header__register-btn,
body.page-template-page-reg .main-nav a,
body.page-template-page-reg .header__login-btn,
body.page-template-page-reg .header__register-btn,
body.page-template-page-personal .main-nav a,
body.page-template-page-personal .header__lk-btn,
body.page-template-page-lk-edit .main-nav a,
body.page-template-page-lk-edit .header__lk-btn,
body.page-template-page-cart .main-nav a,
body.page-template-page-cart .header__login-btn,
body.page-template-page-cart .header__register-btn,
body.page-template-page-checkout .main-nav a,
body.page-template-page-checkout .header__login-btn,
body.page-template-page-checkout .header__register-btn { color: var(--iq-ink); }
body.page-template-page-auth .header__cart svg,
body.page-template-page-reg .header__cart svg,
body.page-template-page-personal .header__cart svg,
body.page-template-page-lk-edit .header__cart svg,
body.page-template-page-cart .header__cart svg,
body.page-template-page-checkout .header__cart svg { fill: var(--iq-ink); }
body.page-template-page-auth .breadcrumbs,
body.page-template-page-reg .breadcrumbs,
body.page-template-page-personal .breadcrumbs,
body.page-template-page-lk-edit .breadcrumbs { background: transparent; }
body.page-template-page-auth .breadcrumbs *,
body.page-template-page-reg .breadcrumbs *,
body.page-template-page-personal .breadcrumbs *,
body.page-template-page-lk-edit .breadcrumbs * { color: var(--iq-muted); }

body.page-template-page-auth .login__inner,
body.page-template-page-reg .reg__inner {
  width: min(100% - 32px, 520px);
  margin: 0 auto;
  padding: 42px;
  border: 1px solid var(--iq-line);
  border-radius: var(--iq-radius-card);
  background: var(--iq-card-bg);
  box-shadow: 0 28px 64px rgba(0, 0, 0, .3), inset 0 1px rgba(255, 255, 255, .06);
}
body.page-template-page-auth .login__title,
body.page-template-page-reg .reg__title,
body.page-template-page-personal .personal__title,
body.page-template-page-lk-edit .personal__title {
  color: var(--iq-ink);
  font-family: var(--iq-display);
  font-size: clamp(24px, 3vw, 38px);
  font-weight: 600;
  letter-spacing: -.04em;
  text-transform: none;
}
body.page-template-page-auth .login__socials-hint,
body.page-template-page-auth .login__field-label,
body.page-template-page-auth .login__follow,
body.page-template-page-reg .reg__field-label { color: var(--iq-muted); font-family: var(--iq-font); }
body.page-template-page-auth .login__form .input,
body.page-template-page-reg .reg__form .input,
body.page-template-page-lk-edit .personal__field-input {
  min-height: 48px;
  border: 1px solid var(--iq-line);
  border-radius: 12px;
  background: rgba(255, 255, 255, .035);
  color: var(--iq-ink);
  box-shadow: none;
}
body.page-template-page-auth .login__form .input:focus,
body.page-template-page-reg .reg__form .input:focus,
body.page-template-page-lk-edit .personal__field-input:focus { border-color: var(--iq-cyan); }
body.page-template-page-auth .login__link,
body.page-template-page-reg .reg__link { color: var(--iq-lime); }
body.page-template-page-auth .login__btn-row .btn,
body.page-template-page-reg .reg__btn-row .btn { border-radius: 999px; }
body.page-template-page-auth #remember-submit,
body.page-template-page-reg .reg__btn-row .btn--contrast { border: 0; background: var(--iq-lime); color: var(--iq-void); }
body.page-template-page-auth .login__checkbox { color: var(--iq-muted); }

body.page-template-page-personal .personal__inner,
body.page-template-page-lk-edit .personal__inner { max-width: 1200px; }
body.page-template-page-personal .personal__hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin: 18px 0 28px;
}
body.page-template-page-personal .personal__eyebrow {
  display: block;
  margin-bottom: 9px;
  color: var(--iq-cyan);
  font-family: var(--iq-font);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .16em;
  line-height: 1.2;
  text-transform: uppercase;
}
body.page-template-page-personal .personal__hero .personal__title { margin: 0; }
body.page-template-page-personal .personal__intro {
  max-width: 520px;
  margin: 10px 0 0;
  color: var(--iq-muted);
  font-family: var(--iq-font);
  font-size: 14px;
  line-height: 1.5;
}
body.page-template-page-personal .personal__hero-status {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  flex: 0 0 auto;
  padding: 10px 14px;
  border: 1px solid color-mix(in srgb, var(--iq-lime) 25%, transparent);
  border-radius: 999px;
  background: color-mix(in srgb, var(--iq-lime) 7%, transparent);
  color: var(--iq-ink);
  font-family: var(--iq-font);
  font-size: 12px;
  font-weight: 600;
}
body.page-template-page-personal .personal__hero-status-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--iq-lime);
  box-shadow: 0 0 12px color-mix(in srgb, var(--iq-lime) 75%, transparent);
}
body.page-template-page-personal .personal__info,
body.page-template-page-lk-edit .personal__info,
body.page-template-page-personal .personal__orders-wrap {
  border: 1px solid var(--iq-line);
  border-radius: var(--iq-radius-card);
  background: var(--iq-card-bg);
  box-shadow: 0 24px 54px rgba(0, 0, 0, .24), inset 0 1px rgba(255, 255, 255, .05);
}
body.page-template-page-personal .personal__field-name,
body.page-template-page-personal .personal__names-header,
body.page-template-page-lk-edit .personal__field-name { color: var(--iq-muted); font-family: var(--iq-font); }
body.page-template-page-personal .personal__field-value,
body.page-template-page-personal .personal__text { color: var(--iq-ink); font-family: var(--iq-font); }
body.page-template-page-personal .personal__cashback { border-color: color-mix(in srgb, var(--iq-lime) 26%, transparent); background: color-mix(in srgb, var(--iq-lime) 6%, transparent); }
body.page-template-page-personal .personal__cashback-value { color: var(--iq-lime); font-family: var(--iq-display); }
body.page-template-page-personal .personal__cashback-value small { font-family: var(--iq-font); font-size: .42em; font-weight: 600; }
body.page-template-page-personal .personal__cashback-note {
  display: block;
  max-width: 180px;
  margin-top: 8px;
  color: var(--iq-muted);
  font-family: var(--iq-font);
  font-size: 11px;
  line-height: 1.35;
}
body.page-template-page-personal .personal__order { border-color: var(--iq-line); }
body.page-template-page-personal .personal__order:hover { background: rgba(255, 255, 255, .035); }
body.page-template-page-personal .personal__review-link { color: var(--iq-lime); }
body.page-template-page-personal .personal__orders-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  padding: 26px 28px 18px;
  border-bottom: 1px solid var(--iq-line);
}
body.page-template-page-personal .personal__orders-heading .personal__eyebrow { margin-bottom: 7px; }
body.page-template-page-personal .personal__orders-title {
  margin: 0;
  color: var(--iq-ink);
  font-family: var(--iq-display);
  font-size: 21px;
  font-weight: 600;
  letter-spacing: -.025em;
}
body.page-template-page-personal .personal__orders-count {
  padding: 7px 11px;
  border: 1px solid var(--iq-line);
  border-radius: 999px;
  color: var(--iq-muted);
  font-family: var(--iq-font);
  font-size: 11px;
  white-space: nowrap;
}
body.page-template-page-personal .personal__headers-row { padding-top: 18px; }
body.page-template-page-personal .personal__orders-empty {
  display: grid;
  gap: 14px;
  max-width: 560px;
  padding: 32px;
}
body.page-template-page-personal .personal__orders-empty-title {
  margin: 0;
  color: var(--iq-ink);
  font-family: var(--iq-display);
  font-size: 20px;
  font-weight: 600;
}
body.page-template-page-personal .personal__orders-empty p { margin: 0; color: var(--iq-muted); }
body.page-template-page-personal .personal__orders-empty-action {
  display: inline-flex;
  width: fit-content;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  padding: 0 22px;
  border: 0;
  border-radius: 999px;
  background: var(--iq-lime);
  color: var(--iq-void);
}
body.page-template-page-personal .personal__edit-btn,
body.page-template-page-lk-edit .personal__info > .btn[name='save'] {
  min-height: 44px;
  border-color: rgba(70, 215, 255, .55);
  border-radius: 999px;
  background: transparent;
  color: var(--iq-cyan);
}
body.page-template-page-personal .personal__edit-btn:hover,
body.page-template-page-personal .personal__edit-btn:focus-visible {
  border-color: var(--iq-cyan);
  background: rgba(70, 215, 255, .09);
  color: var(--iq-ink);
}
body.page-template-page-personal .personal__logout {
  min-height: 44px;
  border-color: var(--iq-line);
  border-radius: 999px;
  background: transparent;
  color: var(--iq-ink);
}
body.page-template-page-lk-edit .personal__info > .btn[name='save'] {
  border: 0;
  background: var(--iq-lime);
  color: var(--iq-void);
}

body.page-template-page-cart .cart,
body.page-template-page-checkout .checkout { min-height: 720px; padding: 48px 0 80px; background: transparent; }
body.page-template-page-cart .cart__inner,
body.page-template-page-checkout .checkout__inner {
  max-width: 1200px;
  padding: 36px;
  border: 1px solid var(--iq-line);
  border-radius: var(--iq-radius-card);
  background: var(--iq-card-bg);
  box-shadow: 0 24px 54px rgba(0, 0, 0, .24), inset 0 1px rgba(255, 255, 255, .05);
  color: var(--iq-ink);
}
body.page-template-page-cart .cart__title,
body.page-template-page-checkout .checkout__title { color: var(--iq-ink); font-family: var(--iq-display); font-weight: 600; text-transform: none; }
body.page-template-page-cart .cart__table,
body.page-template-page-checkout .cart__table { border-color: var(--iq-line); background: transparent; color: var(--iq-ink); }
body.page-template-page-cart .cart__row,
body.page-template-page-checkout .cart__row { border-color: var(--iq-line); background: rgba(255, 255, 255, .025); }
body.page-template-page-cart .cart__table-header,
body.page-template-page-checkout .cart__table-header { color: var(--iq-muted); font-family: var(--iq-font); }
body.page-template-page-cart .cart__name-link,
body.page-template-page-cart .cart__price,
body.page-template-page-checkout .cart__name,
body.page-template-page-checkout .cart__price { color: var(--iq-ink); }
body.page-template-page-cart .cart__name-link { display: block; max-width: 30ch; overflow-wrap: anywhere; }
body.page-template-page-cart .cart__quantity .input-text,
body.page-template-page-cart .cart__promo { border-color: var(--iq-line); background: rgba(255, 255, 255, .05); color: var(--iq-ink); }
body.page-template-page-cart .cart__promo::placeholder { color: var(--iq-muted); }
body.page-template-page-cart .cart__delete-btn { color: var(--iq-pink); }
body.page-template-page-cart .cart__btn--checkout,
body.page-template-page-cart .cart__promo-btn,
body.page-template-page-cart .cart__btn-bottom-wrap .btn {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
}
body.page-template-page-cart .cart__btn--checkout { border: 0; background: var(--iq-lime); color: var(--iq-void); }
body.page-template-page-cart .cart__btn--checkout:hover { background: #d0ff75; }
body.page-template-page-cart .cart__result,
body.page-template-page-checkout .cart__result { color: var(--iq-lime); font-family: var(--iq-display); }
body.page-template-page-cart .cart__empty {
  display: grid;
  gap: 18px;
  max-width: 420px;
  margin: 26px 0 4px;
}
body.page-template-page-cart .cart__empty p { margin: 0; color: var(--iq-muted); }
body.page-template-page-cart .cart__empty-action {
  display: inline-flex;
  width: fit-content;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  padding: 0 22px;
  border: 0;
  border-radius: 999px;
  background: var(--iq-lime);
  color: var(--iq-void);
}
body.page-template-page-cart .footer,
body.page-template-page-checkout .footer { margin-top: 0; }
body.page-template-page-checkout .checkout__notice--error { border-color: rgba(255, 46, 151, .6); background: rgba(255, 46, 151, .1); color: var(--iq-ink); }
body.page-template-page-checkout .checkout__fieldset,
body.page-template-page-checkout .checkout__first-column,
body.page-template-page-checkout .checkout__second-column { background: transparent; color: var(--iq-ink); }
body.page-template-page-checkout .checkout__form .input {
  min-height: 48px;
  border: 1px solid var(--iq-line);
  border-radius: 12px;
  background: rgba(255, 255, 255, .05);
  color: var(--iq-ink);
  box-shadow: none;
}
body.page-template-page-checkout .checkout__form .input::placeholder { color: var(--iq-muted); }
body.page-template-page-checkout .checkout__form .input:focus { border-color: var(--iq-cyan); }
body.page-template-page-checkout .checkout__form .fake-checkbox,
body.page-template-page-checkout .checkout__form .checkbox__link { color: var(--iq-ink); }
body.page-template-page-checkout .checkout__text { color: var(--iq-muted); }
body.page-template-page-checkout .checkout__social-login { display: none; }
body.page-template-page-checkout .checkout__btn-wrap .btn,
body.page-template-page-checkout .checkout__mobile-submit {
  min-height: 44px;
  border-radius: 999px;
}
body.page-template-page-checkout #checkout-submit:not(:disabled),
body.page-template-page-checkout .checkout__mobile-submit:not(:disabled) {
  border: 0;
  background: var(--iq-lime);
  color: var(--iq-void);
}
body.page-template-page-checkout #checkout-submit:disabled,
body.page-template-page-checkout .checkout__mobile-submit:disabled {
  border-color: color-mix(in srgb, var(--iq-border-tint) 28%, transparent);
  background: rgba(255, 255, 255, .035);
  color: var(--iq-muted);
  opacity: 1;
}

body.page-template-page-auth .login__inner,
body.page-template-page-reg .reg__inner,
body.page-template-page-personal .personal__info,
body.page-template-page-personal .personal__orders-wrap,
body.page-template-page-lk-edit .personal__info,
body.page-template-page-cart .cart__inner,
body.page-template-page-checkout .checkout__inner { animation: iq-panel-enter .28s ease-out both; }

@keyframes iq-panel-enter { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 520px) {
  body.page-template-page-auth .login__inner,
  body.page-template-page-reg .reg__inner { width: calc(100% - 28px); padding: 28px 20px; border-radius: 18px; }
  body.page-template-page-cart .cart__inner,
  body.page-template-page-checkout .checkout__inner { padding: 22px 14px; border-radius: 18px; }
  body.page-template-page-cart .cart__table,
  body.page-template-page-checkout .cart__table { background: transparent; }
  body.page-template-page-cart .cart__name-link { max-width: none; }
  body.page-template-page-personal .personal__fields { flex-wrap: nowrap; gap: 12px; }
  body.page-template-page-personal .personal__hero {
    align-items: flex-start;
    flex-direction: column;
    gap: 14px;
    margin: 10px 0 20px;
  }
  body.page-template-page-personal .personal__intro { font-size: 13px; }
  body.page-template-page-personal .personal__hero-status { font-size: 11px; }
  body.page-template-page-personal .personal__orders-heading { padding: 20px 16px 14px; }
  body.page-template-page-personal .personal__orders-title { font-size: 18px; }
  body.page-template-page-personal .personal__orders-count { font-size: 10px; }
  body.page-template-page-personal .personal__fields-column:first-child { width: 36%; }
  body.page-template-page-personal .personal__fields-column:last-child { width: calc(64% - 12px); min-width: 0; }
  body.page-template-page-personal .personal__field-value { overflow-wrap: anywhere; }
  body.page-template-page-personal .personal__col-1 { width: 42%; }
  body.page-template-page-personal .personal__col-2 { width: 18%; }
  body.page-template-page-personal .personal__col-3 { width: 24%; }
  body.page-template-page-personal .personal__col-4 { width: 16%; }
  body.page-template-page-personal .personal__spoiler-btn { width: 44px; height: 44px; }
  body.page-template-page-personal .personal__orders-empty { padding: 24px 18px; }
}

@media (max-width: 991px) {
  body.home .main-banner--iq { height: 720px; min-height: 0; margin-bottom: 44px; border-radius: 0 0 28px 28px; }
  body.home .main-banner--iq .main-banner__inner { align-items: flex-start; padding: 64px 24px 0; }
  body.home .main-banner--iq .main-banner__title { font-size: 48px; }
  body.home .main-banner__description { max-width: 300px; font-size: 15px; }
  body.home .main-banner__tempo-desk { top: 67%; right: -6%; width: 88%; }
  body.home .main-catalog__inner { padding: 0 18px; }
  body.home .main-catalog__sidebar-wrapper { display: none; }
  body.home .main-catalog__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0; }
  body.home .main-catalog__title { grid-column: 1 / -1; }
  body .catalog-item { width: auto; padding: 8px 8px 14px; border-radius: 18px; }
  body .catalog-item__image { aspect-ratio: 1 / 1; border-radius: 14px; }
}

@media (min-width: 1200px) {
  body.post-type-archive-product .pagin,
  body.tax-product_cat .pagin { flex-basis: 100%; }
}

@media (max-width: 520px) {
  body.home .main-banner--iq { height: 900px; }
  body.home .main-banner--iq .main-banner__inner { padding: 48px 18px 0; }
  body.home .main-banner--iq .main-banner__title { font-size: 42px; }
  body.home .main-banner__description { min-height: 0; max-width: 340px; }
  body.home .main-banner__tempo-switch { margin-top: 20px; }
  body.home .main-banner__tempo-desk { top: 470px; right: 50%; width: min(96%, 380px); transform: translateX(50%); border-radius: 24px; }
  body.home .main-banner__tempo-head { padding: 16px 20px 0; }
  body.home .main-banner__tempo-scale { padding: 0 20px 16px; }
  body.home .main-banner__actions { align-items: stretch; flex-direction: column; gap: 8px; }
  body.home .main-banner__cta, body.home .main-banner__secondary { min-height: 46px; padding: 0 16px; font-size: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  body.home .main-banner__cta, body.home .main-banner__secondary, body .catalog-item { transition: none; }
  body .catalog-item:hover { transform: none; }
  body.page-template-page-auth .login__inner,
  body.page-template-page-reg .reg__inner,
  body.page-template-page-personal .personal__info,
  body.page-template-page-personal .personal__orders-wrap,
  body.page-template-page-lk-edit .personal__info,
  body.page-template-page-cart .cart__inner,
  body.page-template-page-checkout .checkout__inner { animation: none; }
  body .open-promo-popup-btn { transition: none; }
  body .open-promo-popup-btn:hover,
  body .open-promo-popup-btn:focus-visible { transform: none; }
  body .header-link { transition: none; }
}

/* Accessibility guardrails: these selectors intentionally come last so legacy
   theme rules cannot erase contrast or the keyboard focus indicator. */
body .main-catalog__sidebar-wrapper .sidebar,
body .main-catalog__sidebar-wrapper .sidebar a {
  color: var(--iq-fg-primary) !important;
}
body .main-catalog__sidebar-wrapper .sidebar a:hover,
body .main-catalog__sidebar-wrapper .sidebar a:focus-visible {
  color: var(--iq-action-primary) !important;
}
body .main-catalog__sidebar-wrapper .sidebar > ul > li > a,
body .main-catalog__sidebar-wrapper .sidebar__menu > li > a {
  color: var(--iq-fg-primary) !important;
  font-weight: 700;
}
body .main-catalog__sidebar-wrapper .sidebar__menu .sub-menu a {
  color: var(--iq-fg-primary) !important;
  font-weight: 600;
}
body .main-catalog__sidebar-wrapper .sidebar__menu .sub-menu a:hover,
body .main-catalog__sidebar-wrapper .sidebar__menu .sub-menu a:focus-visible {
  color: var(--iq-bg-canvas) !important;
  background: var(--iq-action-primary) !important;
}
body a:focus-visible,
body button:focus-visible,
body input:focus-visible,
body select:focus-visible,
body textarea:focus-visible,
body summary:focus-visible {
  outline: 2px solid var(--iq-cyan) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 1px rgba(55, 231, 199, .18) !important;
}

/* Homepage continuation: keep the Orbit system coherent below the hero. */
body.home .home-news,
body.home .trust,
body.home .why-us,
body.home .faq,
body.home .simple-text {
  position: relative;
  background: var(--iq-bg-canvas);
  color: var(--iq-fg-primary);
  border-top: 1px solid var(--iq-border-subtle);
}

/* The legacy slider is intentionally not part of the Orbit homepage flow. */
body.home .main-slider {
  display: none;
}

body.home .home-news__inner,
body.home .trust__inner,
body.home .why-us__inner,
body.home .faq__inner,
body.home .simple-text__inner {
  max-width: 1180px;
  margin-inline: auto;
}

body.home .home-news { padding: 76px 0 84px; }
body.home .home-news__title,
body.home .trust__title,
body.home .why-us__title,
body.home .faq__title,
body.home .simple-text__title {
  margin-bottom: 28px;
  color: var(--iq-fg-primary);
  font-family: var(--iq-display);
  font-weight: 600;
  letter-spacing: -.03em;
  text-transform: none;
}
body.home .home-news__title b { color: var(--iq-action-primary); }
body.home .home-news__list { gap: 18px; }
body.home .home-news .btn--contrast {
  border: 0;
  background: var(--iq-lime);
  color: var(--iq-void);
}
body.home .home-news .btn--contrast:hover,
body.home .home-news .btn--contrast:focus-visible {
  background: #d1ff70;
  color: var(--iq-void);
}
body.home .news-preview {
  overflow: hidden;
  border: 1px solid var(--iq-card-border);
  border-radius: var(--iq-radius-panel);
  background: var(--iq-card-bg);
  box-shadow: 0 18px 44px rgba(0, 0, 0, .2);
}

body .footer__politics {
  display: inline-flex;
  min-height: 24px;
  align-items: center;
  padding: 4px 0;
}
body.home .news-preview__image { min-height: 220px; filter: saturate(.82) contrast(1.04); }
body.home .news-preview__wrap { padding: 24px; background: color-mix(in srgb, var(--iq-panel) 70%, transparent); }
body.home .news-preview__title { color: var(--iq-fg-primary); font-family: var(--iq-display); }
body.home .news-preview__text { color: var(--iq-fg-muted); }

body.home .trust,
body.home .why-us,
body.home .faq { padding: 76px 0; }
body.home .trust__text,
body.home .why-us__item,
body.home .faq__item {
  border: 1px solid var(--iq-card-border);
  border-radius: var(--iq-radius-input);
  background: color-mix(in srgb, var(--iq-panel) 72%, transparent);
  color: var(--iq-fg-muted);
}
body.home .trust__text { padding: 24px; }
body.home .trust__text a,
body.home .why-us__item a,
body.home .faq__answer a { color: var(--iq-action-signal); }
body.home .why-us__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
body.home .why-us__item { min-height: 76px; padding: 22px 24px 22px 52px; }
body.home .why-us__item::before { background: var(--iq-action-primary); }
body.home .faq__list { display: grid; gap: 10px; }
body.home .faq__item { overflow: hidden; }
body.home .faq__question { min-height: 64px; padding: 20px 56px 20px 24px; color: var(--iq-fg-primary); }
body.home .faq__answer { border-top-color: var(--iq-border-subtle); color: var(--iq-fg-muted); }
body.home .faq__question::after { border-color: var(--iq-action-primary); }

body.home .simple-text { padding: 72px 0; }
body.home .simple-text__inner { color: var(--iq-fg-muted); }
body.home .simple-text p { color: var(--iq-fg-muted); }
body.home .simple-text a { color: var(--iq-action-signal); }

body.page-template-page-cart .cart__name-link,
body.page-template-page-checkout .cart__name-link,
body.page-template-page-cart .cart__price,
body.page-template-page-checkout .cart__price,
body.page-template-page-cart .cart__price b,
body.page-template-page-checkout .cart__price b,
body.page-template-page-cart .cart__count,
body.page-template-page-checkout .cart__count { color: var(--iq-fg-primary); }
body.page-template-page-cart .cart__result-wrap,
body.page-template-page-checkout .cart__result-wrap { color: var(--iq-fg-muted); }
body.page-template-page-cart .cart__result,
body.page-template-page-checkout .cart__result { color: var(--iq-action-primary); }

@media (max-width: 991px) {
  body.home .home-news,
  body.home .trust,
  body.home .why-us,
  body.home .faq,
  body.home .simple-text { padding: 52px 18px 58px; }
  body.home .home-news__inner,
  body.home .trust__inner,
  body.home .why-us__inner,
  body.home .faq__inner,
  body.home .simple-text__inner { width: 100%; }
}

@media (max-width: 520px) {
  body.post-type-archive-product .catalog-item,
  body.tax-product_cat .catalog-item {
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr);
    align-items: center;
    gap: 8px 12px;
    min-height: 148px;
    padding: 10px;
  }
  body.post-type-archive-product .catalog-item__image,
  body.tax-product_cat .catalog-item__image {
    grid-row: 1 / span 2;
    width: 128px;
    height: 128px;
    margin: 0;
  }
  body.post-type-archive-product .main-catalog__list,
  body.tax-product_cat .main-catalog__list { grid-template-columns: 1fr; }
  body.post-type-archive-product .catalog-item__name,
  body.tax-product_cat .catalog-item__name {
    grid-column: 2;
    margin: 0;
    font-size: 14px;
    line-height: 1.25;
  }
  body.post-type-archive-product .catalog-item__description,
  body.tax-product_cat .catalog-item__description {
    grid-column: 2;
    margin: 0;
    font-size: 10px;
    line-height: 1.3;
  }
  body.home .home-news__title,
  body.home .trust__title,
  body.home .why-us__title,
  body.home .faq__title,
  body.home .simple-text__title { font-size: 25px; line-height: 1.18; }
  body.home .why-us__list { grid-template-columns: 1fr; }
  body.home .news-preview__image { min-height: 180px; }
  body.home .news-preview__wrap { padding: 18px; }
}

@media (prefers-reduced-motion: reduce) {
  body.home .main-banner__tempo-wave,
  body.home .main-banner__tempo-dot,
  body.home .main-banner__tempo-core,
  body.home .main-banner__tempo-scale i::after { animation: none !important; }
  body.home .news-preview { transition: none !important; }
}

/* Final shell alignment: the same Orbit lockup and content rhythm must survive
   the narrowest viewport, where the legacy header used to win by source order. */
body.home .header__inner,
body.home .footer__inner {
  width: min(100% - 32px, 1200px);
  margin-inline: auto;
}

body.home .footer {
  border-top: 1px solid var(--iq-border-subtle);
  background:
    radial-gradient(circle at 78% 0, rgba(94, 53, 166, .2), transparent 32%),
    linear-gradient(160deg, var(--iq-panel), var(--iq-void) 78%);
}

body .footer__content {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(220px, 1.15fr) minmax(180px, .85fr) minmax(180px, .85fr);
  gap: 32px;
  align-items: start;
}

body .footer__logo {
  width: 168px;
  height: auto;
}

body .footer-nav,
body .footer-main-nav,
body .footer__library,
body .footer__icons {
  min-width: 0;
  max-width: 100%;
}
body .footer__icons > *,
body .footer-nav > *,
body .footer-main-nav > * { min-width: 0; max-width: 100%; }
body .footer__support { max-width: 100%; box-sizing: border-box; }
body .popup.popup--hidden { display: none; }

body .footer-nav__column-submenu { column-count: 2; column-gap: 24px; }
body .footer-nav__column-submenu > li { break-inside: avoid; }

body .footer-nav > li > a,
body .footer-main-nav > li > a {
  color: var(--iq-fg-primary);
  font-family: var(--iq-display);
  font-size: 13px;
  letter-spacing: .03em;
}

body .footer-nav__column-submenu a,
body .footer-main-nav a {
  color: var(--iq-fg-muted);
  font-family: var(--iq-font);
}

body .payment-badges__chip {
  border-color: var(--iq-border-subtle);
  border-radius: 999px;
  background: rgba(255, 255, 255, .04);
  color: var(--iq-fg-muted);
}

body .footer__tagline { max-width: 220px; margin: 20px 0 18px; color: var(--iq-fg-muted); font-size: 14px; line-height: 1.45; }
body .footer__icons { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; }
body .footer__logo { display: block; width: 168px; max-width: 100%; }
body .footer__logo img { display: block; width: 100%; height: auto; }
body .social-icons { display: flex; flex-wrap: wrap; gap: 8px; }
body .social-icons__link { border: 1px solid var(--iq-border-subtle); border-radius: 14px; background: rgba(255,255,255,.04); transition: border-color .2s ease, transform .2s ease, background .2s ease; }
body .social-icons__link:hover, body .social-icons__link:focus-visible { border-color: var(--iq-action-primary); background: rgba(188,255,45,.08); transform: translateY(-2px); }
body .footer__support { display: flex; align-items: center; gap: 11px; width: fit-content; margin-top: 20px; padding: 11px 13px; border: 1px solid rgba(188,255,45,.35); border-radius: 16px; background: rgba(188,255,45,.07); }
body .footer__support small, body .footer__support strong { display: block; }
body .footer__support small { color: var(--iq-fg-muted); font-size: 11px; }
body .footer__support strong { color: var(--iq-lime); font-size: 13px; }
body .footer__support-icon { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; background: var(--iq-action-primary); color: var(--iq-void-soft); font-weight: 800; }
body .footer__eyebrow, body .iq-library-intro__eyebrow { color: var(--iq-action-primary); font-size: 11px; font-weight: 700; letter-spacing: .16em; }
body .footer__library h2 { margin: 12px 0 10px; color: var(--iq-fg-primary); font-family: var(--iq-display); font-size: clamp(24px, 2.2vw, 36px); line-height: .98; }
body .footer__library p { max-width: 250px; margin: 0 0 20px; color: var(--iq-fg-muted); font-size: 13px; line-height: 1.5; }
body .footer__library-link { color: var(--iq-action-primary) !important; font-family: var(--iq-display); font-size: 13px; }
body .footer__library-link span { margin-left: 6px; }

body .iq-library-intro { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr); gap: 22px; width: 100%; box-sizing: border-box; margin: 0 0 34px; padding: 24px; border: 1px solid rgba(188,255,45,.22); border-radius: 24px; background: radial-gradient(circle at 100% 0, rgba(116,82,255,.22), transparent 48%), #141025; }
body .iq-library-intro h2 { margin: 10px 0 8px; color: var(--iq-fg-primary); font-family: var(--iq-display); font-size: clamp(25px, 3vw, 42px); line-height: .98; }
body .iq-library-intro p { max-width: 560px; margin: 0; color: var(--iq-fg-muted); line-height: 1.5; }
body .iq-library-intro__actions { display: grid; gap: 8px; align-content: center; }
body .iq-library-intro__plan, body .iq-library-intro__support { display: flex; justify-content: space-between; gap: 12px; align-items: center; padding: 12px 14px; border: 1px solid var(--iq-border-subtle); border-radius: 14px; color: var(--iq-fg-primary); }
body .iq-library-intro__plan:hover, body .iq-library-intro__support:hover { border-color: var(--iq-action-primary); }
body .iq-library-intro__plan strong { white-space: nowrap; color: var(--iq-action-primary); }
body .iq-library-intro__support { color: var(--iq-action-primary); font-size: 13px; }

/* Chosen reference language: calm component states, compact micro-motion and
   one editorial accent instead of a full decorative overhaul. */
body .header__login-btn,
body .header__register-btn,
body .header__lk-btn,
body .btn,
body .main-banner__cta,
body .main-banner__secondary {
  position: relative;
  overflow: hidden;
  min-height: 46px;
  border-radius: 999px;
  font-weight: 700;
  letter-spacing: -.01em;
  transition: transform .2s ease, border-color .2s ease, background-color .2s ease, color .2s ease, box-shadow .2s ease;
}
body .header__login-btn:hover,
body .header__register-btn:hover,
body .header__lk-btn:hover,
body .btn:hover,
body .main-banner__cta:hover,
body .main-banner__secondary:hover { transform: translateY(-2px); }
body .header__login-btn::after,
body .header__register-btn::after,
body .btn::after,
body .main-banner__cta::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(110deg, transparent 26%, rgba(255,255,255,.18) 50%, transparent 74%);
  transform: translateX(-120%);
  transition: transform .55s ease;
}
body .header__login-btn:hover::after,
body .header__register-btn:hover::after,
body .btn:hover::after,
body .main-banner__cta:hover::after { transform: translateX(120%); }
body .main-nav a { position: relative; transition: color .2s ease; }
body .main-nav a::after {
  content: '';
  position: absolute;
  right: 0;
  bottom: -9px;
  left: 0;
  height: 2px;
  border-radius: 2px;
  background: var(--iq-cyan);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform .2s ease;
}
body .main-nav a:hover::after,
body .main-nav a:focus-visible::after,
body .main-nav .current-menu-item > a::after { transform: scaleX(1); transform-origin: left; }
@media (hover: hover) and (pointer: fine) {
  body .catalog-item__image { transition: transform .35s cubic-bezier(.2,.8,.2,1), filter .35s ease; }
  body .catalog-item:hover .catalog-item__image { transform: scale(1.018); filter: saturate(1.08) contrast(1.02); }

  /* Compositor hint for the magnetic CTA pull (assets/js/iq-magnetic-cta.js).
     Only these five money-path buttons get it — matches the script's own
     selector list, not every .btn on the site. */
  body .main-banner__cta,
  body .product__add-to-cart,
  body .cart__btn--checkout,
  body #checkout-submit,
  body .iq-urgency-popup__apply-btn { will-change: transform; }
}
@media (prefers-reduced-motion: reduce) {
  body .header__login-btn,
  body .header__register-btn,
  body .header__lk-btn,
  body .btn,
  body .main-banner__cta,
  body .main-banner__secondary,
  body .main-nav a,
  body .catalog-item__image { transition: none; }
  body .header__login-btn::after,
  body .header__register-btn::after,
  body .btn::after,
  body .main-banner__cta::after { display: none; }
}

@media (max-width: 991px) {
  body.home .header__inner {
    width: 100%;
    grid-template-columns: 44px minmax(0, 1fr) auto;
    gap: 10px;
  }

  body.home .header--iq-brand .header__logo-img:not(.header__logo-img--mobile) { display: none; }
  body.home .header--iq-brand .header__logo-img--mobile {
    display: block;
    width: 124px;
    height: auto;
  }
  body.home .header__logo { max-width: 124px; justify-content: flex-start; }
  body.home .header__login { display: none; }
  body.home .header__indicators { margin-left: auto; }
  body.home .footer__inner { width: 100%; }
  body .footer__content { grid-template-columns: 1fr 1fr; gap: 28px 20px; }
  body .footer-nav__column-submenu { column-count: 1; }
}

@media (max-width: 520px) {
  body.home .header__inner { padding-inline: 14px; }
  body.home .header--iq-brand .header__logo-img--mobile { width: 112px; }
  body .footer__content { grid-template-columns: 1fr; gap: 24px; }
  body .footer__bottom { gap: 10px; }
  body .iq-library-intro { grid-template-columns: 1fr; padding: 18px; }
}

/* Editorial Motion system: technical rails, abstract words, and scroll-led entry. */
body {
  --iq-motion-ease: cubic-bezier(.2, .8, .2, 1);
  --iq-motion-fast: 140ms;
  --iq-motion-ui: 260ms;
  --iq-motion-reveal: 420ms;
  --iq-motion-line: color-mix(in srgb, var(--iq-action-signal) 45%, transparent);
}
body .iq-motion-surface { position: relative; isolation: isolate; }
body .iq-motion-progress {
  position: fixed;
  z-index: 80;
  top: 0;
  right: 0;
  left: 0;
  height: 2px;
  background: transparent;
  pointer-events: none;
}
body .iq-motion-progress__fill {
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, var(--iq-action-primary), var(--iq-action-signal));
  transform: scaleX(0);
  transform-origin: left;
  will-change: transform;
}
body .iq-motion-surface::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  opacity: .24;
  background-image: linear-gradient(90deg, transparent 0 24%, var(--iq-motion-line) 24.1%, transparent 24.2% 74%, var(--iq-motion-line) 74.1%, transparent 74.2%);
  background-size: 100% 100%;
  mask-image: linear-gradient(to bottom, transparent, #000 12%, #000 88%, transparent);
}
body .iq-motion-rail {
  position: absolute;
  z-index: 2;
  top: 7rem;
  right: clamp(12px, 2vw, 32px);
  display: grid;
  justify-items: end;
  gap: 12px;
  width: 32px;
  color: var(--iq-fg-muted);
  pointer-events: none;
}
body .iq-motion-rail__line {
  display: block;
  width: 1px;
  height: 180px;
  background: linear-gradient(var(--iq-action-signal), transparent);
  transform-origin: top;
  animation: iq-motion-line-draw 900ms var(--iq-motion-ease) both;
}
body .iq-motion-rail__word,
body .iq-motion-rail__index {
  font: 700 9px/1 var(--iq-font);
  letter-spacing: .16em;
  writing-mode: vertical-rl;
  text-transform: uppercase;
}
body .iq-motion-rail__word { color: var(--iq-action-primary); }
body .iq-motion-rail__index { color: var(--iq-fg-muted); }
body .iq-motion-caption {
  display: flex;
  align-items: center;
  gap: 12px;
  max-width: 1200px;
  margin: 30px auto 14px;
  padding: 0 24px;
  color: var(--iq-fg-muted);
  font: 700 9px/1 var(--iq-font);
  letter-spacing: .18em;
  text-transform: uppercase;
}
body .iq-motion-caption::after {
  content: '';
  display: block;
  width: min(240px, 22vw);
  height: 1px;
  background: linear-gradient(90deg, var(--iq-action-signal), transparent);
  transform-origin: left;
  animation: iq-motion-line-draw 700ms var(--iq-motion-ease) both;
}
body .main-catalog__list > .iq-motion-caption { grid-column: 1 / -1; }
body .iq-motion-wordmark {
  position: absolute;
  z-index: -1;
  top: 19rem;
  left: clamp(-6rem, -4vw, -2rem);
  display: grid;
  color: var(--iq-fg-primary);
  font: 700 clamp(5rem, 13vw, 13rem)/.78 var(--iq-display);
  letter-spacing: -.1em;
  opacity: .035;
  pointer-events: none;
  transform: rotate(-7deg);
  user-select: none;
}
body .iq-motion-wordmark span:nth-child(2) { margin-left: .35em; color: var(--iq-action-signal); }
body .iq-motion-wordmark span:nth-child(3) { margin-left: .05em; color: var(--iq-action-primary); }
body .iq-motion-reveal {
  opacity: 0;
  transform: translate3d(0, 22px, 0);
  transition: opacity var(--iq-motion-reveal) var(--iq-motion-ease), transform var(--iq-motion-reveal) var(--iq-motion-ease);
  transition-delay: calc(var(--iq-motion-index, 0) * 35ms);
}
body .iq-motion-reveal.is-visible { opacity: 1; transform: translate3d(0, 0, 0); }
body .iq-motion-type {
  letter-spacing: .08em;
  transition: letter-spacing 520ms var(--iq-motion-ease);
}
body .iq-motion-type.is-visible { letter-spacing: -.05em; }
body [data-iq-motion-section] { scroll-margin-top: 110px; }
body .iq-motion-magnetic {
  --iq-magnetic-x: 0px;
  --iq-magnetic-y: 0px;
  transform: translate3d(var(--iq-magnetic-x), var(--iq-magnetic-y), 0);
  transition: transform var(--iq-motion-fast) var(--iq-motion-ease), box-shadow var(--iq-motion-ui) ease, border-color var(--iq-motion-ui) ease;
}
body .iq-motion-magnetic:hover { z-index: 3; }
body .iq-motion-reveal .catalog-item__image {
  clip-path: inset(3% 3% 3% 3% round var(--iq-radius-media));
  transform: scale(1.045);
  filter: saturate(.86);
  transition: clip-path 650ms var(--iq-motion-ease), transform 650ms var(--iq-motion-ease), filter 650ms ease;
}
body .iq-motion-reveal.is-visible .catalog-item__image {
  clip-path: inset(0 round var(--iq-radius-media));
  transform: scale(1);
  filter: saturate(1);
}
body .iq-motion-reveal .news-preview__image {
  clip-path: inset(4% 4% 4% 4% round var(--iq-radius-media));
  filter: saturate(.82);
  transform: scale(1.035);
  transition: clip-path 650ms var(--iq-motion-ease), transform 650ms var(--iq-motion-ease), filter 650ms ease;
}
body .iq-motion-reveal.is-visible .news-preview__image {
  clip-path: inset(0 round var(--iq-radius-media));
  filter: saturate(1);
  transform: scale(1);
}
body .main-banner.iq-motion-reveal,
body .home-news.iq-motion-reveal,
body .news.iq-motion-reveal,
body .personal__hero.iq-motion-reveal,
body .personal__info.iq-motion-reveal,
body .personal__orders-wrap.iq-motion-reveal {
  position: relative;
}
body .main-banner.iq-motion-reveal::after,
body .home-news.iq-motion-reveal::after,
body .news.iq-motion-reveal::after,
body .personal__hero.iq-motion-reveal::after,
body .personal__info.iq-motion-reveal::after,
body .personal__orders-wrap.iq-motion-reveal::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: min(38vw, 460px);
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--iq-action-signal));
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 700ms var(--iq-motion-ease);
}
body .main-banner.iq-motion-reveal.is-visible::after,
body .home-news.iq-motion-reveal.is-visible::after,
body .news.iq-motion-reveal.is-visible::after,
body .personal__hero.iq-motion-reveal.is-visible::after,
body .personal__info.iq-motion-reveal.is-visible::after,
body .personal__orders-wrap.iq-motion-reveal.is-visible::after { transform: scaleX(1); }
body .iq-motion-player {
  border-color: color-mix(in srgb, var(--iq-action-signal) 58%, transparent);
  box-shadow: 0 22px 60px rgba(0, 0, 0, .42), 0 0 0 1px rgba(255, 255, 255, .03), inset 0 1px rgba(255, 255, 255, .08);
}
body .iq-motion-player::before {
  content: 'LIVE PREVIEW';
  position: absolute;
  top: -8px;
  right: 18px;
  padding: 3px 7px;
  border: 1px solid color-mix(in srgb, var(--iq-action-signal) 45%, transparent);
  border-radius: 999px;
  background: var(--iq-bg-canvas);
  color: var(--iq-action-signal);
  font: 700 8px/1 var(--iq-font);
  letter-spacing: .14em;
}
body:not(.woocommerce-cart):not(.woocommerce-checkout) .footer__content { position: relative; }
body:not(.woocommerce-cart):not(.woocommerce-checkout) .footer__content::before {
  content: 'IQ / SYSTEM / 2026';
  position: absolute;
  top: -24px;
  right: 0;
  color: var(--iq-fg-muted);
  font: 700 8px/1 var(--iq-font);
  letter-spacing: .16em;
  opacity: .65;
}
body .catalog-item,
body .iq-library-intro,
body .iq-discovery,
body .product__info-wrap {
  position: relative;
  --iq-pointer-x: 50%;
  --iq-pointer-y: 50%;
}
body .catalog-item::before,
body .iq-library-intro::before,
body:not(.iq-variant-training) .iq-discovery::before,
body .product__info-wrap::before {
  content: '';
  position: absolute;
  inset: 0;
  border: 1px solid transparent;
  border-radius: inherit;
  pointer-events: none;
  background: radial-gradient(circle at var(--iq-pointer-x) var(--iq-pointer-y), color-mix(in srgb, var(--iq-action-signal) 24%, transparent), transparent 26%) border-box;
  mask: linear-gradient(#000 0 0) padding-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
  opacity: 0;
  transition: opacity var(--iq-motion-ui) ease;
}
@media (hover: hover) and (pointer: fine) {
  body .catalog-item:hover::before,
  body .iq-library-intro:hover::before,
  body:not(.iq-variant-training) .iq-discovery:hover::before,
  body .product__info-wrap:hover::before { opacity: 1; }
}
@keyframes iq-motion-line-draw { from { transform: scaleY(0); opacity: 0; } to { transform: scaleY(1); opacity: 1; } }
@media (max-width: 760px) {
  body .iq-motion-surface::before { opacity: .12; background-image: linear-gradient(90deg, transparent 9%, var(--iq-motion-line) 9.1%, transparent 9.2%, transparent 91%, var(--iq-motion-line) 91.1%, transparent 91.2%); }
  body .iq-motion-rail { top: 4.5rem; right: 10px; transform: scale(.8); transform-origin: top right; }
  body .iq-motion-rail__line { height: 96px; }
  body .iq-motion-wordmark { top: 13rem; left: -3rem; font-size: 4.4rem; opacity: .028; }
  body .iq-motion-caption { margin: 22px 0 10px; padding: 0 14px; font-size: 8px; }
  body .iq-motion-caption::after { width: 74px; }
  body .iq-motion-player::before { right: 12px; font-size: 7px; }
  body:not(.woocommerce-cart):not(.woocommerce-checkout) .footer__content::before { position: static; display: block; grid-column: 1 / -1; margin-bottom: -8px; }
}
@media (prefers-reduced-motion: reduce) {
  body .iq-motion-reveal { opacity: 1; transform: none; transition: none; }
  body .iq-motion-type,
  body .iq-motion-type.is-visible { letter-spacing: inherit; transition: none; }
  body .iq-motion-magnetic,
  body .iq-motion-reveal .catalog-item__image,
  body .iq-motion-reveal.is-visible .catalog-item__image,
  body .iq-motion-reveal .news-preview__image,
  body .iq-motion-reveal.is-visible .news-preview__image { transform: none; clip-path: none; transition: none; filter: none; }
  body .main-banner.iq-motion-reveal::after,
  body .home-news.iq-motion-reveal::after,
  body .news.iq-motion-reveal::after,
  body .personal__hero.iq-motion-reveal::after,
  body .personal__info.iq-motion-reveal::after,
  body .personal__orders-wrap.iq-motion-reveal::after { transform: none; transition: none; }
  body .iq-motion-rail__line { animation: none; }
  body .iq-motion-caption::after { animation: none; }
  body .catalog-item::before,
  body .iq-library-intro::before,
  body:not(.iq-variant-training) .iq-discovery::before,
  body .product__info-wrap::before { display: none; }
}

/* Stat counters: real catalog numbers (SKU/releases/tracks), count up once on
   scroll-in. Unscoped to any body.iq-variant-* — techspec is the only variant
   served in production (see iq_visual_variant_allowed() in functions.php),
   and the token defaults already resolve to a dark canvas + cyan accent, so
   this block does not need variant-specific overrides to read correctly. */
body .iq-stat-counters {
  padding: 20px clamp(16px, 4vw, 40px);
  margin: 0 auto;
  max-width: 1200px;
}
body .iq-stat-counters__inner {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: var(--iq-border-subtle);
  border: 1px solid var(--iq-border-subtle);
  border-radius: var(--iq-radius-panel);
  overflow: hidden;
}
body .iq-stat-counters__item {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 22px clamp(14px, 3vw, 28px);
  background: var(--iq-bg-surface);
}
body .iq-stat-counters__value {
  font: 700 clamp(1.9rem, 4vw, 3rem)/1 var(--iq-display);
  color: var(--iq-action-primary);
  font-variant-numeric: tabular-nums;
  font-feature-settings: 'tnum' 1;
  letter-spacing: -.01em;
}
body .iq-stat-counters__label {
  color: var(--iq-fg-muted);
  font: 600 12px/1.4 var(--iq-font);
  letter-spacing: .02em;
}
@media (max-width: 640px) {
  body .iq-stat-counters__inner { grid-template-columns: 1fr; }
}
/* prefers-reduced-motion: no CSS transition to disable here — the JS in
   iq-editorial-motion.js skips the rAF count-up entirely and paints the
   final value straight away when the media query matches. */

/* Visual lab: three live directions, switched with ?iq_style=. */
body.iq-variant-editorial {
  --iq-bg-canvas: #11100f;
  --iq-bg-surface: #1a1815;
  --iq-bg-surface-raised: #242019;
  --iq-fg-primary: #f2eadc;
  --iq-fg-muted: #b6ad9f;
  --iq-border-subtle: rgba(242, 233, 216, .18);
  --iq-border-tint: rgb(242, 233, 216);
  --iq-action-primary: #d9ff52;
  --iq-action-signal: #ef9e71;
  --iq-action-emotion: #ff2e97;
  --iq-cyan: var(--iq-action-signal);
  --iq-card-bg: linear-gradient(135deg, #211e1a, #171513);
  --iq-radius-input: 8px;
  --iq-radius-media: 8px;
  --iq-radius-panel: 12px;
}

/* Metalheart: cold chrome. Brushed metal and ice, no neon.
   Values only — the sheen that tokens cannot express is a few rules below. */
body.iq-variant-metalheart {
  --iq-bg-canvas: #07070c;
  --iq-bg-surface: #0e1014;
  --iq-bg-surface-raised: #161a20;
  --iq-fg-primary: #edf1f5;
  --iq-fg-muted: #8d97a5;
  --iq-border-subtle: rgba(184, 192, 204, .18);
  --iq-border-tint: rgb(184, 192, 204);
  --iq-action-primary: #6ee7ff;
  --iq-action-signal: #b8c0cc;
  --iq-action-emotion: #d9c9ff;
  --iq-button-primary-fg: #07070c;
  --iq-card-bg: linear-gradient(158deg, #1b2028 0%, #12151b 46%, #0c0e13 100%);
  --iq-input-bg: rgba(184, 192, 204, .06);
  --iq-radius-input: 10px;
  --iq-radius-media: 14px;
  --iq-radius-panel: 18px;
}

/* The part a value swap cannot do: a specular edge that reads as metal.
   One static gradient per card, no filters and no compositing layers, so the
   catalog grid keeps scrolling on mobile. */
body.iq-variant-metalheart .catalog-item,
body.iq-variant-metalheart .product__gallery {
  position: relative;
  border: 1px solid var(--iq-border-subtle);
}

body.iq-variant-metalheart .catalog-item::after,
body.iq-variant-metalheart .product__gallery::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(158deg,
    rgba(255, 255, 255, .16) 0%,
    rgba(255, 255, 255, .02) 18%,
    transparent 42%);
  opacity: .9;
  pointer-events: none;
}

body.iq-variant-metalheart .catalog-item:hover::after {
  background: linear-gradient(158deg,
    rgba(255, 255, 255, .26) 0%,
    rgba(110, 231, 255, .08) 22%,
    transparent 48%);
}

@media (prefers-reduced-motion: reduce) {
  body.iq-variant-metalheart .catalog-item:hover::after {
    background: linear-gradient(158deg,
      rgba(255, 255, 255, .16) 0%,
      rgba(255, 255, 255, .02) 18%,
      transparent 42%);
  }
}
body.iq-variant-editorial .main-catalog__title,
body.iq-variant-editorial .product__title {
  font-family: var(--iq-display);
  letter-spacing: -.07em;
}
body.iq-variant-editorial .main-catalog__list { max-width: 1120px; }
body.iq-variant-editorial .main-catalog__list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
body.iq-variant-editorial .catalog-item {
  border-radius: 6px;
  background: var(--iq-card-bg);
  box-shadow: none;
}
body.iq-variant-editorial .catalog-item__image { border-radius: 4px; }
body.iq-variant-editorial .catalog-item__name { font-size: 19px; line-height: 1.02; }
body.iq-variant-editorial .iq-library-intro {
  border-radius: 6px;
  background: var(--iq-bg-surface-raised);
}
body.iq-variant-editorial .iq-discovery { border-radius: 6px; }
body.iq-variant-editorial .product__info-wrap,
body.iq-variant-editorial .product__reviews-inner { border-radius: 6px; box-shadow: none; }

body.iq-variant-orbit .iq-library-intro {
  background:
    radial-gradient(circle at 85% 18%, rgba(36, 226, 202, .22), transparent 28%),
    radial-gradient(circle at 20% 100%, rgba(116, 82, 255, .25), transparent 40%),
    #111027;
}
body.iq-variant-orbit .iq-library-intro__eyebrow,
body.iq-variant-orbit .iq-discovery__eyebrow { color: var(--iq-action-signal); }
body.iq-variant-orbit .catalog-item {
  position: relative;
  overflow: hidden;
  border-color: color-mix(in srgb, var(--iq-action-signal) 28%, transparent);
  background: var(--iq-card-bg);
}
body.iq-variant-orbit .catalog-item::after {
  content: '◌  BPM / PREVIEW';
  position: absolute;
  right: 16px;
  bottom: 76px;
  color: color-mix(in srgb, var(--iq-action-signal) 70%, transparent);
  font: 700 9px/1 var(--iq-font);
  letter-spacing: .12em;
  pointer-events: none;
}
body.iq-variant-orbit .catalog-item__name { color: #f8f7ff; }
body.iq-variant-orbit .iq-filter-chip.is-active { border-color: var(--iq-action-signal); color: var(--iq-action-signal); }
body.iq-variant-orbit .product__info-wrap {
  background: radial-gradient(circle at 90% 10%, rgba(49, 228, 207, .16), transparent 34%), #14112e;
}
body.iq-variant-orbit .product__price { color: var(--iq-action-signal); }

body.iq-variant-training .main-catalog__inner { max-width: 1280px; }
body.iq-variant-training .iq-library-intro {
  border-color: rgba(188, 255, 45, .5);
  border-radius: 30px;
  background: linear-gradient(135deg, #191d24, #10131a);
}
body.iq-variant-training .iq-discovery {
  position: relative;
  border-radius: 30px;
  background: linear-gradient(135deg, rgba(188, 255, 45, .12), rgba(116, 82, 255, .14));
}
body.iq-variant-training .iq-discovery::before {
  content: '01 / 03';
  position: absolute;
  top: 18px;
  right: 22px;
  color: var(--iq-lime);
  font: 700 11px/1 var(--iq-font);
  letter-spacing: .12em;
}
body.iq-variant-training .main-catalog__list { gap: 24px; }
body.iq-variant-training .catalog-item {
  border-radius: 26px;
  border-color: rgba(188, 255, 45, .24);
  background: #17182a;
}
body.iq-variant-training .catalog-item__image { border-radius: 20px; }
body.iq-variant-training .catalog-item__name { font-size: 20px; }
body.iq-variant-training .product__info-wrap,
body.iq-variant-training .product__reviews-inner { border-radius: 28px; }

@media (max-width: 760px) {
  /* A fixed discount badge covered product controls and the live-tempo panel.
     The timed popup remains available; remove the duplicate floating control
     on touch screens until the inline mobile offer replaces it. */
  body .open-promo-popup-btn { display: none; }
  body.post-type-archive-product .main-catalog__list,
  body.tax-product_cat .main-catalog__list,
  body.iq-variant-editorial .main-catalog__list { grid-template-columns: 1fr; gap: 12px; }
  body.iq-variant-editorial .catalog-item__name,
  body.iq-variant-training .catalog-item__name { font-size: 16px; }
  body.iq-variant-orbit .catalog-item::after { right: 10px; bottom: 64px; font-size: 8px; }
  body.iq-variant-training .iq-discovery::before { top: 16px; right: 16px; }
}

/* News archive: bring the legacy white feed into the Editorial Motion system. */
body.post-type-archive-news {
  background: var(--iq-bg-canvas);
  color: var(--iq-fg-primary);
}
body.post-type-archive-news .news {
  position: relative;
  min-height: 70vh;
  overflow: hidden;
  background:
    linear-gradient(rgba(239, 158, 113, .05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(239, 158, 113, .05) 1px, transparent 1px),
    var(--iq-bg-canvas);
  background-size: 96px 96px;
}
body.post-type-archive-news .news__inner {
  position: relative;
  z-index: 1;
  width: min(1200px, calc(100% - 48px));
  margin: 0 auto;
  padding: 52px 0 96px;
}
body.post-type-archive-news .news__title {
  margin: 0 0 42px;
  color: var(--iq-fg-primary);
  font: 700 clamp(38px, 5vw, 76px)/.96 var(--iq-display);
  letter-spacing: -.07em;
}
body.post-type-archive-news .news__title b { color: var(--iq-action-primary); }
body.post-type-archive-news .news__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
body.post-type-archive-news .news-preview {
  position: relative;
  display: grid;
  grid-template-columns: minmax(190px, .92fr) 1.08fr;
  width: 100%;
  min-height: 280px;
  overflow: hidden;
  border: 1px solid var(--iq-card-border);
  border-radius: 8px;
  background: var(--iq-card-bg);
  box-shadow: none;
  color: var(--iq-fg-primary);
  transition: border-color .3s ease, transform .3s ease, background .3s ease;
}
body.post-type-archive-news .news-preview::after {
  content: '↗';
  position: absolute;
  right: 18px;
  bottom: 16px;
  color: var(--iq-action-primary);
  font: 700 18px/1 var(--iq-font);
}
body.post-type-archive-news .news-preview:hover,
body.post-type-archive-news .news-preview:focus-visible {
  border-color: var(--iq-action-primary);
  background: var(--iq-bg-surface-raised);
  transform: translateY(-4px);
  outline: none;
}
body.post-type-archive-news .news-preview__image {
  min-height: 280px;
  margin: 0;
  background-position: center;
  background-size: cover;
  filter: saturate(.82) contrast(1.04);
}
body.post-type-archive-news .news-preview__wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 24px 34px 42px 24px;
  background: transparent;
}
body.post-type-archive-news .news-preview__date {
  margin-bottom: 24px;
  color: var(--iq-action-signal);
  font: 700 10px/1 var(--iq-font);
  letter-spacing: .12em;
  text-transform: uppercase;
}
body.post-type-archive-news .news-preview__title {
  margin: 0 0 14px;
  color: var(--iq-fg-primary);
  font: 700 22px/1.06 var(--iq-display);
  letter-spacing: -.04em;
}
body.post-type-archive-news .news-preview__text {
  margin: 0;
  color: var(--iq-fg-muted);
  font: 400 14px/1.45 var(--iq-font);
}
body.post-type-archive-news .pagination { margin-top: 32px; }
body.post-type-archive-news .pagination a,
body.post-type-archive-news .pagination span { color: var(--iq-fg-primary); }

@media (max-width: 760px) {
  body.post-type-archive-news .news__inner { width: min(100% - 36px, 560px); padding: 34px 0 72px; }
  body.post-type-archive-news .news__title { margin-bottom: 28px; font-size: 42px; }
  body.post-type-archive-news .news__list { grid-template-columns: 1fr; gap: 12px; }
  body.post-type-archive-news .news-preview { grid-template-columns: 132px minmax(0, 1fr); min-height: 176px; }
  body.post-type-archive-news .news-preview__image { min-height: 176px; }
  body.post-type-archive-news .news-preview__wrap { padding: 18px 28px 30px 16px; }
  body.post-type-archive-news .news-preview__date { margin-bottom: 14px; font-size: 9px; }
  body.post-type-archive-news .news-preview__title { font-size: 17px; }
  body.post-type-archive-news .news-preview__text { font-size: 12px; }
  body.post-type-archive-news .news-preview::after { right: 12px; bottom: 12px; font-size: 15px; }
}

/* Shared promotion modal: keep the conversion layer inside the new brand system. */
body.iq-variant-editorial .popup {
  background: rgba(7, 7, 6, .84);
  backdrop-filter: blur(10px);
}
body.iq-variant-editorial .popup__window--promo {
  width: min(760px, calc(100% - 32px));
  height: auto;
  max-height: calc(100% - 40px);
  padding: 54px 64px 64px;
  overflow-y: auto;
  border: 1px solid rgba(217, 255, 82, .34);
  border-radius: 10px;
  background:
    linear-gradient(135deg, rgba(217, 255, 82, .08), transparent 42%),
    var(--iq-bg-surface);
  box-shadow: 0 30px 90px rgba(0, 0, 0, .55);
}
body.iq-variant-editorial .popup__window--promo::before {
  content: 'IQ FITNESS / FIRST MOVE';
  display: block;
  margin-bottom: 34px;
  color: var(--iq-action-primary);
  font: 700 10px/1 var(--iq-font);
  letter-spacing: .16em;
}
body.iq-variant-editorial .popup__close { color: var(--iq-fg-primary); }
body.iq-variant-editorial .popup__close svg { fill: currentColor; }
body.iq-variant-editorial .popup__title,
body.iq-variant-editorial .popup__subtitle,
body.iq-variant-editorial .popup-form__input-title { color: var(--iq-fg-primary); }
body.iq-variant-editorial .popup__title {
  font: 700 clamp(30px, 4vw, 52px)/.98 var(--iq-display);
  letter-spacing: -.06em;
}
body.iq-variant-editorial .popup__subtitle {
  max-width: 560px;
  margin: 18px auto 0;
  font: 400 17px/1.35 var(--iq-font);
}
body.iq-variant-editorial .popup-form__input-title {
  margin-top: 54px;
  font: 600 14px/1.2 var(--iq-font);
  text-align: left;
}
body.iq-variant-editorial .popup-form__input {
  height: 54px;
  padding: 0 16px;
  border: 1px solid var(--iq-border-subtle);
  border-radius: 6px;
  background: rgba(255, 255, 255, .06);
  color: var(--iq-fg-primary);
  font: 400 18px/1 var(--iq-font);
}
body.iq-variant-editorial .popup-form__input:focus { border-color: var(--iq-action-primary); outline: none; }
body.iq-variant-editorial .popup-form__submit {
  width: 100%;
  height: 56px;
  margin-top: 28px;
  border: 0;
  border-radius: 999px;
  background: var(--iq-action-primary);
  color: var(--iq-bg-canvas);
  font: 700 15px/1 var(--iq-font);
  letter-spacing: .04em;
}
body.iq-variant-editorial .popup-form__submit:hover,
body.iq-variant-editorial .popup-form__submit:focus-visible { background: #efffa8; outline: 2px solid var(--iq-action-primary); outline-offset: 3px; }
body.iq-variant-editorial .popup .checkbox,
body.iq-variant-editorial .popup .checkbox__text { color: var(--iq-fg-muted); }

@media (max-width: 601px) {
  body.iq-variant-editorial .popup__window--promo { padding: 42px 20px 28px; border-radius: 8px; }
  body.iq-variant-editorial .popup__title { font-size: 32px; }
  body.iq-variant-editorial .popup__subtitle { font-size: 15px; }
  body.iq-variant-editorial .popup-form__input-title { margin-top: 34px; }
}

/* Variant 3 signature: a living poster hero, restrained everywhere else. */
body.home.iq-variant-editorial .header {
  background: #0d0d0c;
  border-bottom-color: rgba(242, 234, 220, .22);
}
body.home.iq-variant-editorial .main-banner--iq {
  height: min(760px, calc(100vh - 116px));
  min-height: 620px;
  border-radius: 0;
  background:
    linear-gradient(112deg, transparent 0 67%, rgba(239, 158, 113, .95) 67% 74%, transparent 74%),
    radial-gradient(circle at 68% 48%, rgba(242, 234, 220, .08), transparent 28%),
    #0d0d0c;
  --iq-tempo-accent: #d9ff52;
  --iq-tempo-signal: #ef9e71;
}
body.home.iq-variant-editorial .main-banner--iq::before {
  z-index: 0;
  background:
    radial-gradient(circle at 64% 46%, rgba(242, 234, 220, .32) 0 1px, transparent 1.5px) 0 0 / 9px 9px,
    linear-gradient(90deg, rgba(13, 13, 12, .98) 0%, rgba(13, 13, 12, .88) 44%, rgba(13, 13, 12, .12) 78%, rgba(13, 13, 12, .35) 100%);
  opacity: .76;
}
body.home.iq-variant-editorial .main-banner--iq::after {
  content: 'MOVE\A RHYTHM\A TRAIN';
  position: absolute;
  z-index: 1;
  top: 5%;
  right: -3%;
  color: transparent;
  font: 900 clamp(92px, 12vw, 186px)/.78 var(--iq-display);
  letter-spacing: -.12em;
  opacity: .2;
  pointer-events: none;
  white-space: pre;
  transform: rotate(-7deg);
  -webkit-text-stroke: 1px var(--iq-fg-primary);
}
body.home.iq-variant-editorial .main-banner--iq .main-banner__inner { max-width: 1260px; padding-inline: 30px; }
body.home.iq-variant-editorial .main-banner--iq .main-banner__content { width: min(46%, 530px); }
body.home.iq-variant-editorial .main-banner__eyebrow {
  color: var(--iq-action-primary);
  font-size: 10px;
  letter-spacing: .22em;
}
body.home.iq-variant-editorial .main-banner--iq .main-banner__title {
  max-width: 640px;
  font-size: clamp(54px, 6.3vw, 92px);
  line-height: .83;
  letter-spacing: -.1em;
  text-transform: uppercase;
}
body.home.iq-variant-editorial .main-banner--iq .main-banner__title b {
  margin-top: 3px;
  color: var(--iq-action-primary);
  font-size: .88em;
  line-height: .9;
}
body.home.iq-variant-editorial .main-banner__description { max-width: 360px; color: var(--iq-fg-muted); }
body.home.iq-variant-editorial .main-banner__tempo-switch { gap: 0; }
body.home.iq-variant-editorial .main-banner__tempo-button {
  min-height: 38px;
  border-radius: 0;
  border-color: rgba(242, 234, 220, .28);
  text-transform: uppercase;
  letter-spacing: .08em;
}
body.home.iq-variant-editorial .main-banner__tempo-button + .main-banner__tempo-button { border-left: 0; }
body.home.iq-variant-editorial .main-banner__tempo-button.is-active { background: var(--iq-action-primary); color: var(--iq-bg-canvas); }
body.home.iq-variant-editorial .main-banner__actions { gap: 0; }
body.home.iq-variant-editorial .main-banner__cta,
body.home.iq-variant-editorial .main-banner__secondary {
  border-radius: 0;
  text-transform: uppercase;
  letter-spacing: .08em;
}
body.home.iq-variant-editorial .main-banner__cta { min-width: 230px; justify-content: space-between; }
body.home.iq-variant-editorial .main-banner__secondary { border-color: rgba(242, 234, 220, .34); }
body.home.iq-variant-editorial .main-banner__tempo-desk {
  width: min(49%, 690px);
  border-radius: 4px;
  border-color: rgba(242, 234, 220, .28);
  background:
    radial-gradient(circle at 50% 50%, rgba(217, 255, 82, .16), transparent 33%),
    rgba(13, 13, 12, .16);
  box-shadow: 16px 16px 0 rgba(13, 13, 12, .3), 0 30px 80px rgba(0, 0, 0, .34);
  backdrop-filter: none;
}
body.home.iq-variant-editorial .main-banner__tempo-desk::after {
  content: 'AUDIO × VIDEO / PERFECTLY SYNCED';
  position: absolute;
  right: 20px;
  top: 50%;
  color: var(--iq-action-primary);
  font: 700 9px/1 var(--iq-font);
  letter-spacing: .14em;
  writing-mode: vertical-rl;
  transform: translateY(-50%);
}
body.home.iq-variant-editorial .main-banner__tempo-wave {
  stroke: var(--iq-fg-primary);
  stroke-width: 4;
  filter: drop-shadow(0 0 7px rgba(217, 255, 82, .55));
}
body.home.iq-variant-editorial .main-banner__tempo-track { stroke: rgba(242, 234, 220, .34); }
body.home.iq-variant-editorial .main-banner__tempo-core { fill: rgba(217, 255, 82, .16); stroke: var(--iq-action-primary); }
body.home.iq-variant-editorial .main-banner__tempo-readout strong { color: var(--iq-fg-primary); }
body.home.iq-variant-editorial .main-catalog { border-top-color: var(--iq-action-signal); }
body.home.iq-variant-editorial .main-catalog__title,
body.home.iq-variant-editorial .home-news__title { text-transform: uppercase; letter-spacing: -.08em; }
body.home.iq-variant-editorial .catalog-item { border-radius: 4px; }
body.home.iq-variant-editorial .catalog-item__image { border-radius: 2px; }

/* Variant 3 system layer: cards and player carry the poster language too. */
body.iq-variant-editorial .catalog-item {
  overflow: hidden;
  border: 1px solid rgba(242, 234, 220, .16);
  border-radius: 4px;
  background:
    linear-gradient(135deg, rgba(217, 255, 82, .055), transparent 34%),
    #151514;
  box-shadow: 8px 8px 0 rgba(239, 158, 113, .14), 0 18px 40px rgba(0, 0, 0, .24);
}
body.iq-variant-editorial .catalog-item::after {
  content: 'IQ / AUDIO OBJECT';
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 2;
  padding: 4px 5px 3px;
  background: #111110;
  color: var(--iq-action-primary);
  font: 700 8px/1 var(--iq-font);
  letter-spacing: .14em;
  pointer-events: none;
}
body.iq-variant-editorial .catalog-item__image {
  border-radius: 2px;
  filter: saturate(.82) contrast(1.06);
  transition: filter 260ms ease, transform 420ms cubic-bezier(.2, .8, .2, 1);
}
body.iq-variant-editorial .catalog-item:hover {
  border-color: rgba(217, 255, 82, .62);
  box-shadow: 11px 11px 0 rgba(239, 158, 113, .24), 0 24px 50px rgba(0, 0, 0, .34);
  transform: translate(-2px, -3px);
}
body.iq-variant-editorial .catalog-item:hover .catalog-item__image {
  filter: saturate(1.04) contrast(1.08);
  transform: scale(1.025);
}
body.iq-variant-editorial .catalog-item__name {
  color: var(--iq-fg-primary);
  font-weight: 700;
  letter-spacing: -.035em;
}
body.iq-variant-editorial .catalog-item__description,
body.iq-variant-editorial .catalog-item__meta {
  color: var(--iq-fg-muted);
}
body.iq-variant-editorial .catalog-item__price,
body.iq-variant-editorial .catalog-item__button,
body.iq-variant-editorial .catalog-item .button {
  border-radius: 0;
  text-transform: uppercase;
  letter-spacing: .08em;
}

body.iq-variant-editorial .iq-motion-player {
  overflow: visible;
  border: 1px solid rgba(217, 255, 82, .56);
  border-radius: 3px;
  background:
    linear-gradient(110deg, rgba(239, 158, 113, .12), transparent 34%),
    #111110;
  box-shadow: 9px 9px 0 rgba(239, 158, 113, .18), 0 24px 58px rgba(0, 0, 0, .5);
  backdrop-filter: none;
}
body.iq-variant-editorial .iq-motion-player::before {
  top: -9px;
  right: 14px;
  border: 0;
  border-radius: 0;
  background: var(--iq-action-primary);
  color: var(--iq-bg-canvas);
  content: 'NOW PLAYING / LIVE PREVIEW';
}
body.iq-variant-editorial .iq-sticky-player__pulse {
  border-radius: 2px;
  background: rgba(217, 255, 82, .09);
}
body.iq-variant-editorial .iq-sticky-player__pulse i { border-radius: 0; background: var(--iq-action-primary); }
body.iq-variant-editorial .iq-sticky-player__eyebrow { color: var(--iq-action-signal); }
body.iq-variant-editorial .iq-sticky-player__track strong { color: var(--iq-fg-primary); }
body.iq-variant-editorial .iq-sticky-player__toggle {
  border-radius: 2px;
  background: var(--iq-action-primary);
  color: var(--iq-bg-canvas);
}
body.iq-variant-editorial .iq-sticky-player__close { color: var(--iq-fg-muted); }

@media (max-width: 760px) {
  body.iq-variant-editorial .catalog-item {
    box-shadow: 5px 5px 0 rgba(239, 158, 113, .16), 0 12px 28px rgba(0, 0, 0, .2);
  }
  body.iq-variant-editorial .catalog-item:hover { transform: none; }
  body.iq-variant-editorial .iq-motion-player {
    right: 10px;
    bottom: 10px;
    width: calc(100vw - 20px);
    box-shadow: 5px 5px 0 rgba(239, 158, 113, .18), 0 18px 38px rgba(0, 0, 0, .5);
  }
}

@media (max-width: 760px) {
  body.home.iq-variant-editorial .main-banner--iq { height: 1040px; min-height: 0; }
  body.home.iq-variant-editorial .main-banner--iq::after { top: 42%; right: -17%; font-size: 105px; opacity: .13; }
  body.home.iq-variant-editorial .main-banner--iq .main-banner__inner { padding-inline: 18px; }
  body.home.iq-variant-editorial .main-banner--iq .main-banner__title { font-size: 50px; }
  body.home.iq-variant-editorial .main-banner__actions { align-items: flex-start; flex-direction: column; gap: 8px; }
  body.home.iq-variant-editorial .main-banner__tempo-desk { top: 690px; bottom: auto; right: 18px; width: calc(100% - 36px); transform: none; }
  body.home.iq-variant-editorial .main-banner__tempo-desk::after { display: none; }
  body.home.iq-variant-editorial .main-banner__tempo-orbit { aspect-ratio: 1.35 / 1; }
}

/* Vector Commerce finish: turn the catalog into a coherent product instrument. */
body.iq-variant-editorial.post-type-archive-product main,
body.iq-variant-editorial.tax-product_cat main {
  background:
    linear-gradient(90deg, transparent 0 8%, rgba(242, 234, 220, .035) 8.05%, transparent 8.1%),
    radial-gradient(circle at 84% 8%, rgba(111, 37, 255, .18), transparent 26%),
    #0d0d0c;
}
body.iq-variant-editorial.post-type-archive-product .main-catalog__inner,
body.iq-variant-editorial.tax-product_cat .main-catalog__inner {
  flex-wrap: wrap;
}
body.iq-variant-editorial.post-type-archive-product .main-catalog__sidebar-wrapper,
body.iq-variant-editorial.tax-product_cat .main-catalog__sidebar-wrapper {
  flex: 0 0 230px;
}
body.iq-variant-editorial.post-type-archive-product .main-catalog__list,
body.iq-variant-editorial.tax-product_cat .main-catalog__list {
  flex: 1 1 0;
  width: auto;
  min-width: 0;
}
body.iq-variant-editorial .main-catalog__quick-categories {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  flex: 0 0 100%;
  align-self: flex-start;
  width: 100%;
  height: auto;
  min-width: 0;
  gap: 0;
  margin-bottom: 36px;
  border-block: 1px solid rgba(242, 234, 220, .18);
}
body.iq-variant-editorial .main-catalog__quick-category {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  align-content: center;
  column-gap: 12px;
  min-height: 92px;
  min-width: 0;
  padding: 20px;
  border-right: 1px solid rgba(242, 234, 220, .14);
  border-radius: 0;
  background: linear-gradient(135deg, rgba(111, 37, 255, .13), transparent 58%);
  color: var(--iq-fg-primary);
}
body.iq-variant-editorial .main-catalog__quick-category:nth-child(2n) {
  background: linear-gradient(135deg, rgba(217, 255, 82, .12), transparent 58%);
}
body.iq-variant-editorial .main-catalog__quick-category:hover {
  background: var(--iq-action-primary);
  color: var(--iq-bg-canvas);
  transform: none;
}
body.iq-variant-editorial .main-catalog__quick-category-kicker {
  grid-column: 1;
  min-width: 0;
  color: rgba(242, 234, 220, .58);
  font: 700 10px/1.1 var(--iq-font);
  letter-spacing: .1em;
  overflow-wrap: anywhere;
  text-transform: uppercase;
}
body.iq-variant-editorial .main-catalog__quick-category-title {
  grid-column: 1;
  min-width: 0;
  font-weight: 800;
  letter-spacing: -.035em;
  overflow-wrap: anywhere;
}
body.iq-variant-editorial .main-catalog__quick-category-arrow {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: center;
  color: var(--iq-action-signal);
}
body.iq-variant-editorial .main-catalog__quick-category:hover .main-catalog__quick-category-arrow { color: inherit; }
body.iq-variant-editorial .main-catalog__title {
  display: flex;
  align-items: center;
  gap: 14px;
  text-transform: uppercase;
}
body.iq-variant-editorial .main-catalog__title::before {
  content: '01';
  color: var(--iq-action-primary);
  font: 700 12px/1 var(--iq-font);
  letter-spacing: .12em;
}
body.iq-variant-editorial .iq-library-intro,
body.iq-variant-editorial .iq-discovery {
  border-radius: 3px;
  background:
    linear-gradient(135deg, rgba(217, 255, 82, .12), transparent 28%),
    linear-gradient(110deg, rgba(111, 37, 255, .1), transparent 62%),
    #151514;
  box-shadow: 8px 8px 0 rgba(239, 158, 113, .16);
}
body.iq-variant-editorial .iq-library-intro { border-color: rgba(217, 255, 82, .44); }
body.iq-variant-editorial .iq-library-intro__plan,
body.iq-variant-editorial .iq-library-intro__support { border-radius: 2px; }
body.iq-variant-editorial .iq-discovery { border-color: rgba(111, 37, 255, .5); }
body.iq-variant-editorial .iq-filter-chip { border-radius: 2px; }
body.iq-variant-editorial .iq-filter-chip.is-active { background: var(--iq-action-primary); color: var(--iq-bg-canvas); }
body.iq-variant-editorial .main-catalog__list > .catalog-item {
  position: relative;
  border-color: rgba(242, 234, 220, .24);
  background:
    linear-gradient(135deg, rgba(111, 37, 255, .16), transparent 44%),
    #141413;
}
body.iq-variant-editorial .main-catalog__list > .catalog-item:nth-of-type(3n + 1) { border-color: rgba(217, 255, 82, .38); }
body.iq-variant-editorial .main-catalog__list > .catalog-item:nth-of-type(3n + 2) { background: linear-gradient(135deg, rgba(239, 158, 113, .15), transparent 42%), #141413; }
body.iq-variant-editorial .main-catalog__list > .catalog-item:nth-of-type(3n) { background: linear-gradient(135deg, rgba(111, 37, 255, .23), transparent 42%), #141413; }
body.iq-variant-editorial .catalog-item__image { background-color: #0d0d0c; }
body.iq-variant-editorial .catalog-item__real-price { color: var(--iq-action-primary); }
body.iq-variant-editorial .catalog-item__discount { border-radius: 0; background: var(--iq-action-signal); color: var(--iq-bg-canvas); }
body.iq-variant-editorial .catalog-item__label-wrap { gap: 4px; }
body.iq-variant-editorial .catalog-item__label { border-radius: 2px; }
body.iq-variant-editorial .catalog-item__cart,
body.iq-variant-editorial .catalog-item__like,
body.iq-variant-editorial .catalog-item__play { border-radius: 2px; }
body.iq-variant-editorial .catalog-item__cart { background: var(--iq-action-primary); color: var(--iq-bg-canvas); }
body.iq-variant-editorial .catalog-item__play.iq-card-play.is-playing { background: #8d39ff; color: #fff; }

@media (max-width: 760px) {
  body.iq-variant-editorial .main-catalog__quick-categories { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.iq-variant-editorial .main-catalog__quick-category { min-height: 72px; padding: 14px; }
  body.iq-variant-editorial .main-catalog__quick-category:nth-child(2n) { border-right: 0; }
  body.iq-variant-editorial .iq-library-intro,
  body.iq-variant-editorial .iq-discovery { box-shadow: 5px 5px 0 rgba(239, 158, 113, .16); }
}

/* Product detail follows the same commerce instrument instead of reverting to
   the older rounded purple purchase block. */
body.iq-variant-editorial.single-product .product__info-wrap {
  border: 1px solid rgba(217, 255, 82, .34);
  border-radius: 4px;
  background:
    linear-gradient(135deg, rgba(111, 37, 255, .2), transparent 38%),
    #141413;
  box-shadow: 9px 9px 0 rgba(239, 158, 113, .16), 0 28px 70px rgba(0, 0, 0, .3);
}
body.iq-variant-editorial.single-product .product__img {
  border: 1px solid rgba(242, 234, 220, .16);
  border-radius: 2px;
  background: #0d0d0c;
}
body.iq-variant-editorial.single-product .product__purchase-count { color: var(--iq-action-signal); }
body.iq-variant-editorial.single-product .product__title { text-transform: uppercase; }
body.iq-variant-editorial.single-product .product__price { color: var(--iq-action-primary); }
body.iq-variant-editorial.single-product .product__add-to-cart,
body.iq-variant-editorial.single-product .product__actions > .btn:not(.product__add-to-cart),
body.iq-variant-editorial.single-product .product__form .simplefavorite-button,
body.iq-variant-editorial.single-product .product__form .btn--light-violet {
  border-radius: 2px;
  text-transform: uppercase;
  letter-spacing: .06em;
}
body.iq-variant-editorial.single-product .product__add-to-cart { background: var(--iq-action-primary); color: var(--iq-bg-canvas); }
body.iq-variant-editorial.single-product .product__actions .simplefavorite-button { border-color: var(--iq-action-signal) !important; color: var(--iq-action-signal) !important; }
body.iq-variant-editorial.single-product .product__reviews-inner {
  border: 1px solid rgba(111, 37, 255, .5);
  border-radius: 4px;
  background: #141413;
  box-shadow: 7px 7px 0 rgba(239, 158, 113, .12);
}
body.iq-variant-editorial.single-product .product__reviews .woocommerce-verification-required {
  border-radius: 2px;
  border-color: rgba(239, 158, 113, .35);
  background: rgba(239, 158, 113, .08);
  color: var(--iq-action-signal);
}
body.iq-variant-editorial.single-product .player-controls .player__btn,
body.iq-variant-editorial.single-product .player__btn { border-radius: 2px; }

@media (max-width: 760px) {
  body.iq-variant-editorial.single-product .product__info-wrap { box-shadow: 5px 5px 0 rgba(239, 158, 113, .16); }
  body.iq-variant-editorial.single-product .product__reviews-inner { box-shadow: 4px 4px 0 rgba(239, 158, 113, .12); }
}

/* Hero object: the chrome waveform is the visual anchor of the selected
   Vector Commerce direction; the old SVG remains as a restrained data layer. */
body.home.iq-variant-editorial .main-banner__tempo-orbit { isolation: isolate; }
body.home.iq-variant-editorial .main-banner__tempo-orbit svg { opacity: .18; }
body.home.iq-variant-editorial .main-banner__chrome-wave {
  position: absolute;
  z-index: 2;
  inset: 13% 2% 12%;
  display: grid;
  place-items: center;
  pointer-events: none;
  mix-blend-mode: screen;
}
/* <picture> нужен только затем, чтобы браузер сам выбрал AVIF/WebP/PNG.
   В раскладке его быть не должно: контейнер — grid, и без display:contents
   элементом сетки станет picture, а картинка начнёт считать свои проценты
   от него, а не от контейнера. 04.08.2026 */
.main-banner__chrome-wave picture { display: contents; }

body.home.iq-variant-editorial .main-banner__chrome-wave img {
  display: block;
  width: 106%;
  max-width: none;
  opacity: .96;
  filter: contrast(1.12) saturate(1.15) drop-shadow(0 0 12px rgba(217, 255, 82, .2));
  transform: rotate(-3deg);
}
body.home.iq-variant-editorial .main-banner__tempo-readout { z-index: 3; }
body.home.iq-variant-editorial .main-banner__tempo-readout strong { text-shadow: 0 0 22px rgba(217, 255, 82, .18); }
@media (max-width: 760px) {
  body.home.iq-variant-editorial .main-banner__chrome-wave {
    inset: 18% -26% 21%;
    align-items: center;
  }
  body.home.iq-variant-editorial .main-banner__chrome-wave img { width: 145%; opacity: .86; }
}

/* Featured rail: the home page now transitions from hero into a set of real
   destinations, matching the reference's product/data strip. */
body.home.iq-variant-editorial .iq-feature-rail {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid rgba(242, 234, 220, .2);
  border-bottom: 1px solid rgba(242, 234, 220, .2);
  background: #0d0d0c;
}
body.home.iq-variant-editorial .iq-feature-rail__item {
  position: relative;
  display: grid;
  min-height: 196px;
  padding: 18px 20px 22px;
  overflow: hidden;
  border-right: 1px solid rgba(242, 234, 220, .16);
  color: var(--iq-fg-primary);
  text-decoration: none;
  transition: background-color .25s ease, color .25s ease;
}
body.home.iq-variant-editorial .iq-feature-rail__item:last-child { border-right: 0; }
body.home.iq-variant-editorial .iq-feature-rail__item:hover { background: var(--iq-action-primary); color: var(--iq-bg-canvas); }
body.home.iq-variant-editorial .iq-feature-rail__index {
  position: relative;
  z-index: 2;
  color: var(--iq-action-primary);
  font: 700 11px/1 var(--iq-font);
  letter-spacing: .13em;
}
body.home.iq-variant-editorial .iq-feature-rail__copy {
  position: relative;
  z-index: 2;
  align-self: end;
  display: grid;
  gap: 8px;
  max-width: 170px;
}
body.home.iq-variant-editorial .iq-feature-rail__copy b {
  font: 700 18px/1 var(--iq-display);
  letter-spacing: -.04em;
  text-transform: uppercase;
}
body.home.iq-variant-editorial .iq-feature-rail__copy small {
  color: var(--iq-fg-muted);
  font: 500 10px/1.3 var(--iq-font);
  letter-spacing: .04em;
}
body.home.iq-variant-editorial .iq-feature-rail__item:hover .iq-feature-rail__copy small { color: inherit; opacity: .76; }
body.home.iq-variant-editorial .iq-feature-rail__arrow {
  position: absolute;
  right: 18px;
  bottom: 18px;
  z-index: 2;
  font-size: 22px;
}
body.home.iq-variant-editorial .iq-feature-rail__visual { position: absolute; inset: 0; opacity: .58; pointer-events: none; }
body.home.iq-variant-editorial .iq-feature-rail__visual--orbit {
  background: radial-gradient(circle at 68% 30%, var(--iq-action-primary) 0 3px, transparent 4px), repeating-radial-gradient(circle at 68% 30%, transparent 0 22px, rgba(217, 255, 82, .26) 23px 24px, transparent 25px 40px);
}
body.home.iq-variant-editorial .iq-feature-rail__visual--grid {
  background: linear-gradient(135deg, transparent 0 48%, rgba(111, 37, 255, .65) 48% 68%, transparent 68%), radial-gradient(circle, rgba(255,255,255,.24) 1px, transparent 1.5px) 0 0 / 8px 8px;
}
body.home.iq-variant-editorial .iq-feature-rail__visual--signal {
  background: linear-gradient(150deg, transparent 0 46%, rgba(239, 158, 113, .8) 46% 55%, transparent 55%), repeating-linear-gradient(90deg, transparent 0 14px, rgba(239, 158, 113, .25) 15px 16px);
}
body.home.iq-variant-editorial .iq-feature-rail__visual--rings {
  background: radial-gradient(circle at 70% 28%, transparent 0 22px, rgba(242, 234, 220, .28) 23px 24px, transparent 25px 44px, rgba(242, 234, 220, .18) 45px 46px, transparent 47px);
}
body.home.iq-variant-editorial .iq-feature-rail__item--violet .iq-feature-rail__index { color: #b56bff; }
body.home.iq-variant-editorial .iq-feature-rail__item--orange .iq-feature-rail__index { color: var(--iq-action-signal); }

@media (max-width: 760px) {
  body.home.iq-variant-editorial .iq-feature-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.home.iq-variant-editorial .iq-feature-rail__item { min-height: 156px; padding: 14px; }
  body.home.iq-variant-editorial .iq-feature-rail__item:nth-child(2n) { border-right: 0; }
  body.home.iq-variant-editorial .iq-feature-rail__item:nth-child(-n + 2) { border-bottom: 1px solid rgba(242, 234, 220, .16); }
  body.home.iq-variant-editorial .iq-feature-rail__copy b { font-size: 15px; }
}

/* Homepage rebuild: a quieter, more art-directed composition closer to the
   approved reference. One dominant object, one typographic block, one data
   instrument. */
body.home.iq-variant-editorial .main-banner--iq {
  height: min(780px, calc(100vh - 116px));
  min-height: 680px;
  overflow: hidden;
  background:
    radial-gradient(circle at 70% 48%, rgba(111, 37, 255, .14), transparent 30%),
    #090a09;
}
body.home.iq-variant-editorial .main-banner--iq::after {
  content: 'IQ';
  top: -5%;
  right: -1%;
  z-index: 0;
  color: rgba(242, 234, 220, .08);
  font-size: clamp(300px, 46vw, 720px);
  line-height: .78;
  letter-spacing: -.18em;
  opacity: 1;
  transform: rotate(0);
  -webkit-text-stroke: 0;
}
body.home.iq-variant-editorial .main-banner--iq::before {
  z-index: 1;
  opacity: .42;
  background:
    radial-gradient(circle at 68% 48%, rgba(242, 234, 220, .28) 0 1px, transparent 1.4px) 0 0 / 10px 10px,
    linear-gradient(90deg, rgba(9, 10, 9, .98) 0%, rgba(9, 10, 9, .88) 40%, rgba(9, 10, 9, .22) 76%, rgba(9, 10, 9, .62) 100%);
}
body.home.iq-variant-editorial .main-banner--iq .main-banner__inner { z-index: 3; max-width: 1320px; }
body.home.iq-variant-editorial .main-banner--iq .main-banner__content { width: min(35%, 440px); }
body.home.iq-variant-editorial .main-banner--iq .main-banner__title {
  max-width: 500px;
  font-size: clamp(54px, 6.3vw, 92px);
  line-height: .82;
  letter-spacing: -.11em;
}
body.home.iq-variant-editorial .main-banner--iq .main-banner__title b { font-size: .84em; }
body.home.iq-variant-editorial .main-banner__description { max-width: 300px; }
body.home.iq-variant-editorial .main-banner__tempo-desk {
  z-index: 2;
  right: 1%;
  width: min(63%, 820px);
  border: 1px solid rgba(242, 234, 220, .18);
  background: rgba(9, 10, 9, .08);
  box-shadow: none;
}
body.home.iq-variant-editorial .main-banner__tempo-orbit { aspect-ratio: 1.42 / 1; }
body.home.iq-variant-editorial .main-banner__chrome-wave {
  inset: 8% -4% 8% 14%;
}
body.home.iq-variant-editorial .main-banner__chrome-wave img {
  width: 114%;
  transform: translateX(5%) rotate(-3deg);
  filter: contrast(1.2) saturate(1.12) drop-shadow(0 10px 22px rgba(0, 0, 0, .5));
}
body.home.iq-variant-editorial .main-banner__tempo-readout { transform: translate(5%, 8%); }
body.home.iq-variant-editorial .main-banner__tempo-readout strong { font-size: clamp(62px, 8vw, 108px); }
body.home.iq-variant-editorial .main-banner__tempo-scale { padding-inline: 34px; }
body.home.iq-variant-editorial .main-banner__tempo-desk::after { right: 12px; }
body.home.iq-variant-editorial .iq-feature-rail { position: relative; z-index: 4; }

@media (max-width: 760px) {
  body.home.iq-variant-editorial .main-banner--iq { height: 1040px; min-height: 0; }
  body.home.iq-variant-editorial .main-banner--iq::after { top: 35%; right: -10%; font-size: 310px; }
  body.home.iq-variant-editorial .main-banner--iq .main-banner__content { width: min(100%, 340px); }
  body.home.iq-variant-editorial .main-banner--iq .main-banner__title { font-size: 56px; }
  body.home.iq-variant-editorial .main-banner__tempo-desk { top: 690px; width: calc(100% - 36px); }
  body.home.iq-variant-editorial .main-banner__chrome-wave { inset: 12% -35% 10%; }
  body.home.iq-variant-editorial .main-banner__chrome-wave img { width: 160%; transform: rotate(-3deg); }
  body.home.iq-variant-editorial .main-banner__tempo-readout { transform: none; }
}

/* Shell pass: header, sidebar and footer use the same restrained black frame. */
body.iq-variant-editorial .header {
  background: #090a09;
  border-bottom: 1px solid rgba(242, 234, 220, .18);
}
body.iq-variant-editorial .header__inner,
body.iq-variant-editorial .footer__inner { max-width: 1320px; }
body.iq-variant-editorial .main-nav a,
body.iq-variant-editorial .header__login-btn,
body.iq-variant-editorial .header__register-btn {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
body.iq-variant-editorial .header__login-btn,
body.iq-variant-editorial .header__register-btn {
  min-height: 44px;
  border-radius: 0;
}
body.iq-variant-editorial .header__register-btn {
  border-color: var(--iq-action-primary);
  background: var(--iq-action-primary);
  color: var(--iq-bg-canvas);
}
body.iq-variant-editorial .header__register-btn:hover { background: #efffa8; color: var(--iq-bg-canvas); }
body.iq-variant-editorial.post-type-archive-product .main-catalog__sidebar-wrapper,
body.iq-variant-editorial.tax-product_cat .main-catalog__sidebar-wrapper {
  border-right: 1px solid rgba(242, 234, 220, .14);
  background: rgba(9, 10, 9, .72);
}
body.iq-variant-editorial .main-catalog__sidebar-wrapper .sidebar,
body.iq-variant-editorial .main-catalog__sidebar-wrapper .sidebar a { color: var(--iq-fg-primary); }
body.iq-variant-editorial .main-catalog__sidebar-wrapper .sidebar > ul > li > a,
body.iq-variant-editorial .main-catalog__sidebar-wrapper .sidebar__menu > li > a {
  border-bottom-color: rgba(242, 234, 220, .12);
  color: var(--iq-fg-primary);
  font-size: 12px;
  letter-spacing: .07em;
  text-transform: uppercase;
}
body.iq-variant-editorial .main-catalog__sidebar-wrapper .sidebar__menu .current-menu-item > a,
body.iq-variant-editorial .main-catalog__sidebar-wrapper .sidebar a:hover {
  background: var(--iq-action-primary);
  color: var(--iq-bg-canvas);
}
body.iq-variant-editorial .footer {
  border-top: 1px solid rgba(242, 234, 220, .18);
  background: #090a09;
}
body.iq-variant-editorial .footer__content { gap: 38px; }
body.iq-variant-editorial .footer__bottom { border-top-color: rgba(242, 234, 220, .18); }
body.iq-variant-editorial .footer__support { border-radius: 0; background: rgba(217, 255, 82, .08); }
body.iq-variant-editorial .footer__support-icon { border-radius: 0; }
body.iq-variant-editorial .footer-main-nav a,
body.iq-variant-editorial .footer__library-link { text-transform: uppercase; letter-spacing: .07em; }
body.iq-variant-editorial .footer__icons a { border-radius: 0; }

/* P2 mobile consent: keep the notice readable without covering the whole CTA area. */
@media (max-width: 600px) {
  body .personal-warning {
    left: 12px;
    right: 12px;
    bottom: max(12px, env(safe-area-inset-bottom));
    max-height: 38vh;
    overflow: auto;
    padding: 12px;
    border: 1px solid rgba(230, 222, 255, .22);
    border-radius: 14px;
    background: rgba(8, 6, 15, .96);
    box-shadow: 0 16px 40px rgba(0, 0, 0, .42);
  }
  body .personal-warning__inner {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    width: 100%;
  }
  body .personal-warning__text {
    flex: 1 1 auto;
    min-width: 0;
    width: auto;
    padding: 0;
    color: var(--iq-fg-primary);
    font: 500 11px/1.35 var(--iq-font);
  }
  body .personal-warning__btn {
    flex: 0 0 auto;
    width: auto !important;
    min-width: 56px;
    min-height: 44px;
    margin: 0;
    padding: 8px 12px;
    border-color: var(--iq-action-primary);
    color: var(--iq-action-primary);
  }
}

@media (max-width: 340px) and (max-height: 650px) {
  body .personal-warning {
    top: 80px;
    bottom: auto;
  }
}

/* Header finish: one deliberate desktop grid, with search treated as a quiet
   utility rail instead of a second competing navigation bar. */
@media (min-width: 992px) {
  body.iq-variant-editorial .help-block {
    height: 38px;
    border-bottom: 1px solid rgba(242, 234, 220, .08);
    background: #111211;
    box-shadow: none;
  }
  body.iq-variant-editorial .help-block__inner {
    width: min(calc(100% - 48px), 1320px);
    height: 100%;
    min-height: 0;
    padding: 0;
  }
  body.iq-variant-editorial .help-block__search-wrap {
    width: 300px;
  }
  body.iq-variant-editorial .help-block__search-wrap .wpdreams_asl_container,
  body.iq-variant-editorial .help-block__search-wrap div.asl_w {
    width: 100% !important;
  }
  body.iq-variant-editorial .help-block__search-wrap .probox {
    height: 30px !important;
    border-bottom: 1px solid rgba(242, 234, 220, .34) !important;
  }
  body.iq-variant-editorial .help-block__search-wrap .proinput input {
    height: 30px !important;
    color: var(--iq-fg-primary) !important;
    font-size: 12px !important;
  }
  body.iq-variant-editorial .header {
    background: #080908;
    border-bottom: 1px solid rgba(242, 234, 220, .18);
  }
  body.iq-variant-editorial .header__inner {
    display: grid;
    grid-template-columns: 168px minmax(0, 1fr) auto auto;
    gap: 28px;
    width: min(calc(100% - 48px), 1320px);
    min-height: 82px;
    padding: 0;
  }
  body.iq-variant-editorial .header__logo {
    width: 148px;
    max-width: 148px;
  }
  body.iq-variant-editorial .header__logo-img:not(.header__logo-img--mobile) {
    width: 148px;
    height: auto;
  }
  body.iq-variant-editorial .main-nav__landmark {
    justify-self: center;
    min-width: 0;
  }
  body.iq-variant-editorial .main-nav {
    display: flex;
    align-items: center;
    gap: 28px;
  }
  body.iq-variant-editorial .main-nav > li > a,
  body.iq-variant-editorial .main-nav > li > a:first-child {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    color: var(--iq-fg-primary);
    font-size: 11px;
    letter-spacing: .1em;
  }
  body.iq-variant-editorial .main-nav > li:first-child > a::before {
    content: '☰';
    margin-right: 9px;
    color: var(--iq-action-primary);
    font-size: 13px;
  }
  body.iq-variant-editorial .main-nav > li > a:hover,
  body.iq-variant-editorial .main-nav > li > a:focus-visible {
    color: var(--iq-action-primary);
  }
  body.iq-variant-editorial .header__login {
    display: flex;
    justify-self: end;
    gap: 10px;
  }
  body.iq-variant-editorial .header__login-btn,
  body.iq-variant-editorial .header__register-btn,
  body.iq-variant-editorial .header__logout-btn {
    min-height: 44px;
    margin: 0;
    border-radius: 2px;
    padding-inline: 18px;
    font-size: 11px;
    letter-spacing: .08em;
  }
  body.iq-variant-editorial .header__login-btn {
    border: 1px solid rgba(242, 234, 220, .52);
    background: transparent;
  }
  body.iq-variant-editorial .header__register-btn {
    min-width: 140px;
    background: var(--iq-action-primary);
  }
  body.iq-variant-editorial .header__indicators {
    gap: 10px;
    margin: 0;
  }
  body.iq-variant-editorial .header__cart-wrap {
    margin-left: 0;
  }
  body.iq-variant-editorial .header__like,
  body.iq-variant-editorial .header__cart {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 1px solid rgba(242, 234, 220, .14);
    border-radius: 2px;
    background: rgba(242, 234, 220, .025);
    transition: border-color .2s ease, background .2s ease, transform .2s ease;
  }
  body.iq-variant-editorial .header__like:hover,
  body.iq-variant-editorial .header__cart:hover,
  body.iq-variant-editorial .header__like:focus-visible,
  body.iq-variant-editorial .header__cart:focus-visible {
    border-color: var(--iq-action-primary);
    background: rgba(217, 255, 82, .08);
    transform: translateY(-2px);
  }
  body.iq-variant-editorial .header__count {
    top: -4px;
    left: 30px;
    min-width: 16px;
    padding: 3px 4px;
    border: 2px solid #080908;
    border-radius: 999px;
    font-size: 9px;
  }
}

/* Keep the final QA overrides last so legacy responsive layers cannot undo them. */
body.iq-variant-editorial .personal-warning {
  left: 18px;
  right: auto;
  bottom: 18px;
  width: min(520px, calc(100vw - 36px));
  padding: 14px 16px;
  border: 1px solid rgba(217, 255, 82, .28);
  border-radius: 4px;
  background: rgba(8, 9, 8, .94);
  box-shadow: 0 18px 44px rgba(0, 0, 0, .34);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
body.iq-variant-editorial .personal-warning__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  width: 100%;
}
body.iq-variant-editorial .personal-warning__text { min-width: 0; padding: 0; font: 500 11px/1.4 var(--iq-font); }
body.iq-variant-editorial .personal-warning__btn {
  min-width: 64px;
  min-height: 40px;
  margin: 0;
  padding: 8px 14px;
  border: 1px solid var(--iq-action-primary);
  border-radius: 2px;
  color: var(--iq-action-primary);
  font: 700 10px/1 var(--iq-font);
  letter-spacing: .1em;
  text-transform: uppercase;
}
body.iq-variant-editorial .help-block__search-wrap:focus-within .probox {
  border-bottom-color: var(--iq-action-primary) !important;
  box-shadow: 0 1px 0 var(--iq-action-primary);
}
body.iq-variant-editorial .catalog-item__description:empty { display: none; }
body.iq-variant-editorial .catalog-item__name,
body.iq-variant-editorial .catalog-item__meta { overflow-wrap: anywhere; }
body.iq-variant-editorial.post-type-archive-product main,
body.iq-variant-editorial.tax-product_cat main,
body.iq-variant-editorial .footer { overflow-x: clip; }
body.iq-variant-editorial.post-type-archive-product .main-catalog__inner,
body.iq-variant-editorial.tax-product_cat .main-catalog__inner,
body.iq-variant-editorial .main-catalog__quick-categories,
body.iq-variant-editorial .main-catalog__quick-group { min-width: 0; max-width: 100%; box-sizing: border-box; }
body.iq-variant-editorial .main-catalog__sidebar-wrapper .sidebar__menu > li > a {
  min-height: 44px;
  border-bottom: 1px solid rgba(239, 234, 224, .08);
  transition: color .2s ease, background-color .2s ease, box-shadow .2s ease;
}
body.iq-variant-editorial .main-catalog__sidebar-wrapper .sidebar__menu > li.current-menu-item > a,
body.iq-variant-editorial .main-catalog__sidebar-wrapper .sidebar__menu > li.current-menu-ancestor > a {
  color: var(--iq-action-primary) !important;
  background: linear-gradient(90deg, rgba(217, 255, 82, .12), transparent 82%);
  box-shadow: inset 3px 0 var(--iq-action-primary);
}
body.iq-variant-editorial .main-catalog__sidebar-wrapper .sidebar__menu .sub-menu {
  margin-top: 4px;
  padding: 6px 0 6px 14px;
  border-left: 1px solid rgba(239, 234, 224, .12);
}
body.iq-variant-editorial .breadcrumbs { max-width: 1320px; margin-inline: auto; padding: 18px 0 8px; }
body.iq-variant-editorial .breadcrumbs a,
body.iq-variant-editorial .breadcrumbs li { color: var(--iq-text-muted); font: 700 10px/1.3 var(--iq-font); letter-spacing: .08em; text-transform: uppercase; }
body.iq-variant-editorial .breadcrumbs a:hover,
body.iq-variant-editorial .breadcrumbs a:focus-visible { color: var(--iq-action-primary); }
body.iq-variant-editorial .breadcrumbs li:not(:last-child)::after { color: var(--iq-accent-orange); opacity: .8; }
body.iq-variant-editorial .footer__content,
body.iq-variant-editorial .footer-nav__column { min-width: 0; }

@media (max-width: 1320px) {
  body.iq-variant-editorial .breadcrumbs { padding-inline: 24px; }
}
@media (max-width: 600px) {
  body.iq-variant-editorial .personal-warning { left: 12px; right: 12px; bottom: 12px; width: auto; padding: 10px 12px; }
  body.iq-variant-editorial .personal-warning__inner { gap: 10px; }
  body.iq-variant-editorial .personal-warning__text { font-size: 10px; }
  body.iq-variant-editorial .personal-warning__btn { min-width: 56px; min-height: 36px; padding-inline: 10px; }
  body.iq-variant-editorial .breadcrumbs { padding: 14px 16px 6px; }
}

/* Mobile card geometry must win over the broader editorial card layer. */
body.iq-variant-editorial .personal-warning__text { color: rgba(242, 234, 220, .72); }
/* Desktop catalog navigation: one primary rail plus a compact local index. */
@media (min-width: 761px) {
  body.iq-variant-editorial.post-type-archive-product .main-catalog__sidebar-wrapper,
  body.iq-variant-editorial.tax-product_cat .main-catalog__sidebar-wrapper,
  body.iq-variant-editorial .main-catalog__filters-toggle { display: none; }
  body.iq-variant-editorial.post-type-archive-product .main-catalog__list,
  body.iq-variant-editorial.tax-product_cat .main-catalog__list {
    flex: 0 0 100%;
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }
  body.iq-variant-editorial .main-catalog__quick-categories { flex: 0 0 100%; }
  body.iq-variant-editorial .main-catalog__secondary-nav {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    min-height: 42px;
    margin: 2px 0 8px;
    padding: 0 0 10px;
    border-bottom: 1px solid rgba(242, 234, 220, .14);
  }
  body.iq-variant-editorial .main-catalog__secondary-label {
    margin-right: auto;
    color: rgba(242, 234, 220, .62);
    font: 700 9px/1 var(--iq-font);
    letter-spacing: .16em;
    text-transform: uppercase;
  }
  body.iq-variant-editorial .main-catalog__secondary-link {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 12px;
    border: 1px solid rgba(242, 234, 220, .16);
    color: rgba(242, 234, 220, .72);
    font: 700 10px/1 var(--iq-font);
    letter-spacing: .08em;
    text-transform: uppercase;
    transition: border-color .2s ease, color .2s ease, background-color .2s ease;
  }
  body.iq-variant-editorial .main-catalog__list > .main-catalog__title {
    grid-column: 1 / -1;
    margin: 0 0 26px !important;
  }
  body.iq-variant-editorial .main-catalog__secondary-link:hover,
  body.iq-variant-editorial .main-catalog__secondary-link:focus-visible,
  body.iq-variant-editorial .main-catalog__secondary-link.is-active {
    border-color: var(--iq-action-primary);
    background: rgba(217, 255, 82, .1);
    color: var(--iq-action-primary);
  }
}

@media (max-width: 760px) {
  body.iq-variant-editorial .main-catalog__secondary-nav { display: none; }
}
@media (max-width: 520px) {
  body.iq-variant-editorial.post-type-archive-product .main-catalog__list,
  body.iq-variant-editorial.tax-product_cat .main-catalog__list {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }
  body.iq-variant-editorial.post-type-archive-product .catalog-item,
  body.iq-variant-editorial.tax-product_cat .catalog-item {
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr);
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    overflow: hidden;
    gap: 8px 12px;
    min-height: 148px;
    padding: 10px;
  }
  body.iq-variant-editorial.post-type-archive-product .catalog-item__image,
  body.iq-variant-editorial.tax-product_cat .catalog-item__image {
    grid-row: 1 / span 2;
    width: 128px;
    max-width: 100%;
    height: 128px;
  }
  body.iq-variant-editorial.post-type-archive-product .catalog-item__meta,
  body.iq-variant-editorial.tax-product_cat .catalog-item__meta,
  body.iq-variant-editorial.post-type-archive-product .catalog-item__name,
  body.iq-variant-editorial.tax-product_cat .catalog-item__name,
  body.iq-variant-editorial.post-type-archive-product .catalog-item__description,
  body.iq-variant-editorial.tax-product_cat .catalog-item__description {
    grid-column: 2;
    min-width: 0;
    max-width: 100%;
    margin: 0;
    overflow-wrap: anywhere;
  }
}

/* Final visual QA pass: reduce overlays, protect narrow layouts, and unify editorial states. */
body.iq-variant-editorial .personal-warning {
  left: 18px;
  right: auto;
  bottom: 18px;
  width: min(520px, calc(100vw - 36px));
  padding: 14px 16px;
  border: 1px solid rgba(217, 255, 82, .28);
  border-radius: 4px;
  background: rgba(8, 9, 8, .94);
  box-shadow: 0 18px 44px rgba(0, 0, 0, .34);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

body.iq-variant-editorial .personal-warning__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  width: 100%;
}

body.iq-variant-editorial .personal-warning__text {
  min-width: 0;
  padding: 0;
  color: var(--iq-text-muted);
  font: 500 11px/1.4 var(--iq-font);
}

body.iq-variant-editorial .personal-warning__btn {
  min-width: 64px;
  min-height: 40px;
  margin: 0;
  padding: 8px 14px;
  border: 1px solid var(--iq-action-primary);
  border-radius: 2px;
  color: var(--iq-action-primary);
  font: 700 10px/1 var(--iq-font);
  letter-spacing: .1em;
  text-transform: uppercase;
}

body.iq-variant-editorial .personal-warning__btn:hover,
body.iq-variant-editorial .personal-warning__btn:focus-visible {
  color: #0b0d0b;
  background: var(--iq-action-primary);
}

body.iq-variant-editorial .help-block__search-wrap:focus-within .probox {
  border-bottom-color: var(--iq-action-primary) !important;
  box-shadow: 0 1px 0 var(--iq-action-primary);
}

body.iq-variant-editorial .help-block__search-wrap:focus-within .promagnifier {
  color: var(--iq-action-primary);
}

body.iq-variant-editorial.post-type-archive-product main,
body.iq-variant-editorial.tax-product_cat main,
body.iq-variant-editorial .footer {
  overflow-x: clip;
}

body.iq-variant-editorial.post-type-archive-product .main-catalog__inner,
body.iq-variant-editorial.tax-product_cat .main-catalog__inner,
body.iq-variant-editorial .main-catalog__quick-categories,
body.iq-variant-editorial .main-catalog__quick-group {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

body.iq-variant-editorial .catalog-item__description:empty {
  display: none;
}

body.iq-variant-editorial .catalog-item__name,
body.iq-variant-editorial .catalog-item__meta {
  overflow-wrap: anywhere;
}

body.iq-variant-editorial .main-catalog__sidebar-wrapper .sidebar__menu > li > a {
  min-height: 44px;
  border-bottom: 1px solid rgba(239, 234, 224, .08);
  transition: color .2s ease, background-color .2s ease, box-shadow .2s ease;
}

body.iq-variant-editorial .main-catalog__sidebar-wrapper .sidebar__menu > li.current-menu-item > a,
body.iq-variant-editorial .main-catalog__sidebar-wrapper .sidebar__menu > li.current-menu-ancestor > a {
  color: var(--iq-action-primary) !important;
  background: linear-gradient(90deg, rgba(217, 255, 82, .12), transparent 82%);
  box-shadow: inset 3px 0 var(--iq-action-primary);
}

body.iq-variant-editorial .main-catalog__sidebar-wrapper .sidebar__menu .sub-menu {
  margin-top: 4px;
  padding: 6px 0 6px 14px;
  border-left: 1px solid rgba(239, 234, 224, .12);
}

body.iq-variant-editorial .breadcrumbs {
  max-width: 1320px;
  margin-inline: auto;
  padding: 18px 0 8px;
}

body.iq-variant-editorial .breadcrumbs a,
body.iq-variant-editorial .breadcrumbs li {
  color: var(--iq-text-muted);
  font: 700 10px/1.3 var(--iq-font);
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.iq-variant-editorial .breadcrumbs a:hover,
body.iq-variant-editorial .breadcrumbs a:focus-visible {
  color: var(--iq-action-primary);
}

body.iq-variant-editorial .breadcrumbs li:not(:last-child)::after {
  color: var(--iq-accent-orange);
  opacity: .8;
}

body.home.iq-variant-editorial .trust__title,
body.home.iq-variant-editorial .why-us__title,
body.home.iq-variant-editorial .faq__title,
body.home.iq-variant-editorial .simple-text__title {
  display: flex;
  align-items: center;
  gap: 14px;
}

body.home.iq-variant-editorial .trust__title::before,
body.home.iq-variant-editorial .why-us__title::before,
body.home.iq-variant-editorial .faq__title::before,
body.home.iq-variant-editorial .simple-text__title::before {
  flex: 0 0 auto;
  color: var(--iq-action-primary);
  font: 700 10px/1 var(--iq-font);
  letter-spacing: .1em;
}

body.home.iq-variant-editorial .trust__title::before { content: '01 / TERMS'; }
body.home.iq-variant-editorial .why-us__title::before { content: '02 / WHY'; }
body.home.iq-variant-editorial .faq__title::before { content: '03 / HELP'; }
body.home.iq-variant-editorial .simple-text__title::before { content: '04 / NOTES'; }

body.iq-variant-editorial .footer__content,
body.iq-variant-editorial .footer-nav__column {
  min-width: 0;
}

@media (max-width: 1320px) {
  body.iq-variant-editorial .breadcrumbs {
    padding-inline: 24px;
  }
}

@media (max-width: 600px) {
  body.iq-variant-editorial .personal-warning {
    left: 12px;
    right: 12px;
    bottom: 12px;
    width: auto;
    padding: 10px 12px;
  }

  body.iq-variant-editorial .personal-warning__inner {
    gap: 10px;
  }

  body.iq-variant-editorial .personal-warning__text {
    font-size: 10px;
  }

  body.iq-variant-editorial .personal-warning__btn {
    min-width: 56px;
    min-height: 36px;
    padding-inline: 10px;
  }

  body.iq-variant-editorial .breadcrumbs {
    padding: 14px 16px 6px;
  }

  body.home.iq-variant-editorial .trust__title,
  body.home.iq-variant-editorial .why-us__title,
  body.home.iq-variant-editorial .faq__title,
  body.home.iq-variant-editorial .simple-text__title {
    align-items: flex-start;
    gap: 8px;
  }

  body.home.iq-variant-editorial .trust__title::before,
  body.home.iq-variant-editorial .why-us__title::before,
  body.home.iq-variant-editorial .faq__title::before,
  body.home.iq-variant-editorial .simple-text__title::before {
    padding-top: 5px;
    font-size: 9px;
  }
}

@media (max-width: 991px) {
  body.iq-variant-editorial .help-block { box-shadow: none; }
  body.iq-variant-editorial .header__inner { border-top: 1px solid rgba(242, 234, 220, .1); }
}

/* P1 commerce fixes: card actions must remain usable without hover. */
body.post-type-archive-product .catalog-item__actions,
body.tax-product_cat .catalog-item__actions {
  display: flex !important;
  z-index: 2;
  visibility: visible;
  transform: none;
  justify-content: flex-end;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(8, 6, 15, 0) 22%, rgba(8, 6, 15, .84) 74%, rgba(8, 6, 15, .96) 100%);
}
body.post-type-archive-product .catalog-item__actions > *,
body.tax-product_cat .catalog-item__actions > *,
body.post-type-archive-product .catalog-item__actions .catalog-item__buttons-wrap > *,
body.tax-product_cat .catalog-item__actions .catalog-item__buttons-wrap > * { pointer-events: auto; }
body.post-type-archive-product .catalog-item__buttons-wrap,
body.tax-product_cat .catalog-item__buttons-wrap {
  margin-top: 10px;
  padding: 7px 0 0;
  border-top-color: rgba(230, 222, 255, .34);
}
body.post-type-archive-product .catalog-item__cart,
body.post-type-archive-product .catalog-item__like,
body.tax-product_cat .catalog-item__cart,
body.tax-product_cat .catalog-item__like {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  visibility: visible;
  opacity: 1;
}
body.post-type-archive-product .catalog-item__play,
body.tax-product_cat .catalog-item__play {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  margin: 4px auto 8px;
}

/* Editorial polish: make the visual system quieter, denser and easier to scan.
   The catalog keeps its poster language, while support sections and navigation
   gain a clearer rhythm instead of competing as large floating panels. */
body.iq-variant-editorial .main-catalog__list > .catalog-item {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 10px 10px 16px;
  box-shadow: 6px 6px 0 rgba(239, 158, 113, .13), 0 16px 34px rgba(0, 0, 0, .22);
}
body.iq-variant-editorial .main-catalog__list > .catalog-item:hover {
  box-shadow: 9px 9px 0 rgba(239, 158, 113, .2), 0 22px 44px rgba(0, 0, 0, .3);
}
body.iq-variant-editorial .catalog-item__image {
  aspect-ratio: 1 / 1;
  width: 100%;
  height: auto;
  min-height: 0;
  background-position: center;
  background-size: cover;
}
body.iq-variant-editorial .catalog-item__image::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  border: 1px solid rgba(242, 234, 220, .12);
  background: linear-gradient(180deg, transparent 55%, rgba(8, 8, 7, .16));
}
body.iq-variant-editorial .catalog-item__meta {
  min-height: 28px;
  margin: 12px 2px 4px;
  color: rgba(242, 234, 220, .62);
  font-size: 9px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
body.iq-variant-editorial .catalog-item__name {
  display: -webkit-box;
  overflow: hidden;
  min-height: 2.3em;
  margin: 4px 2px 0;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: clamp(15px, 1.35vw, 20px);
  line-height: 1.15;
}
body.iq-variant-editorial .catalog-item__description {
  min-height: 1.35em;
  margin: 7px 2px 0;
  font-size: 10px;
  letter-spacing: .08em;
}
body.iq-variant-editorial .catalog-item__actions {
  border-radius: 2px;
}
body.iq-variant-editorial .catalog-item__label-wrap {
  top: 8px;
  right: 8px;
}
body.iq-variant-editorial .catalog-item__label {
  margin-right: 0;
  padding: 5px 7px 4px;
  font-size: 9px;
}

/* Catalog navigation: digital products form one clear destination, separate
   from physical training gear. */
body.iq-variant-editorial .main-catalog__quick-categories {
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  gap: 18px;
  border: 0;
}
body.iq-variant-editorial .main-catalog__quick-group {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-width: 0;
  border: 1px solid rgba(242, 234, 220, .18);
  background: rgba(20, 20, 19, .42);
}
body.iq-variant-editorial .main-catalog__quick-group-label {
  grid-column: 1 / -1;
  padding: 10px 16px 8px;
  border-bottom: 1px solid rgba(242, 234, 220, .12);
  color: var(--iq-action-primary);
  font: 700 9px/1 var(--iq-font);
  letter-spacing: .16em;
  text-transform: uppercase;
}
body.iq-variant-editorial .main-catalog__quick-group--physical .main-catalog__quick-group-label {
  color: var(--iq-action-signal);
}
body.iq-variant-editorial .main-catalog__quick-group .main-catalog__quick-category {
  border-right: 1px solid rgba(242, 234, 220, .14);
  border-bottom: 0;
}
body.iq-variant-editorial .main-catalog__quick-group .main-catalog__quick-category:last-child {
  border-right: 0;
}

/* Sidebar: keep the two digital destinations adjacent and let the editorial
   wordmark stay atmospheric instead of becoming a dark panel behind links. */
body.iq-variant-editorial.post-type-archive-product .main-catalog__sidebar-wrapper,
body.iq-variant-editorial.tax-product_cat .main-catalog__sidebar-wrapper {
  position: relative;
  overflow: hidden;
  border-right-color: rgba(242, 234, 220, .1);
  background: linear-gradient(90deg, rgba(9, 10, 9, .72), rgba(9, 10, 9, .2));
}
body.iq-variant-editorial.post-type-archive-product .main-catalog__sidebar-wrapper::after,
body.iq-variant-editorial.tax-product_cat .main-catalog__sidebar-wrapper::after {
  content: '';
  position: absolute;
  inset: 0 0 0 auto;
  width: 1px;
  background: linear-gradient(180deg, transparent, rgba(217, 255, 82, .3) 28%, transparent 78%);
  pointer-events: none;
}
body.iq-variant-editorial .main-catalog__sidebar-wrapper .sidebar__menu {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
}
body.iq-variant-editorial .main-catalog__sidebar-wrapper .sidebar__menu > li:has(> a[href*="/category/music/"]) { order: 3; }
body.iq-variant-editorial .main-catalog__sidebar-wrapper .sidebar__menu > li:has(> a[href*="/category/video/"]) { order: 4; }
body.iq-variant-editorial .main-catalog__sidebar-wrapper .sidebar__menu > li:has(> a[href*="/category/onhome/equipment/"]) { order: 5; }
body.iq-variant-editorial .main-catalog__sidebar-wrapper .sidebar__menu > li:has(> a[href*="/category/cloth/"]) { order: 6; }
body.iq-variant-editorial .main-catalog__sidebar-wrapper .sidebar__menu > li:has(> a[href*="/category/music/"])::before {
  content: 'Digital access';
  display: block;
  margin: 6px 0 14px;
  color: var(--iq-action-primary);
  font: 700 9px/1 var(--iq-font);
  letter-spacing: .16em;
  text-transform: uppercase;
}
body.iq-variant-editorial .main-catalog__sidebar-wrapper .sidebar__menu > li:has(> a[href*="/category/video/"]) > a::before {
  content: '◈';
  margin-right: 10px;
  color: var(--iq-action-signal);
  font-size: 11px;
}
body.iq-variant-editorial.post-type-archive-product .iq-motion-wordmark,
body.iq-variant-editorial.tax-product_cat .iq-motion-wordmark {
  top: 17rem;
  left: clamp(18%, 23vw, 30%);
  max-width: 66%;
  overflow: hidden;
  opacity: .012;
  transform: rotate(-7deg) scale(.82);
}

body.iq-variant-editorial .footer__content {
  grid-template-columns: minmax(190px, .95fr) minmax(220px, 1.1fr) minmax(280px, 1.25fr) minmax(150px, .7fr);
  gap: 28px;
}
body.iq-variant-editorial .footer-nav__column-submenu {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 18px;
  align-content: start;
}
body.iq-variant-editorial .footer-nav__column-submenu > li {
  width: auto;
  min-width: 0;
}
body.iq-variant-editorial .footer-nav__column-submenu a,
body.iq-variant-editorial .footer-main-nav a {
  display: block;
  margin-bottom: 7px;
  font-size: 11px;
  line-height: 1.25;
}
body.iq-variant-editorial .footer-nav > li > a,
body.iq-variant-editorial .footer-main-nav > li > a {
  display: inline-flex;
  margin-bottom: 16px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(217, 255, 82, .38);
  color: var(--iq-action-primary);
  font-size: 12px;
}
body.iq-variant-editorial .footer__library h2 {
  max-width: 270px;
  font-size: clamp(22px, 2vw, 32px);
}
body.iq-variant-editorial .footer__bottom {
  gap: 18px;
  flex-wrap: wrap;
  padding-top: 18px;
}

body.home.iq-variant-editorial .trust__text {
  position: relative;
  max-width: 960px;
  margin-inline: auto;
  padding: 20px 24px 20px 28px;
  border-left: 3px solid var(--iq-action-primary);
  border-radius: 0 4px 4px 0;
  background: linear-gradient(100deg, rgba(217, 255, 82, .1), rgba(20, 20, 19, .72) 32%);
  line-height: 1.55;
}
body.home.iq-variant-editorial .why-us__list {
  counter-reset: why-us;
  max-width: 960px;
  margin-inline: auto;
}
body.home.iq-variant-editorial .why-us__item {
  position: relative;
  min-height: 84px;
  padding: 20px 22px 20px 60px;
  border-radius: 4px;
  background: linear-gradient(135deg, rgba(111, 37, 255, .13), rgba(20, 20, 19, .72) 65%);
}
body.home.iq-variant-editorial .why-us__item::before {
  content: counter(why-us, decimal-leading-zero);
  counter-increment: why-us;
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  top: 20px;
  left: 20px;
  border: 1px solid var(--iq-action-primary);
  background: transparent;
  color: var(--iq-action-primary);
  font: 700 9px/1 var(--iq-font);
}
body.home.iq-variant-editorial .faq__inner {
  max-width: 1040px;
}
body.home.iq-variant-editorial .faq__list {
  max-width: 960px;
  margin-inline: auto;
}
body.home.iq-variant-editorial .faq__item {
  border-radius: 4px;
  background: linear-gradient(135deg, rgba(111, 37, 255, .12), rgba(20, 20, 19, .78) 62%);
}
body.home.iq-variant-editorial .faq__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 0;
  padding: 18px 22px;
  color: var(--iq-fg-primary);
  font-size: 15px;
  line-height: 1.35;
}
body.home.iq-variant-editorial .faq__question::after {
  position: static;
  flex: 0 0 auto;
  width: 8px;
  height: 8px;
  margin: 0 2px 4px 0;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
body.home.iq-variant-editorial .faq__item[open] .faq__question::after {
  margin-bottom: -4px;
  transform: rotate(225deg);
}
body.home.iq-variant-editorial .faq__answer {
  margin: 0;
  padding: 16px 22px 20px;
  border-top: 1px solid rgba(242, 234, 220, .12);
  color: rgba(242, 234, 220, .68);
  line-height: 1.55;
}

/* Final catalog polish: keep interaction states branded without flooding the layout. */
body.iq-variant-editorial .main-catalog__quick-category:hover,
body.iq-variant-editorial .main-catalog__quick-category:focus-visible {
  background: linear-gradient(135deg, rgba(217, 255, 82, .16), rgba(111, 37, 255, .08) 72%) !important;
  border-color: rgba(217, 255, 82, .48);
  box-shadow: inset 0 -2px 0 var(--iq-action-primary);
  color: var(--iq-fg-primary);
  transform: none;
}
body.iq-variant-editorial .main-catalog__quick-category:hover .main-catalog__quick-category-kicker,
body.iq-variant-editorial .main-catalog__quick-category:focus-visible .main-catalog__quick-category-kicker,
body.iq-variant-editorial .main-catalog__quick-category:hover .main-catalog__quick-category-arrow,
body.iq-variant-editorial .main-catalog__quick-category:focus-visible .main-catalog__quick-category-arrow {
  color: var(--iq-action-primary);
}

@media (min-width: 761px) {
  body.iq-variant-editorial .main-catalog__list {
    align-content: start;
    row-gap: 12px;
  }
  body.iq-variant-editorial .main-catalog__secondary-nav {
    margin-bottom: 0;
  }
  body.iq-variant-editorial .main-catalog__secondary-label {
    margin-right: 10px;
  }
  body.iq-variant-editorial .main-catalog__list > .main-catalog__title {
    margin-bottom: 18px !important;
  }
}

@media (max-width: 760px) {
  body.iq-variant-editorial.post-type-archive-product .main-catalog__sidebar-wrapper,
  body.iq-variant-editorial.tax-product_cat .main-catalog__sidebar-wrapper {
    margin-top: 10px;
    padding: 0;
    border: 1px solid rgba(242, 234, 220, .14);
    border-radius: 4px;
    background: rgba(15, 15, 14, .72);
    overflow: hidden;
  }
  body.iq-variant-editorial .main-catalog__sidebar-wrapper .sidebar,
  body.iq-variant-editorial .main-catalog__sidebar-wrapper .sidebar__menu {
    padding: 0;
  }
  body.iq-variant-editorial .main-catalog__sidebar-wrapper .sidebar__menu > li {
    margin: 0;
  }
  body.iq-variant-editorial .main-catalog__sidebar-wrapper .sidebar__menu > li > a {
    min-height: 46px;
    padding: 0 42px 0 18px;
    border-bottom-color: rgba(239, 234, 224, .1);
    font-size: 12px;
    letter-spacing: .08em;
  }
  body.iq-variant-editorial .main-catalog__sidebar-wrapper .sidebar__menu > li:has(> a[href*="/category/music/"]) > a {
    padding-left: 44px;
  }
  body.iq-variant-editorial .main-catalog__sidebar-wrapper .sidebar__menu > li:last-child > a {
    border-bottom: 0;
  }
  body.iq-variant-editorial .main-catalog__sidebar-wrapper .sidebar__menu > li.menu-item-has-children::after {
    right: 18px;
    top: 50%;
    border-color: rgba(242, 234, 220, .34);
    transform: translateY(-50%) rotate(45deg);
  }
  body.iq-variant-editorial .main-catalog__sidebar-wrapper .sidebar__menu .sub-menu {
    margin: 0;
    padding: 4px 0 4px 18px;
    border-left: 0;
    background: rgba(111, 37, 255, .04);
  }
}

/* Breakpoint guard: prevent the flex card's desktop min-height from creating
   oversized empty media panels on Safari/iPad and narrow desktop emulation. */
@media (max-width: 1100px) {
  body.iq-variant-editorial.post-type-archive-product .catalog-item,
  body.iq-variant-editorial.tax-product_cat .catalog-item {
    min-height: 0 !important;
  }
  body.iq-variant-editorial.post-type-archive-product .catalog-item__image,
  body.iq-variant-editorial.tax-product_cat .catalog-item__image {
    background-size: cover !important;
  }
}

@media (min-width: 761px) and (max-width: 1100px) {
  body.iq-variant-editorial.post-type-archive-product .main-catalog__list,
  body.iq-variant-editorial.tax-product_cat .main-catalog__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Header catalog mark: replace the font-glyph hamburger with a stable, aligned mark. */
body.iq-variant-editorial .main-nav > li:first-child > a {
  gap: 12px;
  white-space: nowrap;
}
body.iq-variant-editorial .main-nav > li:first-child > a::before {
  content: '';
  display: inline-block;
  width: 20px;
  height: 3px;
  margin: 0;
  background: #343536;
  box-shadow: 0 6px 0 #343536, 0 12px 0 var(--iq-action-primary);
  flex: 0 0 20px;
}

/* Home catalog uses an inline <img> rather than the archive background image. */
body.home.iq-variant-editorial .main-catalog__list .catalog-item__image > img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}

@media (max-width: 1100px) and (min-width: 761px) {
  body.iq-variant-editorial .footer__content {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body.iq-variant-editorial .main-catalog__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  body.iq-variant-editorial .main-catalog__quick-categories {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  body.iq-variant-editorial .main-catalog__quick-group-label { padding-inline: 14px; }
  body.iq-variant-editorial.post-type-archive-product .iq-motion-wordmark,
  body.iq-variant-editorial.tax-product_cat .iq-motion-wordmark {
    top: 22rem;
    left: 12%;
    max-width: 84%;
    opacity: .009;
  }
  body.iq-variant-editorial .footer__content {
    grid-template-columns: 1fr;
    gap: 26px;
  }
  body.iq-variant-editorial .footer-nav__column-submenu {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body.home.iq-variant-editorial .trust__text,
  body.home.iq-variant-editorial .why-us__item,
  body.home.iq-variant-editorial .faq__question,
  body.home.iq-variant-editorial .faq__answer { padding-inline: 16px; }
  body.home.iq-variant-editorial .why-us__item { padding-left: 54px; }
  body.home.iq-variant-editorial .why-us__item::before { left: 16px; }
}

@media (max-width: 520px) {
  body.iq-variant-editorial.post-type-archive-product .catalog-item,
  body.iq-variant-editorial.tax-product_cat .catalog-item {
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr) !important;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    align-items: center;
    gap: 8px 12px;
    min-height: 148px;
    padding: 10px;
  }
  body.iq-variant-editorial.post-type-archive-product .catalog-item__image,
  body.iq-variant-editorial.tax-product_cat .catalog-item__image {
    grid-row: 1 / span 2;
    width: 128px;
    height: 128px;
    aspect-ratio: auto;
  }
  body.iq-variant-editorial.post-type-archive-product .catalog-item__meta,
  body.iq-variant-editorial.tax-product_cat .catalog-item__meta {
    grid-column: 2;
    min-width: 0;
    min-height: 0;
    margin: 0;
    overflow-wrap: anywhere;
  }
  body.iq-variant-editorial.post-type-archive-product .catalog-item__name,
  body.iq-variant-editorial.tax-product_cat .catalog-item__name {
    grid-column: 2;
    min-width: 0;
    min-height: 0;
    margin: 0;
    overflow-wrap: anywhere;
    font-size: 14px;
  }
  body.iq-variant-editorial.post-type-archive-product .catalog-item__description,
  body.iq-variant-editorial.tax-product_cat .catalog-item__description {
    grid-column: 2;
    min-width: 0;
    min-height: 0;
    margin: 0;
    overflow-wrap: anywhere;
    font-size: 10px;
  }
}

/* P1 checkout fix: the total must shrink inside the viewport at 992–1280px. */
@media (min-width: 992px) {
  body.page-template-page-checkout .cart__bottom--checkout {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 20px;
    min-width: 0;
    padding-inline: clamp(16px, 5vw, 70px);
  }
  body.page-template-page-checkout .cart__bottom--checkout .cart__result-wrap {
    width: min(100%, 420px);
    max-width: 100%;
    min-width: 0;
    flex: 0 1 420px;
    margin: 0;
  }
}

/* Last cascade guard for the visual QA pass. */
@media (max-width: 520px) {
  body.iq-variant-editorial.post-type-archive-product .catalog-item,
  body.iq-variant-editorial.tax-product_cat .catalog-item { width: calc(100vw - 58px) !important; max-width: calc(100vw - 58px) !important; }
}
/* Sidebar refinement: keep the navigation as a light editorial rail, not a solid black panel. */
body.iq-variant-editorial.post-type-archive-product .main-catalog__sidebar-wrapper,
body.iq-variant-editorial.tax-product_cat .main-catalog__sidebar-wrapper {
  width: 248px;
  margin-right: clamp(38px, 4vw, 64px);
  background: linear-gradient(90deg, rgba(9, 10, 9, .28), rgba(9, 10, 9, 0));
  border-right: 1px solid rgba(242, 234, 220, .14);
}
body.iq-variant-editorial .main-catalog__sidebar-wrapper .sidebar { padding: 8px 20px 18px 0; }
body.iq-variant-editorial .main-catalog__sidebar-wrapper .sidebar__menu { padding-top: 10px; }
body.iq-variant-editorial .main-catalog__sidebar-wrapper .sidebar__menu > li { margin-bottom: 0; padding: 0; }
body.iq-variant-editorial .main-catalog__sidebar-wrapper .sidebar__menu > li > a {
  display: flex;
  align-items: center;
  min-height: 48px;
  margin: 0;
  padding: 0 28px 0 30px;
  border-bottom: 1px solid rgba(239, 234, 224, .1);
  color: rgba(242, 234, 220, .9);
  letter-spacing: .08em;
}
body.iq-variant-editorial .main-catalog__sidebar-wrapper .sidebar__menu > li > a:hover,
body.iq-variant-editorial .main-catalog__sidebar-wrapper .sidebar__menu > li > a:focus-visible {
  color: var(--iq-action-primary) !important;
  background: rgba(217, 255, 82, .055);
}
body.iq-variant-editorial .main-catalog__sidebar-wrapper .sidebar__menu > li:has(> a[href*="/category/music/"])::before,
body.iq-variant-editorial .main-catalog__sidebar-wrapper .sidebar__menu > li:has(> a[href*="/category/onhome/equipment/"])::before {
  display: block;
  margin: 22px 0 6px 30px;
  font: 700 9px/1 var(--iq-font);
  letter-spacing: .16em;
  text-transform: uppercase;
}
body.iq-variant-editorial .main-catalog__sidebar-wrapper .sidebar__menu > li:has(> a[href*="/category/music/"])::before { content: 'Digital access'; }
body.iq-variant-editorial .main-catalog__sidebar-wrapper .sidebar__menu > li:has(> a[href*="/category/onhome/equipment/"])::before { content: none; display: none; margin: 0; }
body.iq-variant-editorial .main-catalog__sidebar-wrapper .sidebar__menu > li:has(> a[href$="/category/onhome/equipment/"])::before { content: 'Training gear'; display: block; margin: 22px 0 6px 30px; color: var(--iq-action-signal); }
body.iq-variant-editorial .main-catalog__sidebar-wrapper .sidebar__menu > li:has(> a[href*="/category/music/"])::before,
body.iq-variant-editorial .main-catalog__sidebar-wrapper .sidebar__menu > li:has(> a[href*="/category/onhome/equipment/"])::before { content: none !important; display: none !important; margin: 0 !important; }
body.iq-variant-editorial .main-catalog__sidebar-wrapper .sidebar__menu > li:has(> a[href*="/category/video/"]) > a::before { content: none !important; display: none !important; margin: 0 !important; }
body.iq-variant-editorial .main-catalog__sidebar-wrapper .sidebar__menu .sub-menu {
  margin: 0 0 4px 30px;
  padding: 4px 0 4px 14px;
}
body.iq-variant-editorial .main-catalog__sidebar-wrapper .sidebar__menu .sub-menu a {
  min-height: 34px;
  padding: 8px 10px;
  font-size: 10px;
  letter-spacing: .04em;
}
@media (max-width: 1100px) and (min-width: 761px) {
  body.iq-variant-editorial.post-type-archive-product .main-catalog__sidebar-wrapper,
  body.iq-variant-editorial.tax-product_cat .main-catalog__sidebar-wrapper { width: 210px; margin-right: 28px; }
}
@media (max-width: 760px) {
  body.iq-variant-editorial.post-type-archive-product .main-catalog__sidebar-wrapper,
  body.iq-variant-editorial.tax-product_cat .main-catalog__sidebar-wrapper { width: 100%; margin-right: 0; border-right: 0; background: transparent; }
}
body.iq-variant-editorial .personal-warning__text { color: rgba(242, 234, 220, .72); }
@media (max-width: 520px) {
  body.iq-variant-editorial.post-type-archive-product .main-catalog__list,
  body.iq-variant-editorial.tax-product_cat .main-catalog__list { width: calc(100vw - 58px) !important; min-width: 0; max-width: calc(100vw - 58px) !important; }
  body.iq-variant-editorial.post-type-archive-product .catalog-item,
  body.iq-variant-editorial.tax-product_cat .catalog-item {
    display: grid;
    grid-template-columns: 128px minmax(0, 1fr);
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    overflow: hidden;
    gap: 8px 12px;
    min-height: 148px;
    padding: 10px;
  }
  body.iq-variant-editorial.post-type-archive-product .catalog-item__image,
  body.iq-variant-editorial.tax-product_cat .catalog-item__image { grid-row: 1 / span 2; width: 110px; max-width: 100%; height: 110px; }
  body.iq-variant-editorial.post-type-archive-product .catalog-item__meta,
  body.iq-variant-editorial.tax-product_cat .catalog-item__meta,
  body.iq-variant-editorial.post-type-archive-product .catalog-item__name,
  body.iq-variant-editorial.tax-product_cat .catalog-item__name,
  body.iq-variant-editorial.post-type-archive-product .catalog-item__description,
  body.iq-variant-editorial.tax-product_cat .catalog-item__description { grid-column: 2; min-width: 0; max-width: 100%; margin: 0; overflow-wrap: anywhere; }
}
body.iq-variant-editorial .personal-warning { left: 18px; right: auto; bottom: 18px; width: min(520px, calc(100vw - 36px)); padding: 14px 16px; border: 1px solid rgba(217, 255, 82, .28); border-radius: 4px; background: rgba(8, 9, 8, .94); box-shadow: 0 18px 44px rgba(0, 0, 0, .34); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
body.iq-variant-editorial .personal-warning__inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 14px; width: 100%; }
body.iq-variant-editorial .personal-warning__text { min-width: 0; padding: 0; font: 500 11px/1.4 var(--iq-font); }
body.iq-variant-editorial .personal-warning__btn { min-width: 64px; min-height: 40px; margin: 0; padding: 8px 14px; border: 1px solid var(--iq-action-primary); border-radius: 2px; color: var(--iq-action-primary); font: 700 10px/1 var(--iq-font); letter-spacing: .1em; text-transform: uppercase; }
body.iq-variant-editorial .help-block__search-wrap:focus-within .probox { border-bottom-color: var(--iq-action-primary) !important; box-shadow: 0 1px 0 var(--iq-action-primary); }
body.iq-variant-editorial .catalog-item__description:empty { display: none; }
body.iq-variant-editorial .catalog-item__name, body.iq-variant-editorial .catalog-item__meta { overflow-wrap: anywhere; }
body.iq-variant-editorial.post-type-archive-product main, body.iq-variant-editorial.tax-product_cat main, body.iq-variant-editorial .footer { overflow-x: clip; }
body.iq-variant-editorial.post-type-archive-product .main-catalog__inner, body.iq-variant-editorial.tax-product_cat .main-catalog__inner, body.iq-variant-editorial .main-catalog__quick-categories, body.iq-variant-editorial .main-catalog__quick-group { min-width: 0; max-width: 100%; box-sizing: border-box; }
body.iq-variant-editorial .main-catalog__sidebar-wrapper .sidebar__menu > li > a { min-height: 44px; border-bottom: 1px solid rgba(239, 234, 224, .08); transition: color .2s ease, background-color .2s ease, box-shadow .2s ease; }
body.iq-variant-editorial .main-catalog__sidebar-wrapper .sidebar__menu > li.current-menu-item > a, body.iq-variant-editorial .main-catalog__sidebar-wrapper .sidebar__menu > li.current-menu-ancestor > a { color: var(--iq-action-primary) !important; background: linear-gradient(90deg, rgba(217, 255, 82, .12), transparent 82%); box-shadow: inset 3px 0 var(--iq-action-primary); }
body.iq-variant-editorial .main-catalog__sidebar-wrapper .sidebar__menu .sub-menu { margin-top: 4px; padding: 6px 0 6px 14px; border-left: 1px solid rgba(239, 234, 224, .12); }
body.iq-variant-editorial .breadcrumbs { max-width: 1320px; margin-inline: auto; padding: 18px 0 8px; }
body.iq-variant-editorial .breadcrumbs a, body.iq-variant-editorial .breadcrumbs li { color: var(--iq-text-muted); font: 700 10px/1.3 var(--iq-font); letter-spacing: .08em; text-transform: uppercase; }
body.iq-variant-editorial .breadcrumbs a:hover, body.iq-variant-editorial .breadcrumbs a:focus-visible { color: var(--iq-action-primary); }
body.iq-variant-editorial .breadcrumbs li:not(:last-child)::after { color: var(--iq-accent-orange); opacity: .8; }
body.iq-variant-editorial .footer__content, body.iq-variant-editorial .footer-nav__column { min-width: 0; }
@media (max-width: 1320px) { body.iq-variant-editorial .breadcrumbs { padding-inline: 24px; } }
@media (max-width: 600px) {
  body.iq-variant-editorial .personal-warning { left: 12px; right: 12px; bottom: 12px; width: auto; padding: 10px 12px; }
  body.iq-variant-editorial .personal-warning__inner { gap: 10px; }
  body.iq-variant-editorial .personal-warning__text { font-size: 10px; }
  body.iq-variant-editorial .personal-warning__btn { min-width: 56px; min-height: 36px; padding-inline: 10px; }
  body.iq-variant-editorial .breadcrumbs { padding: 14px 16px 6px; }
}

/* Hero cleanup: remove decorative text metrics that overload the waveform. */
body.home.iq-variant-editorial .main-banner__tempo-desk::after,
body.home.iq-variant-editorial .main-banner--iq::after { display: none; }

/* ==========================================================================
   TECH SPEC — variant 05. Source of truth: dev/styleframes/02-tech-spec.html
   The catalog reads as a specification sheet: hairline plates, near-zero radii,
   plate index + release number in the header, tempo as the hero figure.
   Every rule below is scoped to body.iq-variant-techspec on purpose — editorial
   is the default site look and must not move.
   ========================================================================== */
body.iq-variant-techspec {
  --iq-bg-canvas: #0b0c0e;
  --iq-bg-surface: #131519;
  --iq-bg-surface-raised: #171b21;
  --iq-fg-primary: #e8ecf0;
  --iq-fg-muted: #7d8794;
  --iq-action-primary: #6ee7ff;
  --iq-action-signal: #b8c0cc;
  --iq-action-emotion: #b8c0cc;
  --iq-border-subtle: rgba(232, 236, 240, .18);
  --iq-border-tint: rgb(232, 236, 240);
  --iq-button-primary-fg: #0b0c0e;
  --iq-card-bg: #131519;
  --iq-input-bg: rgba(232, 236, 240, .05);
  --iq-radius-input: 3px;
  --iq-radius-media: 2px;
  --iq-radius-panel: 3px;

  /* Service tokens of this variant only: drafting hairlines and plate hover. */
  --iq-hair: rgba(232, 236, 240, .10);
  --iq-hair-strong: rgba(232, 236, 240, .18);
  --iq-card-bg-hover: #171b21;
}

/* --- Sheet: the section is a drawing, so it gets a frame and corner marks --- */
body.iq-variant-techspec.post-type-archive-product .main-catalog__inner,
body.iq-variant-techspec.tax-product_cat .main-catalog__inner {
  position: relative;
  padding-top: 26px;
}
body.iq-variant-techspec.post-type-archive-product .main-catalog__inner::before,
body.iq-variant-techspec.tax-product_cat .main-catalog__inner::before {
  content: '';
  position: absolute;
  inset: 6px -8px;
  border: 1px solid var(--iq-hair);
  pointer-events: none;
  /* Corner reference marks, drawn as four short strokes on the frame. */
  background:
    linear-gradient(var(--iq-action-signal), var(--iq-action-signal)) 0 0 / 18px 1px no-repeat,
    linear-gradient(var(--iq-action-signal), var(--iq-action-signal)) 0 0 / 1px 18px no-repeat,
    linear-gradient(var(--iq-action-signal), var(--iq-action-signal)) 100% 100% / 18px 1px no-repeat,
    linear-gradient(var(--iq-action-signal), var(--iq-action-signal)) 100% 100% / 1px 18px no-repeat;
}
body.iq-variant-techspec.post-type-archive-product .main-catalog__inner::after,
body.iq-variant-techspec.tax-product_cat .main-catalog__inner::after {
  content: 'IQ Fitness Music · spec sheet · rev 02';
  position: absolute;
  top: 6px;
  left: 4px;
  padding: 0 6px;
  background: var(--iq-bg-canvas);
  color: var(--iq-fg-muted);
  font: 600 10px/1 var(--iq-font);
  letter-spacing: .16em;
  text-transform: uppercase;
  pointer-events: none;
}

body.iq-variant-techspec .main-catalog__title {
  font-family: var(--iq-display);
  letter-spacing: -.02em;
  text-transform: uppercase;
}

/* IQ Music sub-brand marker (assets/img/iq-brand/iq-music-mark.svg) — не путать
   с общим логотипом сайта iq-pulse.svg. Отдельный знак только для музыкального
   направления: перед заголовком "IQ Music" в каталоге и рядом с "NOW PREVIEWING"
   в липком плеере (плеер используется только для аудио-превью миксов, см.
   iq-catalog-experience.js openPreview()). Гейт на techspec — единственный
   живой вариант оформления (iq_visual_variant_allowed()). */
body.iq-variant-techspec .iq-music-mark {
  display: inline-block;
  flex: 0 0 auto;
  vertical-align: -.16em;
  color: var(--iq-cyan);
}
body.iq-variant-techspec .main-catalog__title-mark {
  width: 30px;
  height: 30px;
  margin-right: 10px;
}
body.iq-variant-techspec .iq-sticky-player__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
body.iq-variant-techspec .iq-sticky-player__mark {
  width: 13px;
  height: 13px;
}
@media (max-width: 560px) {
  body.iq-variant-techspec .main-catalog__title-mark { width: 24px; height: 24px; margin-right: 8px; }
}

/* --- Drafting-paper overlay: the sheet's own grid, not another card ---
   Generated asset, transparent everywhere except a thin L along the top and
   left edges (coordinate grid + crosshairs). It sits on .main-catalog__inner
   itself — a real background, not a pseudo-element — so it paints below every
   real child (title, sidebar, the plate grid) and never fights their own
   opaque backgrounds or text for contrast. Anchored to the same corner as the
   ::before frame above so both read as one drawing.
   Desktop/tablet only: below the 768px stack breakpoint the sidebar moves
   above the list and the inner loses its side padding (main-catalog.scss,
   tablet-md), so there is no quiet margin left for the grid to occupy without
   crossing into stacked content — turned off there instead of guessing. */
@media (min-width: 768px) {
  body.iq-variant-techspec.post-type-archive-product .main-catalog__inner,
  body.iq-variant-techspec.tax-product_cat .main-catalog__inner {
    background-image: url('../img/covers/catalog-grid-overlay.png');
    background-repeat: no-repeat;
    background-position: -8px -6px;
    background-size: 420px 420px;
  }
}

/* --- Category hero: blueprint plate above the equipment/apparel listing --- */
/* The generated plate's own background (~#04070a) is close enough to
   --iq-bg-canvas that dropping the card frame lets it bleed straight into the
   sheet instead of sitting on it as a separate photo. Corner ticks reuse the
   same drafting-mark vocabulary as .main-catalog__inner, so the image reads
   as this page's own header, not stock art pasted above it. */
/* The wrapper's height is the plate's own height plus this padding — that
   extra band is the scroll distance the plate spends pinned to the top
   before the sticky release lets it scroll away with everything else.
   hero-pin.js measures this same padding to compute release progress, so the
   two are always the same number by construction, not by two people agreeing
   on a constant. */
body.iq-variant-techspec .iq-hero-pin {
  position: relative;
  padding-bottom: 45vh;
}
/* position:sticky lives ONLY on the figure itself, with no transform/opacity
   of its own — a transform on the SAME element as position:sticky (even a
   no-op scale(1) from this calc() at progress=0) silently disables stickiness
   in Chromium. The fade/scale-on-release effect below is on the inner
   `.main-catalog__category-hero-visual` wrapper instead, which sees no
   containing-block side effects since it isn't the positioned element. */
body.iq-variant-techspec .iq-hero-pin .main-catalog__category-hero {
  position: sticky;
  top: 0;
}
body.iq-variant-techspec .iq-hero-pin .main-catalog__category-hero-visual {
  /* Written every scroll frame by hero-pin.js; 0 while pinned, ramping to 1
     as the plate is about to release. No transition here — the property is
     already updated once per animation frame, so a CSS transition would only
     add lag behind the finger/wheel. */
  opacity: calc(1 - (var(--iq-hero-pin-progress, 0) * .45));
  transform: scale(calc(1 - (var(--iq-hero-pin-progress, 0) * .06)));
}
body.iq-variant-techspec .main-catalog__category-hero {
  margin: 0 0 20px;
  padding: 14px 0 0;
}
body.iq-variant-techspec .main-catalog__category-hero::before {
  content: '';
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  background: var(--iq-hair-strong);
}
body.iq-variant-techspec .main-catalog__category-hero::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 18px;
  height: 18px;
  border-left: 1px solid var(--iq-action-signal);
  border-top: 1px solid var(--iq-action-signal);
  pointer-events: none;
}
body.iq-variant-techspec .main-catalog__category-hero img {
  display: block;
  width: 100%;
  height: auto;
}
body.iq-variant-techspec .main-catalog__category-hero-label {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1px solid var(--iq-hair);
  color: var(--iq-fg-muted);
  font: 600 10px/1 var(--iq-font);
  letter-spacing: .14em;
  text-transform: uppercase;
}
body.iq-variant-techspec .main-catalog__category-hero-label span:last-child {
  color: var(--iq-action-primary);
}
/* Music hero: the wordmark lockup sits directly on the photo (its left third
   is generated darker specifically to hold it), not in the thin caption row
   below — at the caption's ~10px text height the lockup's letterforms turned
   to mud. .main-catalog__category-hero is already a positioning context
   (position:sticky from the pin rule above), so this is absolute against the
   figure itself; the 14px offset matches the figure's own top padding. */
body.iq-variant-techspec .main-catalog__category-hero-wordmark {
  position: absolute;
  top: 34px;
  left: 28px;
  pointer-events: none;
}
body.iq-variant-techspec .iq-music-wordmark {
  width: auto;
  height: 40px;
}
@media (max-width: 640px) {
  body.iq-variant-techspec .main-catalog__category-hero-wordmark { top: 18px; left: 16px; }
  body.iq-variant-techspec .iq-music-wordmark { height: 26px; }
}

/* HOT IRON exploded-diagram parallax (src/motion/hotiron-parallax.js drives the
   yPercent scrub via GSAP ScrollTrigger — this block only lays the three
   layers on top of each other; JS never runs under reduced motion (see the
   prefersReducedMotion() bail-out in src/motion/index.js), but the explicit
   media query below is belt-and-braces in case a layer keeps a stale
   transform from before the preference changed mid-session). */
body.iq-variant-techspec .iq-hotiron-parallax {
  position: relative;
  width: min(640px, 88vw);
  aspect-ratio: 1 / 1;
  margin: 12px auto 32px;
}
body.iq-variant-techspec .iq-hotiron-parallax__layer {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
  body.iq-variant-techspec .iq-hotiron-parallax__layer { transform: none !important; }
}

/* Narrow viewports: the plate is short here and the panel below it is a
   single column, not a long grid — there is no scroll distance worth pinning
   for, and a sticky plate would just sit over the filters as they scroll
   past. Same breakpoint as the sticky header's own bail-out. */
@media (max-width: 991px) {
  body.iq-variant-techspec .iq-hero-pin {
    padding-bottom: 0;
  }
  body.iq-variant-techspec .iq-hero-pin .main-catalog__category-hero {
    position: static;
    opacity: 1;
    transform: none;
  }
}

/* Reduced motion: no pin, no fade, no scale — the plate reads exactly as it
   always has, a static image above the listing. */
@media (prefers-reduced-motion: reduce) {
  body.iq-variant-techspec .iq-hero-pin {
    padding-bottom: 0;
  }
  body.iq-variant-techspec .iq-hero-pin .main-catalog__category-hero {
    position: static;
    opacity: 1;
    transform: none;
  }
}

/* --- Empty personal orders: same drafting-plate frame as the hero above --- */
body.iq-variant-techspec .personal__orders-empty-icon {
  display: block;
  width: 120px;
  height: 120px;
  margin: 0 auto 12px;
  opacity: .9;
}

/* --- Generic empty state (cart / favorites / search) — same crate icon,
   reused wherever the container is simply empty rather than an error. --- */
body.iq-variant-techspec .iq-empty-icon {
  display: block;
  width: 120px;
  height: 120px;
  margin: 0 auto 12px;
  opacity: .9;
}

/* --- 404: radar sweep sits behind the number, both centered on the sheet --- */
body.iq-variant-techspec .not-found__radar {
  display: block;
  width: min(260px, 60vw);
  height: auto;
  margin: 0 auto 8px;
}

/* --- Grid of plates: 1px seams instead of gaps, the sheet is continuous --- */
body.iq-variant-techspec.post-type-archive-product .main-catalog__list,
body.iq-variant-techspec.tax-product_cat .main-catalog__list {
  counter-reset: iq-plate;
  gap: 1px;
  border: 1px solid var(--iq-border-subtle);
  border-radius: var(--iq-radius-panel);
  background: var(--iq-border-subtle);
  /* Was overflow:hidden — that clips the seam-grid background to the rounded
     corners, but ALSO silently disables position:sticky on every descendant
     (the pinned category hero inside it included), because any ancestor with
     overflow != visible removes itself from the "scroll container" chain
     sticky needs. clip-path clips the same rounded corners without being an
     overflow value, so it doesn't touch that chain at all. */
  clip-path: inset(0 round var(--iq-radius-panel));
}
body.iq-variant-techspec .main-catalog__list > .main-catalog__title,
body.iq-variant-techspec .main-catalog__list > .pagin,
body.iq-variant-techspec .main-catalog__list > .iq-discovery,
body.iq-variant-techspec .main-catalog__list > .iq-motion-caption {
  background: var(--iq-bg-canvas);
}

/* --- The plate itself --- */
body.iq-variant-techspec .catalog-item {
  counter-increment: iq-plate;
  display: flex;
  flex-direction: column;
  padding: 12px 14px 14px;
  border: 0;
  border-radius: 0;
  background: var(--iq-card-bg);
  box-shadow: none;
  /* The 1px seam grid cannot survive a lifting card. */
  transform: none;
  transition: background .2s cubic-bezier(.2, .8, .2, 1);
}
body.iq-variant-techspec .catalog-item:hover,
body.iq-variant-techspec .catalog-item:focus-within {
  transform: none;
  background: var(--iq-card-bg-hover);
  box-shadow: none;
}

/* Plate index strip: 01 ···· REL 67081 · 61 MIN.
   ::before is the only pseudo on the article besides ::after, and attr() reads
   the originating element only — so all data-driven text lives on these two. */
body.iq-variant-techspec .catalog-item::before {
  content: counter(iq-plate, decimal-leading-zero) '  ·  REL ' attr(data-iq-release) '  ·  ' attr(data-iq-duration) ' MIN';
  order: 1;
  position: static;
  inset: auto;
  display: block;
  margin: 0 0 10px;
  padding: 0 0 8px;
  border: 0;
  border-bottom: 1px solid var(--iq-hair);
  border-radius: 0;
  background: none;
  mask: none;
  -webkit-mask: none;
  opacity: 1;
  color: var(--iq-action-signal);
  font: 700 10px/1 var(--iq-font);
  font-variant-numeric: tabular-nums;
  letter-spacing: .16em;
  text-transform: uppercase;
  transition: none;
}
/* Subscriptions and "different bpm" tracks carry duration 0 — never print it. */
body.iq-variant-techspec .catalog-item[data-iq-duration='0']::before {
  content: counter(iq-plate, decimal-leading-zero) '  ·  REL ' attr(data-iq-release);
}
@media (hover: hover) and (pointer: fine) {
  body.iq-variant-techspec .catalog-item:hover::before { opacity: 1; }
}

/* Callout-tag concept (see 06-Черновики и отладка/2026-08-02_IQ Fitness_генеративные
   изображения/iq-fitness-discount-badges/06-callout-tag.svg): a leader line off
   the card corner into a boxed frame, instead of the generic flat "-37%" pill.
   The box occupies roughly x:88-262/y:40-112 of the 300x150 source — the inner
   <span> is inset to that same region so the live discount text sits inside the
   frame, not centered across the leader line too.
   top:34px clears the plate-index line (::before, static, ~29px tall including
   its own margin) that sits above the image — an absolutely positioned badge
   ignores `order` entirely, so without this offset it overlaps that text
   instead of landing on the image corner where the leader visually reads as
   "pointing at the product". */
body.iq-variant-techspec .catalog-item__discount--callout {
  order: 1;
  position: absolute;
  top: 34px;
  left: -14px;
  width: 92px;
  height: 46px;
  padding: 0;
  border-radius: 0;
  background-color: transparent;
  background-image: url('../img/badges/discount-callout.svg');
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
body.iq-variant-techspec .catalog-item__discount--callout > span {
  position: absolute;
  inset: 27% 13% 25% 30%;
  display: grid;
  place-items: center;
  color: var(--iq-action-primary);
  font: 700 13px/1 var(--iq-font-mono, var(--iq-font));
  letter-spacing: .02em;
}

body.iq-variant-techspec .catalog-item__image {
  order: 2;
  border: 1px solid var(--iq-hair);
  border-radius: var(--iq-radius-media);
  background-color: #0e1013;
}
/* Reference ticks on the artwork corners, thin enough to leave the cover alone. */
body.iq-variant-techspec .catalog-item__image::after {
  content: '';
  position: absolute;
  inset: 6px;
  pointer-events: none;
  opacity: .5;
  background:
    linear-gradient(var(--iq-action-signal), var(--iq-action-signal)) 0 0 / 9px 1px no-repeat,
    linear-gradient(var(--iq-action-signal), var(--iq-action-signal)) 0 0 / 1px 9px no-repeat,
    linear-gradient(var(--iq-action-signal), var(--iq-action-signal)) 100% 100% / 9px 1px no-repeat,
    linear-gradient(var(--iq-action-signal), var(--iq-action-signal)) 100% 100% / 1px 9px no-repeat;
}
body.iq-variant-techspec .catalog-item:hover .catalog-item__image { transform: none; }

body.iq-variant-techspec .catalog-item__label-wrap { gap: 4px; }
body.iq-variant-techspec .catalog-item__label { border-radius: 0; }
body.iq-variant-techspec .catalog-item__play,
body.iq-variant-techspec .catalog-item__cart,
body.iq-variant-techspec .catalog-item__like { border-radius: var(--iq-radius-media); }
body.iq-variant-techspec .catalog-item__cart {
  background: var(--iq-action-primary);
  color: var(--iq-bg-canvas);
}

/* --- Hero readout: tempo as the largest figure on the plate --- */
body.iq-variant-techspec .catalog-item::after {
  content: attr(data-iq-bpm);
  order: 3;
  position: static;
  inset: auto;
  display: block;
  margin: 12px 0 0;
  border: 0;
  border-radius: 0;
  background: none;
  opacity: 1;
  color: var(--iq-fg-primary);
  font-family: var(--iq-display);
  font-weight: 700;
  font-size: clamp(28px, 3.4vw, 38px);
  line-height: .88;
  letter-spacing: -.03em;
  font-variant-numeric: tabular-nums;
  transition: color .2s ease;
}
body.iq-variant-techspec .catalog-item:hover::after,
body.iq-variant-techspec .catalog-item:focus-within::after { color: var(--iq-action-primary); }
/* Subscriptions and variable-tempo tracks report 0: print a dash, never a zero. */
body.iq-variant-techspec .catalog-item[data-iq-bpm='0']::after { content: '—'; }

/* The unit caption under the figure. The author line, when present, stays small
   and muted below it; when empty the span still renders the caption. */
body.iq-variant-techspec .catalog-item__description {
  order: 4;
  display: block;
  margin: 5px 0 0;
  color: var(--iq-fg-muted);
  font: 400 11px/1.4 var(--iq-font);
}
body.iq-variant-techspec .catalog-item[data-iq-music] .catalog-item__description::before {
  content: 'BPM · темп';
  display: block;
  margin-bottom: 6px;
  color: var(--iq-fg-muted);
  font: 600 10px/1 var(--iq-font);
  letter-spacing: .16em;
  text-transform: uppercase;
}
/* .catalog-item__meta already says "Цифровой товар · доступ после оплаты", so
   repeating it here printed the same line twice on every card without a tempo.
   The caption states why the tempo cell is empty instead. Music-only: BPM is
   not a concept physical goods (equipment, apparel) have. */
body.iq-variant-techspec .catalog-item[data-iq-music][data-iq-bpm='0'] .catalog-item__description::before {
  content: 'Темп не задан';
  letter-spacing: .1em;
}
/* Tempo ruler. The ticks are CSS; the marker is positioned from
   --iq-bpm-start/--iq-bpm-end, set per card in src/motion/ because CSS cannot
   compute a length out of attr(). Cards the script did not plot keep the bare
   ruler rather than a marker parked at zero. */
body.iq-variant-techspec .catalog-item[data-iq-music] .catalog-item__description::after {
  content: '';
  display: block;
  height: 9px;
  margin-top: 9px;
  opacity: .4;
  background:
    repeating-linear-gradient(90deg, var(--iq-fg-muted) 0 1px, transparent 1px 8.333%) bottom / 100% 4px no-repeat,
    repeating-linear-gradient(90deg, var(--iq-fg-muted) 0 1px, transparent 1px 1.6667%) bottom / 100% 2px no-repeat;
}
/* The marker itself: an extra background layer whose hard stops sit at the
   plotted ratios, so a single tempo reads as a tick and a range as a segment.
   Cards the script did not plot keep the bare ruler instead of a marker
   parked at zero. */
body.iq-variant-techspec .catalog-item[data-iq-bpm-plotted] .catalog-item__description::after {
  opacity: 1;
  background:
    linear-gradient(90deg,
      transparent 0 calc(var(--iq-bpm-start) * 100%),
      var(--iq-action-primary) calc(var(--iq-bpm-start) * 100%),
      var(--iq-action-primary) calc(var(--iq-bpm-end) * 100% + 2px),
      transparent 0) bottom / 100% 6px no-repeat,
    repeating-linear-gradient(90deg, var(--iq-fg-muted) 0 1px, transparent 1px 8.333%) bottom / 100% 4px no-repeat,
    repeating-linear-gradient(90deg, var(--iq-fg-muted) 0 1px, transparent 1px 1.6667%) bottom / 100% 2px no-repeat;
}

body.iq-variant-techspec .catalog-item[data-iq-bpm='0'] .catalog-item__description::after { display: none; }
body.iq-variant-techspec .catalog-item__description:empty { display: block; }

body.iq-variant-techspec .catalog-item__meta {
  order: 5;
  margin: 12px 0 0;
  letter-spacing: .14em;
  text-transform: uppercase;
}
body.iq-variant-techspec .catalog-item__name {
  order: 6;
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid var(--iq-hair);
  font-family: var(--iq-font);
  font-weight: 600;
  font-size: 14px;
  line-height: 1.32;
  letter-spacing: -.005em;
}
body.iq-variant-techspec .catalog-item__name:hover,
body.iq-variant-techspec .catalog-item__name:focus-visible { color: var(--iq-action-primary); }
body.iq-variant-techspec .catalog-item__real-price,
body.iq-variant-techspec .catalog-item__old-price {
  font-family: var(--iq-display);
  font-variant-numeric: tabular-nums;
  letter-spacing: -.01em;
}
body.iq-variant-techspec .catalog-item__real-price { color: var(--iq-fg-primary); }

/* --- Exploded-diagram hover for physical goods (equipment/cloth) ---
   Music cards already carry the BPM ruler/marker as their signature hover
   detail (see [data-iq-music] rules above), so this is scoped to everything
   else via :not([data-iq-music]) rather than to a category slug — it also
   covers "new"/"top"/favorites listings that mix in equipment or apparel.
   Only transform + opacity animate (never width/height), so this never
   triggers layout/reflow — it is pure compositor work. The three plates
   (photo, title block, price tag) drift apart on hover/focus/viewport-entry
   like parts pulled off a technical drawing, then snap back together. */
body.iq-variant-techspec .catalog-item:not([data-iq-music]) .catalog-item__image,
body.iq-variant-techspec .catalog-item:not([data-iq-music]) .catalog-item__image::after,
body.iq-variant-techspec .catalog-item:not([data-iq-music]) .catalog-item__name,
body.iq-variant-techspec .catalog-item:not([data-iq-music]) .catalog-item__description,
body.iq-variant-techspec .catalog-item:not([data-iq-music]) .catalog-item__meta,
body.iq-variant-techspec .catalog-item:not([data-iq-music]) .catalog-item__real-price,
body.iq-variant-techspec .catalog-item:not([data-iq-music]) .catalog-item__old-price {
  transition: transform .32s cubic-bezier(.2, .8, .2, 1), opacity .32s ease;
  will-change: transform;
}
/* Desktop trigger: real :hover only, gated to fine pointers so a tap on
   touch does not leave the plate stuck mid-explosion (same guard as the
   card tilt/zoom above). Keyboard focus and JS viewport-entry (below) are
   NOT gated — they must work on every input type. */
@media (hover: hover) and (pointer: fine) {
  body.iq-variant-techspec .catalog-item:not([data-iq-music]):hover .catalog-item__image { transform: translate3d(-10px, -16px, 0) scale(1.015); }
  body.iq-variant-techspec .catalog-item:not([data-iq-music]):hover .catalog-item__image::after { opacity: 1; }
  body.iq-variant-techspec .catalog-item:not([data-iq-music]):hover .catalog-item__name { transform: translate3d(-6px, 12px, 0); }
  body.iq-variant-techspec .catalog-item:not([data-iq-music]):hover .catalog-item__description,
  body.iq-variant-techspec .catalog-item:not([data-iq-music]):hover .catalog-item__meta { transform: translate3d(-6px, 16px, 0); }
  body.iq-variant-techspec .catalog-item:not([data-iq-music]):hover .catalog-item__real-price,
  body.iq-variant-techspec .catalog-item:not([data-iq-music]):hover .catalog-item__old-price { transform: translate3d(12px, 8px, 0); }
}
/* Keyboard focus inside the card (tabbing to the name/play/like/cart links). */
body.iq-variant-techspec .catalog-item:not([data-iq-music]):focus-within .catalog-item__image { transform: translate3d(-10px, -16px, 0) scale(1.015); }
body.iq-variant-techspec .catalog-item:not([data-iq-music]):focus-within .catalog-item__image::after { opacity: 1; }
body.iq-variant-techspec .catalog-item:not([data-iq-music]):focus-within .catalog-item__name { transform: translate3d(-6px, 12px, 0); }
body.iq-variant-techspec .catalog-item:not([data-iq-music]):focus-within .catalog-item__description,
body.iq-variant-techspec .catalog-item:not([data-iq-music]):focus-within .catalog-item__meta { transform: translate3d(-6px, 16px, 0); }
body.iq-variant-techspec .catalog-item:not([data-iq-music]):focus-within .catalog-item__real-price,
body.iq-variant-techspec .catalog-item:not([data-iq-music]):focus-within .catalog-item__old-price { transform: translate3d(12px, 8px, 0); }
/* Touch/no-hover viewport entry: iq-catalog-experience.js sets this attribute
   via IntersectionObserver only on devices without a fine hover pointer, so
   this never doubles up with the :hover rule above on desktop. */
body.iq-variant-techspec .catalog-item:not([data-iq-music])[data-iq-exploded] .catalog-item__image { transform: translate3d(-10px, -16px, 0) scale(1.015); }
body.iq-variant-techspec .catalog-item:not([data-iq-music])[data-iq-exploded] .catalog-item__image::after { opacity: 1; }
body.iq-variant-techspec .catalog-item:not([data-iq-music])[data-iq-exploded] .catalog-item__name { transform: translate3d(-6px, 12px, 0); }
body.iq-variant-techspec .catalog-item:not([data-iq-music])[data-iq-exploded] .catalog-item__description,
body.iq-variant-techspec .catalog-item:not([data-iq-music])[data-iq-exploded] .catalog-item__meta { transform: translate3d(-6px, 16px, 0); }
body.iq-variant-techspec .catalog-item:not([data-iq-music])[data-iq-exploded] .catalog-item__real-price,
body.iq-variant-techspec .catalog-item:not([data-iq-music])[data-iq-exploded] .catalog-item__old-price { transform: translate3d(12px, 8px, 0); }

/* Panels around the grid follow the same drafting rules. */
body.iq-variant-techspec .iq-library-intro,
body.iq-variant-techspec .iq-discovery,
body.iq-variant-techspec .product__info-wrap,
body.iq-variant-techspec .product__reviews-inner,
body.iq-variant-techspec .product__gallery {
  border-radius: var(--iq-radius-panel);
  box-shadow: none;
}
body.iq-variant-techspec .iq-filter-chip { border-radius: var(--iq-radius-media); }
body.iq-variant-techspec .iq-filter-chip.is-active {
  border-color: var(--iq-action-primary);
  color: var(--iq-action-primary);
}

@media (max-width: 760px) {
  body.iq-variant-techspec .catalog-item { padding: 10px 12px 12px; }
  body.iq-variant-techspec .catalog-item::before { font-size: 9px; letter-spacing: .12em; }
  body.iq-variant-techspec .catalog-item__name { font-size: 15px; }
  body.iq-variant-techspec.post-type-archive-product .main-catalog__inner::before,
  body.iq-variant-techspec.tax-product_cat .main-catalog__inner::before { inset: 6px 0; }
}

@media (prefers-reduced-motion: reduce) {
  body.iq-variant-techspec .catalog-item,
  body.iq-variant-techspec .catalog-item::after { transition: none; }
  /* Belt-and-braces on top of the (hover: hover) gate above and the JS check
     in iq-catalog-experience.js: even if something still sets :hover,
     :focus-within or [data-iq-exploded], no layer may move under
     reduced-motion — the card stays fully assembled and static. */
  body.iq-variant-techspec .catalog-item:not([data-iq-music]) .catalog-item__image,
  body.iq-variant-techspec .catalog-item:not([data-iq-music]) .catalog-item__image::after,
  body.iq-variant-techspec .catalog-item:not([data-iq-music]) .catalog-item__name,
  body.iq-variant-techspec .catalog-item:not([data-iq-music]) .catalog-item__description,
  body.iq-variant-techspec .catalog-item:not([data-iq-music]) .catalog-item__meta,
  body.iq-variant-techspec .catalog-item:not([data-iq-music]) .catalog-item__real-price,
  body.iq-variant-techspec .catalog-item:not([data-iq-music]) .catalog-item__old-price {
    transition: none;
    transform: none;
    opacity: 1;
  }
}

/* ==========================================================================
   TECH SPEC — page shell. The plates already read as a spec sheet; header,
   breadcrumbs, sheet title, filter strip, sidebar, pagination and footer are
   brought into the same drafting language: graphite ground, hairlines instead
   of fills, square corners, mono-spaced service captions.
   Same rule as above — every selector carries body.iq-variant-techspec.
   ========================================================================== */

/* --- 1. Header: graphite band, hairline rules, no pills, no violet ---------- */
body.iq-variant-techspec .header {
  background: var(--iq-bg-canvas);
  border-bottom: 1px solid var(--iq-hair-strong);
}
body.iq-variant-techspec .header__inner { min-height: 68px; }
/* style.min.css paints .help-block with a violet gradient; a background colour
   alone cannot win over background-image, so the image is cleared explicitly. */
body.iq-variant-techspec .help-block {
  background-color: var(--iq-bg-surface);
  background-image: none;
  border-bottom: 1px solid var(--iq-hair);
  box-shadow: none;
}
body.iq-variant-techspec .main-nav a,
body.iq-variant-techspec .header__login-btn,
body.iq-variant-techspec .header__register-btn,
body.iq-variant-techspec .header__lk-btn,
body.iq-variant-techspec .header__logout-btn {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}
body.iq-variant-techspec .header__login-btn,
body.iq-variant-techspec .header__register-btn,
body.iq-variant-techspec .header__lk-btn,
body.iq-variant-techspec .header__logout-btn {
  min-height: 40px;
  border: 1px solid var(--iq-hair-strong);
  border-radius: 0;
  background: none;
  color: var(--iq-fg-primary);
  overflow: visible;
}
/* The shared shell adds a sweeping highlight and a lift on hover — both read as
   a UI kit, not as a drawing. State change is colour only. */
body.iq-variant-techspec .header__login-btn::after,
body.iq-variant-techspec .header__register-btn::after,
body.iq-variant-techspec .header__lk-btn::after { content: none; }
body.iq-variant-techspec .header__login-btn:hover,
body.iq-variant-techspec .header__register-btn:hover,
body.iq-variant-techspec .header__lk-btn:hover,
body.iq-variant-techspec .header__logout-btn:hover { transform: none; }
body.iq-variant-techspec .header__register-btn {
  border-color: var(--iq-action-primary);
  background: var(--iq-action-primary);
  color: var(--iq-bg-canvas);
}
body.iq-variant-techspec .header__register-btn:hover {
  background: var(--iq-bg-canvas);
  color: var(--iq-action-primary);
}
body.iq-variant-techspec .header__login-btn:hover,
body.iq-variant-techspec .header__login-btn:focus-visible {
  border-color: var(--iq-action-primary);
  color: var(--iq-action-primary);
}
body.iq-variant-techspec .main-nav a::after { background: var(--iq-action-primary); border-radius: 0; height: 1px; }
body.iq-variant-techspec .header__count {
  border-radius: 0;
  background: var(--iq-action-primary);
  color: var(--iq-bg-canvas);
  font-variant-numeric: tabular-nums;
}
body.iq-variant-techspec .header__like svg { fill: var(--iq-action-signal); }
body.iq-variant-techspec .open-promo-popup-btn {
  border-radius: 0;
  border-color: var(--iq-hair-strong);
  background: var(--iq-bg-surface);
  box-shadow: none;
  letter-spacing: .12em;
}

/* --- 2. Breadcrumbs: a service line of the sheet --------------------------- */
body.iq-variant-techspec .breadcrumbs {
  max-width: 1320px;
  margin-inline: auto;
  padding: 16px 0 6px;
}
body.iq-variant-techspec .breadcrumbs a,
body.iq-variant-techspec .breadcrumbs li,
body.iq-variant-techspec .breadcrumbs span {
  color: var(--iq-fg-muted);
  font: 600 10px/1.3 var(--iq-font);
  font-variant-numeric: tabular-nums;
  letter-spacing: .18em;
  text-transform: uppercase;
}
body.iq-variant-techspec .breadcrumbs a:hover,
body.iq-variant-techspec .breadcrumbs a:focus-visible { color: var(--iq-action-primary); }
body.iq-variant-techspec .breadcrumbs li:not(:last-child)::after {
  color: var(--iq-fg-muted);
  opacity: .55;
}

/* --- 3. Sheet title block: kicker, large title, hairline rule -------------- */
body.iq-variant-techspec.post-type-archive-product .main-catalog__list > .main-catalog__title,
body.iq-variant-techspec.tax-product_cat .main-catalog__list > .main-catalog__title {
  display: block;
  /* The grid paints a 18%-white plate behind a 1px gap to draw the seams
     between cards. Margin on a full-width row leaves that plate showing as a
     grey band, so the spacing has to be padding — it carries the background. */
  margin: 0;
  padding: 4px 0 36px;
  /* The rule sits 22px above the bottom edge, where the border used to be
     before the margin was folded into the padding. */
  background:
    linear-gradient(var(--iq-hair-strong), var(--iq-hair-strong)) 0 calc(100% - 22px) / 100% 1px no-repeat,
    var(--iq-bg-canvas);
  color: var(--iq-fg-primary);
  font-family: var(--iq-display);
  font-weight: 700;
  font-size: clamp(30px, 4.6vw, 52px);
  line-height: .98;
  letter-spacing: -.02em;
  text-transform: uppercase;
}
body.iq-variant-techspec.post-type-archive-product .main-catalog__list > .main-catalog__title::before,
body.iq-variant-techspec.tax-product_cat .main-catalog__list > .main-catalog__title::before {
  content: 'Sheet 01 / 01 · catalog index';
  display: block;
  margin-bottom: 14px;
  color: var(--iq-fg-muted);
  font: 600 10px/1 var(--iq-font);
  font-variant-numeric: tabular-nums;
  letter-spacing: .18em;
  text-transform: uppercase;
}

/* --- 4. Filter strip: instrument tabs, square, hairline framed ------------- */
body.iq-variant-techspec .main-catalog__secondary-nav {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0 0 30px;
  background:
    linear-gradient(var(--iq-hair), var(--iq-hair)) 0 calc(100% - 18px) / 100% 1px no-repeat,
    var(--iq-bg-canvas);
}
/* Full-width service rows the theme drops into the grid. Same plate problem as
   the title: their margins expose the seam colour as a grey band. */
body.iq-variant-techspec .main-catalog__list > .iq-motion-caption {
  margin: 0;
  padding: 30px 0 14px;
  background: var(--iq-bg-canvas);
}
body.iq-variant-techspec .main-catalog__secondary-label {
  margin-right: auto;
  color: var(--iq-fg-muted);
  font: 600 10px/1 var(--iq-font);
  letter-spacing: .18em;
  text-transform: uppercase;
}
body.iq-variant-techspec .main-catalog__secondary-link {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 14px;
  border: 1px solid var(--iq-hair-strong);
  border-radius: 0;
  background: var(--iq-bg-surface);
  color: var(--iq-fg-muted);
  font: 700 10px/1 var(--iq-font);
  letter-spacing: .14em;
  text-transform: uppercase;
  transition: border-color .18s ease, color .18s ease, background-color .18s ease;
}
body.iq-variant-techspec .main-catalog__secondary-link:hover,
body.iq-variant-techspec .main-catalog__secondary-link:focus-visible {
  background: var(--iq-card-bg-hover);
  color: var(--iq-fg-primary);
}
body.iq-variant-techspec .main-catalog__secondary-link.is-active {
  border-color: var(--iq-action-primary);
  background: var(--iq-action-primary);
  color: var(--iq-bg-canvas);
}

/* --- 5. Sidebar: side panel of the sheet ----------------------------------- */
body.iq-variant-techspec.post-type-archive-product .main-catalog__sidebar-wrapper,
body.iq-variant-techspec.tax-product_cat .main-catalog__sidebar-wrapper {
  border: 1px solid var(--iq-hair);
  border-radius: var(--iq-radius-panel);
  background: var(--iq-bg-surface);
}
body.iq-variant-techspec .main-catalog__sidebar-wrapper .sidebar,
body.iq-variant-techspec .main-catalog__sidebar-wrapper .sidebar a { color: var(--iq-fg-primary); }
body.iq-variant-techspec .main-catalog__sidebar-wrapper .sidebar__link {
  border-bottom: 1px solid var(--iq-hair-strong);
  color: var(--iq-fg-muted);
  font: 600 10px/1 var(--iq-font);
  letter-spacing: .18em;
  text-transform: uppercase;
}
body.iq-variant-techspec .main-catalog__sidebar-wrapper .sidebar__menu > li > a {
  min-height: 40px;
  border-radius: 0;
  border-bottom: 1px solid var(--iq-hair);
  font: 600 11px/1.3 var(--iq-font);
  letter-spacing: .1em;
  text-transform: uppercase;
  transition: color .18s ease, background-color .18s ease, box-shadow .18s ease;
}
body.iq-variant-techspec .main-catalog__sidebar-wrapper .sidebar__menu .sub-menu {
  margin-top: 4px;
  padding: 6px 0 6px 14px;
  border-left: 1px solid var(--iq-hair);
}
body.iq-variant-techspec .main-catalog__sidebar-wrapper .sidebar__menu .sub-menu a {
  font-size: 11px;
  letter-spacing: .04em;
  text-transform: none;
}
body.iq-variant-techspec .main-catalog__sidebar-wrapper .sidebar a:hover,
body.iq-variant-techspec .main-catalog__sidebar-wrapper .sidebar a:focus-visible {
  background: none !important;
  color: var(--iq-action-primary) !important;
}
body.iq-variant-techspec .main-catalog__sidebar-wrapper .sidebar__menu .current-menu-item > a,
body.iq-variant-techspec .main-catalog__sidebar-wrapper .sidebar__menu .current-menu-ancestor > a {
  background: none !important;
  color: var(--iq-action-primary) !important;
  box-shadow: inset 2px 0 var(--iq-action-primary);
}
body.iq-variant-techspec .main-catalog__filters-toggle {
  border-radius: 0;
  border: 1px solid var(--iq-hair-strong);
  letter-spacing: .16em;
  text-transform: uppercase;
  font-size: 10px;
}

/* --- 6. Pagination: numbered stations on a ruler --------------------------- */
body.iq-variant-techspec ul.page-numbers {
  gap: 1px;
  margin-top: 34px;
  padding-top: 16px;
  border-top: 1px solid var(--iq-hair-strong);
  background: var(--iq-bg-canvas);
}
body.iq-variant-techspec ul.page-numbers .page-numbers {
  width: 38px;
  height: 38px;
  margin-right: 0;
  border: 1px solid var(--iq-hair);
  border-radius: 0;
  color: var(--iq-fg-muted);
  font: 700 12px/1 var(--iq-font);
  font-variant-numeric: tabular-nums;
  transition: border-color .18s ease, color .18s ease, background-color .18s ease;
}
body.iq-variant-techspec ul.page-numbers .page-numbers.dots { border-color: transparent; }
body.iq-variant-techspec ul.page-numbers .page-numbers:not(.dots):hover,
body.iq-variant-techspec ul.page-numbers .page-numbers:not(.dots):focus-visible {
  background: var(--iq-card-bg-hover);
  border-color: var(--iq-hair-strong);
  color: var(--iq-fg-primary);
}
body.iq-variant-techspec ul.page-numbers .page-numbers.current {
  border-color: var(--iq-action-primary);
  background: var(--iq-action-primary);
  color: var(--iq-bg-canvas);
}

/* --- 7. Footer: the colophon strip ----------------------------------------- */
body.iq-variant-techspec .footer {
  margin-top: 64px;
  border-top: 1px solid var(--iq-hair-strong);
  background: var(--iq-bg-canvas);
  color: var(--iq-fg-primary);
}
/* The category tree runs to ~860px as a single column. The base rule reaches
   for column-count, but something in style.min.css turns the list into a flex
   column and wins, so the columns never happen — editorial solves this with an
   explicit grid and techspec needs the same. */
body.iq-variant-techspec .footer-nav__column-submenu {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 18px;
  align-content: start;
}
body.iq-variant-techspec .footer-nav__column-submenu > li { width: auto; min-width: 0; }
body.iq-variant-techspec .footer-nav__column-submenu a {
  display: block;
  margin-bottom: 7px;
  font-size: 10px;
  line-height: 1.3;
  letter-spacing: .08em;
}
/* Floating chrome that sits outside the page flow: the hotline pill and the
   catalog dropdown kept their editorial pill/rounded shapes. */
body.iq-variant-techspec .header-link {
  border-radius: 0;
  border: 1px solid var(--iq-hair-strong);
  font: 700 10px/1 var(--iq-font);
  letter-spacing: .16em;
  text-transform: uppercase;
}
body.iq-variant-techspec .main-nav__column-submenu { border-radius: 0; }

body.iq-variant-techspec .footer__eyebrow,
body.iq-variant-techspec .footer__tagline {
  letter-spacing: .18em;
  text-transform: uppercase;
}
body.iq-variant-techspec .footer-main-nav > li > a,
body.iq-variant-techspec .footer-nav > li > a,
body.iq-variant-techspec .footer__library-link {
  font: 700 10px/1.3 var(--iq-font);
  letter-spacing: .16em;
  text-transform: uppercase;
}
body.iq-variant-techspec .footer__support,
body.iq-variant-techspec .footer__support-icon,
body.iq-variant-techspec .footer__icons a,
body.iq-variant-techspec .social-icons__link {
  border-radius: 0;
}
body.iq-variant-techspec .footer__support {
  border: 1px solid var(--iq-hair-strong);
  background: var(--iq-bg-surface);
}
body.iq-variant-techspec .footer__bottom {
  border-top: 1px solid var(--iq-hair);
  color: var(--iq-fg-muted);
  font-variant-numeric: tabular-nums;
  letter-spacing: .06em;
}
body.iq-variant-techspec .footer__developer,
body.iq-variant-techspec .footer__politics { letter-spacing: .1em; text-transform: uppercase; font-size: 10px; }

@media (max-width: 1320px) {
  body.iq-variant-techspec .breadcrumbs { padding-inline: 24px; }
}
@media (max-width: 760px) {
  body.iq-variant-techspec.post-type-archive-product .main-catalog__list > .main-catalog__title,
  body.iq-variant-techspec.tax-product_cat .main-catalog__list > .main-catalog__title { margin-bottom: 18px; }
  body.iq-variant-techspec .main-catalog__secondary-nav { gap: 6px; }
  body.iq-variant-techspec .breadcrumbs { padding: 12px 16px 4px; }
  body.iq-variant-techspec ul.page-numbers .page-numbers { width: 34px; height: 34px; }
}
