/* ============================================================
   Oplati вЂ” storefront styles
   РЎРІРµС‚Р»Р°СЏ С‚С‘РїР»Р°СЏ С‚РµРјР° + Telegram-blue/violet accents.
   РЁСЂРёС„С‚ Inter.
   ============================================================ */

:root {
  /* вЂ” Light warm palette: Soft Cream + Telegram Blue + Digital Violet + Gold вЂ” */
  --bg: #f7f2e8;
  --bg-2: #efe7da;
  --bg-soft: #efe7da;
  /* вЂ” Surfaces (white/near-white cards) вЂ” */
  --surface: #ffffff;
  --surface-2: #fbfaf7;
  --surface-3: #ffffff;
  /* вЂ” Borders (warm cream) вЂ” */
  --border: #e4dccf;
  --border-soft: #ede5d4;
  --border-strong: #bfd8ff;
  /* вЂ” Text вЂ” */
  --text: #171923;
  --text-dim: #4a4f5e;
  --text-muted: #6f7585;
  /* вЂ” Accents вЂ” */
  --primary: #2aabee;            /* Telegram Blue */
  --primary-2: #7c5cff;           /* Digital Violet */
  --primary-soft: rgba(42, 171, 238, 0.10);
  --accent: #2aabee;
  --accent-2: #c98a1e;            /* warm gold вЂ” РґР»СЏ С†РµРЅС‹/РІС‹РіРѕРґС‹ */
  --accent-2-soft: rgba(201, 138, 30, 0.16);
  --ink: #ffffff;                 /* Р±РµР»С‹Р№ С‚РµРєСЃС‚ РЅР° blue/violet РєРЅРѕРїРєР°С… */
  --danger: #d64545;
  --gold: #c98a1e;
  --green: #22a06b;               /* СЃС‚Р°С‚СѓСЃС‹ В«РѕРЅР»Р°Р№РЅ / РѕС‚РІРµС‡Р°СЋ / РІ РЅР°Р»РёС‡РёРёВ» */
  /* вЂ” Radii вЂ” */
  --radius: 16px;
  --radius-sm: 12px;
  --radius-lg: 22px;
  --radius-xl: 28px;
  /* вЂ” Shadows (soft warm shadow РґР»СЏ light theme) вЂ” */
  --shadow: 0 24px 60px rgba(36, 50, 100, 0.10);
  --shadow-sm: 0 12px 28px rgba(36, 50, 100, 0.08);
  --shadow-glow: 0 16px 40px rgba(42, 171, 238, 0.20);
  /* вЂ” Motion tokens вЂ” */
  --ease-out: cubic-bezier(.22, 1, .36, 1);
  --ease-fast: cubic-bezier(.2, .8, .2, 1);
  --dur-fast: 160ms;
  --dur-normal: 260ms;
  --dur-slow: 420ms;
  --maxw: 1200px;
  --header-h: 78px;
  --font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-display: "Inter", var(--font);
  --font-mono: "Inter", var(--font);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 84px; }

body {
  margin: 0;
  font-family: var(--font);
  color: var(--text);
  line-height: 1.55;
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
  letter-spacing: -0.005em;
}

/* Старая grid-сетка-overlay и звёзды/орбы на body отключены */
body::before, body::after { display: none !important; content: none !important; background: none !important; }

/* РЎРІРµС‡РµРЅРёСЏ-РѕСЂР±С‹. РќРµ РЅР° РІСЃСЋ СЃС‚СЂР°РЅРёС†Сѓ вЂ” С‚РѕР»СЊРєРѕ РІРЅСѓС‚СЂРё РґРµРєРѕСЂР°С‚РёРІРЅС‹С…
   СЂРѕРґРёС‚РµР»РµР№ (.hero-orbs РєРѕРЅС‚РµР№РЅРµСЂ Сѓ С€Р°РїРєРё Рё CTA-Р±Р»РѕРє). */
.glow-orb {
  position: absolute;
  border-radius: 999px;
  filter: blur(60px);
  opacity: 0.45;
  pointer-events: none;
  z-index: 0;
  animation: orbFloat 9s ease-in-out infinite;
}
.glow-orb.orb-1 {
  width: 320px; height: 320px;
  background: rgba(34, 211, 238, 0.32);
  top: -80px; left: -120px;
}
.glow-orb.orb-2 {
  width: 280px; height: 280px;
  background: rgba(139, 92, 246, 0.30);
  right: -100px; top: -40px;
  animation-delay: -3s;
}
.glow-orb.orb-3 {
  width: 240px; height: 240px;
  background: rgba(236, 72, 153, 0.18);
  left: 30%; bottom: -100px;
  animation-delay: -5s;
}
@keyframes orbFloat {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-20px) scale(1.04); }
}

/* РљРѕРЅС‚РµР№РЅРµСЂ РґР»СЏ РѕСЂР±РѕРІ РїРѕРґ С€Р°РїРєРѕР№ вЂ” РЅРµ В«СЃСЉРµРґР°РµС‚В» layout */
.hero-orbs {
  position: relative;
  height: 0;
  overflow: visible;
  pointer-events: none;
  z-index: -1;
}
.hero-orbs .glow-orb { top: -120px; }

.container { width: 100%; max-width: var(--maxw); margin: 0 auto; padding: 0 22px; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }

.skip-link {
  position: absolute; left: -999px; top: 0;
  background: var(--primary); color: #fff; padding: 10px 16px;
  border-radius: 0 0 8px 0; z-index: 200;
}
.skip-link:focus { left: 0; }

/* ---------------- Buttons ---------------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  border: 0; outline: 0; cursor: pointer;
  border-radius: 999px;
  min-height: 48px; padding: 0 22px;
  font: inherit; font-weight: 800; font-size: 14px;
  transition: 0.25s ease;
  white-space: nowrap;
}
.btn:active { transform: translateY(1px); }
.btn-primary {
  color: #03101b;
  background: linear-gradient(135deg, #67e8f9, #60a5fa 40%, #a78bfa);
  box-shadow: 0 16px 42px rgba(56, 189, 248, 0.28);
}
.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 55px rgba(56, 189, 248, 0.42);
}
.btn-ghost {
  color: var(--text);
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.13);
}
.btn-ghost:hover {
  background: rgba(255, 255, 255, 0.13);
  transform: translateY(-2px);
}
.btn-lg { min-height: 54px; padding: 0 28px; font-size: 15px; }
.btn-block { width: 100%; }
.btn:disabled { opacity: 0.4; cursor: not-allowed; transform: none; box-shadow: none; }

.btn-contact {
  color: #03101b;
  background: linear-gradient(135deg, #67e8f9, #60a5fa 40%, #a78bfa);
  border: 0;
  box-shadow: 0 14px 34px rgba(56, 189, 248, 0.28);
}
.btn-contact:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 44px rgba(56, 189, 248, 0.40);
}
.btn-contact svg { flex-shrink: 0; }

/* Кнопка «Канал» в шапке — вторичная (не конкурирует с основной CTA). */
.btn-channel {
  color: var(--text);
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.14);
  box-shadow: none;
}
.btn-channel:hover {
  transform: translateY(-2px);
  background: rgba(255, 255, 255, 0.10);
  border-color: rgba(255, 255, 255, 0.22);
}
.btn-channel svg { flex-shrink: 0; }

.icon-btn {
  flex-shrink: 0; width: 44px; height: 44px; border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  background: rgba(255, 255, 255, 0.06);
  color: var(--text); cursor: pointer; font-size: 17px;
  display: grid; place-items: center;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.icon-btn:hover {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(56, 189, 248, 0.35);
  transform: translateY(-2px);
}
.icon-btn:active { transform: translateY(0); }

/* ---------------- Header (glass + РїРѕРёСЃРє) ---------------- */
.site-header {
  position: sticky; top: 0; z-index: 100;
  background: rgba(14, 19, 48, 0.72);
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.header-inner { height: var(--header-h); display: flex; align-items: center; gap: 18px; }
.brand {
  display: flex; align-items: center; gap: 12px; flex-shrink: 0;
  font-weight: 900; letter-spacing: -0.04em; font-size: 20px;
}
.brand-mark {
  width: 42px; height: 42px;
  display: grid; place-items: center;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--primary), var(--primary-2));
  box-shadow: 0 0 30px rgba(56, 189, 248, 0.32);
  color: #fff;
  flex-shrink: 0;
}
.brand-mark svg { display: block; }
.brand-text { display: flex; flex-direction: column; line-height: 1.1; }
.brand-name { font-weight: 800; font-size: 18px; letter-spacing: -0.04em; }
.brand-name-accent {
  background: linear-gradient(135deg, var(--primary), var(--primary-2));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.brand-sub { font-size: 12px; color: var(--text-muted); font-weight: 600; letter-spacing: -0.01em; }

/* РџРѕРёСЃРє РІ С€Р°РїРєРµ */
.header-search {
  flex: 1; position: relative; max-width: 580px; margin: 0 14px;
}
.header-search .search-icon {
  position: absolute; left: 18px; top: 50%; transform: translateY(-50%);
  color: var(--text-muted); pointer-events: none;
}
.header-search 
.header-search 
.header-search 

.header-actions { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.header-actions .btn-contact { min-height: 44px; padding: 0 20px; font-size: 13px; }
.header-actions .btn-channel { min-height: 44px; padding: 0 16px; font-size: 13px; }
.header-nav { display: none; }
.online-badge { display: none; }

/* РўРѕРЅРєР°СЏ РїРѕР»РѕСЃРєР° РїРѕРґ С€Р°РїРєРѕР№ */
.header-strip {
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  background: rgba(14, 19, 48, 0.5);
  font-size: 12.5px; color: var(--text-muted);
  text-align: center; padding: 9px 12px;
  font-weight: 600;
}
.header-strip b { color: var(--text); font-weight: 700; }
.header-strip span { margin: 0 8px; opacity: 0.35; }

/* ---------------- Hero РѕС‚РєР»СЋС‡С‘РЅ РІ v8 вЂ” РєР°С‚Р°Р»РѕРі СЃСЂР°Р·Сѓ РїРѕСЃР»Рµ С€Р°РїРєРё ---- */
.hero, .hero-inner, .hero-copy, .hero-chat, .hero-eyebrow, .hero-dot,
.hero-title, .hero-lead, .hero-quick, .quick-chip, .hero-actions,
.hero-bullets, .hero-art, .hero-orb, .hero-emoji, .hero-stats,
.hero-badge, .hero-rotator, .hero-chat-cap { display: none !important; }

/* ---- Telegram-С‡Р°С‚ РІРЅСѓС‚СЂРё floating-РІРёРґР¶РµС‚Р° ---- */
.hero-chat { display: flex; flex-direction: column; }
.chat-frame {
  background: #131838;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 22px;
  box-shadow: 0 30px 70px rgba(0, 0, 0, 0.55);
  overflow: hidden;
  font-size: 14px; line-height: 1.45;
  max-width: 460px; width: 100%;
  margin-left: auto;
  display: flex; flex-direction: column;
}
.chat-head {
  display: flex; align-items: center; gap: 12px;
  padding: 14px 18px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  background: #0e1330;
}
.chat-avatar {
  width: 38px; height: 38px; border-radius: 50%;
  background: linear-gradient(135deg, var(--primary), var(--primary-2));
  color: #03101b;
  display: grid; place-items: center;
  font-weight: 900; font-size: 14px; letter-spacing: -0.04em;
  box-shadow: 0 4px 14px rgba(56, 189, 248, 0.35);
}
.chat-meta { display: flex; flex-direction: column; line-height: 1.2; flex: 1; }
.chat-meta b { font-weight: 700; font-size: 14px; color: var(--text); letter-spacing: -0.02em; }
.chat-meta span { font-size: 12px; color: var(--text-muted); font-weight: 600; }
.chat-time { font-size: 11px; color: var(--text-muted); font-weight: 600; }

.chat-body {
  padding: 16px 18px;
  display: flex; flex-direction: column; gap: 10px;
  background: #131838;
  min-height: 320px; max-height: 380px;
  overflow-y: auto;
  scroll-behavior: smooth;
}
.chat-body::-webkit-scrollbar { width: 0; }
.msg {
  max-width: 82%;
  padding: 9px 14px;
  border-radius: 18px;
  word-wrap: break-word;
  font-weight: 500;
  animation: msgIn 0.4s cubic-bezier(0.2, 0.8, 0.2, 1) both;
}
@keyframes msgIn {
  from { opacity: 0; transform: translateY(8px) scale(0.96); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
.msg-them {
  align-self: flex-start;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-bottom-left-radius: 4px;
  color: var(--text);
}
.msg-me {
  align-self: flex-end;
  background: linear-gradient(135deg, var(--primary), var(--primary-2));
  color: #03101b;
  border-bottom-right-radius: 4px;
  font-weight: 600;
  box-shadow: 0 6px 18px rgba(56, 189, 248, 0.25);
}
.msg.code {
  font-family: ui-monospace, "SFMono-Regular", Menlo, monospace;
  font-size: 13px;
  background: rgba(0, 0, 0, 0.5); color: var(--text);
  border: 1px solid rgba(56, 189, 248, 0.4);
  display: flex; flex-direction: column; gap: 4px;
  box-shadow: 0 6px 14px rgba(0,0,0,0.4);
}
.msg .msg-label { font-size: 11px; opacity: 0.65; font-family: var(--font); font-weight: 500; }
.msg.code code { font-weight: 700; letter-spacing: 0.05em; background: none; padding: 0; color: #67e8f9; }
.msg.tiny { font-size: 12.5px; padding: 6px 12px; }

.msg-typing {
  align-self: flex-start;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-bottom-left-radius: 4px;
  padding: 12px 14px; border-radius: 18px;
  display: inline-flex; gap: 4px; align-items: center;
  animation: msgIn 0.3s ease both;
}
.msg-typing span {
  width: 6px; height: 6px; border-radius: 50%; background: var(--text-muted);
  animation: typing 1.2s ease-in-out infinite;
}
.msg-typing span:nth-child(2) { animation-delay: 0.15s; }
.msg-typing span:nth-child(3) { animation-delay: 0.3s; }
@keyframes typing {
  0%, 80%, 100% { opacity: 0.3; transform: translateY(0); }
  40% { opacity: 1; transform: translateY(-3px); }
}

.chat-cta {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  padding: 14px 18px;
  background: linear-gradient(135deg, var(--primary), var(--primary-2));
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  color: #03101b; font-weight: 800; font-size: 14px;
  text-decoration: none;
  transition: filter 0.2s ease;
  letter-spacing: -0.02em;
}
.chat-cta:hover { filter: brightness(1.08); }
.chat-cta svg { flex-shrink: 0; }

/* Reveal вЂ” РґРІСѓРЅР°РїСЂР°РІР»РµРЅРЅС‹Р№ (РІС‹РµР·Р¶Р°РµС‚ РїСЂРё РІС…РѕРґРµ, СѓРµР·Р¶Р°РµС‚ РїСЂРё РІС‹С…РѕРґРµ) */
.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.55s cubic-bezier(0.2, 0.7, 0.2, 1),
              transform 0.55s cubic-bezier(0.2, 0.7, 0.2, 1);
  will-change: transform, opacity;
}
.reveal.reveal-up { transform: translateY(-28px); }
.reveal.reveal-down { transform: translateY(28px); }
.reveal.revealed { opacity: 1; transform: translateY(0); }

/* Р›РµРЅС‚Р° Р±СЂРµРЅРґРѕРІ / marquee вЂ” Р±РѕР»СЊС€Рµ РЅРµ РёСЃРїРѕР»СЊР·СѓРµС‚СЃСЏ */
.marquee, .marquee-track, .marquee-item { display: none !important; }

/* ---------------- Section head ---------------- */
.section-head { text-align: left; margin-bottom: 32px; max-width: 720px; }
.section-head h2 {
  font-family: var(--font-display); font-size: clamp(28px, 3.5vw, 40px);
  margin: 0 0 8px; letter-spacing: -0.02em; font-weight: 700;
  color: var(--text); text-transform: none;
}
.section-head p { margin: 0; color: var(--text-dim); font-size: 16px; }

/* ---------------- Trust вЂ” РѕРґРЅР° С†РёС‚Р°С‚Р° РѕС‚ kom9 ---------------- */
.trust { padding: 32px 0; }
.quote {
  margin: 0; padding: 56px 48px;
  background: var(--surface);
  border: 1.5px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  position: relative;
}
.quote blockquote {
  margin: 0 0 28px; padding: 0;
  font-family: var(--font-display);
  font-size: clamp(22px, 2.6vw, 32px);
  line-height: 1.35; font-weight: 500; font-style: italic;
  color: var(--text); letter-spacing: -0.015em;
  position: relative;
}
.quote-mark {
  font-family: var(--font-display);
  position: absolute; top: -28px; left: -14px;
  font-size: 110px; line-height: 1; color: var(--primary);
  opacity: 0.35; font-style: italic; font-weight: 700;
  pointer-events: none;
}
.quote figcaption {
  display: flex; align-items: center; gap: 14px;
  font-size: 14px;
}
.quote-avatar {
  width: 44px; height: 44px; border-radius: 50%;
  background: var(--primary); color: var(--ink);
  display: grid; place-items: center;
  font-family: var(--font-display); font-style: italic; font-weight: 700; font-size: 22px;
}
.quote-meta { display: flex; flex-direction: column; line-height: 1.3; }
.quote-meta b { font-weight: 600; font-size: 15px; color: var(--text); }
.quote-meta span { font-size: 13px; color: var(--text-muted); }

/* СЃС‚Р°СЂС‹Рµ trust-РєР°СЂС‚РѕС‡РєРё Р±РѕР»СЊС€Рµ РЅРµ РёСЃРїРѕР»СЊР·СѓСЋС‚СЃСЏ */
.trust-stats, .trust-grid, .trust-card { display: none !important; }

/* ---------------- Steps ---------------- */
.steps { padding: 64px 0 32px; }
.steps-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.step-card {
  position: relative; padding: 22px 0; border-top: 1.5px solid var(--border);
  background: transparent; border-radius: 0;
  transition: none;
}
.step-card:hover { border-color: var(--text); }
.step-num {
  position: static; display: block; margin-bottom: 14px;
  font-family: var(--font-display); font-style: italic;
  font-weight: 700; font-size: 22px; line-height: 1;
  color: var(--primary);
}
.step-ico { display: none; }
.step-card h3 {
  margin: 0 0 8px; font-size: 17px; font-family: var(--font-display);
  font-weight: 700; letter-spacing: -0.01em; text-transform: none; color: var(--text);
}
.step-card p { margin: 0; color: var(--text-dim); font-size: 14px; line-height: 1.55; }

.payments { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 32px;
  padding: 16px 18px; background: var(--surface); border: 1.5px solid var(--border); border-radius: var(--radius); }
.payments-label { color: var(--text-muted); font-size: 13px; font-weight: 500; font-family: var(--font); text-transform: none; letter-spacing: 0; }
.pay-chip { display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px;
  background: var(--bg); border: 1px solid var(--border-soft); border-radius: var(--radius-sm); font-size: 14px; }
.pay-ico { font-size: 16px; display: inline-flex; }
.pay-chip b { font-weight: 600; }
.pay-note { color: var(--text-muted); font-size: 12.5px; }

/* ---------------- Popular ---------------- */
.popular { padding: 50px 0 10px; }
.grid-popular { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }

/* ---------------- FAQ (dark glass) ---------------- */
.faq { padding: 48px 0 24px; }
.faq-list {
  max-width: 1080px; margin: 0 auto;
  display: grid; grid-template-columns: repeat(2, 1fr);
  gap: 10px 14px;
}
@media (max-width: 768px) {
  .faq-list { grid-template-columns: 1fr; }
}
.faq-item {
  background: rgba(255, 255, 255, 0.055);
  border: 1px solid rgba(255, 255, 255, 0.105);
  border-radius: 18px;
  overflow: hidden;
  transition: border-color 0.2s ease, background 0.2s ease;
  height: fit-content;
}
.faq-item[open] {
  border-color: rgba(56, 189, 248, 0.35);
  background: rgba(56, 189, 248, 0.06);
}
.faq-item summary {
  list-style: none; cursor: pointer; padding: 18px 22px;
  font-weight: 700; font-size: 15px; color: var(--text);
  display: flex; align-items: center; justify-content: space-between; gap: 14px;
  letter-spacing: -0.02em;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-plus {
  flex-shrink: 0; font-size: 22px;
  color: var(--primary); font-weight: 700;
  transition: transform 0.2s ease;
}
.faq-item[open] .faq-plus { transform: rotate(45deg); }
.faq-answer {
  padding: 0 22px 18px; color: var(--text-muted);
  font-size: 14px; line-height: 1.65;
}

/* ---------------- Catalog ---------------- */
.catalog { padding: 8px 0 80px; }
.catalog .catalog-head, .catalog .catalog-search { display: none; }
.catalog-count {
  color: var(--text); font-size: 13px; margin: 0;
  font-family: var(--font); text-transform: none; letter-spacing: -0.01em;
  font-variant-numeric: tabular-nums; font-weight: 700;
  height: 40px;
  display: inline-flex; align-items: center;
  padding: 0 14px;
  border: 1px solid rgba(56, 189, 248, 0.3);
  border-radius: 999px;
  background: rgba(56, 189, 248, 0.08);
}

/* РљР°С‚Р°Р»РѕРі РІ СЃС‚РµРєР»СЏРЅРЅРѕР№ "shell" */
.catalog .container > .filters,
.catalog .container > .catalog-toolbar,
.catalog .container > .top-strip,
.catalog .container > .grid,
.catalog .container > #emptyState,
.catalog .container > .pagination {
  position: relative;
}

/* РўСѓР»Р±Р°СЂ */
.catalog-toolbar {
  display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px;
  margin: 22px 0 18px; font-size: 14px; color: var(--text-dim);
  font-weight: 600;
}
.toolbar-check {
  display: inline-flex; align-items: center; gap: 8px; cursor: pointer;
  user-select: none;
  height: 40px; padding: 0 16px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 999px;
  background: rgba(14, 19, 48, 0.55);
  color: var(--text-dim);
  font: inherit; font-size: 14px; font-weight: 600;
  transition: 0.2s ease;
}
.toolbar-check:hover {
  color: var(--text);
  border-color: rgba(56, 189, 248, 0.35);
  background: rgba(56, 189, 248, 0.1);
}
.toolbar-check input { accent-color: var(--primary); width: 16px; height: 16px; }
.toolbar-sort { display: inline-flex; align-items: center; gap: 8px; height: 40px; }
.toolbar-sort-label { color: var(--text-muted); font-weight: 600; display: inline-flex; align-items: center; height: 40px; line-height: 1; }
.dd-sort { position: relative; display: inline-flex; align-items: center; height: 40px; vertical-align: middle; }
.dd-sort .dd-toggle { vertical-align: middle; box-sizing: border-box; }
.dd-sort .dd-toggle {
  display: inline-flex; align-items: center; gap: 8px;
  height: 40px; padding: 0 16px; border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  background: rgba(14, 19, 48, 0.55);
  color: var(--text); font: inherit; font-size: 14px; font-weight: 600;
  cursor: pointer; transition: 0.2s ease;
}
.dd-sort .dd-toggle:hover {
  border-color: rgba(56, 189, 248, 0.4);
  background: rgba(56, 189, 248, 0.08);
}
.dd-sort .dd-toggle.open {
  border-color: rgba(56, 189, 248, 0.5);
  box-shadow: 0 0 0 4px rgba(56, 189, 248, 0.12);
}
.dd-sort .dd-arrow {
  color: var(--text-muted); font-size: 12px;
  transition: transform 0.2s ease;
}
.dd-sort .dd-toggle.open .dd-arrow { transform: rotate(180deg); }
.dd-sort .dd-menu {
  position: absolute; top: calc(100% + 6px); right: 0; min-width: 200px;
  z-index: 30;
  background: rgba(19, 24, 56, 0.96);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 16px;
  padding: 6px;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.55);
  display: flex; flex-direction: column; gap: 2px;
}
.dd-sort .dd-menu[hidden] { display: none; }
.dd-sort .dd-option {
  display: block; width: 100%;
  padding: 10px 14px;
  border: 0; background: transparent;
  border-radius: 10px;
  color: var(--text-dim);
  font: inherit; font-size: 14px; font-weight: 500;
  text-align: left; cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}
.dd-sort .dd-option:hover {
  background: rgba(56, 189, 248, 0.1);
  color: var(--text);
}
.dd-sort .dd-option.selected {
  background: rgba(56, 189, 248, 0.18);
  color: #fff; font-weight: 700;
}
/* РЎРєСЂС‹РІР°РµРј СѓСЃС‚Р°СЂРµРІС€РёР№ РЅР°С‚РёРІРЅС‹Р№ СЃРµР»РµРєС‚ РµСЃР»Рё РѕРЅ РѕСЃС‚Р°Р»СЃСЏ РіРґРµ-С‚Рѕ */
#sortSelect { display: none !important; }

/* Filter tabs вЂ” glass pills */
.filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.filter-chip {
  display: inline-flex; align-items: center; gap: 8px;
  height: 42px; padding: 0 16px; border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  background: rgba(14, 19, 48, 0.55);
  color: var(--text-muted);
  font: inherit; font-size: 13px; font-weight: 700;
  cursor: pointer;
  transition: 0.2s ease;
  letter-spacing: -0.01em;
}
.filter-chip:hover {
  color: var(--text);
  border-color: rgba(56, 189, 248, 0.35);
  background: rgba(56, 189, 248, 0.11);
  transform: translateY(-1px);
}
.filter-chip.active {
  color: #fff;
  border-color: rgba(56, 189, 248, 0.55);
  background: linear-gradient(135deg, rgba(56, 189, 248, 0.22), rgba(139, 92, 246, 0.22));
  box-shadow: 0 8px 22px rgba(56, 189, 248, 0.18);
}
.chip-emoji { font-size: 16px; line-height: 1; }
.chip-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 16px; height: 16px;
  color: var(--cat-color, var(--primary));
  flex-shrink: 0;
  filter: drop-shadow(0 0 6px color-mix(in srgb, var(--cat-color, var(--primary)) 40%, transparent));
}
.filter-chip.active .chip-icon {
  color: var(--cat-color, var(--primary));
  filter: drop-shadow(0 0 8px color-mix(in srgb, var(--cat-color, var(--primary)) 60%, transparent));
}
.chip-label { line-height: 1; }
.chip-count {
  min-width: 22px; text-align: center; font-size: 11px; font-weight: 700;
  padding: 2px 8px; border-radius: 999px; line-height: 1.4;
  background: rgba(255, 255, 255, 0.08);
  color: inherit;
  font-variant-numeric: tabular-nums;
}
.filter-chip.active .chip-count { background: rgba(255, 255, 255, 0.18); color: #fff; }

/* РЎРµС‚РєР° РєР°С‚Р°Р»РѕРіР° */
.grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px; }
@media (min-width: 1280px) { .grid { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 1600px) { .grid { grid-template-columns: repeat(5, 1fr); } }
.grid-popular { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }

/* РљР°СЂС‚РѕС‡РєР° вЂ” glass СЃ РїРѕРґСЃРІРµС‚РєРѕР№ */
.card {
  position: relative;
  display: flex; flex-direction: column;
  padding: 18px;
  min-height: 240px;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.045);
  border: 1px solid rgba(255, 255, 255, 0.09);
  overflow: hidden;
  cursor: pointer;
  transition: 0.25s ease;
  --glow-x: 50%;
  --glow-y: 50%;
  --glow-intensity: 0;
  --glow-radius: 240px;
}
.card:hover {
  transform: translateY(-4px);
  background: rgba(255, 255, 255, 0.075);
  border-color: rgba(255, 255, 255, 0.16);
}
.card:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
@keyframes cardIn { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.card.card-in { animation: cardIn 0.4s ease both; }

/* Р›РѕРіРѕ/РІРёР·СѓР°Р» вЂ” РєРѕРјРїР°РєС‚РЅС‹Р№ РєРІР°РґСЂР°С‚ СЃРІРµСЂС…Сѓ-СЃР»РµРІР° */
.card-visual {
  position: relative;
  width: 54px; height: 54px;
  display: grid; place-items: center;
  border-radius: 18px;
  margin-bottom: 16px;
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--brand, var(--primary)) 60%, rgba(255,255,255,0.08)),
    color-mix(in srgb, var(--brand, var(--primary)) 30%, rgba(255,255,255,0.04)));
  border: 1px solid color-mix(in srgb, var(--brand, var(--primary)) 30%, rgba(255, 255, 255, 0.1));
  overflow: visible;
}
.card-visual::before { display: none; }
.tile-logo {
  width: 32px; height: 32px; object-fit: contain; position: relative; z-index: 1;
  filter: brightness(1.1);
}
.tile-word {
  position: relative; z-index: 1; color: #fff; font-family: var(--font);
  font-weight: 800; font-size: 11px; letter-spacing: -0.02em;
  padding: 0 4px; text-align: center; line-height: 1;
  max-width: 100%; overflow: hidden; text-overflow: clip;
  white-space: nowrap;
}
.tile-mono {
  position: relative; z-index: 1; color: var(--text); font-family: var(--font);
  font-weight: 800; font-size: 22px; letter-spacing: -0.04em;
}

/* Р’ С‚С‘РјРЅРѕР№ С‚РµРјРµ mono-РїР»РёС‚РєРё РёСЃРїРѕР»СЊР·СѓСЋС‚ СЏСЂРєРёР№ Р±СЂРµРЅРґРѕРІС‹Р№ С†РІРµС‚, Р° РЅРµ СЃРІРµС‚Р»СѓСЋ РїР»Р°С€РєСѓ */
.card-visual:has(.tile-mono) {
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--brand, var(--primary)) 32%, rgba(255,255,255,0.05)),
    color-mix(in srgb, var(--brand, var(--primary)) 16%, rgba(255,255,255,0.04)));
  border-color: color-mix(in srgb, var(--brand, var(--primary)) 30%, rgba(255,255,255,0.1));
}
.card-visual:has(.tile-mono)::before { display: none; }
.card-visual:has(.tile-mono) .tile-mono { color: #fff; }

/* Р‘РµР№РґР¶Рё вЂ” РєСЂРёС‚РёС‡РЅС‹Рµ СЃС‚РёРєРµСЂС‹ РІ СѓРіР»Сѓ */
.card-out-badge {
  position: absolute; top: 18px; right: 18px;
  font-size: 11px; font-weight: 800;
  padding: 6px 10px; border-radius: 999px; z-index: 2;
  letter-spacing: -0.005em;
  background: rgba(248, 113, 113, 0.18);
  color: #fecaca;
  border: 1px solid rgba(248, 113, 113, 0.3);
}

/* Р РµРіРёРѕРЅ/РѕСЃС‚Р°С‚РѕРє вЂ” РІСЃС‚СЂР°РёРІР°СЋС‚СЃСЏ РІ СЃС‚СЂРѕРєСѓ card-meta РєР°Рє С‡РёРїС‹ */
.card-region-badge,
.card-low-badge {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: 11px; font-weight: 700;
  padding: 3px 9px; border-radius: 999px;
  letter-spacing: -0.005em;
  position: static;
}
.card-region-badge {
  background: rgba(255, 255, 255, 0.07);
  color: var(--text-dim);
  border: 1px solid rgba(255, 255, 255, 0.1);
}
.card-low-badge {
  background: rgba(54, 229, 143, 0.14);
  color: #bbf7d0;
  border: 1px solid rgba(54, 229, 143, 0.28);
}

/* РўРµР»Рѕ */
.card-body {
  display: flex; flex-direction: column; gap: 0; flex: 1; padding: 0;
}
.card-meta {
  display: flex; align-items: center; flex-wrap: wrap; gap: 6px;
  font-size: 11px; color: var(--text-muted);
  font-weight: 700; letter-spacing: 0;
  margin-bottom: 8px;
  min-height: 22px;
}
.card-cat { white-space: nowrap; }
.card-title {
  font-size: 19px; font-weight: 700; margin: 0;
  letter-spacing: -0.045em; line-height: 1.2;
  color: var(--text);
  display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden;
  -webkit-line-clamp: 2; line-clamp: 2;
  min-height: 48px;
  margin-bottom: 8px;
}

.card-price-row {
  display: flex; align-items: baseline; gap: 8px;
  margin-top: auto; padding-top: 14px;
}
.card-from {
  font-size: 12px; color: var(--text-muted); font-weight: 600;
}
.card-price-rub {
  font-size: 32px; font-weight: 900; line-height: 1;
  color: var(--text); letter-spacing: -0.05em;
  font-variant-numeric: tabular-nums;
}
.card-foot {
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
  margin-top: 10px;
}
.card-foot .card-go:only-child { margin-left: auto; }
.card-savings {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: 11px; font-weight: 700; color: #fff;
  background: rgba(236, 72, 153, 0.22);
  border: 1px solid rgba(236, 72, 153, 0.35);
  padding: 4px 9px; border-radius: 999px;
  white-space: nowrap;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}
.card-savings em { font-style: normal; white-space: nowrap; }
.card-go {
  font-size: 12px; color: var(--primary); font-weight: 700;
  transition: color 0.2s ease, transform 0.2s ease;
}
.card:hover .card-go { transform: translateX(3px); }
.card-out { opacity: 0.5; }
.card-out:hover { transform: none !important; }

/* Magic Bento glow РЅР° РєР°СЂС‚РѕС‡РєРµ вЂ” РїСЂРёРіР»СѓС€С‘РЅРЅС‹Р№, С‡С‚РѕР±С‹ РЅРµ РїРµСЂРµРіСЂСѓР¶Р°С‚СЊ */
.card::after {
  content: "";
  position: absolute;
  inset: 0;
  padding: 1px;
  border-radius: inherit;
  background: radial-gradient(
    var(--glow-radius) circle at var(--glow-x) var(--glow-y),
    rgba(56, 189, 248, 0.55) 0%,
    rgba(139, 92, 246, 0.22) 32%,
    transparent 60%
  );
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
  opacity: var(--glow-intensity);
  transition: opacity 0.25s ease;
  pointer-events: none;
  z-index: 3;
}
.card-out::after { display: none; }

/* РџСЂРѕР¶РµРєС‚РѕСЂ РєСѓСЂСЃРѕСЂР° */
.mb-spotlight {
  position: fixed;
  top: 0; left: 0;
  width: 700px; height: 700px;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  opacity: 0; z-index: 1;
  mix-blend-mode: screen;
  will-change: transform, opacity;
  transition: opacity 0.3s ease;
  background: radial-gradient(
    circle,
    rgba(56, 189, 248, 0.18) 0%,
    rgba(139, 92, 246, 0.08) 25%,
    transparent 70%
  );
}

/* Р§Р°СЃС‚РёС†С‹ */
.mb-particle {
  position: absolute; width: 3px; height: 3px;
  border-radius: 50%;
  background: rgba(56, 189, 248, 0.9);
  box-shadow: 0 0 8px rgba(56, 189, 248, 0.6);
  pointer-events: none;
  z-index: 2; opacity: 0;
  animation: mbParticle var(--dur, 3s) ease-in-out infinite;
}
@keyframes mbParticle {
  0%   { opacity: 0; transform: translate(0, 0) scale(0); }
  15%  { opacity: 1; transform: translate(0, 0) scale(1); }
  85%  { opacity: 0.4; }
  100% { opacity: 0; transform: translate(var(--tx, 0), var(--ty, 0)) scale(1); }
}

.mb-ripple {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: 2;
  background: radial-gradient(
    circle,
    rgba(56, 189, 248, 0.42) 0%,
    rgba(139, 92, 246, 0.20) 30%,
    transparent 70%
  );
  animation: mbRipple 0.7s ease-out forwards;
}
@keyframes mbRipple {
  from { transform: scale(0); opacity: 0.9; }
  to   { transform: scale(1); opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .mb-particle, .mb-ripple { display: none; }
}

/* ============================================================
   (Magic Bento вЂ” СЃС‚Р°СЂС‹Рµ РѕС‚РєР»СЋС‡Р°СЋС‰РёРµ РїСЂР°РІРёР»Р° СѓРґР°Р»РµРЅС‹, Р°РєС‚СѓР°Р»СЊРЅС‹Рµ
   РѕРїСЂРµРґРµР»РµРЅРёСЏ РЅР°С…РѕРґСЏС‚СЃСЏ РІС‹С€Рµ РІ Р±Р»РѕРєРµ РєР°СЂС‚РѕС‡РµРє.)
   ============================================================ */

/* Pagination 1 В· 2 В· 3 */
.pagination { display: flex; justify-content: center; align-items: center; gap: 6px; margin-top: 36px; flex-wrap: wrap; }
.pagination[hidden] { display: none; }
.page-btn {
  min-width: 40px; height: 40px; padding: 0 12px; border-radius: var(--radius);
  border: 1px solid var(--border); background: var(--surface); color: var(--text-dim);
  font: inherit; font-weight: 700; font-size: 14px; cursor: pointer; font-family: var(--font-mono);
  transition: color 0.15s ease, border-color 0.15s ease, background 0.15s ease;
}
.page-btn:hover:not(:disabled) { color: var(--primary); border-color: var(--primary); }
.page-btn.active { background: var(--primary); border-color: var(--primary); color: var(--ink); }
.page-btn:disabled { opacity: 0.35; cursor: not-allowed; }
.page-arrow { font-size: 18px; }
.page-ellipsis { color: var(--text-muted); padding: 0 2px; }

/* ---------------- Empty state ---------------- */
.empty-state { text-align: center; padding: 60px 20px; color: var(--text-dim); }
.empty-emoji { font-size: 46px; }
.empty-state h3 { margin: 14px 0 6px; color: var(--text); }
.empty-state p { margin: 0; }

/* ---------------- Reviews вЂ” СЃС‚РёР»РёР·РѕРІР°РЅС‹ РїРѕРґ Telegram-С‡Р°С‚ ---------------- */
.reviews { padding: 32px 0 64px; }
.reviews-nav { display: flex; gap: 6px; }
.reviews-track {
  display: flex; gap: 14px; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory;
  padding: 6px 2px 16px; margin: 0 -2px;
  scrollbar-width: thin; scrollbar-color: var(--border) transparent;
}
.reviews-track::-webkit-scrollbar { height: 8px; width: 0; }
.reviews-track::-webkit-scrollbar:vertical { display: none; width: 0; }
.reviews-track::-webkit-scrollbar-thumb { background: var(--border-soft); border-radius: 999px; }

/* РљР°СЂС‚РѕС‡РєР°-В«РїСѓР·С‹СЂСЊВ»: СЃРІРµСЂС…Сѓ РјРёРЅРё-С€Р°РїРєР° РѕС‚ Р°РІС‚РѕСЂР°, СЃР°Рј РѕС‚Р·С‹РІ вЂ” bubble */
.review-card {
  flex: 0 0 320px; max-width: 320px; scroll-snap-align: start;
  background: transparent; border: none;
  border-radius: 0; padding: 0; display: flex; flex-direction: column; gap: 10px;
  height: auto; min-height: 200px; box-sizing: border-box;
}
.review-head { display: flex; align-items: center; gap: 10px; padding: 0 4px; }
.review-avatar {
  width: 36px; height: 36px; flex-shrink: 0; border-radius: 50%;
  display: grid; place-items: center;
  font-weight: 600; color: var(--ink);
  font-family: var(--font-display); font-style: italic; font-size: 17px;
  background: var(--primary);
}
.review-meta { display: flex; flex-direction: column; flex: 1; min-width: 0; line-height: 1.25; }
.review-name {
  font-weight: 600; font-size: 14px;
  display: flex; align-items: center; gap: 6px;
  font-family: var(--font);
}
.review-verified {
  display: inline-grid; place-items: center; width: 14px; height: 14px; border-radius: 50%;
  background: var(--primary); color: var(--ink); font-size: 9px; font-weight: 700;
}
.review-product {
  font-size: 12px; color: var(--text-muted); font-weight: 400;
  font-family: var(--font); text-transform: none; letter-spacing: 0;
  font-style: italic;
}
.review-date {
  font-size: 11px; color: var(--text-muted); white-space: nowrap;
  font-family: var(--font); letter-spacing: 0;
}
.review-text {
  margin: 0; color: var(--text); font-size: 14px; line-height: 1.45;
  background: var(--surface);
  border: 1px solid var(--border-soft);
  padding: 12px 14px;
  border-radius: 14px 14px 14px 4px;
  display: -webkit-box; -webkit-line-clamp: 6; -webkit-box-orient: vertical;
  overflow: hidden;
  position: relative;
}

/* ---------------- CTA band ---------------- */
.cta-band { padding: 8px 0 64px; }
.cta-inner {
  display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap;
  background: var(--primary); color: var(--ink);
  border: none; border-radius: var(--radius); padding: 40px 40px;
}
.cta-inner h2 { margin: 0 0 6px; font-size: 30px; font-family: var(--font-display); text-transform: none; letter-spacing: -0.02em; font-weight: 700; }
.cta-inner p { margin: 0; color: color-mix(in srgb, var(--ink) 75%, transparent); font-weight: 500; }
.cta-inner .btn-primary { background: var(--ink); color: var(--primary); border-color: var(--ink); box-shadow: 4px 4px 0 rgba(0,0,0,0.25); }
.cta-inner .btn-primary:hover { background: #000; }

/* ---------------- Footer ---------------- */
.site-
.
.
.
.
.
.
.
.
.legal-link {
  background: none; border: none; padding: 0; cursor: pointer; font: inherit; font-size: 12px;
  font-family: var(--font-mono); color: var(--text-dim); text-decoration: underline; text-underline-offset: 3px;
  transition: color 0.18s ease;
}
.legal-link:hover { color: var(--primary); }

/* Legal modal content */
.legal-updated { color: var(--text-muted); font-size: 13px; margin: 4px 0 18px; font-family: var(--font); font-style: italic; }
.legal-doc { color: var(--text-dim); }
.legal-h { font-size: 15px; font-family: var(--font-display); color: var(--text); margin: 18px 0 6px; text-transform: none; font-weight: 700; }
.legal-p { font-size: 13.5px; line-height: 1.6; margin: 0; }

/* ---------------- Modal ---------------- */
.modal { position: fixed; inset: 0; z-index: 300; display: grid; place-items: center; padding: 20px; }
.modal[hidden] { display: none; }
.modal-backdrop { position: absolute; inset: 0; background: rgba(3, 5, 12, 0.78); backdrop-filter: blur(6px); animation: fade 0.2s ease; }
.modal-dialog {
  position: relative; width: 100%; max-width: 600px; max-height: 90vh; overflow-y: auto;
  background:
    radial-gradient(circle at 14% 0%, rgba(56, 189, 248, 0.18), transparent 38%),
    rgba(19, 24, 56, 0.96);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 22px;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.55);
  animation: pop 0.2s cubic-bezier(0.2,0.8,0.3,1.1);
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.18) transparent;
  -webkit-overflow-scrolling: touch;
  color: var(--text);
}
.modal-dialog::-webkit-scrollbar { width: 10px; }
.modal-dialog::-webkit-scrollbar-track { background: transparent; margin: 12px 0; }
.modal-dialog::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, 0.16); border-radius: 999px; border: 3px solid transparent; background-clip: padding-box; }
.modal-dialog::-webkit-scrollbar-thumb:hover { background: rgba(255, 255, 255, 0.28); background-clip: padding-box; }
.modal-close {
  position: absolute; top: 14px; right: 14px; width: 38px; height: 38px; border-radius: 11px;
  border: 1px solid rgba(255, 255, 255, 0.13); background: rgba(255, 255, 255, 0.08); color: var(--text);
  font-size: 22px; line-height: 1; cursor: pointer; z-index: 2; transition: background 0.2s ease;
}
.modal-close:hover { background: var(--surface-2); }
.modal-body { padding: 28px; }
@keyframes fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes pop { from { opacity: 0; transform: translateY(16px) scale(0.97); } to { opacity: 1; transform: translateY(0) scale(1); } }

.modal-head { display: flex; gap: 16px; align-items: center; margin-bottom: 20px; padding-right: 36px; }
.modal-visual {
  width: 70px; height: 70px; flex-shrink: 0; border-radius: var(--radius); display: grid; place-items: center; overflow: hidden;
  border: 1px solid var(--border);
  background: linear-gradient(150deg, color-mix(in srgb, var(--brand) 60%, #0a0a0a), color-mix(in srgb, var(--brand) 28%, #0a0a0a));
}
.modal-visual .tile-logo { width: 40px; height: 40px; }
.modal-visual .tile-word { font-size: 16px; padding: 0 6px; }
.modal-visual .tile-mono { font-size: 26px; }
.modal-title { margin: 0; font-size: 22px; font-family: var(--font-display); text-transform: none; letter-spacing: -0.01em; font-weight: 700; }
.modal-cat { font-size: 13px; color: var(--text-muted); font-family: var(--font); text-transform: none; letter-spacing: 0; font-style: italic; }

.section-label { font-size: 12px; font-weight: 600; color: var(--text-muted); text-transform: none; letter-spacing: 0; margin: 0 0 12px; font-family: var(--font); font-style: italic; }

/* Modal tabs: РљСѓРїРёС‚СЊ / РРЅСЃС‚СЂСѓРєС†РёСЏ */
.modal-tabs {
  display: flex; gap: 4px; padding: 4px; margin-bottom: 22px;
  background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius);
}
.modal-tab {
  flex: 1; padding: 10px 12px; border: none; border-radius: var(--radius-sm); cursor: pointer;
  background: transparent; color: var(--text-dim); font: inherit; font-weight: 600; font-size: 14px;
  font-family: var(--font); text-transform: none; letter-spacing: 0;
  transition: background 0.16s ease, color 0.16s ease;
}
.modal-tab:hover { color: var(--text); }
.modal-tab.active { background: var(--primary); color: var(--ink); }
.modal-pane { animation: fade 0.18s ease; }

/* Currency toggle inside modal */
.cur-toggle {
  display: flex; gap: 4px; padding: 4px; margin-bottom: 20px;
  background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); width: fit-content;
}
.cur-btn {
  padding: 8px 16px; border: none; border-radius: var(--radius-sm); cursor: pointer;
  background: transparent; color: var(--text-dim); font: inherit; font-weight: 700; font-size: 13px;
  font-family: var(--font-mono);
  transition: background 0.16s ease, color 0.16s ease;
}
.cur-btn:hover { color: var(--text); }
.cur-btn.active { background: var(--primary); color: var(--ink); }

/* Instruction list */
.instruction-list { margin: 0 0 6px; padding: 0; list-style: none; counter-reset: step; }
.instruction-list li {
  position: relative; padding: 0 0 16px 42px; counter-increment: step;
  color: var(--text-dim); font-size: 14px; line-height: 1.5;
}
.instruction-list li::before {
  content: counter(step); position: absolute; left: 0; top: -2px;
  width: 28px; height: 28px; border-radius: var(--radius-sm); display: grid; place-items: center;
  background: var(--primary); border: none;
  color: var(--ink); font-family: var(--font-mono); font-weight: 800; font-size: 13px;
}
.instruction-list li:not(:last-child)::after {
  content: ""; position: absolute; left: 13px; top: 30px; bottom: 4px; width: 2px;
  background: var(--border);
}

/* Region custom dropdown */
.dd { position: relative; margin-bottom: 22px; }
.dd-toggle {
  width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 10px;
  padding: 13px 16px; border-radius: var(--radius); border: 1px solid var(--border);
  background: var(--surface); color: var(--text); font: inherit; font-size: 14px; font-weight: 600;
  cursor: pointer; outline: none; transition: border-color 0.18s ease, box-shadow 0.18s ease;
}
.dd-toggle:hover { border-color: var(--primary); }
.dd-toggle.open, .dd-toggle:focus-visible {
  border-color: rgba(56, 189, 248, 0.5);
  box-shadow: 0 0 0 4px rgba(56, 189, 248, 0.12);
}
.dd-arrow { color: var(--text-muted); font-size: 13px; transition: transform 0.18s ease; }
.dd-toggle.open .dd-arrow { transform: rotate(180deg); }
.dd-code {
  display: inline-block; margin-left: 6px; padding: 1px 7px; border-radius: var(--radius-sm); font-size: 11px;
  font-weight: 700; font-family: var(--font-mono); background: color-mix(in srgb, var(--primary) 20%, transparent); color: var(--primary);
}
.dd-menu {
  position: absolute; top: calc(100% + 6px); left: 0; right: 0; z-index: 20;
  max-height: 280px; overflow-y: auto; padding: 6px;
  background: var(--bg-soft); border: 1px solid var(--primary); border-radius: var(--radius);
  box-shadow: var(--shadow); animation: pop 0.16s ease;
  scrollbar-width: thin; scrollbar-color: var(--border) transparent;
}
.dd-menu::-webkit-scrollbar { width: 8px; }
.dd-menu::-webkit-scrollbar-thumb { background: var(--border); border-radius: 999px; border: 2px solid transparent; background-clip: padding-box; }
.dd-option {
  width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 10px;
  padding: 11px 12px; border: none; border-radius: var(--radius-sm); cursor: pointer;
  background: transparent; color: var(--text); font: inherit; font-size: 14px; font-weight: 500; text-align: left;
  transition: background 0.14s ease;
}
.dd-option:hover { background: var(--surface-2); }
.dd-option.selected { background: color-mix(in srgb, var(--primary) 16%, transparent); font-weight: 700; }
.dd-check { color: var(--primary); font-weight: 800; }
.dd-opt-out { opacity: 0.5; }
.dd-out { font-size: 11px; color: var(--danger); font-weight: 700; }

/* Denominations вЂ” compact LIST (not big buttons) */
.denom-list { display: flex; flex-direction: column; gap: 6px; margin-bottom: 22px; }
.denom-row {
  display: flex; align-items: center; gap: 12px; width: 100%;
  padding: 12px 14px; border-radius: var(--radius); border: 1px solid var(--border);
  background: var(--surface); color: var(--text); font: inherit; cursor: pointer; text-align: left;
  transition: border-color 0.14s ease, background 0.14s ease;
}
.denom-row:hover { border-color: var(--primary); background: var(--surface-2); }
.denom-radio {
  width: 18px; height: 18px; flex-shrink: 0; border-radius: 50%;
  border: 2px solid var(--border); position: relative; transition: border-color 0.15s ease;
}
.denom-row.selected { border-color: var(--primary); background: color-mix(in srgb, var(--primary) 12%, var(--surface)); }
.denom-row.selected .denom-radio { border-color: var(--primary); }
.denom-row.selected .denom-radio::after {
  content: ""; position: absolute; inset: 3px; border-radius: 50%; background: var(--primary);
}
.denom-name { flex: 1; font-weight: 600; font-size: 14px; }
.denom-price { font-weight: 800; font-size: 15px; font-family: var(--font-mono); color: var(--primary); }
.denom-out { opacity: 0.4; cursor: not-allowed; }
.denom-out:hover { border-color: var(--border); background: var(--surface); }

.hint-block {
  background: var(--surface);
  border: 1px solid var(--border); border-left: 3px solid var(--primary);
  border-radius: var(--radius); padding: 13px 15px; font-size: 13px; color: var(--text-dim); margin: 4px 0 12px;
}

.order-summary { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 16px 18px; margin: 4px 0 18px; }
.order-row { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-size: 14px; }
.order-row + .order-row { margin-top: 8px; }
.order-row.total { margin-top: 14px; padding-top: 14px; border-top: 1px dashed var(--border); font-size: 22px; font-weight: 800; font-family: var(--font-mono); }
.order-row.total [data-summary-total] { color: var(--primary); }
.order-row .muted { color: var(--text-muted); }

.field-error { color: var(--danger); font-size: 12.5px; margin-top: 8px; min-height: 1em; }

.modal-narrow { max-width: 440px; }
.modal-title.center { text-align: center; }

/* ---------------- Promo / win screens (Memory) ---------------- */
.wheel-sub { text-align: center; color: var(--text-dim); font-size: 14px; margin: 6px 0 20px; }
.case-won { text-align: center; }
.case-won-emoji { font-size: 50px; animation: pop 0.4s ease; }
.wheel-won { text-align: center; }
.promo-code {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  margin: 16px 0 14px; padding: 14px 18px; border-radius: var(--radius); cursor: pointer;
  background: var(--surface); border: 2px dashed var(--primary); color: var(--primary);
  font-family: var(--font-mono); font-weight: 800; font-size: 20px; letter-spacing: 1px;
}
.promo-copy { font-family: var(--font); font-size: 12px; font-weight: 600; color: var(--text-muted); letter-spacing: 0; }
.promo-timer { text-align: center; font-size: 14px; color: var(--text-dim); margin-bottom: 16px; font-family: var(--font-mono); }
.promo-timer[data-expired="1"] { color: var(--danger); }
.wheel-hint { text-align: center; font-size: 12.5px; color: var(--text-muted); margin: 12px 0 0; }

/* ---------------- Quiz ---------------- */
.quiz-progress { height: 6px; border-radius: 999px; background: var(--surface-2); overflow: hidden; margin-bottom: 14px; }
.quiz-progress span { display: block; height: 100%; background: var(--primary); transition: width 0.3s ease; }
.quiz-compare {
  text-align: left; margin: 16px 0; padding: 16px; border-radius: var(--radius);
  background: var(--surface); border: 1px solid var(--border);
}
.quiz-compare-title { margin: 0 0 12px; font-size: 12px; color: var(--text-muted); font-family: var(--font-mono); text-transform: uppercase; }
.cmp-row { display: flex; align-items: center; justify-content: space-between; padding: 7px 0; font-size: 14px; color: var(--text-dim); }
.cmp-row + .cmp-row { border-top: 1px solid var(--border-soft); }
.cmp-bad { color: var(--danger); text-decoration: line-through; font-family: var(--font-mono); }
.cmp-mid { color: var(--text-dim); font-family: var(--font-mono); }
.cmp-us { margin-top: 2px; }
.cmp-good { color: var(--primary); font-size: 18px; font-family: var(--font-mono); }
.cmp-save {
  margin-top: 12px; padding: 10px; border-radius: var(--radius); text-align: center; font-weight: 700; font-size: 14px;
  background: var(--primary); color: var(--ink);
}

/* ---------------- Memory game ---------------- */
.mem-bar { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 6px 0 16px; font-size: 13px; color: var(--text-dim); font-family: var(--font-mono); }
.mem-bar b { color: var(--primary); font-family: var(--font-mono); }
.mem-restart { background: var(--surface); border: 1px solid var(--border); color: var(--text-dim); border-radius: var(--radius); padding: 6px 12px; cursor: pointer; font: inherit; font-size: 12px; font-weight: 600; font-family: var(--font-mono); transition: border-color 0.15s ease, color 0.15s ease; }
.mem-restart:hover { border-color: var(--primary); color: var(--primary); }
.mem-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.mem-card {
  position: relative; aspect-ratio: 1; border: none; background: none; cursor: pointer; padding: 0;
  transform-style: preserve-3d; transition: transform 0.4s cubic-bezier(0.2,0.8,0.3,1.1);
}
.mem-card.flipped { transform: rotateY(180deg); }
.mem-face {
  position: absolute; inset: 0; display: grid; place-items: center; border-radius: var(--radius);
  font-size: 30px; backface-visibility: hidden; -webkit-backface-visibility: hidden;
}
.mem-back { background: var(--primary); color: var(--ink); font-size: 22px; font-family: var(--font-mono); font-weight: 800; }
.mem-front { background: var(--surface); border: 1px solid var(--border); transform: rotateY(180deg); }
.mem-card.matched .mem-front { border-color: var(--primary); box-shadow: 0 0 0 2px var(--primary) inset; animation: matchpop 0.4s ease; }
@keyframes matchpop { 0% { transform: rotateY(180deg) scale(1); } 50% { transform: rotateY(180deg) scale(1.12); } 100% { transform: rotateY(180deg) scale(1); } }


.quiz-step { text-align: center; font-size: 12px; color: var(--text-muted); margin: 0 0 6px; text-transform: uppercase; letter-spacing: 0.05em; }
.quiz-options { display: grid; gap: 10px; margin-top: 18px; }
.quiz-opt {
  padding: 16px 18px; border-radius: 12px; border: 1px solid var(--border); cursor: pointer;
  background: var(--surface); color: var(--text); font: inherit; font-weight: 600; font-size: 15px; text-align: left;
  transition: border-color 0.15s ease, background 0.15s ease, transform 0.12s ease;
}
.quiz-opt:hover { border-color: var(--primary); background: var(--surface-2); transform: translateY(-2px); }
.quiz-result { text-align: center; }
.quiz-burst { font-size: 44px; animation: pop 0.4s ease; }
.quiz-pick {
  margin: 14px 0 20px; padding: 16px; border-radius: 12px; font-family: var(--font-display);
  font-weight: 800; font-size: 20px; color: #fff;
  background: linear-gradient(135deg, var(--primary), var(--primary-2));
}
.quiz-result .btn + .btn { margin-top: 10px; }

/* ---------------- Responsive ---------------- */
@media (max-width: 980px) {
  .hero-inner { grid-template-columns: 1fr; gap: 40px; }
  .hero-chat { order: -1; }
  .chat-frame { margin-left: 0; max-width: 100%; }
  .hero-chat-cap { text-align: left; max-width: 100%; margin-left: 0; }
  .steps-grid { grid-template-columns: repeat(2, 1fr); }
  .header-nav { display: none; }
  .quote { padding: 36px 28px; }
}
@media (max-width: 680px) {
  .brand-sub { display: none; }
  .hero { padding: 40px 0 24px; }
  .header-actions .btn-contact span { display: none; }
  .header-actions .btn-contact { padding: 9px 12px; }
  .
  .cta-inner { padding: 28px 24px; }
  .modal-body { padding: 22px 18px; }
  .grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .grid-popular { grid-template-columns: repeat(2, 1fr); }
  .review-card { flex-basis: 280px; }
  .section-head h2 { font-size: 24px; }
  .quote { padding: 28px 22px; }
  .quote blockquote { font-size: 19px; }
  body { padding-bottom: 72px; }       /* РјРµСЃС‚Рѕ РїРѕРґ mobile-fab */
}
@media (max-width: 460px) {
  .steps-grid { grid-template-columns: 1fr; }
}

/* Sticky CTA pill вЂ” РµРґРёРЅСЃС‚РІРµРЅРЅС‹Р№ РїР»Р°РІР°СЋС‰РёР№ РїСЂРёР·С‹РІ РЅР° Р»СЋР±С‹С… СѓСЃС‚СЂРѕР№СЃС‚РІР°С…. */
.sticky-cta {
  position: fixed;
  right: 18px; bottom: 18px;
  z-index: 60;
  display: inline-flex; align-items: center; gap: 10px;
  padding: 12px 20px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--primary), var(--primary-2));
  color: #0c1230;
  border: 1px solid rgba(255,255,255,0.18);
  box-shadow: 0 18px 50px rgba(56, 189, 248, 0.35), 0 6px 16px rgba(0,0,0,0.35);
  font: inherit; font-weight: 800; font-size: 14px;
  letter-spacing: -0.01em;
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}
.sticky-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 22px 60px rgba(56, 189, 248, 0.45), 0 8px 18px rgba(0,0,0,0.4);
}
.sticky-cta:active { transform: translateY(0); }
.sticky-cta svg { color: #0c1230; }
@media (max-width: 680px) {
  .sticky-cta { left: 14px; right: 14px; bottom: 14px; justify-content: center; }
  .sticky-cta span { font-size: 15px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  html { scroll-behavior: auto; }
  .reveal { opacity: 1 !important; transform: none !important; }
}



/* ============================================================
   v7 friendly вЂ” С„РёРЅР°Р»СЊРЅС‹Рµ РѕРІРµСЂСЂР°Р№РґС‹.
   Р“Р°СЃРёРј СЃС‚РёР»Рё СѓРґР°Р»С‘РЅРЅС‹С… СЃРµРєС†РёР№, С‡С‚РѕР±С‹ РЅРµ С‚РѕСЂС‡Р°Р»Рё fallback-СЃС‚РёР»Рё.
   ============================================================ */
.quote, .quote-mark, .quote-avatar, .quote-meta,
.steps-grid, .step-card, .step-ico,
.payments, .payments-label, .pay-chip, .pay-ico, .pay-note,
.popular, .grid-popular,
.reviews-track, .reviews-nav,
.cta-band, .cta-inner { display: none !important; }

/* Section-head РѕСЃС‚Р°РІР»СЏРµРј РІРєР»СЋС‡С‘РЅРЅС‹Рј РІ FAQ Рё Reviews. */
#faq .section-head,
#reviews .section-head { display: block !important; text-align: left; max-width: 720px; margin: 0 0 22px; }
#faq .section-head h2,
#reviews .section-head h2 { font-size: clamp(28px, 3.4vw, 38px); margin: 0 0 6px; font-weight: 700; letter-spacing: -0.025em; color: var(--text); }
#faq .section-head p,
#reviews .section-head p { margin: 0; color: var(--text-dim); font-size: 16px; }

.faq { padding: 24px 0 80px; }

/* РЎРєСЂС‹С‚С‹Рµ H1 Сѓ hero СѓР¶Рµ РЅРµ РїРѕРєР°Р·С‹РІР°РµРј РёС‚Р°Р»РёРєРѕРј, Р»РёС€РЅРёР№ Р±РµР№РґР¶ С‚РѕР¶Рµ */


/* ============================================================
   v8 storefront вЂ” С‚РѕРї-Р±Р»РѕРє Рё РїР»Р°РІР°СЋС‰РёР№ С‡Р°С‚-РІРёРґР¶РµС‚
   ============================================================ */

/* В«РўРѕРї СЃРµР№С‡Р°СЃВ» вЂ” РєСЂСѓРїРЅС‹Рµ РєР°СЂС‚РѕС‡РєРё СЃ Р»С‘РіРєРёРј Р°РєС†РµРЅС‚РѕРј */
.top-strip { margin: 8px 0 28px; }
.top-strip[hidden] { display: none; }
.top-strip-head {
  display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap;
  margin: 8px 0 16px;
}
.top-strip-head h2 {
  font-size: 22px; font-weight: 800; margin: 0; letter-spacing: -0.04em;
}
.top-strip-head span {
  font-size: 13px; color: var(--text-muted); font-weight: 600;
}

/* РЎРµС‚РєР° С‚РѕРїР°: РїРµСЂРІР°СЏ РєР°СЂС‚РѕС‡РєР° Р·Р°РЅРёРјР°РµС‚ 2 РєРѕР»РѕРЅРєРё Рё 2 СЂСЏРґР° */
.grid-top {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 14px;
  position: relative;
}
.grid-top .card {
  box-shadow: 0 18px 50px rgba(56, 189, 248, 0.12);
  border-color: rgba(255, 255, 255, 0.18);
  padding-top: 50px; /* РјРµСЃС‚Рѕ РїРѕРґ Р±РµР№РґР¶ В«РҐРёС‚ NВ» */
}

/* Р‘РµР№РґР¶ В«РҐРёС‚В» РїРѕРІРµСЂС… РєР°Р¶РґРѕР№ С‚РѕРї-РєР°СЂС‚РѕС‡РєРё */
.grid-top .card::before {
  content: "РҐРёС‚ " attr(data-hit);
  position: absolute; top: 16px; left: 16px; z-index: 4;
  background: rgba(236, 72, 153, 0.22);
  border: 1px solid rgba(236, 72, 153, 0.45);
  color: #fff;
  font-size: 11px; font-weight: 800; letter-spacing: -0.005em;
  padding: 5px 11px; border-radius: 999px;
}

/* Featured (РїРµСЂРІР°СЏ) РєР°СЂС‚РѕС‡РєР° вЂ” 2Г—2 РЅР° С€РёСЂРѕРєРѕРј СЌРєСЂР°РЅРµ, РіРѕСЂРёР·РѕРЅС‚Р°Р»СЊРЅС‹Р№ layout */
@media (min-width: 880px) {
  .grid-top { grid-template-columns: repeat(4, 1fr); grid-auto-rows: minmax(0, auto); }
  .grid-top .card:first-child {
    grid-column: span 2;
    grid-row: span 2;
    min-height: 0;
    padding: 32px;
    flex-direction: row;
    align-items: stretch;
    gap: 28px;
  }
  .grid-top .card:first-child .card-visual {
    width: 140px; height: 140px;
    border-radius: 28px;
    margin-bottom: 0;
    flex-shrink: 0;
    align-self: center;
  }
  .grid-top .card:first-child .card-body {
    flex: 1;
    display: flex; flex-direction: column;
    justify-content: center;
    gap: 8px;
    padding-top: 28px; /* РјРµСЃС‚Рѕ РїРѕРґ Р±РµР№РґР¶ В«РҐРёС‚ #1В» */
  }
  .grid-top .card:first-child .card-meta { margin-bottom: 4px; }
  .grid-top .card:first-child .card-title {
    font-size: 32px; line-height: 1.05; min-height: 0;
    margin-bottom: 4px;
  }
  .grid-top .card:first-child .card-price-rub { font-size: 42px; }
  .grid-top .card:first-child .card-price-row { padding-top: 8px; margin-top: 0; }
  .grid-top .card:first-child .card-foot { margin-top: 6px; }
  .grid-top .card:first-child .tile-logo { width: 72px; height: 72px; }
  .grid-top .card:first-child .tile-mono { font-size: 48px; }
  .grid-top .card:first-child .tile-word { font-size: 18px; }
  .grid-top .card:first-child::before {
    content: "РҐРёС‚ #1"; font-size: 13px; padding: 7px 14px;
    top: 18px; right: 18px; left: auto;
  }
  .grid-top .card:first-child .card-out-badge {
    top: 18px; left: 18px; right: auto;
  }
}

.catalog-toolbar { margin-top: 22px; }

/* РќР° РјРѕР±РёР»Рµ РїСЂСЏС‡РµРј Р±РѕР»СЊС€РѕР№ Telegram-Р±РµР№РґР¶ вЂ” РІРЅРёР·Сѓ РµСЃС‚СЊ sticky-CTA. */
@media (max-width: 680px) {
  .header-actions .btn-contact { display: none; }
  .header-actions .btn-channel { display: none; }
  .header-search { margin: 0 8px; }
}

@media (max-width: 540px) {
  .brand-text { display: none; }
}

@media (max-width: 680px) {
  .catalog-toolbar { gap: 8px 10px; }
  .catalog-toolbar .catalog-count { width: 100%; margin: 0; order: 99; }
}


/* CTA-strip РјРµР¶РґСѓ РєР°С‚Р°Р»РѕРіРѕРј Рё FAQ вЂ” РєРѕРјРїР°РєС‚РЅС‹Р№ final-cta */
.cta-strip { padding: 16px 0 28px; }
.cta-strip-inner {
  position: relative; overflow: hidden;
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
  padding: 18px 24px;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.10);
  background: linear-gradient(135deg, rgba(56,189,248,0.06), rgba(139,92,246,0.06));
  box-shadow: none;
}
.cta-strip-inner > .glow-orb { display: none; }
.cta-strip-inner > * { position: relative; z-index: 1; }
.cta-strip-text h3 {
  margin: 0 0 4px; font-size: 18px;
  font-weight: 800; letter-spacing: -0.02em; color: var(--text);
  line-height: 1.2;
}
.cta-strip-text p {
  margin: 0; color: var(--text-dim);
  font-size: 13.5px; line-height: 1.5;
  max-width: 560px;
}
.cta-strip-inner .btn {
  height: 42px; padding: 0 20px;
  font-size: 14px; font-weight: 800;
  border-radius: 999px;
  white-space: nowrap;
}
@media (max-width: 680px) {
  .cta-strip-inner {
    flex-direction: column; align-items: flex-start;
    padding: 16px 18px; border-radius: 14px;
  }
  .cta-strip-inner .btn { width: 100%; justify-content: center; }
}


/* ============================================================
   РЎРІРµС‚Р»Р°СЏ С‚РµРјР° вЂ” РѕРІРµСЂСЂР°Р№РґС‹ РґР»СЏ РјРµСЃС‚, РіРґРµ СЃС‚РѕСЏС‚ Р¶С‘СЃС‚РєРёРµ rgba()
   Рё С„РёРєСЃРёСЂРѕРІР°РЅРЅС‹Рµ С†РІРµС‚Р° navy.
   ============================================================ */
/* РљР°СЂС‚РѕС‡РєРё вЂ” Р±РµР»С‹Р№ С„РѕРЅ, РјСЏРіРєР°СЏ СЂР°РјРєР° */
/* Р§РёРїС‹ С„РёР»СЊС‚СЂРѕРІ вЂ” СЃРІРµС‚Р»С‹Рµ */
/* Toolbar */
/* FAQ */
/* CTA-strip */
/* Р§Р°С‚-РІРёРґР¶РµС‚ */
/* Modal */
/* Footer */
/* Spotlight вЂ” РѕС‚РєР»СЋС‡Р°РµРј РІ СЃРІРµС‚Р»РѕР№ С‚РµРјРµ (РЅР° Р±РµР»РѕРј С„РѕРЅРµ РѕРЅ Р±РµСЃРїРѕР»РµР·РµРЅ Рё Р»Р°РіСѓС‡РёР№) */
/* РћСЂР±С‹ Рё СЃРµС‚РєР°-РѕРІРµСЂР»РµР№ СЃР»РёС€РєРѕРј С‚СЏР¶С‘Р»С‹Рµ РЅР° Р±РµР»РѕРј С„РѕРЅРµ в†’ РѕС‚РєР»СЋС‡Р°РµРј */
/* Glow-СЂР°РјРєР° РЅР° РєР°СЂС‚РѕС‡РєР°С… РІ СЃРІРµС‚Р»РѕР№ С‚РµРјРµ С‚РѕР¶Рµ РѕС‚РєР»СЋС‡Р°РµРј вЂ”
   mask-composite + radial-gradient РЅР° 600 РєР°СЂС‚РѕС‡РєР°С… = Р»Р°РіРё. */
/* Hover РІ СЃРІРµС‚Р»РѕР№ С‚РµРјРµ вЂ” РїСЂРѕСЃС‚РѕР№ box-shadow Р±РµР· glow Рё С‚РёР»С‚ */
/* Р’ СЃРІРµС‚Р»РѕР№ С‚РµРјРµ РІСЃРµ brand-РїР»РёС‚РєРё (logo, word, mono) вЂ” РЅР° С‚С‘РјРЅРѕРј С„РѕРЅРµ,
   РїРѕС‚РѕРјСѓ С‡С‚Рѕ SVG-Р»РѕРіРѕС‚РёРїС‹ Р±РµР»С‹Рµ. */
/* Р‘РµР№РґР¶Рё В«РҐРёС‚ NВ» РІ СЃРІРµС‚Р»РѕР№ С‚РµРјРµ вЂ” РЅР°СЃС‹С‰РµРЅРЅС‹Р№ СЂРѕР·РѕРІС‹Р№ */


/* РђРІС‚Рѕ-СЃРєСЂС‹С‚РёРµ С€Р°РїРєРё РїСЂРё СЃРєСЂРѕР»Р»Рµ РІРЅРёР· */
.site-header {
  transition: transform 0.3s ease;
}
.site-header.header-hidden {
  transform: translateY(-100%);
}


/* РџСЂРµР·РµРЅС‚Р°С†РёСЏ РјРµР¶РґСѓ В«РҐРёС‚Р°РјРёВ» Рё РєР°С‚Р°Р»РѕРіРѕРј */
.intro-band {
  display: flex; align-items: center; justify-content: space-between;
  gap: 32px; flex-wrap: wrap;
  margin: 32px 0 28px;
  padding: 28px 32px;
  border-radius: 22px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background:
    radial-gradient(circle at 12% 0%, rgba(56, 189, 248, 0.16), transparent 38%),
    radial-gradient(circle at 88% 100%, rgba(139, 92, 246, 0.18), transparent 42%),
    linear-gradient(135deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));
}
.intro-band-text { flex: 1; min-width: 320px; }
.intro-band-text h2 {
  /* Р—Р°РіРѕР»РѕРІРѕРє РґР»РёРЅРЅС‹Р№ вЂ” С‡СѓС‚СЊ РЅРёР¶Рµ base, РїР»РѕС‚РЅРµРµ letter-spacing */
  margin: 0 0 10px;
  font-size: clamp(20px, 2.2vw, 26px);
  font-weight: 800; letter-spacing: -0.035em; line-height: 1.15;
}
.intro-band-text p {
  margin: 0; color: var(--text-dim);
  font-size: 14.5px; line-height: 1.6;
  max-width: 640px;
}
.intro-band-bullets {
  list-style: none; padding: 0; margin: 0;
  display: flex; gap: 24px; flex-wrap: wrap;
}
.intro-band-bullets li {
  display: flex; flex-direction: column;
  font-size: 12px; color: var(--text-muted);
  font-weight: 600; letter-spacing: -0.005em;
}
.intro-band-bullets b {
  color: var(--text); font-size: 22px; font-weight: 800;
  letter-spacing: -0.04em; line-height: 1;
  margin-bottom: 4px;
}
/* РўСЂРµС‚РёР№ stat вЂ” В«Telegram / РїСЂРѕРІРµСЂРєР° РїРµСЂРµРґ РѕРїР»Р°С‚РѕР№В» вЂ” РґР»РёРЅРЅРµРµ РѕСЃС‚Р°Р»СЊРЅС‹С…,
   СѓРјРµРЅСЊС€РёРј Сѓ РЅРµРіРѕ bold-РјРµС‚РєСѓ Рё РѕСЃС‚Р°РІРёРј РјРµСЃС‚Рѕ РїРѕРґ РґРІСѓС…СЃС‚СЂРѕС‡РЅС‹Р№ label. */
.intro-band-bullets .bullet-wide b { font-size: 16px; letter-spacing: -0.02em; }
.intro-band-bullets .bullet-wide { max-width: 200px; }
@media (max-width: 680px) {
  .intro-band { padding: 22px; gap: 18px; }
  .intro-band-bullets { gap: 16px; }
  .intro-band-bullets .bullet-wide { max-width: none; }
}


/* Р–С‘СЃС‚РєРѕРµ РІС‹СЂР°РІРЅРёРІР°РЅРёРµ С‚СѓР»Р±Р°СЂР° вЂ” РїРµСЂРµР±РёРІР°РµРј РІСЃС‘. */
.catalog-toolbar {
  align-items: center !important;
}
.catalog-toolbar > * {
  align-self: center !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.toolbar-check,
.dd-sort,
.dd-sort .dd-toggle,
.catalog-count,
.toolbar-sort,
.toolbar-sort-label {
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  vertical-align: middle !important;
  line-height: 1 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}


/* ============================================================
   v9 вЂ” Р¤РёР»СЊС‚СЂС‹ РІ РІРёРґРµ pill-РєРЅРѕРїРєРё + popover
   ============================================================ */
.filters-row {
  display: flex; align-items: center; gap: 12px;
  margin: 0 0 18px;
  flex-wrap: nowrap;
}
.filters-row .filters { margin: 0; flex: 1; }

.filter-fab { position: relative; flex-shrink: 0; }
.filter-fab-toggle {
  display: inline-flex; align-items: center; gap: 8px;
  height: 42px; padding: 0 18px;
  border: 1px solid rgba(56, 189, 248, 0.4);
  border-radius: 999px;
  background: rgba(56, 189, 248, 0.1);
  color: var(--text);
  font: inherit; font-size: 13px; font-weight: 700;
  letter-spacing: -0.01em;
  cursor: pointer; transition: 0.2s ease;
}
.filter-fab-toggle:hover {
  background: rgba(56, 189, 248, 0.18);
  border-color: rgba(56, 189, 248, 0.6);
  transform: translateY(-1px);
}
.filter-fab-toggle svg { color: var(--primary); }
.filter-fab-count {
  display: inline-grid; place-items: center;
  min-width: 20px; height: 20px;
  padding: 0 6px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--primary), var(--primary-2));
  color: #03101b;
  font-size: 11px; font-weight: 800;
  font-variant-numeric: tabular-nums;
}

.filter-fab-panel {
  position: fixed; top: 0; right: 0; bottom: 0;
  width: 380px; max-width: 100vw;
  z-index: 200;
  background: #131838;
  border-left: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: -28px 0 70px rgba(0, 0, 0, 0.55);
  padding: 22px 22px calc(22px + env(safe-area-inset-bottom)) 22px;
  overflow-y: auto;
  animation: filterDrawerIn 0.28s cubic-bezier(0.2, 0.8, 0.2, 1);
  transform-origin: right center;
}
.filter-fab-panel[hidden] { display: none; }
@keyframes filterDrawerIn {
  from { opacity: 0; transform: translateX(40px); }
  to { opacity: 1; transform: translateX(0); }
}

/* Backdrop РїРѕРґ drawer */
.filter-backdrop {
  position: fixed; inset: 0; z-index: 199;
  background: rgba(3, 5, 12, 0.55);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  animation: fade 0.2s ease;
  cursor: pointer;
}
.filter-backdrop[hidden] { display: none; }
@media (max-width: 480px) {
  .filter-fab-panel { width: 100vw; border-left: none; }
}

.filter-fab-head {
  display: flex; align-items: center; gap: 10px;
  margin-bottom: 14px;
}
.filter-fab-head b {
  font-size: 16px; font-weight: 800; flex: 1;
  letter-spacing: -0.02em;
}
.filter-fab-clear {
  background: none; border: none; cursor: pointer;
  color: var(--text-muted); font: inherit;
  font-size: 13px; font-weight: 600;
  text-decoration: underline; text-underline-offset: 3px;
  transition: color 0.15s ease;
}
.filter-fab-clear:hover { color: var(--primary); }
.filter-fab-close {
  background: none; border: none; cursor: pointer;
  color: var(--text-muted);
  font-size: 24px; line-height: 1;
  padding: 0 2px;
  transition: color 0.15s ease;
}
.filter-fab-close:hover { color: var(--text); }

.filter-group { margin-bottom: 16px; }
.filter-group:last-of-type { margin-bottom: 14px; }
.filter-label {
  display: block; font-size: 12px; font-weight: 700;
  color: var(--text-muted); margin-bottom: 8px;
  text-transform: none; letter-spacing: -0.005em;
}

.filter-pills {
  display: flex; flex-wrap: wrap; gap: 6px;
}
.filter-pill {
  display: inline-flex; align-items: center;
  height: 32px; padding: 0 12px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.04);
  color: var(--text-dim);
  font: inherit; font-size: 12.5px; font-weight: 600;
  cursor: pointer; transition: 0.15s ease;
}
.filter-pill:hover {
  border-color: rgba(56, 189, 248, 0.4);
  background: rgba(56, 189, 248, 0.1);
  color: var(--text);
}
.filter-pill.selected {
  border-color: rgba(56, 189, 248, 0.6);
  background: linear-gradient(135deg, rgba(56, 189, 248, 0.22), rgba(139, 92, 246, 0.22));
  color: #fff;
}
.filter-pills-sm { margin-top: 8px; }

.filter-range {
  display: flex; align-items: center; gap: 8px;
}
.filter-range input {
  flex: 1; min-width: 0;
  height: 38px; padding: 0 12px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.04);
  color: var(--text);
  font: inherit; font-size: 13px; font-weight: 600;
  font-variant-numeric: tabular-nums;
  outline: none; transition: 0.15s ease;
}
.filter-range input::placeholder { color: var(--text-muted); }
.filter-range input:focus {
  border-color: rgba(56, 189, 248, 0.5);
  box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.12);
}
.filter-range span { color: var(--text-muted); }
/* РЎРїРёРЅРЅРµСЂС‹ number-РёРЅРїСѓС‚Р° СѓР±РёСЂР°РµРј РґР»СЏ РѕРїСЂСЏС‚РЅРѕСЃС‚Рё */
.filter-range input[type="number"]::-webkit-inner-spin-button,
.filter-range input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none; margin: 0;
}
.filter-range input[type="number"] { -moz-appearance: textfield; }

.filter-select {
  width: 100%;
  height: 38px; padding: 0 36px 0 14px;
  appearance: none; -webkit-appearance: none;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.04) url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23a7afc8' d='M0 0l5 6 5-6z'/%3E%3C/svg%3E") no-repeat right 14px center;
  color: var(--text);
  font: inherit; font-size: 13px; font-weight: 600;
  cursor: pointer;
}
.filter-select:focus {
  outline: none;
  border-color: rgba(56, 189, 248, 0.5);
  box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.12);
}

.filter-check {
  display: inline-flex; align-items: center; gap: 10px;
  cursor: pointer; user-select: none;
  font-size: 14px; color: var(--text);
}
.filter-check input {
  width: 18px; height: 18px;
  accent-color: var(--primary);
  cursor: pointer;
}

.filter-fab-apply { margin-top: 6px; }

/* РђРєС‚РёРІРЅС‹Рµ С„РёР»СЊС‚СЂС‹ вЂ” С‡РёРїС‹ РїРѕРґ РєР°С‚РµРіРѕСЂРёСЏРјРё */
.active-filters {
  display: flex; flex-wrap: wrap; gap: 6px;
  margin: -6px 0 18px;
}
.active-filters[hidden] { display: none; }
.active-filter-chip {
  display: inline-flex; align-items: center; gap: 6px;
  height: 30px; padding: 0 10px 0 12px;
  border: 1px solid rgba(56, 189, 248, 0.4);
  border-radius: 999px;
  background: rgba(56, 189, 248, 0.12);
  color: var(--text);
  font: inherit; font-size: 12.5px; font-weight: 600;
  letter-spacing: -0.005em;
}
.active-filter-chip button {
  background: none; border: none; cursor: pointer;
  color: var(--text-muted);
  font-size: 16px; line-height: 1;
  padding: 0 2px;
  transition: color 0.15s ease;
}
.active-filter-chip button:hover { color: var(--text); }

@media (max-width: 680px) {
  .filters-row { flex-wrap: wrap; }
  .filters-row .filters { width: 100%; order: 2; }
  .filter-fab { order: 1; margin-left: auto; }
  .filter-fab-panel { right: 0; width: calc(100vw - 28px); }
}


/* ============================================================
   v10 вЂ” Trust-band, Reviews, Message preview, Sticky CTA padding
   ============================================================ */

/* Trust-band: РІРёР·РёС‚РєР° РїСЂРѕРґР°РІС†Р° РїРѕРґ intro-band */
.trust-band {
  margin: 8px 0 22px;
}
.trust-card {
  display: flex; align-items: center; gap: 16px;
  padding: 16px 18px;
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(56,189,248,0.06), rgba(139,92,246,0.06));
  border: 1px solid rgba(255,255,255,0.10);
}
.trust-avatar {
  flex-shrink: 0;
  width: 48px; height: 48px; border-radius: 50%;
  display: grid; place-items: center;
  background: linear-gradient(135deg, var(--primary), var(--primary-2));
  color: #ffffff;
  font-weight: 900; font-size: 16px; letter-spacing: -0.04em;
  box-shadow: 0 0 22px rgba(56,189,248,0.30);
}
.trust-main { flex: 1; min-width: 0; }
.trust-line-1 {
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
  margin-bottom: 4px;
}
.trust-name { font-size: 15px; font-weight: 800; letter-spacing: -0.01em; }
.trust-handle { font-size: 13px; color: var(--text-muted); font-weight: 600; }
.trust-line-1 .trust-handle {
  /* РљРѕРіРґР° handle СЃС‚Р°Р» РіР»Р°РІРЅС‹Рј Р·Р°РіРѕР»РѕРІРєРѕРј visit-РєР°СЂС‚РѕС‡РєРё */
  font-size: 15px; color: var(--text); font-weight: 800; letter-spacing: -0.01em;
}
.trust-dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: #34d399; box-shadow: 0 0 8px rgba(52,211,153,0.6);
}
.trust-online { font-size: 12.5px; color: var(--text-dim); font-weight: 600; }
.trust-line-2 {
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
  font-size: 13px; color: var(--text-dim); line-height: 1.4;
}
.trust-meta { font-weight: 500; }
.trust-sep { color: var(--text-muted); }
.trust-profiles {
  margin-top: 6px; display: flex; flex-wrap: wrap; gap: 8px;
}
.trust-profiles a {
  font-size: 12px; font-weight: 700;
  padding: 4px 10px; border-radius: 999px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  color: var(--text);
  text-decoration: none;
}
.trust-profiles a:hover { border-color: rgba(56,189,248,0.4); color: var(--primary); }
.trust-cta {
  flex-shrink: 0;
  height: 44px; padding: 0 18px;
  font-size: 14px; font-weight: 800;
  border-radius: 999px;
  white-space: nowrap;
}
@media (max-width: 680px) {
  .trust-card { flex-wrap: wrap; gap: 12px; padding: 14px; }
  .trust-cta { width: 100%; justify-content: center; }
}

/* Reviews вЂ” РєРѕРјРїР°РєС‚РЅР°СЏ СЃРµС‚РєР° РєР°СЂС‚РѕС‡РµРє */
.reviews { padding: 30px 0 10px; }
.reviews-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 14px;
}
.review-card {
  display: flex !important; /* РїРµСЂРµР±РёРІР°РµРј РіР»РѕР±Р°Р»СЊРЅС‹Р№ display:none Сѓ .review-card РµСЃР»Рё РµСЃС‚СЊ */
  flex-direction: column;
  gap: 10px;
  padding: 16px 18px;
  border-radius: 16px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.08);
}
.review-head { display: flex; align-items: center; gap: 10px; }
.review-avatar {
  flex-shrink: 0;
  width: 34px; height: 34px; border-radius: 50%;
  display: grid; place-items: center;
  background: rgba(255,255,255,0.08);
  color: var(--text); font-weight: 800; font-size: 14px;
  border: 1px solid rgba(255,255,255,0.12);
}
.review-who { display: flex; flex-direction: column; line-height: 1.2; min-width: 0; }
.review-who b { font-size: 14px; font-weight: 700; letter-spacing: -0.01em; }
.review-who span {
  font-size: 12px; color: var(--text-muted); font-weight: 500;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.review-text {
  margin: 0;
  font-size: 14px; line-height: 1.5;
  color: var(--text-dim);
}
.reviews-more {
  display: inline-flex !important; margin: 18px auto 0;
  padding: 10px 20px;
}

/* Message preview РІ РјРѕРґР°Р»РєРµ вЂ” РїСЂРµРІСЊСЋ СЃРѕРѕР±С‰РµРЅРёСЏ, РєРѕС‚РѕСЂРѕРµ СѓР№РґС‘С‚ РІ Telegram */
.msg-preview {
  margin: 14px 0 12px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(56,189,248,0.06);
  border: 1px solid rgba(56,189,248,0.20);
}
.msg-preview-head {
  display: flex; align-items: center; gap: 8px;
  margin-bottom: 6px;
}
.msg-preview-tag {
  font-size: 11px; font-weight: 800; letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 3px 8px; border-radius: 999px;
  background: rgba(56,189,248,0.18);
  color: var(--primary);
}
.msg-preview-body {
  margin: 0;
  font: inherit; font-size: 13px; line-height: 1.5;
  color: var(--text);
  white-space: pre-wrap; word-break: break-word;
}
.hint-muted { color: var(--text-muted) !important; font-size: 12px; }

/* Р РµР·РµСЂРІ СЃРЅРёР·Сѓ вЂ” РЅСѓР¶РµРЅ С‚РѕР»СЊРєРѕ РґР»СЏ РјРѕР±РёР»Рµ, РіРґРµ sticky-CTA РЅР° РІСЃСЋ С€РёСЂРёРЅСѓ
   Рё СЂРµР°Р»СЊРЅРѕ РїРµСЂРµРєСЂС‹РІР°РµС‚ С„СѓС‚РµСЂ. РќР° РґРµСЃРєС‚РѕРїРµ sticky РјР°Р»РµРЅСЊРєРёР№ pill Рё
   СЃС‚РѕРёС‚ РІ РїСЂР°РІРѕРј РЅРёР¶РЅРµРј СѓРіР»Сѓ вЂ” РЅРµ РјРµС€Р°РµС‚ С„СѓС‚РµСЂСѓ. */
body { padding-bottom: 0; }
@media (max-width: 680px) { body { padding-bottom: 96px; } }


/* How-strip: 3 РєРѕСЂРѕС‚РєРёС… С€Р°РіР° В«РљР°Рє РєСѓРїРёС‚СЊВ» */
.how-strip {
  list-style: none; padding: 0;
  margin: 0 0 22px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.how-strip li {
  display: flex; align-items: center; gap: 12px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.08);
  min-width: 0;
}
.how-num {
  flex-shrink: 0;
  width: 28px; height: 28px; border-radius: 50%;
  display: grid; place-items: center;
  background: linear-gradient(135deg, var(--primary), var(--primary-2));
  color: #0c1230;
  font-weight: 900; font-size: 13px;
}
.how-text { display: flex; flex-direction: column; line-height: 1.25; min-width: 0; }
.how-text b {
  font-size: 13.5px; font-weight: 800; letter-spacing: -0.01em;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.how-text span {
  font-size: 12px; color: var(--text-muted); font-weight: 500;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
@media (max-width: 680px) {
  .how-strip {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .how-text b { white-space: normal; }
  .how-text span { white-space: normal; }
}


/* ============================================================
   Bonus Р·Р° РІРЅРёРјР°РЅРёРµ вЂ” sticky-widget v2 (collapsed pill + expanded)
   ============================================================ */
.bonus-widget {
  position: fixed;
  right: 18px; bottom: 78px;
  z-index: 70;
}
.bonus-widget[hidden] { display: none; }

/* ---- Collapsed pill ---- */
.bonus-pill {
  display: inline-flex; align-items: center; gap: 8px;
  height: 38px; padding: 0 14px 0 10px;
  border-radius: 999px;
  background: rgba(14, 19, 48, 0.82);
  border: 1px solid rgba(255, 255, 255, 0.10);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  color: var(--text);
  cursor: pointer;
  font: inherit;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.bonus-pill:hover {
  transform: translateY(-1px);
  border-color: rgba(56, 189, 248, 0.35);
  box-shadow: 0 14px 36px rgba(56, 189, 248, 0.20);
}
.bonus-pill-dot {
  display: inline-block;
  width: 8px; height: 8px; border-radius: 50%;
  background: linear-gradient(135deg, #67e8f9, #a78bfa);
  box-shadow: 0 0 8px rgba(103, 232, 249, 0.55);
}
.bonus-pill-num {
  font-size: 14px; font-weight: 900; letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
  background: linear-gradient(135deg, #67e8f9, #a78bfa);
  -webkit-background-clip: text; background-clip: text;
  color: transparent;
  line-height: 1;
}
.bonus-pill-sign {
  display: inline-block;
  font-size: 12px; font-weight: 800; margin-left: 1px;
  -webkit-text-fill-color: inherit;
  color: inherit;
  background: inherit;
}
.bonus-pill-label {
  font-size: 12px; font-weight: 600; letter-spacing: 0.01em;
  color: var(--text-muted);
}
.bonus-pill-arrow {
  margin-left: 2px; color: var(--text-muted);
  transform: rotate(180deg); /* СЃС‚СЂРµР»РєР° В«СЂР°Р·РІРµСЂРЅСѓС‚СЊВ» РІР»РµРІРѕ-РІРІРµСЂС… */
}
.bonus-pill-max .bonus-pill-num,
.bonus-pill-max .bonus-pill-dot {
  background: linear-gradient(135deg, #34d399, #67e8f9);
  -webkit-background-clip: text; background-clip: text;
}
.bonus-pill-max .bonus-pill-dot {
  -webkit-background-clip: padding-box; background-clip: padding-box;
  background: #34d399;
  box-shadow: 0 0 10px rgba(52, 211, 153, 0.65);
}

/* Frozen pill вЂ” РєРѕРјРїР°РєС‚РЅС‹Р№ СЃ РіР°Р»РєРѕР№ */
.bonus-pill-frozen {
  background: rgba(14, 19, 48, 0.82);
  height: 38px; padding: 0 14px 0 6px;
}
.bonus-pill-check {
  display: inline-grid; place-items: center;
  width: 26px; height: 26px; border-radius: 50%;
  background: linear-gradient(135deg, #34d399, #67e8f9);
  color: #0c1230;
}
.bonus-pill-text {
  display: inline-flex; align-items: baseline; gap: 5px;
  line-height: 1;
}
.bonus-pill-text b {
  font-size: 14px; font-weight: 900; letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
  color: var(--text);
}
.bonus-pill-text em {
  font-size: 11.5px; font-style: normal; font-weight: 600;
  color: var(--text-muted); letter-spacing: 0.01em;
}

/* ---- Expanded card ---- */
.bonus-widget.bonus-open {
  width: 300px;
}
.bonus-card {
  position: relative;
  padding: 18px 18px 16px;
  border-radius: 20px;
  background:
    radial-gradient(140% 200% at 100% 0%, rgba(56, 189, 248, 0.20), transparent 60%),
    radial-gradient(140% 200% at 0% 100%, rgba(139, 92, 246, 0.20), transparent 60%),
    rgba(20, 25, 60, 0.94);
  border: 1px solid rgba(255, 255, 255, 0.16);
  box-shadow:
    0 22px 60px rgba(0, 0, 0, 0.50),
    0 0 0 1px rgba(56, 189, 248, 0.10) inset;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  color: var(--text);
  animation: bonusOpenIn .22s cubic-bezier(.2,.8,.2,1);
  transform-origin: bottom right;
}
@keyframes bonusOpenIn {
  from { opacity: 0; transform: translateY(10px) scale(0.96); }
  to   { opacity: 1; transform: translateY(0)   scale(1); }
}
.bonus-close {
  position: absolute; top: 8px; right: 10px;
  background: none; border: none; cursor: pointer;
  font-size: 22px; line-height: 1; padding: 4px 8px;
  color: var(--text-muted);
}
.bonus-close:hover { color: var(--text); }
.bonus-eyebrow {
  font-size: 11px; font-weight: 700; letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 10px;
}
.bonus-percent {
  display: inline-flex; align-items: baseline;
  font-size: 48px; font-weight: 900; letter-spacing: -0.05em;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  background: linear-gradient(135deg, #67e8f9, #a78bfa);
  -webkit-background-clip: text; background-clip: text;
  color: transparent;
}
.bonus-percent-sign {
  font-size: 26px; font-weight: 800; margin-left: 2px;
  -webkit-text-fill-color: inherit;
  background: inherit;
  color: transparent;
}
.bonus-sub {
  margin-top: 6px;
  font-size: 12.5px; color: var(--text-muted); line-height: 1.4;
}
.bonus-progress {
  position: relative;
  margin: 14px 0 10px;
  height: 7px; border-radius: 999px;
  background: rgba(255, 255, 255, 0.07);
  overflow: hidden;
}
.bonus-progress > span {
  position: absolute; left: 0; top: 0; bottom: 0;
  width: 0%;
  background: linear-gradient(90deg, #67e8f9, #a78bfa);
  border-radius: inherit;
  box-shadow: 0 0 12px rgba(167, 139, 250, 0.45);
  transition: width .35s ease;
}
.bonus-tail {
  margin: 0 0 12px;
  font-size: 12px; color: var(--text-dim); font-weight: 600;
  letter-spacing: -0.005em;
  font-variant-numeric: tabular-nums;
}
.bonus-tail b {
  font-weight: 800; color: var(--text);
}
.bonus-tail-paused { color: var(--text-muted); }
.bonus-tail-max {
  color: #34d399;
  font-weight: 700;
}
.bonus-btn {
  display: inline-flex; align-items: center; justify-content: center;
  width: 100%;
  height: 40px; padding: 0 14px;
  font: inherit; font-size: 13.5px; font-weight: 800; letter-spacing: -0.01em;
  border-radius: 999px;
  border: 1px solid transparent;
  background: rgba(255, 255, 255, 0.06);
  color: var(--text);
  cursor: pointer;
  text-decoration: none;
  transition: transform .15s ease, background .15s ease, border-color .15s ease, opacity .15s ease;
}
.bonus-btn:hover { transform: translateY(-1px); }
.bonus-btn-primary {
  background: linear-gradient(135deg, #38bdf8, #8b5cf6);
  color: #0c1230;
  box-shadow: 0 10px 24px rgba(56, 189, 248, 0.30);
}
.bonus-btn-primary:hover {
  background: linear-gradient(135deg, #67e8f9, #a78bfa);
  color: #0c1230;
  box-shadow: 0 14px 30px rgba(103, 232, 249, 0.35);
}
.bonus-btn-ghost {
  background: transparent;
  border-color: rgba(255, 255, 255, 0.14);
  color: var(--text);
}
.bonus-btn-ghost:hover {
  border-color: rgba(56, 189, 248, 0.35);
  background: rgba(56, 189, 248, 0.08);
}
.bonus-actions {
  display: flex; flex-direction: column; gap: 8px;
}
.bonus-fine {
  margin: 12px 0 0;
  font-size: 11px; line-height: 1.45;
  color: var(--text-muted);
}
.bonus-code {
  margin: 8px 0 14px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px dashed rgba(56, 189, 248, 0.30);
  text-align: center;
  word-break: break-all;
}
.bonus-code code {
  font: inherit;
  font-family: "SF Mono", "JetBrains Mono", Consolas, monospace;
  font-size: 11.5px; font-weight: 700; letter-spacing: 0.01em;
  color: var(--text);
}

/* РЎРѕСЃС‚РѕСЏРЅРёСЏ */
.bonus-paused .bonus-percent,
.bonus-paused .bonus-percent-sign {
  -webkit-text-fill-color: var(--text-muted);
  color: var(--text-muted);
  background: none;
}
.bonus-paused .bonus-progress > span { opacity: 0.4; }
.bonus-max .bonus-percent {
  background: linear-gradient(135deg, #34d399, #67e8f9);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}

/* РђРЅРёРјР°С†РёРё */
@keyframes bonusBreath {
  0%, 100% {
    box-shadow:
      0 22px 60px rgba(0, 0, 0, 0.50),
      0 0 0 1px rgba(56, 189, 248, 0.10) inset,
      0 0 0 0 rgba(56, 189, 248, 0.00);
  }
  50% {
    box-shadow:
      0 22px 60px rgba(0, 0, 0, 0.50),
      0 0 0 1px rgba(167, 139, 250, 0.20) inset,
      0 0 24px 0 rgba(167, 139, 250, 0.18);
  }
}
.bonus-card:not(.bonus-paused):not(.bonus-frozen):not(.bonus-max) {
  animation: bonusOpenIn .22s cubic-bezier(.2,.8,.2,1), bonusBreath 4.5s ease-in-out 0.4s infinite;
}

@keyframes bonusPulse {
  0%   { filter: drop-shadow(0 0 0 rgba(167, 139, 250, 0)); }
  40%  { filter: drop-shadow(0 0 8px rgba(167, 139, 250, 0.55)); }
  100% { filter: drop-shadow(0 0 0 rgba(167, 139, 250, 0)); }
}
.bonus-pulse { animation: bonusPulse .8s ease-out; }
@keyframes bonusFlash {
  0%   { box-shadow: 0 22px 60px rgba(0,0,0,0.50); }
  35%  { box-shadow: 0 0 0 2px rgba(52, 211, 153, 0.55), 0 22px 60px rgba(52, 211, 153, 0.35); }
  100% { box-shadow: 0 22px 60px rgba(0,0,0,0.50); }
}
.bonus-flash { animation: bonusFlash 1.2s ease-out; }
@media (prefers-reduced-motion: reduce) {
  .bonus-pulse, .bonus-flash, .bonus-card { animation: none !important; }
  .bonus-progress > span { transition: none !important; }
}

/* РќР° РјРѕР±РёР»Рµ вЂ” pill СѓР¶РёРјР°РµРј, expanded РІСЃС‚Р°С‘С‚ РЅР°Рґ sticky-CTA */
@media (max-width: 680px) {
  .bonus-widget {
    right: 14px; bottom: 78px;
  }
  .bonus-widget.bonus-open {
    left: 14px; right: 14px; width: auto;
  }
  .bonus-card { padding: 16px 16px 14px; border-radius: 18px; }
  .bonus-percent { font-size: 42px; }
  .bonus-percent-sign { font-size: 22px; }
  /* РљРЅРѕРїРєРё РІ СЃС‚СЂРѕРєСѓ вЂ” СЌРєРѕРЅРѕРјРёРј РІС‹СЃРѕС‚Сѓ */
  .bonus-frozen .bonus-actions { flex-direction: row; }
  .bonus-frozen .bonus-actions .bonus-btn { flex: 1; }
}


/* ============================================================
   Hero-card: intro + bonus РІ РѕРґРЅРѕР№ РєРѕРјРїРѕР·РёС†РёРё
   ============================================================ */
/* РџРµСЂРµР±РёРІР°РµРј РіР»РѕР±Р°Р»СЊРЅС‹Р№ display:none СЃС‚Р°СЂРѕРіРѕ hero-Р±Р»РѕРєР° РґР»СЏ РЅР°С€РёС…
   РЅРѕРІС‹С… .hero-title / .hero-lead / .hero-stats РІРЅСѓС‚СЂРё .hero-card. */
.hero-card .hero-title { display: block !important; }
.hero-card .hero-lead  { display: block !important; }
.hero-card .hero-stats { display: flex !important; }

.bonus-hero-anchor {
  /* РќРµРІРёРґРёРјС‹Р№ СЏРєРѕСЂСЊ РґР»СЏ IntersectionObserver. РћСЃС‚Р°С‘С‚СЃСЏ РЅР° РјРµСЃС‚Рµ
     РґР°Р¶Рµ РєРѕРіРґР° hero В«СЃС…Р»РѕРїРЅСѓР»Р°СЃСЊВ» РІ 0 РІС‹СЃРѕС‚Сѓ вЂ” РёРЅР°С‡Рµ observer
     РЅРµ СЃРјРѕР¶РµС‚ РїРѕРЅСЏС‚СЊ С‡С‚Рѕ РјС‹ РІРµСЂРЅСѓР»РёСЃСЊ РЅР°РІРµСЂС…. */
  height: 1px;
  margin-top: -1px;
}
.bonus-hero {
  margin: 0 0 18px;
  display: grid;
  grid-template-rows: 1fr;
  transition: grid-template-rows .55s cubic-bezier(.4,0,.2,1),
              opacity .45s ease,
              margin-bottom .55s cubic-bezier(.4,0,.2,1);
  will-change: grid-template-rows, opacity;
}
.bonus-hero[hidden] { display: none; }
.bonus-hero > .hero-shell {
  min-height: 0;
  overflow: hidden;
  transition: transform .55s cubic-bezier(.4,0,.2,1);
  will-change: transform;
}
.bonus-hero.bonus-hero-leaving {
  grid-template-rows: 0fr;
  opacity: 0;
  margin-bottom: 0;
  pointer-events: none;
}
.bonus-hero.bonus-hero-leaving > .hero-shell {
  transform: translateY(-32px);
}
.bonus-hero.bonus-hero-entering {
  grid-template-rows: 0fr;
  opacity: 0;
  margin-bottom: 0;
}
.bonus-hero.bonus-hero-entering > .hero-shell {
  transform: translateY(-32px);
}

.hero-card {
  display: grid;
  grid-template-columns: 1fr minmax(300px, 360px);
  align-items: stretch;
  gap: 22px;
  padding: 22px;
  border-radius: 22px;
  background:
    radial-gradient(120% 200% at 0% 0%, rgba(56, 189, 248, 0.10), transparent 60%),
    radial-gradient(120% 200% at 100% 100%, rgba(139, 92, 246, 0.10), transparent 60%),
    linear-gradient(135deg, rgba(255,255,255,0.05), rgba(255,255,255,0.025));
  border: 1px solid rgba(255, 255, 255, 0.10);
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.30);
}

/* Р›РµРІР°СЏ РєРѕР»РѕРЅРєР° вЂ” intro */
.hero-intro {
  display: flex; flex-direction: column;
  justify-content: center;
  gap: 10px;
  min-width: 0;
  padding: 4px 4px;
}
.hero-title {
  margin: 0;
  font-size: clamp(20px, 2.2vw, 26px);
  font-weight: 800; letter-spacing: -0.035em; line-height: 1.15;
  color: var(--text);
}
.hero-lead {
  margin: 0; color: var(--text-dim);
  font-size: 14px; line-height: 1.55;
  max-width: 580px;
}
.hero-stats {
  list-style: none; padding: 0; margin: 6px 0 0;
  display: flex; gap: 20px; flex-wrap: wrap;
}
.hero-stats li {
  display: flex; flex-direction: column;
  font-size: 12px; color: var(--text-muted);
  font-weight: 600; letter-spacing: -0.005em;
}
.hero-stats b {
  color: var(--text); font-size: 22px; font-weight: 800;
  letter-spacing: -0.04em; line-height: 1;
  margin-bottom: 4px;
}
.hero-stats-wide b { font-size: 16px; letter-spacing: -0.02em; }
.hero-stats-wide { max-width: 200px; }

/* РџСЂР°РІР°СЏ РєРѕР»РѕРЅРєР° вЂ” bonus card. Р”РѕР»Р¶РЅР° С†РµРїР»СЏС‚СЊСЃСЏ СЃРёР»СЊРЅРµРµ РѕСЃС‚Р°Р»СЊРЅС‹С…. */
.bonus-card-hero {
  position: relative;
  display: flex; flex-direction: column;
  gap: 8px;
  padding: 18px;
  border-radius: 18px;
  background:
    radial-gradient(140% 180% at 0% 0%, rgba(56, 189, 248, 0.22), transparent 60%),
    radial-gradient(140% 180% at 100% 100%, rgba(167, 139, 250, 0.22), transparent 60%),
    rgba(20, 25, 60, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.16);
  box-shadow:
    0 18px 50px rgba(167, 139, 250, 0.22),
    0 0 0 1px rgba(167, 139, 250, 0.10) inset;
  overflow: hidden;
  isolation: isolate;
}
/* РўРѕРЅРєР°СЏ СЃРІРµС‚СЏС‰Р°СЏСЃСЏ СЂР°РјРєР° */
.bonus-card-hero::before {
  content: "";
  position: absolute; inset: -1px; pointer-events: none;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(103, 232, 249, 0.55), rgba(167, 139, 250, 0.55)) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
  opacity: 0.6;
}
/* Р›С‘РіРєРёР№ premium shine вЂ” РґРёР°РіРѕРЅР°Р»СЊРЅС‹Р№ РїСЂРѕР±РµРі */
.bonus-card-hero::after {
  content: "";
  position: absolute; top: -30%; left: -40%;
  width: 60%; height: 200%;
  pointer-events: none;
  background: linear-gradient(110deg, transparent 40%, rgba(255,255,255,0.08) 50%, transparent 60%);
  transform: translateX(-30%);
  animation: bonusShine 7s ease-in-out infinite;
  z-index: 0;
}
@keyframes bonusShine {
  0%   { transform: translateX(-30%); opacity: 0; }
  20%  { opacity: 1; }
  60%  { opacity: 0.8; }
  100% { transform: translateX(260%); opacity: 0; }
}
.bonus-card-hero > * { position: relative; z-index: 1; }

.bonus-card-eyebrow {
  font-size: 11px; font-weight: 800; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--text-muted);
}
.bonus-card-num {
  display: inline-flex; align-items: baseline;
  font-size: 56px; font-weight: 900; letter-spacing: -0.05em;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  background: linear-gradient(135deg, #67e8f9, #a78bfa);
  -webkit-background-clip: text; background-clip: text;
  color: transparent;
  margin: 2px 0 2px;
}
.bonus-card-sign {
  font-size: 28px; font-weight: 800; margin-left: 2px;
  -webkit-text-fill-color: inherit; background: inherit; color: transparent;
}
.bonus-card-sub {
  font-size: 12.5px; color: var(--text-muted); line-height: 1.4;
}
.bonus-card-progress {
  position: relative;
  margin: 10px 0 6px;
  height: 7px; border-radius: 999px;
  background: rgba(255, 255, 255, 0.07);
  overflow: hidden;
}
.bonus-card-progress > span {
  position: absolute; inset: 0 auto 0 0;
  width: 0%;
  background: linear-gradient(90deg, #67e8f9, #a78bfa);
  border-radius: inherit;
  box-shadow: 0 0 12px rgba(167, 139, 250, 0.55);
  transition: width .35s ease;
}
.bonus-card-tail {
  font-size: 12px; color: var(--text-dim); font-weight: 600;
  letter-spacing: -0.005em; font-variant-numeric: tabular-nums;
  margin-bottom: 8px;
}
.bonus-card-tail b { font-weight: 800; color: var(--text); }
.bonus-card-tail-paused { color: var(--text-muted); }
.bonus-card-tail-max    { color: #34d399; font-weight: 700; }
.bonus-card-fine {
  margin: 6px 0 0;
  font-size: 10.5px; line-height: 1.4;
  color: var(--text-muted);
}

.bonus-card-hero .bonus-btn {
  height: 42px; font-size: 14px; font-weight: 800;
}

/* Frozen state */
.bonus-card-hero.bonus-frozen .bonus-card-num,
.bonus-card-hero.bonus-frozen .bonus-card-sign {
  background: linear-gradient(135deg, #34d399, #67e8f9);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}
.bonus-card-codebox {
  margin: 6px 0 8px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px dashed rgba(56, 189, 248, 0.30);
  text-align: center;
  word-break: break-all;
}
.bonus-card-codebox code {
  font-family: "SF Mono", "JetBrains Mono", Consolas, monospace;
  font-size: 12px; font-weight: 700; letter-spacing: 0.01em;
  color: var(--text);
}
.bonus-card-actions {
  display: flex; flex-direction: column; gap: 8px;
}

/* Paused state */
.bonus-card-hero.bonus-paused .bonus-card-num,
.bonus-card-hero.bonus-paused .bonus-card-sign {
  -webkit-text-fill-color: var(--text-muted);
  color: var(--text-muted);
  background: none;
}
.bonus-card-hero.bonus-paused .bonus-card-progress > span { opacity: 0.4; }
.bonus-card-hero.bonus-paused::after { animation: none; }

/* Max state */
.bonus-card-hero.bonus-max .bonus-card-num,
.bonus-card-hero.bonus-max .bonus-card-sign {
  background: linear-gradient(135deg, #34d399, #67e8f9);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}

/* РљРѕСЂРѕС‚РєРёР№ РјСЏРіРєРёР№ flash СЂР°РјРєРё РїСЂРё РєР°Р¶РґРѕРј 0.1% */
@keyframes bonusBoxFlash {
  0%, 100% { box-shadow: 0 18px 50px rgba(167, 139, 250, 0.22), 0 0 0 1px rgba(167, 139, 250, 0.10) inset; }
  35%      { box-shadow: 0 18px 60px rgba(167, 139, 250, 0.55), 0 0 0 1px rgba(103, 232, 249, 0.45) inset; }
}
.bonus-card-flashbox { animation: bonusBoxFlash .8s ease-out; }
@media (prefers-reduced-motion: reduce) {
  .bonus-card-hero::after { animation: none; }
  .bonus-card-flashbox { animation: none !important; }
}

/* РђРґР°РїС‚РёРІ hero-card */
@media (max-width: 880px) {
  .hero-card {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 16px;
  }
  .bonus-card-num { font-size: 46px; }
  .bonus-card-sign { font-size: 24px; }
}
@media (max-width: 480px) {
  .hero-card { padding: 14px; }
  .bonus-card-num { font-size: 40px; }
  .bonus-card-sign { font-size: 22px; }
}


/* ============================================================
   v11 вЂ” Polish pass: hover / motion / opening / closing
   РСЃРїРѕР»СЊР·СѓРµРј motion tokens РёР· :root.
   ============================================================ */

/* ---- Card: СЃРїРѕРєРѕР№РЅС‹Р№ premium hover ---- */
.card {
  transition:
    transform var(--dur-normal) var(--ease-out),
    border-color var(--dur-normal) var(--ease-out),
    background var(--dur-normal) var(--ease-out),
    box-shadow var(--dur-normal) var(--ease-out);
  will-change: transform;
}
.card:hover:not(.card-out) {
  transform: translateY(-4px);
  border-color: var(--border-strong);
  background: var(--surface-2);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.40);
}
.card .tile-logo,
.card .tile-mono,
.card .tile-word {
  transition: transform var(--dur-normal) var(--ease-out);
  will-change: transform;
}
.card:hover:not(.card-out) .tile-logo,
.card:hover:not(.card-out) .tile-mono,
.card:hover:not(.card-out) .tile-word {
  transform: scale(1.04);
}
.card .card-price-rub {
  transition: text-shadow var(--dur-normal) var(--ease-out), color var(--dur-normal) var(--ease-out);
}
.card:hover:not(.card-out) .card-price-rub {
  text-shadow: 0 0 18px rgba(76, 201, 240, 0.35);
}
.card .card-go {
  transition: transform var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
}
.card:hover:not(.card-out) .card-go {
  transform: translateX(3px);
}

/* ---- Filter chips: smoother active ---- */
.filter-chip {
  transition:
    background var(--dur-normal) var(--ease-out),
    color var(--dur-normal) var(--ease-out),
    border-color var(--dur-normal) var(--ease-out),
    transform var(--dur-fast) var(--ease-out),
    box-shadow var(--dur-normal) var(--ease-out);
}
.filter-chip.active {
  box-shadow:
    0 8px 22px rgba(76, 201, 240, 0.20),
    0 0 0 1px rgba(76, 201, 240, 0.30) inset;
}

/* ---- Catalog grid card-in animation (stagger РїСЂРё СЃРјРµРЅРµ РєР°С‚РµРіРѕСЂРёРё) ---- */
@keyframes cardIn {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}
.card.card-in {
  animation: cardIn var(--dur-normal) var(--ease-out) both;
}

/* ---- Search field focus ---- */
.header-search { transition: transform var(--dur-fast) var(--ease-out); }





/* ---- Empty state: appearance ---- */
.empty-state {
  animation: emptyIn var(--dur-slow) var(--ease-out) both;
}
@keyframes emptyIn {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ---- Buttons: primary СЃ gradient + sweep РЅР° hover ---- */
.btn { transition:
  transform var(--dur-fast) var(--ease-out),
  box-shadow var(--dur-normal) var(--ease-out),
  background var(--dur-normal) var(--ease-out),
  border-color var(--dur-normal) var(--ease-out),
  color var(--dur-normal) var(--ease-out);
}
.btn-primary {
  position: relative;
  background: linear-gradient(135deg, var(--primary), var(--primary-2));
  color: var(--ink);
  border: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow: 0 10px 28px rgba(76, 201, 240, 0.28);
  overflow: hidden;
  isolation: isolate;
}
.btn-primary::after {
  content: "";
  position: absolute; inset: 0; z-index: 0;
  background: linear-gradient(110deg, transparent 35%, rgba(255,255,255,0.22) 50%, transparent 65%);
  transform: translateX(-120%);
  transition: transform var(--dur-slow) var(--ease-out);
  pointer-events: none;
}
.btn-primary > * { position: relative; z-index: 1; }
.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow:
    0 14px 38px rgba(76, 201, 240, 0.42),
    0 0 0 1px rgba(255, 255, 255, 0.20) inset;
}
.btn-primary:hover::after { transform: translateX(120%); }
.btn-primary:active { transform: translateY(0); box-shadow: 0 8px 22px rgba(76, 201, 240, 0.32); }
.btn-primary:disabled {
  opacity: 0.55; cursor: not-allowed; transform: none;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.30);
}
.btn-primary:disabled::after { display: none; }

/* Sticky CTA вЂ” РјСЏРіРєРёР№ glow РЅР° hover, Р±РµР· РїСѓР»СЊСЃР°С†РёРё */
.sticky-cta {
  transition:
    transform var(--dur-normal) var(--ease-out),
    box-shadow var(--dur-normal) var(--ease-out);
  padding-bottom: max(12px, env(safe-area-inset-bottom));
}
.sticky-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 22px 60px rgba(76, 201, 240, 0.45), 0 8px 18px rgba(0, 0, 0, 0.40);
}
@media (max-width: 680px) {
  .sticky-cta {
    bottom: max(14px, env(safe-area-inset-bottom));
  }
}

/* ---- Modal: opening / closing ---- */
.modal[hidden] { display: none !important; }
.modal {
  animation: modalBackdrop var(--dur-normal) var(--ease-out) both;
}
@keyframes modalBackdrop {
  from { opacity: 0; backdrop-filter: blur(0); -webkit-backdrop-filter: blur(0); }
  to   { opacity: 1; }
}
.modal-dialog {
  animation: modalIn var(--dur-slow) var(--ease-soft) both;
  transform-origin: center;
}
@keyframes modalIn {
  from { opacity: 0; transform: scale(0.96) translateY(8px); }
  to   { opacity: 1; transform: scale(1) translateY(0); }
}

/* Tabs В«РљСѓРїРёС‚СЊ / РРЅСЃС‚СЂСѓРєС†РёСЏВ» вЂ” soft transitions */
.modal-tab {
  transition: color var(--dur-normal) var(--ease-out),
              background var(--dur-normal) var(--ease-out),
              border-color var(--dur-normal) var(--ease-out);
}

/* Р”РµРЅoРј-row Рё СЂРµРіРёРѕРЅ-option вЂ” РјСЏРіРєР°СЏ РїРѕРґСЃРІРµС‚РєР° РІС‹Р±РѕСЂР° */
.denom-row, .dd-option {
  transition: border-color var(--dur-normal) var(--ease-out),
              background var(--dur-normal) var(--ease-out),
              transform var(--dur-fast) var(--ease-out),
              box-shadow var(--dur-normal) var(--ease-out);
}
.denom-row.selected,
.dd-option.selected {
  box-shadow: 0 0 0 1px rgba(76, 201, 240, 0.45) inset, 0 8px 22px rgba(76, 201, 240, 0.18);
}

/* Telegram preview / order summary вЂ” РјСЏРіРєРѕРµ РїРѕСЏРІР»РµРЅРёРµ РїСЂРё РёР·РјРµРЅРµРЅРёРё */
.msg-preview, .order-summary {
  animation: previewIn var(--dur-fast) var(--ease-out) both;
}
@keyframes previewIn {
  from { opacity: 0.55; transform: translateY(3px); }
  to   { opacity: 1; transform: translateY(0); }
}
[data-summary-item], [data-summary-region], [data-summary-total] {
  transition: opacity var(--dur-fast) var(--ease-out);
}

/* ---- FAQ: max-height accordion ---- */
.faq-item {
  border-bottom: 1px solid var(--border);
}
.faq-item summary {
  cursor: pointer;
  list-style: none;
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px;
  padding: 18px 4px;
  transition: color var(--dur-normal) var(--ease-out);
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-plus {
  display: inline-grid; place-items: center;
  width: 28px; height: 28px; border-radius: 50%;
  border: 1px solid var(--border-strong);
  color: var(--text-dim);
  font-weight: 600; font-size: 18px; line-height: 1;
  transition: transform var(--dur-normal) var(--ease-out),
              border-color var(--dur-normal) var(--ease-out),
              color var(--dur-normal) var(--ease-out);
}
.faq-item[open] .faq-plus {
  transform: rotate(45deg);
  color: var(--primary);
  border-color: rgba(76, 201, 240, 0.45);
}
.faq-answer {
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  padding: 0 4px;
  color: var(--text-dim);
  transition: max-height var(--dur-slow) var(--ease-out),
              opacity var(--dur-normal) var(--ease-out),
              padding var(--dur-normal) var(--ease-out);
}
.faq-item[open] .faq-answer {
  max-height: 480px;
  opacity: 1;
  padding: 4px 4px 18px;
}

/* ---- Filter drawer: backdrop blur + smooth enter ---- */
.filter-backdrop {
  transition: opacity var(--dur-normal) var(--ease-out);
}
.filter-fab-panel {
  transition: transform var(--dur-slow) var(--ease-soft),
              opacity var(--dur-slow) var(--ease-soft);
}
.filter-fab-apply {
  transition: transform var(--dur-fast) var(--ease-out),
              box-shadow var(--dur-normal) var(--ease-out);
}
.filter-fab-apply:hover { transform: translateY(-2px); }

/* ---- Pagination: active page gradient ---- */
.pagination .page-num {
  transition: background var(--dur-normal) var(--ease-out),
              color var(--dur-normal) var(--ease-out),
              border-color var(--dur-normal) var(--ease-out),
              box-shadow var(--dur-normal) var(--ease-out);
}
.pagination .page-num.active {
  background: linear-gradient(135deg, var(--primary), var(--primary-2));
  color: var(--ink);
  border-color: rgba(255, 255, 255, 0.20);
  box-shadow: 0 8px 22px rgba(76, 201, 240, 0.30);
}

/* ---- Reviews & trust: hover lift ---- */
.review-card {
  transition: transform var(--dur-normal) var(--ease-out),
              border-color var(--dur-normal) var(--ease-out),
              background var(--dur-normal) var(--ease-out);
}
.review-card:hover {
  transform: translateY(-2px);
  border-color: var(--border-strong);
  background: var(--surface-2);
}

/* ---- Trust dot: СЃС‚Р°С‚СѓСЃ В«РѕРЅР»Р°Р№РЅВ» вЂ” СЃРїРѕРєРѕР№РЅС‹Р№, Р±РµР· Р°РіСЂРµСЃСЃРёРё ---- */
.trust-dot {
  background: var(--green) !important;
  box-shadow: 0 0 8px rgba(53, 210, 143, 0.55) !important;
}

/* ---- Reduced motion: СѓРІР°Р¶РµРЅРёРµ РЅР°СЃС‚СЂРѕРµРє РїРѕР»СЊР·РѕРІР°С‚РµР»СЏ ---- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
  .btn-primary::after { display: none !important; }
  .card:hover:not(.card-out),
  .review-card:hover,
  .sticky-cta:hover,
  .btn-primary:hover { transform: none !important; }
}


/* ============================================================
   v12 вЂ” Light warm theme overrides
   РЎР°Р№С‚ РїРµСЂРµРІРµРґС‘РЅ РЅР° soft cream + telegram blue + digital violet + warm gold.
   РўРѕРЅРєР°СЏ РїРѕРґРєР»Р°РґРєР° РїРѕРґ РІСЃРµ С‚С‘РјРЅС‹Рµ С‚С‘РјРЅС‹Рµ СЃС‚РёР»Рё РёР· v9-v11.
   ============================================================ */

/* Старые правила body{background} удалены — фон задаётся site-v2.css */
html, body { color: var(--text); }
body::before, body::after { display: none !important; }

/* РўРµРєСЃС‚ СЃСЃС‹Р»РѕРє Рё base color */
a, p, h1, h2, h3, h4, h5, h6 { color: inherit; }

/* ---- Header ---- */
.site-header {
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--border);
  box-shadow: 0 1px 0 var(--border);
}
.brand-name { color: var(--text); }
.brand-sub  { color: var(--text-muted); }
.brand-mark {
  background: linear-gradient(135deg, var(--primary), var(--primary-2));
  color: #fff;
  border: none;
}
.header-search { background: var(--surface-2); border: 1px solid var(--border); }
.header-search:focus-within {
  border-color: rgba(42, 171, 238, 0.45);
  box-shadow: 0 0 0 3px rgba(42, 171, 238, 0.10);
}


.header-search .search-icon { color: var(--text-muted); }
.btn-contact {
  background: linear-gradient(135deg, var(--primary), var(--primary-2));
  color: #fff;
  border: 1px solid rgba(255,255,255,0.20);
  box-shadow: 0 10px 24px rgba(42, 171, 238, 0.22);
}
.btn-contact:hover {
  box-shadow: 0 14px 30px rgba(42, 171, 238, 0.32);
  transform: translateY(-2px);
}
.btn-channel {
  background: rgba(15, 23, 42, 0.04);
  color: var(--text);
  border: 1px solid var(--border);
  box-shadow: none;
}
.btn-channel:hover {
  background: rgba(15, 23, 42, 0.07);
  border-color: rgba(15, 23, 42, 0.16);
  transform: translateY(-2px);
}

/* ---- Hero card / intro ---- */
.hero-card {
  background:
    radial-gradient(120% 200% at 0% 0%, rgba(42, 171, 238, 0.06), transparent 60%),
    radial-gradient(120% 200% at 100% 100%, rgba(124, 92, 255, 0.06), transparent 60%),
    var(--surface);
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
}
.hero-title { color: var(--text); }
.hero-lead  { color: var(--text-dim); }
.hero-stats li { color: var(--text-muted); }
.hero-stats b  { color: var(--text); }

/* ---- Bonus card РІ hero ---- */
.bonus-card-hero {
  background:
    radial-gradient(140% 180% at 0% 0%, rgba(42, 171, 238, 0.10), transparent 60%),
    radial-gradient(140% 180% at 100% 100%, rgba(124, 92, 255, 0.10), transparent 60%),
    #fbfaf7;
  border: 1px solid var(--border);
  box-shadow:
    0 18px 50px rgba(124, 92, 255, 0.10),
    0 0 0 1px rgba(124, 92, 255, 0.06) inset;
}
.bonus-card-hero::before {
  background: linear-gradient(135deg, rgba(42, 171, 238, 0.45), rgba(124, 92, 255, 0.45)) border-box;
}
.bonus-card-eyebrow { color: var(--text-muted); }
.bonus-card-num,
.bonus-card-sign {
  background: linear-gradient(135deg, var(--primary), var(--primary-2));
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}
.bonus-card-sub { color: var(--text-muted); }
.bonus-card-progress { background: rgba(124, 92, 255, 0.10); }
.bonus-card-progress > span {
  background: linear-gradient(90deg, var(--primary), var(--primary-2));
  box-shadow: 0 0 12px rgba(124, 92, 255, 0.35);
}
.bonus-card-tail   { color: var(--text-dim); }
.bonus-card-tail b { color: var(--text); }
.bonus-card-tail-max { color: var(--green); }
.bonus-card-fine { color: var(--text-muted); }
.bonus-card-codebox {
  background: #fbfaf7;
  border: 1px dashed rgba(42, 171, 238, 0.45);
}
.bonus-card-codebox code { color: var(--text); }

/* ---- Trust band ---- */
.trust-card {
  background: var(--surface);
  border: 1px solid var(--border);
  box-shadow: var(--shadow-sm);
}
.trust-handle, .trust-name { color: var(--text); }
.trust-online, .trust-meta { color: var(--text-dim); }
.trust-sep { color: var(--text-muted); }
.trust-dot {
  background: var(--green) !important;
  box-shadow: 0 0 8px rgba(34, 160, 107, 0.55) !important;
  animation: trustBreath 2.4s ease-in-out infinite;
}
@keyframes trustBreath {
  0%, 100% { box-shadow: 0 0 6px rgba(34, 160, 107, 0.45) !important; opacity: 1; }
  50%      { box-shadow: 0 0 14px rgba(34, 160, 107, 0.75) !important; opacity: 0.85; }
}

/* ---- How-strip (3 С€Р°РіР°) ---- */
.how-strip li {
  background: var(--surface);
  border: 1px solid var(--border);
  box-shadow: var(--shadow-sm);
}
.how-num {
  background: linear-gradient(135deg, var(--primary), var(--primary-2));
  color: #fff;
}
.how-text b    { color: var(--text); }
.how-text span { color: var(--text-muted); }

/* ---- Catalog area / filters row ---- */
.intro-band, .top-strip { color: var(--text); }
.filter-chip {
  background: var(--surface);
  border: 1px solid var(--border);
  color: var(--text-dim);
  box-shadow: 0 2px 6px rgba(36, 50, 100, 0.04);
}
.filter-chip:hover {
  border-color: var(--border-strong);
  background: #fff;
  color: var(--text);
  box-shadow: 0 4px 14px rgba(42, 171, 238, 0.12);
}
.filter-chip.active {
  background: linear-gradient(135deg, var(--primary), var(--primary-2));
  color: #fff;
  border-color: rgba(255, 255, 255, 0.40);
  box-shadow: 0 10px 24px rgba(42, 171, 238, 0.32);
}
.chip-count {
  background: rgba(36, 50, 100, 0.06);
  color: var(--text-muted);
}
.filter-chip.active .chip-count {
  background: rgba(255, 255, 255, 0.25);
  color: #fff;
}
.filter-chip.active .chip-icon { color: #fff; }
.filter-fab-toggle {
  background: var(--surface);
  color: var(--text);
  border: 1px solid var(--border);
}
.filter-fab-toggle:hover {
  background: #fff;
  border-color: var(--border-strong);
}

/* Drawer */
.filter-fab-panel {
  background: #fff;
  color: var(--text);
  border-left: 1px solid var(--border);
  box-shadow: -28px 0 70px rgba(36, 50, 100, 0.18);
}
.filter-backdrop { background: rgba(20, 25, 60, 0.30); }
.filter-pill {
  background: var(--surface-2);
  border: 1px solid var(--border);
  color: var(--text-dim);
}
.filter-pill:hover {
  background: #fff;
  border-color: var(--border-strong);
  color: var(--text);
}
.filter-pill.selected {
  background: linear-gradient(135deg, rgba(42, 171, 238, 0.12), rgba(124, 92, 255, 0.12));
  border-color: rgba(42, 171, 238, 0.45);
  color: var(--text);
}
.filter-range input {
  background: var(--surface-2);
  border: 1px solid var(--border);
  color: var(--text);
}
.filter-range input:focus {
  outline: none;
  border-color: rgba(42, 171, 238, 0.55);
  box-shadow: 0 0 0 3px rgba(42, 171, 238, 0.10);
}

/* ---- Cards ---- */
.card {
  background: var(--surface);
  border: 1px solid var(--border);
  box-shadow: 0 6px 18px rgba(36, 50, 100, 0.05);
  color: var(--text);
}
.card:hover:not(.card-out) {
  background: #fff;
  border-color: var(--border-strong);
  box-shadow: 0 14px 32px rgba(36, 50, 100, 0.10);
  transform: translateY(-5px);
}
.card-cat { color: var(--text-muted); }
.card-title { color: var(--text); }
.card-from  { color: var(--text-muted); }
.card-price-rub { color: var(--text); }
.card:hover:not(.card-out) .card-price-rub {
  color: var(--gold);
  text-shadow: 0 0 16px rgba(201, 138, 30, 0.20);
}
.card-go { color: var(--primary); }
.card-region-badge {
  background: var(--bg-2);
  color: var(--text-dim);
  border: 1px solid var(--border);
}
.card-out-badge {
  background: rgba(214, 69, 69, 0.10);
  color: var(--danger);
  border: 1px solid rgba(214, 69, 69, 0.30);
}
.card-savings {
  background: rgba(201, 138, 30, 0.10);
  color: var(--gold);
  border: 1px solid rgba(201, 138, 30, 0.30);
}

/* Tile inside card вЂ” РїСЂРёРіР»СѓС€Р°РµРј С‚С‘РјРЅС‹Рµ РїРѕРґР»РѕР¶РєРё РЅР° light theme */
.card .card-visual {
  background: linear-gradient(160deg, color-mix(in srgb, var(--brand, #2aabee) 8%, #fff), #fff);
  border: 1px solid var(--border-soft);
}
.card .tile-mono { color: var(--text); }
.card .tile-word { color: var(--text-muted); }

/* ---- Active filters chips ---- */
.active-filter-chip {
  background: var(--surface);
  border: 1px solid var(--border);
  color: var(--text);
}
.active-filter-chip button { color: var(--text-muted); }
.active-filter-chip button:hover { color: var(--text); }

/* ---- Empty state ---- */
.empty-state h3 { color: var(--text); }
.empty-state p  { color: var(--text-muted); }
.empty-state .btn-primary { color: #fff; }

/* ---- CTA strip ---- */
.cta-strip-inner {
  background:
    radial-gradient(100% 200% at 0% 0%, rgba(42, 171, 238, 0.08), transparent 60%),
    radial-gradient(100% 200% at 100% 100%, rgba(124, 92, 255, 0.08), transparent 60%),
    var(--surface);
  border: 1px solid var(--border);
  box-shadow: var(--shadow-sm);
}
.cta-strip-text h3 { color: var(--text); }
.cta-strip-text p  { color: var(--text-dim); }

/* ---- Reviews ---- */
.review-card {
  background: var(--surface);
  border: 1px solid var(--border);
  box-shadow: 0 4px 14px rgba(36, 50, 100, 0.05);
  color: var(--text);
}
.review-card:hover {
  background: #fff;
  border-color: var(--border-strong);
  box-shadow: 0 12px 28px rgba(36, 50, 100, 0.10);
  transform: translateY(-3px);
}
.review-avatar {
  background: var(--bg-2);
  color: var(--text);
  border: 1px solid var(--border);
}
.review-who b    { color: var(--text); }
.review-who span { color: var(--text-muted); }
.review-text     { color: var(--text-dim); }
.reviews-more {
  background: var(--surface);
  border: 1px solid var(--border);
  color: var(--text);
}

/* ---- FAQ ---- */
.faq-item {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  margin-bottom: 10px;
  padding: 0 18px;
  transition: background var(--dur-normal) var(--ease-out),
              border-color var(--dur-normal) var(--ease-out),
              box-shadow var(--dur-normal) var(--ease-out);
}
.faq-item:hover {
  border-color: var(--border-strong);
}
.faq-item[open] {
  background: #fff;
  border-color: rgba(42, 171, 238, 0.35);
  box-shadow: 0 8px 22px rgba(36, 50, 100, 0.08);
}
.faq-item summary { color: var(--text); }
.faq-plus {
  background: transparent;
  border: 1px solid var(--border);
  color: var(--text-muted);
}
.faq-item[open] .faq-plus {
  background: rgba(42, 171, 238, 0.10);
  border-color: rgba(42, 171, 238, 0.45);
  color: var(--primary);
  transform: rotate(45deg);
}
.faq-answer { color: var(--text-dim); }

/* ---- Footer ---- */
.site-
.
.legal-link {
  color: var(--text-dim);
  background: transparent;
  border: none;
  text-decoration: underline; text-underline-offset: 3px;
}
.legal-link:hover { color: var(--primary); }

/* ---- Modal ---- */
.modal-backdrop {
  background: rgba(20, 25, 60, 0.40);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.modal-dialog {
  background: #fff;
  color: var(--text);
  border: 1px solid var(--border);
  box-shadow: 0 24px 60px rgba(36, 50, 100, 0.20);
}
.modal-close {
  background: var(--bg-2);
  color: var(--text);
  border: 1px solid var(--border);
}
.modal-close:hover { background: #fff; border-color: var(--border-strong); }
.modal-tab {
  color: var(--text-muted);
  background: transparent;
  border-bottom: 2px solid transparent;
}
.modal-tab.active {
  color: var(--text);
  border-bottom-color: var(--primary);
}
.section-label { color: var(--text-muted); }
.dd-toggle {
  background: var(--surface-2);
  border: 1px solid var(--border);
  color: var(--text);
}
.dd-toggle:hover { border-color: var(--border-strong); }
.dd-menu {
  background: #fff;
  border: 1px solid var(--border);
  box-shadow: 0 14px 30px rgba(36, 50, 100, 0.12);
}
.dd-option {
  background: transparent;
  color: var(--text);
}
.dd-option:hover { background: var(--bg-2); }
.dd-option.selected {
  background: rgba(42, 171, 238, 0.08);
  color: var(--text);
  box-shadow: 0 0 0 1px rgba(42, 171, 238, 0.45) inset;
}
.dd-out { color: var(--text-muted); }
.dd-code { color: var(--text-muted); font-weight: 500; }
.denom-row {
  background: var(--surface-2);
  border: 1px solid var(--border);
  color: var(--text);
}
.denom-row:hover:not(:disabled) {
  background: #fff;
  border-color: var(--border-strong);
}
.denom-row.selected {
  background: rgba(42, 171, 238, 0.06);
  border-color: rgba(42, 171, 238, 0.45);
  box-shadow: 0 0 0 1px rgba(42, 171, 238, 0.45) inset, 0 4px 12px rgba(42, 171, 238, 0.12);
}
.denom-out { opacity: 0.5; }
.denom-name  { color: var(--text); }
.denom-price { color: var(--gold); font-weight: 800; }

/* Order summary + msg-preview */
.order-summary {
  background: var(--surface-2);
  border: 1px solid var(--border);
  color: var(--text);
}
.order-row .muted { color: var(--text-muted); }
.msg-preview {
  background: rgba(42, 171, 238, 0.06);
  border: 1px solid rgba(42, 171, 238, 0.20);
  color: var(--text);
}
.msg-preview-tag {
  background: rgba(42, 171, 238, 0.16);
  color: var(--primary);
}
.msg-preview-body { color: var(--text); }
.hint, .hint-block, .hint-muted { color: var(--text-muted); }

/* ---- Pagination ---- */
.pagination .page-num {
  background: var(--surface);
  color: var(--text);
  border: 1px solid var(--border);
}
.pagination .page-num:hover { border-color: var(--border-strong); }
.pagination .page-num.active {
  background: linear-gradient(135deg, var(--primary), var(--primary-2));
  color: #fff;
  border-color: rgba(255, 255, 255, 0.20);
  box-shadow: 0 8px 22px rgba(42, 171, 238, 0.30);
}
.pagination .page-arrow {
  background: var(--surface);
  border: 1px solid var(--border);
  color: var(--text);
}
.pagination .page-arrow:hover { border-color: var(--border-strong); }

/* ---- Sticky CTA ---- */
.sticky-cta {
  background: linear-gradient(135deg, var(--primary), var(--primary-2));
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.20);
  box-shadow: 0 18px 50px rgba(42, 171, 238, 0.35), 0 6px 16px rgba(36, 50, 100, 0.18);
  padding-bottom: max(12px, env(safe-area-inset-bottom));
}
.sticky-cta svg, .sticky-cta span { color: #fff; }
.sticky-cta:hover {
  box-shadow: 0 22px 60px rgba(42, 171, 238, 0.45), 0 8px 18px rgba(36, 50, 100, 0.22);
}

/* ---- Buttons ---- */
.btn-primary {
  background: linear-gradient(135deg, var(--primary), var(--primary-2));
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.20);
  box-shadow: 0 10px 24px rgba(42, 171, 238, 0.28);
}
.btn-primary:hover {
  box-shadow: 0 14px 34px rgba(42, 171, 238, 0.38), 0 0 0 1px rgba(255, 255, 255, 0.30) inset;
  transform: translateY(-2px);
}
.btn-primary:active { transform: translateY(0) scale(0.99); }
.btn-ghost {
  background: var(--surface);
  color: var(--text);
  border: 1px solid var(--border);
}
.btn-ghost:hover { border-color: var(--border-strong); background: #fff; }

/* ---- Glow orbs РїСЂСЏС‡РµРј вЂ” РЅР° СЃРІРµС‚Р»РѕР№ С‚РµРјРµ РѕРЅРё РёР·Р±С‹С‚РѕС‡РЅС‹ ---- */
.glow-orb { display: none !important; }
.hero-orbs { display: none !important; }

/* ---- Bonus pill / floater вЂ” light style ---- */
.bonus-pill {
  background: var(--surface);
  border: 1px solid var(--border);
  color: var(--text);
  box-shadow: 0 8px 20px rgba(36, 50, 100, 0.08);
}
.bonus-pill:hover {
  border-color: var(--border-strong);
  background: #fff;
  box-shadow: 0 12px 26px rgba(42, 171, 238, 0.20);
}
.bonus-pill-num,
.bonus-pill-sign {
  background: linear-gradient(135deg, var(--primary), var(--primary-2));
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}
.bonus-pill-label { color: var(--text-muted); }
.bonus-pill-arrow { color: var(--text-muted); }

.bonus-card {
  background: #fff;
  border: 1px solid var(--border);
  color: var(--text);
  box-shadow: 0 14px 38px rgba(36, 50, 100, 0.12);
}
.bonus-eyebrow { color: var(--text-muted); }
.bonus-percent,
.bonus-percent-sign {
  background: linear-gradient(135deg, var(--primary), var(--primary-2));
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}
.bonus-sub { color: var(--text-muted); }
.bonus-progress { background: rgba(124, 92, 255, 0.12); }
.bonus-progress > span {
  background: linear-gradient(90deg, var(--primary), var(--primary-2));
}
.bonus-tail   { color: var(--text-dim); }
.bonus-tail b { color: var(--text); }
.bonus-tail-max { color: var(--green); }
.bonus-fine   { color: var(--text-muted); }
.bonus-close  { color: var(--text-muted); }
.bonus-close:hover { color: var(--text); }
.bonus-code {
  background: var(--surface-2);
  border: 1px dashed rgba(42, 171, 238, 0.45);
}
.bonus-code code { color: var(--text); }
.bonus-btn-ghost {
  background: var(--surface);
  border: 1px solid var(--border);
  color: var(--text);
}
.bonus-btn-ghost:hover { border-color: var(--border-strong); background: #fff; }

/* ---- Search field РІ С€Р°РїРєРµ: focus-glow ---- */
.header-search { transition: border-color var(--dur-normal) var(--ease-out), box-shadow var(--dur-normal) var(--ease-out); }
.header-search:focus-within .search-icon { color: var(--primary); }

/* ---- Section heads ---- */
#faq .section-head h2,
#reviews .section-head h2 { color: var(--text); }
#faq .section-head p,
#reviews .section-head p  { color: var(--text-muted); }

/* ---- Scroll-reveal helper class ---- */
[data-reveal] {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity var(--dur-slow) var(--ease-out),
              transform var(--dur-slow) var(--ease-out);
  will-change: opacity, transform;
}
[data-reveal].is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* ---- Reduced motion ---- */
@media (prefers-reduced-motion: reduce) {
  [data-reveal] { opacity: 1 !important; transform: none !important; }
  .trust-dot { animation: none !important; }
  .btn-primary::after { display: none !important; }
}


/* ============================================================
   v13 вЂ” Light theme contrast + card detail polish
   ============================================================ */

/* — Body radial glow удалён: фон управляется только site-v2.css — */

/* вЂ” Cards: С‡СѓС‚СЊ РїР»РѕС‚РЅРµРµ, С‚РµРЅСЊ С‚РµРїР»Р°СЏ вЂ” */
.card {
  background: #ffffff !important;
  border: 1px solid #e2d8c8 !important;
  box-shadow: 0 10px 28px rgba(50, 40, 25, 0.06) !important;
  transition:
    transform 200ms var(--ease-out),
    border-color 200ms var(--ease-out),
    box-shadow 200ms var(--ease-out),
    background 200ms var(--ease-out) !important;
}
.card:hover:not(.card-out) {
  background: #ffffff !important;
  border-color: rgba(42, 171, 238, 0.35) !important;
  box-shadow: 0 18px 44px rgba(42, 90, 160, 0.12) !important;
  transform: translateY(-5px) !important;
}

/* вЂ” Р¦РµРЅР°: РІСЃРµРіРґР° С‚С‘РјРЅР°СЏ, gold РќР• РїСЂРёРјРµРЅСЏРµРј РЅР° hover вЂ” */
.card .card-price-rub {
  color: #121722 !important;
  text-shadow: none !important;
  transition: none !important;
}
.card:hover:not(.card-out) .card-price-rub {
  color: #121722 !important;
  text-shadow: none !important;
}
.card .card-from {
  color: #6f7585 !important;
  font-weight: 700;
}

/* вЂ” Card-savings: С‚С‘РїР»С‹Р№ gold-Р±РµР№РґР¶, Р±РµР· РєСЂР°СЃРЅРѕРіРѕ вЂ” */
.card-savings {
  background: #fff4da !important;
  color: #b7791f !important;
  border: 1px solid rgba(201, 138, 30, 0.28) !important;
  font-weight: 800;
}
.card-savings em { color: inherit; }

/* вЂ” Region badge: РјСЏРіРєРёР№ cream вЂ” */
.card-region-badge {
  background: #efe7da !important;
  color: #4e5565 !important;
  border: 1px solid rgba(28, 27, 26, 0.06) !important;
  font-weight: 600;
}

/* вЂ” РљР°С‚РµРіРѕСЂРёСЏ СЃРІРµСЂС…Сѓ РєР°СЂС‚РѕС‡РєРё вЂ” */
.card-cat { color: #687083 !important; font-weight: 600; }
.card-title { color: #121722 !important; }

/* вЂ” В«Р’С‹Р±СЂР°С‚СЊ в†’В» РІ РєР°СЂС‚РѕС‡РєРµ вЂ” */
.card .card-go { color: var(--primary) !important; font-weight: 700; }
.card:hover:not(.card-out) .card-go { transform: translateX(3px); }

/* ============================================================
   Tile / РёРєРѕРЅРєРё С‚РѕРІР°СЂР° вЂ” Р±РѕР»СЊС€Рµ РєРѕРЅС‚СЂР°СЃС‚Р°, РЅРµ disabled
   ============================================================ */
.card .card-visual {
  background:
    linear-gradient(160deg,
      color-mix(in srgb, var(--brand, #2aabee) 22%, #ffffff),
      color-mix(in srgb, var(--brand, #2aabee) 8%, #ffffff)) !important;
  border: 1px solid color-mix(in srgb, var(--brand, #2aabee) 28%, #e2d8c8) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.45);
}
.card .tile-logo {
  filter: none !important;
  opacity: 1 !important;
}
/* Р•СЃР»Рё Р±СЂРµРЅРґ СЃРІРµС‚Р»С‹Р№/Р±РµР»С‹Р№ (apple, ebay, eneba Рё С‚.Рґ.) вЂ” РґР°С‘Рј Р±РѕР»РµРµ РЅР°СЃС‹С‰РµРЅРЅС‹Р№ С„РѕРЅ */
.card .card-visual:has(.tile-mono),
.card .card-visual:has(.tile-word) {
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--brand, #2aabee) 80%, #ffffff),
    color-mix(in srgb, var(--brand, #2aabee) 50%, #ffffff)) !important;
  border-color: color-mix(in srgb, var(--brand, #2aabee) 40%, #e2d8c8) !important;
}
.card .tile-mono {
  color: #ffffff !important;
  font-weight: 900;
  text-shadow: 0 1px 0 rgba(0,0,0,0.10);
}
.card .tile-word {
  color: #ffffff !important;
  text-shadow: 0 1px 0 rgba(0,0,0,0.10);
  font-weight: 800;
}

/* вЂ” Hover: РёРєРѕРЅРєР° С‡СѓС‚СЊ СѓРІРµР»РёС‡РёРІР°РµС‚СЃСЏ Рё РЅР°СЃС‹С‰Р°РµС‚СЃСЏ вЂ” */
.card:hover:not(.card-out) .card-visual {
  border-color: color-mix(in srgb, var(--brand, #2aabee) 45%, #e2d8c8) !important;
}
.card:hover:not(.card-out) .tile-logo,
.card:hover:not(.card-out) .tile-mono,
.card:hover:not(.card-out) .tile-word {
  transform: scale(1.04);
  filter: saturate(1.10) !important;
}

/* ============================================================
   Categories вЂ” РІС‹СЂРѕРІРЅСЏС‚СЊ РєРѕРЅС‚СЂР°СЃС‚
   ============================================================ */
.filter-chip {
  background: #ffffff !important;
  color: #4a4f5e !important;
  border: 1px solid #e2d8c8 !important;
  box-shadow: 0 2px 6px rgba(50, 40, 25, 0.04) !important;
  transition:
    transform 180ms var(--ease-out),
    background 220ms var(--ease-out),
    color 220ms var(--ease-out),
    border-color 220ms var(--ease-out),
    box-shadow 220ms var(--ease-out) !important;
}
.filter-chip:hover {
  background: #ffffff !important;
  border-color: rgba(42, 171, 238, 0.45) !important;
  color: #171923 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 20px rgba(42, 90, 160, 0.10) !important;
}
.filter-chip.active {
  background: linear-gradient(135deg, var(--primary), var(--primary-2)) !important;
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.40) !important;
  box-shadow: 0 10px 24px rgba(42, 171, 238, 0.32) !important;
}
.filter-chip .chip-count {
  background: rgba(28, 27, 26, 0.06) !important;
  color: #6f7585 !important;
}
.filter-chip.active .chip-count {
  background: rgba(255, 255, 255, 0.25) !important;
  color: #ffffff !important;
}
.filter-chip.active:active { transform: scale(0.98) !important; }

/* вЂ” РљРЅРѕРїРєР° В«Р¤РёР»СЊС‚СЂС‹В» вЂ” */
.filter-fab-toggle {
  background: #ffffff !important;
  color: #171923 !important;
  border: 1px solid #e2d8c8 !important;
  transition:
    transform 180ms var(--ease-out),
    border-color 220ms var(--ease-out),
    box-shadow 220ms var(--ease-out) !important;
}
.filter-fab-toggle:hover {
  border-color: rgba(42, 171, 238, 0.45) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 20px rgba(42, 90, 160, 0.10) !important;
}

/* ============================================================
   Card click в†’ press-feedback + open animation
   РљРѕРіРґР° СЋР·РµСЂ РєР»РёРєР°РµС‚ РЅР° РєР°СЂС‚РѕС‡РєСѓ, РѕРЅР° В«РЅР°Р¶РёРјР°РµС‚СЃСЏВ» Рё РѕС‚РєСЂС‹РІР°РµС‚СЃСЏ
   РјРѕРґР°Р»РєР° С‡РµСЂРµР· scale+fade (СЌС‚Рѕ СѓР¶Рµ СЃРґРµР»Р°РЅРѕ РІ v11/v12, С‚СѓС‚ С‚РѕР»СЊРєРѕ
   РґРѕР±Р°РІР»СЏРµРј press-СЌС„С„РµРєС‚ РЅР° РєР°СЂС‚РѕС‡РєРµ).
   ============================================================ */
.card:active:not(.card-out) {
  transform: translateY(-2px) scale(0.985) !important;
  transition: transform 90ms var(--ease-fast) !important;
  box-shadow: 0 8px 18px rgba(42, 90, 160, 0.10) !important;
}
.card.card-pressing {
  animation: cardPress 360ms var(--ease-out);
}
@keyframes cardPress {
  0%   { transform: translateY(-5px) scale(1); }
  35%  { transform: translateY(-1px) scale(0.985); }
  100% { transform: translateY(-5px) scale(1); }
}

/* ============================================================
   FAQ вЂ” РїСЂРёСЏС‚РЅРѕРµ РѕС‚РєСЂС‹С‚РёРµ/Р·Р°РєСЂС‹С‚РёРµ
   ============================================================ */
.faq-item {
  background: #ffffff !important;
  border: 1px solid #e2d8c8 !important;
  border-radius: 16px;
  margin-bottom: 10px;
  padding: 0 18px;
  transition:
    background 260ms var(--ease-out),
    border-color 260ms var(--ease-out),
    box-shadow 260ms var(--ease-out);
}
.faq-item:hover { border-color: rgba(42, 171, 238, 0.30); }
.faq-item[open] {
  background: #ffffff !important;
  border-color: rgba(42, 171, 238, 0.40) !important;
  box-shadow: 0 12px 28px rgba(42, 90, 160, 0.10) !important;
}
.faq-item summary {
  color: #121722;
  list-style: none;
  cursor: pointer;
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px;
  padding: 18px 4px;
  user-select: none;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-plus {
  display: inline-grid; place-items: center;
  width: 30px; height: 30px; border-radius: 50%;
  background: #fbfaf7;
  border: 1px solid #e2d8c8;
  color: #6f7585;
  font: 600 18px/1 var(--font);
  transition:
    transform 320ms cubic-bezier(.22,1,.36,1),
    background 260ms var(--ease-out),
    border-color 260ms var(--ease-out),
    color 260ms var(--ease-out);
}
.faq-item[open] .faq-plus {
  transform: rotate(45deg);
  background: rgba(42, 171, 238, 0.10);
  border-color: rgba(42, 171, 238, 0.45);
  color: var(--primary);
}
.faq-answer {
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  padding: 0 4px;
  color: #4a4f5e;
  transform: translateY(-4px);
  transition:
    max-height 360ms cubic-bezier(.22,1,.36,1),
    opacity 240ms var(--ease-out),
    transform 320ms cubic-bezier(.22,1,.36,1),
    padding 240ms var(--ease-out);
}
.faq-item[open] .faq-answer {
  max-height: 600px;
  opacity: 1;
  transform: translateY(0);
  padding: 4px 4px 18px;
}

/* ============================================================
   Modal open animation вЂ” РјР°СЃС€С‚Р°Р±+Р»РёС„С‚ С‡СѓС‚СЊ РІС‹СЂР°Р¶РµРЅРЅРµРµ
   ============================================================ */
.modal-dialog {
  animation: modalIn 380ms cubic-bezier(.22,1,.36,1) both !important;
}
@keyframes modalIn {
  from { opacity: 0; transform: scale(0.94) translateY(18px); }
  to   { opacity: 1; transform: scale(1) translateY(0); }
}
.modal {
  animation: modalBackdrop 260ms var(--ease-out) both !important;
}
@keyframes modalBackdrop {
  from { opacity: 0; }
  to   { opacity: 1; }
}

/* ============================================================
   Reduced motion
   ============================================================ */
@media (prefers-reduced-motion: reduce) {
  .card.card-pressing { animation: none !important; }
  .card:active:not(.card-out) { transform: none !important; }
  .faq-plus { transition: none !important; }
  .modal-dialog, .modal { animation: none !important; }
}


/* ============================================================
   v14 вЂ” Tile colors: native brand color SVG + Р·Р°С‚РµРјРЅС‘РЅРЅР°СЏ РїРѕРґР»РѕР¶РєР°
   ============================================================ */

/* РџРѕ СѓРјРѕР»С‡Р°РЅРёСЋ РїР»РёС‚РєР° вЂ” РјСЏРіРєРѕ-РєСЂРµРјРѕРІР°СЏ, РЅРµ С‡РёСЃС‚Рѕ-Р±РµР»Р°СЏ.
   РќР° РЅРµР№ С†РІРµС‚РЅРѕР№ SVG-Р»РѕРіРѕС‚РёРї С‡РёС‚Р°РµС‚СЃСЏ Р±РµР· РїСЂРѕР±Р»РµРј. */
.card .card-visual {
  background: linear-gradient(160deg, #efe7da, #e6dcc8) !important;
  border: 1px solid #d8cdb6 !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.55),
    inset 0 -1px 0 rgba(0,0,0,0.04) !important;
}
.card .tile-logo {
  filter: none !important;
  opacity: 1 !important;
}

/* Mono-РїР»РёС‚РєРё (Р±СѓРєРІС‹ AB, EA Рё С‚.Рґ.) вЂ” РѕСЃС‚Р°РІР»СЏРµРј Р±СЂРµРЅРґРѕРІС‹Р№ С†РІРµС‚ С„РѕРЅР°:
   С‚Р°Рј Р»РѕРіРѕС‚РёРїР° РЅРµС‚, Рё РЅР°СЃС‹С‰РµРЅРЅС‹Р№ С„РѕРЅ + Р±РµР»Р°СЏ Р±СѓРєРІР° = С‡РёС‚Р°РµРјРѕ. */
.card .card-visual:has(.tile-mono),
.card .card-visual:has(.tile-word) {
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--brand, #2aabee) 75%, #ffffff),
    color-mix(in srgb, var(--brand, #2aabee) 50%, #ffffff)) !important;
  border-color: color-mix(in srgb, var(--brand, #2aabee) 40%, #d8cdb6) !important;
}
.card .tile-mono,
.card .tile-word {
  color: #ffffff !important;
  font-weight: 900;
  text-shadow: 0 1px 0 rgba(0,0,0,0.10);
}

/* Fallback: Р±СЂРµРЅРґ Р±РµР· -color.svg, РіСЂСѓР·РёС‚СЃСЏ -white.svg (Р±РµР»С‹Р№ SVG).
   Р”Р»СЏ РЅРµРіРѕ РїРѕРґР»РѕР¶РєСѓ РѕСЃС‚Р°РІР»СЏРµРј Р±СЂРµРЅРґРѕРІСѓСЋ, С‡С‚РѕР±С‹ Р±РµР»С‹Р№ С‡РёС‚Р°Р»СЃСЏ. */
.card .card-visual:has(.tile-logo-fallback) {
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--brand, #2aabee) 65%, #ffffff),
    color-mix(in srgb, var(--brand, #2aabee) 35%, #ffffff)) !important;
  border-color: color-mix(in srgb, var(--brand, #2aabee) 38%, #d8cdb6) !important;
}

/* Hover вЂ” Р»С‘РіРєРѕРµ СѓСЃРёР»РµРЅРёРµ: СЂР°РјРєР° РїР»РѕС‚РЅРµРµ, РЅР°СЃС‹С‰РµРЅРЅРµРµ */
.card:hover:not(.card-out) .card-visual {
  border-color: #cbbf9f !important;
  background: linear-gradient(160deg, #ece2d0, #e0d4bc) !important;
}
.card:hover:not(.card-out) .card-visual:has(.tile-mono),
.card:hover:not(.card-out) .card-visual:has(.tile-word) {
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--brand, #2aabee) 85%, #ffffff),
    color-mix(in srgb, var(--brand, #2aabee) 60%, #ffffff)) !important;
  border-color: color-mix(in srgb, var(--brand, #2aabee) 50%, #cbbf9f) !important;
}
.card:hover:not(.card-out) .card-visual:has(.tile-logo-fallback) {
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--brand, #2aabee) 75%, #ffffff),
    color-mix(in srgb, var(--brand, #2aabee) 45%, #ffffff)) !important;
}
.card:hover:not(.card-out) .tile-logo,
.card:hover:not(.card-out) .tile-mono,
.card:hover:not(.card-out) .tile-word {
  transform: scale(1.04);
  filter: saturate(1.10) !important;
}


/* ============================================================
   v15 вЂ” Search field, scrollbar, hero animation polish
   ============================================================ */

/* вЂ” Search field: С‡РёСЃС‚С‹Р№ Р±РµР»С‹Р№ input РЅР° СЃРІРµС‚Р»РѕР№ С‚РµРјРµ вЂ” */
.header-search {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}



.header-search .search-icon {
  color: #6f7585 !important;
  transition: color var(--dur-normal) var(--ease-out);
}
.header-search:focus-within .search-icon {
  color: var(--primary) !important;
}

/* вЂ” Modal scrollbar: С‚РѕРЅРєРёР№, РІ РїР°Р»РёС‚СЂРµ СЃР°Р№С‚Р° вЂ” */
.modal-dialog {
  scrollbar-width: thin;
  scrollbar-color: rgba(42, 90, 160, 0.30) transparent;
}
.modal-dialog::-webkit-scrollbar { width: 8px; }
.modal-dialog::-webkit-scrollbar-track { background: transparent; }
.modal-dialog::-webkit-scrollbar-thumb {
  background: rgba(42, 90, 160, 0.25);
  border-radius: 999px;
  border: 2px solid transparent;
  background-clip: padding-box;
}
.modal-dialog::-webkit-scrollbar-thumb:hover {
  background: rgba(42, 90, 160, 0.45);
  background-clip: padding-box;
}
/* Р“Р»РѕР±Р°Р»СЊРЅС‹Р№ scrollbar С‚РѕР¶Рµ РїРѕРґСЃС‚СЂРѕРёРј */
html { scrollbar-width: thin; scrollbar-color: rgba(50, 40, 25, 0.18) transparent; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--bg); }
::-webkit-scrollbar-thumb {
  background: rgba(50, 40, 25, 0.22);
  border-radius: 999px;
  border: 2px solid var(--bg);
  background-clip: padding-box;
}
::-webkit-scrollbar-thumb:hover {
  background: rgba(50, 40, 25, 0.38);
  background-clip: padding-box;
}

/* вЂ” Modal: РѕРіСЂР°РЅРёС‡РёС‚СЊ РІС‹СЃРѕС‚Сѓ Рё РґР°С‚СЊ РІРЅСѓС‚СЂРµРЅРЅРёР№ СЃРєСЂРѕР»Р», С‡С‚РѕР±С‹ РєР°СЂС‚РѕС‡РєР°
     РЅРµ РІС‹Р»РµР·Р°Р»Р° Р·Р° СЌРєСЂР°РЅ вЂ” */
.modal-dialog {
  max-height: calc(100vh - 60px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

/* ============================================================
   Hero collapse вЂ” Р±РѕР»СЊС€Рµ РѕРїСѓСЃРєР°РЅРёСЏ, РїР»Р°РІРЅС‹Р№ fade
   ============================================================ */
.bonus-hero {
  margin: 0 0 18px;
  display: grid;
  grid-template-rows: 1fr;
  /* Р—Р°РјРµРґР»РµРЅРЅРѕРµ Рё Р±РѕР»РµРµ РїР»Р°РІРЅРѕРµ СЃР¶Р°С‚РёРµ */
  transition:
    grid-template-rows 600ms cubic-bezier(.22,1,.36,1),
    opacity 480ms cubic-bezier(.22,1,.36,1),
    margin-bottom 600ms cubic-bezier(.22,1,.36,1) !important;
}
.bonus-hero > .hero-shell {
  min-height: 0;
  overflow: hidden;
  transition:
    transform 600ms cubic-bezier(.22,1,.36,1),
    filter 480ms cubic-bezier(.22,1,.36,1) !important;
}
.bonus-hero.bonus-hero-leaving {
  grid-template-rows: 0fr;
  opacity: 0;
  margin-bottom: 0;
  pointer-events: none;
}
.bonus-hero.bonus-hero-leaving > .hero-shell {
  transform: translateY(-40px);
  filter: blur(2px);
}
.bonus-hero.bonus-hero-entering {
  grid-template-rows: 0fr;
  opacity: 0;
  margin-bottom: 0;
}
.bonus-hero.bonus-hero-entering > .hero-shell {
  transform: translateY(-40px);
  filter: blur(2px);
}
@media (prefers-reduced-motion: reduce) {
  .bonus-hero.bonus-hero-leaving > .hero-shell,
  .bonus-hero.bonus-hero-entering > .hero-shell { filter: none !important; transform: none !important; }
}


/* ============================================================
   v16 вЂ” Tinted logos РґР»СЏ Р±СЂРµРЅРґРѕРІ Р±РµР· -color.svg
   Silhouette РёР· white-РІР°СЂРёР°РЅС‚Р° РєСЂР°СЃРёС‚СЃСЏ РІ brand color С‡РµСЂРµР· CSS mask.
   ============================================================ */
.tile-logo-tinted {
  display: inline-block;
  width: var(--logo-size, 40px);
  height: var(--logo-size, 40px);
  background-color: var(--brand, #2aabee);
  -webkit-mask: var(--logo-mask) center / contain no-repeat;
          mask: var(--logo-mask) center / contain no-repeat;
  transition: transform var(--dur-normal) var(--ease-out),
              filter var(--dur-normal) var(--ease-out);
}
.card .tile-logo-tinted { background-color: var(--brand, #2aabee) !important; }

/* РќР° РєР°СЂС‚РѕС‡РєРµ tinted-Р»РѕРіРѕС‚РёРїС‹ РѕСЃС‚Р°СЋС‚СЃСЏ РЅР° СЃС‚Р°РЅРґР°СЂС‚РЅРѕР№ cream-РїР»РёС‚РєРµ вЂ”
   РїР»РёС‚РєР° СѓР¶Рµ РЅРµ В«brand-tintedВ», РїРѕС‚РѕРјСѓ С‡С‚Рѕ СЃРёР»СѓСЌС‚ СЃР°Рј С†РІРµС‚РЅРѕР№. */
.card .card-visual:has(.tile-logo-tinted) {
  background: linear-gradient(160deg, #efe7da, #e6dcc8) !important;
  border-color: #d8cdb6 !important;
}
.card:hover:not(.card-out) .card-visual:has(.tile-logo-tinted) {
  background: linear-gradient(160deg, #ece2d0, #e0d4bc) !important;
  border-color: color-mix(in srgb, var(--brand, #2aabee) 35%, #cbbf9f) !important;
}


/* ============================================================
   v17 вЂ” Brand color overrides for monochrome SVGs
   Р¦РІРµС‚Р° РІР·СЏС‚С‹ РёР· РѕС„РёС†РёР°Р»СЊРЅС‹С… РіР°Р№РґРѕРІ Р±СЂРµРЅРґРѕРІ.
   ============================================================ */

/* Ubisoft вЂ” С„РёСЂРјРµРЅРЅС‹Р№ СЃРёРЅРёР№ (data brand color = #1F1F1F в†’ РїРµСЂРµРѕРїСЂРµРґРµР»СЏРµРј) */
.card[style*="--brand:#1F1F1F"] .tile-logo-tinted,
.card[style*="--brand: #1F1F1F"] .tile-logo-tinted {
  background-color: #0099FF !important;
}
.tile-logo-tinted[data-mask*="ubisoft"]   { background-color: #0099FF !important; }
.tile-logo-tinted[data-mask*="pubg-"]     { background-color: #F2A900 !important; }
.tile-logo-tinted[data-mask*="riotgames"] { background-color: #D32936 !important; }
.tile-logo-tinted[data-mask*="telegram"]  { background-color: #2AABEE !important; }
.tile-logo-tinted[data-mask*="battle"]    { background-color: #00AEFF !important; }
.tile-logo-tinted[data-mask*="airbnb"]    { background-color: #FF5A5F !important; }


/* ============================================================
   v18 вЂ” Smart intro collapse on search interaction
   ============================================================ */
.intro-shell {
  display: grid;
  grid-template-rows: 1fr;
  opacity: 1;
  transform: translateY(0) scale(1);
  margin-bottom: 0;
  transition:
    grid-template-rows 380ms cubic-bezier(.22, 1, .36, 1),
    opacity 260ms ease,
    transform 360ms cubic-bezier(.22, 1, .36, 1),
    margin-bottom 360ms cubic-bezier(.22, 1, .36, 1);
  will-change: grid-template-rows, opacity, transform;
}
.intro-shell > .intro-inner {
  min-height: 0;
  overflow: hidden;
}
.intro-shell.intro-collapsed {
  grid-template-rows: 0fr;
  opacity: 0;
  transform: translateY(-10px) scale(.985);
  margin-bottom: 0 !important;
  pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
  .intro-shell {
    transition:
      grid-template-rows 200ms ease,
      opacity 160ms ease !important;
  }
  .intro-shell.intro-collapsed {
    transform: none !important;
  }
}


/* ============================================================
   v19 вЂ” Card content polish: brand aura + watermark + price zone
   ============================================================ */

/* РљР°СЂС‚РѕС‡РєР° РґРµР»Р°РµС‚СЃСЏ В«СЃР»РѕРёСЃС‚РѕР№В»: С„РѕРЅ, brand aura, watermark, РєРѕРЅС‚РµРЅС‚. */
.card {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding-bottom: 0 !important; /* РїСЂРѕСЃС‚СЂР°РЅСЃС‚РІРѕ СЃРЅРёР·Сѓ Р·Р°РЅРёРјР°РµС‚ price-zone */
  display: flex !important;
  flex-direction: column;
}

/* Soft brand aura вЂ” РґРІР° radial-glow РІ РІРµСЂС…РЅРёС… СѓРіР»Р°С…, РІ С†РІРµС‚ Р±СЂРµРЅРґР°. */
.card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background:
    radial-gradient(circle at 18% 12%,
      color-mix(in srgb, var(--brand, #2aabee) 16%, transparent),
      transparent 38%),
    radial-gradient(circle at 85% 8%,
      color-mix(in srgb, var(--brand, #2aabee) 10%, transparent),
      transparent 32%);
  opacity: 0.85;
  transition: opacity var(--dur-normal) var(--ease-out);
}
.card:hover:not(.card-out)::before { opacity: 1; }

/* РЎРѕРґРµСЂР¶РёРјРѕРµ РЅР°Рґ Р°СѓСЂРѕР№ Рё watermark-РѕРј */
.card > * { position: relative; z-index: 1; }

/* Watermark: С‚РѕС‚ Р¶Рµ РІРёР·СѓР°Р» Р±СЂРµРЅРґР°, РєСЂСѓРїРЅРѕ, РїСЂРёРіР»СѓС€С‘РЅРЅРѕ, РІ РїСЂР°РІРѕРј РІРµСЂС…Сѓ. */
.card-watermark {
  position: absolute;
  top: -22px;
  right: -22px;
  width: 150px; height: 150px;
  z-index: 0;
  pointer-events: none;
  opacity: 0.045;
  filter: saturate(1.5);
  transition: opacity var(--dur-normal) var(--ease-out),
              transform var(--dur-normal) var(--ease-out);
  transform: rotate(-8deg);
  display: grid; place-items: center;
}
.card:hover:not(.card-out) .card-watermark {
  opacity: 0.075;
  transform: rotate(-8deg) scale(1.04);
}
.card-watermark .tile-logo,
.card-watermark .tile-logo-tinted {
  width: 150px !important;
  height: 150px !important;
}
.card-watermark .tile-mono {
  font-size: 96px !important;
  color: color-mix(in srgb, var(--brand, #2aabee) 80%, #000000) !important;
  text-shadow: none !important;
  -webkit-text-fill-color: currentColor !important;
}
.card-watermark .tile-word {
  font-size: 38px !important;
  color: color-mix(in srgb, var(--brand, #2aabee) 80%, #000000) !important;
  text-shadow: none !important;
  -webkit-text-fill-color: currentColor !important;
  white-space: nowrap;
}

/* Card body вЂ” Р·Р°Р±РёСЂР°РµС‚ РІСЃС‘ СЃРІРѕР±РѕРґРЅРѕРµ РјРµСЃС‚Рѕ, РїРѕРґ РЅРёРј price-zone. */
.card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.card-trust {
  margin: 2px 0 0;
  font-size: 11.5px;
  font-weight: 600;
  color: #8a8fa1;
  letter-spacing: -0.005em;
  line-height: 1.35;
}

/* Price zone вЂ” РѕС‚РґРµР»СЊРЅР°СЏ РЅРёР¶РЅСЏСЏ РїР»Р°С€РєР°, РјСЏРіРєРёР№ cream С„РѕРЅ + warm-gold Р»РёРЅРёСЏ. */
.card-pricezone {
  margin: 14px -16px -16px;
  padding: 14px 16px 14px;
  background: rgba(247, 242, 232, 0.72);
  border-top: 1px solid rgba(201, 138, 30, 0.10);
  border-radius: 0 0 var(--radius) var(--radius);
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.card-pricezone .card-price-row {
  margin: 0;
  padding: 0;
}
.card-pricezone .card-price-rub {
  color: #121722 !important;
}
.card-pricezone .card-from {
  color: #6f7585 !important;
  font-weight: 700;
}
.card-pricezone .card-foot {
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.card-pricezone .card-go {
  margin-left: auto;
}

/* Hover-effect РґР»СЏ price zone вЂ” Р»С‘РіРєРѕРµ РѕСЃРІРµС‚Р»РµРЅРёРµ */
.card:hover:not(.card-out) .card-pricezone {
  background: rgba(255, 248, 230, 0.85);
}

/* Out-of-stock вЂ” РїСЂРёРіР»СѓС€Р°РµРј РІСЃРµ СЃР»РѕРё */
.card-out::before { opacity: 0.4; }
.card-out .card-watermark { opacity: 0.025; }

@media (prefers-reduced-motion: reduce) {
  .card::before,
  .card-watermark { transition: none !important; }
  .card:hover:not(.card-out) .card-watermark { transform: rotate(-8deg) !important; }
}


/* ============================================================
   v20 вЂ” Р“Р°СЂР°РЅС‚РёСЏ Рё РїСЂРѕРІРµСЂРєР° РїРµСЂРµРґ РѕРїР»Р°С‚РѕР№ + modal CTA fine print
   ============================================================ */
.guarantee { padding: 30px 0 10px; }
#guarantee .section-head { display: block !important; text-align: left; max-width: 720px; margin: 0 0 22px; }
#guarantee .section-head h2 {
  font-size: clamp(28px, 3.4vw, 38px); margin: 0 0 6px;
  font-weight: 700; letter-spacing: -0.025em; color: var(--text);
}
#guarantee .section-head p { margin: 0; color: var(--text-muted); font-size: 16px; }

.guarantee-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 14px;
}
.guarantee-card {
  display: flex; flex-direction: column; gap: 8px;
  padding: 18px 18px;
  border-radius: 16px;
  background: #ffffff;
  border: 1px solid #e2d8c8;
  box-shadow: 0 6px 18px rgba(36, 50, 100, 0.05);
  transition:
    transform var(--dur-normal) var(--ease-out),
    border-color var(--dur-normal) var(--ease-out),
    box-shadow var(--dur-normal) var(--ease-out);
}
.guarantee-card:hover {
  transform: translateY(-3px);
  border-color: rgba(42, 171, 238, 0.30);
  box-shadow: 0 14px 32px rgba(36, 50, 100, 0.10);
}
.guarantee-ico {
  width: 38px; height: 38px;
  display: grid; place-items: center;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(42, 171, 238, 0.10), rgba(124, 92, 255, 0.10));
  color: var(--primary);
  border: 1px solid rgba(42, 171, 238, 0.18);
  margin-bottom: 4px;
}
.guarantee-card h3 {
  margin: 0;
  font-size: 14.5px; font-weight: 800; letter-spacing: -0.01em;
  color: var(--text);
}
.guarantee-card p {
  margin: 0;
  font-size: 13px; line-height: 1.5;
  color: var(--text-muted);
}

/* РџРѕРґРїРёСЃСЊ РїРѕРґ РѕСЃРЅРѕРІРЅРѕР№ РєРЅРѕРїРєРѕР№ РІ РјРѕРґР°Р»РєРµ */
.modal-cta-fine {
  margin: 10px 0 0;
  font-size: 11.5px; line-height: 1.45;
  color: var(--text-muted);
  text-align: center;
}


/* ============================================================
   v21 вЂ” Mobile UX/UI polish
   ============================================================ */

/* вЂ” Critical: prevent iOS zoom on focus by giving inputs в‰Ґ16px font-size. */
@media (max-width: 768px) {
  #searchInput,
  #filterPriceMin,
  #filterPriceMax,
  input[type="search"],
  input[type="text"],
  input[type="tel"],
  input[type="number"],
  textarea {
    font-size: 16px !important;
  }
}

/* вЂ” 100dvh РґР»СЏ РјРѕРґР°Р»РєРё/drawer РІРјРµСЃС‚Рѕ 100vh. */
@supports (height: 100dvh) {
  .modal-dialog { max-height: calc(100dvh - 24px) !important; }
  .filter-fab-panel { height: 100dvh !important; }
}

/* вЂ” Modal: РєРѕРЅС‚РµР№РЅРµСЂ РЅРµ РїСѓСЃРєР°РµС‚ РїСЂРѕРєСЂСѓС‚РєСѓ РІ body РЅР° iOS. */
.modal-dialog {
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

/* вЂ” Sticky CTA: СѓС‡С‘С‚ iOS safe-area. */
.sticky-cta {
  bottom: max(14px, env(safe-area-inset-bottom)) !important;
}

/* вЂ” Filter drawer: СѓС‡С‘С‚ safe-area РґР»СЏ apply-РєРЅРѕРїРєРё. */
.filter-fab-panel {
  padding-bottom: calc(22px + env(safe-area-inset-bottom)) !important;
}

/* вЂ” РЎРєСЂРѕР»Р»Р±Р°СЂС‹ РЅРµ РґРѕР»Р¶РЅС‹ РґРѕР±Р°РІР»СЏС‚СЊ СЂРµР·РµСЂРІ СЃР»РµРІР° РЅР° РјРѕР±РёР»Рµ. */
@media (max-width: 768px) {
  ::-webkit-scrollbar { width: 0; height: 0; }
  html { scrollbar-width: none; }
  /* РќРѕ РІ РјРѕРґР°Р»РєРµ РѕСЃС‚Р°РІРёРј вЂ” С‚Р°Рј СЂРµР°Р»СЊРЅРѕ РЅСѓР¶РµРЅ. */
  .modal-dialog::-webkit-scrollbar { width: 6px; }
}

/* ============================================================
   РљР°С‚РµРіРѕСЂРёРё: РіРѕСЂРёР·РѕРЅС‚Р°Р»СЊРЅС‹Р№ СЃРєСЂРѕР»Р» РЅР° РјРѕР±РёР»Рµ РІРјРµСЃС‚Рѕ РїРµСЂРµРЅРѕСЃР°
   ============================================================ */
@media (max-width: 680px) {
  .filters-row {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }
  .filters-row .filters {
    /* 1 СЂСЏРґ, scroll-snap РїРѕ С‚Р°РїСѓ. */
    flex-wrap: nowrap !important;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    margin: 0 -16px;
    padding: 4px 16px 6px;
  }
  .filters-row .filters::-webkit-scrollbar { display: none; }
  .filter-chip {
    flex: 0 0 auto;
    scroll-snap-align: start;
    min-height: 44px !important;
    height: 44px;
  }
  .filter-fab {
    align-self: flex-end;
    margin-left: 0 !important;
  }
  .filter-fab-toggle {
    min-height: 44px;
    height: 44px;
  }
}

/* вЂ” Touch targets в‰Ґ44 РЅР° РјРѕР±РёР»Рµ вЂ” РѕР±С‰РёРµ. */
@media (max-width: 680px) {
  .modal-tab {
    min-height: 44px !important;
    padding: 12px 14px !important;
  }
  .denom-row {
    min-height: 52px;
  }
  .faq-item summary {
    min-height: 56px;
  }
  .filter-pill {
    min-height: 36px;
  }
}

/* ============================================================
   Hero РЅР° РјРѕР±РёР»Рµ вЂ” РєРѕРјРїР°РєС‚РЅРµРµ
   ============================================================ */
@media (max-width: 680px) {
  .hero-card { padding: 14px !important; gap: 12px !important; }
  .hero-title {
    font-size: clamp(18px, 5vw, 22px) !important;
    line-height: 1.18 !important;
  }
  .hero-lead {
    font-size: 13px !important;
    line-height: 1.5 !important;
  }
  .hero-stats { gap: 14px !important; }
  .hero-stats b { font-size: 18px !important; }
  .bonus-card-num { font-size: 40px !important; }
  .bonus-card-sign { font-size: 22px !important; }
  .bonus-card-hero { padding: 14px !important; }
}
@media (max-width: 380px) {
  .hero-title { font-size: 17px !important; }
  .bonus-card-num { font-size: 34px !important; }
  .bonus-card-sign { font-size: 20px !important; }
}

/* ============================================================
   How-strip вЂ” РєРѕРјРїР°РєС‚РЅРµРµ: РёРєРѕРЅРєРё + РєРѕСЂРѕС‚РєРёРµ РїРѕРґРїРёСЃРё РІ СЃС‚СЂРѕРєСѓ
   ============================================================ */
@media (max-width: 680px) {
  .how-strip {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
  .how-strip li { padding: 10px 12px !important; }
  .how-num { width: 26px; height: 26px; font-size: 12px; }
  .how-text b { font-size: 13px !important; }
  .how-text span { font-size: 11.5px !important; }
}

/* ============================================================
   РљР°СЂС‚РѕС‡РєРё С‚РѕРІР°СЂРѕРІ вЂ” РєРѕРјРїР°РєС‚РЅРµРµ, СЏРІРЅС‹Р№ pressed-state
   ============================================================ */
@media (max-width: 680px) {
  #serviceGrid { gap: 12px !important; }
  .card { padding: 14px !important; }
  .card-visual { width: 48px !important; height: 48px !important; }
  .card-watermark {
    width: 110px !important; height: 110px !important;
    top: -16px; right: -16px;
  }
  .card-watermark .tile-logo,
  .card-watermark .tile-logo-tinted { width: 110px !important; height: 110px !important; }
  .card-title {
    font-size: 16px !important;
    line-height: 1.25 !important;
  }
  .card-trust { font-size: 11px !important; }
  .card-price-rub { font-size: 26px !important; }
  .card-pricezone {
    margin: 12px -14px -14px !important;
    padding: 12px 14px !important;
  }
}

/* Press-state РєР°СЂС‚РѕС‡РєРё РЅР° touch (РЅРµС‚ hover РЅР° РјРѕР±РёР»Рµ). */
@media (hover: none) {
  .card { transition: transform 120ms var(--ease-out), box-shadow 120ms var(--ease-out); }
  .card:active:not(.card-out) {
    transform: scale(0.985);
    box-shadow: 0 6px 14px rgba(36, 50, 100, 0.10) !important;
  }
  /* РќР° touch hover-trigger РЅРµ СЂР°Р±РѕС‚Р°РµС‚ вЂ” РёРєРѕРЅРєР°/aura РІСЃС‘ СЂР°РІРЅРѕ СЃРёР»СЊРЅРѕ
     РІРёРґРЅС‹ С‡РµСЂРµР· v19, РґРѕРїРѕР»РЅРёС‚РµР»СЊРЅС‹Рµ СЌС„С„РµРєС‚С‹ РЅРµ РЅСѓР¶РЅС‹. */
}

/* ============================================================
   Header РЅР° РјРѕР±РёР»Рµ: brand-sub СЃРєСЂС‹РІР°РµРј, search Р·Р°РЅРёРјР°РµС‚ РїРѕС‡С‚Рё РІСЃС‘
   ============================================================ */
@media (max-width: 540px) {
  .header-inner { gap: 8px !important; }
  .brand { gap: 6px; }
  .brand-text { display: none; }
  .header-search { margin: 0 !important; flex: 1; }
}
@media (max-width: 380px) {
  
  .header-search .search-icon { left: 12px !important; }
}

/* ============================================================
   Bonus widget вЂ” РЅР° РјРѕР±РёР»Рµ РїСЂСЏС‡РµРј pill, РѕСЃС‚Р°РІР»СЏРµРј С‚РѕР»СЊРєРѕ expanded
   РєРѕРіРґР° СЋР·РµСЂ СЃР°Рј РѕС‚РєСЂС‹Р» (РЅРµ РєРѕРЅС„Р»РёРєС‚СѓРµС‚ СЃРѕ sticky-CTA)
   ============================================================ */
@media (max-width: 680px) {
  /* Pill РґРµСЂР¶РёРј РІ РїСЂР°РІРѕРј СѓРіР»Сѓ РІС‹С€Рµ sticky-CTA, РЅРѕ РєРѕРјРїР°РєС‚РЅРµРµ. */
  .bonus-widget { right: 14px; bottom: 78px; }
  .bonus-widget.bonus-open {
    /* Р Р°Р·РІС‘СЂРЅСѓС‚Р°СЏ РєР°СЂС‚РѕС‡РєР° Р·Р°РЅРёРјР°РµС‚ РІСЃСЋ С€РёСЂРёРЅСѓ РјРёРЅСѓСЃ РѕС‚СЃС‚СѓРїС‹,
       РЅРѕ РЅРµ РїРµСЂРµРєСЂС‹РІР°РµС‚ sticky-CTA. */
    bottom: 78px;
    left: 14px; right: 14px;
    width: auto;
  }
  /* Р•СЃР»Рё sticky-CTA СѓР¶Рµ РІРёРґРµРЅ РІРЅРёР·Сѓ, РїСЂСЏС‡РµРј РјРёРЅРё-pill (frozen РёР»Рё РЅРµС‚),
     С‡С‚РѕР±С‹ РЅРµ Р±С‹Р»Рѕ РґРІСѓС… РїР»Р°РІР°СЋС‰РёС… РєРЅРѕРїРѕРє. Р Р°Р·РІС‘СЂРЅСѓС‚СѓСЋ card РќР• РїСЂСЏС‡РµРј. */
  .bonus-widget:not(.bonus-open) {
    opacity: 0.92;
  }
}

/* ============================================================
   Modal РЅР° РјРѕР±РёР»Рµ вЂ” РєСЂСѓРїРЅРµРµ close, Р±РµР·РѕРїР°СЃРЅС‹Рµ РїР°РґРґРёРЅРіРё
   ============================================================ */
@media (max-width: 680px) {
  .modal-dialog {
    width: calc(100% - 16px);
    margin: 12px auto;
    border-radius: 18px;
  }
  .modal-close {
    width: 44px; height: 44px;
    font-size: 24px;
    top: 8px; right: 8px;
  }
  .modal-body { padding: 14px !important; }
}

/* ============================================================
   FAQ РЅР° РјРѕР±РёР»Рµ вЂ” Р·Р°РјРµС‚РЅРµРµ РїР»СЋСЃ, СѓРІРµСЂРµРЅРЅС‹Р№ touch target
   ============================================================ */
@media (max-width: 680px) {
  .faq-item { padding: 0 14px !important; }
  .faq-item summary {
    padding: 16px 0 !important;
    font-size: 15px;
    gap: 10px;
  }
  .faq-plus { width: 32px; height: 32px; }
  .faq-answer { font-size: 14px !important; line-height: 1.6 !important; }
}

/* ============================================================
   Reviews РЅР° РјРѕР±РёР»Рµ вЂ” РєРѕРјРїР°РєС‚РЅРµРµ
   ============================================================ */
@media (max-width: 680px) {
  .reviews-grid { gap: 10px !important; }
  .review-card { padding: 14px !important; }
  .review-text { font-size: 13.5px !important; line-height: 1.55 !important; }
}

/* ============================================================
   Guarantee РЅР° РјРѕР±РёР»Рµ вЂ” 1 РєРѕР»РѕРЅРєР°, РєРѕРјРїР°РєС‚РЅС‹Рµ РєР°СЂС‚РѕС‡РєРё
   ============================================================ */
@media (max-width: 680px) {
  .guarantee-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  .guarantee-card { padding: 14px !important; }
}

/* ============================================================
   Body padding-bottom вЂ” СѓС‡С‘С‚ sticky-CTA + safe-area
   ============================================================ */
@media (max-width: 680px) {
  body {
    padding-bottom: calc(96px + env(safe-area-inset-bottom)) !important;
  }
}

/* ============================================================
   scroll-padding-top РЅР° РјРѕР±РёР»Рµ РјРµРЅСЊС€Рµ вЂ” header С‚РѕРЅСЊС€Рµ
   ============================================================ */
@media (max-width: 680px) {
  html { scroll-padding-top: 70px; }
}

/* ============================================================
   Auto-hide header РЅР° РјРѕР±РёР»Рµ РѕС‚РєР»СЋС‡Р°РµРј вЂ” Р»РёС€РЅРµРµ РјРѕСЂРіР°РЅРёРµ
   ============================================================ */
@media (max-width: 680px) {
  .site-header.header-hidden {
    transform: none !important;
  }
}


/* ============================================================
   v22 вЂ” Final mobile path-to-purchase fixes
   ============================================================ */

/* вЂ” Trust-band: РїРµСЂРµР±РёРІР°РµРј СѓСЃС‚Р°СЂРµРІС€РёР№ display:none РёР· v9-С„РѕР»Р±СЌРєР°.
     Р­С‚Рѕ Р±Р»РѕРє РїСЂРѕРґР°РІС†Р° В«@kom9ru В· РѕС‚РІРµС‡Р°СЋ Р·Р° С‡Р°СЃ В· РіР°СЂР°РЅС‚РёСЏВ». */
#trustBand .trust-card { display: flex !important; }

/* вЂ” Mobile: РїРµСЂРІС‹Р№ СЌРєСЂР°РЅ РґРѕ РєР°С‚Р°Р»РѕРіР° СЃР»РёС€РєРѕРј РІС‹СЃРѕРєРёР№.
     1) РЈР±РёСЂР°РµРј how-strip СЃ РјРѕР±РёР»СЊРЅРѕР№ view вЂ” СЌС‚Рѕ РѕР±СЉСЏСЃРЅРµРЅРёРµ В«РєР°Рє РєСѓРїРёС‚СЊВ»,
        РѕРЅРѕ СѓР¶Рµ РїРѕРЅСЏС‚РЅРѕ РїРѕ СЃР°РјРѕР№ РєРЅРѕРїРєРµ. Р’РѕР·РІСЂР°С‰Р°РµРј РЅР° РґРµСЃРєС‚РѕРїРµ. */
@media (max-width: 680px) {
  .how-strip { display: none !important; }
}

/* вЂ” Header РЅР° в‰¤380px: РґР°С‘Рј РїРѕРёСЃРєСѓ Р±РѕР»СЊС€Рµ РјРµСЃС‚Р°, brand-mark РєРѕРјРїР°РєС‚РЅС‹Р№. */
@media (max-width: 380px) {
  .header-inner { padding: 0 14px !important; }
  .brand { gap: 0 !important; }
  .brand-mark {
    width: 36px !important;
    height: 36px !important;
    font-size: 14px;
  }
}

/* вЂ” Bonus widget РЅР° РјРѕР±РёР»Рµ вЂ” Р±С‹Р» СЃРєСЂС‹С‚ С‡РµСЂРµР· РєР°РєРѕР№-С‚Рѕ rule.
     Р’РѕР·РІСЂР°С‰Р°РµРј pill РІ РїСЂР°РІРѕРј РЅРёР¶РЅРµРј СѓРіР»Сѓ РІС‹С€Рµ sticky-CTA. */
@media (max-width: 680px) {
  #bonusWidget { display: block !important; }
  /* РќРµ РІРёРґРµС‚СЊ pill РїСЂРё РїРµСЂРІРѕРј Р·Р°С…РѕРґРµ СЃСЂР°Р·Сѓ вЂ” РґР°С‚СЊ РїРѕР»СЊР·РѕРІР°С‚РµР»СЋ СЃРµРєСѓРЅРґСѓ
     РЅР° РіР»Р°РІРЅС‹Р№ flow. РћС‚РѕР±СЂР°Р¶Р°РµРј РїРѕСЃР»Рµ РїРµСЂРІРѕРіРѕ СЃРєСЂРѕР»Р»Р° С‡РµСЂРµР· .seen-scroll. */
}

/* вЂ” Fade-mask РїРѕ Р±РѕРєР°Рј Сѓ РіРѕСЂРёР·РѕРЅС‚Р°Р»СЊРЅРѕРіРѕ СЃРєСЂРѕР»Р»Р° РєР°С‚РµРіРѕСЂРёР№ вЂ”
     РІРёР·СѓР°Р»СЊРЅС‹Р№ С…РёРЅС‚ В«РјРѕР¶РЅРѕ Р»РёСЃС‚Р°С‚СЊВ». */
@media (max-width: 680px) {
  .filters-row {
    position: relative;
  }
  .filters-row .filters {
    -webkit-mask-image: linear-gradient(to right,
      transparent 0,
      #000 16px,
      #000 calc(100% - 24px),
      transparent 100%);
            mask-image: linear-gradient(to right,
      transparent 0,
      #000 16px,
      #000 calc(100% - 24px),
      transparent 100%);
  }
}

/* вЂ” Filter-fab РІС‹СЂРѕРІРЅСЏС‚СЊ РїРѕРґ filters-row РІС‹СЃРѕС‚Сѓ, С‡С‚РѕР±С‹ РЅРµ В«СЃСЉРµР·Р¶Р°С‚СЊВ». */
@media (max-width: 680px) {
  .filter-fab-toggle {
    width: auto;
    padding: 0 16px !important;
  }
}

/* вЂ” Trust-band РЅР° РјРѕР±РёР»Рµ: 1 row СЃ СЏРІРЅРѕР№ gap-Сѓ-РєРЅРѕРїРєРё. */
@media (max-width: 680px) {
  .trust-card {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
    padding: 14px !important;
  }
  .trust-cta {
    width: 100%;
    justify-content: center;
  }
  .trust-line-2 { font-size: 12.5px !important; }
}

/* вЂ” Modal close РЅР° iOS вЂ” СѓС‡С‘С‚ top safe-area, С‡С‚РѕР±С‹ РЅРµ РїРѕРїР°РґР°Р»Рѕ РїРѕРґ notch. */
@media (max-width: 680px) {
  .modal-close {
    top: max(8px, env(safe-area-inset-top)) !important;
  }
}

/* вЂ” РљРѕРіРґР° РјРѕРґР°Р»РєР° РѕС‚РєСЂС‹С‚Р° вЂ” РїСЂСЏС‡РµРј bonus-widget, С‡С‚РѕР±С‹ РЅРµ Р±С‹Р»Рѕ С‚СЂС‘С… РїР»Р°РІР°СЋС‰РёС…
     СЌР»РµРјРµРЅС‚РѕРІ РЅР° СѓР·РєРѕРј СЌРєСЂР°РЅРµ. */
.modal:not([hidden]) ~ #bonusWidget,
body.modal-open #bonusWidget { display: none !important; }


/* ============================================================
   v23 вЂ” Mobile path-to-purchase: СѓР¶Р°С‚СЊ hero Рё trust-band
   Р¦РµР»СЊ: РїРµСЂРІР°СЏ РєР°СЂС‚РѕС‡РєР° РґРѕР»Р¶РЅР° Р±С‹С‚СЊ РІРёРґРЅР° РІ РїСЂРµРґРµР»Р°С… 700вЂ“800px РѕС‚ РІРµСЂС…Р°.
   ============================================================ */
@media (max-width: 680px) {
  /* Hero вЂ” РµС‰С‘ РєРѕРјРїР°РєС‚РЅРµРµ. Р¦РёС„СЂР° Р±РѕРЅСѓСЃР° РјРµРЅСЊС€Рµ, РїР°РґРґРёРЅРіРё СѓРјРµРЅСЊС€РµРЅС‹. */
  .hero-card {
    padding: 12px !important;
    gap: 10px !important;
    border-radius: 16px !important;
  }
  .hero-title {
    font-size: 17px !important;
    line-height: 1.2 !important;
  }
  .hero-lead {
    font-size: 12.5px !important;
    line-height: 1.45 !important;
  }
  .hero-stats { gap: 12px !important; margin-top: 4px !important; }
  .hero-stats b { font-size: 16px !important; margin-bottom: 2px !important; }
  .hero-stats li { font-size: 11px !important; }
  .bonus-card-hero { padding: 12px !important; }
  .bonus-card-eyebrow { font-size: 10px !important; }
  .bonus-card-num { font-size: 32px !important; }
  .bonus-card-sign { font-size: 18px !important; }
  .bonus-card-sub { font-size: 11.5px !important; }
  .bonus-card-progress { margin: 8px 0 4px !important; height: 5px; }
  .bonus-card-tail { font-size: 11px !important; margin-bottom: 6px !important; }
  .bonus-card-hero .bonus-btn { height: 38px !important; font-size: 13px !important; }

  /* Trust-band вЂ” РєРѕРјРїР°РєС‚РЅС‹Р№ inline-РІР°СЂРёР°РЅС‚. */
  .trust-band { margin: 8px 0 14px !important; }
  .trust-card {
    flex-direction: row !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 12px !important;
    flex-wrap: wrap;
  }
  .trust-avatar {
    width: 36px !important;
    height: 36px !important;
    font-size: 13px !important;
  }
  .trust-line-1 {
    margin-bottom: 0 !important;
    gap: 6px !important;
  }
  .trust-line-1 .trust-handle { font-size: 13.5px !important; }
  .trust-online { font-size: 11.5px !important; }
  .trust-line-2 {
    font-size: 11.5px !important;
    line-height: 1.4 !important;
  }
  .trust-cta {
    width: 100%;
    height: 40px !important;
    font-size: 13px !important;
    margin-top: 4px;
  }
}


/* ============================================================
   v24 вЂ” Regression fixes: РјРѕРґР°Р»РєР°-safe-area + bonus-widget visibility
   ============================================================ */

/* вЂ” Modal вЂ” СѓС‡С‘С‚ safe-area СЃРІРµСЂС…Сѓ Рё Р±РѕР»СЊС€РёР№ gap, С‡С‚РѕР±С‹ РЅРµ СѓРїРёСЂР°Р»СЃСЏ РІ notch. */
@supports (height: 100dvh) {
  .modal-dialog {
    max-height: calc(100dvh - max(24px, env(safe-area-inset-top)) - max(24px, env(safe-area-inset-bottom))) !important;
    margin-top: max(12px, env(safe-area-inset-top));
    margin-bottom: max(12px, env(safe-area-inset-bottom));
  }
}

/* вЂ” Bonus widget РїСЂРё РѕС‚РєСЂС‹С‚РѕР№ РјРѕРґР°Р»РєРµ вЂ” СЂР°СЃСЃС‡С‘С‚ РЅР° body.modal-open
     Рё РЅР° СЃРѕСЃС‚РѕСЏРЅРёРµ СЃР°РјРѕР№ РјРѕРґР°Р»РєРё. Р Р°РЅСЊС€Рµ Р±С‹Р» С‚РѕР»СЊРєРѕ СЃРµР»РµРєС‚РѕСЂ
     СЃ body.modal-open, РЅРѕ РєР»Р°СЃСЃ РЅРµ РІС‹СЃС‚Р°РІР»СЏР»СЃСЏ. */
.modal:not([hidden]) ~ #bonusWidget,
body.modal-open #bonusWidget { display: none !important; }


/* ============================================================
   v25 вЂ” Performance: CLS reservation, mobile blur off, motion lite
   ============================================================ */

/* вЂ” CLS: СЂРµР·РµСЂРІРёСЂСѓРµРј РјРµСЃС‚Рѕ С‚РѕР»СЊРєРѕ РґР»СЏ РіР»Р°РІРЅРѕРіРѕ hero-Р±Р»РѕРєР°, С‡С‚РѕР±С‹ РїСЂРё
     РїРµСЂРІРѕРј СЂРµРЅРґРµСЂРµ JS-bonus-card РєРѕРЅС‚РµРЅС‚ РЅРёР¶Рµ РЅРµ РїСЂС‹РіР°Р». РћСЃС‚Р°Р»СЊРЅРѕРµ
     СЂРµРЅРґРµСЂРёС‚СЃСЏ СЃРёРЅС…СЂРѕРЅРЅРѕ РёР»Рё СЃ РјР°Р»РѕР№ РІС‹СЃРѕС‚РѕР№ вЂ” СЂРµР·РµСЂРІ РЅРµ РЅСѓР¶РµРЅ. */
#bonusHero { min-height: 309px; }

@media (max-width: 880px) {
  #bonusHero { min-height: 445px; }
}
@media (max-width: 480px) {
  #bonusHero { min-height: 531px; }
}

/* вЂ” РџРѕСЃР»Рµ С‚РѕРіРѕ РєР°Рє Р±Р»РѕРє СЂРµРЅРґРµСЂРёС‚СЃСЏ, JS СЃР°Рј СѓРїСЂР°РІР»СЏРµС‚ РІС‹СЃРѕС‚РѕР№. */
.bonus-hero[data-rendered] { min-height: 0; }
.trust-band[data-rendered] { min-height: 0; }

/* вЂ” Mobile: backdrop-filter blur вЂ” GPU-killer РЅР° СЃР»Р°Р±С‹С… С‚РµР»РµС„РѕРЅР°С….
     Р—Р°РјРµРЅСЏРµРј РЅР° РїР»РѕС‚РЅС‹Р№ С„РѕРЅ Р±РµР· blur. */
@media (max-width: 680px) {
  .site-header {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    background: #f7f2e8 !important;
  }
  .modal-backdrop {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    background: rgba(20, 25, 60, 0.55) !important;
  }
  .filter-backdrop {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  .bonus-card {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  .bonus-card-hero,
  .hero-card {
    /* РЎРЅРёР¶Р°РµРј СЃР»РѕР¶РЅРѕСЃС‚СЊ: СѓР±РёСЂР°РµРј shine-animation РЅР° mobile. */
  }
  .bonus-card-hero::after { display: none !important; }
}

/* вЂ” Reveal-Р°РЅРёРјР°С†РёРё: СѓР±РёСЂР°РµРј translateY РЅР° РєР°СЂС‚РѕС‡РєР°С… (РѕРЅ РЅРµ CLS, РЅРѕ
     СѓРґРІР°РёРІР°РµС‚ СЂР°Р±РѕС‚Сѓ composite layer). РўРѕР»СЊРєРѕ opacity. */
[data-reveal] {
  opacity: 0;
  transform: none !important;
  transition: opacity var(--dur-slow) var(--ease-out) !important;
  will-change: opacity;
}
[data-reveal].is-visible { opacity: 1; }

/* вЂ” Card watermark РЅР° РјРѕР±РёР»Рµ вЂ” GPU-РЅР°РіСЂСѓР·РєР° mask + opacity, РІС‹РєРёРґС‹РІР°РµРј. */
@media (max-width: 680px) {
  .card-watermark { display: none !important; }
}

/* вЂ” CSS-aura РЅР° РєР°СЂС‚РѕС‡РєРµ: СЂР°РґРёР°Р»СЊРЅС‹Рµ РіСЂР°РґРёРµРЅС‚С‹ Г— 20 РєР°СЂС‚РѕС‡РµРє РЅР° mobile
     Р·Р°РјРµС‚РЅРѕ С‚РѕСЂРјРѕР·СЏС‚ paint. РќР° РјРѕР±РёР»Рµ СѓРїСЂРѕС‰Р°РµРј РґРѕ РїР»РѕСЃРєРѕРіРѕ fill. */
@media (max-width: 680px) {
  .card::before {
    background: linear-gradient(180deg,
      color-mix(in srgb, var(--brand, #2aabee) 6%, transparent),
      transparent 40%) !important;
    opacity: 1 !important;
  }
}

/* вЂ” card-in stagger animation: СѓР±РёСЂР°РµРј transitionDelay Г— index,
     РІРјРµСЃС‚Рѕ СЌС‚РѕРіРѕ РѕР±С‰Р°СЏ РєРѕСЂРѕС‚РєР°СЏ Р°РЅРёРјР°С†РёСЏ Р±РµР· stagger РЅР° РјРѕР±РёР»Рµ. */
@media (max-width: 680px) {
  .card { animation: none !important; transition-delay: 0ms !important; }
  .card-in { animation: none !important; }
}


/* ============================================================
   v26 вЂ” Tighter CLS reservation (desktop)
   ============================================================ */

/* Hero-shell РІРЅСѓС‚СЂРё bonusHero вЂ” РѕСЃРЅРѕРІРЅРѕР№ shifter. Р РµР·РµСЂРІРёСЂСѓРµРј С„РёРєСЃРёСЂРѕРІР°РЅРЅСѓСЋ
   РІС‹СЃРѕС‚Сѓ РґРѕ РјРѕРјРµРЅС‚Р° РїРµСЂРІРѕРіРѕ СЂРµРЅРґРµСЂР°. */
.bonus-hero {
  contain: layout;
}

/* content-visibility УБРАН полностью: с пагинацией (20 карточек на
   странице) оптимизация не нужна, а intrinsic-size давал «спагетти»-
   вытягивание карточек при reflow/открытии модалки. */
@media (min-width: 769px) {
  #serviceGrid .card { content-visibility: visible; }
}


/* ============================================================
   v27 вЂ” Fix: corner shadow artifacts + hard kill bottom whitespace
   ============================================================ */

/* вЂ” РљРѕСЂРЅРµРІРѕР№ scroll: С‡С‚РѕР±С‹ 

/* вЂ” Skip-link: РіР°СЂР°РЅС‚РёСЂРѕРІР°РЅРЅРѕ СЃРєСЂС‹РІР°РµРј, С‡С‚РѕР±С‹ РѕРЅ РЅРµ СЂР°СЃС‚СЏРіРёРІР°Р» layout. */
.skip-link {
  position: absolute;
  left: -9999px;
  top: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.skip-link:focus {
  left: 16px;
  top: 16px;
  width: auto;
  height: auto;
}

/* вЂ” Quick mb-spotlight (РґРµРєРѕСЂР°С‚РёРІРЅС‹Р№ РєСѓСЂСЃРѕСЂ-В«РїСЂРѕР¶РµРєС‚РѕСЂВ» РѕС‚ cardTilt)
     РЅРµ РґРѕР»Р¶РµРЅ РІР»РёСЏС‚СЊ РЅР° overflow СЃС‚СЂР°РЅРёС†С‹. */
.mb-spotlight { pointer-events: none; }

/* ============================================================
   Box-shadow СѓР±РёСЂР°РµРј Сѓ Р±Р»РѕРєРѕРІ, С‡СЊРё С‚РµРЅРё РґР°СЋС‚ В«СЃРµСЂС‹Рµ РєРІР°РґСЂР°С‚С‹В»
   РїРѕ СѓРіР»Р°Рј РЅР° СЃС‚С‹РєР°С… hero/trust-band/how-strip.
   РљР°СЂС‚РѕС‡РєРё С‚РѕРІР°СЂРѕРІ РѕСЃС‚Р°РІР»СЏРµРј вЂ” РѕРЅРё РІ РіСЂРёРґРµ СЃ margin РјРµР¶РґСѓ СЃРѕР±РѕР№.
   ============================================================ */
.hero-card {
  box-shadow: 0 8px 24px rgba(36, 50, 100, 0.06) !important;
}
.trust-card {
  box-shadow: 0 4px 14px rgba(36, 50, 100, 0.05) !important;
}
.how-strip li {
  box-shadow: none !important;
}
.guarantee-card {
  box-shadow: 0 2px 8px rgba(36, 50, 100, 0.04) !important;
}
.review-card {
  box-shadow: 0 2px 8px rgba(36, 50, 100, 0.04) !important;
}
.cta-strip-inner {
  box-shadow: none !important;
}

/* вЂ” Overflow-clip РЅР° main, С‡С‚РѕР±С‹ С‚РµРЅРё РќР• РІС‹С…РѕРґРёР»Рё Р·Р° РїСЂРµРґРµР»С‹
     РіРѕСЂРёР·РѕРЅС‚Р°Р»СЊРЅРѕРіРѕ viewport. РўРѕР»СЊРєРѕ x-clip вЂ” РЅРµ Р»РѕРјР°РµС‚ sticky/modal. */
main { overflow-x: clip; }
@supports not (overflow-x: clip) {
  main { overflow-x: hidden; }
}

/* вЂ” Footer: СѓР±РёСЂР°РµРј РЅРёР¶РЅРёРµ margin/padding, С‡С‚РѕР±С‹ СЃС‚СЂР°РЅРёС†Р°
     Р·Р°РєР°РЅС‡РёРІР°Р»Р°СЃСЊ СЂРѕРІРЅРѕ РЅР° РЅС‘Рј. */
.site-


/* ============================================================
   v28 вЂ” Product cover cards (РЅРѕРІС‹Р№ layout: cover СЃРІРµСЂС…Сѓ, info СЃРЅРёР·Сѓ)
   РџРµСЂРµР±РёРІР°РµС‚ РІСЃРµ РїСЂРµРґС‹РґСѓС‰РёРµ РїСЂР°РІРёР»Р° .card-* СЃС‚Р°СЂРѕР№ СЃС‚СЂСѓРєС‚СѓСЂС‹.
   ============================================================ */

/* вЂ” РљР°СЂС‚РѕС‡РєР°: РІРµСЂС‚РёРєР°Р»СЊРЅС‹Р№ flex, Р±РµР»Р°СЏ, СЃРєСЂСѓРіР»С‘РЅРЅР°СЏ, overflow hidden вЂ” */
.card {
  display: flex !important;
  flex-direction: column;
  position: relative;
  background: #ffffff !important;
  border: 1px solid #e2d8c8 !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  box-shadow: 0 6px 18px rgba(36, 50, 100, 0.06) !important;
  padding: 0 !important;
  isolation: isolate;
  cursor: pointer;
  transition:
    transform 200ms cubic-bezier(.22, 1, .36, 1),
    border-color 200ms cubic-bezier(.22, 1, .36, 1),
    box-shadow 200ms cubic-bezier(.22, 1, .36, 1) !important;
}
.card:hover:not(.card-out) {
  transform: translateY(-5px) !important;
  border-color: rgba(42, 171, 238, 0.35) !important;
  box-shadow: 0 14px 32px rgba(36, 50, 100, 0.12) !important;
}

/* вЂ” Р“Р»СѓС€РёРј СЃС‚Р°СЂС‹Рµ СЃР»РѕРё (watermark/aura/pricezone РёР· v19, v22) вЂ” */
.card::before { display: none !important; }
.card-watermark { display: none !important; }
.card-pricezone { display: none !important; }
.card-trust { display: none !important; }
.card-visual { all: revert; display: none !important; }
.card-body { all: unset; display: contents !important; }
.card-meta { display: none !important; }
.card-foot { display: none !important; }
.card-price-row { all: unset; display: contents !important; }

/* ============================================================
   COVER (РІРµСЂС…РЅСЏСЏ С‡Р°СЃС‚СЊ, ~50% РєР°СЂС‚РѕС‡РєРё)
   ============================================================ */
.card-cover {
  position: relative;
  width: 100%;
  height: 168px;
  overflow: hidden;
  background:
    radial-gradient(circle at 75% 25%,
      color-mix(in srgb, var(--brand, #2aabee) 50%, #ffffff),
      transparent 55%),
    linear-gradient(135deg,
      color-mix(in srgb, var(--brand, #2aabee) 24%, #ffffff),
      color-mix(in srgb, var(--brand, #2aabee) 65%, #ffffff));
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.card-cover-glow {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 20% 90%,
      rgba(255, 255, 255, 0.30),
      transparent 38%),
    radial-gradient(circle at 80% 10%,
      rgba(255, 255, 255, 0.20),
      transparent 30%);
}

/* Р‘РѕР»СЊС€РѕР№ Р»РѕРіРѕС‚РёРї РІ С†РµРЅС‚СЂРµ cover */
.card-cover-logo {
  position: relative;
  z-index: 2;
  width: 96px;
  height: 96px;
  display: grid;
  place-items: center;
  filter: drop-shadow(0 14px 24px rgba(0, 0, 0, 0.18));
  transition: transform 240ms cubic-bezier(.22, 1, .36, 1);
}
.card-cover-logo .tile-logo,
.card-cover-logo .tile-logo-tinted {
  width: 96px !important;
  height: 96px !important;
}
.card-cover-logo .tile-mono {
  font-size: 48px !important;
  font-weight: 900 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
  letter-spacing: -0.04em;
}
.card-cover-logo .tile-word {
  font-size: 22px !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
  white-space: nowrap;
  padding: 0 8px;
}
.card:hover:not(.card-out) .card-cover-logo {
  transform: scale(1.04);
}

/* Watermark вЂ” РіРёРіР°РЅС‚СЃРєРёР№ Р»РѕРіРѕС‚РёРї РІ РїСЂР°РІРѕРј РЅРёР¶РЅРµРј СѓРіР»Сѓ cover, РїСЂРѕР·СЂР°С‡РЅС‹Р№ */
.card-cover-watermark {
  position: absolute;
  right: -28px;
  bottom: -32px;
  width: 180px;
  height: 180px;
  z-index: 1;
  pointer-events: none;
  opacity: 0.18;
  filter: saturate(1.4) blur(0.5px);
  transform: rotate(-12deg);
}
.card-cover-watermark .tile-logo,
.card-cover-watermark .tile-logo-tinted {
  width: 180px !important;
  height: 180px !important;
}
.card-cover-watermark .tile-mono,
.card-cover-watermark .tile-word {
  display: none !important;
}

/* Р‘РµР№РґР¶Рё РїРѕРІРµСЂС… cover */
.card-cover-badges {
  position: absolute;
  z-index: 3;
  display: flex;
  gap: 6px;
  padding: 12px;
  flex-wrap: wrap;
}
.card-cover-badges-top {
  top: 0;
  left: 0;
  right: 0;
  justify-content: space-between;
}
.card-cover-badges-bottom {
  bottom: 0;
  left: 0;
}
.card-cover-badge {
  display: inline-flex;
  align-items: center;
  height: 24px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: -0.005em;
  white-space: nowrap;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.card-cover-cat {
  background: rgba(255, 255, 255, 0.85);
  color: #4a4f5e;
  border: 1px solid rgba(0, 0, 0, 0.06);
}
.card-cover-region {
  background: rgba(0, 0, 0, 0.30);
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.20);
}
.card-cover-out {
  background: rgba(214, 69, 69, 0.92);
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.20);
  height: 28px;
  font-size: 12px;
}

/* ============================================================
   INFO (РЅРёР¶РЅСЏСЏ С‡Р°СЃС‚СЊ, Р±РµР»Р°СЏ)
   ============================================================ */
.card-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 10px;
  padding: 14px 16px 16px;
  background: #ffffff;
}
.card-info .card-title {
  margin: 0 !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  color: #121722 !important;
  letter-spacing: -0.01em;
  line-height: 1.25;
  /* Р’ РѕРґРЅСѓ-РґРІРµ СЃС‚СЂРѕРєРё РјР°РєСЃРёРјСѓРј */
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 40px;
}
.card-info-foot {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 10px;
}
.card-price-block {
  display: flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;
}
.card-price-block .card-from {
  font-size: 11px !important;
  color: #6f7585 !important;
  font-weight: 700 !important;
}
.card-price-block .card-price-rub {
  font-size: 22px !important;
  font-weight: 900 !important;
  color: #121722 !important;
  letter-spacing: -0.04em;
  line-height: 1;
}
.card-price-block .card-savings {
  background: #fff4da;
  color: #b7791f;
  border: 1px solid rgba(201, 138, 30, 0.28);
  font-weight: 800;
  font-size: 10.5px;
  padding: 3px 8px;
  border-radius: 999px;
}

.card-info .card-go {
  font-size: 12.5px !important;
  color: #2aabee !important;
  font-weight: 700 !important;
  white-space: nowrap;
  flex-shrink: 0;
  transition: transform 180ms cubic-bezier(.22, 1, .36, 1);
}
.card:hover:not(.card-out) .card-info .card-go {
  transform: translateX(3px);
}

/* ============================================================
   Out-of-stock вЂ” РїСЂРёРіР»СѓС€Р°РµРј
   ============================================================ */
.card.card-out {
  opacity: 0.7;
}
.card.card-out:hover { transform: none !important; }
.card.card-out .card-cover { filter: grayscale(0.4); }

/* ============================================================
   Mobile вЂ” РєРѕРјРїР°РєС‚РЅРµРµ
   ============================================================ */
@media (max-width: 680px) {
  .card { border-radius: 18px !important; }
  .card-cover { height: 140px; }
  .card-cover-logo { width: 80px; height: 80px; }
  .card-cover-logo .tile-logo,
  .card-cover-logo .tile-logo-tinted { width: 80px !important; height: 80px !important; }
  .card-cover-logo .tile-mono { font-size: 38px !important; }
  .card-cover-logo .tile-word { font-size: 18px !important; }
  .card-cover-badges { padding: 10px; }
  .card-cover-badge { height: 22px; padding: 0 8px; font-size: 10.5px; }
  .card-info { padding: 12px 14px 14px; gap: 8px; }
  .card-info .card-title { font-size: 15px !important; min-height: 36px; }
  .card-price-block .card-price-rub { font-size: 20px !important; }
  .card-info .card-go { font-size: 12px !important; }

  /* Press feedback */
  .card:active:not(.card-out) {
    transform: scale(0.985) !important;
    transition: transform 90ms ease !important;
  }
}

/* Touch-only: hover РЅРµ РЅСѓР¶РµРЅ */
@media (hover: none) {
  .card:hover:not(.card-out) {
    transform: none !important;
    box-shadow: 0 6px 18px rgba(36, 50, 100, 0.06) !important;
  }
  .card:hover:not(.card-out) .card-cover-logo { transform: none !important; }
  .card:hover:not(.card-out) .card-info .card-go { transform: none !important; }
}

/* ============================================================
   Reveal: СѓР±РёСЂР°РµРј translateY (Р±С‹Р» Сѓ [data-reveal] СЂР°РЅСЊС€Рµ) вЂ”
   РєР°СЂС‚РѕС‡РєР° РїРѕСЏРІР»СЏРµС‚СЃСЏ С‚РѕР»СЊРєРѕ С‡РµСЂРµР· opacity, Р±РµР· layout-shift.
   ============================================================ */
#serviceGrid .card[data-reveal] { transform: none !important; }


/* ============================================================
   v29 вЂ” Premium digital tile cards (РїРѕР»РЅРѕСЃС‚СЊСЋ С†РІРµС‚РЅР°СЏ РїР»РёС‚РєР°)
   РџРµСЂРµР±РёРІР°РµС‚ СЃС‚Р°СЂС‹Рµ product-cover РёР· v28.
   ============================================================ */

/* вЂ” Р“Р»СѓС€РёРј Р’РЎРЃ РѕС‚ СЃС‚Р°СЂРѕРіРѕ cover-layout вЂ” */
.card-cover, .card-cover-glow, .card-cover-logo, .card-cover-watermark,
.card-cover-badges, .card-cover-badge, .card-cover-cat, .card-cover-region,
.card-cover-out, .card-info, .card-info-foot, .card-price-block,
.card-watermark, .card-pricezone, .card-trust, .card-visual, .card-body,
.card-meta, .card-foot, .card-region-badge, .card-cat,
.card-out-badge, .card-low-badge { all: revert; }
.card-cover, .card-cover-glow, .card-cover-logo, .card-cover-watermark,
.card-cover-badges, .card-cover-badge, .card-cover-cat, .card-cover-region,
.card-cover-out, .card-info, .card-info-foot, .card-price-block,
.card-watermark, .card-pricezone, .card-trust, .card-visual, .card-body,
.card-meta, .card-foot, .card-region-badge, .card-cat { display: none !important; }

/* ============================================================
   Card v2: С†РµР»СЊРЅР°СЏ С†РІРµС‚РЅР°СЏ digital-card РїР»РёС‚РєР°
   ============================================================ */
.card {
  position: relative;
  overflow: hidden !important;
  isolation: isolate;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between;
  gap: 14px;
  min-height: 320px;
  padding: 20px !important;
  border-radius: 28px !important;
  background: var(--brand, #1e293b) !important;
  background:
    linear-gradient(180deg, rgba(0,0,0,0.04), rgba(0,0,0,0.20)),
    linear-gradient(135deg,
      color-mix(in srgb, var(--brand, #2aabee) 78%, #050a18),
      color-mix(in srgb, var(--brand, #2aabee) 38%, #050a18)) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  box-shadow:
    0 14px 32px rgba(20, 25, 60, 0.18),
    0 0 0 1px rgba(255, 255, 255, 0.06) inset !important;
  color: #ffffff !important;
  cursor: pointer;
  transition:
    transform 240ms cubic-bezier(.22, 1, .36, 1),
    box-shadow 240ms cubic-bezier(.22, 1, .36, 1),
    border-color 240ms cubic-bezier(.22, 1, .36, 1) !important;
}
.card:hover:not(.card-out) {
  transform: translateY(-6px) scale(1.01) !important;
  box-shadow:
    0 22px 44px rgba(20, 25, 60, 0.28),
    0 0 0 1px rgba(255, 255, 255, 0.16) inset !important;
  border-color: rgba(255, 255, 255, 0.32) !important;
}

/* Watermark вЂ” РіРёРіР°РЅС‚СЃРєРёР№ Р»РѕРіРѕС‚РёРї Р±СЂРµРЅРґР° РІ РїСЂР°РІРѕРј РЅРёР¶РЅРµРј СѓРіР»Сѓ РєР°СЂС‚РѕС‡РєРё */
.cardv2-watermark {
  position: absolute;
  z-index: 0;
  right: -34px;
  bottom: -38px;
  width: 220px;
  height: 220px;
  pointer-events: none;
  opacity: 1;
  filter: blur(0.5px) saturate(1.2);
  transform: rotate(-12deg);
  transition: transform 320ms cubic-bezier(.22, 1, .36, 1);
}
.cardv2-watermark .tile-logo,
.cardv2-watermark .tile-logo-tinted {
  width: 220px !important;
  height: 220px !important;
}
/* SVG color logo watermark */
.cardv2-watermark .tile-watermark-logo {
  width: 220px !important;
  height: 220px !important;
  object-fit: contain;
  display: block;
}
/* White SVG logo watermark */
.cardv2-watermark .tile-watermark-logo-white {
  width: 220px !important;
  height: 220px !important;
  object-fit: contain;
  display: block;
  filter: brightness(10) saturate(0);
}
.cardv2-watermark.is-logo-white { opacity: 1; }
.card:hover:not(.card-out) .cardv2-watermark.is-logo-white {
  transform: rotate(-9deg) translate(-6px, -6px);
}
/* Text wordmark watermark — цвет задаёт «непрозрачность» */
.cardv2-watermark .tile-wordmark {
  display: block !important;
  font-size: 64px !important;
  font-weight: 900 !important;
  letter-spacing: -0.04em !important;
  line-height: 1 !important;
  color: rgba(255, 255, 255, 0.55) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.55) !important;
  white-space: nowrap;
  text-shadow: none !important;
}
.cardv2-watermark .tile-wordmark.is-short  { font-size: 80px !important; }
.cardv2-watermark .tile-wordmark.is-medium { font-size: 64px !important; }
.cardv2-watermark .tile-wordmark.is-long   { font-size: 48px !important; }
.cardv2-watermark .tile-mono,
.cardv2-watermark .tile-word {
  display: none !important;
}
.card:hover:not(.card-out) .cardv2-watermark {
  transform: rotate(-9deg) translate(-6px, -6px);
}



/* Р”РµРєРѕСЂР°С‚РёРІРЅС‹Р№ radial-glow */
.cardv2-glow {
  position: absolute; inset: 0;
  z-index: 0; pointer-events: none;
  background:
    radial-gradient(circle at 18% 12%, rgba(255, 255, 255, 0.22), transparent 38%),
    radial-gradient(circle at 92% 8%, rgba(255, 255, 255, 0.10), transparent 30%);
  transition: opacity 240ms ease;
}
.card:hover:not(.card-out) .cardv2-glow { opacity: 1.15; }

/* Subtle diagonal shine */
.cardv2-shine {
  position: absolute; inset: 0;
  z-index: 0; pointer-events: none;
  background: linear-gradient(110deg,
    transparent 35%,
    rgba(255, 255, 255, 0.08) 50%,
    transparent 65%);
  opacity: 0.7;
}

/* Р”РѕРїРѕР»РЅРёС‚РµР»СЊРЅС‹Р№ dark overlay РґР»СЏ С‡РёС‚Р°РµРјРѕСЃС‚Рё С‚РµРєСЃС‚Р° РЅР° СЃРІРµС‚Р»С‹С… Р±СЂРµРЅРґР°С… */
.cardv2-overlay {
  position: absolute; inset: 0;
  z-index: 0; pointer-events: none;
  background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.18) 100%);
}

/* РљРѕРЅС‚РµРЅС‚ РЅР°Рґ РґРµРєРѕСЂРѕРј */
.cardv2-top, .cardv2-mid, .cardv2-bottom { position: relative; z-index: 1; }

/* ============================================================
   TOP вЂ” logo + category pill
   ============================================================ */
.cardv2-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.cardv2-logo {
  display: grid;
  place-items: center;
  width: 44px; height: 44px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.18);
  border: 1px solid rgba(255, 255, 255, 0.20);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  flex-shrink: 0;
  overflow: hidden;
}
.cardv2-logo .tile-logo,
.cardv2-logo .tile-logo-tinted {
  width: 28px !important;
  height: 28px !important;
}
.cardv2-logo .tile-mono {
  font-size: 16px !important;
  font-weight: 900 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  letter-spacing: -0.04em;
  text-shadow: none !important;
}
.cardv2-logo .tile-word {
  font-size: 11px !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-shadow: none !important;
  white-space: nowrap;
}
/* Tinted (С‡РµСЂРµР· mask) вЂ” РѕРєСЂР°СЃРёРј РІ Р±РµР»С‹Р№ */
.cardv2-logo .tile-logo-tinted {
  background-color: #ffffff !important;
}

/* ============================================================
   PILLS РѕР±С‰РёР№ СЃС‚РёР»СЊ
   ============================================================ */
.cardv2-pill {
  display: inline-flex;
  align-items: center;
  height: 26px;
  padding: 0 11px;
  border-radius: 999px;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: -0.005em;
  white-space: nowrap;
  background: rgba(255, 255, 255, 0.14);
  color: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.10);
}
.cardv2-pill-cat {
  background: rgba(255, 255, 255, 0.20);
  color: #ffffff;
}
.cardv2-pill-tg::before {
  content: "";
  display: inline-block;
  width: 12px; height: 12px;
  margin-right: 6px;
  background: currentColor;
  -webkit-mask: url("/img/brands/telegram-white.svg") center/contain no-repeat;
          mask: url("/img/brands/telegram-white.svg") center/contain no-repeat;
}
.cardv2-pill-out {
  background: rgba(255, 90, 90, 0.32);
  color: #ffffff;
  border-color: rgba(255, 130, 130, 0.40);
}

/* ============================================================
   MID вЂ” trust + title + pills
   ============================================================ */
.cardv2-mid {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
}
.cardv2-trust {
  font-size: 11.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: rgba(255, 255, 255, 0.62);
}
.cardv2-title {
  margin: 0 !important;
  font-size: 28px !important;
  font-weight: 800 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.05 !important;
  color: #ffffff !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.18);
}
.cardv2-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 2px;
}

/* ============================================================
   BOTTOM вЂ” price + arrow button
   ============================================================ */
.cardv2-bottom {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  padding-top: 6px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}
.cardv2-price {
  display: flex;
  align-items: baseline;
  gap: 8px;
  min-width: 0;
  flex-wrap: wrap;
}
.cardv2-price .card-from {
  font-size: 11px !important;
  color: rgba(255, 255, 255, 0.65) !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase;
}
.cardv2-price .card-price-rub {
  font-size: 26px !important;
  font-weight: 900 !important;
  color: #ffffff !important;
  letter-spacing: -0.045em !important;
  line-height: 1 !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.22);
}
.cardv2-savings {
  background: rgba(255, 209, 102, 0.95) !important;
  color: #4a3208 !important;
  border: 1px solid rgba(255, 209, 102, 0.4) !important;
  font-weight: 800 !important;
  font-size: 10.5px !important;
  padding: 3px 8px !important;
  border-radius: 999px !important;
}
.cardv2-arrow {
  display: grid;
  place-items: center;
  width: 44px; height: 44px;
  border-radius: 50%;
  background: #ffffff;
  color: #121722;
  border: 1px solid rgba(255, 255, 255, 0.40);
  flex-shrink: 0;
  pointer-events: none;   /* индикатор, не отдельная кнопка — кликается вся карточка */
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.20);
  transition: transform 220ms cubic-bezier(.22, 1, .36, 1), box-shadow 220ms ease;
}
.card:hover:not(.card-out) .cardv2-arrow {
  transform: translateX(3px) scale(1.05);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.30);
}

/* ============================================================
   Out-of-stock вЂ” РїСЂРёРіР»СѓС€Р°РµРј
   ============================================================ */
.card.card-out {
  filter: grayscale(0.5);
  opacity: 0.78;
}
.card.card-out:hover { transform: none !important; }

/* ============================================================
   Mobile вЂ” РєРѕРјРїР°РєС‚РЅРµРµ
   ============================================================ */
@media (max-width: 680px) {
  .card {
    min-height: 260px;
    padding: 16px !important;
    border-radius: 22px !important;
    gap: 10px;
  }
  .cardv2-watermark { width: 180px; height: 180px; right: -28px; bottom: -32px; }
  .cardv2-watermark .tile-logo,
  .cardv2-watermark .tile-logo-tinted { width: 180px !important; height: 180px !important; }
  .cardv2-logo { width: 38px; height: 38px; border-radius: 10px; }
  .cardv2-logo .tile-logo,
  .cardv2-logo .tile-logo-tinted { width: 24px !important; height: 24px !important; }
  .cardv2-title { font-size: 22px !important; }
  .cardv2-pill { height: 24px; font-size: 11px; padding: 0 9px; }
  .cardv2-price .card-price-rub { font-size: 22px !important; }
  .cardv2-arrow { width: 40px; height: 40px; }
  .card:active:not(.card-out) {
    transform: scale(0.985) !important;
    transition: transform 90ms ease !important;
  }
}

/* Touch вЂ” hover РѕС‚РєР»СЋС‡Р°РµРј */
@media (hover: none) {
  .card:hover:not(.card-out) {
    transform: none !important;
    box-shadow:
      0 14px 32px rgba(20, 25, 60, 0.18),
      0 0 0 1px rgba(255, 255, 255, 0.06) inset !important;
  }
  .card:hover:not(.card-out) .cardv2-watermark { transform: rotate(-12deg) !important; opacity: 0.10 !important; }
  .card:hover:not(.card-out) .cardv2-arrow { transform: none !important; }
}

/* Reveal: С‚РѕР»СЊРєРѕ opacity */
#serviceGrid .card[data-reveal] { transform: none !important; }


/* ============================================================
   v30 вЂ” Р’РѕР·РІСЂР°С‰Р°СЋ РїСЂРµР¶РЅРёРµ СЂР°Р·РјРµСЂС‹ РєР°СЂС‚РѕС‡РµРє
   (СЃС‚РёР»СЊ premium-tile РёР· v29 РѕСЃС‚Р°С‘С‚СЃСЏ, С‚РѕР»СЊРєРѕ spacing/РІС‹СЃРѕС‚Р°)
   ============================================================ */
.card {
  min-height: 0 !important;
  padding: 16px !important;
  border-radius: 20px !important;
  gap: 12px !important;
}
.cardv2-title {
  font-size: 22px !important;
  line-height: 1.1 !important;
}
.cardv2-logo {
  width: 40px !important;
  height: 40px !important;
  border-radius: 11px !important;
}
.cardv2-logo .tile-logo,
.cardv2-logo .tile-logo-tinted {
  width: 26px !important;
  height: 26px !important;
}
.cardv2-pill {
  height: 24px;
  font-size: 11px;
  padding: 0 10px;
}
.cardv2-watermark {
  width: 180px !important;
  height: 180px !important;
  right: -28px;
  bottom: -32px;
}
.cardv2-watermark .tile-logo,
.cardv2-watermark .tile-logo-tinted,
.cardv2-watermark .tile-watermark-logo,
.cardv2-watermark .tile-watermark-logo-white {
  width: 180px !important;
  height: 180px !important;
}
.cardv2-price .card-price-rub {
  font-size: 22px !important;
}
.cardv2-arrow {
  width: 38px !important;
  height: 38px !important;
}

@media (max-width: 680px) {
  .card {
    padding: 14px !important;
    border-radius: 18px !important;
    gap: 10px !important;
  }
  .cardv2-title { font-size: 18px !important; }
  .cardv2-logo { width: 36px !important; height: 36px !important; }
  .cardv2-watermark { width: 150px !important; height: 150px !important; }
  .cardv2-watermark .tile-logo,
  .cardv2-watermark .tile-logo-tinted,
  .cardv2-watermark .tile-watermark-logo,
  .cardv2-watermark .tile-watermark-logo-white { width: 150px !important; height: 150px !important; }
  .cardv2-price .card-price-rub { font-size: 20px !important; }
  .cardv2-arrow { width: 36px !important; height: 36px !important; }
}


/* ============================================================
   v31 вЂ” Fix: РЅР° hover РєР°СЂС‚РѕС‡РєР° РЅРµ РґРѕР»Р¶РЅР° Р±РµР»РµС‚СЊ
   РЎС‚Р°СЂС‹Рµ РїСЂР°РІРёР»Р° (v22) СЃС‚Р°РІРёР»Рё background: #ffffff РЅР° :hover.
   Р—РґРµСЃСЊ РїСЂРёРЅСѓРґРёС‚РµР»СЊРЅРѕ СЃРѕС…СЂР°РЅСЏРµРј brand-gradient.
   ============================================================ */
.card,
.card:hover:not(.card-out) {
  background: var(--brand, #1e293b) !important;
  background:
    linear-gradient(180deg, rgba(0,0,0,0.04), rgba(0,0,0,0.20)),
    linear-gradient(135deg,
      color-mix(in srgb, var(--brand, #2aabee) 78%, #050a18),
      color-mix(in srgb, var(--brand, #2aabee) 38%, #050a18)) !important;
}
.card:hover:not(.card-out) {
  /* РўРѕР»СЊРєРѕ С‚РµРЅСЊ Рё РїРѕРґСЉС‘Рј, Р±РµР· СЃРјРµРЅС‹ С„РѕРЅР°. */
  transform: translateY(-6px) scale(1.01) !important;
  box-shadow:
    0 22px 44px rgba(20, 25, 60, 0.32),
    0 0 0 1px rgba(255, 255, 255, 0.18) inset !important;
  border-color: rgba(255, 255, 255, 0.32) !important;
  /* РЈСЃРёР»РёРІР°РµРј glow С‡РµСЂРµР· :hover overlay */
}
.card:hover:not(.card-out) .cardv2-glow { opacity: 1.2; }


/* ============================================================
   v32 вЂ” РљР°СЂС‚РѕС‡РєРё РєСЂСѓРїРЅРµРµ Г—1.3 (РєРѕРЅС‚РµРЅС‚ Рё РєРѕР»РѕРЅРєРё СЃРµС‚РєРё)
   ============================================================ */
.grid {
  /* Р‘Р°Р·РѕРІР°СЏ С€РёСЂРёРЅР° Р±С‹Р»Р° 220px в†’ 1.3Г— = 286px. */
  grid-template-columns: repeat(auto-fill, minmax(286px, 1fr)) !important;
  gap: 18px !important;
}
@media (min-width: 1280px) { .grid { grid-template-columns: repeat(4, 1fr) !important; } }
@media (min-width: 1600px) { .grid { grid-template-columns: repeat(5, 1fr) !important; } }
@media (max-width: 680px)  { .grid { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; } }

/* РљРѕРЅС‚РµРЅС‚ РєР°СЂС‚РѕС‡РєРё С‚РѕР¶Рµ РІ 1.3Г— */
.card {
  padding: 22px !important;
  border-radius: 26px !important;
  gap: 16px !important;
}
.cardv2-title {
  font-size: 28px !important;
  line-height: 1.1 !important;
}
.cardv2-logo {
  width: 52px !important;
  height: 52px !important;
  border-radius: 14px !important;
}
.cardv2-logo .tile-logo,
.cardv2-logo .tile-logo-tinted {
  width: 34px !important;
  height: 34px !important;
}
.cardv2-pill {
  height: 30px !important;
  font-size: 13px !important;
  padding: 0 13px !important;
}
.cardv2-watermark {
  width: 232px !important;
  height: 232px !important;
  right: -36px;
  bottom: -42px;
}
.cardv2-watermark .tile-logo,
.cardv2-watermark .tile-logo-tinted {
  width: 232px !important;
  height: 232px !important;
}
.cardv2-price .card-price-rub {
  font-size: 28px !important;
}
.cardv2-arrow {
  width: 50px !important;
  height: 50px !important;
}
.cardv2-arrow svg { width: 22px; height: 22px; }

@media (max-width: 680px) {
  .card {
    padding: 18px !important;
    border-radius: 22px !important;
    gap: 12px !important;
  }
  .cardv2-title { font-size: 23px !important; }
  .cardv2-logo { width: 46px !important; height: 46px !important; }
  .cardv2-logo .tile-logo,
  .cardv2-logo .tile-logo-tinted { width: 30px !important; height: 30px !important; }
  .cardv2-watermark { width: 195px !important; height: 195px !important; }
  .cardv2-watermark .tile-logo,
  .cardv2-watermark .tile-logo-tinted { width: 195px !important; height: 195px !important; }
  .cardv2-price .card-price-rub { font-size: 26px !important; }
  .cardv2-arrow { width: 46px !important; height: 46px !important; }
}

/* ============================================================
   Hero-card Рё bonus-card вЂ” С…РѕР»РѕРґРЅРµРµ, Р±Р»РёР¶Рµ Рє Telegram-blue
   ============================================================ */

/* Hero (РІРЅРµС€РЅРёР№ РєРѕРЅС‚РµР№РЅРµСЂ): С‡СѓС‚СЊ СЃРёРЅРµРµ РѕСЃРЅРѕРІР°, РјСЏРіРєРёР№ blue glow. */
.hero-card {
  background:
    radial-gradient(120% 200% at 0% 0%, rgba(42, 171, 238, 0.16), transparent 60%),
    radial-gradient(120% 200% at 100% 100%, rgba(96, 165, 250, 0.14), transparent 60%),
    linear-gradient(135deg, #f0f7ff, #e6efff) !important;
  border-color: rgba(42, 171, 238, 0.18) !important;
}

/* Bonus-card РІРЅСѓС‚СЂРё hero вЂ” РЅР°СЃС‹С‰РµРЅРЅРµРµ РіРѕР»СѓР±РѕР№ */
.bonus-card-hero {
  background:
    radial-gradient(140% 180% at 0% 0%, rgba(42, 171, 238, 0.30), transparent 60%),
    radial-gradient(140% 180% at 100% 100%, rgba(96, 165, 250, 0.26), transparent 60%),
    #f0f7ff !important;
  border-color: rgba(42, 171, 238, 0.32) !important;
  box-shadow:
    0 18px 50px rgba(42, 90, 160, 0.18),
    0 0 0 1px rgba(42, 171, 238, 0.10) inset !important;
}
.bonus-card-hero::before {
  background: linear-gradient(135deg, rgba(42, 171, 238, 0.55), rgba(96, 165, 250, 0.55)) border-box !important;
}


/* ============================================================
   v33 вЂ” РљР°СЂС‚РѕС‡РєРё С€РёСЂРµ Г—1.25 (РјРёРЅРёРјР°Р»СЊРЅР°СЏ С€РёСЂРёРЅР° Рё РєРѕР»РѕРЅРєРё)
   ============================================================ */
.grid {
  /* 286 Г— 1.25 = 358 */
  grid-template-columns: repeat(auto-fill, minmax(358px, 1fr)) !important;
}
@media (min-width: 1280px) { .grid { grid-template-columns: repeat(3, 1fr) !important; } }
@media (min-width: 1600px) { .grid { grid-template-columns: repeat(4, 1fr) !important; } }
@media (max-width: 680px)  { .grid { grid-template-columns: repeat(2, 1fr) !important; } }


/* ============================================================
   v34 вЂ” FAQ heading centered
   ============================================================ */
#faq .section-head {
  text-align: center !important;
  max-width: 720px !important;
  margin: 0 auto 28px !important;
}


/* ============================================================
   v35 вЂ” Bonus pill РІ РѕРґРЅРѕРј СЃС‚РёР»Рµ СЃ hero-card (blue tint)
   ============================================================ */
.bonus-pill {
  background:
    radial-gradient(140% 180% at 0% 0%, rgba(42, 171, 238, 0.22), transparent 60%),
    radial-gradient(140% 180% at 100% 100%, rgba(124, 92, 255, 0.18), transparent 60%),
    #f0f7ff !important;
  border: 1px solid rgba(42, 171, 238, 0.32) !important;
  color: var(--text) !important;
  box-shadow:
    0 12px 28px rgba(42, 90, 160, 0.16),
    0 0 0 1px rgba(42, 171, 238, 0.10) inset !important;
}
.bonus-pill:hover {
  background:
    radial-gradient(140% 180% at 0% 0%, rgba(42, 171, 238, 0.30), transparent 60%),
    radial-gradient(140% 180% at 100% 100%, rgba(124, 92, 255, 0.24), transparent 60%),
    #e6efff !important;
  border-color: rgba(42, 171, 238, 0.45) !important;
  box-shadow:
    0 18px 38px rgba(42, 90, 160, 0.24),
    0 0 0 1px rgba(42, 171, 238, 0.18) inset !important;
}

/* Frozen pill (РїРѕСЃР»Рµ С„РёРєСЃР°С†РёРё Р±РѕРЅСѓСЃР°) вЂ” С‚Р°РєРѕР№ Р¶Рµ С„РѕРЅ */
.bonus-pill-frozen {
  background:
    radial-gradient(140% 180% at 0% 0%, rgba(42, 171, 238, 0.22), transparent 60%),
    radial-gradient(140% 180% at 100% 100%, rgba(124, 92, 255, 0.18), transparent 60%),
    #f0f7ff !important;
}

/* Р¦РёС„СЂР°/Р·РЅР°Рє РІРЅСѓС‚СЂРё pill вЂ” СЃРёРЅРёР№в†’С„РёРѕР»РµС‚ gradient (РєР°Рє РІ hero) */
.bonus-pill-num,
.bonus-pill-sign {
  background: linear-gradient(135deg, #2aabee, #7c5cff) !important;
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}
.bonus-pill-dot {
  background: linear-gradient(135deg, #2aabee, #7c5cff) !important;
  box-shadow: 0 0 8px rgba(42, 171, 238, 0.55) !important;
}


/* ============================================================
   v36 вЂ” Hero Р±РµР· bonus-card (РѕРґРЅР° РєРѕР»РѕРЅРєР°), price-row РєР°СЂС‚РѕС‡РµРє РІС‹С€Рµ,
   floater bonus pill РєРѕРјРїР°РєС‚РЅС‹Р№, РїР»Р°РІРЅРѕРµ РїРѕСЏРІР»РµРЅРёРµ РїСЂРё РґРѕСЃС‚РёР¶РµРЅРёРё
   РєР°С‚Р°Р»РѕРіР°.
   ============================================================ */

/* Hero-card РІ РѕРґРЅСѓ РєРѕР»РѕРЅРєСѓ */
.hero-card-solo {
  grid-template-columns: 1fr !important;
  max-width: 880px;
  margin: 0 auto;
}
.hero-card-solo .hero-intro {
  align-items: flex-start;
}
.hero-card-solo .hero-title {
  font-size: clamp(22px, 2.4vw, 30px) !important;
  letter-spacing: -0.025em;
}
.hero-card-solo .hero-lead {
  max-width: 720px;
}

/* РќР° СЃР»СѓС‡Р°Р№ РєРѕРіРґР° JS РµС‰С‘ РЅРµ РѕС‚СЂР°Р±РѕС‚Р°Р» Рё СЃС‚Р°СЂР°СЏ СЃС‚СЂСѓРєС‚СѓСЂР° РѕСЃС‚Р°Р»Р°СЃСЊ вЂ”
   bonus-card-hero РїСЂРѕСЃС‚Рѕ РїСЂСЏС‡РµРј, С‡С‚РѕР±С‹ РЅРµ С‚РѕСЂС‡Р°Р»Рѕ. */
.bonus-card-hero { display: none !important; }

/* ============================================================
   Card price-row вЂ” РїРѕРґРЅСЏС‚СЊ С†РµРЅСѓ Рё СЃС‚СЂРµР»РєСѓ РІС‹С€Рµ, РїР»РѕС‚РЅРµРµ
   ============================================================ */
.cardv2-bottom {
  margin-top: auto !important;
  padding-top: 14px !important;
  padding-bottom: 4px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.14) !important;
  align-items: center !important;
}
.cardv2-mid {
  margin-bottom: 4px;
}

/* ============================================================
   Bonus floater (pill / expanded) вЂ” РїР»Р°РІРЅРѕРµ РїРѕСЏРІР»РµРЅРёРµ
   ============================================================ */
#bonusWidget {
  transition: opacity 280ms cubic-bezier(.22, 1, .36, 1),
              transform 280ms cubic-bezier(.22, 1, .36, 1);
}
/* hidden state вЂ” !important, С‡С‚РѕР±С‹ РЅРµ Р·Р°РІРёСЃРµС‚СЊ РѕС‚ РїРѕСЂСЏРґРєР° СЃ :not([hidden]). */
#bonusWidget[hidden] {
  display: block !important;
  opacity: 0 !important;
  transform: translateY(12px) !important;
  pointer-events: none !important;
}
#bonusWidget:not([hidden]) {
  opacity: 1;
  transform: translateY(0);
}

/* РќР° РјРѕР±. Рё РґРµСЃРєС‚РѕРїРµ РѕСЃС‚Р°РІР»СЏРµРј pill РІ РїСЂР°РІРѕРј РЅРёР¶РЅРµРј СѓРіР»Сѓ РІС‹С€Рµ sticky-CTA. */
@media (max-width: 680px) {
  #bonusWidget { right: 14px; bottom: 78px; }
  /* РќР° СЃР»СѓС‡Р°Р№ СЃС‚Р°СЂРѕРіРѕ РїСЂР°РІРёР»Р°, РєРѕС‚РѕСЂРѕРµ РїСЂСЏС‚Р°Р»Рѕ pill С‡РµСЂРµР· display:none. */
  #bonusWidget:not([hidden]) { display: block !important; }
}

/* РџСЂРё РѕС‚РєСЂС‹С‚РѕР№ РјРѕРґР°Р»РєРµ вЂ” РіР°СЂР°РЅС‚РёСЂРѕРІР°РЅРЅРѕ РїСЂСЏС‡РµРј floater (РїРµСЂРµР±РёРІР°РµС‚ v36
   display:block РІС‹С€Рµ). */
body.modal-open #bonusWidget,
body.modal-open #bonusWidget[hidden],
.modal:not([hidden]) ~ #bonusWidget {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* РЈРІР°Р¶Р°РµРј prefers-reduced-motion: Р±РµР· РґРІРёР¶РµРЅРёСЏ, С‚РѕР»СЊРєРѕ РјРіРЅРѕРІРµРЅРЅС‹Р№
   opacity-toggle. */
@media (prefers-reduced-motion: reduce) {
  #bonusWidget {
    transition: opacity 120ms linear !important;
    transform: none !important;
  }
  #bonusWidget[hidden] { transform: none !important; }
}


/* ============================================================
   v37 вЂ” SEO helpers: sr-only Рё РєРѕСЂРѕС‚РєРёР№ SEO-Р±Р»РѕРє РїРµСЂРµРґ FAQ
   ============================================================ */
.sr-only {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.seo-blurb {
  max-width: 720px;
  margin: 0 auto 28px;
  text-align: center;
  padding: 0 16px;
}
.seo-blurb h2 {
  font-size: clamp(20px, 2.2vw, 26px);
  letter-spacing: -0.025em;
  margin: 0 0 8px;
  color: var(--text);
}
.seo-blurb p {
  font-size: 15px;
  line-height: 1.55;
  color: var(--text-muted);
  margin: 0;
}
@media (max-width: 680px) {
  .seo-blurb { margin-bottom: 20px; }
  .seo-blurb p { font-size: 14px; }
}



/* ============================================================
   v38 — Hero gift card (scratch panel + auto-erase)
   ============================================================ */

/* Hero становится 2-колоночным: intro слева, gift card справа.
   На узких — стек. */
.hero-card-with-bonus {
  display: grid !important;
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.95fr);
  gap: 28px;
  align-items: center;
  max-width: none !important;
}
.hero-card-with-bonus .hero-intro {
  align-items: flex-start;
}
.hero-card-with-bonus .hero-title {
  font-size: clamp(22px, 2.4vw, 30px);
  letter-spacing: -0.025em;
}

/* Gift card — настоящая бонус-карта в стиле кредитки */
.gift-card {
  position: relative;
  width: 100%;
  max-width: 380px;
  margin-left: auto;
  border-radius: 22px;
  overflow: hidden;
  isolation: isolate;
  color: #fff;
  background:
    radial-gradient(120% 180% at 0% 0%, rgba(124, 92, 255, 0.55), transparent 60%),
    radial-gradient(120% 180% at 100% 100%, rgba(42, 171, 238, 0.55), transparent 60%),
    linear-gradient(135deg, #2a2f6e 0%, #1a2055 60%, #16204a 100%);
  border: 1px solid rgba(255, 255, 255, 0.10);
  box-shadow:
    0 24px 56px rgba(36, 50, 100, 0.30),
    0 0 0 1px rgba(255, 255, 255, 0.06) inset;
}

/* Soft floating breath */
@keyframes giftBreath {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-2px); }
}
.gift-card { animation: giftBreath 7s ease-in-out infinite; }

/* Тонкие декоративные орбы внутри карты — как в Apple Card */
.gift-card-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}
.gift-card-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(20px);
  opacity: 0.55;
}
.gift-card-orb-1 {
  width: 200px; height: 200px;
  top: -60px; left: -40px;
  background: radial-gradient(closest-side, #7c5cff, transparent);
}
.gift-card-orb-2 {
  width: 240px; height: 240px;
  bottom: -80px; right: -60px;
  background: radial-gradient(closest-side, #2aabee, transparent);
}

/* Diagonal sheen sweep */
.gift-card::before {
  content: "";
  position: absolute;
  top: -40%; left: -40%;
  width: 60%; height: 220%;
  background: linear-gradient(115deg,
    transparent 0%,
    rgba(255, 255, 255, 0.18) 45%,
    rgba(255, 255, 255, 0.04) 55%,
    transparent 100%);
  transform: translateX(-100%) rotate(8deg);
  pointer-events: none;
  z-index: 4;
  animation: giftSheen 6s ease-in-out infinite;
}
@keyframes giftSheen {
  0%, 12%   { transform: translateX(-30%) rotate(8deg); opacity: 0; }
  20%       { opacity: 1; }
  60%       { transform: translateX(280%) rotate(8deg); opacity: 0; }
  100%      { transform: translateX(280%) rotate(8deg); opacity: 0; }
}

/* Содержимое карты */
.gift-card-frame {
  position: relative;
  z-index: 2;
  padding: 18px 20px 18px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.gift-card-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 4px;
}
.gift-card-chip {
  display: inline-block;
  width: 36px; height: 28px;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,0.35));
}
.gift-card-chip svg { display: block; width: 100%; height: 100%; }
.gift-card-brand {
  font-weight: 900;
  font-size: 16px;
  letter-spacing: 0.03em;
  background: linear-gradient(135deg, #ffffff, #c9d6ff);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  text-shadow: 0 1px 0 rgba(0,0,0,0.20);
  opacity: 0.92;
}
.gift-card-brand svg { display: block; width: 22px; height: 22px; opacity: 0.95; }

.gift-card-eyebrow {
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.65);
}

.gift-card-percent {
  display: flex;
  align-items: baseline;
  gap: 4px;
  margin-top: 0;
  line-height: 1;
}
.gift-card-num {
  font-size: clamp(38px, 4.6vw, 54px);
  font-weight: 900;
  letter-spacing: -0.04em;
  background: linear-gradient(135deg, #ffffff, #b9c8ff);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  font-variant-numeric: tabular-nums;
}
.gift-card-sign {
  font-size: clamp(22px, 2.6vw, 30px);
  font-weight: 800;
  background: linear-gradient(135deg, #ffffff, #b9c8ff);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
.gift-card-sub {
  font-size: 12.5px;
  color: rgba(255, 255, 255, 0.78);
  margin-top: -2px;
  line-height: 1.4;
}

/* Code zone — здесь лежит реальный код (placeholder), сверху serebriste
   stripe который и стирается canvas-ом. */
.gift-card-code-zone {
  position: relative;
  margin-top: 8px;
  padding: 10px 12px;
  background: rgba(0, 0, 0, 0.22);
  border-radius: 10px;
  overflow: hidden;
  min-height: 38px;
  display: flex;
  align-items: center;
}
.gift-card-code-placeholder {
  font-family: "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: rgba(255, 255, 255, 0.92);
  word-break: break-all;
  line-height: 1.3;
  user-select: none;
}
.gift-card-scratch {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  cursor: grab;
  touch-action: none;
  border-radius: inherit;
  z-index: 3;
  transition: opacity 320ms cubic-bezier(.22, 1, .36, 1);
}
.gift-card-scratch:active { cursor: grabbing; }
.gift-card-scratch-fade { opacity: 0; pointer-events: none; }

.gift-card-scratch-hint {
  position: absolute;
  z-index: 2;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: rgba(14, 19, 48, 0.55);
  pointer-events: none;
  user-select: none;
  /* Текст лежит под canvas — виден только когда стираем сверху. */
}

/* Action button — на тёмной карте делаем primary полупрозрачным
   с blue→violet glow, ghost — outlined белым. */
.gift-card .scratch-btn {
  border: 0;
  border-radius: 12px;
  padding: 0 14px;
  height: 40px;
  font-size: 13.5px;
  font-weight: 700;
  letter-spacing: 0.01em;
  cursor: pointer;
  transition: transform 160ms cubic-bezier(.22, 1, .36, 1),
              box-shadow 160ms cubic-bezier(.22, 1, .36, 1),
              background 160ms cubic-bezier(.22, 1, .36, 1);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  text-decoration: none;
  font-family: inherit;
  white-space: nowrap;
}
.gift-card .scratch-btn-primary {
  color: #fff;
  background: linear-gradient(135deg, #2aabee, #7c5cff);
  box-shadow: 0 10px 22px rgba(42, 171, 238, 0.28);
}
.gift-card .scratch-btn-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(42, 171, 238, 0.36);
}
.gift-card .scratch-btn-ghost {
  color: #fff;
  background: rgba(255, 255, 255, 0.10);
  border: 1px solid rgba(255, 255, 255, 0.22);
}
.gift-card .scratch-btn-ghost:hover {
  background: rgba(255, 255, 255, 0.16);
  border-color: rgba(255, 255, 255, 0.36);
}

.gift-card-cta {
  margin-top: 10px;
  width: 100%;
}

/* Claimed state — рамка светится, блок кода виден, две кнопки */
.gift-card-claimed {
  animation: giftClaimedFlash 1.6s ease-out 1, giftBreath 7s ease-in-out 1.6s infinite;
}
@keyframes giftClaimedFlash {
  0%   { box-shadow: 0 24px 56px rgba(36,50,100,0.30), 0 0 0 1px rgba(255,255,255,0.06) inset; }
  35%  { box-shadow: 0 30px 64px rgba(124,92,255,0.50), 0 0 0 2px rgba(124,92,255,0.55) inset; }
  100% { box-shadow: 0 24px 56px rgba(36,50,100,0.30), 0 0 0 1px rgba(255,255,255,0.06) inset; }
}
.gift-card-code-zone-revealed {
  background: rgba(255, 255, 255, 0.10);
  border: 1px dashed rgba(255, 255, 255, 0.32);
  min-height: 0;
}
.gift-card-claimed .gift-card-code {
  font-family: "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #fff;
  word-break: break-all;
  line-height: 1.3;
  user-select: text;
}
.gift-card-actions {
  margin-top: 10px;
  display: flex;
  gap: 8px;
}
.gift-card-actions .scratch-btn {
  flex: 1 1 0;
  min-width: 0;
  padding: 0 8px;
}

/* Skeleton placeholder — пока JS не отрисовался */
.hero-scratch-skeleton {
  width: 100%;
  max-width: 380px;
  margin-left: auto;
  height: 220px;
  border-radius: 22px;
  background:
    radial-gradient(120% 180% at 0% 0%, rgba(124, 92, 255, 0.45), transparent 60%),
    radial-gradient(120% 180% at 100% 100%, rgba(42, 171, 238, 0.45), transparent 60%),
    linear-gradient(135deg, #2a2f6e 0%, #1a2055 60%, #16204a 100%);
  border: 1px solid rgba(255, 255, 255, 0.10);
  box-shadow: 0 24px 56px rgba(36, 50, 100, 0.30);
}

/* Mobile: gift card идёт под intro */
@media (max-width: 880px) {
  .hero-card-with-bonus {
    grid-template-columns: 1fr !important;
    gap: 20px;
  }
  .gift-card,
  .hero-scratch-skeleton {
    margin-left: 0;
    max-width: 460px;
  }
}
@media (max-width: 480px) {
  .gift-card,
  .hero-scratch-skeleton {
    max-width: none;
  }
  .gift-card-frame { padding: 16px 18px 16px; }
  .gift-card-num   { font-size: 38px; }
  .gift-card-sign  { font-size: 22px; }
  .gift-card-actions { flex-direction: column; }
  .gift-card-actions .scratch-btn { width: 100%; }
}

/* Reduced motion — никаких анимаций */
@media (prefers-reduced-motion: reduce) {
  .gift-card { animation: none; }
  .gift-card::before { animation: none; opacity: 0; }
  .gift-card-claimed { animation: none; }
}


/* ============================================================
   v39 — Mini gift-card pill (бывший hero-vanish переехал в v41)
   ============================================================ */

/* ============================================================
   Mini gift-card pill — sticky bonus-widget в правом нижнем углу.
   Перебивает старые стили (v34/v35), даёт тёмный blue→violet вид
   с золотым чипом и брендом OP, как у большой карты.
   ============================================================ */
#bonusWidget .bonus-pill,
#bonusWidget .bonus-pill-frozen {
  /* Сбрасываем старый light-tint */
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  /* И навешиваем тёмный gift-card вид */
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: 50px;
  padding: 6px 14px 6px 8px;
  border-radius: 999px;
  cursor: pointer;
  font-family: inherit;
  color: #fff;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  text-decoration: none;
  transform-origin: 100% 100%;
  /* Bg layers */
  background:
    radial-gradient(110% 180% at 0% 0%, rgba(124, 92, 255, 0.55), transparent 60%),
    radial-gradient(110% 180% at 100% 100%, rgba(42, 171, 238, 0.55), transparent 60%),
    linear-gradient(135deg, #2a2f6e 0%, #1a2055 60%, #16204a 100%) !important;
  border: 1px solid rgba(255, 255, 255, 0.10) !important;
  box-shadow:
    0 12px 28px rgba(36, 50, 100, 0.36),
    0 0 0 1px rgba(255, 255, 255, 0.06) inset !important;
  transition: transform 200ms cubic-bezier(.22, 1, .36, 1),
              box-shadow 200ms cubic-bezier(.22, 1, .36, 1);
}
#bonusWidget .bonus-pill:hover,
#bonusWidget .bonus-pill-frozen:hover {
  transform: translateY(-2px);
  box-shadow:
    0 18px 38px rgba(124, 92, 255, 0.36),
    0 0 0 1px rgba(255, 255, 255, 0.10) inset !important;
}

/* Diagonal sheen на pill (как у большой карты, только покороче) */
#bonusWidget .bonus-pill::before,
#bonusWidget .bonus-pill-frozen::before {
  content: "";
  position: absolute;
  top: -40%; left: -40%;
  width: 50%; height: 220%;
  background: linear-gradient(115deg,
    transparent 0%,
    rgba(255, 255, 255, 0.18) 45%,
    rgba(255, 255, 255, 0.04) 55%,
    transparent 100%);
  transform: translateX(-100%) rotate(8deg);
  pointer-events: none;
  z-index: 1;
  animation: pillSheen 6s ease-in-out infinite;
}
@keyframes pillSheen {
  0%, 18%   { transform: translateX(-30%) rotate(8deg); opacity: 0; }
  28%       { opacity: 1; }
  60%       { transform: translateX(360%) rotate(8deg); opacity: 0; }
  100%      { transform: translateX(360%) rotate(8deg); opacity: 0; }
}

/* Золотой чип — выровнен слева, как на большой карте */
.bonus-pill-chip {
  position: relative;
  z-index: 2;
  display: inline-block;
  width: 28px; height: 21px;
  flex: 0 0 auto;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,0.40));
}
.bonus-pill-chip svg { display: block; width: 100%; height: 100%; }

/* Контент — eyebrow сверху + большая цифра снизу */
.bonus-pill-content {
  position: relative;
  z-index: 2;
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  line-height: 1;
  gap: 2px;
  min-width: 0;
}
.bonus-pill-eyebrow {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.62);
  line-height: 1;
}
.bonus-pill-num {
  font-size: 16px;
  font-weight: 900;
  letter-spacing: -0.02em;
  display: inline-flex;
  align-items: baseline;
  font-variant-numeric: tabular-nums;
  background: linear-gradient(135deg, #ffffff, #c9d6ff);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  line-height: 1;
}
.bonus-pill-num b {
  font-weight: 900;
}
.bonus-pill-sign {
  font-size: 12px;
  font-weight: 800;
  margin-left: 1px;
  /* Наследует gradient от родителя через background-clip:text. */
}

/* Бренд OP справа — как номер на карте */
.bonus-pill-brand {
  position: relative;
  z-index: 2;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.06em;
  color: rgba(255, 255, 255, 0.40);
  margin-left: 4px;
}
.bonus-pill-brand svg { display: block; opacity: 0.5; }

/* Frozen pill — добавляем зелёный «активирован» glow */
#bonusWidget .bonus-pill-frozen {
  background:
    radial-gradient(110% 180% at 0% 0%, rgba(52, 211, 153, 0.45), transparent 60%),
    radial-gradient(110% 180% at 100% 100%, rgba(42, 171, 238, 0.55), transparent 60%),
    linear-gradient(135deg, #1a3d3a 0%, #1a2055 60%, #16204a 100%) !important;
  border-color: rgba(52, 211, 153, 0.38) !important;
  box-shadow:
    0 12px 28px rgba(52, 211, 153, 0.24),
    0 0 0 1px rgba(255, 255, 255, 0.06) inset !important;
}
#bonusWidget .bonus-pill-frozen .bonus-pill-num {
  background: linear-gradient(135deg, #ffffff, #b9efde);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

/* Bonus pill появление — добавляем «вылет» из правого нижнего угла */
#bonusWidget {
  /* Уже есть transition opacity/transform из v36, тут подменяем transform
     на более выразительный scale-зум из угла. */
  transform-origin: 100% 100%;
}
#bonusWidget[hidden] {
  transform: translateY(20px) scale(0.7) !important;
  opacity: 0 !important;
}
#bonusWidget:not([hidden]) {
  transform: translateY(0) scale(1);
  opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
  #bonusWidget[hidden] { transform: none !important; }
}

/* Mobile — pill чуть компактнее */
@media (max-width: 680px) {
  #bonusWidget .bonus-pill,
  #bonusWidget .bonus-pill-frozen {
    height: 46px;
    padding: 5px 12px 5px 7px;
    gap: 8px;
  }
  .bonus-pill-chip { width: 26px; height: 19px; }
  .bonus-pill-num  { font-size: 15px; }
  .bonus-pill-eyebrow { font-size: 8.5px; }
  .bonus-pill-brand { display: none; }
}

/* Expanded card в углу — здесь старая верстка, оставляем как было,
   pill просто быстро менеджит видимость. expanded используется только
   когда пользователь сам кликнул на pill. */


/* ============================================================
   v48 — Normal layout + fixed clone bonus animation
   ----------------------------------------------------------------
   Hero — обычный блок в потоке. Никакой pinned scene, никакого
   layout collapse. Sticky bonus pill — fixed-элемент, появляется
   через class .is-visible когда #bonusHero ушёл из viewport.
   ============================================================ */

/* Hero — обычный блок. Никаких inline-стилей, никакого sticky. */
#bonusHero {
  position: relative;
  margin: 8px auto 14px;
  padding: 0;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible;
  /* Никакого progress-driven transition. */
  transition: none;
}
#bonusHero .hero-shell {
  /* Inline-стили opacity/transform/filter снимаем — они приходили
     от старой scroll-linked системы. */
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  pointer-events: auto !important;
  transition: none;
}
#bonusHero::after { display: none; }   /* старый ghost layer */

/* Search-collapse — единственное место где hero меняет layout.
   Срабатывает по фокусу в search input. */
#bonusHero.hero-search-collapsed {
  max-height: 0 !important;
  margin-top: 0;
  margin-bottom: 0;
  opacity: 0;
  pointer-events: none;
  overflow: hidden;
  transition:
    max-height 320ms cubic-bezier(.22, 1, .36, 1),
    margin 320ms cubic-bezier(.22, 1, .36, 1),
    opacity 240ms cubic-bezier(.22, 1, .36, 1);
}

/* Trust-band и how-strip — обычные блоки, нормальные отступы. */
#trustBand,
.how-strip {
  opacity: 1;
  transform: none;
  pointer-events: auto;
  transition: none;
}
#trustBand { margin: 0 0 12px; }
.how-strip { margin: 0 0 16px; }

/* Body отвязываем от устаревших переменных. */
body { --hero-eased: 0; --hero-after-p: 1; --hero-magnetic-pull: 0px; }

/* Sticky bonus pill — fixed, не влияет на layout */
#bonusWidget {
  position: fixed;
  right: 18px;
  bottom: 78px;
  z-index: 80;
  opacity: 0;
  transform: translateY(18px) scale(0.88);
  pointer-events: none;
  transition:
    opacity 280ms cubic-bezier(.22, 1, .36, 1),
    transform 320ms cubic-bezier(.22, 1, .36, 1);
  transform-origin: 100% 100%;
  will-change: opacity, transform;
}
#bonusWidget.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}
#bonusWidget[hidden] { display: none; }
body.modal-open #bonusWidget { display: none !important; }

/* Mobile */
@media (max-width: 680px) {
  #bonusHero { margin: 6px auto 12px; }
  #trustBand { margin-bottom: 12px; }
  .how-strip { margin-bottom: 14px; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  #bonusWidget {
    transition: opacity 140ms linear;
    transform: none !important;
  }
  #bonusWidget.is-visible { transform: none !important; }
}


/* ============================================================
   v49 — Fix card flicker on page load
   ============================================================ */
/* Карточки каталога не имеют [data-reveal] и должны быть видимы сразу.
   Защита от случая когда какое-то старое правило ставит им opacity:0. */
#serviceGrid .card {
  opacity: 1;
}


/* ============================================================
   v50 — Disable reveal animations (causing flicker)
   ============================================================ */
[data-reveal] {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}


/* ============================================================
   v51 — Fix: на premium tile карточках цена остаётся белой при hover
   (старое правило #121722 от светлых карт перебивало).
   ============================================================ */
#serviceGrid .card .cardv2-price .card-price-rub,
#serviceGrid .card .cardv2-price .card-from,
#serviceGrid .card:hover:not(.card-out) .cardv2-price .card-price-rub,
#serviceGrid .card:hover:not(.card-out) .cardv2-price .card-from {
  color: #ffffff !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.18) !important;
}





/* ============================================================
   v56 — Watermark: проще, слабее, аккуратнее (декоративный фон)
   ============================================================ */

/* Единый контейнер — справа по центру карточки, выше price-zone.
   overflow: visible — слово не режется по границе контейнера; мягкую
   обрезку по правому краю даёт сама карточка (.card overflow:hidden). */
.cardv2-watermark {
  position: absolute !important;
  right: 14px !important;
  top: 26% !important;
  bottom: auto !important;
  width: auto !important;
  max-width: 70% !important;
  height: 30% !important;
  z-index: 1 !important;
  pointer-events: none !important;
  user-select: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  overflow: visible !important;
  opacity: 1 !important;
}

/* Логотип — небольшой, слабый */
.cardv2-watermark img.tile-watermark-logo,
.cardv2-watermark img.tile-logo,
.cardv2-watermark .tile-logo-tinted {
  display: block !important;
  width: clamp(96px, 9vw, 140px) !important;
  height: clamp(96px, 9vw, 140px) !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  opacity: 0.12 !important;
  filter: brightness(1.5) contrast(1.04) !important;
  transform: rotate(-8deg) !important;
  transform-origin: center;
}

/* Wordmark — аккуратный текст, целиком помещается в карточку.
   Сидит в свободной зоне между названием и ценой (не поверх title). */
.cardv2-watermark.is-wordmark {
  top: 38% !important;
  height: 24% !important;
}
.cardv2-watermark .tile-wordmark {
  display: block !important;
  font-family: var(--font-display, "Inter", system-ui, sans-serif);
  font-weight: 900 !important;
  line-height: 0.9 !important;
  letter-spacing: -0.05em !important;
  color: rgba(255, 255, 255, 0.12) !important;
  white-space: nowrap !important;
  transform: rotate(-8deg) !important;
  transform-origin: center;
}
.cardv2-watermark .tile-wordmark.is-short {
  font-size: clamp(30px, 3vw, 46px) !important;
}
.cardv2-watermark .tile-wordmark.is-medium {
  font-size: clamp(26px, 2.6vw, 38px) !important;
}
.cardv2-watermark .tile-wordmark.is-long {
  font-size: clamp(20px, 2vw, 30px) !important;
}

/* mono / word — больше не используются в watermark */
.cardv2-watermark .tile-mono,
.cardv2-watermark .tile-word { display: none !important; }

/* Z-index стек: watermark — слабый фон, контент всегда выше */
.cardv2-glow,
.cardv2-shine,
.cardv2-overlay { z-index: 2 !important; }
.cardv2-top { position: relative; z-index: 3; }
.cardv2-mid { position: relative; z-index: 3; }
.cardv2-bottom { position: relative; z-index: 5; }   /* price-zone — выше всего */

/* Mobile */
@media (max-width: 680px) {
  .cardv2-watermark {
    top: 32% !important;
    width: 60% !important;
    height: 34% !important;
  }
  .cardv2-watermark img.tile-watermark-logo,
  .cardv2-watermark img.tile-logo,
  .cardv2-watermark .tile-logo-tinted {
    width: clamp(84px, 26vw, 124px) !important;
    height: clamp(84px, 26vw, 124px) !important;
  }
  .cardv2-watermark .tile-wordmark.is-short {
    font-size: clamp(34px, 9vw, 56px) !important;
  }
  .cardv2-watermark .tile-wordmark.is-medium {
    font-size: clamp(28px, 7.5vw, 46px) !important;
  }
  .cardv2-watermark .tile-wordmark.is-long {
    font-size: clamp(22px, 6vw, 38px) !important;
  }
}


/* ============================================================
   v57 — Mobile 2-column catalog: компактные карточки
   Сетка переведена на 2 колонки (≤680px). Контент карточки был
   рассчитан на широкую одиночную карту — ужимаем под узкую.
   ============================================================ */
@media (max-width: 680px) {
  #serviceGrid { gap: 10px !important; }

  #serviceGrid .card { padding: 12px !important; }

  /* Верхняя строка: лого + категория */
  #serviceGrid .cardv2-logo {
    width: 34px !important;
    height: 34px !important;
    border-radius: 9px !important;
  }
  #serviceGrid .cardv2-logo .tile-logo,
  #serviceGrid .cardv2-logo .tile-logo-tinted {
    width: 22px !important;
    height: 22px !important;
  }
  #serviceGrid .cardv2-logo .tile-mono { font-size: 13px !important; }
  #serviceGrid .cardv2-pill {
    height: 20px !important;
    font-size: 9.5px !important;
    padding: 0 7px !important;
  }

  /* Название — компактнее, до 2 строк */
  #serviceGrid .cardv2-title {
    font-size: 14px !important;
    line-height: 1.2 !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  /* Цена */
  #serviceGrid .cardv2-price .card-price-rub { font-size: 17px !important; }
  #serviceGrid .cardv2-price .card-from { font-size: 9.5px !important; }
  #serviceGrid .cardv2-savings { font-size: 9.5px !important; }

  /* Стрелка — меньше, но ≥ комфортного тапа вместе с карточкой */
  #serviceGrid .cardv2-arrow {
    width: 32px !important;
    height: 32px !important;
  }
  #serviceGrid .cardv2-arrow svg { width: 16px; height: 16px; }

  /* Watermark на узкой карте — мягче и меньше, чтобы не шуметь */
  #serviceGrid .cardv2-watermark .tile-wordmark.is-short { font-size: clamp(24px, 7vw, 40px) !important; }
  #serviceGrid .cardv2-watermark .tile-wordmark.is-medium { font-size: clamp(20px, 6vw, 32px) !important; }
  #serviceGrid .cardv2-watermark .tile-wordmark.is-long { font-size: clamp(16px, 5vw, 26px) !important; }
  #serviceGrid .cardv2-watermark img.tile-watermark-logo,
  #serviceGrid .cardv2-watermark img.tile-logo,
  #serviceGrid .cardv2-watermark .tile-logo-tinted {
    width: clamp(64px, 20vw, 96px) !important;
    height: clamp(64px, 20vw, 96px) !important;
    opacity: 0.10 !important;
  }
}

/* Очень узкие экраны — ещё чуть компактнее */
@media (max-width: 360px) {
  #serviceGrid .cardv2-title { font-size: 13px !important; }
  #serviceGrid .cardv2-price .card-price-rub { font-size: 16px !important; }
  #serviceGrid .cardv2-arrow { width: 30px !important; height: 30px !important; }
}


/* ============================================================
   v58 — Mobile: каталог ближе к первому экрану
   Цель: ужать hero/bonus/trust на мобиле, чтобы первые карточки
   попадали в зону первого экрана. Десктоп не трогаем.
   ============================================================ */
@media (max-width: 680px) {
  /* Hero intro — компактнее заголовок и статистика */
  #bonusHero .hero-intro { gap: 6px !important; }
  /* Lead дублирует заголовок и meta-description — на мобиле прячем,
     чтобы поднять каталог выше. Заголовок (H1) и stats остаются. */
  #bonusHero .hero-lead { display: none !important; }
  #bonusHero .hero-stats { gap: 12px !important; margin-top: 8px !important; }

  /* Gift card — заметно компактнее (вторичный сценарий) */
  .gift-card-frame { padding: 14px 16px !important; gap: 4px !important; }
  .gift-card-head { margin-bottom: 2px !important; }
  .gift-card-chip { width: 30px !important; height: 23px !important; }
  .gift-card-num { font-size: 34px !important; }
  .gift-card-sign { font-size: 20px !important; }
  .gift-card-eyebrow { font-size: 9.5px !important; }
  .gift-card-sub { font-size: 11.5px !important; }
  .gift-card-code-zone { margin-top: 6px !important; padding: 8px 10px !important; min-height: 32px !important; }
  .gift-card-cta, .gift-card .scratch-btn { padding: 9px 14px !important; font-size: 13px !important; }

  /* Trust-band и filters — поджать вертикальные отступы */
  #bonusHero { margin: 4px auto 10px !important; }
  #trustBand { margin: 0 0 10px !important; }
  .filters-row { margin-bottom: 8px !important; }
  .catalog { padding-top: 4px !important; }
}


/* ============================================================
   v59 — Mobile: sticky CTA в модалке товара
   Кнопка «Написать продавцу» всегда видна, даже при длинном
   списке номиналов (раньше уезжала вниз за контентом).
   ============================================================ */
@media (max-width: 680px) {
  #productModal .checkout-sticky-wrap {
    position: sticky;
    bottom: 0;
    z-index: 6;
    background: #fff;
    margin: 8px -14px -14px -14px;
    padding: 10px 14px 14px 14px;
    /* Подложка, чтобы контент не просвечивал под кнопкой при скролле */
    box-shadow: 0 -10px 18px -6px rgba(255, 255, 255, 0.9);
  }
  #productModal .modal-cta-fine { margin-top: 24px; }

}


/* ============================================================
   v60 — Empty-state search suggestions
   Подсказки популярных брендов при пустом результате поиска —
   помогают восстановить путь вместо ухода с сайта.
   ============================================================ */
.empty-suggest {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  margin: 4px 0 18px;
}
.empty-suggest[hidden] { display: none; }
.empty-suggest-label {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--text-muted);
  letter-spacing: 0.01em;
}
.empty-suggest-chips {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  max-width: 460px;
}
.empty-suggest-chip {
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--text);
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  padding: 7px 14px;
  border-radius: 999px;
  cursor: pointer;
  transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease, transform 0.12s ease;
}
.empty-suggest-chip:hover {
  border-color: var(--primary);
  color: var(--primary);
  transform: translateY(-1px);
}
.empty-suggest-chip:active { transform: translateY(0); }
@media (max-width: 680px) {
  .empty-suggest-chip { font-size: 12.5px; padding: 8px 13px; }
}


/* ============================================================
   v61 — Mobile: компактнее trust-band (только мета, без слома flex)
   ============================================================ */
@media (max-width: 680px) {
  #trustBand .trust-card { padding: 12px !important; }
  #trustBand .trust-line-2 {
    font-size: 11px !important;
    line-height: 1.35 !important;
  }
  #trustBand .trust-cta {
    min-height: 38px !important;
    height: 38px !important;
    font-size: 12.5px !important;
  }
}


/* ============================================================
   v62 — Счётчик результатов над каталогом
   Показывается только при активном поиске/фильтре. Лёгкая
   пилюля в палитре сайта, не шумит.
   ============================================================ */
#catalogCount {
  display: inline-flex;
  align-items: center;
  height: auto !important;
  margin: 0 0 12px !important;
  padding: 6px 14px !important;
  font-size: 13px;
  font-weight: 700;
  color: var(--primary, #2aabee);
  background: rgba(42, 171, 238, 0.08);
  border: 1px solid rgba(42, 171, 238, 0.22);
  border-radius: 999px;
  letter-spacing: -0.01em;
  font-variant-numeric: tabular-nums;
  animation: countPop 260ms cubic-bezier(.22, 1, .36, 1);
}
#catalogCount[hidden] { display: none !important; }
@keyframes countPop {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  #catalogCount { animation: none; }
}
@media (max-width: 680px) {
  #catalogCount { margin-bottom: 10px !important; font-size: 12.5px; }
}


/* ============================================================
   v63 — Micro-interactions (тонкие, не «казино»)
   ============================================================ */

/* Подсказки в пустом поиске — мягкое каскадное появление */
@keyframes suggestChipIn {
  from { opacity: 0; transform: translateY(6px) scale(0.96); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}
.empty-suggest:not([hidden]) .empty-suggest-chip {
  animation: suggestChipIn 320ms cubic-bezier(.22, 1, .36, 1) both;
}
.empty-suggest-chip:nth-child(1) { animation-delay: 30ms; }
.empty-suggest-chip:nth-child(2) { animation-delay: 60ms; }
.empty-suggest-chip:nth-child(3) { animation-delay: 90ms; }
.empty-suggest-chip:nth-child(4) { animation-delay: 120ms; }
.empty-suggest-chip:nth-child(5) { animation-delay: 150ms; }
.empty-suggest-chip:nth-child(6) { animation-delay: 180ms; }
.empty-suggest-chip:nth-child(7) { animation-delay: 210ms; }
.empty-suggest-chip:nth-child(8) { animation-delay: 240ms; }

/* Категории-чипы: лёгкий лифт при наведении (desktop) */
@media (hover: hover) {
  .filter-chip { transition: transform 160ms cubic-bezier(.22,1,.36,1), border-color 160ms ease, background 160ms ease, color 160ms ease; }
  .filter-chip:hover:not(.active) { transform: translateY(-1px); }
}
.filter-chip:active { transform: translateY(0) scale(0.98); }

/* Стрелка в карточке — мягкий «вдох» при наведении уже есть;
   добавляем плавность самой иконке */
.cardv2-arrow svg { transition: transform 220ms cubic-bezier(.22,1,.36,1); }
.card:hover:not(.card-out) .cardv2-arrow svg { transform: translateX(1px); }

/* Пилюля счётчика результатов — мягкий tap-feedback не нужен (не кликабельна) */

/* Уважение к prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
  .empty-suggest:not([hidden]) .empty-suggest-chip,
  .filter-chip,
  .cardv2-arrow svg { animation: none !important; transition: none !important; transform: none !important; }
}


/* ============================================================
   v64 — Performance: убираем дорогой backdrop-filter с карточек
   на мобиле. На бейдже-лого 34px blur почти не виден, но ×N карточек
   в скролле это главный источник проседания FPS на телефонах.
   Заменяем на плотный полупрозрачный фон.
   ============================================================ */
@media (max-width: 680px) {
  #serviceGrid .cardv2-logo {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    background: rgba(255, 255, 255, 0.22) !important;
  }
  /* Watermark-логотип: brightness/contrast фильтр в скролле тоже
     композитит каждый кадр — на мобиле упрощаем (только прозрачность). */
  #serviceGrid .cardv2-watermark img.tile-watermark-logo,
  #serviceGrid .cardv2-watermark img.tile-logo,
  #serviceGrid .cardv2-watermark .tile-logo-tinted {
    filter: none !important;
  }
}


/* ============================================================
   v65 — (удалён) блок перелинковки в футере
   ============================================================ */



/* ============================================================
   v66 — Фильтры: бейдж без нуля, кнопка скромнее, панель —
   центрированная модалка (как карточка товара), а не выезд сбоку.
   ============================================================ */

/* 1) Бейдж-счётчик не показываем при нуле (атрибут hidden перебивал
      старый display:inline-grid). */
.filter-fab-count[hidden] { display: none !important; }

/* 2) Кнопка «Фильтры» — второстепенная на десктопе (не спорит с
      категориями по весу). */
@media (min-width: 681px) {
  .filter-fab-toggle {
    height: 38px !important;
    padding: 0 14px !important;
    background: transparent !important;
    border: 1px solid var(--border) !important;
    color: var(--text-dim) !important;
    font-weight: 600 !important;
    box-shadow: none !important;
  }
  .filter-fab-toggle:hover {
    background: var(--surface) !important;
    border-color: var(--border-strong) !important;
    color: var(--text) !important;
    transform: none !important;
  }
  .filter-fab-toggle svg { color: var(--text-muted) !important; }
}

/* 3) Панель фильтров — центрированная модалка, как .modal-dialog.
      Перебиваем правый drawer. Затемнение — через существующий
      #filterBackdrop (уже есть в разметке и управляется JS). */
.filter-fab-panel {
  position: fixed !important;
  top: 50% !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  transform: translate(-50%, -50%) !important;
  width: calc(100% - 40px) !important;
  max-width: 460px !important;
  max-height: calc(100dvh - 40px) !important;
  height: auto !important;
  z-index: 300 !important;
  background: #fff !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-lg, 22px) !important;
  box-shadow: 0 30px 80px rgba(20, 25, 60, 0.28) !important;
  padding: 22px !important;
  overflow-y: auto !important;
  animation: filterModalIn 320ms cubic-bezier(.22, 1, .36, 1) !important;
  transform-origin: center !important;
}
.filter-fab-panel[hidden] { display: none !important; }
@keyframes filterModalIn {
  from { opacity: 0; transform: translate(-50%, -50%) scale(0.96); }
  to   { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}
@media (prefers-reduced-motion: reduce) {
  .filter-fab-panel { animation: none !important; }
}

/* Backdrop — затемняем весь экран (как у модалки товара) */
.filter-backdrop {
  background: rgba(20, 25, 60, 0.45) !important;
  z-index: 299 !important;
}

/* На мобиле — почти на всю ширину */
@media (max-width: 680px) {
  .filter-fab-panel {
    width: calc(100% - 28px) !important;
    max-height: calc(100dvh - 28px) !important;
    padding: 18px !important;
  }
}

/* Feedback Quiz Block */
.feedback-quiz-block {
  background:
    radial-gradient(120% 200% at 0% 0%, rgba(42, 171, 238, 0.12), transparent 60%),
    radial-gradient(120% 200% at 100% 100%, rgba(124, 92, 255, 0.10), transparent 60%),
    linear-gradient(135deg, #ffffff, #f4f9ff);
  border: 1px solid rgba(42, 171, 238, 0.2);
  border-radius: var(--radius-lg);
  padding: 32px;
  margin-bottom: 24px;
  box-shadow: var(--shadow-sm);
  position: relative;
  overflow: hidden;
}
.feedback-quiz-block::before {
  content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%;
  background: radial-gradient(circle at top right, rgba(42,171,238,0.08), transparent 50%);
  pointer-events: none;
}
.fq-header, .fq-body, .fq-success { position: relative; z-index: 1; }
.fq-header h2 { font-size: 24px; margin-bottom: 12px; font-weight: 800; color: var(--text); line-height: 1.2; }
.fq-header p { font-size: 16px; color: var(--text-dim); margin-bottom: 16px; line-height: 1.5; }
.fq-subtext { font-size: 13px !important; color: var(--text-muted) !important; margin-bottom: 24px !important; }
.fq-btn { font-size: 16px; padding: 14px 28px; border-radius: var(--radius-md, 12px); }

.fq-progress { font-size: 13px; color: var(--text-muted); margin-bottom: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; }
.fq-question { font-size: 20px; font-weight: 700; color: var(--text); margin-bottom: 20px; line-height: 1.3; }
.fq-options { display: flex; flex-direction: column; gap: 10px; margin-bottom: 24px; }
.fq-option { 
  background: var(--surface-2); border: 1px solid var(--border-soft);
  padding: 14px 18px; border-radius: var(--radius-sm); color: var(--text);
  font-size: 15px; font-weight: 500; cursor: pointer; transition: 0.2s ease;
  display: flex; align-items: center; gap: 12px;
}
.fq-option:hover { background: var(--bg-soft); border-color: var(--border); }
.fq-option.selected { background: var(--primary-soft); border-color: var(--primary); }
.fq-radio { font-size: 18px; line-height: 1; color: var(--text-muted); }
.fq-option.selected .fq-radio { color: var(--primary); font-weight: bold; }
.fq-custom-option input { 
  width: 100%; padding: 14px 18px; background: var(--surface-2); 
  border: 1px solid var(--border-soft); border-radius: var(--radius-sm);
  color: var(--text); font-size: 15px; outline: none; margin-bottom: 24px;
}
.fq-custom-option input:focus { border-color: var(--primary); background: var(--surface); }
.fq-actions { display: flex; gap: 12px; align-items: center; justify-content: flex-end; }
.fq-actions .btn-ghost { border: 1px solid var(--border); color: var(--text); background: var(--surface); }
.fq-actions .btn-ghost:hover { background: var(--bg-soft); border-color: var(--border-strong); }

.fq-success h2 { font-size: 24px; color: var(--green); margin-bottom: 12px; font-weight: 800; }
.fq-success p { font-size: 16px; color: var(--text-dim); margin-bottom: 16px; }
.fq-code-box {
  background: var(--surface-2); border: 1.5px dashed var(--border-strong);
  padding: 16px; border-radius: var(--radius-sm); font-size: 24px;
  font-family: var(--font-mono); color: var(--text); text-align: center; font-weight: 800;
  margin-bottom: 16px; letter-spacing: 2px;
}
/* =========================================================
   NEW PRACTICAL CATALOG DESIGN 
   ========================================================= */

:root{
  --bg:#f5f6f8;
  --card:#ffffff;
  --ink:#111827;
  --text:#1f2937;
  --muted:#6b7280;
  --muted2:#9ca3af;
  --line:#e5e7eb;
  --line2:#d1d5db;
  --blue:#2563eb;
  --blue2:#1d4ed8;
  --green:#16a34a;
  --orange:#ea580c;
  --red:#dc2626;
  --radius:18px;
  --shadow:0 8px 24px rgba(17,24,39,.06);
}

body {
  color: var(--text);
}

.container{max-width:1180px;margin:0 auto;padding:0 18px}

.topbar{
  background:#111827;
  color:#fff;
  font-size:13px;
}
.topbar .container{
  min-height:38px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.topbar span{color:#d1d5db}
.topbar b{color:#fff}

header{
  position:sticky;
  top:0;
  z-index:30;
  background:rgba(245,246,248,.92);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.header-inner{
  min-height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.brand{
  display:flex;
  align-items:center;
  gap:11px;
  min-width:max-content;
}
.brand-mark{
  width:40px;
  height:40px;
  border-radius:12px;
  background:#111827;
  color:#fff;
  display:grid;
  place-items:center;
  font-weight:900;
  letter-spacing:-.04em;
}
.brand-name{
  display:flex;
  flex-direction:column;
  line-height:1.05;
}
.brand-name strong{
  font-size:22px;
  letter-spacing:-.04em;
}
.brand-name small{
  line-height: 1.3 !important;
  margin-top: 2px;
  color: #6b7280 !important;

  color:var(--muted);
  font-size:12px;
}
.header-nav{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.nav-link{
  padding:9px 11px;
  border-radius:10px;
  color:#4b5563;
  font-size:14px;
}
.nav-link:hover{background:#fff;color:#111827}
.tg-btn{
  border:0;
  background:#229ed9;
  color:#fff;
  border-radius:12px;
  padding:11px 14px;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(34,158,217,.2);
}

.hero{
  padding:28px 0 20px;
}
.hero-box{
  padding: 18px 24px;

  background:#fff;
  border:1px solid var(--line);
  border-radius:24px;
  box-shadow:var(--shadow);
  padding:24px;
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:22px;
  align-items:stretch;
}
.hero h1{
  font-size: clamp(26px, 4vw, 42px) !important;

  margin:0 0 12px;
  color:var(--ink);
  font-size:clamp(32px,4.8vw,56px);
  line-height:1.02;
  letter-spacing:-.06em;
}
.hero p{
  margin:0;
  max-width:630px;
  color:var(--muted);
  font-size:17px;
  line-height:1.55;
}
.search-panel {
  margin-top: 20px;
  display: flex;
  gap: 10px;
  background: #fff;
  border: 2px solid var(--blue);
  border-radius: 16px;
  padding: 6px;
}
.search-panel input{
  flex:1;
  border:0;
  background:transparent;
  outline:0;
  padding:12px;
  min-width:0;
  color:var(--ink);
  font-size: 16px;
}
.search-panel button {
  border: 0;
  background: var(--blue);
  color: #fff;
  border-radius: 11px;
  padding: 0 20px;
  font-weight: 700;
  cursor: pointer;
  font-size: 15px;
}
.quick-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}
.quick-tags span{
  background:#f3f4f6;
  border:1px solid var(--line);
  color:#374151;
  border-radius:999px;
  padding:8px 10px;
  font-size:13px;
  cursor:pointer;
}
.hero-side{
  border-radius:18px;
  background:#f9fafb;
  border:1px solid var(--line);
  padding:18px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:16px;
}
.route-title{
  font-weight:900;
  color:var(--ink);
  font-size:18px;
  letter-spacing:-.03em;
}
.steps{display:grid;gap:10px;margin-top:12px}
.step{
  display:grid;
  grid-template-columns:34px 1fr;
  gap:10px;
  align-items:start;
  padding:12px;
  border:1px solid var(--line);
  background:#fff;
  border-radius:14px;
}
.step-num{
  width:34px;height:34px;border-radius:10px;
  display:grid;place-items:center;
  color:#fff;background:#111827;font-weight:900;
  font-size:14px;
}
.step b{display:block;color:#111827;margin-bottom:2px;font-size:14px}
.step span{font-size:13px;color:var(--muted);line-height:1.35}
.notice{
  display:flex;
  gap:10px;
  align-items:flex-start;
  border-radius:14px;
  background:#fff7ed;
  border:1px solid #fed7aa;
  color:#9a3412;
  padding:12px;
  font-size:13px;
  line-height:1.4;
}

.section-head{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:16px;
  margin:26px 0 14px;
}
.section-head h2{
  margin:0;
  font-size:26px;
  letter-spacing:-.04em;
  color:#111827;
}
.section-head p{
  margin:4px 0 0;
  color:var(--muted);
  font-size:14px;
}






.category .count{
  float:right;
  background:#f3f4f6;
  border-radius:999px;
  padding:4px 7px;
  color:#4b5563;
  font-size:12px;
  margin-top:-3px;
}

.main-grid{
  display:grid;
  grid-template-columns:260px 1fr;
  gap:18px;
  align-items:start;
  margin-top:16px;
}
.filters{
  position:sticky;
  top:92px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:16px;
  box-shadow:var(--shadow);
}
.filters h3{
  margin:0 0 12px;
  color:#111827;
  font-size:18px;
  letter-spacing:-.03em;
}
.filter-group{border-top:1px solid var(--line);padding-top:14px;margin-top:14px}
.filter-group:first-of-type{border-top:0;padding-top:0;margin-top:0}
.filter-title{font-weight:800;font-size:13px;margin-bottom:9px;color:#374151}
.check{
  display:flex;
  align-items:center;
  gap:8px;
  margin:8px 0;
  color:#4b5563;
  font-size:14px;
  cursor:pointer;
}
.check input{accent-color:#111827}
.filter-note{
  margin-top:14px;
  background:#f3f4f6;
  border:1px solid var(--line);
  border-radius:12px;
  padding:12px;
  font-size:13px;
  color:var(--muted);
  line-height:1.4;
}

.catalog-toolbar{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:12px;
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  margin-bottom:12px;
}
.catalog-toolbar span{color:var(--muted);font-size:14px}
.sort{
  border:1px solid var(--line2);
  border-radius:10px;
  background:#fff;
  padding:9px;
  color:#374151;
}

.products{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}
.product {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 14px;
  min-height: 214px;
  box-shadow: 0 6px 18px rgba(17,24,39,.04);
  overflow: hidden;
  cursor: pointer;
  outline: none;
  display: flex;
  flex-direction: column;
}
.product:hover{
  border-color:#c7d2fe;
  box-shadow:0 14px 34px rgba(17,24,39,.08);
  transform:translateY(-1px);
}
.product-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  position:relative;
  z-index:2;
}
.product-logo {
  width: 44px; height: 44px;
  border-radius: 12px;
  background: #f3f4f6;
  border: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 4px;
}
.product-logo--dark {
  background: #1f2937;
  border-color: #374151;
}
.product-logo svg, .product-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.logo svg, .logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.product-pill{
  font-size:12px;
  color:#4b5563;
  background:#f9fafb;
  border:1px solid var(--line);
  border-radius:999px;
  padding:6px 8px;
}
.product h3 {
  margin: 20px 0 6px;
  color: #111827;
  font-size: 18px;
  letter-spacing: -.035em;
  line-height: 1.18;
  position: relative;
  z-index: 2;
}
.product-desc{
  color:var(--muted);
  font-size:13px;
  line-height:1.35;
  margin:0;
  position:relative;
  z-index:2;
  max-width:90%;
}
.product-meta{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin-top:12px;
  position:relative;
  z-index:2;
}
.meta{
  font-size:12px;
  color:#4b5563;
  background:#f3f4f6;
  border-radius:999px;
  padding:6px 8px;
}
.product-bottom {
  margin-top: auto;
  padding-top: 14px;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 10px;
  z-index: 2;
}
.price-label{font-size:12px;color:var(--muted);display:block}
.price{font-size:22px;color:#111827;font-weight:950;letter-spacing:-.04em}
.order-btn{
  border:0;
  width:42px;height:42px;
  border-radius:12px;
  background:#111827;
  color:#fff;
  font-weight:900;
  cursor:pointer;
  pointer-events: none; /* decorative */
}


.trust{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-top:22px;
}
.trust-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:18px;
  box-shadow:0 6px 18px rgba(17,24,39,.04);
}
.trust-card b{display:block;color:#111827;margin-bottom:6px}
.trust-card span{color:var(--muted);font-size:14px;line-height:1.45}

.faq{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:14px;
}
.faq-item{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:18px;
}
.faq-item b{display:block;margin-bottom:8px;color:#111827}
.faq-item p{margin:0;color:var(--muted);font-size:14px;line-height:1.5}



@media(max-width:980px){
  .hero-box{grid-template-columns:1fr}
  .main-grid{grid-template-columns:1fr}
  .filters{position:static}
  .products{grid-template-columns:repeat(2,1fr)}
  
}
@media(max-width:680px){
  .header-inner{align-items:flex-start;flex-direction:column;padding:14px 0}
  .header-nav{width:100%}
  .tg-btn{width:100%}
  .search-panel{flex-direction:column}
  .search-panel button{height:46px}
  .products{grid-template-columns:1fr}
  
  .trust,.faq{grid-template-columns:1fr}
  .topbar .container{align-items:flex-start;flex-direction:column;padding:10px 18px}
}


.container { max-width: 1180px; margin: 0 auto; padding: 0 18px; }
.hero { display: block !important; padding: 28px 0 20px !important; }
.hero-box { max-width: 100%; }
.guarantee, .reviews, #faq-new { display: none !important; } /* Hide old/demo sections */
#faq { display: block !important; margin-top: 40px; margin-bottom: 40px; }
.float-tg {
  position: fixed;
  right: 20px !important;
  bottom: 20px !important;
  z-index: 1000;
  display: flex !important;
}
.faq-item {
  padding: 14px 18px !important;
}

.search-panel input {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;

  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 8px 12px !important;
}
.search-panel:focus-within {
  box-shadow: 0 0 0 3px rgba(34, 158, 217, 0.15) !important;
}
.search-panel {
  transition: box-shadow 0.2s ease !important;
}

/* Adjust spacings */
.hero { padding: 12px 0 16px !important; }
#catalog { margin-top: 10px !important; }
#faq { margin-top: 24px !important; margin-bottom: 24px !important; }


/* Topbar advantages */
.topbar-advantages {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
  font-size: 13px;
}
@media(max-width: 680px) {
  .topbar-advantages .desktop-only { display: none; }
  .topbar-advantages { gap: 10px; }
}

/* Hero advantages */
.hero-advantages {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 18px;
  font-size: 14.5px;
  color: var(--ink);
}
.hero-advantages span {
  display: flex;
  align-items: center;
}
.hero-advantages svg {
  color: var(--blue);
}

/* Trust block */
.trust-block {
  margin-top: 40px;
}
.trust-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.trust-card-new {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 20px;
}
.trust-icon-new {
  width: 44px; height: 44px;
  background: #f0f7ff;
  border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 14px;
}
.trust-card-new b {
  display: block;
  font-size: 16px;
  margin-bottom: 6px;
  color: #111827;
}
.trust-card-new p {
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  color: var(--muted);
}
@media(max-width: 680px) {
  .trust-grid { grid-template-columns: 1fr; }
}

/* Footer redesign */
.site-
.
.
.

/* Sticky CTA overrides */
.sticky-cta {
  right: 20px !important;
  bottom: 20px !important;
  z-index: 1000 !important;
}
@media (max-width: 680px) {
  .sticky-cta {
    right: 12px !important;
    bottom: 12px !important;
  }
}

/* Card overrides */
.product h3 {
  font-weight: 800 !important;
  font-size: 18px !important;
}
.product .price {
  color: var(--blue) !important;
}
.product-desc {
  color: #4b5563 !important;
}
.product-logo {
  height: 48px !important;
  width: 48px !important;
}
.product:hover {
  transform: translateY(-2px) !important;
  border-color: var(--blue) !important;
}
.order-btn {
  background: var(--blue) !important;
}

/* FAQ overrides */
.faq-item {
  border-color: var(--line) !important;
}
.faq-item[open] {
  border-color: var(--blue) !important;
  box-shadow: 0 4px 12px rgba(34,158,217, 0.08) !important;
}
.faq-plus {
  background: transparent !important;
  border: none !important;
  color: #9ca3af !important;
  font-size: 24px !important;
  font-weight: 300 !important;
  transform: none !important;
}
.faq-plus::after {
  content: '+';
}
.faq-item[open] .faq-plus::after {
  content: '−';
}
.faq-item[open] .faq-plus {
  color: var(--blue) !important;
}
.faq-item summary {
  padding: 14px 0 !important;
  font-weight: 600 !important;
}

/* Body font size */
body { font-size: 15px; }


.search-panel {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: #fff;
  padding: 4px;
}
.search-panel:focus-within {
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(34,158,217,0.15);
}
.header-search button {
  border-radius: calc(var(--radius) - 4px);
  margin-left: 4px;
}

.product-logo {
  border-radius: 12px;
  overflow: hidden;
  background: transparent;
}
.product-logo--light { background: #fbfaf7 !important; }
.product-logo--dark { background: #1f2937 !important; }

.product {
  background: #ffffff !important;
  border: 1px solid #dfe4ec !important;
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.05) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  height: 100% !important;
}
.product:hover {
  border-color: #9dbcfb !important;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.10) !important;
  transform: translateY(-2px) !important;
}
.product-top {
  display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 12px; width: 100%;
}
.product-bottom {
  display: flex; align-items: flex-end; justify-content: space-between; margin-top: auto; padding-top: 16px; width: 100%;
}

.btn-primary, .order-btn, .sticky-cta {
  background: #229ed9 !important;
  background-image: none !important;
}
.sticky-cta {
  padding: 10px 16px !important;
  border-radius: 20px !important;
  box-shadow: 0 4px 12px rgba(34, 158, 217, 0.3) !important;
}

.trust-block { display: block !important; }
.trust-card-new { display: block !important; }

.faq-item[open] {
  border-color: rgba(34,158,217,0.3) !important;
}
.faq-item:not([open]) {
  border-color: #dfe4ec !important;
}
