:root {
  --font-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  /* Поверхности — нейтральный тёмный фон без цветного подсвета */
  --bg-main: #090b0f;
  --bg-elevated: rgba(17, 24, 39, 0.94);
  --bg-elevated-soft: rgba(17, 24, 39, 0.78);
  --surface-card: rgba(24, 32, 48, 0.72);
  /* Один акцент (indigo) + состояния на том же оттенке */
  --accent: #6366f1;
  --accent-hover: #818cf8;
  --accent-soft: rgba(99, 102, 241, 0.32);
  --accent-strong: #818cf8;
  /* Оттенок как у фиолетового значка/эмодзи (иконка сообщения) */
  --emoji-purple: #6a5cff;
  --accent-danger: #f87171;
  --success: #34d399;
  --text-main: #f1f5f9;
  --text-muted: #94a3b8;
  --border-soft: rgba(148, 163, 184, 0.16);
  /* Тени — только мягкие, без резкого чёрного */
  --shadow-sm: 0 4px 24px rgba(0, 0, 0, 0.16);
  --shadow-md: 0 12px 40px rgba(0, 0, 0, 0.2);
  --shadow-soft: var(--shadow-md);
  --shadow-block: 0 8px 32px rgba(0, 0, 0, 0.18), 0 0 0 1px rgba(255, 255, 255, 0.04);
  --shadow-block-hover: 0 16px 48px rgba(0, 0, 0, 0.24), 0 0 0 1px rgba(99, 102, 241, 0.1), 0 0 36px rgba(99, 102, 241, 0.06);
  --shadow-card: var(--shadow-block);
  --shadow-card-hover: var(--shadow-block-hover);
  /* Свечение по контуру UI-блоков (indigo, без нижних секций главной) */
  --ui-edge-glow:
    0 0 0 1px rgba(129, 140, 248, 0.2),
    0 0 36px rgba(99, 102, 241, 0.14),
    0 0 72px rgba(99, 102, 241, 0.06);
  --ui-edge-glow-hover:
    0 0 0 1px rgba(165, 180, 252, 0.26),
    0 0 44px rgba(99, 102, 241, 0.2),
    0 0 88px rgba(99, 102, 241, 0.08);
  --glass-bg: rgba(24, 32, 48, 0.52);
  --glass-bg-strong: rgba(17, 24, 39, 0.85);
  --glass-border: 1px solid rgba(255, 255, 255, 0.08);
  --glass-blur: blur(20px) saturate(145%);
  --glass-shadow: 0 4px 28px rgba(0, 0, 0, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.05);
  /* Радиусы: 12px / 16px */
  --radius-sm: 12px;
  --radius-md: 16px;
  --radius-lg: 16px;
  --radius-card: 16px;
  --radius-btn: 12px;
  --radius-pill: 999px;
  /* Spacing: 8 / 16 / 24 / 32 / 48 / 64 */
  --space-1: 0.5rem;
  --space-2: 1rem;
  --space-3: 1.5rem;
  --space-4: 2rem;
  --space-5: 3rem;
  --space-6: 4rem;
  --space-7: 5rem;
  /* Сетка и ритм секций (когнитивный комфорт) */
  --layout-max: 1280px;
  --layout-gutter: clamp(1rem, 4vw, 1.75rem);
  --section-y: clamp(2.75rem, 5vw, 4.25rem);
  --prose-max: 38rem;
  --card-padding: var(--space-3);
  --card-gap: var(--space-2);
  --media-min-h: 148px;
  --ease-premium: cubic-bezier(0.22, 1, 0.36, 1);
  --transition-fast: 0.2s var(--ease-premium);
  --transition-normal: 0.28s var(--ease-premium);
  /* Шкала размеров (при root 16px): 12 / 14 / 16 / 20 / 24 / 32 / 48 */
  --fs-12: 0.75rem;
  --fs-14: 0.875rem;
  --fs-16: 1rem;
  --fs-20: 1.25rem;
  --fs-24: 1.5rem;
  --fs-32: 2rem;
  --fs-48: 3rem;
  /* Типографика: один шрифт, два межстрочных интервала */
  --text-xs: var(--fs-12);
  --text-sm: var(--fs-14);
  --lh-body: 1.5;
  --lh-heading: 1.35;
  /* Единая сетка каталога игр (квадратные карточки) */
  --catalog-grid-min: 11rem;
  --catalog-grid-gap: clamp(0.65rem, 2vw, 1.15rem);
  /* Вертикальный ритм основного контента (все страницы) */
  --main-pad-y: clamp(1.35rem, 4.2vw, 2.5rem);
  --main-pad-bottom: clamp(2rem, 5vw, 3.25rem);
  /* Главная: первый экран (hero) — отступ от верха viewport до блока «Топ игры» */
  --home-first-screen-offset: clamp(6rem, 12vh, 9rem);
  /* Шапка: одни и те же отступы и минимальная высота на всех страницах */
  --header-inner-pad-y: 0.62rem;
  --header-inner-min-height: 4.25rem;
  --header-inner-gap: clamp(0.65rem, 2vw, 1.1rem);
  /* Одна hero-зона для карточек игр: главная, каталог игр, превью чита — одна высота и 16:10 */
  --card-hero-height: clamp(13.5rem, 32vw, 18rem);
  --card-hero-aspect: 16 / 10;
  --cheat-thumb-w: 10.5rem;
  /* Полоса прокрутки страницы */
  --scrollbar-size: 11px;
  --scrollbar-track: rgba(8, 11, 18, 0.96);
  --scrollbar-track-edge: rgba(129, 140, 248, 0.14);
  --scrollbar-thumb: linear-gradient(
    180deg,
    rgba(199, 210, 254, 0.95) 0%,
    rgba(129, 140, 248, 0.88) 42%,
    rgba(99, 102, 241, 0.82) 100%
  );
  --scrollbar-thumb-hover: linear-gradient(
    180deg,
    rgba(224, 231, 255, 1) 0%,
    rgba(165, 180, 252, 0.98) 45%,
    rgba(129, 140, 248, 0.92) 100%
  );
  --scrollbar-glow: 0 0 10px rgba(99, 102, 241, 0.5), 0 0 22px rgba(99, 102, 241, 0.22);
  --scrollbar-glow-hover: 0 0 14px rgba(129, 140, 248, 0.72), 0 0 28px rgba(99, 102, 241, 0.34);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  /* clip не создаёт отдельный scroll-container и не ломает position:sticky у шапки; hidden на body — ломал */
  overflow-x: clip;
  scroll-behavior: auto;
  /* Одна база с body — иначе scrollbar-gutter / край viewport даёт заметный другой оттенок */
  background-color: var(--bg-main);
  /* Чтобы при появлении вертикального скролла контент не «прыгал» и шапка не меняла ширину между страницами */
  scrollbar-gutter: stable;
  /* Якоря и фокус не уезжают под липкую шапку */
  scroll-padding-top: calc(var(--header-inner-min-height) + (var(--header-inner-pad-y) * 2) + 2px);
}

@supports not (overflow: clip) {
  html {
    overflow-x: hidden;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

body {
  margin: 0;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  font-family: var(--font-sans);
  font-size: var(--text-sm);
  line-height: var(--lh-body);
  background-color: var(--bg-main);
  color: var(--text-main);
  position: relative;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-weight: 400;
  overflow-wrap: break-word;
}

@media (max-width: 768px) {
  html {
    scrollbar-gutter: auto;
  }

  body {
    overflow-x: hidden;
  }
}

/* Публичный сайт — полоса прокрутки с indigo-подсветкой (не админка / не checkout) */
html:has(body:not(.page-admin):not(.page-checkout-mail)) {
  scrollbar-width: thin;
  scrollbar-color: rgba(129, 140, 248, 0.78) var(--scrollbar-track);
}

html:has(body:not(.page-admin):not(.page-checkout-mail))::-webkit-scrollbar {
  width: var(--scrollbar-size);
  height: var(--scrollbar-size);
}

html:has(body:not(.page-admin):not(.page-checkout-mail))::-webkit-scrollbar-track {
  background: linear-gradient(
    90deg,
    rgba(99, 102, 241, 0.07) 0%,
    var(--scrollbar-track) 38%,
    var(--scrollbar-track) 100%
  );
  border-left: 1px solid var(--scrollbar-track-edge);
  box-shadow: inset 0 0 28px rgba(99, 102, 241, 0.05);
}

html:has(body:not(.page-admin):not(.page-checkout-mail))::-webkit-scrollbar-thumb {
  background: var(--scrollbar-thumb);
  border-radius: 999px;
  border: 2px solid rgba(8, 11, 18, 0.94);
  box-shadow: var(--scrollbar-glow);
  min-height: 3.5rem;
}

html:has(body:not(.page-admin):not(.page-checkout-mail))::-webkit-scrollbar-thumb:hover {
  background: var(--scrollbar-thumb-hover);
  box-shadow: var(--scrollbar-glow-hover);
}

html:has(body:not(.page-admin):not(.page-checkout-mail))::-webkit-scrollbar-thumb:active {
  background: linear-gradient(
    180deg,
    rgba(224, 231, 255, 1) 0%,
    rgba(129, 140, 248, 1) 100%
  );
}

html:has(body:not(.page-admin):not(.page-checkout-mail))::-webkit-scrollbar-button,
html:has(body:not(.page-admin):not(.page-checkout-mail))::-webkit-scrollbar-corner {
  display: none;
  width: 0;
  height: 0;
}

@media (prefers-reduced-motion: reduce) {
  html:has(body:not(.page-admin):not(.page-checkout-mail))::-webkit-scrollbar-thumb,
  html:has(body:not(.page-admin):not(.page-checkout-mail))::-webkit-scrollbar-thumb:hover {
    box-shadow: none;
  }
}

button,
input,
textarea,
select {
  font-family: inherit;
  line-height: inherit;
}

:is(h1, h2, h3, h4, h5, h6) {
  line-height: var(--lh-heading);
}

body::before,
body.page:not(.page-admin)::after {
  display: none;
}

@media (prefers-reduced-motion: reduce) {
  .catalog-preview-card:hover,
  .games-card:hover,
  .card:hover,
  .hero-side-block:hover,
  .trust-link:hover,
  .support-card:hover,
  .game-block:hover,
  .cheat-block:hover,
  .btn:hover,
  .product-page__buy-btn:hover {
    transform: none !important;
    filter: none !important;
  }

  .game-block:hover .game-block__thumb--has-img,
  .catalog-preview-card:hover .catalog-preview-card__media,
  .cheat-block:hover .cheat-block__thumb {
    transform: none !important;
    filter: none !important;
  }

}

.page {
  position: relative;
  z-index: 1;
}

@keyframes page-fade-in {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Опциональный слой .floating-bg + .float-circle (если добавите разметку на страницу) */
.floating-bg {
  position: fixed;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: -1;
}

.float-circle {
  position: absolute;
  border-radius: 999px;
  background: radial-gradient(circle at 30% 30%, rgba(129, 140, 248, 0.5), transparent 60%);
  filter: blur(1px);
  opacity: 0.35;
  animation: float 10s ease-in-out infinite alternate, float-glow 8s ease-in-out infinite alternate;
}

.float-circle--1 {
  width: 340px;
  height: 340px;
  top: 10%;
  left: -100px;
  animation-duration: 11s, 7s;
  animation-delay: 0s, 0.5s;
}

.float-circle--2 {
  width: 260px;
  height: 260px;
  top: 60%;
  right: -60px;
  animation-duration: 13s, 9s;
  animation-delay: 1s, 1.5s;
}

.float-circle--3 {
  width: 220px;
  height: 220px;
  bottom: -80px;
  left: 20%;
  animation-duration: 9s, 8s;
  animation-delay: 0.3s, 0s;
}

.float-circle--4 {
  width: 180px;
  height: 180px;
  top: 20%;
  right: 25%;
  animation-duration: 14s, 10s;
  animation-delay: 2s, 2.5s;
}

.float-circle--5 {
  width: 200px;
  height: 200px;
  top: 45%;
  left: 5%;
  animation-duration: 12s, 6s;
  animation-delay: 0.7s, 1s;
}

.float-circle--6 {
  width: 160px;
  height: 160px;
  bottom: 25%;
  right: 15%;
  animation-duration: 10s, 7.5s;
  animation-delay: 1.5s, 0.3s;
}

@keyframes float {
  0% {
    transform: translate3d(0, 0, 0) scale(1);
  }
  20% {
    transform: translate3d(40px, -30px, 0) scale(1.04);
  }
  40% {
    transform: translate3d(-35px, 25px, 0) scale(0.98);
  }
  60% {
    transform: translate3d(50px, 35px, 0) scale(1.05);
  }
  80% {
    transform: translate3d(-30px, -20px, 0) scale(1.02);
  }
  100% {
    transform: translate3d(35px, 45px, 0) scale(1.03);
  }
}

@keyframes float-glow {
  0%, 100% { opacity: 0.35; filter: blur(1px); }
  50% { opacity: 0.5; filter: blur(2px); }
}

/* Опционально: отключение фона для страницы */
.page-bg-test--current .floating-bg { background: none; }

.page-bg-test--cosmic .float-circle { display: none; }
.page-bg-test--cosmic .floating-bg {
  background: linear-gradient(180deg, rgba(10, 10, 30, 0.75) 0%, rgba(5, 5, 20, 0.9) 100%),
    url("https://images.unsplash.com/photo-1462331940025-496dfbfc7564?w=1920&q=80") center/cover no-repeat;
}

.page-bg-test--gradient .float-circle { display: none; }
.page-bg-test--gradient .floating-bg {
  background: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%);
}

.page-bg-test--mesh .float-circle { display: none; }
.page-bg-test--mesh .floating-bg {
  background-color: #0a0a12;
  background-image:
    linear-gradient(rgba(99, 102, 241, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(99, 102, 241, 0.08) 1px, transparent 1px);
  background-size: 48px 48px;
}

.page-bg-test--neon .float-circle { display: none; }
.page-bg-test--neon .floating-bg {
  background: linear-gradient(160deg, #1a0a2e 0%, #16213e 40%, #0f3460 70%, #0a0a1a 100%);
}

.page-bg-test--aurora .float-circle { display: none; }
.page-bg-test--aurora .floating-bg {
  background-color: #0d0221;
  background-image: linear-gradient(180deg, transparent 0%, rgba(0, 255, 136, 0.07) 30%, rgba(100, 200, 255, 0.06) 50%, transparent 100%),
    linear-gradient(90deg, transparent 0%, rgba(138, 43, 226, 0.05) 50%, transparent 100%);
}

.bg-test-switcher {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
  margin-top: 1.5rem;
}

.bg-test-btn {
  padding: 0.5rem 1rem;
  font-size: 0.9rem;
  border-radius: var(--radius-sm);
  border: 1px solid rgba(148, 163, 184, 0.3);
  background: rgba(30, 41, 59, 0.6);
  color: var(--text-main);
  cursor: pointer;
  transition: border-color 0.2s, background 0.2s;
}

.bg-test-btn:hover {
  border-color: var(--accent-soft);
  background: rgba(99, 102, 241, 0.15);
}

.bg-test-btn.active {
  border-color: var(--accent);
  background: rgba(99, 102, 241, 0.25);
  color: var(--accent-strong);
}

.container {
  width: 100%;
  max-width: var(--layout-max);
  margin: 0 auto;
  padding: 0 var(--layout-gutter);
  min-width: 0;
}

/* Длинные слова и подписи — без вылезания из колонок и карточек */
.section__title,
.section__text,
.hero__title,
.hero__subtitle,
.legal-page,
.legal-page__outer-title,
.product-page__title,
.product-page__description,
.product-page__subtitle {
  overflow-wrap: break-word;
}

.header {
  position: sticky;
  top: 0;
  z-index: 100;
  flex-shrink: 0;
  align-self: flex-start;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  background: transparent;
  border-bottom: none;
  padding: 0.75rem 0 0.35rem;
  overflow: visible;
}

.header__inner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--header-inner-gap);
  padding: 0.55rem 1.15rem;
  min-height: var(--header-inner-min-height);
  min-width: 0;
  box-sizing: border-box;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: color-mix(in oklab, rgba(10, 13, 20, 0.78) 70%, transparent);
  backdrop-filter: blur(22px) saturate(150%);
  -webkit-backdrop-filter: blur(22px) saturate(150%);
  box-shadow:
    0 8px 40px rgba(0, 0, 0, 0.35),
    0 0 0 1px rgba(129, 140, 248, 0.08),
    0 0 36px rgba(99, 102, 241, 0.08);
  overflow: visible;
}

.header__inner .logo {
  justify-self: start;
  flex-shrink: 0;
  z-index: 1;
}

.header__inner .nav {
  justify-self: stretch;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  gap: 0.2rem 0.35rem;
  width: 100%;
  min-width: 0;
  /* visible — иначе overflow-x:auto обрезает выпадающее меню FAQ */
  overflow: visible;
  scrollbar-width: none;
  -ms-overflow-style: none;
  -webkit-overflow-scrolling: touch;
}

.header__inner .nav::-webkit-scrollbar {
  display: none;
}

.header__inner .header__social {
  justify-self: end;
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  justify-content: flex-end;
  gap: 0.45rem 0.65rem;
  flex-shrink: 0;
  min-width: max-content;
  max-width: none;
  padding: 0;
  margin: 0;
  background: none;
  border: none;
  box-shadow: none;
  z-index: 2;
}

.header__inner .header__actions {
  justify-self: end;
}

/* Discord и Telegram в шапке — одинаковый вид на всех страницах */
.header__social-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  text-decoration: none;
  color: rgba(226, 232, 240, 0.88);
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: lowercase;
  border: none;
  outline: none;
  box-shadow: none;
  background: none;
  padding: 0;
  border-radius: 0;
  transition: color var(--transition-fast), opacity var(--transition-fast);
}

.header__social-link:hover {
  color: #f1f5f9;
}

.header__social-link:focus-visible {
  color: var(--accent-hover);
  border-radius: 4px;
  box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.45);
}

.header__social-link__ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: rgba(203, 213, 225, 0.92);
  line-height: 0;
  transition: color var(--transition-fast), transform var(--transition-fast);
}

.header__social-link:hover .header__social-link__ico {
  color: rgba(241, 245, 249, 0.98);
  transform: translateY(-0.5px);
}

.header__social-svg {
  display: block;
  width: 1.35rem;
  height: 1.35rem;
}

.header__social-svg--discord {
  width: 1.42rem;
  height: 1.42rem;
}

.header__social-link--discord:hover .header__social-link__ico,
.header__social-link--discord:focus-visible .header__social-link__ico {
  color: #a5b4fc;
}

.header__social-link__txt {
  font-size: inherit;
  letter-spacing: inherit;
}

/* Узкие экраны: только иконки — FAQ не наезжает на Discord/Telegram */
@media (max-width: 1280px) {
  .header__social-link__txt {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  .header__social-link {
    position: relative;
    gap: 0;
  }

  .header .nav__link {
    padding: 0.38rem 0.5rem;
    gap: 0.28rem;
  }
}

.nav__docs {
  flex: 0 0 auto;
  max-width: 100%;
}

.nav__link--docs {
  position: relative;
  z-index: 1;
  padding-left: 0.55rem;
  padding-right: 0.55rem;
}

.page-home .main__grid > .hero {
  background:
    radial-gradient(ellipse 88% 62% at 50% 0%, rgba(129, 140, 248, 0.11), transparent 58%),
    linear-gradient(165deg, rgba(30, 41, 59, 0.52) 0%, rgba(15, 23, 42, 0.86) 48%, rgba(10, 13, 20, 0.93) 100%);
  box-shadow:
    var(--shadow-card),
    0 0 80px rgba(99, 102, 241, 0.045),
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    var(--ui-edge-glow);
  border-color: rgba(148, 163, 184, 0.13);
  padding: clamp(1.5rem, 4vh, 2.65rem) clamp(1.15rem, 3vw, 1.95rem);
}

.page-home .hero-side-block {
  background: rgba(24, 32, 48, 0.58);
  border-color: rgba(255, 255, 255, 0.07);
  box-shadow:
    var(--shadow-card),
    0 0 42px rgba(99, 102, 241, 0.035),
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    var(--ui-edge-glow);
  padding: clamp(1.1rem, 2.4vh, 1.55rem) clamp(1.05rem, 2.2vw, 1.45rem);
}

.page-home .section.section--games.section--catalog-preview {
  border-top: 1px solid rgba(148, 163, 184, 0.1);
  background: linear-gradient(
    180deg,
    rgba(17, 24, 39, 0.38) 0%,
    rgba(10, 13, 20, 0.14) 48%,
    rgba(17, 24, 39, 0.32) 100%
  );
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.028),
    0 0 56px rgba(99, 102, 241, 0.07),
    0 0 100px rgba(99, 102, 241, 0.04);
}

/* Заголовок секции отдельно от сетки карточек — без визуального наслоения */
.page-home #games .catalog-preview__intro {
  max-width: 42rem;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: clamp(1.35rem, 3.5vw, 2.35rem);
  margin-bottom: clamp(1.35rem, 3.2vw, 2.25rem);
  border-bottom: 1px solid rgba(148, 163, 184, 0.16);
}

.page-home #games .catalog-preview__body {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: clamp(1.35rem, 3.2vw, 2.15rem);
  padding-top: 0.2rem;
}

.page-home #games .catalog-preview__body #main-games-grid {
  margin-top: 0;
}

.page-home #games .catalog-preview__intro .catalog-preview__desc {
  margin-bottom: 0;
}

/* Каталог → «Почему выбирают нас»: ритм отступа без лишнего margin */
.page-home #games {
  margin-bottom: 0;
  padding-bottom: clamp(1.25rem, 3.2vw, 2.5rem);
}

.page-home #about {
  position: relative;
  margin-top: clamp(0.85rem, 2.2vw, 1.6rem);
  padding-top: var(--space-3);
  padding-bottom: var(--space-2);
}

.page-home #about::before {
  content: "";
  position: absolute;
  inset: 0;
  margin: 0 calc(-1 * var(--layout-gutter));
  border-radius: var(--radius-lg);
  background: linear-gradient(
    125deg,
    rgba(17, 24, 39, 0.28) 0%,
    rgba(10, 13, 20, 0.06) 45%,
    rgba(24, 32, 48, 0.22) 100%
  );
  border: 1px solid rgba(148, 163, 184, 0.07);
  pointer-events: none;
  z-index: 0;
}

.page-home #about .container {
  position: relative;
  z-index: 1;
}

.page-home #about .card {
  background: rgba(24, 32, 48, 0.62);
  border-color: rgba(148, 163, 184, 0.11);
  box-shadow: var(--shadow-card), inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

/* Подвал как карточка на всех страницах (кроме скрытия на mobile) */
.page:not(.page-faq) .footer {
  margin-top: var(--space-3);
  border-top: none;
  background: transparent;
}

.page:not(.page-faq) .header {
  box-shadow: none;
}

.page-home #main-games-grid .catalog-preview-card {
  box-shadow: var(--shadow-card), var(--ui-edge-glow);
}

.page-home #main-games-grid .catalog-preview-card:hover {
  box-shadow: var(--shadow-card-hover), var(--ui-edge-glow-hover);
}

.page-home .hero-side-block:hover {
  box-shadow: var(--shadow-card-hover), var(--glass-shadow), var(--ui-edge-glow-hover);
}

/* Логотип: ссылка на главную, SVG-щит + градиентный текст */
.logo {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  transition: opacity 0.25s ease;
}

.logo:hover {
  opacity: 1;
}

.logo__svg {
  width: 48px;
  height: 48px;
  flex-shrink: 0;
  filter: drop-shadow(0 0 10px rgba(106, 92, 255, 0.22));
  transition: transform 0.4s ease, filter 0.4s ease;
}

.logo:hover .logo__svg {
  transform: scale(1.08) rotate(-4deg);
  filter: drop-shadow(0 0 16px rgba(106, 92, 255, 0.32));
}

.logo__svg linearGradient stop {
  stop-color: var(--emoji-purple) !important;
}

.logo__svg linearGradient stop:last-child {
  stop-color: rgba(129, 140, 248, 0.98) !important;
}

.logo__mark {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  background: radial-gradient(circle at 25% 15%, #f97316, #ef4444);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: var(--fs-16);
  color: #f9fafb;
  letter-spacing: 0.04em;
  box-shadow: 0 0 0 1px rgba(248, 250, 252, 0.16), 0 14px 28px rgba(15, 23, 42, 0.9);
  flex-shrink: 0;
}

.logo__mark--img {
  background: transparent;
  box-shadow: 0 12px 26px rgba(15, 23, 42, 0.9);
  object-fit: contain;
  width: 42px;
  height: 42px;
}

.logo__mark--fallback {
  flex-shrink: 0;
}

.logo__text {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0 0.1em;
}

/* В шапке название не переносится — одинаковая высота строки на всех страницах при любой ширине колонки */
.header .logo__text {
  flex-wrap: nowrap;
  white-space: nowrap;
}

/* Название в шапке/футере: EMBLEM белый + CHEATS градиент (как на emblemcheats.space) */
.logo__title {
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-size: var(--fs-16);
  color: rgba(241, 245, 249, 0.96);
  line-height: var(--lh-heading);
  text-shadow:
    0 0 10px rgba(106, 92, 255, 0.12),
    0 0 18px rgba(106, 92, 255, 0.06);
}

.logo__title:not(.logo__title--gradient):not(.logo__title--accent) {
  color: rgba(241, 245, 249, 0.96) !important;
  -webkit-text-fill-color: rgba(241, 245, 249, 0.96) !important;
  text-shadow:
    0 0 8px rgba(241, 245, 249, 0.14),
    0 0 16px rgba(106, 92, 255, 0.08);
  background: none;
}

.header .logo__title:not(.logo__title--gradient):not(.logo__title--accent),
.footer .logo__title:not(.logo__title--gradient):not(.logo__title--accent) {
  color: rgba(241, 245, 249, 0.96) !important;
  -webkit-text-fill-color: rgba(241, 245, 249, 0.96) !important;
}

.logo__title--gradient,
.logo__title--accent {
  background: linear-gradient(90deg, rgba(106, 92, 255, 0.98), rgba(129, 140, 248, 0.98)) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
  letter-spacing: 0.12em;
  filter:
    drop-shadow(0 0 10px rgba(106, 92, 255, 0.2))
    drop-shadow(0 0 18px rgba(106, 92, 255, 0.12));
}

.header .logo__title--accent,
.header .logo__title--gradient,
.footer .logo__title--accent,
.footer .logo__title--gradient {
  background: linear-gradient(90deg, rgba(106, 92, 255, 0.98), rgba(129, 140, 248, 0.98)) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}

.logo__subtitle {
  font-size: var(--text-xs);
  color: var(--text-muted);
  letter-spacing: 0.02em;
  line-height: var(--lh-body);
}

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

/* Подпись под логотипом в шапке скрыта по запросу */
#site-subtitle {
  display: none;
}

.nav {
  display: flex;
  gap: 1.5rem;
  align-items: center;
  min-width: 0;
}

.nav__link {
  position: relative;
  font-size: var(--fs-14);
  color: var(--text-muted);
  text-decoration: none;
  padding: 0.2rem 0;
  white-space: nowrap;
  transition: color var(--transition-fast);
}

.nav__link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.3rem;
  width: 0;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--accent), var(--accent-strong));
  transition: width var(--transition-normal);
}

.nav__link:hover {
  color: #e5e7eb;
}

.nav__link:hover::after,
.nav__link--active::after {
  width: 100%;
}

.nav__link--active {
  color: #f9fafb;
}

/* Шапка Vespera-style: пункты меню как pills внутри капсулы */
.header .nav__link {
  padding: 0.4rem 0.65rem;
  border-radius: 999px;
  flex: 0 0 auto;
  transition: color var(--transition-fast), background var(--transition-fast);
}

.header .nav__link::after {
  display: none;
  width: 0;
}

.header .nav__link:hover {
  color: #f1f5f9;
  background: rgba(24, 32, 48, 0.72);
}

.header .nav__link--active {
  color: var(--accent-strong);
  background: rgba(99, 102, 241, 0.14);
}

/* Иконки в навигации — контурный стиль */
.nav__link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

.nav__link::before {
  content: "";
  width: 1.05em;
  height: 1.05em;
  flex-shrink: 0;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0.9;
}

.nav__link--has-ico::before {
  display: none;
  content: none;
}

.nav__link-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.05em;
  height: 1.05em;
  flex-shrink: 0;
  color: #9ca3af;
  line-height: 0;
  opacity: 0.9;
  transition: color var(--transition-fast, 0.2s ease), opacity var(--transition-fast, 0.2s ease);
}

.nav__link-ico svg {
  display: block;
  width: 100%;
  height: 100%;
}

.nav__link--has-ico:hover .nav__link-ico,
.nav__link--has-ico.nav__link--active .nav__link-ico {
  color: #f9fafb;
  opacity: 1;
}

#nav-home.nav__link::before,
.nav__link[href="index.html"]::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3Cpolyline points='9 22 9 12 15 12 15 22'/%3E%3C/svg%3E");
}

#nav-catalog.nav__link::before,
.nav__link[href="catalog.html"]::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7'/%3E%3Crect x='14' y='3' width='7' height='7'/%3E%3Crect x='14' y='14' width='7' height='7'/%3E%3Crect x='3' y='14' width='7' height='7'/%3E%3C/svg%3E");
}

#nav-status.nav__link::before,
.nav__link[href="status.html"]::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='%2322c55e'/%3E%3C/svg%3E");
}

#nav-reviews.nav__link::before,
.nav__link[href="/rewivse"]::before,
.nav__link[href="rewivse.html"]::before,
.nav__link[href="/reviews"]::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 17.27 18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z'/%3E%3C/svg%3E");
}

#nav-support.nav__link::before,
.nav__link[href="/support"]::before,
.nav__link[href="support.html"]::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2' ry='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E");
}

.nav__link--active::before,
.nav__link:hover::before {
  opacity: 1;
}

#nav-home.nav__link--active::before,
.nav__link--active[href="index.html"]::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f9fafb' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3Cpolyline points='9 22 9 12 15 12 15 22'/%3E%3C/svg%3E"); }
#nav-catalog.nav__link--active::before,
.nav__link--active[href="catalog.html"]::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f9fafb' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7'/%3E%3Crect x='14' y='3' width='7' height='7'/%3E%3Crect x='14' y='14' width='7' height='7'/%3E%3Crect x='3' y='14' width='7' height='7'/%3E%3C/svg%3E"); }
#nav-status.nav__link--active::before,
.nav__link--active[href="status.html"]::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='%234ade80'/%3E%3C/svg%3E"); }
#nav-reviews.nav__link--active::before,
.nav__link--active[href="/rewivse"]::before,
.nav__link--active[href="rewivse.html"]::before,
.nav__link--active[href="/reviews"]::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f9fafb' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 17.27 18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z'/%3E%3C/svg%3E"); }
#nav-support.nav__link--active::before,
.nav__link--active[href="/support"]::before,
.nav__link--active[href="support.html"]::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f9fafb' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2' ry='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E"); }

.nav__docs {
  position: relative;
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  z-index: 200;
}

.nav__link--docs {
  appearance: none;
  border: 0;
  background: transparent;
  font-family: inherit;
  font-weight: inherit;
  line-height: inherit;
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
  padding-right: 0;
}

.nav__link--docs::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 5.5A2.5 2.5 0 0 1 7 3h11v15H7a2.5 2.5 0 1 0 0 5h11'/%3E%3Cpath d='M7 3v20'/%3E%3Cpath d='M12 7h4M12 10h4'/%3E%3C/svg%3E");
}

.nav__docs:hover .nav__link--docs::before,
.nav__docs:focus-within .nav__link--docs::before,
.nav__docs.nav__docs--open .nav__link--docs::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f9fafb' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 5.5A2.5 2.5 0 0 1 7 3h11v15H7a2.5 2.5 0 1 0 0 5h11'/%3E%3Cpath d='M7 3v20'/%3E%3Cpath d='M12 7h4M12 10h4'/%3E%3C/svg%3E");
}

.nav__link--docs::after {
  display: none;
}

.nav__docs-menu {
  position: absolute;
  top: calc(100% - 1px);
  left: 0;
  min-width: 286px;
  margin: 0;
  padding: 0.7rem;
  border-radius: 16px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: rgba(7, 10, 20, 0.96);
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.45);
  list-style: none;
  z-index: 999;
  display: grid;
  gap: 0.15rem;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(10px);
  transition:
    opacity 0.24s ease,
    transform 0.24s ease,
    visibility 0s linear 0.24s;
}

.nav__docs:hover .nav__docs-menu,
.nav__docs:focus-within .nav__docs-menu,
.nav__docs.nav__docs--open .nav__docs-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
  transition-delay: 0s;
}

.nav__docs-link {
  display: block;
  padding: 0.68rem 0.78rem;
  border-radius: 10px;
  color: var(--text-muted);
  text-decoration: none;
  font-size: var(--fs-14);
  line-height: 1.3;
  transition: background var(--transition-fast), color var(--transition-fast);
}

.nav__docs-link:hover,
.nav__docs-link:focus-visible {
  background: rgba(106, 92, 255, 0.16);
  color: #f9fafb;
  outline: none;
}

.faq-accordion {
  display: grid;
  gap: 0.7rem;
  margin-top: 1rem;
}

.faq-accordion__item {
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 12px;
  background: rgba(10, 15, 28, 0.66);
  overflow: hidden;
}

.faq-accordion__question {
  list-style: none;
  cursor: pointer;
  padding: 0.9rem 1rem;
  font-weight: 600;
  color: #f1f5f9;
}

.faq-accordion__question::-webkit-details-marker {
  display: none;
}

.faq-accordion__answer {
  padding: 0 1rem 0.9rem;
}

.header__actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* Кнопки — primary / secondary / ghost, единая высота */
.btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  min-height: 48px;
  padding: 0.65rem 1.25rem;
  border-radius: var(--radius-btn);
  border: 1px solid var(--border-soft);
  background: var(--surface-card);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  color: var(--text-main);
  font-size: var(--fs-14);
  font-weight: 600;
  line-height: var(--lh-heading);
  cursor: pointer;
  text-decoration: none;
  overflow: hidden;
  transition:
    background var(--transition-fast),
    border-color var(--transition-fast),
    box-shadow var(--transition-fast),
    transform var(--transition-fast),
    filter var(--transition-fast);
  box-shadow: var(--shadow-sm), inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.btn:hover {
  background: rgba(36, 44, 62, 0.88);
  border-color: rgba(148, 163, 184, 0.28);
  transform: translateY(-1px) scale(1.02);
  box-shadow: var(--shadow-md), 0 0 28px rgba(99, 102, 241, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.btn:active {
  transform: translateY(0) scale(0.99);
  box-shadow: var(--shadow-sm);
}

.btn:focus-visible {
  outline: 2px solid var(--accent-soft);
  outline-offset: 2px;
}

.btn--primary {
  background: var(--accent);
  border-color: rgba(255, 255, 255, 0.14);
  color: #f8fafc;
  font-weight: 700;
  letter-spacing: 0.02em;
  box-shadow:
    0 8px 28px rgba(99, 102, 241, 0.32),
    0 0 40px rgba(99, 102, 241, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.14);
}

.btn--primary::before {
  display: none;
}

.btn--primary:hover {
  background: var(--accent-hover);
  border-color: rgba(255, 255, 255, 0.22);
  filter: brightness(1.06);
  transform: translateY(-2px) scale(1.03);
  box-shadow:
    0 14px 40px rgba(99, 102, 241, 0.42),
    0 0 48px rgba(129, 140, 248, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.btn--secondary {
  background:
    radial-gradient(120% 140% at 20% 10%, rgba(106, 92, 255, 0.14), transparent 55%),
    rgba(15, 23, 42, 0.32);
  border-color: rgba(106, 92, 255, 0.42);
  color: rgba(220, 215, 255, 0.95);
  font-weight: 600;
  box-shadow:
    0 0 0 1px rgba(106, 92, 255, 0.14),
    0 10px 26px rgba(0, 0, 0, 0.16);
}

.btn--secondary:hover {
  background:
    radial-gradient(120% 140% at 20% 10%, rgba(106, 92, 255, 0.22), transparent 52%),
    rgba(30, 41, 59, 0.58);
  border-color: rgba(106, 92, 255, 0.62);
  color: rgba(241, 245, 249, 0.98);
  transform: translateY(-1px) scale(1.01);
  box-shadow:
    0 12px 34px rgba(0, 0, 0, 0.18),
    0 0 26px rgba(106, 92, 255, 0.2),
    0 0 54px rgba(106, 92, 255, 0.1);
}

.btn--ghost {
  background: transparent;
  border-color: var(--border-soft);
  box-shadow: none;
  font-weight: 500;
}

.btn--ghost:hover {
  background: rgba(99, 102, 241, 0.1);
  border-color: rgba(99, 102, 241, 0.35);
  box-shadow: 0 0 20px rgba(99, 102, 241, 0.08);
}

.btn--sm {
  min-height: 48px;
  padding: 0.5rem 1rem;
  font-size: var(--fs-14);
  border-radius: var(--radius-btn);
}

.main {
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  padding: var(--main-pad-y) 0 var(--main-pad-bottom);
  /* Без page-fade-in: иначе translateY(12px) конфликтует с ec-content-boot и карточки «подпрыгивают». */
}

/* Главная: первый экран — отступ от шапки и воздух снизу */
.page-home .main {
  padding-top: clamp(0.85rem, 2.6vh, 1.65rem);
  padding-bottom: clamp(0.65rem, 2vh, 1.35rem);
}

/* Плавное появление основного контента задано выше (page-fade-in) */

.main__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-4);
  row-gap: var(--space-4);
  align-items: stretch;
}

.page-home .main__grid {
  /* Заполняет первый экран: блок «Хиты / Топ игры» уходит ниже сгиба (без потолка 752px) */
  min-height: max(27rem, calc(100svh - var(--home-first-screen-offset)));
  column-gap: clamp(1.15rem, 2.8vw, 1.75rem);
  row-gap: clamp(1.15rem, 2.8vw, 1.75rem);
}

/* Главная: hero слева, боковые карточки справа — одна высота ряда */
.page-home .main__grid > .hero {
  grid-column: 1 / span 7;
  min-height: 100%;
  height: 100%;
  box-sizing: border-box;
}

.page-home .main__grid > .hero-visual {
  grid-column: 8 / span 5;
  min-height: 100%;
  height: 100%;
}

.page-home .hero-visual {
  min-height: 100%;
  height: 100%;
}

.page-home .hero-visual__blocks {
  flex: 1 1 auto;
  min-height: 100%;
  height: 100%;
  gap: clamp(1rem, 2.2vh, 1.45rem);
}

.page-home .hero-visual__blocks > .hero-side-block {
  flex: 1 1 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.page-home .hero-visual__blocks > .hero-side-block--catalog-popular {
  flex: 0 0 auto;
  min-height: 0;
  justify-content: flex-start;
}

.page-home .hero-visual__blocks > .hero-side-block.spectre-offer {
  flex: 1 1 auto;
  min-height: 0;
}

.main__grid > .hero {
  grid-column: 1 / span 7;
}

.main__grid > .hero-visual {
  grid-column: 8 / span 5;
}

.hero {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  justify-content: space-between;
  padding: clamp(1.25rem, 3.2vh, 2.1rem) clamp(0.95rem, 2.2vw, 1.6rem);
  border-radius: var(--radius-md);
  background:
    radial-gradient(ellipse 85% 60% at 50% 0%, rgba(99, 102, 241, 0.14), transparent 55%),
    linear-gradient(180deg, rgba(24, 32, 48, 0.92) 0%, rgba(10, 13, 20, 0.96) 100%);
  box-shadow: var(--shadow-card), 0 0 60px rgba(99, 102, 241, 0.06);
  border: 1px solid var(--border-soft);
  position: relative;
  overflow: hidden;
}

.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 0%, rgba(255, 255, 255, 0.04), transparent 45%);
  pointer-events: none;
}

.hero::after {
  content: "";
  position: absolute;
  inset: -10%;
  background: radial-gradient(ellipse 50% 40% at 80% 100%, rgba(99, 102, 241, 0.08), transparent 50%);
  pointer-events: none;
  filter: blur(32px);
}

.hero > * {
  position: relative;
  z-index: 1;
}

.hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.38rem 1rem;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(51, 65, 85, 0.92), rgba(15, 23, 42, 0.96));
  border: 1px solid rgba(148, 163, 184, 0.2);
  color: #f1f5f9;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.hero__badge::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: radial-gradient(circle at 30% 30%, #4ade80, #22c55e);
  box-shadow: 0 0 15px rgba(34, 197, 94, 0.9);
}

.hero__title {
  margin: clamp(0.65rem, 1.6vh, 1rem) 0 clamp(0.55rem, 1.4vh, 0.95rem);
  width: 100%;
  max-width: min(100%, var(--prose-max));
  font-size: clamp(1.95rem, 4.2vw, 3.35rem);
  line-height: 1.08;
  letter-spacing: 0.028em;
  text-transform: uppercase;
  font-weight: 700;
  color: #f8fafc;
  text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35);
  text-wrap: balance;
}

.hero__subtitle {
  margin: 0 0 clamp(1rem, 2.2vh, 1.45rem);
  width: 100%;
  max-width: min(100%, 34rem);
  color: #cbd5e1;
  font-size: clamp(1rem, 1.55vw, 1.125rem);
  line-height: 1.62;
  font-weight: 400;
  letter-spacing: 0.01em;
}

.hero__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  justify-content: center;
  width: 100%;
  max-width: 600px;
  margin-bottom: clamp(0.65rem, 1.5vh, 1.05rem);
}

.hero__buttons .btn--primary {
  min-width: 11.5rem;
  font-size: var(--fs-14);
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.hero__buttons .btn--secondary {
  min-width: 9rem;
  min-height: 48px;
  font-size: var(--fs-14);
}

.hero__meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(0.45rem, 1.1vh, 0.65rem);
  justify-content: center;
  width: 100%;
  max-width: 34rem;
  margin-top: clamp(0.2rem, 0.6vh, 0.45rem);
  font-size: 0.8125rem;
  line-height: 1.45;
  color: #cbd5e1;
}

@media (max-width: 520px) {
  .hero__meta {
    grid-template-columns: 1fr;
  }
}

.hero__meta-item {
  padding: 0.5rem 0.85rem;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.055);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.06);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  text-align: center;
}

.hero__meta-item::before {
  content: "";
  width: 1em;
  height: 1em;
  flex-shrink: 0;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0.85;
}

.hero__meta-item--chips::before {
  display: none;
}

/* Контурные иконки в чипах героя — акцент бренда (stroke=currentColor) */
.hero__meta-icon {
  width: 1.05em;
  height: 1.05em;
  flex-shrink: 0;
  opacity: 0.92;
  color: var(--accent);
}

.hero__meta-item--chips:hover .hero__meta-icon {
  opacity: 1;
  color: var(--accent-hover);
}

.hero__meta-text {
  font-weight: 500;
  letter-spacing: 0.02em;
  color: #e2e8f0;
  line-height: 1.35;
}

.hero-visual {
  display: flex;
  justify-content: stretch;
  align-self: stretch;
}

.hero-visual__blocks {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  width: 100%;
  max-width: none;
}

.hero-side-block {
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border: var(--glass-border);
  border-radius: var(--radius-md);
  padding: clamp(0.85rem, 1.8vh, 1.2rem) clamp(0.9rem, 1.6vw, 1.2rem);
  box-shadow: var(--shadow-card), var(--glass-shadow);
  transition: transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast);
}

.hero-side-block:hover {
  transform: translateY(-4px);
  border-color: rgba(99, 102, 241, 0.22);
  box-shadow: var(--shadow-card-hover), var(--glass-shadow);
}

.hero-side-block__title {
  font-size: 0.6875rem;
  font-weight: 600;
  color: #94a3b8;
  margin: 0 0 clamp(0.65rem, 1.4vh, 0.95rem) 0;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  line-height: 1.35;
}

.hero-side-block__list {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 0.9375rem;
  color: #cbd5e1;
  line-height: 1.55;
  letter-spacing: 0.01em;
}

.hero-side-block__item {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.35rem 0;
  min-height: 2rem;
}

.hero-side-block__game-link {
  color: inherit;
  text-decoration: none;
  border-bottom: none;
  text-shadow: 0 0 10px rgba(129, 140, 248, 0.18);
  box-shadow: none;
  transition: color var(--transition-fast);
}

.hero-side-block__game-link:hover {
  color: #c7d2fe;
  text-shadow: 0 0 14px rgba(129, 140, 248, 0.42);
  box-shadow: none;
}

.hero-side-block__game-link:focus-visible {
  outline: 2px solid rgba(99, 102, 241, 0.55);
  outline-offset: 2px;
  text-shadow: 0 0 16px rgba(129, 140, 248, 0.52);
}

.hero-side-block__item::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--success);
  flex-shrink: 0;
}

.hero-side-block__item--ok::before {
  background: var(--success);
}

.hero-side-block__note {
  margin: 0.75rem 0 0 0;
  font-size: var(--text-xs);
  line-height: var(--lh-body);
  color: var(--text-muted);
  opacity: 0.9;
}

/* Каналы поддержки (hero, футер): иконки + подпись + ссылка / бейдж 24/7 */
.support-channels {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}

.support-channel {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  min-width: 0;
}

.support-channel__icon {
  width: 36px;
  height: 36px;
  flex-shrink: 0;
  background-color: transparent;
  border: none;
  border-radius: 0;
  box-sizing: border-box;
  background-size: 56%;
  background-repeat: no-repeat;
  background-position: center;
  box-shadow: none;
}

/* Контурные иконки без кругов — тот же светлый slate, что навигация / шапка */
.support-channel__icon--telegram {
  background-size: 56%;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23cbd5e1%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M22%202L11%2013%22%2F%3E%3Cpath%20d%3D%22M22%202L15%2022l-4-9-9-4%2020-7z%22%2F%3E%3C%2Fsvg%3E");
}

.support-channel__icon--discord {
  background-size: 58%;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23cbd5e1%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M15.5%2017.5c1%201.5%201.833%202.167%202.5%202.5c1.333-.333%204-1.8%204-5s-1.333-7.667-2-9.5C18%204.3%2015.833%204%2015%204l-.802%201.604c-.784-.317-1.792-.35-2.198-.326c-.406-.024-1.414.01-2.198.326L9%204c-.833%200-3%20.3-5%201.5c-.667%201.833-2%206.3-2%209.5s2.667%204.667%204%205c.667-.333%201.5-1%202.5-2.5%22%2F%3E%3Cpath%20d%3D%22M17.365%2011.5c0%201.105-.783%202-1.75%202c-.966%200-1.75-.895-1.75-2s.784-2%201.75-2c.967%200%201.75.895%201.75%202%22%2F%3E%3Cpath%20d%3D%22M10%2011.5c0%201.105-.784%202-1.75%202s-1.75-.895-1.75-2s.784-2%201.75-2s1.75.895%201.75%202%22%2F%3E%3Cpath%20d%3D%22M17.5%2016.5c-1.098.897-3.15%201.5-5.5%201.5s-4.402-.603-5.5-1.5%22%2F%3E%3C%2Fsvg%3E");
}

.support-channel__icon--clock {
  background-size: 54%;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23cbd5e1%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22M12%206v6l4%202%22%2F%3E%3C%2Fsvg%3E");
}

.support-channel__body {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  min-width: 0;
  flex: 1;
}

.support-channel__label {
  font-size: 0.62rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
  line-height: 1.15;
}

.support-channel__value,
.support-channel__value--plain {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--text-main);
  line-height: 1.3;
  word-break: break-word;
}

.support-channel__value {
  align-self: flex-start;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color var(--transition-fast), border-color var(--transition-fast), text-shadow var(--transition-fast);
}

.support-channel__value:hover {
  color: #c7d2fe;
  border-bottom-color: rgba(165, 180, 252, 0.55);
  text-shadow: 0 0 12px rgba(129, 140, 248, 0.35);
}

.support-channel__value:focus-visible {
  outline: 2px solid rgba(99, 102, 241, 0.55);
  outline-offset: 2px;
  border-bottom-color: transparent;
}

.support-channel__value--plain {
  display: block;
}

.support-channel--availability {
  align-items: center;
  margin-top: 0.15rem;
}

.support-channel__pill {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0;
  margin: 0;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1.3;
  color: var(--text-main);
  border: none;
  border-radius: 0;
  background: none;
  box-shadow: none;
}

/* Боковая карточка «Поддержка»: те же принципы читаемости, что у списка игр */
.hero-side-block .support-channel__label {
  font-size: 0.6875rem;
  letter-spacing: 0.1em;
  font-weight: 600;
}

.hero-side-block .support-channel__value,
.hero-side-block .support-channel__value--plain {
  font-size: 0.9375rem;
  line-height: 1.38;
}

.hero-side-block .support-channel__pill {
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  color: #e2e8f0;
}

.hero-side-block--support .support-channels {
  gap: 0.68rem;
}

/* Главная — пояснение под «Работаем 24/7»: ровные поля, без акцентов */
.hero-side-block__support-lede {
  margin: 0;
  padding: clamp(0.55rem, 1.35vh, 0.8rem) clamp(0.2rem, 0.6vw, 0.35rem);
  font-size: 0.8125rem;
  line-height: 1.55;
  letter-spacing: 0.02em;
  color: var(--text-muted);
  text-wrap: balance;
}

.page-home .hero-side-block__support-lede {
  flex-shrink: 0;
  margin-top: clamp(0.15rem, 0.45vh, 0.35rem);
}

/* Главная / test-2 — блок «Спец предложение» (перекрывает стили .hero-side-block) */
.page-home .hero-side-block.test2-gold-ingot,
.page-test-2 .hero-side-block.test2-gold-ingot {
  --t2-gold-hi: #e8d4a8;
  --t2-gold-mid: #c9a84c;
  --t2-gold-lo: #9a7b38;
  --t2-gold-engrave: linear-gradient(
    168deg,
    var(--t2-gold-hi) 0%,
    var(--t2-gold-mid) 42%,
    var(--t2-gold-lo) 78%,
    #d4bc7a 100%
  );
  position: relative;
  overflow-x: hidden;
  overflow-y: auto;
  flex: 1 1 0;
  min-height: 0;
  padding: clamp(1rem, 2.2vh, 1.35rem) clamp(1rem, 2vw, 1.25rem);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: space-between;
  text-align: center;
  gap: clamp(0.55rem, 1.6vh, 0.85rem);
  scrollbar-width: thin;
  scrollbar-color: rgba(201, 168, 76, 0.35) transparent;
  border-radius: var(--radius-md, 16px);
  border: 1px solid rgba(48, 32, 72, 0.65);
  background:
    radial-gradient(ellipse 115% 95% at 50% 50%, transparent 32%, rgba(0, 0, 0, 0.48) 100%),
    radial-gradient(ellipse 100% 70% at 50% 0%, rgba(168, 85, 247, 0.07), transparent 58%),
    linear-gradient(168deg, rgba(10, 7, 18, 0.96) 0%, rgba(8, 5, 14, 0.98) 48%, rgba(9, 6, 16, 0.97) 100%);
  backdrop-filter: blur(14px) saturate(1.08);
  -webkit-backdrop-filter: blur(14px) saturate(1.08);
  box-shadow:
    inset 0 0 32px rgba(0, 0, 0, 0.5),
    inset 0 1px 0 rgba(232, 212, 168, 0.05),
    inset 0 -12px 24px rgba(0, 0, 0, 0.35),
    0 10px 28px rgba(0, 0, 0, 0.38),
    0 0 36px rgba(168, 85, 247, 0.1);
  transition:
    transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.4s ease,
    border-color 0.4s ease;
}

.page-home .hero-side-block.test2-gold-ingot::before,
.page-test-2 .hero-side-block.test2-gold-ingot::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    100deg,
    transparent 0%,
    transparent 40%,
    rgba(232, 212, 168, 0.02) 47%,
    rgba(201, 168, 76, 0.06) 50%,
    rgba(232, 212, 168, 0.02) 53%,
    transparent 60%,
    transparent 100%
  );
  transform: translateX(-130%);
  animation: test2-vault-shimmer 10s ease-in-out infinite;
  pointer-events: none;
  z-index: 0;
}

.page-home .hero-side-block.test2-gold-ingot::after,
.page-test-2 .hero-side-block.test2-gold-ingot::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.04;
  pointer-events: none;
  z-index: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  mix-blend-mode: soft-light;
}

.page-home .hero-side-block.test2-gold-ingot:hover,
.page-test-2 .hero-side-block.test2-gold-ingot:hover {
  transform: translateY(-3px);
  border-color: rgba(72, 48, 108, 0.75);
  box-shadow:
    inset 0 0 32px rgba(0, 0, 0, 0.48),
    inset 0 1px 0 rgba(232, 212, 168, 0.07),
    inset 0 -12px 24px rgba(0, 0, 0, 0.32),
    0 16px 36px rgba(0, 0, 0, 0.42),
    0 0 44px rgba(168, 85, 247, 0.14);
}

.page-home .hero-side-block.test2-gold-ingot > *,
.page-test-2 .hero-side-block.test2-gold-ingot > * {
  position: relative;
  z-index: 1;
  margin: 0;
  width: 100%;
  max-width: 100%;
}

.page-home .hero-side-block.test2-gold-ingot > .test2-gold-ingot__btn,
.page-test-2 .hero-side-block.test2-gold-ingot > .test2-gold-ingot__btn {
  width: auto;
  max-width: 100%;
  align-self: center;
}

.test2-gold-engrave {
  background: var(--t2-gold-engrave);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  filter:
    drop-shadow(0 1px 0 rgba(255, 244, 220, 0.22))
    drop-shadow(0 -1px 1px rgba(0, 0, 0, 0.55));
}

.test2-gold-engrave--soft {
  background: linear-gradient(168deg, #f0e2c4 0%, #d4b76a 48%, #b89442 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  filter:
    drop-shadow(0 1px 0 rgba(255, 244, 220, 0.18))
    drop-shadow(0 -1px 1px rgba(0, 0, 0, 0.4));
}

.test2-gold-ingot__headline {
  font-family: "Cinzel", "Times New Roman", serif;
  font-size: clamp(1.05rem, 2.9vw, 1.28rem);
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.12em;
  text-indent: 0.12em;
  text-transform: uppercase;
  flex-shrink: 0;
}

.test2-gold-ingot__exclusive {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  width: 100%;
  font-family: "Cinzel", "Times New Roman", serif;
  font-size: clamp(0.62rem, 1.85vw, 0.74rem);
  font-weight: 600;
  letter-spacing: 0.28em;
  text-indent: 0.28em;
  text-transform: uppercase;
  padding: 0.08rem 0;
  flex-shrink: 0;
}

.test2-gold-ingot__exclusive::before,
.test2-gold-ingot__exclusive::after {
  content: "";
  flex: 1;
  max-width: 2.4rem;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(201, 168, 76, 0.45), transparent);
}

.test2-gold-ingot__kicker {
  font-family: "Cinzel", "Times New Roman", serif;
  font-size: clamp(0.72rem, 2vw, 0.86rem);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-indent: 0.12em;
  text-transform: uppercase;
  line-height: 1.45;
  margin-top: 0.04rem;
}

.test2-gold-ingot__title {
  margin-top: 0.18rem;
  margin-bottom: 0.08rem;
  font-family: "Cinzel", "Times New Roman", serif;
  font-size: clamp(1.55rem, 4.4vw, 2rem);
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: 0.2em;
  text-indent: 0.2em;
  text-transform: uppercase;
  filter:
    drop-shadow(0 1px 0 rgba(255, 248, 230, 0.32))
    drop-shadow(0 -2px 2px rgba(0, 0, 0, 0.65))
    drop-shadow(0 0 14px rgba(201, 168, 76, 0.18));
  transition: filter 0.4s ease;
}

.page-home .hero-side-block.test2-gold-ingot:hover .test2-gold-ingot__title,
.page-test-2 .hero-side-block.test2-gold-ingot:hover .test2-gold-ingot__title {
  filter:
    drop-shadow(0 1px 0 rgba(255, 248, 230, 0.38))
    drop-shadow(0 -2px 2px rgba(0, 0, 0, 0.65))
    drop-shadow(0 0 18px rgba(201, 168, 76, 0.24));
}

.test2-gold-ingot__text {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(0.98rem, 2.2vw, 1.12rem);
  font-weight: 600;
  line-height: 1.48;
  letter-spacing: 0.015em;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.55em;
  padding: clamp(0.35rem, 1.2vh, 0.65rem) 0.15rem;
  text-wrap: pretty;
}

.test2-gold-ingot__text-line {
  display: block;
  margin: 0;
}

.test2-gold-ingot__text strong {
  font-family: "Cinzel", "Times New Roman", serif;
  font-weight: 600;
  font-size: 1.02em;
  letter-spacing: 0.07em;
  background: var(--t2-gold-engrave);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  filter:
    drop-shadow(0 1px 0 rgba(255, 244, 220, 0.2))
    drop-shadow(0 -1px 1px rgba(0, 0, 0, 0.5));
}

.test2-gold-ingot__btn {
  margin-top: auto;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.55rem 1.05rem;
  font-family: "Cinzel", "Times New Roman", serif;
  font-size: clamp(0.78rem, 2.1vw, 0.88rem);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-decoration: none;
  text-transform: none;
  color: #e8d4a8;
  -webkit-text-fill-color: #e8d4a8;
  text-shadow:
    0 1px 0 rgba(255, 244, 220, 0.22),
    0 -1px 1px rgba(0, 0, 0, 0.55);
  border-radius: 10px;
  border: 1px solid rgba(201, 168, 76, 0.28);
  background: linear-gradient(180deg, rgba(52, 32, 78, 0.72) 0%, rgba(28, 18, 48, 0.88) 100%);
  box-shadow:
    inset 0 1px 0 rgba(232, 212, 168, 0.12),
    0 4px 14px rgba(0, 0, 0, 0.26),
    0 0 18px rgba(168, 85, 247, 0.1);
  transition:
    transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.35s ease,
    border-color 0.35s ease,
    color 0.35s ease;
}

.test2-gold-ingot__btn:hover {
  transform: scale(1.03);
  color: #f5e6c8;
  -webkit-text-fill-color: #f5e6c8;
  border-color: rgba(201, 168, 76, 0.42);
  box-shadow:
    inset 0 1px 0 rgba(232, 212, 168, 0.16),
    0 6px 18px rgba(0, 0, 0, 0.3),
    0 0 24px rgba(168, 85, 247, 0.16);
}

.test2-gold-ingot__btn:focus-visible {
  outline: 2px solid rgba(201, 168, 76, 0.45);
  outline-offset: 2px;
}

@keyframes test2-vault-shimmer {
  0%, 100% { transform: translateX(-130%); opacity: 0.3; }
  50% { transform: translateX(130%); opacity: 0.48; }
}

@media (prefers-reduced-motion: reduce) {
  .page-home .hero-side-block.test2-gold-ingot::before,
  .page-test-2 .hero-side-block.test2-gold-ingot::before {
    animation: none;
    opacity: 0.18;
    transform: none;
  }
  .page-home .hero-side-block.test2-gold-ingot,
  .page-home .hero-side-block.test2-gold-ingot:hover,
  .page-test-2 .hero-side-block.test2-gold-ingot,
  .page-test-2 .hero-side-block.test2-gold-ingot:hover,
  .test2-gold-ingot__btn,
  .test2-gold-ingot__btn:hover {
    transform: none;
    transition: none;
  }
}

/* Главная + test-2 — блок SPECTRE: золотой слой + композиция текста */
.page-home .hero-side-block.spectre-offer,
.page-test-2 .hero-side-block.spectre-offer {
  --sp-gold-hi: #fff3b0;
  --sp-gold-mid: #f6d365;
  --sp-gold-core: #ffd700;
  --sp-gold-warm: #f8c471;
  --sp-gold-rich: #e6c15a;
  --sp-gold-deep: #c89b3c;
  container-type: inline-size;
  position: relative;
  flex: 1 1 0;
  min-height: 0;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: clamp(0.55rem, 1.2vh, 0.75rem);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: stretch;
  text-align: center;
  font-family: Inter, "Segoe UI", system-ui, sans-serif;
  border-radius: 22px;
  border: 1px solid rgba(246, 211, 101, 0.45);
  background:
    radial-gradient(ellipse 95% 50% at 50% 0%, rgba(255, 243, 176, 0.38), transparent 58%),
    radial-gradient(ellipse 80% 42% at 50% 100%, rgba(200, 155, 60, 0.32), transparent 52%),
    linear-gradient(
      168deg,
      #2a1f0c 0%,
      #4a3614 18%,
      #7a5a22 38%,
      #9a7328 50%,
      #6b4e1a 68%,
      #3d2d14 86%,
      #241a08 100%
    );
  box-shadow:
    inset 0 1px 0 rgba(255, 243, 176, 0.42),
    inset 0 -10px 28px rgba(0, 0, 0, 0.38),
    0 10px 32px rgba(0, 0, 0, 0.32);
  overflow: hidden;
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.page-home .hero-side-block.spectre-offer::before,
.page-home .hero-side-block.spectre-offer::after,
.page-test-2 .hero-side-block.spectre-offer::before,
.page-test-2 .hero-side-block.spectre-offer::after {
  content: none;
  display: none;
}

.page-home .hero-side-block.spectre-offer:hover,
.page-test-2 .hero-side-block.spectre-offer:hover {
  transform: translateY(-2px);
  box-shadow:
    inset 0 1px 0 rgba(255, 243, 176, 0.48),
    inset 0 -10px 28px rgba(0, 0, 0, 0.34),
    0 14px 36px rgba(0, 0, 0, 0.36);
}

.hero-side-block.spectre-offer .spectre-offer__shimmer {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    108deg,
    transparent 0%,
    transparent 42%,
    rgba(255, 243, 176, 0.04) 47%,
    rgba(255, 215, 0, 0.14) 50%,
    rgba(255, 243, 176, 0.04) 53%,
    transparent 58%,
    transparent 100%
  );
  transform: translateX(-140%);
  animation: spectre-offer-shimmer 18s ease-in-out infinite;
}

@keyframes spectre-offer-shimmer {
  0%,
  82%,
  100% {
    transform: translateX(-140%);
    opacity: 0;
  }
  88% {
    opacity: 1;
  }
  94% {
    transform: translateX(140%);
    opacity: 0.85;
  }
}

.hero-side-block.spectre-offer .spectre-offer__content {
  position: relative;
  z-index: 2;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-evenly;
  width: 100%;
  min-height: 100%;
  max-width: 100%;
  margin: 0;
  padding: clamp(0.65rem, 2vh, 1rem) clamp(0.55rem, 1.6vw, 0.85rem);
  box-sizing: border-box;
  gap: clamp(0.35rem, 1.4vh, 0.65rem);
}

.hero-side-block.spectre-offer .spectre-offer__badge {
  margin: 0;
  flex-shrink: 0;
  color: var(--sp-gold-rich);
  font-size: clamp(0.58rem, 2.8cqi, 0.72rem);
  font-weight: 700;
  letter-spacing: 0.32em;
  text-indent: 0.32em;
  text-transform: uppercase;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
}

.hero-side-block.spectre-offer .spectre-offer__title {
  margin: 0;
  padding: 0;
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  font-size: clamp(1.05rem, 7.2cqi, 1.48rem);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 0.02em;
  background: linear-gradient(180deg, var(--sp-gold-hi) 0%, var(--sp-gold-core) 48%, var(--sp-gold-warm) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.55));
  text-wrap: balance;
}

.hero-side-block.spectre-offer .spectre-offer__subtitle {
  margin: 0;
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  color: var(--sp-gold-mid);
  font-size: clamp(0.88rem, 5.4cqi, 1.14rem);
  font-weight: 700;
  line-height: 1.35;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
  text-wrap: balance;
}

.hero-side-block.spectre-offer .spectre-offer__text {
  margin: 0;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.45em;
  width: 100%;
  max-width: 100%;
  min-height: 0;
  font-size: clamp(0.78rem, 4.6cqi, 0.98rem);
  font-weight: 600;
  line-height: 1.5;
  text-wrap: pretty;
}

.hero-side-block.spectre-offer .spectre-offer__text-line {
  display: block;
  margin: 0;
  color: var(--sp-gold-hi);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.48);
}

.hero-side-block.spectre-offer .spectre-offer__text-line:last-child {
  color: var(--sp-gold-warm);
}

.hero-side-block.spectre-offer .spectre-offer__actions {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: clamp(0.4rem, 1.2vh, 0.55rem);
  width: 100%;
  max-width: 100%;
  margin: 0;
}

.hero-side-block.spectre-offer .spectre-offer__button {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: clamp(0.62rem, 1.8vh, 0.78rem) clamp(0.75rem, 3cqi, 1.1rem);
  border-radius: 12px;
  text-decoration: none;
  font-size: clamp(0.68rem, 3.4cqi, 0.84rem);
  font-weight: 800;
  line-height: 1.25;
  white-space: normal;
  text-align: center;
  transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease, color 0.25s ease;
}

.hero-side-block.spectre-offer .spectre-offer__button--primary {
  color: #2a1e0c;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: linear-gradient(180deg, var(--sp-gold-hi) 0%, var(--sp-gold-rich) 55%, var(--sp-gold-deep) 100%);
  border: 1px solid rgba(255, 243, 176, 0.65);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.35),
    0 4px 14px rgba(0, 0, 0, 0.28);
}

.hero-side-block.spectre-offer .spectre-offer__button--primary:hover {
  transform: translateY(-1px);
  color: #1a1206;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.42),
    0 6px 18px rgba(0, 0, 0, 0.32);
}

.hero-side-block.spectre-offer .spectre-offer__button--secondary {
  color: var(--sp-gold-hi);
  font-weight: 700;
  letter-spacing: 0.02em;
  background: rgba(20, 14, 6, 0.35);
  border: 1px solid rgba(230, 193, 90, 0.45);
  box-shadow: inset 0 1px 0 rgba(255, 243, 176, 0.08);
}

.hero-side-block.spectre-offer .spectre-offer__button--secondary:hover {
  transform: translateY(-1px);
  color: var(--sp-gold-mid);
  background: rgba(20, 14, 6, 0.5);
  border-color: rgba(246, 211, 101, 0.55);
}

.hero-side-block.spectre-offer .spectre-offer__button:focus-visible {
  outline: 2px solid var(--sp-gold-hi);
  outline-offset: 2px;
}

.hero-side-block.spectre-offer.spectre-offer--spotlight {
  animation: spectre-offer-spotlight 1.15s ease-in-out 3;
  box-shadow:
    0 0 0 2px rgba(251, 191, 36, 0.85),
    0 0 28px rgba(251, 191, 36, 0.35),
    var(--shadow-block);
}

@keyframes spectre-offer-spotlight {
  0%,
  100% {
    box-shadow:
      0 0 0 2px rgba(251, 191, 36, 0.55),
      0 0 18px rgba(251, 191, 36, 0.2),
      var(--shadow-block);
  }
  50% {
    box-shadow:
      0 0 0 3px rgba(253, 224, 71, 0.95),
      0 0 36px rgba(251, 191, 36, 0.45),
      var(--shadow-block-hover);
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-side-block.spectre-offer.spectre-offer--spotlight {
    animation: none;
    box-shadow:
      0 0 0 2px rgba(251, 191, 36, 0.85),
      0 0 24px rgba(251, 191, 36, 0.3),
      var(--shadow-block);
  }
  .hero-side-block.spectre-offer .spectre-offer__shimmer {
    animation: none;
    opacity: 0;
  }
  .page-home .hero-side-block.spectre-offer,
  .page-home .hero-side-block.spectre-offer:hover,
  .page-test-2 .hero-side-block.spectre-offer,
  .page-test-2 .hero-side-block.spectre-offer:hover,
  .hero-side-block.spectre-offer .spectre-offer__button,
  .hero-side-block.spectre-offer .spectre-offer__button:hover {
    transform: none;
    transition: none;
  }
}

.footer__col--support .footer__list.support-channels {
  gap: 0.5rem;
}

.footer__col--support .support-channel__icon {
  width: 32px;
  height: 32px;
  background-size: 50%;
}

.footer__col--support .support-channel__label {
  font-size: 0.58rem;
}

.footer__col--support .support-channel__value,
.footer__col--support .support-channel__value--plain {
  font-size: 0.82rem;
}

.hero-side-block__contact-link {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color var(--transition-fast), border-color var(--transition-fast);
}

.hero-side-block__contact-link:hover {
  color: #c7d2fe;
  border-bottom-color: rgba(165, 180, 252, 0.55);
}

.hero-side-block__btn--low-priority {
  opacity: 0.82;
  font-weight: 500;
}

.hero-side-block__btn--low-priority:hover {
  opacity: 1;
}

.hero-side-block__link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: auto;
  padding-top: 0.85rem;
  font-size: 0.9375rem;
  font-weight: 500;
  color: #a5b4fc;
  text-decoration: none;
  transition: color var(--transition-fast);
  letter-spacing: 0.01em;
}

.hero-side-block__link::after {
  content: "";
  width: 0.9em;
  height: 0.9em;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a5b4fc' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3Cpolyline points='12 5 19 12 12 19'/%3E%3C/svg%3E") no-repeat center;
  background-size: contain;
  transition: transform var(--transition-fast);
}

.hero-side-block__link:hover {
  color: #c7d2fe;
}

.hero-side-block__link:hover::after {
  transform: translateX(3px);
}

.hero-side-block__btn {
  margin-top: 1rem;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

/* Главная: блок «Поддержка» — аккуратное распределение контента по высоте карточки */
.page-home #hero-side-block2-title {
  margin-bottom: clamp(0.45rem, 1.1vh, 0.8rem);
}

.page-home #hero-side-block2-list {
  display: grid;
  gap: clamp(0.45rem, 1vh, 0.65rem);
  margin-top: 0;
  margin-bottom: 0;
}

.page-home #hero-side-block2-btn {
  margin-top: auto;
  width: 100%;
  justify-content: center;
}

.hero-side-block__btn::before {
  content: "";
  width: 1em;
  height: 1em;
  flex-shrink: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236366f1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E") no-repeat center;
  background-size: contain;
}

.hero-side-block__btn:hover::before,
.hero-side-block__btn:focus-visible::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23818cf8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E");
}

.hero-side-block__item--update::before {
  background: var(--accent-danger);
}

/* Главная: список игр без «статусных» маркеров; подробные статусы — на status.html */
.hero-side-block__list--plain .hero-side-block__item::before {
  display: none;
}

/* --- Карточка «Популярные игры»: превью, строки, декор --- */
.hero-side-block--catalog-popular {
  position: relative;
  overflow: hidden;
}

.hero-side-block--catalog-popular::before {
  content: "";
  position: absolute;
  top: -35%;
  right: -15%;
  width: 9rem;
  height: 9rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(99, 102, 241, 0.16) 0%, transparent 68%);
  pointer-events: none;
  z-index: 0;
}

.hero-side-block--catalog-popular > * {
  position: relative;
  z-index: 1;
}

.hero-side-block--catalog-popular .hero-side-block__title {
  display: flex;
  align-items: center;
  gap: 0.55rem;
}

.hero-side-block--catalog-popular .hero-side-block__title::before {
  content: "";
  width: 3px;
  height: 1.05em;
  border-radius: 2px;
  flex-shrink: 0;
  background: linear-gradient(180deg, #a5b4fc 0%, #6366f1 55%, #4338ca 100%);
  box-shadow: 0 0 12px rgba(99, 102, 241, 0.35);
}

.hero-side-block--catalog-popular .hero-side-block__list {
  gap: 0.15rem;
  display: flex;
  flex-direction: column;
}

.hero-side-block--catalog-popular .hero-side-block__item {
  gap: 0.65rem;
  padding: 0.45rem 0.5rem;
  margin: 0 -0.35rem;
  border-radius: var(--radius-sm);
  transition:
    background var(--transition-fast),
    box-shadow var(--transition-fast),
    transform var(--transition-fast);
}

.hero-side-block--catalog-popular .hero-side-block__item:hover {
  background: rgba(99, 102, 241, 0.09);
  box-shadow: inset 0 0 0 1px rgba(99, 102, 241, 0.14);
}

.hero-side-block--catalog-popular .hero-side-block__item:hover .hero-side-block__game-chevron {
  opacity: 0.95;
  transform: translateX(3px);
}

.hero-side-block__game-thumb {
  width: 2.5rem;
  height: 2.5rem;
  flex-shrink: 0;
  border-radius: 10px;
  background-color: rgba(15, 23, 42, 0.9);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.09),
    0 4px 14px rgba(0, 0, 0, 0.35);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.hero-side-block__game-thumb--photo {
  background-color: #0a0d14;
}

.hero-side-block__game-thumb--fallback {
  background-image: none;
  background: linear-gradient(145deg, rgba(71, 85, 105, 0.65) 0%, rgba(15, 23, 42, 0.98) 100%);
}

.hero-side-block__game-thumb--fallback.hero-side-block__game-thumb--rust {
  background: linear-gradient(145deg, rgba(180, 83, 9, 0.65) 0%, rgba(41, 37, 36, 0.98) 100%);
}

.hero-side-block__game-thumb--fallback.hero-side-block__game-thumb--dayz {
  background: linear-gradient(145deg, rgba(120, 53, 15, 0.55) 0%, rgba(28, 25, 23, 0.98) 100%);
}

.hero-side-block__game-thumb--fallback.hero-side-block__game-thumb--minecraft {
  background: linear-gradient(145deg, rgba(22, 163, 74, 0.45) 0%, rgba(15, 45, 28, 0.96) 100%);
}

.hero-side-block__game-thumb--fallback.hero-side-block__game-thumb--pubg {
  background: linear-gradient(145deg, rgba(234, 179, 8, 0.35) 0%, rgba(55, 48, 26, 0.96) 100%);
}

.hero-side-block__game-thumb--fallback.hero-side-block__game-thumb--stalcraft {
  background: linear-gradient(145deg, rgba(56, 189, 248, 0.35) 0%, rgba(12, 38, 58, 0.96) 100%);
}

.hero-side-block__game-thumb--fallback.hero-side-block__game-thumb--cs2 {
  background: linear-gradient(145deg, rgba(251, 146, 60, 0.38) 0%, rgba(30, 41, 59, 0.96) 100%);
}

.hero-side-block--catalog-popular .hero-side-block__game-link {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

.hero-side-block--catalog-popular .hero-side-block__game-name {
  flex: 1 1 auto;
  min-width: 0;
  font-weight: 600;
  letter-spacing: 0.04em;
  font-size: 0.875rem;
  color: #e2e8f0;
}

.hero-side-block__game-trial-badge {
  display: inline-flex;
  flex-direction: column;
  align-items: stretch;
  flex-shrink: 0;
  width: fit-content;
  max-width: 100%;
  padding: 0.22rem 0.5rem 0.3rem;
  gap: 0.22rem;
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(251, 191, 36, 0.24) 0%, rgba(120, 53, 15, 0.32) 100%);
  border: 1px solid rgba(251, 191, 36, 0.48);
  box-shadow:
    0 0 14px rgba(251, 191, 36, 0.14),
    inset 0 1px 0 rgba(253, 224, 71, 0.2);
  box-sizing: border-box;
}

.hero-side-block__game-trial-label {
  display: block;
  padding: 0;
  font-size: 0.64rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.03em;
  white-space: nowrap;
  text-align: center;
  color: #fde68a;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}

.hero-side-block__game-trial-bar {
  display: block;
  width: 100%;
  height: 2px;
  min-height: 2px;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    rgba(251, 191, 36, 0.2) 0%,
    #f59e0b 28%,
    #fde68a 50%,
    #f59e0b 72%,
    rgba(251, 191, 36, 0.2) 100%
  );
  box-shadow: 0 0 8px rgba(251, 191, 36, 0.35);
}

.hero-side-block__game-chevron {
  flex-shrink: 0;
  width: 1.05rem;
  height: 1.05rem;
  opacity: 0.42;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E")
    center / contain no-repeat;
  transition:
    opacity var(--transition-fast),
    transform var(--transition-fast);
}

.hero-side-block--catalog-popular .hero-side-block__purchase-foot {
  margin-top: 0.55rem;
  padding-top: 0.7rem;
  border-top: 1px solid rgba(148, 163, 184, 0.14);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.6rem;
}

.hero-side-block--catalog-popular .hero-side-block__link {
  margin-top: 0;
  padding: 0.15rem 0 0.1rem;
  border-top: none;
  justify-content: center;
  width: 100%;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}

/* Главная — шаги под «Подробнее» */
.hero-side-block__purchase-steps {
  counter-reset: purchase-step;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.38rem;
  font-size: 0.75rem;
  line-height: 1.42;
  letter-spacing: 0.01em;
  color: #b8c2d6;
}

.hero-side-block__purchase-steps li {
  counter-increment: purchase-step;
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  margin: 0;
  padding: 0.42rem 0.5rem 0.42rem 0.42rem;
  text-align: left;
  border-radius: calc(var(--radius-sm) - 2px);
  background: rgba(15, 23, 42, 0.28);
  border: 1px solid rgba(148, 163, 184, 0.1);
}

.hero-side-block__purchase-steps li::before {
  content: counter(purchase-step);
  flex: 0 0 1.25rem;
  width: 1.25rem;
  height: 1.25rem;
  margin-top: 0.05rem;
  display: grid;
  place-items: center;
  font-size: 0.625rem;
  font-weight: 700;
  line-height: 1;
  color: #e0e7ff;
  border-radius: 50%;
  background: linear-gradient(145deg, rgba(99, 102, 241, 0.42), rgba(139, 92, 246, 0.28));
  box-shadow: 0 0 0 1px rgba(129, 140, 248, 0.22);
}

.page-home .hero-side-block__purchase-steps {
  flex-shrink: 0;
  width: 100%;
  max-width: none;
}

.page-home .hero-side-block--catalog-popular .hero-side-block__purchase-foot {
  margin-bottom: 0;
  padding-bottom: 0;
}

@media (prefers-reduced-motion: reduce) {
  .hero-side-block--catalog-popular .hero-side-block__item:hover .hero-side-block__game-chevron {
    transform: none;
  }
}

/* Главная: если в разметке остались старые бейджи статуса — не показывать */
#main-games-grid .catalog-preview-card__badge--undetect,
#main-games-grid .catalog-preview-card__badge--update {
  display: none !important;
}

.section__title--center {
  text-align: center;
  margin-bottom: 0.5rem;
}

.section__text--center {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.5rem;
}

/* Блок «Нам доверяют» — ссылки на Discord, Telegram, FunPay, YouTube */
.trust-section {
  margin-top: 3rem;
  padding: 2rem 0;
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.97), rgba(15, 23, 42, 0.92));
  border-top: 1px solid rgba(148, 163, 184, 0.15);
  border-bottom: 1px solid rgba(148, 163, 184, 0.15);
}

/* Компактный вариант под шапкой на главной */
.trust-section--compact {
  margin-top: 0;
  padding: 0.1rem 0 0.35rem;
  border-top: none;
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.85), transparent);
}

.trust-section--compact .trust-section__title {
  margin: 0 0 var(--space-2);
  font-size: var(--fs-16);
  line-height: var(--lh-heading);
}

.trust-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-2);
  max-width: 520px;
  margin: 0 auto var(--space-3);
  text-align: center;
}

.trust-stat {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 3.25rem;
  padding: 0.65rem 0.75rem;
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--border-soft);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--text-main);
  line-height: var(--lh-heading);
  text-align: center;
}

@media (max-width: 600px) {
  .trust-stats {
    grid-template-columns: 1fr;
  }
}

/* Украшение заголовка «Нам доверяют» — градиент, свечение, линия */
.trust-section__title--decorated {
  font-size: clamp(1.15rem, 3.2vw, 1.45rem) !important;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: var(--text-main);
  position: relative;
  padding-bottom: 0.55rem;
  line-height: var(--lh-heading);
}
.trust-section__title--decorated::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 56px;
  height: 3px;
  border-radius: 2px;
  background: var(--accent);
  opacity: 0.9;
  box-shadow: 0 0 18px rgba(99, 102, 241, 0.35);
}

.trust-section--compact .trust-links {
  gap: clamp(0.35rem, 0.9vw, 0.55rem);
}

.trust-section--compact .trust-link {
  padding: 0.52rem 0.9rem;
  gap: 0.65rem;
  min-height: 48px;
  min-width: 0;
  border-radius: var(--radius-btn);
  align-items: center;
}

.trust-section--compact .trust-link__icon {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  background-size: 52%;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.18);
}

.trust-section--compact .trust-link__name {
  font-size: 0.8125rem;
  font-weight: 600;
}

.trust-section--compact .trust-link__join {
  font-size: 0.75rem;
  font-weight: 600;
}

.trust-section__title {
  text-align: center;
  margin: 0 0 var(--space-3);
  font-size: clamp(1.25rem, 2.5vw, 1.5rem);
  font-weight: 700;
  color: var(--text-main);
  letter-spacing: 0.02em;
  line-height: var(--lh-heading);
}

.trust-links {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: var(--space-2);
  align-items: stretch;
  justify-content: center;
}

.trust-link {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1.1rem;
  min-height: 52px;
  border-radius: var(--radius-btn);
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border: var(--glass-border);
  box-shadow: var(--glass-shadow);
  text-decoration: none;
  color: var(--text-main);
  transition:
    border-color var(--transition-fast),
    background var(--transition-fast),
    transform var(--transition-fast),
    box-shadow var(--transition-fast);
  min-width: 0;
}

.trust-link:hover {
  border-color: rgba(165, 180, 252, 0.28);
  background: rgba(22, 30, 46, 0.62);
  transform: translateY(-3px);
  box-shadow: var(--glass-shadow), 0 14px 36px rgba(99, 102, 241, 0.18);
}

.trust-link__icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  flex-shrink: 0;
  background-size: 50%;
  background-repeat: no-repeat;
  background-position: center;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.16);
}

.trust-link--discord .trust-link__icon {
  background-color: rgba(129, 140, 248, 0.12);
  border: 1px solid rgba(129, 140, 248, 0.38);
  box-sizing: border-box;
  box-shadow: none;
  background-size: 52%;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23818cf8%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M15.5%2017.5c1%201.5%201.833%202.167%202.5%202.5c1.333-.333%204-1.8%204-5s-1.333-7.667-2-9.5C18%204.3%2015.833%204%2015%204l-.802%201.604c-.784-.317-1.792-.35-2.198-.326c-.406-.024-1.414.01-2.198.326L9%204c-.833%200-3%20.3-5%201.5c-.667%201.833-2%206.3-2%209.5s2.667%204.667%204%205c.667-.333%201.5-1%202.5-2.5%22%2F%3E%3Cpath%20d%3D%22M17.365%2011.5c0%201.105-.783%202-1.75%202c-.966%200-1.75-.895-1.75-2s.784-2%201.75-2c.967%200%201.75.895%201.75%202%22%2F%3E%3Cpath%20d%3D%22M10%2011.5c0%201.105-.784%202-1.75%202s-1.75-.895-1.75-2s.784-2%201.75-2s1.75.895%201.75%202%22%2F%3E%3Cpath%20d%3D%22M17.5%2016.5c-1.098.897-3.15%201.5-5.5%201.5s-4.402-.603-5.5-1.5%22%2F%3E%3C%2Fsvg%3E");
}
.trust-link--telegram .trust-link__icon {
  background-color: rgba(56, 189, 248, 0.12);
  border: 1px solid rgba(56, 189, 248, 0.38);
  box-sizing: border-box;
  box-shadow: none;
  background-size: 52%;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2338bdf8%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M22%202L11%2013%22%2F%3E%3Cpath%20d%3D%22M22%202L15%2022l-4-9-9-4%2020-7z%22%2F%3E%3C%2Fsvg%3E");
}
.trust-link--youtube .trust-link__icon { background-color: #ef4444; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z'/%3E%3C/svg%3E"); }
.trust-link--funpay .trust-link__icon { background-color: #3b82f6; }
.trust-link--link .trust-link__icon,
.trust-link--default .trust-link__icon { background-color: var(--accent); }

.trust-link__name {
  font-weight: 600;
  font-size: 0.875rem;
  color: var(--text-main);
  min-width: 0;
  line-height: var(--lh-heading);
  overflow-wrap: break-word;
  word-break: break-word;
}

.trust-link__join {
  margin-left: 0;
  justify-self: end;
  white-space: nowrap;
  font-size: 0.7rem;
  font-weight: 600;
  color: var(--text-muted);
  opacity: 0.88;
}

@media (max-width: 720px) {
  .trust-links {
    grid-template-columns: 1fr;
  }

  .trust-link {
    min-width: 0;
  }
}

/* Страница «Тех поддержка» */
.support-section {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

.support-section__note {
  margin-top: 1.5rem;
  font-size: 0.9rem;
  color: var(--text-muted);
}

.support-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--space-3);
  margin-top: var(--space-4);
}

.support-card {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.25rem;
  border-radius: var(--radius-md);
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border: var(--glass-border);
  box-shadow: var(--shadow-block), var(--glass-shadow);
  text-decoration: none;
  color: var(--text-main);
  transition: border-color var(--transition-fast), background var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);
}

.support-card:hover {
  border-color: rgba(99, 102, 241, 0.22);
  background: rgba(28, 36, 52, 0.72);
  transform: translateY(-4px);
  box-shadow: var(--shadow-block-hover), var(--glass-shadow);
}

.support-card__icon {
  width: 44px;
  height: 44px;
  border-radius: 0;
  flex-shrink: 0;
  background-color: transparent;
  border: none;
  background-size: 52%;
  background-repeat: no-repeat;
  background-position: center;
  box-shadow: none;
}

.support-card__icon--telegram {
  background-size: 52%;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23cbd5e1%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M22%202L11%2013%22%2F%3E%3Cpath%20d%3D%22M22%202L15%2022l-4-9-9-4%2020-7z%22%2F%3E%3C%2Fsvg%3E");
}

.support-card__icon--discord {
  background-size: 54%;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23cbd5e1%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M15.5%2017.5c1%201.5%201.833%202.167%202.5%202.5c1.333-.333%204-1.8%204-5s-1.333-7.667-2-9.5C18%204.3%2015.833%204%2015%204l-.802%201.604c-.784-.317-1.792-.35-2.198-.326c-.406-.024-1.414.01-2.198.326L9%204c-.833%200-3%20.3-5%201.5c-.667%201.833-2%206.3-2%209.5s2.667%204.667%204%205c.667-.333%201.5-1%202.5-2.5%22%2F%3E%3Cpath%20d%3D%22M17.365%2011.5c0%201.105-.783%202-1.75%202c-.966%200-1.75-.895-1.75-2s.784-2%201.75-2c.967%200%201.75.895%201.75%202%22%2F%3E%3Cpath%20d%3D%22M10%2011.5c0%201.105-.784%202-1.75%202s-1.75-.895-1.75-2s.784-2%201.75-2s1.75.895%201.75%202%22%2F%3E%3Cpath%20d%3D%22M17.5%2016.5c-1.098.897-3.15%201.5-5.5%201.5s-4.402-.603-5.5-1.5%22%2F%3E%3C%2Fsvg%3E");
}

.support-card__icon--email {
  background-color: var(--accent);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'/%3E%3Cpolyline points='22,6 12,13 2,6'/%3E%3C/svg%3E");
}

.support-card__content {
  flex: 1;
  min-width: 0;
}

.support-card__title {
  margin: 0 0 0.25rem;
  font-size: 1rem;
  font-weight: 700;
  color: var(--text-main);
}

.support-card__desc {
  margin: 0 0 0.35rem;
  font-size: 0.8rem;
  color: var(--text-muted);
}

.support-card__link {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--accent);
}

/* Страница «Статус читов» */
.status-section {
  margin-top: 2rem;
}

.status-section .section__title {
  display: block;
  width: 100%;
  text-align: left;
}

.status-list-wrap {
  margin-top: 1.5rem;
}

#status-table-body {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.status-game-group {
  border-radius: var(--radius-md);
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border: var(--glass-border);
  box-shadow: var(--shadow-block), var(--glass-shadow);
  overflow: hidden;
  transition: box-shadow var(--transition-fast);
}

.status-game-group.is-expanded {
  box-shadow: var(--shadow-block-hover);
}

.status-game-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  width: 100%;
  padding: 1rem 1.25rem;
  text-align: left;
  background: transparent;
  border: none;
  cursor: pointer;
  color: inherit;
  font: inherit;
  transition: background 0.2s, color 0.2s;
}

.status-game-header:hover {
  background: rgba(99, 102, 241, 0.12);
}

.status-game-header .status-game-title {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--accent);
  flex: 1 1 auto;
  min-width: 0;
  text-align: left;
}

.status-game-meta {
  font-size: 0.85rem;
  color: var(--text-muted);
  flex-shrink: 0;
  text-align: right;
  order: 1;
}

.status-game-header .status-game-toggle {
  order: 2;
}

.status-game-toggle {
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
  position: relative;
  color: var(--accent);
}

.status-game-toggle::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 8px;
  height: 8px;
  margin: -4px 0 0 -4px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform 0.25s ease;
}

.status-game-group.is-expanded .status-game-toggle::before {
  transform: rotate(-135deg);
}

.status-game-body {
  display: none;
  padding: 0 1.25rem 1.25rem;
  border-top: 1px solid rgba(148, 163, 184, 0.15);
}

.status-game-group.is-expanded .status-game-body {
  display: block;
}

.status-game-body .status-cheat-list {
  padding-top: 0.75rem;
}

.status-game-empty {
  margin: 0.75rem 0 0;
  font-size: 0.9rem;
  color: var(--text-muted);
}

.status-cheat-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.status-cheat-item {
  border-bottom: 1px solid rgba(148, 163, 184, 0.1);
  font-size: 0.95rem;
}

.status-cheat-item:last-child {
  border-bottom: none;
}

.status-cheat-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding: 0.5rem 0;
  text-decoration: none;
  color: inherit;
  border-radius: var(--radius-sm);
  transition: background 0.2s, color 0.2s;
}

.status-cheat-link:hover {
  background: rgba(99, 102, 241, 0.1);
}

.status-cheat-name {
  font-weight: 600;
  color: var(--text-main);
}

.status-cheat-status {
  flex-shrink: 0;
}

.status-table-wrap {
  overflow-x: auto;
  margin-top: 1.5rem;
  border-radius: var(--radius-lg);
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border: var(--glass-border);
  box-shadow: var(--glass-shadow);
}

.status-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95rem;
}

.status-cell {
  padding: 0.9rem 1.2rem;
  text-align: left;
  border-bottom: 1px solid rgba(148, 163, 184, 0.15);
  color: var(--text-main);
}

.status-cell:last-child {
  border-right: none;
}

.status-row:last-child .status-cell {
  border-bottom: none;
}

.status-cell--head {
  font-weight: 700;
  color: var(--accent);
  letter-spacing: 0.03em;
  background: rgba(99, 102, 241, 0.08);
}

.status-cell--game {
  font-weight: 600;
}

.status-cell--cheat {
  color: var(--text-muted);
}

.status-badge {
  display: inline-block;
  padding: 0.25rem 0.6rem;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 600;
  text-transform: lowercase;
}

.status-badge--ok {
  background: rgba(52, 211, 153, 0.2);
  color: var(--success);
  border: 1px solid rgba(52, 211, 153, 0.4);
}

.status-badge--update {
  background: rgba(249, 115, 115, 0.2);
  color: var(--accent-danger);
  border: 1px solid rgba(249, 115, 115, 0.4);
}

.status-badge--none {
  background: rgba(148, 163, 184, 0.12);
  color: var(--text-muted);
  border: 1px solid rgba(148, 163, 184, 0.2);
}

.product-hero--dynamic {
  margin-top: 1.5rem;
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 1rem;
}

.product-hero--dynamic > .section__title {
  text-align: center;
  margin-bottom: 0.35rem;
}

.product-hero__lead {
  max-width: 40rem;
  margin: -0.25rem auto 1.25rem;
  text-align: center;
  font-size: var(--text-sm);
  color: var(--text-muted);
  line-height: var(--lh-body);
}

.product-hero__back {
  margin-top: 1.5rem;
  text-align: center;
}

/* Страница игры: чуть больше воздуха между карточками читов и кнопкой «Вернуться в каталог» */
.page-game .catalog-cheats-list + .product-hero__back {
  margin-top: clamp(20px, 6vw, 100px);
}

/* Карточка чита: название и кнопка в правой колонке сверху — больше места под контент */
.product-hero--clean .product-hero__right-col-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 1rem;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.12);
}

.product-hero--clean .product-hero__right-col-header .product-hero__title-wrap {
  min-width: 0;
  flex: 1;
}

.product-hero--clean .product-hero__right-col-header .product-hero__buy-wrap {
  flex-shrink: 0;
}

.product-hero__buy-top-btn {
  padding: 0.5rem 1.15rem;
  font-weight: 600;
  white-space: nowrap;
  font-size: 0.95rem;
  border-radius: 12px;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.product-hero--clean .product-hero__main-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem 2rem;
  align-items: start;
  margin-bottom: 2rem;
}

.product-hero--clean .product-hero__photo-col,
.product-hero--clean .product-hero__right-col {
  min-width: 0;
}

.product-hero--clean .product-hero__photo-col .game-cheat-card__screenshots {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}

.product-hero--clean .product-hero__right-col > * {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}

.product-hero--clean .product-hero__right-col > * + * {
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(148, 163, 184, 0.12);
}

/* Фото в карточке чита: крупнее, без пустого места снизу */
.product-hero--clean .product-hero__photo-col .game-cheat-card__screenshots {
  overflow: visible;
}

.product-hero--clean .product-hero__photo-col .cheat-screenshots-grid {
  overflow: visible;
  min-height: 0;
  align-items: start;
}

.product-hero--clean .product-hero__photo-col .cheat-screenshot {
  overflow: visible;
  min-height: 0;
  width: 100%;
}

.product-hero--clean .product-hero__photo-col .cheat-screenshots-grid--n1 .cheat-screenshot {
  height: auto;
  min-height: 0;
  max-width: 100%;
}

.product-hero--clean .product-hero__photo-col .cheat-screenshots-grid--n2 .cheat-screenshot {
  height: auto;
  min-height: 0;
}

.product-hero--clean .product-hero__photo-col .cheat-screenshots-grid--n3 .cheat-screenshot,
.product-hero--clean .product-hero__photo-col .cheat-screenshots-grid--n4 .cheat-screenshot,
.product-hero--clean .product-hero__photo-col .cheat-screenshots-grid--n5plus .cheat-screenshot {
  height: auto;
  min-height: 0;
}

.product-hero--clean .product-hero__photo-col .cheat-screenshot img {
  width: 100%;
  height: auto;
  max-height: 85vh;
  object-fit: contain;
  object-position: top center;
  display: block;
  vertical-align: top;
}

/* Колонка с фото чуть шире — картинка отображается крупнее */
.product-hero--clean .product-hero__main-row {
  grid-template-columns: 1.15fr 1fr;
}

.product-hero--clean .product-hero__bottom {
  margin-top: 1.5rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(148, 163, 184, 0.15);
}

@media (max-width: 768px) {
  .product-hero--clean .product-hero__main-row {
    grid-template-columns: 1fr;
  }
  .product-hero--clean .product-hero__title-wrap {
    order: -1;
  }
}

.product-hero__cheat-header {
  position: relative;
  margin-bottom: 0;
  padding-right: 5rem;
}

.product-hero--dynamic .product-hero__cheat-name {
  margin: 0 0 0.25rem 0;
  color: var(--text-main);
  font-size: clamp(1.2rem, 2.2vw, 1.5rem);
  font-weight: 700;
  text-align: left;
}

.product-hero__cheat-for {
  margin: 0;
  font-size: 0.9rem;
  color: var(--text-muted);
}

.product-hero__undetected-badge {
  position: absolute;
  top: 0;
  right: 0;
  display: inline-block;
  padding: 0.25rem 0.5rem;
  font-size: 0.7rem;
  font-weight: 600;
  color: #fff;
  background: var(--success, #22c55e);
  border-radius: 6px;
}

.game-cheat-card__photo-block {
  margin: 0;
  padding: 0;
}

.game-cheat-card__photo-block .game-cheat-card__screenshots {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}

.product-hero--dynamic__cols {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 1.75rem;
  align-items: start;
  justify-items: stretch;
  overflow: visible;
}

.product-hero--dynamic__cols--one {
  grid-template-columns: 1fr;
}

.product-hero--dynamic__cols--one .product-hero--dynamic__right {
  display: none;
}

@media (max-width: 900px) {
  .product-hero--dynamic__cols {
    grid-template-columns: 1fr;
    max-width: 100%;
  }
}

/* Обёртка блока с кастомным размером */
.product-hero__block--sized {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}

.product-hero__block-pos-wrap {
  /* Свободное смещение блока по X/Y без обрезки; внешняя обёртка — смещается весь блок */
  display: block;
  overflow: visible;
  min-width: 0;
}

.product-hero--dynamic__left {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  min-width: 0;
  max-width: 100%;
  overflow: visible;
}

.product-hero--dynamic__left .game-cheat-card__tariffs {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}

.product-hero--dynamic__left .game-cheat-card__video {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}

.product-hero--dynamic__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
  align-items: start;
}

@media (max-width: 640px) {
  .product-hero--dynamic__row {
    grid-template-columns: 1fr;
  }
}

.product-hero--dynamic__row .game-cheat-card__sysreq,
.product-hero--dynamic__row .game-cheat-card__description {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}

.product-hero--dynamic__right {
  position: sticky;
  top: 1rem;
  min-width: 0;
  max-width: 100%;
  overflow: visible;
}

.product-hero--dynamic__right .game-cheat-card__spectrum {
  margin-top: 0;
  padding-top: 0;
  padding-bottom: 0;
  border-bottom: none;
}

/* Каталог: сетка игр — симметричные колонки, карточки строго квадратные (aspect-ratio 1:1) */
.catalog-games-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--catalog-grid-min)), 1fr));
  gap: var(--catalog-grid-gap);
  margin-top: var(--space-4);
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  align-items: stretch;
  padding: 0;
}

/* Карточка каталога: верх — только медиа, низ — текст (без наложения друг на друга) */
.card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

/*
 * Hero-зона: фиксированная геометрия в clamp/rem; фото масштабируется под блок (cover).
 */
.card-image {
  position: relative;
  flex: 0 0 auto;
  width: 100%;
  overflow: hidden;
  padding: 0;
  margin: 0;
  background-color: var(--bg-main);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  box-sizing: border-box;
}

.card-content {
  position: relative;
  z-index: 2;
  flex: 0 0 auto;
  min-width: 0;
}

.game-block {
  display: flex;
  flex-direction: column;
  min-height: 0;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: 0;
  border-radius: var(--radius-md);
  background: var(--glass-bg);
  border: var(--glass-border);
  box-shadow: var(--shadow-block), var(--glass-shadow);
  text-decoration: none;
  color: inherit;
  transition:
    border-color var(--transition-fast),
    box-shadow var(--transition-fast),
    transform var(--transition-fast);
  overflow: hidden;
}

.game-block:hover {
  border-color: rgba(99, 102, 241, 0.35);
  box-shadow: var(--shadow-block-hover), 0 0 36px rgba(99, 102, 241, 0.08);
  transform: translateY(-3px) scale(1.01);
}

/* Верх карточки: hero — та же высота, что у превью на главной и у строки чита (см. --card-hero-height) */
.game-block__thumb {
  position: relative;
  flex: 0 0 auto;
  width: 100%;
  height: var(--card-hero-height);
  border-radius: var(--radius-md) var(--radius-md) 0 0;
  overflow: hidden;
  isolation: isolate;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  background-color: rgba(17, 24, 39, 0.96);
  background-image:
    radial-gradient(ellipse 85% 70% at 50% 38%, rgba(99, 102, 241, 0.14) 0%, transparent 58%),
    linear-gradient(160deg, rgba(30, 41, 59, 0.55) 0%, rgba(10, 13, 20, 0.92) 100%),
    repeating-linear-gradient(
      -18deg,
      transparent 0,
      transparent 11px,
      rgba(148, 163, 184, 0.045) 11px,
      rgba(148, 163, 184, 0.045) 12px
    );
  background-size: 100% 100%, 100% 100%, auto;
  box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.12);
  transition: transform var(--transition-fast);
}

.game-block__thumb::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 2.5rem;
  height: 2.5rem;
  opacity: 0.32;
  pointer-events: none;
  z-index: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='1.35' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2' ry='2'/%3E%3Ccircle cx='8.5' cy='10.5' r='1.5'/%3E%3Cpath d='m21 15-5-5L5 21'/%3E%3C/svg%3E")
    center / contain no-repeat;
}

.game-block__thumb::after {
  content: "";
  position: absolute;
  inset: 10% 12%;
  border-radius: 10px;
  border: 1px dashed rgba(148, 163, 184, 0.28);
  pointer-events: none;
  z-index: 0;
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.35);
}

.game-block__thumb--has-img::before {
  opacity: 1;
  /* Оверскан на 1px убирает светлые щели по краям (subpixel при clip-path/scale). */
  left: -1px;
  top: -1px;
  width: calc(100% + 2px);
  height: calc(100% + 2px);
  transform: none;
  border-radius: inherit;
  clip-path: inherit;
  transform: translateZ(0);
  z-index: 2;
  background:
    linear-gradient(
      to right,
      rgba(8, 10, 15, 0.72) 0%,
      rgba(8, 10, 15, 0.18) 14%,
      transparent 22%,
      transparent 78%,
      rgba(8, 10, 15, 0.18) 86%,
      rgba(8, 10, 15, 0.72) 100%
    ),
    linear-gradient(
      180deg,
      rgba(8, 10, 15, 0.38) 0%,
      rgba(8, 10, 15, 0.06) 18%,
      transparent 32%,
      transparent 62%,
      rgba(8, 10, 15, 0.42) 88%,
      rgba(8, 10, 15, 0.88) 100%
    );
}

/* Фото из админки: inline cssBackgroundCardPhotoStyle (cover); слой без «зазоров» при скруглении */
.game-block__thumb--has-img {
  box-shadow: none;
  border-bottom-color: transparent;
  background-color: #0a0d14;
  background-origin: border-box;
  background-clip: border-box;
  transform: translateZ(0);
  backface-visibility: hidden;
  clip-path: inset(0 round var(--radius-md) var(--radius-md) 0 0);
  transition: transform 0.35s ease, filter var(--transition-fast);
}

/* Виньетка без радиальной маски — иначе видны кольца/полосы у края */
.game-block__thumb--has-img::after {
  opacity: 1;
  /* Оверскан на 1px убирает светлые щели по краям (subpixel при clip-path/scale). */
  inset: -1px;
  border: none;
  border-radius: inherit;
  clip-path: inherit;
  transform: translateZ(0);
  box-shadow:
    inset 0 0 0 1px rgba(8, 10, 15, 0.95),
    inset 0 0 48px 20px rgba(8, 10, 15, 0.82),
    inset 0 22px 48px -14px rgba(8, 10, 15, 0.45);
  pointer-events: none;
  z-index: 3;
}

.game-block:hover .game-block__thumb--has-img {
  transform: translateZ(0);
  filter: brightness(1.03);
}

.game-block__body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  min-height: 0;
  padding: 0.5rem 0.6rem 0.6rem;
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.96) 0%, rgba(17, 24, 39, 0.98) 100%);
}

.game-block__info {
  min-width: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  justify-content: flex-start;
  text-align: left;
  flex: 0 1 auto;
}

.game-block__title {
  font-size: clamp(0.82rem, 3vw, 1.05rem);
  font-weight: 700;
  line-height: var(--lh-heading);
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  word-break: break-word;
}

.game-block__count {
  font-size: 0.68rem;
  color: var(--text-muted);
  margin: 0;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.game-block__pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  margin-top: 0.1rem;
}

.game-block__trial-badge {
  display: inline-flex;
  flex-direction: column;
  align-items: stretch;
  width: fit-content;
  max-width: 100%;
  margin: 0.4rem 0 0;
  padding: 0.22rem 0.55rem 0.3rem;
  gap: 0.22rem;
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(251, 191, 36, 0.24) 0%, rgba(120, 53, 15, 0.32) 100%);
  border: 1px solid rgba(251, 191, 36, 0.48);
  box-shadow:
    0 0 16px rgba(251, 191, 36, 0.16),
    inset 0 1px 0 rgba(253, 224, 71, 0.22);
  box-sizing: border-box;
}

.game-block__trial-badge-label {
  display: block;
  padding: 0;
  font-size: 0.58rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  white-space: nowrap;
  text-align: center;
  color: #fde68a;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}

.game-block__trial-badge-bar {
  display: block;
  width: 100%;
  height: 2px;
  min-height: 2px;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    rgba(251, 191, 36, 0.2) 0%,
    #f59e0b 28%,
    #fde68a 50%,
    #f59e0b 72%,
    rgba(251, 191, 36, 0.2) 100%
  );
  box-shadow: 0 0 8px rgba(251, 191, 36, 0.35);
}

.game-block__pill {
  display: inline-flex;
  align-items: center;
  padding: 0.12rem 0.38rem;
  border-radius: var(--radius-pill);
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.game-block__pill--stock {
  background: rgba(34, 197, 94, 0.2);
  color: #86efac;
  border: 1px solid rgba(34, 197, 94, 0.4);
}

.game-block__pill--out {
  background: rgba(248, 113, 113, 0.16);
  color: #fecaca;
  border: 1px solid rgba(248, 113, 113, 0.38);
  /* Не трогаем регистр: «Нет в наличии», без ALL CAPS и без искажения «нет / нету». */
  text-transform: none;
  letter-spacing: 0.02em;
}

.game-block__pill--hit {
  background: rgba(251, 191, 36, 0.18);
  color: #fde68a;
  border: 1px solid rgba(251, 191, 36, 0.4);
}

.game-block__pill--ban-risk {
  background: rgba(249, 115, 22, 0.22);
  color: #fdba74;
  border: 1px solid rgba(249, 115, 22, 0.5);
  box-shadow: 0 0 12px rgba(249, 115, 22, 0.2);
}

.game-block__pill--undetect {
  background: rgba(34, 197, 94, 0.22);
  color: #86efac;
  border: 1px solid rgba(34, 197, 94, 0.45);
  box-shadow: 0 0 14px rgba(34, 197, 94, 0.22);
  text-shadow: none;
}

.game-block__pill--update {
  background: rgba(239, 68, 68, 0.26);
  color: #fca5a5;
  border: 1px solid rgba(239, 68, 68, 0.45);
  box-shadow: 0 0 14px rgba(239, 68, 68, 0.2);
  text-shadow: none;
}

.game-block__subtitle {
  font-size: var(--text-sm);
  color: var(--text-muted);
  margin: 0;
  line-height: var(--lh-body);
}

.game-block__action {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-end;
  gap: 0.35rem;
  padding: 0;
  margin-top: auto;
  flex-shrink: 0;
  text-align: left;
}

.game-block__price {
  font-size: clamp(0.78rem, 2.8vw, 1rem);
  font-weight: 700;
  line-height: var(--lh-heading);
  color: #fefce8;
  letter-spacing: 0.02em;
}

.game-block__price-label {
  font-size: 0.6rem;
  font-weight: 600;
  line-height: var(--lh-heading);
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-right: 0.15rem;
}

.game-block__btn {
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.25rem;
  padding: 0.35rem 0.5rem;
  font-size: 0.68rem;
  white-space: normal;
  text-align: center;
  line-height: 1.2;
}

/* --- Каталог игр (catalog.html): крупнее карточки, сетка по центру как шапка --- */
.page-catalog .catalog-games-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: clamp(1.05rem, 2.8vw, 1.75rem);
  margin-top: var(--space-4);
}

.page-catalog .catalog-games-list > .game-block--photo {
  flex: 0 0 clamp(13.25rem, 30vw, 20.5rem);
  width: clamp(13.25rem, 30vw, 20.5rem);
  max-width: 100%;
  box-sizing: border-box;
}

.page-catalog .game-block {
  border-radius: var(--radius-lg);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow:
    var(--shadow-block),
    0 0 0 1px rgba(255, 255, 255, 0.05),
    var(--glass-shadow);
}

.page-catalog .game-block:hover {
  transform: translateY(-5px) scale(1.01);
  box-shadow:
    var(--shadow-block-hover),
    0 0 52px rgba(99, 102, 241, 0.14);
}

.page-catalog .game-block__thumb {
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}

/* Каталог игр: thumb скруглён сильнее (radius-lg), поэтому и clip-path у фото должен совпадать,
   иначе на части карточек появляется светлая полоска/щель по краю. */
.page-catalog .game-block__thumb--has-img {
  /*
   * На части карточек (чаще в правых колонках) clip-path даёт субпиксельные щели с псевдо-оверлеями
   * при некоторых размерах/скейле/драйверах. Для каталога полагаемся на overflow+border-radius,
   * а затемнение перекрываем небольшим "оверсканом".
   */
  clip-path: none;
  /* Убираем линию-разделитель под фото (она выглядит как "светлая полоса без затемнения"). */
  border-bottom: none;
}

.page-catalog .game-block__thumb--has-img::before {
  left: -2px;
  top: -2px;
  width: calc(100% + 4px);
  height: calc(100% + 4px);
}

.page-catalog .game-block__thumb--has-img::after {
  inset: -2px;
}

.page-catalog .game-block:hover .game-block__thumb--has-img {
  transform: translateZ(0);
  filter: brightness(1.03);
}

.page-catalog .game-block__body {
  padding: 0.65rem 0.85rem 0.8rem;
  gap: 0.45rem;
}

.page-catalog .game-block__title {
  font-size: clamp(0.92rem, 2.6vw, 1.12rem);
}

.page-catalog .game-block__count {
  font-size: 0.74rem;
}

.page-catalog .game-block__pill {
  padding: 0.14rem 0.42rem;
  font-size: 0.62rem;
}

.page-catalog .game-block__btn {
  min-height: 2.55rem;
  padding: 0.42rem 0.65rem;
  font-size: clamp(0.72rem, 2.1vw, 0.82rem);
}

/* Каталог: постеры по игре (те же градиенты, что у превью на главной), если нет фото из админки */
.page-catalog .game-block__thumb:not(.game-block__thumb--has-img)::before,
.page-catalog .game-block__thumb:not(.game-block__thumb--has-img)::after {
  opacity: 0;
}

.page-catalog .game-block--rust .game-block__thumb:not(.game-block__thumb--has-img) {
  background-image:
    radial-gradient(ellipse 95% 72% at 78% 8%, rgba(255, 110, 48, 0.42), transparent 50%),
    radial-gradient(ellipse 70% 55% at 8% 92%, rgba(55, 22, 12, 0.95), transparent 58%),
    linear-gradient(168deg, #4a2014 0%, #241008 42%, #07090f 100%);
}

.page-catalog .game-block--dayz .game-block__thumb:not(.game-block__thumb--has-img) {
  background-image:
    radial-gradient(ellipse 80% 60% at 22% 18%, rgba(74, 124, 62, 0.35), transparent 55%),
    radial-gradient(ellipse 90% 70% at 88% 88%, rgba(18, 32, 22, 0.95), transparent 55%),
    linear-gradient(175deg, #1a2e1c 0%, #0f1a12 45%, #060a0e 100%);
}

.page-catalog .game-block--minecraft .game-block__thumb:not(.game-block__thumb--has-img) {
  background-image:
    radial-gradient(ellipse 85% 55% at 50% -5%, rgba(74, 222, 128, 0.28), transparent 52%),
    radial-gradient(ellipse 65% 50% at 12% 100%, rgba(21, 94, 52, 0.88), transparent 55%),
    linear-gradient(165deg, #14532d 0%, #0c2818 48%, #050b08 100%);
}

.page-catalog .game-block--pubg .game-block__thumb:not(.game-block__thumb--has-img) {
  background-image:
    radial-gradient(ellipse 90% 65% at 70% 12%, rgba(251, 191, 36, 0.38), transparent 52%),
    radial-gradient(ellipse 75% 55% at 8% 85%, rgba(120, 53, 15, 0.9), transparent 55%),
    linear-gradient(168deg, #713f12 0%, #2d1a08 44%, #080a0f 100%);
}

.page-catalog .game-block--stalcraft .game-block__thumb:not(.game-block__thumb--has-img) {
  background-image:
    radial-gradient(ellipse 88% 58% at 40% 0%, rgba(56, 189, 248, 0.22), transparent 52%),
    radial-gradient(ellipse 70% 60% at 92% 78%, rgba(12, 38, 58, 0.92), transparent 55%),
    linear-gradient(172deg, #0c2a3d 0%, #061820 46%, #05080f 100%);
}

.page-catalog .game-block--cs2 .game-block__thumb:not(.game-block__thumb--has-img) {
  background-image:
    radial-gradient(ellipse 75% 50% at 85% 20%, rgba(251, 146, 60, 0.28), transparent 55%),
    radial-gradient(ellipse 80% 65% at 10% 90%, rgba(30, 41, 59, 0.92), transparent 55%),
    linear-gradient(168deg, #1e293b 0%, #0f172a 45%, #05070c 100%);
}

/* Каталог читов: блоки (название, цена, «Купить сейчас») — на странице игры, мягкие тени */
.catalog-cheats-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, clamp(13.25rem, 30vw, 20.5rem)), 1fr));
  gap: clamp(1.05rem, 2.8vw, 1.75rem);
  margin-top: var(--space-4);
}

/* Страница игры: каталог читов — как каталог игр, но без auto-stretch при малом количестве карточек */
.page-game .catalog-cheats-list {
  grid-template-columns: repeat(auto-fill, minmax(clamp(13.25rem, 30vw, 20.5rem), clamp(13.25rem, 30vw, 20.5rem)));
  justify-content: start;
  align-content: start;
  align-items: stretch;
}

/* Карточки читов на странице игры: фото-карточки с hover зумом (см. .game-block--photo ниже) */
.page-game .game-block.cheat-card {
  transition:
    box-shadow 0.32s var(--ease-premium),
    transform 0.32s var(--ease-premium);
}

.page-game .game-block.cheat-card .game-block__pills {
  min-height: 1.35rem;
}

/* Каталог: плавное появление карточек при прокрутке (IntersectionObserver в script.js) */
.page-catalog .catalog-games-list.ec-scroll-reveal-ready > .game-block.ec-scroll-reveal-pending,
.page-game .catalog-cheats-list.ec-scroll-reveal-ready > .game-block.ec-scroll-reveal-pending {
  opacity: 0;
  transform: translate3d(0, 28px, 0);
  pointer-events: none;
}

.page-catalog .catalog-games-list.ec-scroll-reveal-ready > .game-block,
.page-game .catalog-cheats-list.ec-scroll-reveal-ready > .game-block {
  transition:
    opacity 1.45s cubic-bezier(0.16, 1, 0.3, 1),
    transform 1.45s cubic-bezier(0.16, 1, 0.3, 1),
    border-color var(--transition-fast),
    box-shadow var(--transition-fast);
}

.page-catalog .catalog-games-list.ec-scroll-reveal-ready > .game-block.ec-scroll-reveal-in,
.page-game .catalog-cheats-list.ec-scroll-reveal-ready > .game-block.ec-scroll-reveal-in {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  pointer-events: auto;
}

@media (prefers-reduced-motion: reduce) {
  .page-catalog .catalog-games-list.ec-scroll-reveal-ready > .game-block,
  .page-game .catalog-cheats-list.ec-scroll-reveal-ready > .game-block {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    pointer-events: auto !important;
  }
}

/* Плавное появление карточек каталога (legacy batch — ec-cards-animate) */
@keyframes ec-photo-card-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.ec-cards-animate > .game-block {
  animation: page-fade-in 0.4s ease-out both;
  transition:
    border-color var(--transition-fast),
    box-shadow var(--transition-fast),
    transform var(--transition-fast);
}

.ec-cards-animate > .game-block:nth-child(1) { animation-delay: 0.04s; }
.ec-cards-animate > .game-block:nth-child(2) { animation-delay: 0.08s; }
.ec-cards-animate > .game-block:nth-child(3) { animation-delay: 0.12s; }
.ec-cards-animate > .game-block:nth-child(4) { animation-delay: 0.16s; }
.ec-cards-animate > .game-block:nth-child(5) { animation-delay: 0.2s; }
.ec-cards-animate > .game-block:nth-child(6) { animation-delay: 0.24s; }
.ec-cards-animate > .game-block:nth-child(7) { animation-delay: 0.28s; }
.ec-cards-animate > .game-block:nth-child(8) { animation-delay: 0.32s; }
.ec-cards-animate > .game-block:nth-child(n + 9) { animation-delay: 0.36s; }

.page-catalog .catalog-games-list.ec-cards-animate > .game-block,
.page-game .catalog-cheats-list.ec-cards-animate > .game-block {
  animation: ec-photo-card-in 0.4s ease-out forwards;
}

.page-catalog .catalog-games-list.ec-cards-animate > .game-block:nth-child(1),
.page-game .catalog-cheats-list.ec-cards-animate > .game-block:nth-child(1) { animation-delay: 0.04s; }
.page-catalog .catalog-games-list.ec-cards-animate > .game-block:nth-child(2),
.page-game .catalog-cheats-list.ec-cards-animate > .game-block:nth-child(2) { animation-delay: 0.08s; }
.page-catalog .catalog-games-list.ec-cards-animate > .game-block:nth-child(3),
.page-game .catalog-cheats-list.ec-cards-animate > .game-block:nth-child(3) { animation-delay: 0.12s; }
.page-catalog .catalog-games-list.ec-cards-animate > .game-block:nth-child(4),
.page-game .catalog-cheats-list.ec-cards-animate > .game-block:nth-child(4) { animation-delay: 0.16s; }
.page-catalog .catalog-games-list.ec-cards-animate > .game-block:nth-child(5),
.page-game .catalog-cheats-list.ec-cards-animate > .game-block:nth-child(5) { animation-delay: 0.2s; }
.page-catalog .catalog-games-list.ec-cards-animate > .game-block:nth-child(6),
.page-game .catalog-cheats-list.ec-cards-animate > .game-block:nth-child(6) { animation-delay: 0.24s; }
.page-catalog .catalog-games-list.ec-cards-animate > .game-block:nth-child(7),
.page-game .catalog-cheats-list.ec-cards-animate > .game-block:nth-child(7) { animation-delay: 0.28s; }
.page-catalog .catalog-games-list.ec-cards-animate > .game-block:nth-child(8),
.page-game .catalog-cheats-list.ec-cards-animate > .game-block:nth-child(8) { animation-delay: 0.32s; }
.page-catalog .catalog-games-list.ec-cards-animate > .game-block:nth-child(n + 9),
.page-game .catalog-cheats-list.ec-cards-animate > .game-block:nth-child(n + 9) { animation-delay: 0.36s; }

@media (prefers-reduced-motion: reduce) {
  .ec-cards-animate > .game-block {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}

/* Пилюли статуса чита: как раньше (зелёный / красный) */
.game-block__pill--undetect {
  background: rgba(34, 197, 94, 0.22);
  color: #86efac;
  border: 1px solid rgba(34, 197, 94, 0.45);
  box-shadow: 0 0 14px rgba(34, 197, 94, 0.22);
  text-shadow: none;
}

.game-block__pill--update {
  background: rgba(239, 68, 68, 0.26);
  color: #fca5a5;
  border: 1px solid rgba(239, 68, 68, 0.45);
  box-shadow: 0 0 14px rgba(239, 68, 68, 0.2);
  text-shadow: none;
}

.cheat-block {
  display: grid;
  grid-template-columns: var(--cheat-thumb-w) minmax(0, 1fr);
  align-items: stretch;
  gap: 0 var(--space-3);
  padding: 0;
  border-radius: var(--radius-md);
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border: var(--glass-border);
  box-shadow: var(--shadow-block), var(--glass-shadow);
  text-decoration: none;
  color: inherit;
  transition:
    border-color var(--transition-fast),
    box-shadow var(--transition-fast),
    transform var(--transition-fast);
  overflow: hidden;
}

.cheat-block:hover {
  border-color: rgba(99, 102, 241, 0.38);
  box-shadow: var(--shadow-block-hover), 0 0 36px rgba(99, 102, 241, 0.1);
  transform: translateY(-3px);
}

.cheat-block__thumb {
  position: relative;
  flex: 0 0 auto;
  width: var(--cheat-thumb-w);
  min-width: var(--cheat-thumb-w);
  max-width: var(--cheat-thumb-w);
  aspect-ratio: var(--card-hero-aspect);
  height: auto;
  min-height: 0;
  align-self: center;
  border-radius: var(--radius-md) 0 0 var(--radius-md);
  background-color: #0a0d14;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  background-origin: border-box;
  background-clip: border-box;
  overflow: hidden;
  flex-shrink: 0;
  isolation: isolate;
  transform: translateZ(0);
  backface-visibility: hidden;
  clip-path: inset(0 round var(--radius-md) 0 0 var(--radius-md));
  border-right: 1px solid rgba(0, 0, 0, 0.35);
  box-shadow: 0 0 24px rgba(99, 102, 241, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.04);
  transition: transform 0.35s ease, filter var(--transition-fast), box-shadow var(--transition-fast);
}

.cheat-block:hover .cheat-block__thumb {
  transform: translateZ(0) scale(1.02);
  filter: brightness(1.04);
  box-shadow: 0 0 28px rgba(99, 102, 241, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.cheat-block__thumb::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  z-index: 2;
  box-shadow:
    inset 0 0 0 1px rgba(8, 10, 15, 0.95),
    inset 0 0 40px 16px rgba(8, 10, 15, 0.78),
    inset 0 14px 36px -10px rgba(8, 10, 15, 0.42);
}

.cheat-block__info {
  min-width: 0;
  padding: var(--space-3) var(--space-3) var(--space-3) 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: left;
}

.cheat-block__pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.45rem;
}

.cheat-block__pill {
  display: inline-flex;
  align-items: center;
  padding: 0.15rem 0.45rem;
  border-radius: var(--radius-pill);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.cheat-block__pill--stock {
  background: rgba(34, 197, 94, 0.2);
  color: #86efac;
  border: 1px solid rgba(34, 197, 94, 0.4);
}

.cheat-block__pill--hit {
  background: rgba(251, 191, 36, 0.18);
  color: #fde68a;
  border: 1px solid rgba(251, 191, 36, 0.4);
}

.cheat-block__pill--ban-risk {
  background: rgba(249, 115, 22, 0.22);
  color: #fdba74;
  border: 1px solid rgba(249, 115, 22, 0.5);
  box-shadow: 0 0 12px rgba(249, 115, 22, 0.2);
}

.cheat-block__title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: flex-start;
  gap: 0.5rem 0.75rem;
  margin: 0 0 0.25rem 0;
}

.cheat-block__title {
  font-size: var(--fs-20);
  font-weight: 700;
  line-height: var(--lh-heading);
  margin: 0;
  padding: 0;
  color: var(--text-main);
  text-align: left;
  margin-inline-start: 0;
}

/* Один статус справа от названия чита (UPDATE или UNDETECT) */
.cheat-block__status-badge {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  padding: 0.25rem 0.55rem;
  font-size: var(--text-xs);
  font-weight: 700;
  line-height: var(--lh-heading);
  letter-spacing: 0.06em;
  border-radius: 6px;
  white-space: nowrap;
}

.cheat-block__status-badge--update {
  background: rgba(239, 68, 68, 0.28);
  color: #fca5a5;
  border: 1px solid rgba(239, 68, 68, 0.45);
  box-shadow: 0 0 14px rgba(239, 68, 68, 0.25), 0 0 6px rgba(239, 68, 68, 0.15);
  text-shadow: 0 0 12px rgba(252, 165, 165, 0.6);
}

.cheat-block__status-badge--undetect {
  background: rgba(34, 197, 94, 0.22);
  color: #86efac;
  border: 1px solid rgba(34, 197, 94, 0.45);
  box-shadow: 0 0 14px rgba(34, 197, 94, 0.25), 0 0 6px rgba(34, 197, 94, 0.15);
  text-shadow: 0 0 12px rgba(134, 239, 172, 0.6);
}

.cheat-block__game {
  font-size: var(--text-sm);
  line-height: var(--lh-body);
  color: var(--text-muted);
  margin: 0;
  padding: 0;
}

.cheat-block__action {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-3) var(--space-3) 0;
  text-align: right;
}

.cheat-block__price {
  font-size: var(--fs-24);
  font-weight: 700;
  line-height: var(--lh-heading);
  color: #fefce8;
  letter-spacing: 0.02em;
}

.cheat-block__price-label {
  font-size: var(--text-xs);
  font-weight: 600;
  line-height: var(--lh-heading);
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-right: 0.15rem;
}

.cheat-block__btn {
  white-space: nowrap;
}

.game-cheats-list {
  display: grid;
  gap: 1rem;
  margin-top: 1.5rem;
}

.game-cheat-card {
  padding: 1.25rem;
  border-radius: var(--radius-lg);
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border: var(--glass-border);
  box-shadow: var(--shadow-block), var(--glass-shadow);
}

.game-cheat-card__title {
  font-size: var(--fs-20);
  font-weight: 700;
  line-height: var(--lh-heading);
  margin: 0 0 0.5rem 0;
  color: var(--text-main);
}

.game-cheat-card__desc {
  font-size: var(--text-sm);
  color: var(--text-main);
  margin: 0;
  line-height: var(--lh-body);
}

.game-cheat-card__desc-list {
  list-style: none;
  margin: 0.25rem 0 0 0;
  padding: 0;
}

.game-cheat-card__desc-item {
  position: relative;
  padding-left: 1rem;
  margin-bottom: 0.35rem;
  font-size: var(--text-sm);
  color: var(--text-main);
  line-height: var(--lh-body);
}

.game-cheat-card__desc-item::before {
  content: "•";
  position: absolute;
  left: 0;
  color: var(--accent);
}

.game-cheat-card__description {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(148, 163, 184, 0.15);
}

.game-cheat-card__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.game-cheat-card__price {
  font-weight: 700;
  color: var(--accent);
}

.game-cheat-card__subtitle {
  font-size: var(--text-sm);
  font-weight: 700;
  line-height: var(--lh-heading);
  color: var(--accent);
  margin: 0 0 0.5rem 0;
}

.game-cheat-card__screenshots {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(148, 163, 184, 0.15);
  max-width: 100%;
  overflow: hidden;
}

.product-hero--dynamic .game-cheat-card__screenshots {
  margin-top: 0.75rem;
  padding-top: 0;
  border-top: none;
}

.game-cheat-card__spectrum {
  margin-top: 0.5rem;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.15);
  max-width: 100%;
  overflow: hidden;
}

.product-hero--dynamic .game-cheat-card__spectrum .game-cheat-card__subtitle:first-child {
  margin-bottom: 0.5rem;
}

.cheat-screenshots-grid {
  display: grid;
  gap: 0.75rem;
  margin-top: 0.5rem;
  max-width: 100%;
  overflow: hidden;
}

.cheat-screenshots-grid--n1 {
  grid-template-columns: 1fr;
}
.cheat-screenshots-grid--n1 .cheat-screenshot {
  width: 100%;
  max-width: 100%;
  height: 280px;
  min-height: 200px;
}

.cheat-screenshots-grid--n2 {
  grid-template-columns: repeat(2, 1fr);
}
.cheat-screenshots-grid--n2 .cheat-screenshot {
  width: 100%;
  height: 200px;
}

.cheat-screenshots-grid--n3 {
  grid-template-columns: repeat(3, 1fr);
}
.cheat-screenshots-grid--n3 .cheat-screenshot {
  width: 100%;
  height: 160px;
}

.cheat-screenshots-grid--n4 {
  grid-template-columns: repeat(4, 1fr);
}
.cheat-screenshots-grid--n4 .cheat-screenshot {
  width: 100%;
  height: 140px;
}

.cheat-screenshots-grid--n5plus {
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
}
.cheat-screenshots-grid--n5plus .cheat-screenshot {
  width: 100%;
  height: 100px;
}

@media (max-width: 768px) {
  .cheat-screenshots-grid--n2 { grid-template-columns: 1fr; }
  .cheat-screenshots-grid--n2 .cheat-screenshot { height: 220px; }
  .cheat-screenshots-grid--n3 { grid-template-columns: 1fr; }
  .cheat-screenshots-grid--n3 .cheat-screenshot { height: 180px; }
  .cheat-screenshots-grid--n4 { grid-template-columns: repeat(2, 1fr); }
  .cheat-screenshots-grid--n4 .cheat-screenshot { height: 140px; }
}

.cheat-screenshot {
  display: block;
  width: 160px;
  max-width: 100%;
  height: 90px;
  border-radius: var(--radius-sm);
  overflow: hidden;
  border: 1px solid rgba(129, 140, 248, 0.25);
  background: rgba(15, 23, 42, 0.8);
}

.cheat-screenshot img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  max-width: 100%;
}

.game-cheat-card__sysreq {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}

.game-cheat-card__sysreq .game-cheat-card__subtitle {
  margin-bottom: 0.5rem;
}

.sysreq-list {
  list-style: none;
  margin: 0.25rem 0 0 0;
  padding: 0;
}

.sysreq-row {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  gap: 0.15rem 0;
  padding: 0.3rem 0;
  font-size: 0.9rem;
}

.sysreq-label {
  color: var(--text-muted);
  line-height: var(--lh-heading);
  flex-shrink: 0;
}

.sysreq-value {
  color: var(--text-main);
  font-weight: 500;
  min-width: 0;
  max-width: 100%;
  word-break: normal;
  overflow-wrap: break-word;
  hyphens: none;
  white-space: normal;
}

/* Страница товара: подписи как раньше (акцент), список без лишнего отступа */
.product-page__card--sysreq .product-page__sysreq-list {
  margin: 0.35rem 0 0 0;
  padding: 0;
  list-style: none;
  font-size: var(--text-sm);
  line-height: var(--lh-body);
}

.product-page__card--sysreq .product-page__sysreq-list .sysreq-label {
  color: var(--accent);
  font-weight: 700;
}

.game-cheat-card__func {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}

.game-cheat-card__func .game-cheat-card__subtitle {
  margin-bottom: 0.4rem;
}

.func-badges {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem 0.6rem;
  margin-top: 0.25rem;
}

.func-group {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 0.35rem;
}

.func-items {
  font-size: 0.75rem;
  color: var(--text-muted);
  padding-left: 0;
}

.func-badge {
  display: inline-block;
  padding: 0.2rem 0.5rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.func-badge--esp {
  background: rgba(99, 102, 241, 0.2);
  color: #818cf8;
  border: 1px solid rgba(99, 102, 241, 0.4);
}

.func-badge--aim {
  background: rgba(52, 211, 153, 0.2);
  color: var(--success);
  border: 1px solid rgba(52, 211, 153, 0.4);
}

.func-badge--misc {
  background: rgba(168, 85, 247, 0.2);
  color: #a78bfa;
  border: 1px solid rgba(168, 85, 247, 0.4);
}

.game-cheat-card__tariffs {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}

.tariffs-total {
  margin: 0.75rem 0 0.5rem 0;
  font-size: clamp(0.9rem, 1.5vw, 1rem);
  font-weight: 600;
  color: var(--text-main);
}

.tariffs-buy-btn {
  display: block;
  width: 100%;
  text-align: center;
  margin-top: 0.5rem;
  padding: 0.65rem 1rem;
  border-radius: 12px;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 4px 20px rgba(99, 102, 241, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2);
}
.tariffs-buy-btn:hover {
  box-shadow: 0 6px 24px rgba(99, 102, 241, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.25);
}

.tariffs-list {
  list-style: none;
  margin: 0.5rem 0 0 0;
  padding: 0;
}

.tariffs-list__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.4rem 0;
  font-size: 0.95rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.1);
}

.tariffs-list__item:last-child {
  border-bottom: none;
}

.tariffs-list__duration { color: var(--text-muted); }
.tariffs-list__price { font-weight: 600; color: var(--accent); }

.game-cheat-card__video {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}

.game-cheat-card__video .game-cheat-card__subtitle {
  margin-bottom: 0.5rem;
}

.cheat-video-wrap {
  margin-top: 0.35rem;
}

.cheat-video-embed {
  position: relative;
  width: 100%;
  max-width: 720px;
  border-radius: var(--radius-md, 12px);
  overflow: hidden;
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid var(--border-subtle, rgba(255, 255, 255, 0.08));
}

.cheat-video-embed::before {
  content: "";
  display: block;
  padding-top: 56.25%;
}

.cheat-video-embed iframe,
.cheat-video-embed .cheat-video-player {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
  object-fit: contain;
  background: #000;
}

.cheat-video-embed--link::before {
  display: none;
}

.cheat-video-embed--link {
  padding: 0.5rem 0;
  background: transparent;
  border: none;
}

.games-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.25rem;
  margin-top: 1rem;
}

/* Превью каталога на главной — заголовок и описание по центру, друг под другом */
.catalog-preview__head {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.35rem;
}

.catalog-preview__ribbon {
  display: inline-block;
  padding: 0.2rem 0.65rem;
  border-radius: var(--radius-pill);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #0f172a;
  background: linear-gradient(120deg, #fde68a, #fbbf24);
  box-shadow: 0 4px 16px rgba(251, 191, 36, 0.25);
}

.catalog-preview__head .catalog-preview__title {
  margin: 0;
  width: 100%;
}

.section--catalog-preview .section__title--center {
  text-align: center;
  margin-bottom: 0.5rem;
}

/* Декор под заголовком блока превью каталога на главной */
.catalog-preview__title {
  font-size: clamp(var(--fs-20), 3.5vw, 1.85rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--text-main);
  position: relative;
  padding-bottom: 0.75rem;
  line-height: var(--lh-heading);
}
.catalog-preview__title::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 72px;
  height: 3px;
  border-radius: 2px;
  background: var(--accent);
  opacity: 0.85;
  box-shadow: 0 0 20px rgba(99, 102, 241, 0.35);
}

.section--catalog-preview .catalog-preview__desc {
  max-width: min(100%, var(--prose-max));
  margin: 0 auto 0 auto;
  text-align: center;
  display: block;
  line-height: var(--lh-body);
  color: #cbd5e1;
}

.catalog-preview__desc:empty {
  display: none;
}

.catalog-preview-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--catalog-grid-min)), 1fr));
  gap: var(--catalog-grid-gap);
  margin-top: var(--space-4);
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  align-items: stretch;
}

.catalog-preview-card {
  display: flex;
  flex-direction: column;
  min-height: 0;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  height: auto;
  border-radius: var(--radius-card);
  padding: 0.5rem 0.6rem 0.55rem;
  text-decoration: none;
  color: #fff;
  position: relative;
  overflow: hidden;
  transition: transform var(--transition-normal), box-shadow var(--transition-normal), border-color var(--transition-fast);
  box-shadow: var(--shadow-card);
  /* без blur: иначе полупрозрачные края и «светлая кайма» у hero */
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.catalog-preview-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(155deg, rgba(255, 255, 255, 0.18) 0%, transparent 48%, rgba(255, 255, 255, 0.06) 100%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  z-index: 3;
}

.catalog-preview-card::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  z-index: 0;
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.12) 0%, rgba(2, 6, 23, 0.55) 100%);
  opacity: 1;
  transition: opacity 0.25s ease;
}

.catalog-preview-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-card-hover);
  border-color: rgba(99, 102, 241, 0.2);
}

.catalog-preview-card:not(.catalog-preview-card--has-cover):hover::after {
  opacity: 0.88;
}

.catalog-preview-card--has-cover::after {
  display: none;
}

/* Превью каталога: ровная сетка, одинаковая высота в ряду */
.catalog-preview-grid > .catalog-preview-card {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

.catalog-preview-card--rust {
  background: linear-gradient(155deg, rgba(140, 60, 28, 0.38) 0%, rgba(45, 28, 18, 0.82) 55%, rgba(12, 14, 20, 0.94) 100%);
}

.catalog-preview-card--minecraft {
  background: linear-gradient(155deg, rgba(28, 100, 58, 0.36) 0%, rgba(14, 48, 30, 0.8) 55%, rgba(12, 14, 20, 0.94) 100%);
}

.catalog-preview-card--pubg {
  background: linear-gradient(155deg, rgba(120, 92, 28, 0.34) 0%, rgba(42, 32, 14, 0.78) 55%, rgba(12, 14, 20, 0.94) 100%);
}

.catalog-preview-card--stalcraft {
  background: linear-gradient(155deg, rgba(24, 80, 110, 0.34) 0%, rgba(10, 38, 58, 0.78) 55%, rgba(12, 14, 20, 0.94) 100%);
}

.catalog-preview-card__media {
  position: relative;
  flex: 0 0 auto;
  width: 100%;
  height: var(--card-hero-height);
  padding: 0;
  border-radius: var(--radius-sm);
  overflow: hidden;
  background-color: #0a0d14;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-origin: border-box;
  background-clip: border-box;
  isolation: isolate;
  transform: translateZ(0);
  backface-visibility: hidden;
  clip-path: inset(0 round var(--radius-sm));
  transition: transform 0.45s ease, filter 0.35s ease;
}

/* Виньетка без «ступенек»: мало слоёв, плавные стопы — иначе похоже на полосы */
.catalog-preview-card__media::before {
  content: "";
  position: absolute;
  /* Важно: лёгкий "оверскан" убирает светлую полоску от субпиксельных щелей (clip-path/scale). */
  inset: -1px;
  border-radius: inherit;
  clip-path: inherit;
  transform: translateZ(0);
  pointer-events: none;
  z-index: 2;
  background:
    linear-gradient(
      to right,
      rgba(8, 10, 15, 0.72) 0%,
      rgba(8, 10, 15, 0.18) 14%,
      transparent 22%,
      transparent 78%,
      rgba(8, 10, 15, 0.18) 86%,
      rgba(8, 10, 15, 0.72) 100%
    ),
    linear-gradient(
      180deg,
      rgba(8, 10, 15, 0.38) 0%,
      rgba(8, 10, 15, 0.06) 18%,
      transparent 32%,
      transparent 62%,
      rgba(8, 10, 15, 0.42) 88%,
      rgba(8, 10, 15, 0.88) 100%
    );
}

.catalog-preview-card:hover .catalog-preview-card__media {
  transform: translateZ(0) scale(1.02);
  filter: brightness(1.03);
}

.catalog-preview-card__media::after {
  content: "";
  position: absolute;
  /* Важно: лёгкий "оверскан" убирает светлую полоску от субпиксельных щелей (clip-path/scale). */
  inset: -1px;
  border-radius: inherit;
  clip-path: inherit;
  transform: translateZ(0);
  pointer-events: none;
  z-index: 3;
  box-shadow:
    inset 0 0 0 1px rgba(8, 10, 15, 0.95),
    inset 0 0 48px 20px rgba(8, 10, 15, 0.82),
    inset 0 22px 48px -14px rgba(8, 10, 15, 0.45);
}

.catalog-preview-card__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin: 0;
  position: absolute;
  top: var(--space-2);
  right: var(--space-2);
  left: auto;
  justify-content: flex-end;
  align-items: flex-end;
  flex-direction: column;
  z-index: 4;
  max-width: calc(100% - 1rem);
}

.catalog-preview-card__badge {
  padding: 0.2rem 0.5rem;
  border-radius: 999px;
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.03em;
  line-height: var(--lh-heading);
}

.catalog-preview-card__badge--price {
  background: rgba(15, 23, 42, 0.75);
  color: #fefce8;
  border: 1px solid rgba(253, 224, 71, 0.35);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.28), 0 0 20px rgba(250, 204, 21, 0.12);
  font-size: var(--text-sm);
  font-weight: 700;
  letter-spacing: 0.02em;
}

.catalog-preview-card__badge--undetect {
  background: rgba(34, 197, 94, 0.9);
  color: #fff;
}

.catalog-preview-card__badge--update {
  background: rgba(239, 68, 68, 0.9);
  color: #fff;
}

.catalog-preview-card__badge--stock {
  background: rgba(34, 197, 94, 0.88);
  color: #fff;
  font-size: 0.65rem;
}

.catalog-preview-card__badge--out {
  background: rgba(239, 68, 68, 0.88);
  color: #fff;
  font-size: 0.65rem;
}

.catalog-preview-card__badge--hit {
  background: rgba(251, 191, 36, 0.95);
  color: #1e1b0c;
  font-size: 0.65rem;
}

.catalog-preview-card__badge--exclusive {
  background: linear-gradient(135deg, #fef3c7 0%, #fbbf24 48%, #f59e0b 100%);
  color: #1a1204;
  font-size: 0.68rem;
  font-weight: 800;
  border: 1px solid rgba(255, 237, 153, 0.85);
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.28), 0 0 20px rgba(251, 191, 36, 0.32);
  text-transform: none;
  letter-spacing: 0.04em;
}

.catalog-preview-card__icon {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0.22;
  background-size: min(72%, 140px);
  background-repeat: no-repeat;
  background-position: center center;
  pointer-events: none;
  z-index: 1;
  transition: transform var(--transition-normal), opacity var(--transition-normal);
}

.catalog-preview-card:hover .catalog-preview-card__icon {
  transform: scale(1.03);
  opacity: 0.28;
}

/* Превью с обложкой: без псевдо-рамки (::before), без blur-карточки поверх hero */
.catalog-preview-card--has-cover::before {
  display: none;
}

/* Градиент-постер (нет своего файла): абсолютный слой только как второй background-plane */
.catalog-preview-card--has-cover .catalog-preview-card__cover {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  background-color: transparent;
  /* градиентные постеры заливают слой целиком */
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  pointer-events: none;
}

.catalog-preview-card--has-cover .catalog-preview-card__shade {
  display: none;
}

.catalog-preview-card--has-cover .catalog-preview-card__media {
  background-color: var(--bg-main);
}

.catalog-preview-card--has-cover .catalog-preview-card__badges {
  position: absolute;
  z-index: 4;
}

.catalog-preview-card--has-cover .catalog-preview-card__bottom {
  position: relative;
  z-index: 2;
}

.catalog-preview-card--has-cover .catalog-preview-card__name,
.catalog-preview-card--has-cover .catalog-preview-card__desc {
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.85), 0 0 20px rgba(0, 0, 0, 0.35);
}

.catalog-preview-card__bottom {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  width: 100%;
  min-width: 0;
  min-height: 0;
  position: relative;
  z-index: 2;
  /* bottom — гибкий: позволяет «прижать» CTA вниз и выровнять карточки */
  flex: 1 1 auto;
  margin-top: 0.35rem;
  justify-content: flex-start;
  text-align: left;
}

.catalog-preview-card__content {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  flex: 0 1 auto;
  min-width: 0;
  min-height: 0;
  text-align: left;
  align-items: stretch;
}

.catalog-preview-card__price {
  display: flex;
  align-items: baseline;
  justify-content: flex-start;
  gap: 0.35rem;
  flex-wrap: wrap;
  width: 100%;
  padding: 0.3rem 0 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  margin-top: 0.15rem;
}

.catalog-preview-card__price-label {
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(226, 232, 240, 0.75);
}

.catalog-preview-card__price-value {
  font-size: clamp(0.78rem, 2.6vw, 1.15rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #fefce8;
  line-height: var(--lh-heading);
}

.catalog-preview-card__cta {
  display: block;
  width: 100%;
  margin-top: 0.15rem;
  pointer-events: none;
  /* CTA всегда снизу, даже если описания/цены меньше */
  margin-top: auto;
}

.catalog-preview-card__cta-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 2.35rem;
  padding: 0.4rem 0.55rem;
  border-radius: var(--radius-btn);
  font-size: clamp(0.65rem, 2.5vw, 0.8rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  line-height: 1.2;
  color: #f8fafc;
  background: var(--accent);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 6px 22px rgba(99, 102, 241, 0.35);
}

.catalog-preview-card:hover .catalog-preview-card__cta-inner {
  background: var(--accent-hover);
  box-shadow: 0 8px 28px rgba(99, 102, 241, 0.45);
}

.catalog-preview-card__name {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  width: 100%;
  min-height: 0;
  font-weight: 600;
  font-size: clamp(0.8rem, 2.8vw, 0.95rem);
  letter-spacing: 0.03em;
  margin: 0;
  color: #f8fafc;
  line-height: var(--lh-heading);
  text-align: left;
  word-break: break-word;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.45);
}

.catalog-preview-card__desc {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  width: 100%;
  max-width: none;
  margin: 0;
  text-align: left;
  font-size: clamp(0.65rem, 2.2vw, 0.8rem);
  line-height: 1.35;
  color: rgba(241, 245, 249, 0.9);
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.45);
}

/* --- Главная: превью игр — на всю ширину блока, крупнее, фон-картинка на всю карточку --- */
.catalog-preview-grid--home {
  --home-preview-card-min: clamp(12.75rem, 24vw, 17rem);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--home-preview-card-min)), 1fr));
  gap: clamp(0.85rem, 2.2vw, 1.45rem);
  justify-content: stretch;
  align-items: stretch;
}

#main-games-grid.catalog-preview-grid--home > .catalog-preview-card--home-tile {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 0;
  overflow: hidden;
  min-height: clamp(16.5rem, 36vw, 22.5rem);
  border-radius: var(--radius-lg);
  background-color: var(--bg-main);
  background-image: radial-gradient(ellipse 120% 80% at 50% 120%, rgba(99, 102, 241, 0.12), transparent 55%);
  /* тёмное кольцо вместо светлого — иначе «белая кайма» у фото */
  box-shadow: var(--shadow-card), 0 0 0 1px rgba(0, 0, 0, 0.5);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

/* Градиентная «обводка» ::before сидит поверх контента (z-index 3–5) — даёт светлую кайму вокруг картинки */
#main-games-grid.catalog-preview-grid--home > .catalog-preview-card--home-tile::before {
  display: none;
}

#main-games-grid.catalog-preview-grid--home > .catalog-preview-card--home-tile::after {
  display: none;
}

#main-games-grid.catalog-preview-grid--home > .catalog-preview-card--home-tile .catalog-preview-card__media {
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  clip-path: inset(0 round var(--radius-lg) var(--radius-lg) 0 0);
  transition: transform 0.55s var(--ease-premium), filter 0.45s var(--ease-premium);
}

/* Главная: та же --card-hero-height; zoom только .media */
#main-games-grid.catalog-preview-grid--home > .catalog-preview-card--home-tile:hover .catalog-preview-card__media {
  transform: translateZ(0) scale(1.02);
  filter: brightness(1.03);
}

/* Градиент-постер: слой cover — только фон, поток не трогает */
#main-games-grid.catalog-preview-grid--home > .catalog-preview-card--home-tile .catalog-preview-card__cover {
  background-color: transparent;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat;
}

#main-games-grid.catalog-preview-grid--home > .catalog-preview-card--home-tile .catalog-preview-card__shade {
  display: none;
}

#main-games-grid.catalog-preview-grid--home > .catalog-preview-card--home-tile .catalog-preview-card__badges {
  top: 0.65rem;
  right: 0.65rem;
  z-index: 6;
}

#main-games-grid.catalog-preview-grid--home > .catalog-preview-card--home-tile .catalog-preview-card__bottom {
  position: relative;
  z-index: 4;
  /* Растягиваем нижний блок на свободную высоту карточки,
     чтобы не оставался "пустой хвост" под CTA у карточек без описания/цены */
  flex: 1 1 auto;
  margin-top: 0;
  padding: 0.75rem 0.85rem 0.85rem;
  background: rgba(15, 23, 42, 0.98);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

#main-games-grid.catalog-preview-grid--home > .catalog-preview-card--home-tile .catalog-preview-card__name {
  font-size: clamp(0.92rem, 2.6vw, 1.08rem);
  text-shadow: none;
}

#main-games-grid.catalog-preview-grid--home > .catalog-preview-card--home-tile .catalog-preview-card__desc {
  color: rgba(248, 250, 252, 0.9);
  text-shadow: none;
}

#main-games-grid.catalog-preview-grid--home > .catalog-preview-card--home-tile .catalog-preview-card__price {
  border-top-color: rgba(255, 255, 255, 0.1);
}

#main-games-grid.catalog-preview-grid--home > .catalog-preview-card--home-tile .catalog-preview-card__cta-inner {
  min-height: 2.55rem;
  height: 2.55rem;
  font-size: clamp(0.72rem, 2.2vw, 0.82rem);
  box-shadow: 0 8px 26px rgba(99, 102, 241, 0.42);
}

/* Стилизованные «постеры» без загрузки файлов (если catalogImage пустой) */
#main-games-grid .catalog-preview-card--rust:not(.catalog-preview-card--custom-photo) .catalog-preview-card__cover {
  background-image:
    radial-gradient(ellipse 95% 72% at 78% 8%, rgba(255, 110, 48, 0.42), transparent 50%),
    radial-gradient(ellipse 70% 55% at 8% 92%, rgba(55, 22, 12, 0.95), transparent 58%),
    linear-gradient(168deg, #4a2014 0%, #241008 42%, #07090f 100%);
}

#main-games-grid .catalog-preview-card--dayz:not(.catalog-preview-card--custom-photo) .catalog-preview-card__cover {
  background-image:
    radial-gradient(ellipse 80% 60% at 22% 18%, rgba(74, 124, 62, 0.35), transparent 55%),
    radial-gradient(ellipse 90% 70% at 88% 88%, rgba(18, 32, 22, 0.95), transparent 55%),
    linear-gradient(175deg, #1a2e1c 0%, #0f1a12 45%, #060a0e 100%);
}

#main-games-grid .catalog-preview-card--minecraft:not(.catalog-preview-card--custom-photo) .catalog-preview-card__cover {
  background-image:
    radial-gradient(ellipse 85% 55% at 50% -5%, rgba(74, 222, 128, 0.28), transparent 52%),
    radial-gradient(ellipse 65% 50% at 12% 100%, rgba(21, 94, 52, 0.88), transparent 55%),
    linear-gradient(165deg, #14532d 0%, #0c2818 48%, #050b08 100%);
}

#main-games-grid .catalog-preview-card--pubg:not(.catalog-preview-card--custom-photo) .catalog-preview-card__cover {
  background-image:
    radial-gradient(ellipse 90% 65% at 70% 12%, rgba(251, 191, 36, 0.38), transparent 52%),
    radial-gradient(ellipse 75% 55% at 8% 85%, rgba(120, 53, 15, 0.9), transparent 55%),
    linear-gradient(168deg, #713f12 0%, #2d1a08 44%, #080a0f 100%);
}

#main-games-grid .catalog-preview-card--stalcraft:not(.catalog-preview-card--custom-photo) .catalog-preview-card__cover {
  background-image:
    radial-gradient(ellipse 88% 58% at 40% 0%, rgba(56, 189, 248, 0.22), transparent 52%),
    radial-gradient(ellipse 70% 60% at 92% 78%, rgba(12, 38, 58, 0.92), transparent 55%),
    linear-gradient(172deg, #0c2a3d 0%, #061820 46%, #05080f 100%);
}

#main-games-grid .catalog-preview-card--cs2:not(.catalog-preview-card--custom-photo) .catalog-preview-card__cover {
  background-image:
    radial-gradient(ellipse 75% 50% at 85% 20%, rgba(251, 146, 60, 0.28), transparent 55%),
    radial-gradient(ellipse 80% 65% at 10% 90%, rgba(30, 41, 59, 0.92), transparent 55%),
    linear-gradient(168deg, #1e293b 0%, #0f172a 45%, #05070c 100%);
}

@media (prefers-reduced-motion: reduce) {
  .catalog-preview-card:hover .catalog-preview-card__media,
  #main-games-grid.catalog-preview-grid--home > .catalog-preview-card--home-tile:hover .catalog-preview-card__media {
    transform: none !important;
    filter: none;
    transition: none;
  }
}

.games-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  gap: var(--space-1);
  min-height: 7.5rem;
  padding: var(--space-3) var(--space-2);
  border-radius: var(--radius-card);
  background: var(--surface-card);
  border: 1px solid var(--border-soft);
  box-shadow: var(--shadow-card);
  text-decoration: none;
  color: var(--text-main);
  text-align: left;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);
}

.games-card:hover {
  border-color: rgba(99, 102, 241, 0.28);
  box-shadow: var(--shadow-card-hover);
  transform: translateY(-4px);
}

.games-card__name {
  font-weight: 600;
  font-size: var(--fs-14);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: var(--lh-heading);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: calc(2 * var(--fs-14) * var(--lh-heading));
}

.games-card__desc {
  font-size: var(--text-sm);
  color: #cbd5e1;
  line-height: var(--lh-body);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-width: 0;
}

.games-card--rust { box-shadow: var(--shadow-card), inset 0 3px 0 0 rgba(249, 115, 22, 0.75); }
.games-card--minecraft { box-shadow: var(--shadow-card), inset 0 3px 0 0 rgba(34, 197, 94, 0.75); }
.games-card--pubg { box-shadow: var(--shadow-card), inset 0 3px 0 0 rgba(234, 179, 8, 0.75); }
.games-card--stalcraft { box-shadow: var(--shadow-card), inset 0 3px 0 0 rgba(56, 189, 248, 0.75); }

.games-card--rust:hover {
  box-shadow: var(--shadow-card-hover), inset 0 3px 0 0 rgba(249, 115, 22, 0.85);
}

.games-card--minecraft:hover {
  box-shadow: var(--shadow-card-hover), inset 0 3px 0 0 rgba(34, 197, 94, 0.85);
}

.games-card--pubg:hover {
  box-shadow: var(--shadow-card-hover), inset 0 3px 0 0 rgba(234, 179, 8, 0.85);
}

.games-card--stalcraft:hover {
  box-shadow: var(--shadow-card-hover), inset 0 3px 0 0 rgba(56, 189, 248, 0.85);
}

.section__cta {
  text-align: center;
  margin: var(--space-4) 0 0;
}

.section__cta .btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.section__cta .btn::after {
  content: "";
  width: 1em;
  height: 1em;
  /* currentColor внутри background-image в SVG не наследуется стабильно → фиксируем цвет как у фиолетового значка/эмодзи */
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236a5cff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3Cpolyline points='12 5 19 12 12 19'/%3E%3C/svg%3E") no-repeat center;
  background-size: contain;
  filter: drop-shadow(0 0 10px rgba(106, 92, 255, 0.25));
}

.section {
  margin-top: var(--section-y);
  margin-bottom: var(--section-y);
}

.section.trust-section--compact {
  margin-top: 0;
  margin-bottom: var(--space-4);
}

.section.section--games {
  margin-top: var(--section-y);
  padding-top: var(--section-y);
  border-top: 1px solid var(--border-soft);
}

@media (max-width: 768px) {
  .section {
    margin-top: calc(var(--section-y) * 0.72);
    margin-bottom: calc(var(--section-y) * 0.72);
  }

  .section.trust-section--compact {
    margin-bottom: var(--space-3);
  }
}

@media (max-width: 960px) {
  .games-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  .games-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

.section__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: var(--space-4);
  align-items: flex-start;
}

.section__title {
  font-size: clamp(var(--fs-20), 2.5vw, var(--fs-24));
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: var(--lh-heading);
  margin: 0 0 var(--space-2);
  color: var(--text-main);
  text-align: left;
}

.section__text {
  margin: 0;
  color: var(--text-muted);
  font-size: var(--text-sm);
  line-height: var(--lh-body);
  max-width: var(--prose-max);
  text-align: left;
}

.page:not(.page-admin) .section__text--center {
  margin-left: auto;
  margin-right: auto;
}

/* Блок «Чит не найден» / пустое состояние — Glass */
.empty-state {
  max-width: 28rem;
  margin: 2rem auto;
  padding: var(--space-4);
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border-radius: var(--radius-md);
  border: var(--glass-border);
  box-shadow: var(--shadow-card);
  text-align: center;
}

.empty-state__text {
  margin: 0 0 1.25rem 0;
  font-size: var(--fs-16);
  color: var(--text-main);
  line-height: var(--lh-body);
}

.empty-state__action {
  display: inline-block;
  padding: 0.6rem 1.25rem;
  font-weight: 600;
  border-radius: 12px;
  text-decoration: none;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 4px 20px rgba(99, 102, 241, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2);
}
.empty-state__action:hover {
  box-shadow: 0 6px 24px rgba(99, 102, 241, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.25);
}

/* Страница покупки чита — макет: фото + сайдбар тарифов, описание + требования */

.product-page-section {
  margin-top: 2rem;
}

.product-page {
  --product-page-cols: minmax(220px, 1fr) minmax(0, 2fr) minmax(240px, 1fr);
  --product-page-gap-x: 2rem;
  --product-page-gap-y: 1.75rem;
}

.product-page__container {
  max-width: var(--layout-max);
  margin: 0 auto;
  padding: 0 var(--layout-gutter);
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.product-page__title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1rem;
  margin-bottom: 0.25rem;
}

.product-page__title {
  position: relative;
  font-size: clamp(var(--fs-24), 2.8vw, var(--fs-32));
  font-weight: 700;
  margin: 0;
  letter-spacing: 0.02em;
  color: var(--text-main);
  line-height: var(--lh-heading);
}

.product-page__status-badge {
  display: inline-block;
  padding: 0.25rem 0.6rem;
  font-size: var(--text-xs);
  font-weight: 700;
  line-height: var(--lh-heading);
  letter-spacing: 0.08em;
  border-radius: 6px;
}

.product-page__status-badge--update {
  background: rgba(239, 68, 68, 0.25);
  color: #fca5a5;
  border: 1px solid rgba(239, 68, 68, 0.4);
  box-shadow: 0 0 12px rgba(239, 68, 68, 0.15);
}

.product-page__status-badge--undetect {
  background: rgba(34, 197, 94, 0.2);
  color: #86efac;
  border: 1px solid rgba(34, 197, 94, 0.4);
  box-shadow: 0 0 12px rgba(34, 197, 94, 0.15);
}

.product-page__title::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 56px;
  height: 3px;
  background: var(--accent);
  border-radius: 2px;
  box-shadow: 0 0 16px rgba(99, 102, 241, 0.35);
}

.product-page__subtitle {
  font-size: var(--fs-16);
  line-height: var(--lh-body);
  color: var(--accent);
  margin-bottom: 1.75rem;
}

/* Сетка: системные требования | фото | покупка — одна высота ряда, колонки как у нижнего блока */
.product-page__main-grid {
  display: grid;
  grid-template-columns: var(--product-page-cols);
  column-gap: var(--product-page-gap-x);
  row-gap: var(--product-page-gap-y);
  margin-bottom: 3rem;
  align-items: stretch;
}

.product-page__main-grid > .product-page__card--sysreq {
  grid-column: 1;
}

.product-page__main-grid > .product-page__image {
  grid-column: 2;
}

.product-page__main-grid > .product-page__card--purchase {
  grid-column: 3;
  min-height: 0;
  align-self: stretch;
  height: 100%;
}

.product-page__main-grid > .product-page__card,
.product-page__main-grid > .product-page__image {
  min-height: 360px;
  height: 100%;
  min-width: 0;
}

.product-page__main-grid > .product-page__card {
  display: flex;
  flex-direction: column;
}

.product-page__card--sysreq .product-page__list,
.product-page__card--sysreq .sysreq-list {
  flex: 1 1 auto;
}

.product-page__card--purchase {
  z-index: 2;
  border-color: rgba(99, 102, 241, 0.18);
  box-shadow: var(--shadow-card), 0 0 40px rgba(99, 102, 241, 0.08);
  justify-content: flex-start;
  align-items: stretch;
  gap: 0.5rem;
  min-height: 0;
  height: 100%;
  box-sizing: border-box;
}

.product-page__purchase-body {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  min-width: 0;
}

.product-page__purchase-top {
  flex-shrink: 0;
}

.product-page__purchase-top .product-page__section-title {
  margin: 0 0 0.5rem 0;
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--text-main);
  letter-spacing: 0.02em;
  text-align: center;
  width: 100%;
}

.product-page__purchase-mid {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  min-height: 0;
  gap: 0.55rem;
}

.product-page__purchase-mid .product-page__tariff {
  margin-bottom: 0;
}

/* Компактные строки; цвета / hover / selected — общие правила .product-page__tariff */
.product-page__card--purchase .product-page__tariff {
  min-height: 2.75rem;
  padding: 0.65rem 0.95rem;
  font-size: 0.98rem;
  border-radius: var(--radius-sm);
}

.product-page__purchase-bottom {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  gap: 1rem;
  min-height: 0;
  margin-top: 0;
  padding-bottom: 0;
}

/* Десктоп: вертикальный баланс между тарифами и блоком «итого + кнопка».
   Не используем display: contents — в ряде браузеров ломаются клики по кнопке «Купить». */
@media (min-width: 961px) {
  .product-page__card--purchase .product-page__purchase-body {
    flex: 1 1 0%;
    min-height: 0;
    justify-content: space-between;
    gap: 1rem;
  }

  .product-page__card--purchase .product-page__purchase-bottom {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    flex-shrink: 0;
    width: 100%;
  }
}

.product-page__purchase-bottom .product-page__price-total {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: flex-start;
  gap: 0.4rem 0.5rem;
  padding: 0.35rem 0 0;
  margin: 0;
  border-top: 1px solid rgba(148, 163, 184, 0.15);
}

.product-page__purchase-bottom .product-page__price-total-label {
  flex: 0 1 auto;
  min-width: 0;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  color: var(--text-muted);
  font-weight: 600;
  font-size: 0.95rem;
}

.product-page__purchase-bottom .product-page__price-total-value {
  color: var(--text-main);
  font-weight: 800;
  font-size: clamp(1.15rem, 2.2vw, 1.45rem);
  text-align: left;
  letter-spacing: 0.02em;
  flex: 0 0 auto;
}

.product-page__purchase-bottom .product-page__buyer-email {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  width: 100%;
  margin-top: 0.75rem;
  margin-bottom: 0.35rem;
}

.product-page__buyer-email-label {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--text-muted);
}

.product-page__buyer-email-input {
  width: 100%;
  box-sizing: border-box;
  padding: 0.55rem 0.75rem;
  border-radius: var(--radius-sm);
  border: 1px solid rgba(148, 163, 184, 0.25);
  background: rgba(15, 23, 42, 0.65);
  color: var(--text-main);
  font-size: 0.95rem;
}

.product-page__buyer-email-input:focus {
  outline: 2px solid rgba(129, 140, 248, 0.55);
  outline-offset: 1px;
}

.product-page__buyer-email-hint {
  font-size: 0.72rem;
  color: var(--text-muted);
  line-height: 1.35;
}

.product-page__buyer-email--warn .product-page__buyer-email-input {
  border-color: rgba(248, 113, 113, 0.65);
  box-shadow: 0 0 0 1px rgba(248, 113, 113, 0.2);
}

.product-page__purchase-bottom .product-page__buy-btn {
  margin-top: 0;
  width: 100%;
  align-self: stretch;
  min-height: 48px;
  padding: 0.75rem 1.25rem;
  font-size: 1.0625rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  border-radius: var(--radius-btn);
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: var(--accent);
  color: #f8fafc;
  box-shadow: 0 10px 32px rgba(99, 102, 241, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.product-page__purchase-bottom .product-page__buy-btn:hover {
  background: var(--accent-hover);
}

.product-page__agreement {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-top: 0;
  padding: 0.65rem 0.75rem;
  border-radius: var(--radius-sm);
  border: 1px solid rgba(148, 163, 184, 0.14);
  background: rgba(15, 23, 42, 0.45);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.product-page__agreement-check {
  flex-shrink: 0;
  position: relative;
  width: 1.2rem;
  height: 1.2rem;
  margin: 0.08rem 0 0 0;
  cursor: pointer;
  border-radius: 6px;
  border: 2px solid rgba(148, 163, 184, 0.45);
  background: rgba(30, 41, 59, 0.85);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
  appearance: none;
  -webkit-appearance: none;
  transition:
    border-color var(--transition-fast),
    background var(--transition-fast),
    box-shadow var(--transition-fast);
}

.product-page__agreement-check:hover {
  border-color: rgba(129, 140, 248, 0.55);
  background: rgba(51, 65, 85, 0.65);
}

.product-page__agreement-check:focus {
  outline: none;
}

.product-page__agreement-check:focus-visible {
  outline: 2px solid rgba(129, 140, 248, 0.65);
  outline-offset: 2px;
}

.product-page__agreement-check:checked {
  background: linear-gradient(145deg, var(--accent) 0%, var(--accent-strong) 100%);
  border-color: rgba(165, 180, 252, 0.65);
  box-shadow:
    0 0 0 1px rgba(99, 102, 241, 0.35),
    0 2px 8px rgba(99, 102, 241, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.product-page__agreement-check:checked::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 45%;
  width: 0.28rem;
  height: 0.48rem;
  border: solid #f8fafc;
  border-width: 0 2px 2px 0;
  transform: translate(-50%, -50%) rotate(45deg);
  box-sizing: border-box;
}

.product-page__agreement-line {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 0.8125rem;
  line-height: 1.5;
  letter-spacing: 0.01em;
  color: var(--text-muted);
}

.product-page__agreement-label {
  cursor: pointer;
  font-weight: 500;
  color: rgba(203, 213, 225, 0.92);
}

.product-page__agreement-link {
  font-weight: 600;
  color: var(--accent-strong);
  text-decoration: underline;
  text-decoration-color: rgba(129, 140, 248, 0.5);
  text-underline-offset: 3px;
  transition: color var(--transition-fast), text-decoration-color var(--transition-fast);
}

.product-page__agreement-link:hover {
  color: var(--accent-hover);
  text-decoration-color: rgba(165, 180, 252, 0.75);
}

.product-page__agreement--warn {
  outline: 2px solid rgba(248, 113, 113, 0.65);
  outline-offset: 2px;
  border-radius: var(--radius-sm);
  border-color: rgba(248, 113, 113, 0.35);
}

.product-page__payment-note {
  margin: 0 0 1rem;
  padding: 0.75rem 1rem;
  border-radius: var(--radius-sm);
  font-size: 0.95rem;
  line-height: 1.45;
}

.product-page__payment-note--ok {
  background: rgba(34, 197, 94, 0.12);
  border: 1px solid rgba(34, 197, 94, 0.35);
  color: #bbf7d0;
}

.product-page__payment-note--fail {
  background: rgba(248, 113, 113, 0.1);
  border: 1px solid rgba(248, 113, 113, 0.35);
  color: #fecaca;
}

.product-page__payment-note--pending {
  background: rgba(56, 189, 248, 0.1);
  border: 1px solid rgba(56, 189, 248, 0.35);
  color: #bae6fd;
}

.product-page__buy-btn--platega {
  font: inherit;
  cursor: pointer;
  position: relative;
  z-index: 2;
}

@media (max-width: 960px) {
  .product-page__main-grid {
    grid-template-columns: 1fr;
    gap: var(--product-page-gap-y);
  }

  .product-page__main-grid > .product-page__card--sysreq,
  .product-page__main-grid > .product-page__image,
  .product-page__main-grid > .product-page__card--purchase {
    grid-column: auto;
    min-height: 0;
    height: auto;
  }

  .product-page__main-grid > .product-page__image {
    min-height: 280px;
    order: 1;
  }

  .product-page__main-grid > .product-page__card--purchase {
    order: 2;
  }

  .product-page__main-grid > .product-page__card--sysreq {
    order: 3;
  }

  .product-page__card--purchase .product-page__price-total {
    margin-top: 1.25rem;
  }
}

.product-page__top-section {
  display: flex;
  gap: 2rem;
  margin-bottom: 2.5rem;
}

/* Glass-карточка: фото (blur + глубина + рамка и свечение) — мягкие тени, область под фото без пустого места */
.product-page__image {
  min-width: 0;
  width: 100%;
  min-height: 320px;
  height: 100%;
  display: flex;
  flex-direction: column;
  background: var(--surface-card);
  backdrop-filter: blur(20px) saturate(145%);
  -webkit-backdrop-filter: blur(20px) saturate(145%);
  padding: var(--space-3);
  border-radius: var(--radius-md);
  border: 1px solid var(--border-soft);
  box-shadow: var(--shadow-card);
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
}

.product-page__image::before {
  display: none;
}

.product-page__main-grid .product-page__image {
  padding: 1rem;
}

/* Блок фото — абсолютно заполняет карточку (с учётом padding), пустого места нет */
.product-page__photos-wrap {
  position: absolute;
  inset: 1.25rem;
  display: flex;
  align-items: stretch;
  min-height: 0;
}

.product-page__main-grid .product-page__image .product-page__photos-wrap {
  inset: 1rem;
}

/* Горизонтальный скролл: одно фото = полное окошко */
.product-page__photos {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: row;
  gap: 0;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  width: 100%;
  align-items: stretch;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.product-page__photos::-webkit-scrollbar {
  display: none;
}

/* Слот на всю область; высота 100% контейнера — фото подстраивается под рамку */
.product-page__photo-slot {
  position: relative;
  flex: 0 0 100%;
  width: 100%;
  height: 100%;
  min-height: 100%;
  align-self: stretch;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  border-radius: 10px;
  overflow: hidden;
  background: rgba(15, 23, 42, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.2), 0 0 20px rgba(99, 102, 241, 0.05);
  display: block;
  box-sizing: border-box;
}

/* Боковые стрелки для прокрутки мышкой */
.product-page__photo-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: rgba(15, 23, 42, 0.9);
  color: var(--text-main);
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s, border-color 0.2s, color 0.2s;
  flex-shrink: 0;
}

.product-page__photo-arrow:hover {
  background: rgba(99, 102, 241, 0.4);
  border-color: rgba(129, 140, 248, 0.5);
  color: #fff;
}

.product-page__photo-arrow--prev {
  left: 0.5rem;
}

.product-page__photo-arrow--next {
  right: 0.5rem;
}

/* Ссылка «открыть фото» на весь слот */
.product-page__photo-link {
  position: absolute;
  inset: 0;
  display: block;
  z-index: 1;
  cursor: pointer;
  border-radius: 10px;
}

.product-page__photo-link:hover::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.15);
  border-radius: 10px;
  pointer-events: none;
}

/* Фото на всю выделенную область слота, без пустого места */
.product-page__photo-slot img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  border-radius: 10px;
  transition: transform 0.35s ease;
  pointer-events: none;
}

/* Hover zoom на изображениях */
.product-page__photo-slot:not(.product-page__photo-slot--empty):hover img {
  transform: scale(1.06);
}

.product-page__photo-slot--empty .product-page__placeholder {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  background: rgba(15, 23, 42, 0.35);
  border: 1px dashed rgba(255, 255, 255, 0.08);
  border-radius: 10px;
}

/* Видео в карусели страницы покупки (первый слайд, если задано в админке) */
.product-page__photo-slot--video .product-page__video-wrap {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  display: flex;
  align-items: stretch;
}

.product-page__photo-slot--video .cheat-video-embed {
  flex: 1;
  width: 100%;
  max-width: none;
  height: 100%;
  border-radius: 10px;
}

.product-page__photo-slot--video .cheat-video-embed::before {
  display: none;
}

.product-page__photo-slot--video .cheat-video-embed iframe,
.product-page__photo-slot--video .cheat-video-embed .cheat-video-player {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.product-page__photo-slot--video .cheat-video-embed--link {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

.product-page__photo-slot--video .cheat-video-embed--tap {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 0;
  background: #000;
}

.product-page__photo-slot--video .cheat-video-embed--tap.cheat-video-embed--playing {
  padding: 0;
}

.product-page__photo-slot--video .cheat-video-tap-frame {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.product-page__photo-slot--video .cheat-video-embed--playing .cheat-video-tap-frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.product-page__photo-slot--video .cheat-video-embed--autoplay iframe,
.product-page__photo-slot--video .cheat-video-embed--autoplay .cheat-video-player {
  background: #000;
}

.product-page__media-badge {
  position: absolute;
  top: 0.65rem;
  left: 0.65rem;
  z-index: 3;
  padding: 0.2rem 0.55rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #e0e7ff;
  background: rgba(15, 23, 42, 0.82);
  border: 1px solid rgba(129, 140, 248, 0.45);
  border-radius: 6px;
  pointer-events: none;
}

@media (max-width: 600px) {
  .product-page__image {
    min-height: 260px;
  }
  .product-page__photo-arrow {
    width: 2.25rem;
    height: 2.25rem;
    font-size: 1.25rem;
  }
  .product-page__photo-arrow--prev {
    left: 0.35rem;
  }
  .product-page__photo-arrow--next {
    right: 0.35rem;
  }
}

/* Обычное фото (не в галерее) */
.product-page__image > img {
  width: 100%;
  height: auto;
  border-radius: 10px;
  display: block;
  transition: transform 0.4s ease;
}

.product-page__image:hover > img {
  transform: scale(1.04);
}

/* Лайтбокс просмотра фото: ESC и крестик закрывают */
.product-photo-lightbox {
  --product-lightbox-close-top: calc(
    var(--header-inner-min-height) + (var(--header-inner-pad-y) * 2) + 0.85rem + env(safe-area-inset-top, 0px)
  );
  position: fixed;
  inset: 0;
  z-index: 200000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  padding-top: max(2rem, var(--product-lightbox-close-top));
  box-sizing: border-box;
  pointer-events: none;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}

.product-photo-lightbox--open {
  pointer-events: auto;
  visibility: visible;
  opacity: 1;
}

.product-photo-lightbox__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.85);
  cursor: pointer;
}

.product-photo-lightbox__img {
  max-width: 100%;
  max-height: 90vh;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 12px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
}

.product-photo-lightbox__dialog,
.product-photo-lightbox__content {
  position: relative;
  z-index: 2;
  max-width: 95vw;
  max-height: 90vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Заметный крестик закрытия */
body.product-lightbox-open .header {
  z-index: 50;
}

.product-photo-lightbox__close {
  position: fixed;
  top: var(--lb-close-top, var(--product-lightbox-close-top));
  right: max(1rem, env(safe-area-inset-right, 0px));
  z-index: 200001;
  width: 3.25rem;
  height: 3.25rem;
  border: none;
  border-radius: 50%;
  background: #fff;
  color: #0f172a;
  font-size: 2rem;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4), 0 0 0 2px rgba(255, 255, 255, 0.3);
  transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.product-photo-lightbox__close:hover {
  background: #f87171;
  color: #fff;
  transform: scale(1.08);
}

.product-photo-lightbox__close:focus {
  outline: none;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4), 0 0 0 3px rgba(99, 102, 241, 0.8);
}

.product-photo-lightbox__nav {
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  z-index: 200001;
  width: 3.25rem;
  height: 3.25rem;
  border: none;
  border-radius: 50%;
  background: #fff;
  color: #0f172a;
  font-size: 2.35rem;
  line-height: 1;
  font-weight: 300;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 0 0.12rem;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4), 0 0 0 2px rgba(255, 255, 255, 0.3);
  transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease, opacity 0.2s ease;
  pointer-events: auto;
}

.product-photo-lightbox__nav--prev {
  left: max(1rem, env(safe-area-inset-left, 0px));
}

.product-photo-lightbox__nav--next {
  right: max(1rem, env(safe-area-inset-right, 0px));
}

.product-photo-lightbox__nav:hover:not(:disabled) {
  background: #6366f1;
  color: #fff;
  transform: translateY(-50%) scale(1.08);
}

.product-photo-lightbox__nav:focus {
  outline: none;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4), 0 0 0 3px rgba(99, 102, 241, 0.8);
}

.product-photo-lightbox__nav:disabled,
.product-photo-lightbox__nav[hidden] {
  display: none;
}

@media (max-width: 520px) {
  .product-photo-lightbox__nav {
    width: 2.75rem;
    height: 2.75rem;
    font-size: 2rem;
  }

  .product-photo-lightbox__nav--prev {
    left: max(0.35rem, env(safe-area-inset-left, 0px));
  }

  .product-photo-lightbox__nav--next {
    right: max(0.35rem, env(safe-area-inset-right, 0px));
  }
}

/* Страница checkout-mail.html — e-mail и выбор способа оплаты */

html.ec-content-pending body.page-checkout-mail .header,
html.ec-content-pending body.page-checkout-mail .main,
html.ec-content-pending body.page-checkout-mail .footer {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

html.ec-content-pending .main {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

html.ec-content-pending .nav__docs-menu,
html.ec-content-pending .nav__docs:focus-within .nav__docs-menu {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

html.ec-content-pending .site-starfield {
  visibility: visible;
}

html:not(.ec-content-pending) .main {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: none !important;
}

html:not(.ec-content-pending) .header,
html:not(.ec-content-pending) .footer {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: none !important;
}

@keyframes ec-content-reveal {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

html.ec-content-reveal .main {
  animation: ec-content-reveal 0.18s ease-out;
}

body.page-checkout-mail {
  color-scheme: dark;
}

/* Шапка как на остальных страницах: пункты меню по центру по вертикали */
body.page-checkout-mail .header__inner {
  align-items: center;
}

body.page-checkout-mail .header__inner .logo {
  align-self: center;
}

body.page-checkout-mail .header__inner .nav {
  align-self: center;
  align-items: center;
  min-height: var(--header-inner-min-height);
}

body.page-checkout-mail .header__inner .header__social {
  align-self: center;
}

body.page-checkout-mail .nav__link {
  padding-top: 0.45rem;
  padding-bottom: 0.45rem;
  line-height: 1.2;
}

.container.checkout-mail {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: calc(100vh - 12rem);
  padding-top: 2rem;
  padding-bottom: 4rem;
  box-sizing: border-box;
}

.checkout-mail__card {
  flex: 0 1 auto;
  width: min(100%, 460px);
  padding: 2rem 1.75rem 1.85rem;
  border-radius: var(--radius-btn, 16px);
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: linear-gradient(165deg, rgba(30, 41, 59, 0.96) 0%, rgba(15, 23, 42, 0.99) 100%);
  box-shadow:
    0 24px 72px rgba(0, 0, 0, 0.45),
    0 0 0 1px rgba(255, 255, 255, 0.05),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.checkout-mail__hero {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.55rem;
  margin: 0 0 1.25rem;
  padding-bottom: 1rem;
  text-align: center;
  border-bottom: 1px solid rgba(129, 140, 248, 0.14);
}

.checkout-mail__title {
  margin: 0;
  font-size: 1.32rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  color: #f8fafc;
  text-align: center;
  text-shadow:
    0 0 14px rgba(199, 210, 254, 0.22),
    0 0 28px rgba(99, 102, 241, 0.12);
}

.checkout-mail__product {
  margin: 0;
  padding: 0.28rem 0.85rem;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #c7d2fe;
  text-align: center;
  border-radius: 999px;
  border: 1px solid rgba(129, 140, 248, 0.28);
  background: rgba(99, 102, 241, 0.1);
  box-shadow: 0 0 18px rgba(99, 102, 241, 0.12);
  text-shadow: 0 0 10px rgba(129, 140, 248, 0.28);
}

.checkout-mail__sum {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.2rem;
  margin: 0.15rem 0 0;
  padding: 0.55rem 1.1rem 0.6rem;
  min-width: min(100%, 16rem);
  border-radius: 12px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  background: linear-gradient(180deg, rgba(30, 41, 59, 0.55) 0%, rgba(15, 23, 42, 0.35) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    0 0 20px rgba(99, 102, 241, 0.08);
}

.checkout-mail__sum-label {
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(148, 163, 184, 0.92);
}

.checkout-mail__sum-value {
  font-size: 1.12rem;
  font-weight: 800;
  line-height: 1.25;
  color: #f8fafc;
  text-shadow:
    0 0 12px rgba(199, 210, 254, 0.28),
    0 0 24px rgba(99, 102, 241, 0.14);
}

.checkout-mail__hint {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.28rem;
  max-width: 22rem;
  margin: 0.2rem 0 0;
  padding: 0;
}

.checkout-mail__hint-line {
  display: block;
  font-size: 0.8rem;
  line-height: 1.55;
  color: rgba(199, 210, 254, 0.9);
  text-align: center;
  text-shadow:
    0 0 10px rgba(129, 140, 248, 0.22),
    0 0 20px rgba(99, 102, 241, 0.1);
}

.checkout-mail__hint-line--muted {
  font-size: 0.76rem;
  color: rgba(148, 163, 184, 0.92);
  text-shadow: 0 0 8px rgba(129, 140, 248, 0.12);
}

.checkout-mail__hint--field {
  width: 100%;
  max-width: 22rem;
  margin: 0.15rem 0 0.5rem;
  padding: 0 0.15rem;
  gap: 0.22rem;
}

.checkout-mail__field--email .checkout-mail__privacy {
  margin-top: 0.55rem;
  max-width: 22rem;
}

.checkout-mail__captcha {
  text-align: center;
}

.ec-captcha-mount--hidden {
  position: absolute !important;
  left: -9999px !important;
  top: auto !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  visibility: hidden !important;
}

/* Cloudflare Turnstile: без декоративного блока — только контейнер виджета */
[data-reviews-captcha-widget] {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}

[data-reviews-captcha-widget] > div {
  width: 100%;
  display: flex;
  justify-content: center;
  position: relative;
  z-index: 2;
}

[data-reviews-captcha-widget] iframe {
  display: block;
  max-width: 100%;
  border: 0 !important;
  position: relative;
  z-index: 2;
}

.checkout-mail__privacy {
  margin: 0.65rem 0 0;
  padding: 0;
  font-size: 0.72rem;
  line-height: 1.55;
  color: rgba(199, 210, 254, 0.9);
  text-align: center;
  text-shadow:
    0 0 10px rgba(129, 140, 248, 0.28),
    0 0 22px rgba(99, 102, 241, 0.12);
}

.checkout-mail__privacy .checkout-mail__link {
  color: rgba(199, 210, 254, 0.98);
  text-decoration: none;
  border-bottom: 1px solid rgba(165, 180, 252, 0.35);
  text-shadow: 0 0 12px rgba(129, 140, 248, 0.35);
  transition: color 0.2s ease, border-color 0.2s ease, text-shadow 0.2s ease;
}

.checkout-mail__privacy .checkout-mail__link:hover {
  color: #eef2ff;
  border-bottom-color: rgba(224, 231, 255, 0.55);
  text-shadow:
    0 0 14px rgba(165, 180, 252, 0.45),
    0 0 26px rgba(99, 102, 241, 0.2);
}

.checkout-mail__actions--back {
  margin-top: 0.5rem;
}

.checkout-mail__actions--back .btn {
  width: 100%;
}

.checkout-mail__actions--pay .btn {
  width: 100%;
}

.checkout-mail__pay-methods {
  margin: 0 0 1.35rem;
  padding: 0;
  border: none;
  min-width: 0;
  text-align: left;
}

.checkout-mail__pay-methods-legend {
  float: left;
  width: 100%;
  margin-bottom: 0.35rem;
  padding: 0;
}

.checkout-mail__pay-methods-hint {
  float: left;
  width: 100%;
  margin: 0 0 0.75rem;
  font-size: 0.8rem;
  line-height: 1.45;
  color: var(--text-muted, #94a3b8);
  clear: both;
}

.checkout-mail__pay-options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.65rem;
  clear: both;
}

.checkout-mail__pay-options--single {
  grid-template-columns: 1fr;
}

.checkout-mail__pay-option--off {
  display: none !important;
}

.checkout-mail-pay-help {
  display: flex;
  gap: 0.85rem;
  align-items: flex-start;
  margin: 0 0 1.35rem;
  padding: 1rem 1.05rem 1.05rem;
  border-radius: var(--radius-md, 12px);
  border: 1px solid rgba(248, 113, 113, 0.38);
  background: linear-gradient(135deg, rgba(127, 29, 29, 0.22) 0%, rgba(15, 23, 42, 0.55) 48%, rgba(30, 27, 75, 0.2) 100%);
  box-shadow:
    0 0 0 1px rgba(248, 113, 113, 0.08) inset,
    0 10px 28px rgba(127, 29, 29, 0.14);
}

.checkout-mail-pay-help__icon {
  flex-shrink: 0;
  width: 2.25rem;
  height: 2.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  color: #fecaca;
  background: rgba(239, 68, 68, 0.18);
  border: 1px solid rgba(248, 113, 113, 0.35);
  box-shadow: 0 0 18px rgba(239, 68, 68, 0.2);
}

.checkout-mail-pay-help__icon svg {
  width: 1.2rem;
  height: 1.2rem;
}

.checkout-mail-pay-help__body {
  flex: 1 1 auto;
  min-width: 0;
}

.checkout-mail-pay-help__title {
  margin: 0 0 0.45rem;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #fca5a5;
}

.checkout-mail-pay-help__text {
  margin: 0;
  font-size: 0.8rem;
  line-height: 1.55;
  font-weight: 500;
  color: #f87171;
}

.checkout-mail-pay-help__links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 0.75rem;
}

.checkout-mail-pay-help__link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.38rem 0.72rem;
  border-radius: var(--radius-pill, 999px);
  font-size: 0.72rem;
  font-weight: 700;
  text-decoration: none;
  color: #fecaca;
  background: rgba(239, 68, 68, 0.14);
  border: 1px solid rgba(248, 113, 113, 0.42);
  transition: background 0.2s, border-color 0.2s, color 0.2s;
}

.checkout-mail-pay-help__link:hover {
  color: #fff;
  background: rgba(239, 68, 68, 0.28);
  border-color: rgba(252, 165, 165, 0.55);
}

.checkout-mail-pay-help__link svg {
  width: 0.95rem;
  height: 0.95rem;
  flex-shrink: 0;
}

@media (max-width: 420px) {
  .checkout-mail-pay-help {
    flex-direction: column;
    align-items: stretch;
  }

  .checkout-mail-pay-help__icon {
    width: 2rem;
    height: 2rem;
  }
}

.checkout-mail__pay-option {
  display: block;
  margin: 0;
  cursor: pointer;
}

.checkout-mail__pay-option-input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.checkout-mail__pay-option-body {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0.75rem 0.65rem;
  border-radius: 12px;
  border: 1px solid rgba(148, 163, 184, 0.28);
  background: linear-gradient(180deg, rgba(30, 41, 59, 0.92) 0%, rgba(15, 23, 42, 0.96) 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
  transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.checkout-mail__pay-option-name {
  font-size: 0.92rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--text-main, #f1f5f9);
  text-align: center;
}

.checkout-mail__pay-option-input:focus-visible + .checkout-mail__pay-option-body {
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.32);
}

.checkout-mail__pay-option-input:checked + .checkout-mail__pay-option-body {
  border-color: rgba(129, 140, 248, 0.75);
  background: linear-gradient(180deg, rgba(67, 56, 202, 0.28) 0%, rgba(30, 27, 75, 0.55) 100%);
  box-shadow:
    0 0 0 1px rgba(129, 140, 248, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.checkout-mail__pay-methods--warn {
  border-radius: 12px;
  padding: 0.65rem;
  margin-bottom: 1.1rem;
  background: rgba(127, 29, 29, 0.18);
  box-shadow: inset 0 0 0 1px rgba(248, 113, 113, 0.45);
}

.checkout-mail__pay-methods--warn .checkout-mail__pay-methods-legend {
  color: #fca5a5;
}

.checkout-mail__pay-methods--warn .checkout-mail__pay-option-body {
  border-color: rgba(248, 113, 113, 0.55);
}

@media (max-width: 420px) {
  .checkout-mail__pay-options {
    grid-template-columns: 1fr;
  }
}

.checkout-mail__field {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  margin-bottom: 1.35rem;
  text-align: left;
}

.checkout-mail__field--email {
  align-items: center;
  text-align: center;
  gap: 0.35rem;
}

.checkout-mail__field--email .checkout-mail__label {
  width: 100%;
  text-align: center;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.72rem;
  color: rgba(199, 210, 254, 0.88);
  text-shadow: 0 0 10px rgba(129, 140, 248, 0.2);
}

.checkout-mail__field--email .checkout-mail__input-shell {
  width: 100%;
}

.checkout-mail__label {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--text-muted, #94a3b8);
  letter-spacing: 0.03em;
}

.checkout-mail__input-shell {
  position: relative;
  border-radius: 12px;
  padding: 1px;
  background: linear-gradient(135deg, rgba(129, 140, 248, 0.45), rgba(236, 72, 153, 0.25), rgba(99, 102, 241, 0.35));
  box-shadow: 0 4px 24px rgba(79, 70, 229, 0.12);
}

.checkout-mail__input {
  display: block;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 0.85rem 1rem;
  border: none;
  border-radius: 11px;
  font-family: inherit;
  font-size: 1.02rem;
  line-height: 1.35;
  letter-spacing: 0.01em;
  color: #f8fafc;
  background: linear-gradient(180deg, rgba(17, 24, 39, 0.98) 0%, rgba(15, 23, 42, 0.94) 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07);
  appearance: none;
  -webkit-appearance: none;
  transition:
    box-shadow 0.35s ease,
    color 0.25s ease,
    letter-spacing 0.35s ease,
    text-shadow 0.35s ease;
}

.checkout-mail__input-shell--live .checkout-mail__input,
.checkout-mail__input-shell:focus-within .checkout-mail__input {
  letter-spacing: 0.03em;
  color: #fff;
  text-shadow:
    0 0 10px rgba(199, 210, 254, 0.38),
    0 0 22px rgba(99, 102, 241, 0.18);
}

.checkout-mail__input-shell--live {
  animation: checkout-mail-input-glow 2.4s ease-in-out infinite;
}

@keyframes checkout-mail-input-glow {
  0%,
  100% {
    box-shadow:
      0 4px 24px rgba(79, 70, 229, 0.14),
      0 0 0 0 rgba(99, 102, 241, 0);
  }
  50% {
    box-shadow:
      0 6px 28px rgba(79, 70, 229, 0.22),
      0 0 18px rgba(99, 102, 241, 0.16);
  }
}

@media (prefers-reduced-motion: reduce) {
  .checkout-mail__input-shell--live {
    animation: none;
  }

  .checkout-mail__input {
    transition: color 0.2s ease;
  }
}

.checkout-mail__input::placeholder {
  color: rgba(148, 163, 184, 0.72);
}

.checkout-mail__input:hover {
  color: #fff;
}

.checkout-mail__input-shell:focus-within {
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.28), 0 8px 32px rgba(79, 70, 229, 0.22);
}

.checkout-mail__input:focus {
  outline: none;
}

.checkout-mail__input:-webkit-autofill,
.checkout-mail__input:-webkit-autofill:hover,
.checkout-mail__input:-webkit-autofill:focus {
  -webkit-text-fill-color: #f8fafc !important;
  caret-color: #f8fafc;
  box-shadow: 0 0 0 100px rgba(17, 24, 39, 0.98) inset !important;
  transition: background-color 99999s ease-out;
}

.checkout-mail__input-shell--warn {
  background: linear-gradient(135deg, rgba(248, 113, 113, 0.55), rgba(239, 68, 68, 0.35));
  box-shadow: 0 0 0 1px rgba(248, 113, 113, 0.25);
}

.checkout-mail__input--warn {
  box-shadow: inset 0 0 0 1px rgba(248, 113, 113, 0.35);
}

.checkout-mail__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: center;
}

.checkout-mail__actions .btn {
  min-height: 48px;
  min-width: 140px;
}

.checkout-mail__error {
  margin: 0 0 1rem;
  padding: 0.65rem 0.85rem;
  border-radius: 10px;
  background: rgba(127, 29, 29, 0.35);
  border: 1px solid rgba(248, 113, 113, 0.35);
  color: #fecaca;
  font-size: 0.85rem;
  text-align: center;
  display: none;
}

.checkout-mail__error--show {
  display: block;
}

.checkout-mail__pay-wait {
  margin: 0 0 1.25rem;
  padding: 1rem 1.1rem;
  border-radius: 12px;
  background: rgba(56, 189, 248, 0.08);
  border: 1px solid rgba(56, 189, 248, 0.35);
}

.checkout-mail__pay-wait-title {
  margin: 0 0 0.5rem;
  font-size: 1.05rem;
  font-weight: 600;
  color: #e0f2fe;
}

.checkout-mail__pay-wait-text {
  margin: 0 0 1rem;
  font-size: 0.92rem;
  line-height: 1.5;
  color: #bae6fd;
}

.product-page__payment-reopen {
  display: inline-block;
  margin-top: 0.65rem;
  font-size: 0.88rem;
  padding: 0.45rem 0.85rem;
}

/* Фото в галерее — всегда под размер рамки, без пустого места (переопределяет общие правила) */
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center;
  display: block;
  border-radius: 10px;
  transition: transform 0.35s ease;
}

.product-page__placeholder {
  aspect-ratio: 16/9;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-muted);
  font-size: 0.95rem;
  background: rgba(15, 23, 42, 0.5);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 10px;
}

.product-page__sidebar {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

/* Glass-карточки: тарифы, системные требования, описание, «Почему выбирают» — мягкие тени и воздух */
.product-page__card {
  background: var(--surface-card);
  backdrop-filter: blur(20px) saturate(145%);
  -webkit-backdrop-filter: blur(20px) saturate(145%);
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-md);
  border: 1px solid var(--border-soft);
  box-shadow: var(--shadow-card);
  position: relative;
  overflow: hidden;
}

.product-page__card::before {
  display: none;
}

.product-page__card.product-page__card--purchase {
  padding: 1.15rem 1.25rem;
}

.product-page__section-title {
  font-size: 1.2rem;
  font-weight: 700;
  margin: 0 0 var(--space-3);
  color: var(--text-main);
  line-height: var(--lh-heading);
}

.product-page__tariff {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 3.15rem;
  padding: 0.95rem 1.1rem;
  margin-bottom: 0.65rem;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--border-soft);
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: background var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);
  font-size: 1.05rem;
  color: var(--text-main);
  position: relative;
}

.product-page__tariff:hover {
  background: rgba(99, 102, 241, 0.12);
  border-color: rgba(129, 140, 248, 0.25);
  box-shadow: 0 2px 12px rgba(99, 102, 241, 0.08);
}

/* Выбранный тариф — явное активное состояние */
.product-page__tariff--selected {
  background: rgba(99, 102, 241, 0.22);
  border-color: rgba(129, 140, 248, 0.5);
  box-shadow:
    0 0 0 1px rgba(129, 140, 248, 0.25),
    0 4px 20px rgba(99, 102, 241, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.product-page__tariff--selected::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 3px;
  height: 60%;
  min-height: 20px;
  background: var(--accent);
  border-radius: 0 2px 2px 0;
  box-shadow: 0 0 12px rgba(99, 102, 241, 0.45);
}

.product-page__tariff--selected span:last-child {
  color: var(--accent-strong);
  font-weight: 700;
}

.product-page__tariff span:last-child {
  font-weight: 600;
  color: var(--accent);
}

.product-page__tariff-trial {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 3.15rem;
  padding: 0.95rem 1.1rem;
  margin-bottom: 0.65rem;
  text-decoration: none;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(251, 191, 36, 0.35);
  border-radius: var(--radius-sm);
  transition: background var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.product-page__tariff-trial:hover {
  background: rgba(251, 191, 36, 0.1);
  border-color: rgba(251, 191, 36, 0.55);
  box-shadow: 0 4px 18px rgba(251, 191, 36, 0.14);
}

.product-page__tariff-trial-label {
  font-size: 1.05rem;
  font-weight: 700;
  background: linear-gradient(105deg, #fde68a 0%, #fbbf24 42%, #f59e0b 78%, #fcd34d 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: none;
}

.product-page__price-total {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: 0.5rem;
  margin-top: 0;
  padding: 1rem 0 0;
  border-top: 1px solid rgba(148, 163, 184, 0.15);
  box-sizing: border-box;
}

.product-page__price-total-label {
  font-weight: 800;
  font-size: clamp(0.95rem, 1.8vw, 1.08rem);
  line-height: 1.2;
  color: var(--text-main);
  flex: 1 1 auto;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.product-page__price-total-value {
  font-weight: 800;
  font-size: clamp(1.15rem, 2.2vw, 1.5rem);
  line-height: 1.2;
  color: var(--text-main);
  letter-spacing: 0.02em;
  flex: 0 0 auto;
  text-align: right;
  white-space: nowrap;
}

.product-page__buy-btn {
  display: block;
  width: 100%;
  text-align: center;
  margin-top: var(--space-3);
  min-height: 52px;
  padding: 0.85rem 1.5rem;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  border-radius: var(--radius-btn);
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: var(--accent);
  color: #f8fafc;
  box-shadow: 0 10px 32px rgba(99, 102, 241, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.12);
  transition: transform var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);
  cursor: pointer;
  position: relative;
  z-index: 1;
}

.product-page__buy-btn:hover {
  background: var(--accent-hover);
  transform: translateY(-2px) scale(1.01);
  box-shadow: 0 14px 40px rgba(99, 102, 241, 0.38), 0 0 28px rgba(99, 102, 241, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.16);
}

/* Нижняя секция: те же колонки, что и верх — описание 2fr + «почему мы» 1fr */
.product-page__description-section {
  display: grid;
  grid-template-columns: var(--product-page-cols);
  column-gap: var(--product-page-gap-x);
  row-gap: var(--product-page-gap-y);
  align-items: start;
  margin-top: 2.5rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(148, 163, 184, 0.12);
}

.product-page__description-section > .product-page__card:not(.product-page__why) {
  grid-column: 1 / span 2;
  align-self: start;
}

.product-page__description-section > .product-page__why {
  grid-column: 3;
  align-self: start;
  height: auto;
  min-height: 0;
}

.product-page__description-section > .product-page__card {
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: auto;
}

@media (max-width: 768px) {
  .product-page__description-section {
    grid-template-columns: 1fr;
    row-gap: 1.35rem;
  }

  .product-page__description-section > .product-page__card:not(.product-page__why),
  .product-page__description-section > .product-page__why {
    grid-column: auto;
    height: auto;
  }
}

.product-page__bottom-section {
  display: flex;
  gap: 2rem;
  margin-top: 2rem;
}

.product-page__description {
  flex: 2;
  min-width: 0;
}

.product-page__description p {
  margin: 0 0 1.25rem 0;
  font-size: var(--text-sm);
  line-height: var(--lh-body);
  color: var(--text-main);
}

.product-page__requirements {
  flex: 1;
  min-width: 0;
}

.product-page__list {
  margin: 0.35rem 0 0 0;
  padding-left: 1.25rem;
  font-size: var(--text-sm);
  line-height: var(--lh-body);
  color: var(--text-main);
}

.product-page__list li {
  margin-bottom: 0.35rem;
}

/* Подсветка ключей в системных требованиях (как на тестовой странице) */
.product-page__key {
  color: var(--accent);
  font-weight: 700;
  margin-right: 0.25rem;
}

/* Блок «Почему выбирают» — высота по контенту, не тянется за соседним блоком */
.product-page__why {
  align-self: start;
}
.product-page__why-text {
  margin: 0;
  font-size: var(--text-sm);
  line-height: var(--lh-body);
  color: var(--text-main);
  white-space: pre-line;
}
.product-page__why-text br {
  display: block;
  content: "";
  margin-top: 0.25rem;
}

.product-page__why-subline {
  display: block;
  margin-top: 0.2rem;
  padding-left: 1rem;
  font-size: 0.9em;
  color: var(--text-muted);
  line-height: var(--lh-body);
}

/* Список функционала — аккордеон: по умолчанию закрыт, только название + кнопка */
.product-page__list--func {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.product-page__func-item {
  list-style: none;
  margin: 0;
  padding: 0;
  min-width: 0;
}

.product-page__func-details {
  --func-accent: #818cf8;
  --func-glow: rgba(129, 140, 248, 0.14);
  border-radius: 12px;
  background: rgba(15, 23, 42, 0.55);
  border: 1px solid rgba(148, 163, 184, 0.16);
  box-shadow:
    inset 3px 0 0 var(--func-accent),
    0 0 22px var(--func-glow),
    0 0 42px var(--func-glow);
  overflow: hidden;
  transition:
    border-color var(--transition-fast),
    box-shadow var(--transition-fast),
    background var(--transition-fast);
}

.product-page__func-details[open] {
  background: rgba(15, 23, 42, 0.72);
  border-color: color-mix(in srgb, var(--func-accent) 28%, rgba(148, 163, 184, 0.16));
  box-shadow:
    inset 3px 0 0 var(--func-accent),
    0 0 28px var(--func-glow),
    0 0 52px var(--func-glow);
}

.product-page__func-item--esp .product-page__func-details {
  --func-accent: #818cf8;
  --func-glow: rgba(129, 140, 248, 0.16);
}

.product-page__func-item--zombie .product-page__func-details {
  --func-accent: #a78bfa;
  --func-glow: rgba(167, 139, 250, 0.16);
}

.product-page__func-item--aim .product-page__func-details {
  --func-accent: #34d399;
  --func-glow: rgba(52, 211, 153, 0.16);
}

.product-page__func-item--radar .product-page__func-details {
  --func-accent: #22d3ee;
  --func-glow: rgba(34, 211, 238, 0.15);
}

.product-page__func-item--loot .product-page__func-details {
  --func-accent: #fbbf24;
  --func-glow: rgba(251, 191, 36, 0.14);
}

.product-page__func-item--misc .product-page__func-details {
  --func-accent: #c084fc;
  --func-glow: rgba(192, 132, 252, 0.16);
}

.product-page__func-item--exploit .product-page__func-details {
  --func-accent: #fb7185;
  --func-glow: rgba(251, 113, 133, 0.15);
}

.product-page__func-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.75rem 0.85rem 0.75rem 0.95rem;
  cursor: pointer;
  list-style: none;
  user-select: none;
  -webkit-user-select: none;
}

.product-page__func-summary::-webkit-details-marker {
  display: none;
}

.product-page__func-summary::marker {
  content: "";
}

.product-page__func-summary:focus {
  outline: none;
}

.product-page__func-summary:focus-visible {
  outline: 2px solid rgba(99, 102, 241, 0.45);
  outline-offset: -2px;
  border-radius: 10px;
}

.product-page__func-name {
  display: block;
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--func-accent);
  text-shadow: 0 0 16px var(--func-glow);
  line-height: var(--lh-heading);
  white-space: nowrap;
}

.product-page__func-toggle {
  flex-shrink: 0;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 8px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: rgba(30, 41, 59, 0.65);
  position: relative;
  transition:
    transform var(--transition-fast),
    border-color var(--transition-fast),
    background var(--transition-fast);
}

.product-page__func-toggle::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 0.45rem;
  height: 0.45rem;
  border-right: 2px solid rgba(226, 232, 240, 0.9);
  border-bottom: 2px solid rgba(226, 232, 240, 0.9);
  transform: translate(-50%, -65%) rotate(45deg);
  transition: transform var(--transition-fast);
}

.product-page__func-details[open] .product-page__func-toggle {
  border-color: color-mix(in srgb, var(--func-accent) 42%, rgba(148, 163, 184, 0.22));
  background: color-mix(in srgb, var(--func-accent) 18%, rgba(30, 41, 59, 0.65));
  box-shadow: 0 0 12px var(--func-glow);
}

.product-page__func-details[open] .product-page__func-toggle::before {
  transform: translate(-50%, -35%) rotate(225deg);
}

.product-page__func-body {
  padding: 0 0.95rem 0.85rem;
  border-top: 1px solid rgba(148, 163, 184, 0.1);
  animation: product-page-func-open 0.22s ease-out;
}

@keyframes product-page-func-open {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.product-page__func-desc {
  display: block;
  margin-top: 0.65rem;
  font-size: 0.9rem;
  line-height: var(--lh-body);
  color: var(--text-muted);
  overflow-wrap: anywhere;
}

.product-page__func-desc--plain {
  display: block;
  margin-top: 0.65rem;
  font-size: 0.9rem;
  line-height: 1.45;
  color: rgba(226, 232, 240, 0.92);
  white-space: pre-line;
  overflow-wrap: anywhere;
}

.product-page__func-desc--empty {
  display: block;
  margin-top: 0.65rem;
  font-size: 0.85rem;
  color: var(--text-muted);
  font-style: italic;
}

.product-page__func-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 10.5rem), 1fr));
  gap: 0.45rem;
  margin-top: 0.65rem;
}

.product-page__func-mini {
  display: block;
  padding: 0.45rem 0.62rem;
  font-size: 0.78rem;
  line-height: 1.35;
  color: rgba(226, 232, 240, 0.95);
  background: rgba(51, 65, 85, 0.45);
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 9px;
  box-shadow:
    0 1px 2px rgba(0, 0, 0, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
  overflow-wrap: anywhere;
  transition:
    border-color var(--transition-fast),
    background var(--transition-fast);
}

.product-page__func-item--esp .product-page__func-mini {
  background: rgba(99, 102, 241, 0.14);
  border-color: rgba(129, 140, 248, 0.38);
  color: #dbeafe;
  box-shadow: 0 0 10px rgba(129, 140, 248, 0.12);
}

.product-page__func-item--zombie .product-page__func-mini {
  background: rgba(139, 92, 246, 0.14);
  border-color: rgba(167, 139, 250, 0.38);
  color: #ede9fe;
  box-shadow: 0 0 10px rgba(167, 139, 250, 0.12);
}

.product-page__func-item--aim .product-page__func-mini {
  background: rgba(16, 185, 129, 0.14);
  border-color: rgba(52, 211, 153, 0.38);
  color: #bbf7d0;
  box-shadow: 0 0 10px rgba(52, 211, 153, 0.12);
}

.product-page__func-item--radar .product-page__func-mini {
  background: rgba(6, 182, 212, 0.14);
  border-color: rgba(34, 211, 238, 0.38);
  color: #cffafe;
  box-shadow: 0 0 10px rgba(34, 211, 238, 0.12);
}

.product-page__func-item--loot .product-page__func-mini {
  background: rgba(245, 158, 11, 0.14);
  border-color: rgba(251, 191, 36, 0.38);
  color: #fef3c7;
  box-shadow: 0 0 10px rgba(251, 191, 36, 0.12);
}

.product-page__func-item--misc .product-page__func-mini {
  background: rgba(168, 85, 247, 0.14);
  border-color: rgba(192, 132, 252, 0.38);
  color: #f3e8ff;
  box-shadow: 0 0 10px rgba(192, 132, 252, 0.12);
}

.product-page__func-item--exploit .product-page__func-mini {
  background: rgba(244, 63, 94, 0.14);
  border-color: rgba(251, 113, 133, 0.38);
  color: #ffe4e6;
  box-shadow: 0 0 10px rgba(251, 113, 133, 0.12);
}

.product-page__func-desc--chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.6rem;
  margin-top: 0.65rem;
}

.product-page__func-chip {
  display: inline-block;
  padding: 0.25rem 0.6rem;
  font-size: 0.8rem;
  line-height: var(--lh-body);
  color: rgba(226, 232, 240, 0.95);
  background: rgba(51, 65, 85, 0.4);
  border: 1px solid rgba(148, 163, 184, 0.2);
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
}

.product-page__func-item--esp .product-page__func-chip {
  background: rgba(99, 102, 241, 0.2);
  border-color: rgba(129, 140, 248, 0.5);
  color: #c7d2fe;
  box-shadow: 0 0 10px rgba(129, 140, 248, 0.1);
}

.product-page__func-item--zombie .product-page__func-chip {
  background: rgba(139, 92, 246, 0.2);
  border-color: rgba(167, 139, 250, 0.5);
  color: #ddd6fe;
  box-shadow: 0 0 10px rgba(167, 139, 250, 0.1);
}

.product-page__func-item--aim .product-page__func-chip {
  background: rgba(16, 185, 129, 0.2);
  border-color: rgba(52, 211, 153, 0.5);
  color: #6ee7b7;
  box-shadow: 0 0 10px rgba(52, 211, 153, 0.1);
}

.product-page__func-item--radar .product-page__func-chip {
  background: rgba(6, 182, 212, 0.2);
  border-color: rgba(34, 211, 238, 0.5);
  color: #67e8f9;
  box-shadow: 0 0 10px rgba(34, 211, 238, 0.1);
}

.product-page__func-item--loot .product-page__func-chip {
  background: rgba(245, 158, 11, 0.2);
  border-color: rgba(251, 191, 36, 0.5);
  color: #fde68a;
  box-shadow: 0 0 10px rgba(251, 191, 36, 0.1);
}

.product-page__func-item--misc .product-page__func-chip {
  background: rgba(168, 85, 247, 0.2);
  border-color: rgba(192, 132, 252, 0.5);
  color: #e9d5ff;
  box-shadow: 0 0 10px rgba(192, 132, 252, 0.1);
}

.product-page__func-item--exploit .product-page__func-chip {
  background: rgba(244, 63, 94, 0.2);
  border-color: rgba(251, 113, 133, 0.5);
  color: #fecdd3;
  box-shadow: 0 0 10px rgba(251, 113, 133, 0.1);
}

@supports not ((backdrop-filter: blur(2px)) or (-webkit-backdrop-filter: blur(2px))) {
  .product-page__func-details {
    background: #101b34;
  }
}

@media (max-width: 1200px) {
  .product-page__func-name {
    white-space: normal;
  }
}

@media (prefers-reduced-motion: reduce) {
  .product-page__func-body {
    animation: none;
  }

  .product-page__func-toggle,
  .product-page__func-toggle::before {
    transition: none;
  }
}

@media (forced-colors: active) {
  .product-page__func-details {
    border: 1px solid CanvasText;
    background: Canvas;
    box-shadow: none;
  }

  .product-page__func-name,
  .product-page__func-desc,
  .product-page__func-chip,
  .product-page__func-mini {
    color: CanvasText !important;
    -webkit-text-fill-color: CanvasText !important;
  }
}

.product-page__nav {
  margin: 3rem 0 0 0;
  padding-top: 2rem;
  border-top: 1px solid rgba(148, 163, 184, 0.1);
}

.product-page__nav .btn {
  margin-right: 0.75rem;
  margin-bottom: 0.5rem;
}

@media (max-width: 900px) {
  .product-page__top-section {
    flex-direction: column;
  }
  .product-page__bottom-section {
    flex-direction: column;
  }
}

.product-page__nav .btn--ghost {
  color: var(--accent);
}
.product-page__nav .btn--ghost:hover {
  color: var(--accent-strong);
  border-color: var(--accent);
}

.section__title--catalog.section__title--large {
  font-size: 2rem;
}
.section__title--catalog.section__title--small {
  font-size: 1.2rem;
}
.section__text--catalog.section__text--large {
  font-size: 1.1rem;
}
.section__text--catalog.section__text--small {
  font-size: 0.85rem;
}

/* Выделенный текст в каталоге: тон сайта, лёгкий перелив, не ярко + обводка */
.catalog-text-highlight {
  color: #e0e7ff;
  font-weight: 600;
}

.cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-3);
}

.card {
  padding: var(--space-3);
  border-radius: var(--radius-card);
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border: var(--glass-border);
  box-shadow: var(--shadow-card), var(--glass-shadow);
  position: relative;
  overflow: hidden;
  transition: transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast);
}

.card:hover {
  transform: translateY(-4px);
  border-color: rgba(99, 102, 241, 0.2);
  box-shadow: var(--shadow-card-hover), var(--glass-shadow);
}

.card::before {
  content: "";
  position: absolute;
  inset: -40%;
  background: radial-gradient(circle at 0 0, rgba(129, 140, 248, 0.26), transparent 60%);
  opacity: 0;
  transition: opacity var(--transition-normal), transform var(--transition-normal);
}

.card:hover::before {
  opacity: 1;
  transform: translate3d(14px, -10px, 0);
}

.card__title {
  margin: 0 0 var(--space-1);
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.card__title::before {
  content: "";
  width: 1.35em;
  height: 1.35em;
  flex-shrink: 0;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0.85;
}

.cards .card:nth-child(1) .card__title::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23818cf8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3C/svg%3E");
}

.cards .card:nth-child(2) .card__title::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2334d399' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='13 2 3 14 12 14 11 22 21 10 12 10 13 2'/%3E%3C/svg%3E");
}

.cards .card:nth-child(3) .card__title::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a78bfa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E");
}

.card__text {
  margin: 0;
  font-size: 0.875rem;
  line-height: var(--lh-body);
  color: var(--text-muted);
}

/* Главная: предупреждение об ответственности (текст фиксированный) */
.section.liability-warning {
  margin-bottom: 48px;
}

.section.liability-warning .container {
  width: 87%;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 768px) {
  .section.liability-warning {
    margin-bottom: 36px;
  }
}

@media (max-width: 900px) {
  .section.liability-warning .container {
    width: 88%;
    max-width: 88%;
  }
}

@media (max-width: 560px) {
  .section.liability-warning .container {
    width: 100%;
    max-width: 100%;
  }
}

.lw-banner {
  position: relative;
  padding: 0.95rem 1.15rem 1rem 1.2rem;
  border-radius: 16px;
  background:
    radial-gradient(ellipse 120% 80% at 0% 50%, rgba(239, 68, 68, 0.07), transparent 55%),
    linear-gradient(145deg, rgba(30, 36, 48, 0.94) 0%, rgba(16, 20, 30, 0.98) 100%);
  border: 1px solid rgba(148, 163, 184, 0.14);
  box-shadow:
    0 10px 32px rgba(0, 0, 0, 0.32),
    inset 0 1px 0 rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(14px) saturate(130%);
  -webkit-backdrop-filter: blur(14px) saturate(130%);
  overflow: hidden;
}

.lw-banner__glow {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  height: 100%;
  width: 3px;
  border-radius: 16px 0 0 16px;
  background: linear-gradient(180deg, #fecaca 0%, #ef4444 45%, #991b1b 100%);
  box-shadow:
    0 0 10px rgba(239, 68, 68, 0.95),
    0 0 22px rgba(239, 68, 68, 0.6),
    0 0 40px rgba(220, 38, 38, 0.35);
  pointer-events: none;
}

.lw-banner__glow::after {
  content: "";
  position: absolute;
  left: -8px;
  top: 0;
  bottom: 0;
  width: 28px;
  background: radial-gradient(ellipse at left center, rgba(239, 68, 68, 0.28), transparent 70%);
  filter: blur(6px);
}

.lw-banner__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.55rem;
}

.lw-banner__head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.lw-banner__icon {
  flex-shrink: 0;
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.78rem;
  font-weight: 700;
  font-style: normal;
  color: #fca5a5;
  background: rgba(127, 29, 29, 0.22);
  border: 1px solid rgba(248, 113, 113, 0.28);
  box-shadow:
    0 0 12px rgba(239, 68, 68, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.lw-banner__title {
  margin: 0;
  font-size: clamp(0.8rem, 1.6vw, 0.9rem);
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.02em;
  color: #f8fafc;
  text-wrap: balance;
}

.lw-banner__body {
  margin: 0;
  max-width: 36rem;
  font-size: clamp(0.72rem, 1.4vw, 0.8rem);
  font-weight: 400;
  line-height: 1.5;
  color: #94a3b8;
  text-wrap: pretty;
}

.lw-banner__body::before {
  content: "";
  display: block;
  width: min(4.5rem, 28%);
  height: 1px;
  margin: 0.15rem auto 0.6rem;
  background: linear-gradient(90deg, transparent, rgba(148, 163, 184, 0.35), transparent);
}

.lw-banner__closing {
  display: block;
  margin-top: 0.45rem;
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: #64748b;
}

@media (max-width: 560px) {
  .lw-banner {
    padding: 0.85rem 0.9rem 0.9rem 1rem;
  }

  .lw-banner__head {
    flex-direction: column;
    gap: 0.35rem;
  }
}

/* Footer card — compact height */
.footer {
  margin-top: var(--space-3);
  padding: var(--space-2) 0 var(--space-2);
  background: transparent;
  border-top: none;
}

.footer__shell {
  max-width: var(--layout-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--layout-gutter);
  padding-right: var(--layout-gutter);
  box-sizing: border-box;
}

.footer__shell.container,
.container.footer__shell {
  position: relative;
  overflow: hidden;
  border-radius: 1.1rem;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background:
    radial-gradient(120% 80% at 50% -40%, rgba(106, 92, 255, 0.14), transparent 58%),
    color-mix(in oklab, rgba(10, 13, 20, 0.92) 72%, transparent);
  backdrop-filter: blur(22px) saturate(145%);
  -webkit-backdrop-filter: blur(22px) saturate(145%);
  box-shadow:
    0 8px 40px rgba(0, 0, 0, 0.35),
    0 0 0 1px rgba(129, 140, 248, 0.06) inset,
    0 1px 0 rgba(255, 255, 255, 0.04) inset,
    var(--ui-edge-glow);
}

.footer__shell.container::after,
.container.footer__shell::after {
  content: "";
  position: absolute;
  inset: auto 12% -45%;
  height: 55%;
  border-radius: 50%;
  pointer-events: none;
  background: radial-gradient(circle, rgba(99, 102, 241, 0.12) 0%, transparent 68%);
  filter: blur(18px);
}

.container.footer__shell {
  padding: clamp(1.15rem, 2.2vw, 1.65rem) clamp(1.15rem, 2.8vw, 1.85rem) 0;
}

.footer__body {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(14rem, 1.4fr) minmax(8rem, 1fr) minmax(10rem, 1.15fr);
  gap: clamp(1.25rem, 3.2vw, 2.75rem);
  align-items: start;
  padding-bottom: clamp(0.85rem, 1.8vw, 1.35rem);
}

.footer__head {
  position: relative;
  z-index: 1;
  margin-bottom: 0;
  min-width: 0;
}

.footer__head .footer__brand-link {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  text-decoration: none;
  color: inherit;
}

.footer__head .footer__logo .logo__svg,
.footer__head .footer__logo-svg {
  width: 52px;
  height: 52px;
  filter:
    drop-shadow(0 0 8px rgba(106, 92, 255, 0.32))
    drop-shadow(0 0 20px rgba(129, 140, 248, 0.18));
}

.footer__head .footer__logo-text .logo__title {
  font-size: 1.08rem;
  font-weight: 700;
  letter-spacing: 0.14em;
}

.footer__head .footer__logo-text .logo__title:not(.logo__title--accent):not(.logo__title--gradient) {
  text-shadow:
    0 0 18px rgba(241, 245, 249, 0.12),
    0 0 36px rgba(106, 92, 255, 0.1);
}

.footer__head .footer__logo-text .logo__title--accent,
.footer__head .footer__logo-text .logo__title--gradient {
  filter: drop-shadow(0 0 10px rgba(129, 140, 248, 0.42));
}

.footer__head .footer__slogan {
  margin: 0.65rem 0 0;
  max-width: none;
  font-size: 0.8125rem;
  font-weight: 400;
  letter-spacing: 0.025em;
  line-height: 1.5;
  color: rgba(148, 163, 184, 0.92);
  text-shadow: 0 0 22px rgba(106, 92, 255, 0.08);
}

.footer__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(7.5rem, 1fr) minmax(9rem, 1.35fr);
  gap: clamp(1.15rem, 2.8vw, 2.35rem);
  align-items: start;
  padding-bottom: clamp(0.85rem, 1.8vw, 1.35rem);
}

.footer__social-label {
  margin: 0 0 0.75rem;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(199, 210, 254, 0.82);
  text-shadow: 0 0 16px rgba(129, 140, 248, 0.28);
}

.footer__social-btns {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.footer__social-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.24);
  background: rgba(15, 18, 28, 0.78);
  color: rgba(203, 213, 225, 0.9);
  text-decoration: none;
  box-shadow: 0 0 0 rgba(106, 92, 255, 0);
  transition:
    color var(--transition-fast),
    border-color var(--transition-fast),
    background var(--transition-fast),
    transform var(--transition-fast),
    box-shadow var(--transition-fast);
}

.footer__social-btn svg {
  width: 1.15rem;
  height: 1.15rem;
  display: block;
}

.footer__social-btn:hover {
  color: #e0e7ff;
  border-color: rgba(129, 140, 248, 0.55);
  background: rgba(106, 92, 255, 0.18);
  transform: translateY(-1px);
  box-shadow:
    0 0 14px rgba(106, 92, 255, 0.38),
    0 0 28px rgba(129, 140, 248, 0.14);
}

.footer__cta-inner {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 0.85rem;
  min-height: 9.5rem;
  padding: 1.15rem 1rem 1rem;
  border-radius: 1rem;
  background: linear-gradient(135deg, rgba(106, 92, 255, 0.88), rgba(99, 102, 241, 0.78));
  overflow: hidden;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.footer__cta-title {
  margin: 0;
  max-width: 9.5rem;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.35;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.96);
}

.footer__cta-btn {
  display: inline-flex;
  align-items: center;
  padding: 0.45rem 0.85rem;
  border-radius: 0.55rem;
  background: rgba(10, 13, 20, 0.55);
  border: 1px solid rgba(255, 255, 255, 0.14);
  color: rgba(255, 255, 255, 0.95);
  font-size: 0.75rem;
  font-weight: 600;
  text-decoration: none;
  transition:
    background var(--transition-fast),
    border-color var(--transition-fast),
    transform var(--transition-fast);
}

.footer__cta-btn:hover {
  background: rgba(10, 13, 20, 0.72);
  border-color: rgba(255, 255, 255, 0.22);
  transform: translateY(-1px);
}

.footer__cta-art {
  position: absolute;
  right: -0.35rem;
  bottom: -0.35rem;
  width: 5.5rem;
  height: 5.5rem;
  opacity: 0.55;
  pointer-events: none;
}

.footer__cta-art svg {
  width: 100%;
  height: 100%;
  display: block;
}

.footer__list--cms {
  margin-top: 0.15rem;
}

.footer__list--cms:empty {
  display: none;
  margin: 0;
}

.container.footer__inner,
.footer__inner {
  display: grid;
  grid-template-columns: minmax(14rem, 1.25fr) auto;
  max-width: var(--layout-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--layout-gutter);
  padding-right: var(--layout-gutter);
  gap: var(--header-inner-gap, 0.75rem) clamp(1.5rem, 3vw, 2.5rem);
  align-items: start;
  padding-top: var(--header-inner-pad-y, 0.85rem);
  padding-bottom: var(--header-inner-pad-y, 0.85rem);
  min-width: 0;
  box-sizing: border-box;
  font-size: 0.8rem;
  color: rgba(148, 163, 184, 0.78);
  overflow: visible;
}

.footer__shell .footer__body ~ .footer__bar,
.footer__shell .footer__grid ~ .footer__bar,
.footer__shell > .footer__bar {
  position: relative;
  z-index: 1;
  margin-left: calc(-1 * clamp(1.15rem, 2.8vw, 1.85rem));
  margin-right: calc(-1 * clamp(1.15rem, 2.8vw, 1.85rem));
  padding-left: clamp(1.15rem, 2.8vw, 1.85rem);
  padding-right: clamp(1.15rem, 2.8vw, 1.85rem);
  border-top-color: rgba(129, 140, 248, 0.14);
  box-shadow: 0 -1px 0 rgba(129, 140, 248, 0.06);
}

@media (max-width: 1100px) {
  .footer__body {
    grid-template-columns: 1fr 1fr;
    gap: clamp(1.15rem, 2.5vw, 2rem);
  }

  .footer__body .footer__head {
    grid-column: 1 / -1;
  }

  .footer__grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 820px) {
  .footer__body {
    grid-template-columns: 1fr;
  }

  .footer__grid {
    grid-template-columns: 1fr;
  }
}

.footer__support-wrap,
.footer__col--support,
.footer__col--docs,
.footer__col--contacts,
.footer__col--sections {
  display: none !important;
}

.footer__shell .footer__col--nav,
.footer__shell .footer__col--extra {
  display: flex;
  min-width: 0;
}

.footer__shell .footer__col--social {
  display: none !important;
}

.footer__brand {
  max-width: 22rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
}

.footer__brand-link {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  text-decoration: none;
  color: inherit;
}

.footer__brand-link:hover .logo__title:not(.logo__title--accent):not(.logo__title--gradient) {
  color: rgba(241, 245, 249, 0.96) !important;
  -webkit-text-fill-color: rgba(241, 245, 249, 0.96) !important;
}

.footer__brand-link:hover .logo__title--accent,
.footer__brand-link:hover .logo__title--gradient {
  background: linear-gradient(90deg, rgba(106, 92, 255, 0.98), rgba(129, 140, 248, 0.98)) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}

.footer__logo {
  margin-bottom: 0;
  flex-shrink: 0;
  line-height: 0;
}

.footer__logo .logo__svg,
.footer__logo-svg {
  width: 44px;
  height: 44px;
  display: block;
  filter: drop-shadow(0 0 8px rgba(106, 92, 255, 0.18));
}

.footer__logo .logo__svg linearGradient stop,
.footer__logo-svg linearGradient stop {
  stop-color: var(--emoji-purple) !important;
}

.footer__logo .logo__svg linearGradient stop:last-child,
.footer__logo-svg linearGradient stop:last-child {
  stop-color: rgba(129, 140, 248, 0.98) !important;
}

.footer__logo-text {
  display: flex;
  flex-wrap: nowrap;
  align-items: baseline;
  white-space: nowrap;
}

.footer__logo-text .logo__title {
  font-size: 0.92rem;
  letter-spacing: 0.1em;
}

.footer__logo-text .logo__title:not(.logo__title--accent):not(.logo__title--gradient) {
  color: rgba(241, 245, 249, 0.96) !important;
  -webkit-text-fill-color: rgba(241, 245, 249, 0.96) !important;
}

.footer__logo-text .logo__title--accent,
.footer__logo-text .logo__title--gradient {
  background: linear-gradient(90deg, rgba(106, 92, 255, 0.98), rgba(129, 140, 248, 0.98)) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}

.footer__name {
  margin: 0 0 0.2rem;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.15;
  text-transform: uppercase;
  color: var(--emoji-purple);
  text-shadow:
    0 0 10px rgba(106, 92, 255, 0.12),
    0 0 18px rgba(106, 92, 255, 0.06);
}

.footer__slogan {
  margin: 0.45rem 0 0;
  max-width: 18rem;
  font-size: 0.78rem;
  line-height: 1.4;
  color: var(--text-muted);
}

.footer__slogan:empty {
  display: none;
}

.footer__contact-row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.2rem;
  margin: 0.7rem 0 0;
  padding: 0;
  font-size: 0.8125rem;
}

.footer__contact-label {
  display: block;
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--text-muted);
  line-height: 1.2;
}

.footer__contact-row .footer__link {
  display: inline-block;
  line-height: 1.25;
}

.footer__support-wrap {
  margin-top: 0.65rem;
  width: 100%;
}

.footer__heading--inline {
  margin: 0 0 0.35rem;
}

.footer__support-wrap .footer__list.support-channels {
  margin: 0;
  gap: 0.35rem;
}

.footer__support-wrap .support-channel {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.footer__support-wrap .support-channel__icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  background-size: 52%;
}

.footer__support-wrap .support-channel__body {
  display: flex;
  flex-direction: column;
  gap: 0.05rem;
  min-width: 0;
}

.footer__support-wrap .support-channel__label {
  font-size: 0.5625rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(148, 163, 184, 0.78);
  line-height: 1.15;
}

.footer__support-wrap .support-channel__value,
.footer__support-wrap .support-channel__value--plain {
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.2;
  color: rgba(241, 245, 249, 0.96);
  word-break: break-word;
}


.footer__bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.45rem 1.25rem;
  padding: 0.55rem var(--layout-gutter);
  border-top: 1px solid rgba(148, 163, 184, 0.16);
}

.footer__shell .footer__copyright {
  color: rgba(148, 163, 184, 0.78);
  text-shadow: 0 0 12px rgba(106, 92, 255, 0.08);
}

@media (prefers-reduced-motion: reduce) {
  .footer__shell .footer__link:hover,
  .footer__social-btn:hover {
    transform: none;
  }
}

.footer__copyright {
  margin: 0;
  padding: 0;
  font-size: 0.625rem;
  letter-spacing: 0.05em;
  font-family: ui-monospace, "Cascadia Code", "Segoe UI Mono", Consolas, monospace;
  color: rgba(148, 163, 184, 0.7);
  flex-shrink: 0;
}

.footer__legal-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0;
  min-width: 0;
}

.footer__legal-nav .footer__legal-link {
  font-size: 0.625rem;
  letter-spacing: 0.03em;
  color: rgba(148, 163, 184, 0.72);
  text-decoration: none;
  white-space: nowrap;
  transition: color var(--transition-fast);
}

.footer__legal-nav .footer__legal-link + .footer__legal-link::before {
  content: "·";
  margin: 0 0.55rem;
  color: rgba(148, 163, 184, 0.32);
  pointer-events: none;
}

.footer__legal-nav .footer__legal-link:hover {
  color: rgba(199, 210, 254, 0.95);
}

.footer__legal-nav .footer__legal-link[aria-current="page"] {
  color: rgba(165, 180, 252, 0.95);
  pointer-events: none;
}

.footer__col {
  display: flex;
  flex-direction: column;
  gap: 0;
  min-width: 0;
}

/* Mobile/tablet: скрываем основной футер (заменён на bottom sheet меню). */
@media (max-width: 768px) {
  footer.footer,
  .footer {
    display: none !important;
  }
}

/* Fallback: если meta viewport не обновлён, mobile media query может не сработать.
   Тогда прячем футер на touch-устройствах, не затрагивая десктоп с hover/mouse. */
@media (hover: none) and (pointer: coarse) {
  footer.footer,
  .footer {
    display: none !important;
  }
}

/* Fallback for touch devices: hide desktop header nav on phones even if viewport meta is stale. */
@media (hover: none) and (pointer: coarse) {
  .header .nav,
  .header .header__social {
    display: none !important;
  }

  .mobile-burger {
    display: inline-flex !important;
  }
}

/* Mobile bottom menu + sheet (only mobile/tablet) */
@media (max-width: 768px) {
  :root {
    --mnav-bar-h: 56px;
  }

  body {
    padding-bottom: calc(var(--mnav-bar-h) + env(safe-area-inset-bottom));
  }

  .mnav {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 999;
    padding: 10px var(--layout-gutter) calc(10px + env(safe-area-inset-bottom));
    background: linear-gradient(to top, rgba(9, 11, 15, 0.96), rgba(9, 11, 15, 0.0));
    pointer-events: none;
  }

  .mnav__btn {
    pointer-events: auto;
    width: 100%;
    min-height: var(--mnav-bar-h);
    border-radius: 16px;
    border: 1px solid rgba(148, 163, 184, 0.18);
    background: rgba(17, 24, 39, 0.86);
    backdrop-filter: blur(16px) saturate(140%);
    -webkit-backdrop-filter: blur(16px) saturate(140%);
    box-shadow: var(--shadow-sm);
    color: rgba(241, 245, 249, 0.96);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    -webkit-tap-highlight-color: transparent;
  }

  .mnav__btn-ico {
    width: 18px;
    height: 18px;
    border-radius: 6px;
    background: radial-gradient(circle at 30% 30%, rgba(106, 92, 255, 0.9), rgba(99, 102, 241, 0.25));
    box-shadow: 0 0 0 1px rgba(129, 140, 248, 0.18), 0 0 24px rgba(99, 102, 241, 0.16);
  }

  .mnav-sheet {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: none;
  }

  .mnav-sheet--open {
    display: block;
  }

  .mnav-sheet__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    backdrop-filter: blur(2px);
  }

  .mnav-sheet__panel {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    max-height: min(78vh, 680px);
    background: rgba(10, 13, 20, 0.92);
    border-top: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 18px 18px 0 0;
    box-shadow: var(--shadow-md);
    transform: translateY(8px);
    animation: mnav-sheet-in 0.22s var(--ease-premium) both;
    outline: none;
    padding-bottom: env(safe-area-inset-bottom);
  }

  @keyframes mnav-sheet-in {
    from {
      transform: translateY(22px);
      opacity: 0.92;
    }
    to {
      transform: translateY(0);
      opacity: 1;
    }
  }

  .mnav-sheet__handle {
    width: 46px;
    height: 5px;
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.35);
    margin: 10px auto 6px;
  }

  .mnav-sheet__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.4rem var(--layout-gutter) 0.75rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.12);
  }

  .mnav-sheet__title {
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-size: 0.78rem;
    color: rgba(241, 245, 249, 0.95);
  }

  .mnav-sheet__close {
    min-width: 44px;
    min-height: 44px;
    border-radius: 14px;
    border: 1px solid rgba(148, 163, 184, 0.16);
    background: rgba(15, 23, 42, 0.28);
    color: rgba(241, 245, 249, 0.9);
    font-size: 1.35rem;
    line-height: 1;
  }

  .mnav-sheet__body {
    padding: 0.85rem var(--layout-gutter) 1.1rem;
    display: grid;
    gap: 0.75rem;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    max-height: calc(min(78vh, 680px) - 64px);
  }

  .mnav-acc {
    border: 1px solid rgba(148, 163, 184, 0.14);
    border-radius: 14px;
    background: rgba(15, 23, 42, 0.22);
    overflow: hidden;
  }

  .mnav-acc__summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.8rem 0.9rem;
    min-height: 44px;
    color: rgba(241, 245, 249, 0.94);
    -webkit-tap-highlight-color: transparent;
  }

  .mnav-acc__summary::-webkit-details-marker {
    display: none;
  }

  .mnav-acc__title {
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }

  .mnav-acc__chev {
    display: inline-flex;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    margin: -0.4rem -0.45rem -0.4rem 0;
    border-radius: 12px;
    color: rgba(148, 163, 184, 0.9);
    transition: transform 0.22s ease, color 0.22s ease;
  }

  .mnav-acc[open] .mnav-acc__chev {
    transform: rotate(180deg);
    color: rgba(241, 245, 249, 0.95);
  }

  .mnav-acc__content {
    padding: 0 0.9rem 0.95rem;
    display: grid;
    gap: 0.35rem;
    color: rgba(148, 163, 184, 0.78);
  }

  .mnav-acc__content a,
  .mnav-acc__content .footer__link,
  .mnav-acc__content .footer__list a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    word-break: break-word;
    overflow-wrap: anywhere;
  }

  .mnav-lock body {
    overflow: hidden;
    touch-action: none;
  }
}

.footer__shell .footer__heading::before {
  display: none;
}

.footer__shell .footer__heading {
  margin: 0 0 0.85rem;
  padding-bottom: 0.55rem;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(224, 231, 255, 0.94);
  text-shadow: 0 0 18px rgba(129, 140, 248, 0.22);
  position: relative;
}

.footer__shell .footer__heading::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 1.85rem;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(165, 180, 252, 0.9), rgba(106, 92, 255, 0.15));
  box-shadow: 0 0 10px rgba(129, 140, 248, 0.45);
}

.footer__shell .footer__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.footer__shell .footer__link {
  color: rgba(148, 163, 184, 0.9);
  text-decoration: none;
  font-size: 0.8125rem;
  font-weight: 400;
  letter-spacing: 0.015em;
  line-height: 1.4;
  transition:
    color 0.22s ease,
    text-shadow 0.22s ease,
    transform 0.22s ease;
}

.footer__shell .footer__link:hover {
  color: #e0e7ff;
  text-shadow: 0 0 14px rgba(165, 180, 252, 0.55);
  transform: translateX(3px);
}

.footer__shell .footer__link[aria-current="page"] {
  color: #c7d2fe;
  text-shadow: 0 0 12px rgba(165, 180, 252, 0.35);
  pointer-events: none;
}

.footer__heading {
  margin: 0 0 0.15rem;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-main);
  display: flex;
  align-items: center;
  gap: 0.35rem;
  line-height: 1.2;
}

.footer__heading::before {
  content: "";
  width: 1em;
  height: 1em;
  flex-shrink: 0;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0.9;
}

.footer__col--contacts .footer__heading::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236366f1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'/%3E%3Cpolyline points='22,6 12,13 2,6'/%3E%3C/svg%3E");
}

.footer__col--support .footer__heading::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236366f1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E");
}

.footer__col--docs .footer__heading::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236366f1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3Cline x1='16' y1='13' x2='8' y2='13'/%3E%3Cline x1='16' y1='17' x2='8' y2='17'/%3E%3Cpolyline points='10 9 9 9 8 9'/%3E%3C/svg%3E");
}

.footer__agreement-btn {
  align-self: flex-start;
  padding: 0.32rem 0.75rem;
  font-size: 0.76rem;
}

.footer__shell .footer__list .footer__agreement-btn {
  align-self: auto;
  display: inline;
  padding: 0;
  font-size: inherit;
  line-height: inherit;
}

.footer__agreement-btn[aria-current="page"] {
  opacity: 0.75;
  pointer-events: none;
  cursor: default;
}

/* Документы: кнопка «Соглашение»; FAQ & More в футере не показываем (пусто = display:none) */
.footer__docs-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 0.5rem 0.65rem;
  min-width: 0;
}

.footer__docs-row .footer__agreement-btn {
  margin: 0;
}

/* Футер: раскрывающийся блок «FAQ & More» — тёмный фон, бирюза как на главной */
.footer-more {
  --footer-more-teal: #2dd4bf;
  --footer-more-teal-dim: rgba(45, 212, 191, 0.22);
  --footer-more-teal-glow: rgba(45, 212, 191, 0.35);
  flex: 1 1 auto;
  min-width: 0;
  max-width: 100%;
  width: 100%;
}

.footer-more--empty {
  display: none;
}

.footer-more__details {
  margin: 0;
  border: 1px solid var(--footer-more-teal-dim);
  border-radius: var(--radius-pill);
  background: linear-gradient(165deg, rgba(15, 23, 42, 0.88) 0%, rgba(10, 13, 20, 0.96) 100%);
  overflow: hidden;
  box-shadow:
    0 0 0 1px rgba(45, 212, 191, 0.08),
    0 6px 28px rgba(0, 0, 0, 0.35),
    0 0 40px rgba(45, 212, 191, 0.06);
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast), border-radius 0.2s ease;
}

.footer-more__details[open] {
  border-radius: var(--radius-md);
  border-color: rgba(45, 212, 191, 0.42);
  box-shadow:
    0 0 0 1px rgba(45, 212, 191, 0.12),
    0 10px 36px rgba(0, 0, 0, 0.4),
    0 0 48px rgba(45, 212, 191, 0.08);
}

.footer-more__summary {
  list-style: none;
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  padding: 0.45rem 0.85rem 0.45rem 0.65rem;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: #f1f5f9;
  user-select: none;
}

.footer-more__summary::-webkit-details-marker {
  display: none;
}

.footer-more__chevron {
  width: 0.42rem;
  height: 0.42rem;
  border-right: 2px solid var(--footer-more-teal);
  border-bottom: 2px solid var(--footer-more-teal);
  opacity: 0.85;
  transform: rotate(45deg);
  transition: transform 0.2s ease, opacity 0.15s ease;
  margin-top: -0.12rem;
}

.footer-more__details[open] .footer-more__chevron {
  transform: rotate(225deg);
  margin-top: 0.08rem;
}

.footer-more__summary:hover .footer-more__chevron {
  opacity: 1;
}

.footer-more__doc-icon {
  width: 1.05rem;
  height: 1.05rem;
  flex-shrink: 0;
  opacity: 0.95;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232dd4bf' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3Cline x1='16' y1='13' x2='8' y2='13'/%3E%3Cline x1='16' y1='17' x2='8' y2='17'/%3E%3Cline x1='10' y1='9' x2='8' y2='9'/%3E%3C/svg%3E")
    no-repeat center;
  background-size: contain;
}

.footer-more__summary-text {
  min-width: 0;
  line-height: 1.25;
}

.footer-more__list {
  list-style: none;
  margin: 0;
  padding: 0.2rem 0.65rem 0.7rem;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  border-top: 1px solid rgba(45, 212, 191, 0.12);
  background: rgba(0, 0, 0, 0.2);
}

.footer-more__link {
  display: block;
  padding: 0.4rem 0.55rem;
  border-radius: var(--radius-sm);
  font-size: 0.76rem;
  font-weight: 500;
  color: #e2e8f0;
  text-decoration: none;
  transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.footer-more__link:hover {
  background: rgba(45, 212, 191, 0.14);
  color: #fff;
  box-shadow: inset 0 0 0 1px rgba(45, 212, 191, 0.2);
}

.footer__list {
  list-style: none;
  margin: 0.45rem 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.28rem;
}

.footer__list.support-channels {
  margin-top: 0.25rem;
  gap: 0.35rem;
}

.footer__list li {
  margin: 0;
  line-height: 1.25;
}

.footer__col--sections .footer__list,
.footer__col--docs .footer__list {
  margin-top: 0.45rem;
}

.footer__col--sections .footer__link,
.footer__col--docs .footer__link {
  display: inline-block;
  max-width: 100%;
  line-height: 1.3;
  font-size: 0.8125rem;
}

.footer__link {
  color: rgba(226, 232, 240, 0.92);
  text-decoration: none;
  transition: color var(--transition-fast);
}

.footer__link:hover {
  color: var(--accent-hover);
  opacity: 1;
  text-decoration: none;
}

.footer__muted {
  color: var(--text-muted);
  list-style: none;
}

.footer-more {
  margin-top: 0;
  max-width: 100%;
  width: 100%;
}

@media (max-width: 900px) {
  .container.footer__inner,
  .footer__inner {
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
  }

  .footer__brand {
    grid-column: 1 / -1;
    max-width: none;
  }

  .footer__col--contacts,
  .footer__col--support {
    grid-column: auto;
  }

  .footer__col--docs,
  .footer__col--sections {
    grid-column: 1 / -1;
  }
}

@media (max-width: 720px) {
  .container.footer__inner,
  .footer__inner {
    grid-template-columns: 1fr;
    gap: 1.25rem;
    align-items: flex-start;
  }

  .footer__brand,
  .footer__col--contacts,
  .footer__col--support,
  .footer__col--docs,
  .footer__col--sections {
    grid-column: 1;
  }

  .footer__brand {
    max-width: none;
  }
}

.footer__contacts {
  opacity: 0.9;
}

.page-catalog .main {
  padding-top: calc(var(--main-pad-y) + 0.75rem);
}

.product-hero__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.product-tag {
  padding: 0.25rem 0.7rem;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.5);
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

/* Админка: фон и токены — в body.page-admin (aemblem.css + общий body в этом файле). */

.admin-main {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 3rem 0;
}

.admin-container {
  max-width: 980px;
}

.admin-panel {
  background: rgba(15, 23, 42, 0.75);
  border-radius: 16px;
  padding: 1.25rem 1.5rem;
  border: 1px solid rgba(148, 163, 184, 0.18);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
}

.admin-panel__title {
  margin: 0 0 0.2rem;
  font-size: 1.25rem;
  font-weight: 700;
}

.admin-panel__subtitle {
  margin: 0 0 1rem;
  font-size: 0.8rem;
  color: var(--text-muted);
}

.admin-section {
  padding: 1rem 1.15rem;
  border-radius: 12px;
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border: var(--glass-border);
  box-shadow: var(--glass-shadow);
}

.admin-section + .admin-section {
  margin-top: 0.75rem;
}

.admin-section__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
}

.admin-section__title {
  margin: 0 0 0.35rem;
  font-size: 1rem;
}

.admin-section__hint {
  margin: 0 0 0.5rem;
  font-size: 0.78rem;
  color: var(--text-muted);
}

.admin-section--hidden {
  display: none;
}

.admin-sticky-wrap {
  position: sticky;
  top: 0;
  z-index: 5;
  background: linear-gradient(to bottom, rgba(15, 23, 42, 0.98), rgba(15, 23, 42, 0.95));
  padding: 0.5rem 0 0.75rem;
  margin: -0.5rem -0.25rem 0.75rem;
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  border-radius: 0 0 10px 10px;
  border-bottom: 1px solid rgba(148, 163, 184, 0.15);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  transition: padding-bottom 0.2s ease;
}

.admin-sticky-wrap--nav-collapsed .admin-nav {
  display: none;
}

.admin-sticky-wrap--nav-collapsed .form__success--toolbar {
  margin-bottom: 0.25rem;
}

.admin-sticky-wrap--nav-collapsed {
  padding-bottom: 0.5rem;
  margin-bottom: 0.5rem;
}

.admin-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.18);
}

.admin-toolbar__left {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.admin-toolbar__actions {
  display: flex;
  gap: 0.5rem;
}

.form__success--toolbar {
  margin-bottom: 0.75rem;
}

.admin-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 0.6rem 1.25rem;
  margin-bottom: 1rem;
  padding: 0.6rem 0.85rem;
  background: rgba(30, 41, 59, 0.4);
  border-radius: var(--radius-sm);
  border: 1px solid rgba(129, 140, 248, 0.15);
}

.admin-nav-group {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.admin-nav-group--collapsed .admin-nav__link {
  display: none;
}

.admin-nav-group__title {
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-muted);
  margin-bottom: 0.15rem;
  padding-bottom: 0.2rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.2);
}

.admin-nav-group__title--btn {
  width: 100%;
  text-align: left;
  background: none;
  border: none;
  cursor: pointer;
  font: inherit;
  color: inherit;
  padding: 0;
  margin: 0 0 0.15rem 0;
  padding-bottom: 0.2rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.2);
  position: relative;
  padding-left: 1.1em;
}

.admin-nav-group__title--btn::before {
  content: "▼";
  position: absolute;
  left: 0;
  top: 0;
  font-size: 0.6rem;
  opacity: 0.8;
  transition: transform 0.2s ease;
}

.admin-nav-group--collapsed .admin-nav-group__title--btn::before {
  transform: rotate(-90deg);
  content: "▶";
}

.admin-nav-group--collapsed .admin-nav-group__title--btn {
  margin-bottom: 0;
  border-bottom: none;
}

.admin-nav__link {
  font-size: 0.82rem;
  color: var(--accent);
  text-decoration: none;
  white-space: nowrap;
}

.admin-nav__link:hover {
  text-decoration: underline;
  color: var(--accent-strong);
}

.admin-form {
  gap: 0;
}

.admin-form-section__title {
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
  margin: 1.5rem 0 0.6rem;
  padding-bottom: 0.35rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.25);
}

.admin-form-section__title:first-child {
  margin-top: 0;
}

.admin-block {
  margin-bottom: 1.25rem;
  padding: 1rem 1.15rem;
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border-radius: var(--radius-md);
  border: var(--glass-border);
  box-shadow: var(--glass-shadow);
  scroll-margin-top: 0.5rem;
}

.admin-block:last-of-type {
  margin-bottom: 0;
}

.admin-block__title {
  margin: 0 0 0.6rem 0;
  font-size: 0.98rem;
  font-weight: 700;
  color: var(--accent);
  padding-bottom: 0.35rem;
  border-bottom: 1px solid rgba(129, 140, 248, 0.2);
}

.admin-block__title--togglable {
  cursor: pointer;
  user-select: none;
  padding-right: 1.5rem;
  position: relative;
}

.admin-block__title--togglable::after {
  content: "▼";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.7rem;
  opacity: 0.7;
  transition: transform 0.2s ease;
}

.admin-block--collapsed .admin-block__title--togglable::after {
  transform: translateY(-50%) rotate(-90deg);
}

.admin-block--collapsed .admin-block__title ~ * {
  display: none !important;
}

.admin-back-to-top {
  position: fixed;
  bottom: 1.5rem;
  right: 1.5rem;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  border: 1px solid rgba(148, 163, 184, 0.3);
  background: rgba(15, 23, 42, 0.9);
  color: var(--text-main);
  font-size: 1.2rem;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s, visibility 0.2s, transform 0.2s;
  z-index: 10;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

.admin-back-to-top:hover {
  transform: scale(1.05);
  border-color: var(--accent-soft);
}

.admin-back-to-top.admin-back-to-top--visible {
  opacity: 1;
  visibility: visible;
}

.admin-block__inner {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.admin-checkbox-group {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.25rem;
  margin-top: 0.35rem;
}

.form__checkbox-label {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.9rem;
  cursor: pointer;
}

.admin-block__inner--grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1.25rem;
}

.admin-subblock {
  padding: 1rem;
  background: rgba(30, 41, 59, 0.5);
  border-radius: var(--radius-md);
  border: 1px solid rgba(148, 163, 184, 0.15);
}

.admin-subblock__title {
  margin: 0 0 0.75rem 0;
  font-size: 0.95rem;
  color: var(--text-main);
}

.admin-block--security {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(148, 163, 184, 0.25);
}

.admin-security__tips {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(148, 163, 184, 0.15);
}

.admin-tips-list {
  margin: 0.5rem 0 0;
  padding-left: 1.25rem;
  font-size: 0.85rem;
  color: var(--text-muted);
  line-height: var(--lh-body);
}

.admin-tips-list li {
  margin-bottom: 0.4rem;
}

.admin-tips-list li:last-child {
  margin-bottom: 0;
}

.form__field--rich {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
.form__field--rich .form__label--sub {
  font-size: 0.85rem;
  color: var(--text-muted);
}
.form__select-inline {
  width: auto;
  max-width: 12rem;
}
.rich-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
}
.rich-toolbar__btn {
  font-size: 0.85rem;
}
.rich-toolbar__btn--danger {
  color: var(--accent-danger);
}
.rich-toolbar__emoji-wrap {
  position: relative;
}
.rich-emoji-picker {
  display: none;
  position: absolute;
  left: 0;
  top: 100%;
  margin-top: 0.25rem;
  padding: 0.5rem;
  background: var(--bg-elevated);
  border: 1px solid var(--border-soft);
  border-radius: var(--radius-sm);
  z-index: 10;
  flex-wrap: wrap;
  gap: 0.25rem;
  max-width: 280px;
}
.rich-emoji-picker--open {
  display: flex;
}
.rich-emoji-btn {
  background: none;
  border: none;
  font-size: 1.25rem;
  padding: 0.25rem;
  cursor: pointer;
  border-radius: 4px;
}
.rich-emoji-btn:hover {
  background: rgba(129, 140, 248, 0.2);
}

.status-admin-grid-wrap .status-admin-row {
  max-width: 100%;
}

.form {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
}

.form__group {
  border: 1px solid var(--border-soft);
  border-radius: var(--radius-md);
  padding: var(--space-3);
  margin: 0;
}

.form__legend {
  padding: 0 0.4rem;
  font-size: 0.85rem;
  color: var(--text-muted);
}

.form__field {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  margin-bottom: var(--space-2);
}

.form__label {
  font-size: var(--text-xs);
  font-weight: 500;
  color: var(--text-muted);
}

.form__input {
  border-radius: var(--radius-sm);
  background: rgba(15, 23, 42, 0.75);
  border: 1px solid var(--border-soft);
  padding: 0.65rem 0.9rem;
  color: var(--text-main);
  font-size: var(--text-xs);
  line-height: var(--lh-body);
  outline: none;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);
}

.form__textarea {
  border-radius: var(--radius-sm);
  resize: vertical;
  min-height: 5rem;
}

.form__input:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-soft);
  background: rgba(15, 23, 42, 0.88);
}

.form__help {
  font-size: 0.75rem;
  color: var(--text-muted);
}

.form__help--block {
  display: block;
  margin-bottom: 0.75rem;
}

.form__input--sm {
  padding: 0.4rem 0.6rem;
  font-size: 0.9rem;
}

.form__group--status {
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(129, 140, 248, 0.3);
}

.status-admin-grid {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-top: 0.75rem;
}

.status-admin-row {
  display: grid;
  grid-template-columns: 1fr 1.2fr auto;
  gap: 0.75rem;
  align-items: center;
}

.status-admin-grid-wrap #status-cheats-tbody {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.status-admin-game-group {
  padding: 0.75rem 1rem;
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border-radius: 10px;
  border: var(--glass-border);
  box-shadow: var(--glass-shadow);
}

.status-admin-game-title {
  font-weight: 700;
  font-size: 1rem;
  color: var(--accent);
  margin-bottom: 0.6rem;
  padding-bottom: 0.35rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.2);
}

.status-admin-grid-wrap #status-cheats-tbody .status-admin-row {
  grid-template-columns: 1fr auto;
}

.status-admin-cell--game,
.status-admin-cell--cheat {
  font-size: 0.9rem;
  color: var(--text-main);
}

.status-admin-row--head {
  font-weight: 700;
  color: var(--accent);
  font-size: 0.9rem;
}

.status-admin-cell {
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

.status-admin-cell input[type="checkbox"] {
  margin: 0;
}

.search-analysis-add-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.75rem;
  margin-bottom: 0.5rem;
}

.search-analysis-list {
  margin-top: 0.5rem;
  margin-bottom: 1rem;
}

.search-analysis-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}

.search-analysis-table th,
.search-analysis-table td {
  padding: 0.4rem 0.6rem;
  text-align: left;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.search-analysis-table th {
  color: var(--text-muted);
  font-weight: 600;
}

.search-analysis-table tbody tr:hover {
  background: rgba(255, 255, 255, 0.04);
}

.form__group--constructors {
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(129, 140, 248, 0.3);
}

.constructor-block {
  margin-bottom: 2rem;
}

.constructor-block:last-child {
  margin-bottom: 0;
}

.constructor-block__title {
  font-size: 1rem;
  font-weight: 700;
  color: var(--accent);
  margin: 0 0 0.5rem 0;
}

.constructor-form {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 0.75rem;
  align-items: end;
  margin-bottom: 1rem;
  padding: 1rem;
  background: rgba(15, 23, 42, 0.5);
  border-radius: var(--radius-md);
  border: 1px solid rgba(129, 140, 248, 0.2);
}

.constructor-form--game .form__field { margin-bottom: 0; }
.constructor-form--cheat .form__field { margin-bottom: 0; }

.form__field--full {
  grid-column: 1 / -1;
}

.cheat-func-checkboxes {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 0.35rem;
}

.cheat-func-checkboxes label {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  cursor: pointer;
}

.sysreq-list-editor {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  margin-bottom: 0.65rem;
}

.sysreq-row-editor {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  padding: 0.75rem 0.85rem;
  border-radius: var(--radius-md);
  border: 1px solid rgba(148, 163, 184, 0.18);
  background: rgba(15, 23, 42, 0.35);
}

.sysreq-row-editor__grid {
  display: grid;
  grid-template-columns: minmax(140px, 1fr) minmax(180px, 1.4fr);
  gap: 0.65rem;
}

@media (max-width: 640px) {
  .sysreq-row-editor__grid {
    grid-template-columns: 1fr;
  }
}

.sysreq-fields .sysreq-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 0.5rem;
  margin-top: 0.5rem;
}

.form__label--sm {
  font-size: 0.8rem;
}

.cheat-tariffs-list,
.cheat-photos-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

.trust-links-admin-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

.trust-link-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

.trust-link-row .trust-link-input-name { min-width: 120px; flex: 1; }
.trust-link-row .trust-link-input-join { min-width: 100px; width: 120px; }
.trust-link-row .trust-link-input-url { min-width: 160px; flex: 1; }
.trust-link-row .trust-link-input-icon { width: 100px; }

.footer-more-pages-admin-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-bottom: 0.5rem;
}

.footer-more-page-row {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  padding: 0.75rem;
  background: rgba(15, 23, 42, 0.55);
  border: 1px solid rgba(129, 140, 248, 0.2);
  border-radius: var(--radius-md);
}

.footer-more-page-row .footer-more-remove {
  align-self: flex-start;
}

.cheat-functions-list {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  margin-bottom: 0.75rem;
}

.function-row--section {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  padding: 0.75rem 0.85rem;
  border-radius: var(--radius-md);
  border: 1px solid rgba(148, 163, 184, 0.18);
  background: rgba(15, 23, 42, 0.35);
}

.function-row__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

.function-row__head .function-name {
  flex: 1 1 8rem;
  min-width: 7rem;
  max-width: 14rem;
}

.function-row__items-field {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  width: 100%;
  margin: 0;
}

.function-row__items-field .function-items {
  width: 100%;
  min-height: 7.5rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.82rem;
  line-height: 1.45;
  resize: vertical;
}

.function-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

.function-row .function-name {
  width: 120px;
  min-width: 100px;
}

.function-row .function-desc {
  flex: 1;
  min-width: 180px;
}

.tariff-row,
.photo-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

.tariff-row .tariff-duration,
.tariff-row .tariff-price {
  flex: 1;
  min-width: 120px;
}

.tariff-row .tariff-payment-link {
  flex: 1 1 100%;
  min-width: min(100%, 280px);
}

.cheat-tariffs-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.35rem;
}

.btn--trial-tariff {
  border-color: rgba(251, 191, 36, 0.45);
  color: #fbbf24;
}

.tariff-row--trial {
  border: 1px dashed rgba(251, 191, 36, 0.45);
  border-radius: var(--radius-sm);
  padding: 0.55rem 0.65rem;
  background: rgba(251, 191, 36, 0.06);
}

.tariff-row__trial-label {
  font-weight: 700;
  color: #fbbf24;
  min-width: 8.5rem;
}

.tariff-row__trial-hint {
  flex: 1;
  min-width: 12rem;
  font-size: 0.82rem;
  color: var(--text-muted);
}

.photo-row .photo-url {
  flex: 1;
  min-width: 200px;
}

.constructor-form__actions {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}

.constructor-list-wrap {
  margin-top: 0.5rem;
}

.constructor-list__title {
  font-size: 0.9rem;
  color: var(--text-muted);
  margin: 0 0 0.5rem 0;
}

.constructor-list {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.constructor-list-item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  background: rgba(30, 41, 59, 0.6);
  border-radius: var(--radius-sm);
  border: 1px solid rgba(148, 163, 184, 0.15);
}

.constructor-list-item__thumb {
  flex: 0 0 auto;
  width: 48px;
  height: 48px;
  border-radius: var(--radius-sm);
  background: rgba(15, 23, 42, 0.7) center / cover no-repeat;
  border: 1px solid rgba(148, 163, 184, 0.2);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04);
}

.constructor-list-item__name {
  font-weight: 600;
  color: var(--text-main);
}

.constructor-list-item__meta {
  font-size: 0.85rem;
  color: var(--text-muted);
}

.constructor-list-item__actions {
  margin-left: auto;
  display: flex;
  gap: 0.35rem;
}

/* Админка: превью обложки игры (конструктор каталога) */
.game-image-preview {
  width: 100%;
  max-width: 360px;
  min-height: 120px;
  aspect-ratio: 16 / 9;
  margin-top: 0.65rem;
  border-radius: var(--radius-md);
  border: 1px solid rgba(148, 163, 184, 0.22);
  background-color: rgba(15, 23, 42, 0.45);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04);
}

.game-image-preview--empty {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 1rem;
  font-size: 0.8rem;
  line-height: var(--lh-body);
  color: var(--text-muted);
}

.game-image-preview--empty::after {
  content: "Превью появится после URL или загрузки файла";
}

.game-image-preview--logo {
  aspect-ratio: 2 / 1;
  max-width: 280px;
  min-height: 72px;
  background-size: contain;
}

.game-image-preview--logo.game-image-preview--empty::after {
  content: "Превью логотипа после URL или загрузки";
}

.game-image-preview-actions {
  margin-top: 0.35rem;
}

.form__submit {
  margin-top: 0.4rem;
}

.form__note {
  margin: 0.4rem 0 0;
  font-size: 0.8rem;
  color: var(--text-muted);
}

.form__error {
  margin: 0.4rem 0 0;
  font-size: 0.8rem;
  color: var(--accent-danger);
}

.form__success {
  margin: 0.4rem 0 0;
  font-size: 0.8rem;
  color: #4ade80;
}

.form__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-top: 0.3rem;
}

/* Загрузка изображения: перетаскивание или выбор файла */
.image-upload {
  margin-top: 0.5rem;
}

.image-upload__drop {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.35rem;
  padding: 0.5rem 0.75rem;
  background: rgba(51, 65, 85, 0.5);
  border: 1px dashed rgba(148, 163, 184, 0.35);
  border-radius: 8px;
  font-size: 0.9rem;
  color: var(--text-muted);
  cursor: pointer;
  transition: border-color 0.2s, background 0.2s;
}

.image-upload__drop:hover,
.image-upload__drop:focus {
  border-color: var(--accent);
  background: rgba(99, 102, 241, 0.1);
  outline: none;
}

.image-upload__drop.is-dragover {
  border-color: var(--accent);
  background: rgba(99, 102, 241, 0.15);
}

.image-upload--inline .image-upload__drop {
  padding: 0.25rem 0.5rem;
  font-size: 0.8rem;
}

.image-upload--photos {
  margin-top: 0.35rem;
}

.image-upload--photos .image-upload__drop {
  min-width: 200px;
}

.cheat-photos-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.35rem;
}

.cheat-photos-actions .image-upload {
  margin-top: 0;
}

.form--grid {
  gap: 1rem;
}

.admin-security {
  margin-top: 1.4rem;
  padding-top: 1.2rem;
  border-top: 1px solid rgba(31, 41, 55, 0.9);
}

.admin-security__title {
  margin: 0 0 0.4rem;
  font-size: 1rem;
}

.admin-security__form {
  margin-top: 0.4rem;
}

@media (max-width: 960px) {
  .footer__inner {
    grid-template-columns: 1fr 1fr;
    gap: 1rem 1.25rem;
  }

  .footer__brand {
    grid-column: 1 / -1;
    max-width: none;
  }

  .footer__col--sections {
    grid-column: 1;
  }

  .footer__col--docs {
    grid-column: 2;
  }

  .footer__col--contacts {
    grid-column: 1;
  }

  .footer__col--support {
    grid-column: 2;
  }

  .main__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-3);
  }

  .page-home .main__grid {
    min-height: 0;
  }

  .page-home .main__grid > .hero {
    order: 0;
    grid-column: 1 / -1;
    height: auto;
    min-height: 0;
  }

  .page-home .main__grid > .hero-visual {
    order: 1;
    grid-column: 1 / -1;
    height: auto;
    min-height: 0;
  }

  .page-home .hero-visual__blocks {
    min-height: 0;
    height: auto;
    flex: none;
  }

  .page-home .hero-visual__blocks > .hero-side-block {
    flex: none;
    display: block;
  }

  .hero-visual {
    justify-content: center;
  }

  .hero-visual__blocks {
    max-width: 100%;
  }

  .section__inner {
    grid-template-columns: minmax(0, 1fr);
  }

  .cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .header__actions {
    display: none;
  }

  .admin-panel {
    padding: 1.6rem;
  }
}

@media (max-width: 720px) {
  .section {
    margin-top: 2.2rem;
  }

  .cards {
    grid-template-columns: minmax(0, 1fr);
  }

  .admin-panel {
    padding: 1.3rem;
  }

  .admin-section {
    padding: 1.1rem 1rem;
  }
}

/* === Mobile usability hardening (all major browsers) === */
@media (max-width: 768px) {
  html {
    /* Одна строка шапки ≈ как на десктопе — якоря по-прежнему ниже шапки */
    scroll-padding-top: calc(var(--header-inner-min-height) + (var(--header-inner-pad-y) * 2) + 6px);
  }

  /* Не переносим бренд на вторую строку — иначе высота шапки и layout «прыгают» при ресайзе */
  .header .logo__text {
    white-space: nowrap;
    flex-wrap: nowrap;
  }

  .header .logo__title {
    font-size: clamp(0.7rem, 3.5vw, var(--fs-16));
    letter-spacing: clamp(0.06em, 1.2vw, 0.18em);
  }

  .header .logo__svg {
    width: clamp(36px, 10vw, 48px);
    height: clamp(36px, 10vw, 48px);
  }

  .container {
    padding-left: 0.85rem;
    padding-right: 0.85rem;
  }

  /* Одна линия: лого | прокручиваемая nav | соцссылки — та же сетка, что на десктопе */
  .header__inner {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: clamp(0.35rem, 2vw, 0.65rem);
    padding-top: var(--header-inner-pad-y);
    padding-bottom: var(--header-inner-pad-y);
    min-height: var(--header-inner-min-height);
    min-width: 0;
  }

  /* Mobile UX: вместо горизонтального скролла — burger menu */
  .header .nav,
  .header .header__social {
    display: none;
  }

  .mobile-burger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    border: 1px solid rgba(148, 163, 184, 0.18);
    background: rgba(15, 23, 42, 0.35);
    color: rgba(241, 245, 249, 0.92);
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.14);
    -webkit-tap-highlight-color: transparent;
    cursor: pointer;
  }

  .mobile-burger__bars { display: grid; gap: 5px; }
  .mobile-burger__bar {
    width: 18px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(106, 92, 255, 0.95), rgba(129, 140, 248, 0.95));
    box-shadow: 0 0 14px rgba(106, 92, 255, 0.18);
  }

  .mobile-nav[hidden] { display: none; }
  .mobile-nav {
    position: fixed;
    inset: 0;
    z-index: 9999;
  }
  .mobile-nav__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    backdrop-filter: blur(4px);
  }
  .mobile-nav__panel {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: min(92vw, 360px);
    background: rgba(7, 10, 20, 0.98);
    border-left: 1px solid rgba(148, 163, 184, 0.18);
    box-shadow: -18px 0 60px rgba(0, 0, 0, 0.45);
    padding: 0.85rem;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
  }
  .mobile-nav__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
  }
  .mobile-nav__title {
    font-weight: 700;
    letter-spacing: 0.04em;
    color: var(--text-main);
  }
  .mobile-nav__close {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    border: 1px solid rgba(148, 163, 184, 0.18);
    background: rgba(15, 23, 42, 0.35);
    color: rgba(241, 245, 249, 0.92);
    cursor: pointer;
  }
  .mobile-nav__body { display: grid; gap: 0.85rem; overflow: auto; padding-bottom: 0.5rem; }
  .mobile-nav__links {
    display: grid;
    gap: 0.25rem;
  }
  .mobile-nav__links .nav__link,
  .mobile-nav__links .nav__docs-link,
  .mobile-nav__links .nav__link--docs {
    justify-content: flex-start;
    min-height: 44px;
    padding: 0.65rem 0.9rem;
    border-radius: 12px;
    background: rgba(15, 23, 42, 0.28);
    border: 1px solid rgba(148, 163, 184, 0.12);
  }
  .mobile-nav__links .nav__docs-menu {
    position: static;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
    transition: none;
    margin-top: 0.25rem;
  }
  .mobile-nav__social {
    display: flex;
    gap: 0.65rem;
    align-items: center;
    flex-wrap: wrap;
    padding-top: 0.35rem;
    border-top: 1px solid rgba(148, 163, 184, 0.14);
  }

  .nav__link {
    flex: 0 0 auto;
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.45rem 0.7rem;
    font-size: 0.84rem;
  }

  .nav__docs-menu {
    left: auto;
    right: 0;
    min-width: 258px;
  }

  .main {
    padding-top: min(0.5rem, var(--main-pad-y));
  }

  .hero__buttons {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .hero__buttons .btn,
  .section__cta .btn {
    width: 100%;
    min-height: 48px;
  }

  /* Каталог игр: 2 квадратные карточки в ряд; симметрично по центру */
  .catalog-games-list,
  .catalog-preview-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-content: center;
    gap: var(--catalog-grid-gap);
  }

  .page-catalog .catalog-games-list,
  .page-game .catalog-cheats-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--catalog-grid-gap);
  }

  .page-catalog .catalog-games-list > .game-block--photo,
  .page-game .catalog-cheats-list > .game-block--photo {
    flex: 0 0 calc(50% - var(--catalog-grid-gap) / 2);
    width: calc(50% - var(--catalog-grid-gap) / 2);
    max-width: calc(50% - var(--catalog-grid-gap) / 2);
    box-sizing: border-box;
  }

  .game-block {
    padding: 0;
  }

  .game-block__thumb {
    height: var(--card-hero-height);
  }

  .cheat-block {
    grid-template-columns: 1fr;
    gap: var(--space-2);
    padding: var(--space-3);
  }

  .cheat-block__thumb {
    width: 100%;
    max-width: none;
    aspect-ratio: var(--card-hero-aspect);
    height: auto;
    min-height: 0;
    border-radius: var(--radius-md);
    border-right: none;
    align-self: stretch;
    background-position: center;
  }

  .cheat-block__info {
    padding: 0;
  }

  .cheat-block__action {
    padding: 0;
    text-align: center;
    align-items: stretch;
  }

  .cheat-block__price {
    text-align: center;
  }

  .product-page__container {
    padding: 0.85rem;
  }

  .product-page__main-grid,
  .product-page__description-section {
    gap: 0.95rem;
  }

  .product-page__card,
  .product-page__image {
    min-height: 0;
    padding: 0.85rem;
  }

  .product-page__tariff {
    min-height: 42px;
    padding: 0.45rem 0.55rem;
  }

  .product-page__buy-btn,
  .cheat-block__btn {
    min-height: 48px;
  }

  .product-page__nav {
    display: grid;
    gap: 0.55rem;
  }

  .product-page__nav .btn {
    width: 100%;
    margin: 0;
  }
}

@media (min-width: 769px) {
  .mobile-burger,
  .mobile-nav {
    display: none !important;
  }
}

body.mobile-nav-open {
  overflow: hidden;
}

/* Узкий viewport: подписи discord/telegram убираем — строка шапки стабильнее */
@media (max-width: 480px) {
  .header__social-link__txt {
    display: none;
  }
}

/* Очень узкий экран: одна колонка каталога, карточка остаётся квадратной */
@media (max-width: 380px) {
  .catalog-games-list,
  .catalog-preview-grid {
    grid-template-columns: minmax(0, 1fr);
    justify-content: center;
  }

  .page-catalog .catalog-games-list > .game-block--photo,
  .page-game .catalog-cheats-list > .game-block--photo {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
  }
}

/* --- Страница «Пользовательское соглашение» --- */
.page-agreement .legal-main,
.page-info-doc .legal-main {
  padding-top: 1.5rem;
  padding-bottom: 3rem;
  min-width: 0;
}

.legal-page__outer-title {
  text-align: center;
  font-size: clamp(var(--fs-20), 3vw, 1.85rem);
  font-weight: 700;
  font-style: normal;
  letter-spacing: 0.02em;
  color: var(--text-main);
  margin: 0 auto var(--space-3);
  line-height: var(--lh-heading);
  width: 100%;
  max-width: var(--layout-max);
  padding: 0 var(--layout-gutter);
  box-sizing: border-box;
}

.legal-page__wrap {
  max-width: 820px;
  width: 100%;
  min-width: 0;
  margin-inline: auto;
}

.legal-page {
  background: var(--surface-card);
  border: 1px solid var(--border-soft);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
  padding: var(--space-4) var(--space-4) var(--space-5);
  color: var(--text-main);
}

.legal-page__doc-title {
  font-size: var(--fs-20);
  font-weight: 700;
  line-height: var(--lh-heading);
  color: var(--text-main);
  margin: 0 0 var(--space-3);
  padding-bottom: var(--space-2);
  border-bottom: 1px solid var(--border-soft);
}

.legal-page__h {
  font-size: var(--fs-16);
  font-weight: 700;
  line-height: var(--lh-heading);
  color: var(--text-main);
  margin: 1.75rem 0 0.85rem;
}

.legal-page__h:first-of-type {
  margin-top: 0;
}

.legal-page__p {
  font-size: var(--text-sm);
  line-height: var(--lh-body);
  color: var(--text-muted);
  margin: 0 0 var(--space-2);
}

.legal-page__ol {
  margin: 0 0 1rem;
  padding-left: 1.35rem;
  font-size: 0.94rem;
  line-height: var(--lh-body);
  color: var(--text-muted);
}

.legal-page__ol li {
  margin-bottom: 0.55rem;
}

.legal-page__ol li::marker {
  color: var(--accent-strong);
  font-weight: 600;
}

.footer__legal {
  margin: 0.4rem 0 0;
}

.footer__legal-link {
  font-size: 0.78rem;
  color: var(--text-muted);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color var(--transition-fast), border-color var(--transition-fast);
}

.footer__legal-link:hover {
  color: #c7d2fe;
  border-bottom-color: rgba(129, 140, 248, 0.5);
}

.footer__legal-link[aria-current="page"] {
  color: #a5b4fc;
  pointer-events: none;
}

@media (max-width: 640px) {
  .legal-page {
    padding: 1.35rem 1.2rem 1.75rem;
  }
  .legal-page__outer-title {
    margin-bottom: 1.1rem;
  }
}

/* --- Каталог игр: мозаика в шапке + фото-карточки --- */
.page-catalog .catalog-page__intro--mosaic {
  position: relative;
  display: grid;
  place-items: center;
  margin-bottom: clamp(1.15rem, 3vw, 1.85rem);
  min-height: clamp(11rem, 32vw, 16rem);
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid rgba(99, 102, 241, 0.22);
  box-shadow:
    0 18px 48px rgba(15, 23, 42, 0.62),
    0 0 0 1px rgba(255, 255, 255, 0.04),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
  isolation: isolate;
}

.page-catalog .catalog-page__mosaic {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}

.page-catalog .catalog-page__mosaic-track {
  display: flex;
  align-items: stretch;
  width: 100%;
  height: 100%;
  filter: brightness(0.8) saturate(1.08) contrast(1.02);
}

.page-catalog .catalog-page__mosaic-tile {
  position: relative;
  flex: 1 1 0;
  min-width: 0;
  height: 100%;
  overflow: hidden;
  background-color: #0a0d14;
  background-repeat: no-repeat;
}

.page-catalog .catalog-page__mosaic-tile--photo {
  background-size: 300% 100%;
  background-position: center center;
  transform: scale(1.05);
  transform-origin: center center;
}

.page-catalog .catalog-page__mosaic-tile + .catalog-page__mosaic-tile {
  margin-left: -4.5%;
}

.page-catalog .catalog-page__mosaic-tile::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    rgba(8, 10, 15, 0.78) 0%,
    rgba(8, 10, 15, 0.28) 10%,
    transparent 24%,
    transparent 76%,
    rgba(8, 10, 15, 0.28) 90%,
    rgba(8, 10, 15, 0.78) 100%
  );
}

.page-catalog .catalog-page__mosaic-tile--first::after {
  background: linear-gradient(
    90deg,
    rgba(8, 10, 15, 0.42) 0%,
    transparent 16%,
    transparent 76%,
    rgba(8, 10, 15, 0.28) 90%,
    rgba(8, 10, 15, 0.78) 100%
  );
}

.page-catalog .catalog-page__mosaic-tile--last::after {
  background: linear-gradient(
    90deg,
    rgba(8, 10, 15, 0.78) 0%,
    rgba(8, 10, 15, 0.28) 10%,
    transparent 24%,
    transparent 84%,
    rgba(8, 10, 15, 0.42) 100%
  );
}

.page-catalog .catalog-page__mosaic-shade {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    radial-gradient(ellipse 68% 82% at 50% 50%, rgba(8, 10, 15, 0.55) 0%, rgba(8, 10, 15, 0.82) 52%, rgba(8, 10, 15, 0.94) 100%),
    linear-gradient(180deg, rgba(8, 10, 15, 0.35) 0%, rgba(8, 10, 15, 0.62) 48%, rgba(8, 10, 15, 0.88) 100%);
}

.page-catalog .catalog-page__intro-content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  min-height: clamp(11rem, 32vw, 16rem);
  padding: clamp(1rem, 3vw, 1.5rem);
  box-sizing: border-box;
}

.page-catalog .catalog-page__title {
  margin: 0 0 0.5rem;
  font-size: clamp(1.55rem, 4.5vw, 2.15rem);
  font-weight: 800;
  color: #fff;
  text-shadow:
    0 0 18px rgba(255, 255, 255, 0.22),
    0 0 36px rgba(129, 140, 248, 0.35),
    0 2px 12px rgba(0, 0, 0, 0.9);
}

.page-catalog .catalog-page__title::before,
.page-catalog .catalog-page__title::after {
  display: none;
}

.page-catalog .catalog-page__lead {
  margin: 0 auto;
  max-width: min(36rem, 92%);
  color: #f1f5f9;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.88);
}

.page-catalog .catalog-page__lead:empty {
  display: none;
}

/* Страница игры: заголовок каталога читов (без фонового блока) */
.page-game .cheats-page__head {
  text-align: center;
  margin: 0 0 clamp(1.15rem, 3vw, 1.85rem);
  padding: 0.35rem 0 0.15rem;
}

.page-game .cheats-page__glow-title {
  margin: 0;
  font-size: clamp(1.75rem, 4.8vw, 2.45rem);
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: 0.03em;
  color: #f8fafc;
  text-shadow:
    0 0 20px rgba(165, 180, 252, 0.7),
    0 0 42px rgba(99, 102, 241, 0.45),
    0 2px 8px rgba(0, 0, 0, 0.55);
}

.page-game .catalog-cheats-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: clamp(1.05rem, 2.8vw, 1.75rem);
  margin-top: 0;
  width: 100%;
}

.page-game .catalog-cheats-list > .game-block--photo {
  flex: 0 0 clamp(13.25rem, 30vw, 20.5rem);
  width: clamp(13.25rem, 30vw, 20.5rem);
  max-width: 100%;
  box-sizing: border-box;
}

/* Фото-карточки: каталог игр и каталог читов */
.page-catalog .catalog-games-list > .game-block--photo,
.page-game .catalog-cheats-list > .game-block--photo {
  position: relative;
  display: block;
  aspect-ratio: 3 / 4;
  min-height: clamp(15.5rem, 36vw, 21.5rem);
  padding: 0;
  border: none;
  background: #0a0d14;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.42), 0 0 0 1px rgba(255, 255, 255, 0.06);
  transition: box-shadow 0.32s var(--ease-premium), transform 0.32s var(--ease-premium);
}

.page-catalog .catalog-games-list > .game-block--photo:hover,
.page-game .catalog-cheats-list > .game-block--photo:hover {
  z-index: 5;
  transform: translateY(-4px) scale(1.02);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.5), 0 0 48px rgba(99, 102, 241, 0.14), 0 0 0 1px rgba(99, 102, 241, 0.22);
}

.game-block--photo .game-block__photo {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  background-color: #0a0d14;
  transform: scale(1);
  transform-origin: center center;
  transition: transform 0.45s var(--ease-premium);
}

.game-block--photo .game-block__photo--bg {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

.game-block--photo .game-block__photo-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  transform: scale(1);
  transform-origin: center center;
  transition: transform 0.45s var(--ease-premium);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.game-block--photo:hover .game-block__photo,
.game-block--photo:hover .game-block__photo-img {
  transform: scale(1.06);
}

.game-block--photo .game-block__shade {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    180deg,
    rgba(8, 10, 15, 0.16) 0%,
    transparent 14%,
    transparent 64%,
    rgba(8, 10, 15, 0.34) 84%,
    rgba(8, 10, 15, 0.52) 100%
  );
}

.game-block--photo .game-block__face {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 0.7rem 0.75rem 0.8rem;
  pointer-events: none;
}

.game-block--photo .game-block__bottom {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 0.55rem;
  margin-top: auto;
}

.game-block--photo .game-block__title {
  margin: 0;
  font-weight: 800;
  line-height: 1.15;
  color: #f8fafc;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.65);
}

.page-catalog .game-block--photo .game-block__title {
  font-size: clamp(1rem, 2.8vw, 1.22rem);
}

.page-game .game-block--photo .game-block__title {
  font-size: clamp(0.92rem, 2.6vw, 1.15rem);
}

.game-block--photo .game-block__price {
  display: inline-flex;
  align-items: baseline;
  gap: 0.2rem;
  padding: 0.38rem 0.72rem;
  border-radius: 999px;
  font-weight: 700;
  color: var(--accent-strong);
  background: rgba(8, 12, 22, 0.78);
  border: 1px solid rgba(99, 102, 241, 0.38);
  white-space: nowrap;
}

.game-block--photo .game-block__price-label {
  color: rgba(199, 210, 254, 0.82);
  font-size: 0.62rem;
}

@media (prefers-reduced-motion: reduce) {
  .page-catalog .catalog-page__mosaic-tile--photo,
  .page-catalog .catalog-games-list > .game-block--photo:hover,
  .page-game .catalog-cheats-list > .game-block--photo:hover,
  .game-block--photo:hover .game-block__photo,
  .game-block--photo:hover .game-block__photo-img {
    transform: none !important;
  }
}

/* payment-success.html — результат оплаты (payment=ok для Метрики) */
body.page-payment-success {
  min-height: 100vh;
  min-height: 100dvh;
}

body.page-payment-success .header--minimal .header__inner {
  justify-content: center;
  padding-top: 1.25rem;
  padding-bottom: 0.5rem;
}

.payment-success-main {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: calc(100vh - 120px);
  min-height: calc(100dvh - 120px);
  padding: 2rem 1rem 4rem;
  box-sizing: border-box;
}

.payment-result {
  position: relative;
  width: min(100%, 480px);
  padding: 2.5rem 2rem 2rem;
  text-align: center;
  border-radius: 20px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: linear-gradient(165deg, rgba(30, 41, 59, 0.96) 0%, rgba(15, 23, 42, 0.99) 100%);
  box-shadow:
    0 28px 80px rgba(0, 0, 0, 0.48),
    0 0 0 1px rgba(255, 255, 255, 0.05),
    inset 0 1px 0 rgba(255, 255, 255, 0.07);
  overflow: hidden;
}

.payment-result__glow {
  position: absolute;
  inset: -40% -20% auto;
  height: 70%;
  background: radial-gradient(ellipse at 50% 0%, rgba(99, 102, 241, 0.22), transparent 68%);
  pointer-events: none;
}

.payment-result--ok .payment-result__glow {
  background: radial-gradient(ellipse at 50% 0%, rgba(34, 197, 94, 0.28), transparent 68%);
}

.payment-result--fail .payment-result__glow {
  background: radial-gradient(ellipse at 50% 0%, rgba(248, 113, 113, 0.22), transparent 68%);
}

.payment-result--pending .payment-result__glow {
  background: radial-gradient(ellipse at 50% 0%, rgba(56, 189, 248, 0.22), transparent 68%);
}

.payment-result__icon {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  margin: 0 auto 1.25rem;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.65);
  border: 1px solid rgba(148, 163, 184, 0.25);
  color: #c7d2fe;
}

.payment-result__icon svg {
  width: 2rem;
  height: 2rem;
}

.payment-result--ok .payment-result__icon {
  color: #86efac;
  border-color: rgba(34, 197, 94, 0.45);
  box-shadow: 0 0 32px rgba(34, 197, 94, 0.18);
}

.payment-result--fail .payment-result__icon {
  color: #fca5a5;
  border-color: rgba(248, 113, 113, 0.4);
}

.payment-result--pending .payment-result__icon {
  color: #7dd3fc;
  border-color: rgba(56, 189, 248, 0.35);
}

.payment-result__title {
  position: relative;
  z-index: 1;
  margin: 0 0 0.75rem;
  font-size: clamp(1.35rem, 4vw, 1.65rem);
  font-weight: 800;
  letter-spacing: 0.02em;
  color: #f8fafc;
}

.payment-result__text {
  position: relative;
  z-index: 1;
  margin: 0;
  font-size: 0.98rem;
  line-height: 1.55;
  color: #cbd5e1;
  min-height: 3rem;
}

.payment-result__meta {
  position: relative;
  z-index: 1;
  margin: 1rem 0 0;
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #94a3b8;
}

.payment-result__actions {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: center;
  margin-top: 1.75rem;
}

.payment-result--ok {
  border-color: rgba(34, 197, 94, 0.28);
}

.payment-result--fail {
  border-color: rgba(248, 113, 113, 0.28);
}

.payment-result--pending {
  border-color: rgba(56, 189, 248, 0.28);
}

.payment-result--unknown .payment-result__text {
  color: #94a3b8;
  font-style: italic;
}
