:root,
[data-theme="dark"] {
  /* ── Backgrounds ─── */
  --tnx-bg:          #0F1117;
  --tnx-bg-alt:      #1A1D27;
  --tnx-bg-card:     #252836;
  /* ── Text ─── */
  --tnx-text:        #E8ECF4;
  --tnx-text-muted:  #8B93A7;
  /* ── Borders & glass effects ─── */
  --tnx-border:      rgba(255,255,255,.07);
  --tnx-border-xs:   rgba(255,255,255,.04);
  --tnx-border-sm:   rgba(255,255,255,.08);
  --tnx-glass:       rgba(255,255,255,.06);
  --tnx-glass-sm:    rgba(255,255,255,.05);
  --tnx-glass-hover: rgba(255,255,255,.09);
}

[data-theme="light"] {
  /* ── Backgrounds ─── */
  --tnx-bg:          #F5F3FF;
  --tnx-bg-alt:      #EDE9F8;
  --tnx-bg-card:     #FFFFFF;
  /* ── Text ─── */
  --tnx-text:        #1A1630;
  --tnx-text-muted:  #6B6890;
  /* ── Borders & glass effects ─── */
  --tnx-border:      rgba(100,80,200,.12);
  --tnx-border-xs:   rgba(100,80,200,.06);
  --tnx-border-sm:   rgba(100,80,200,.1);
  --tnx-glass:       rgba(100,80,200,.05);
  --tnx-glass-sm:    rgba(100,80,200,.04);
  --tnx-glass-hover: rgba(100,80,200,.09);
}

/* ═══════════════════════════════════════════════
   MAIN STYLES
   ═══════════════════════════════════════════════ */
/* ─── RESET ─── */
.tnx-wrap *, .tnx-wrap *::before, .tnx-wrap *::after { box-sizing: border-box; margin: 0; padding: 0; }
.tnx-wrap {
  font-family: 'Inter', Arial, sans-serif;
  background: var(--tnx-bg);
  color: var(--tnx-text);
  line-height: 1.6;
  overflow: hidden;
  width: 100%;
  padding-top: 62px; /* высота фиксированного nav */
}
.tnx-container { max-width: 1140px; margin: 0 auto; padding: 0 24px; }
.tnx-section { padding: 50px 0; }
.tnx-section-alt { background: var(--tnx-bg-alt); }
/* Разделитель между соседними секциями одного фона */
.tnx-section-alt + .tnx-section-alt {
  border-top: 1px solid var(--tnx-border);
}
.tnx-section:not(.tnx-section-alt) + .tnx-section:not(.tnx-section-alt) {
  border-top: 1px solid var(--tnx-border-xs);
}

/* ─── SECTION HEADERS ─── */
.tnx-tag {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 12px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 1.5px; color: #FF6B00; margin-bottom: 14px;
}
.tnx-tag-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: #FF6B00; flex-shrink: 0; display: inline-block;
  animation: tnx-blink 1.8s ease-in-out infinite;
}
@keyframes tnx-blink { 0%,100%{opacity:1} 50%{opacity:.2} }
.tnx-h2 {
  font-size: clamp(28px, 4vw, 46px);
  font-weight: 900; line-height: 1.1;
  letter-spacing: -.5px; margin-bottom: 16px;
}
.tnx-h2 b { background: linear-gradient(135deg,#FF6B00,#FF9F40); -webkit-background-clip:text; -webkit-text-fill-color:transparent; font-weight: 900; }
.tnx-lead { font-size: 17px; color: var(--tnx-text-muted); line-height: 1.7; max-width: 580px; }
.tnx-center { text-align: center; }
.tnx-center .tnx-lead { margin: 0 auto; }
.tnx-section-head { margin-bottom: 56px; }

/* ─── BUTTONS ─── */
.tnx-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 16px 32px; border-radius: 14px;
  font-family: 'Inter', Arial, sans-serif;
  font-size: 16px; font-weight: 700; text-decoration: none;
  cursor: pointer; border: none; transition: all .25s;
}
.tnx-btn-primary {
  background: linear-gradient(135deg,#FF6B00,#FF9F40);
  color: #fff; box-shadow: 0 8px 28px rgba(255,107,0,.42);
}
.tnx-btn-primary:hover { transform: translateY(-2px); box-shadow: 0 12px 36px rgba(255,107,0,.55); }
.tnx-btn-ghost {
  background: var(--tnx-glass-sm);
  border: 1px solid rgba(255,255,255,.1);
  color: var(--tnx-text);
}
.tnx-btn-ghost:hover { background: var(--tnx-glass-hover); }

/* ─── SVG ICONS ─── */
.tnx-app-ico svg { width: 26px; height: 26px; display: block; }
.tnx-feat-ico svg { width: 26px; height: 26px; display: block; }

/* ═════ NAV ═════ */
.tnx-nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 9999;
  background: rgba(15,17,23,.95);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-bottom: 1px solid var(--tnx-border);
  padding: 0 24px;
}
.tnx-nav-inner {
  max-width: 1140px; margin: 0 auto;
  display: flex; align-items: center;
  justify-content: space-between;
  min-height: 62px; padding: 8px 0; gap: 16px;
}
.tnx-nav-logo {
  display: flex; align-items: center; gap: 9px;
  font-size: 18px; font-weight: 900; color: var(--tnx-text);
  text-decoration: none; flex-shrink: 0;
}
.tnx-nav-logo-img {
  height: 50px; width: auto; display: block;
  object-fit: contain;
}
.tnx-nav-links { display: flex; align-items: center; gap: 24px; }
.tnx-nav-links a {
  color: var(--tnx-text-muted); text-decoration: none;
  font-size: 14px; font-weight: 500;
  transition: color .2s;
}
.tnx-nav-links a:hover { color: var(--tnx-text); }
.tnx-nav-cta {
  background: linear-gradient(135deg,#FF6B00,#FF9F40);
  color: #fff; padding: 9px 20px;
  border-radius: 10px; font-size: 14px; font-weight: 700;
  text-decoration: none; white-space: nowrap;
  transition: opacity .2s, transform .2s;
  flex-shrink: 0;
}
.tnx-nav-cta:hover { opacity: .9; transform: translateY(-1px); }
/* ── Бургер-кнопка ── */
.tnx-burger {
  display: none; flex-direction: column; justify-content: center; gap: 5px;
  width: 38px; height: 38px; padding: 7px; border-radius: 10px;
  background: var(--tnx-glass-sm); border: 1px solid var(--tnx-glass-hover);
  cursor: pointer; transition: background .2s; flex-shrink: 0;
}
.tnx-burger:hover { background: var(--tnx-glass-hover); }
.tnx-burger span {
  display: block; height: 2px; border-radius: 2px;
  background: var(--tnx-text-muted); transition: transform .3s, opacity .3s, width .3s;
  transform-origin: center;
}
.tnx-burger span:nth-child(1) { width: 18px; }
.tnx-burger span:nth-child(2) { width: 14px; }
.tnx-burger span:nth-child(3) { width: 18px; }
.tnx-burger.tnx-burger-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); width: 18px; background: var(--tnx-text); }
.tnx-burger.tnx-burger-open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.tnx-burger.tnx-burger-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); width: 18px; background: var(--tnx-text); }

/* ── Десктоп: ≥1024px — горизонтальное меню ── */
@media (min-width: 1024px) {
  .tnx-nav-links { gap: 18px; align-items: center; }
  .tnx-nav-links a { white-space: nowrap; }
}

/* ── Планшет + мобильный: ≤1023px — бургер-меню ── */
@media (max-width: 1023px) {
  .tnx-burger { display: flex; order: -1; }    /* бургер — крайний левый */
  .tnx-nav-inner { position: relative; justify-content: space-between; gap: 0; padding: 0; }
  .tnx-nav-logo {                              /* логотип — абсолютный центр */
    position: absolute; left: 50%; transform: translateX(-50%);
    margin-right: 0;
  }
  .tnx-nav-logo-img { height: 38px; }
  .tnx-nav-cta { display: none; }              /* CTA скрываем — остаётся только корзина */
  .tnx-nav-links {
    display: none; flex-direction: column; align-items: flex-start; gap: 0;
    position: fixed; top: 62px; left: 0; right: 0; z-index: 998;
    background: rgba(10,11,17,.97); backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-bottom: 1px solid var(--tnx-glass-hover);
    padding: 8px 0 12px;
  }
  .tnx-nav-links.tnx-nav-open { display: flex; }
  .tnx-nav-links a {
    width: 100%; padding: 13px 24px; font-size: 15px;
    border-bottom: 1px solid var(--tnx-border-xs);
    max-width: none; white-space: normal;
  }
  .tnx-nav-links a:last-child { border-bottom: none; }
}

/* ── Мобильный: ≤700px — логотип чуть меньше ── */
@media (max-width: 700px) {
  .tnx-nav-logo-img { height: 34px; }
}

/* ── Cart nav icon (дублировано из cart.css для надёжности) ── */
.tnx-nav-cart {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: rgba(255,107,0,.12);
  border: 1.5px solid rgba(255,107,0,.45);
  color: #FF6B00;
  text-decoration: none;
  transition: transform .2s, box-shadow .2s, background .2s, border-color .2s;
  flex-shrink: 0;
}
.tnx-nav-cart:hover {
  background: rgba(255,107,0,.22);
  border-color: rgba(255,107,0,.8);
  box-shadow: 0 0 14px rgba(255,107,0,.28);
  transform: scale(1.07);
  color: #FF8C00;
}
.tnx-nav-cart:active { transform: scale(.96); }
.tnx-nav-cart svg { width: 22px; height: 22px; display: block; }
.tnx-cart-count {
  position: absolute;
  top: -6px; right: -6px;
  min-width: 18px; height: 18px;
  border-radius: 9px;
  background: #FF6B00;
  color: #fff;
  font-size: 10px; font-weight: 800;
  line-height: 18px; text-align: center;
  padding: 0 4px;
  box-shadow: 0 2px 6px rgba(255,107,0,.45);
  display: none;
}
.tnx-cart-count--visible,
.tnx-cart-count:not(:empty) {
  display: block;
  animation: tnx-cart-pop .3s cubic-bezier(.34,1.56,.64,1);
}
@keyframes tnx-cart-pop {
  from { transform: scale(0); opacity: 0; }
  to   { transform: scale(1); opacity: 1; }
}

/* ══ ДЕМО: вариант 1 — Pill с текстом ══ */
.tnx-nav-cart--pill {
  width: auto;
  padding: 0 14px 0 10px;
  gap: 7px;
  border-radius: 22px;
  background: var(--tnx-glass);
  border: 1.5px solid rgba(255,255,255,.13);
  color: #C8D0E0;
}
.tnx-nav-cart--pill:hover {
  background: rgba(255,255,255,.11);
  border-color: rgba(255,255,255,.25);
  box-shadow: none;
  transform: none;
  color: #fff;
}
.tnx-nav-cart--pill .tnx-cart-pill-label {
  font-size: 13px; font-weight: 600;
  white-space: nowrap;
  letter-spacing: -.01em;
}
.tnx-nav-cart--pill .tnx-cart-count {
  position: static;
  display: inline-block;
  transform: none;
  animation: none;
  background: #FF6B00;
  color: #fff;
  font-size: 10px; font-weight: 800;
  min-width: 18px; height: 18px;
  line-height: 18px; border-radius: 9px;
  text-align: center; padding: 0 5px;
  box-shadow: none;
}
.tnx-nav-cart--pill .tnx-cart-count:empty { display: none; }

/* ══ ДЕМО: вариант 2 — Иконка с пульсирующей точкой ══ */
.tnx-nav-cart--dot {
  background: transparent;
  border: none;
  color: #A0A8BC;
  width: 38px; height: 38px;
}
.tnx-nav-cart--dot:hover {
  background: var(--tnx-glass);
  border: none;
  box-shadow: none;
  transform: none;
  color: #fff;
}
.tnx-nav-cart--dot .tnx-cart-count {
  display: none !important;
}
.tnx-cart-dot {
  display: block;
  position: absolute;
  top: 5px; right: 5px;
  width: 8px; height: 8px;
  border-radius: 50%;
  background: #FF6B00;
  box-shadow: 0 0 0 0 rgba(255,107,0,.5);
  animation: tnx-dot-pulse 2s ease-in-out infinite;
}
@keyframes tnx-dot-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(255,107,0,.55); }
  60%  { box-shadow: 0 0 0 6px rgba(255,107,0,0); }
  100% { box-shadow: 0 0 0 0 rgba(255,107,0,0); }
}
/* скрываем точку если корзина пуста */
.tnx-cart-dot--hidden { display: none; }

/* ══ ДЕМО: вариант 3 — Тёмный градиент + число внутри ══ */
.tnx-nav-cart--gradient {
  background: linear-gradient(135deg, #2D1F6E 0%, #1E3A5F 100%);
  border: 1.5px solid rgba(139,92,246,.35);
  box-shadow: 0 4px 14px rgba(30,15,80,.5);
  color: #C4B5FD;
}
.tnx-nav-cart--gradient:hover {
  background: linear-gradient(135deg, #3B2888 0%, #1E4A75 100%);
  border-color: rgba(139,92,246,.65);
  box-shadow: 0 6px 20px rgba(30,15,80,.65);
  transform: scale(1.07);
  color: #DDD6FE;
}
.tnx-nav-cart--gradient .tnx-cart-count {
  background: #8B5CF6;
  color: #fff;
  box-shadow: 0 2px 6px rgba(139,92,246,.5);
}

/* ── button.tnx-btn reset ── */
button.tnx-btn {
  -webkit-appearance: none;
  appearance: none;
  font-family: 'Inter', Arial, sans-serif;
  line-height: 1;
}

/* ════ HERO ════ */
.tnx-hero {
  padding: 40px 0 60px;
  background: var(--tnx-bg);
  position: relative; overflow: hidden;
}
.tnx-hero-glow-a {
  position: absolute; top: -100px; right: -100px;
  width: 500px; height: 500px; border-radius: 50%;
  background: radial-gradient(circle, rgba(255,107,0,.14) 0%, transparent 65%);
  pointer-events: none;
}
.tnx-hero-glow-b {
  position: absolute; bottom: -120px; left: -80px;
  width: 400px; height: 400px; border-radius: 50%;
  background: radial-gradient(circle, rgba(0,194,255,.07) 0%, transparent 65%);
  pointer-events: none;
}
.tnx-hero-grid-bg {
  position: absolute; inset: 0;
  background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
                    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 56px 56px; pointer-events: none;
}
.tnx-hero-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto;
  gap: 0 48px;
  position: relative; z-index: 1;
}
/* Десктоп: text-top и text-bot — левая колонка; img — правая, обе строки */
.tnx-hero-text-top { grid-column: 1; grid-row: 1; align-self: end; }
.tnx-hero-img-col  { grid-column: 2; grid-row: 1 / 3; align-self: center; }
.tnx-hero-text-bot { grid-column: 1; grid-row: 2; align-self: start; }
/* Ряд trust-бейджей */
.tnx-hero-badges {
  display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 22px;
}
/* Серебряный бейдж «Официальный представитель» с переливом */
.tnx-hero-badge {
  display: inline-flex; align-items: center; gap: 7px;
  position: relative; overflow: hidden;
  padding: 7px 16px; border-radius: 100px;
  font-size: 13px; font-weight: 700;
  border: 1px solid rgba(192,200,220,.38);
  box-shadow: 0 0 14px rgba(180,195,220,.1), inset 0 1px 0 rgba(255,255,255,.12);
  /* Серебряный градиент текста: светло-серый → белый → платиновый */
  background: linear-gradient(120deg, #B0BCD4 0%, #E8EDF5 35%, #8C97AD 65%, #D4DBE8 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
/* Фон бейджа через ::before */
.tnx-hero-badge::before {
  content: '';
  position: absolute; inset: 0; border-radius: 100px; z-index: -1;
  background: linear-gradient(135deg, rgba(200,210,230,.12) 0%, rgba(140,155,180,.07) 50%, rgba(210,220,235,.11) 100%);
}
/* Shimmer — серебряный блик */
.tnx-hero-badge::after {
  content: '';
  position: absolute; top: -60%; left: -80%; width: 45%; height: 220%;
  background: linear-gradient(110deg, transparent 30%, rgba(255,255,255,.2) 50%, transparent 70%);
  animation: tnx-shimmer 3.4s ease-in-out infinite;
  pointer-events: none;
}
@keyframes tnx-shimmer {
  0%   { left: -80%; }
  55%, 100% { left: 180%; }
}
.tnx-hero-badge svg { width: 14px; height: 14px; flex-shrink: 0; }
/* Заметка «Оплата при получении» под кнопкой */
.tnx-btn-note {
  display: inline-flex; align-items: center; gap: 6px;
  margin-top: 14px;
  font-size: 13px; font-weight: 600; color: #22C55E;
  opacity: .9;
}
.tnx-btn-note svg { width: 15px; height: 15px; flex-shrink: 0; }
/* Рейтинговый оверлей на картинке */
.tnx-img-rating {
  position: absolute; bottom: 18px; right: 18px; z-index: 4;
  display: flex; align-items: center; gap: 7px;
  background: rgba(10,11,17,.82);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255,107,0,.35);
  border-radius: 12px; padding: 8px 14px;
  font-size: 12px; font-weight: 700; color: var(--tnx-text);
  white-space: nowrap; pointer-events: none;
}
.tnx-img-rating svg { width: 16px; height: 16px; flex-shrink: 0; }
.tnx-hero-headline {
  font-size: clamp(34px, 5vw, 56px); font-weight: 900;
  line-height: 1.1; letter-spacing: -1px; margin-bottom: 20px;
}

/* ── Обёртка с фиксированной высотой — контент снаружи не прыгает ── */
/* height:3.6em = 3 строки (3×1.1) + запас: покрывает перенос слов   */
.tnx-tw-stage { display:block; height:3.6em; overflow:hidden; position:relative; }
.tnx-hero-headline b { background: linear-gradient(135deg,#FF6B00,#FF9F40); -webkit-background-clip:text; -webkit-text-fill-color:transparent; font-weight: 900; display:block; animation:tnx-tw-in .62s cubic-bezier(.22,1,.36,1) both; }
.tnx-hero-headline b.tnx-tw-exit { animation:tnx-tw-out .38s cubic-bezier(.55,0,1,.45) both; }
/* ── Hero Typewriter keyframes ──────────────────────────────────── */
/* translateY уменьшен до 8px — умещается в запас, overflow не срезает */
@keyframes tnx-tw-in  { from{ opacity:0; transform:translateY(8px);  filter:blur(7px); } to{ opacity:1; transform:translateY(0); filter:blur(0); } }
@keyframes tnx-tw-out { from{ opacity:1; transform:translateY(0);    filter:blur(0);   } to{ opacity:0; transform:translateY(-8px);  filter:blur(6px); } }
.tnx-hero-h1   { font-size: 17px; font-weight: 400; color: var(--tnx-text-muted); line-height: 1.7; margin-bottom: 0;   max-width: 460px; }
.tnx-hero-desc { font-size: 17px; font-weight: 400; color: var(--tnx-text-muted); line-height: 1.7; margin-bottom: 36px; max-width: 460px; }
.tnx-hero-btns { display: flex; gap: 12px; flex-wrap: wrap; }
.tnx-hero-stats {
  display: flex; gap: 28px; margin-top: 44px;
  padding-top: 28px; border-top: 1px solid var(--tnx-border-sm);
}
.tnx-stat-num { font-size: 26px; font-weight: 900; color: #FF6B00; }
.tnx-stat-lbl { font-size: 13px; color: var(--tnx-text-muted); margin-top: 2px; }

/* Product image card */
.tnx-hero-img-col {}
.tnx-hero-img-wrap {
  position: relative;
  background: radial-gradient(ellipse 80% 65% at 50% 70%, rgba(255,107,0,.15) 0%, rgba(15,17,23,0) 65%), var(--tnx-bg-card);
  border-radius: 28px;
  padding: 0 16px 20px;
  border: 1px solid rgba(255,107,0,.18);
  display: flex; align-items: flex-end; justify-content: center;
  min-height: 280px;
  overflow: visible; /* ключевое — позволяет картинке вылезать */
  margin-top: 48px; /* компенсируем выезд вверх */
}
.tnx-hero-img-wrap::before {
  content: ''; position: absolute; bottom: 12px; left: 10%; right: 10%; height: 36px;
  background: radial-gradient(ellipse, rgba(255,107,0,.35) 0%, transparent 70%);
  filter: blur(12px); z-index: 0;
}
.tnx-hero-img-wrap::after {
  content: ''; position: absolute;
  top: -1px; left: -1px; right: -1px; bottom: -1px; border-radius: 28px;
  border: 1px solid transparent;
  background: linear-gradient(135deg,rgba(255,107,0,.4),transparent 50%,rgba(0,194,255,.18)) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: destination-out; mask-composite: exclude;
  pointer-events: none;
}
.tnx-device-img {
  max-width: 700px; width: 110%; height: auto;
  position: relative; z-index: 2;
  margin-top: -150px; /* вылезает вверх за границу карточки */
  filter: drop-shadow(0 -6px 24px rgba(255,107,0,.18))
          drop-shadow(0 20px 40px rgba(0,0,0,.7))
          drop-shadow(0 4px 16px rgba(255,107,0,.25));
  animation: tnx-float 4s ease-in-out infinite;
}
@keyframes tnx-float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-12px)} }

/* ═════ FIRMWARE ═════ */
.tnx-fw-wrap {
  display: grid; grid-template-columns: 1fr 1fr; gap: 36px; align-items: start;
}
.tnx-fw-card {
  background: linear-gradient(135deg,var(--tnx-bg),var(--tnx-bg-alt));
  border: 1px solid rgba(255,107,0,.3); border-radius: 24px; padding: 34px;
  position: relative; overflow: hidden;
}
.tnx-fw-card::before {
  content:''; position:absolute; top:-70px; right:-70px;
  width:240px; height:240px; border-radius:50%;
  background:radial-gradient(circle,rgba(255,107,0,.14) 0%,transparent 70%);
}
.tnx-fw-logo {
  display: inline-flex; align-items: center; gap: 11px;
  background: rgba(255,107,0,.1); border: 1px solid rgba(255,107,0,.28);
  border-radius: 12px; padding: 10px 16px; margin-bottom: 20px;
  position: relative; z-index: 1;
}
.tnx-fw-logo-icon {
  width: 34px; height: 34px;
  background: linear-gradient(135deg,#FF6B00,#FF9F40);
  border-radius: 8px; display:flex; align-items:center; justify-content:center;
  color: #fff; font-size: 14px; font-weight: 900;
}
.tnx-fw-logo-name { font-size:17px; font-weight:800; color: var(--tnx-text); }
.tnx-fw-logo-name span { color:#FF6B00; }
.tnx-fw-card h3 { font-size:20px; font-weight:800; margin-bottom:10px; position:relative; z-index:1; line-height:1.3; }
.tnx-fw-card p { font-size:14px; color:var(--tnx-text-muted); line-height:1.7; margin-bottom:22px; position:relative; z-index:1; }
.tnx-pills { display:flex; flex-wrap:wrap; gap:8px; position:relative; z-index:1; }

/* Витрина интерфейса — по центру между заголовком и колонками */
.tnx-fw-screen {
  margin: 40px auto 52px;
  max-width: 600px;
  position: relative;
  text-align: center;
}
/* Ambient glow — убрать ::after чтобы не давал тёмный фон под прозрачными пикселями PNG */
.tnx-fw-screen-img {
  position: relative; z-index: 1;
  width: 100%; display: block;
  /* drop-shadow следует форме PNG, не прямоугольнику — нет чёрных пятен */
  filter:
    drop-shadow(0 0 28px rgba(255,107,0,.45))
    drop-shadow(0 0 56px rgba(255,107,0,.22))
    drop-shadow(0 18px 36px rgba(0,0,0,.45));
  transition: filter .45s ease, transform .45s ease;
}
.tnx-fw-screen-img:hover {
  transform: scale(1.012) translateY(-3px);
  filter:
    drop-shadow(0 0 40px rgba(255,107,0,.6))
    drop-shadow(0 0 80px rgba(255,107,0,.3))
    drop-shadow(0 22px 44px rgba(0,0,0,.5));
}
.tnx-fw-screen-caption {
  position: relative; z-index: 1;
  margin-top: 16px;
  font-size: 13px; color: var(--tnx-text-muted);
}
.tnx-fw-screen-caption strong { color: #FF9F40; font-weight: 700; }

.tnx-pill {
  display:inline-flex; align-items:center; gap:6px;
  background:var(--tnx-glass); border:1px solid var(--tnx-glass-hover);
  border-radius:100px; padding:5px 13px; font-size:12px; font-weight:600; color:var(--tnx-text);
}
.tnx-pill-dot { width:6px; height:6px; border-radius:50%; background:#FF6B00; flex-shrink:0; display:inline-block; }

.tnx-apps { display:flex; flex-direction:column; gap:14px; }
.tnx-app-card {
  background:var(--tnx-bg); border:1px solid var(--tnx-border);
  border-radius:16px; padding:18px 20px;
  display:flex; align-items:center; gap:14px; transition:all .3s;
}
.tnx-app-card:hover { border-color:rgba(255,107,0,.3); transform:translateX(3px); }
.tnx-app-ico {
  width:48px; height:48px; border-radius:14px;
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0; color: #fff;
  font-size: 13px; font-weight: 900;
}
.tnx-ico-ru  { background:linear-gradient(135deg,#1565C0,#1E88E5); }
.tnx-ico-gp  { background:linear-gradient(135deg,#0D7377,#14A085); }
.tnx-ico-apk { background:linear-gradient(135deg,#6A1B9A,#9C27B0); }
.tnx-ico-pre { background:linear-gradient(135deg,#E65100,#FF6D00); }
.tnx-ico-tv  { background:linear-gradient(135deg,#006064,#00ACC1); } /* ТВ-каналы */
.tnx-ico-film{ background:linear-gradient(135deg,#4A148C,#7B1FA2); } /* Фильмы */
.tnx-app-card h4 { font-size:14px; font-weight:700; margin-bottom:3px; }
.tnx-app-card p { font-size:12px; color:var(--tnx-text-muted); line-height:1.5; }
.tnx-app-badge {
  margin-left:auto; flex-shrink:0;
  background:rgba(34,197,94,.12); border:1px solid rgba(34,197,94,.25);
  color:#22C55E; font-size:11px; font-weight:700; padding:4px 10px; border-radius:100px;
}

/* ═════ INTERFACE SHOWCASE ═════ */
.tnx-iface-wrap {
  margin-top: 64px; text-align: center; position: relative;
}
.tnx-iface-caption {
  margin-bottom: 28px;
}
.tnx-iface-caption .tnx-tag { justify-content: center; }
.tnx-iface-frame {
  position: relative; display: inline-block; max-width: 900px; width: 100%;
}
/* Ambient glow behind screen */
.tnx-iface-frame::before {
  content: ''; position: absolute;
  inset: 10% 5% -4% 5%;
  background: radial-gradient(ellipse 80% 70% at 50% 90%, rgba(255,107,0,.22) 0%, rgba(0,180,255,.1) 50%, transparent 75%);
  filter: blur(28px); z-index: 0; border-radius: 50%;
}
.tnx-iface-img {
  position: relative; z-index: 1;
  width: 100%; display: block; border-radius: 16px;
  box-shadow:
    0 0 0 1px var(--tnx-glass),
    0 2px 0 1px rgba(255,107,0,.18),
    0 24px 64px rgba(0,0,0,.65),
    0 0 60px rgba(255,107,0,.1);
  transition: transform .5s ease, box-shadow .5s ease;
}
.tnx-iface-img:hover {
  transform: scale(1.015);
  box-shadow:
    0 0 0 1px var(--tnx-border-sm),
    0 2px 0 1px rgba(255,107,0,.28),
    0 32px 80px rgba(0,0,0,.7),
    0 0 80px rgba(255,107,0,.18);
}
.tnx-iface-sub {
  margin-top: 18px; font-size: 13px; color: var(--tnx-text-muted); line-height: 1.6;
}
.tnx-iface-sub strong { color: #FF9F40; }

/* ═════ APPS CAROUSEL ═════ */
.tnx-carousel-outer {
  position: relative;
  margin: 0 -8px;
}
.tnx-carousel-track {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  /* scroll-snap-type включается через JS только при ручном управлении */
  -webkit-overflow-scrolling: touch;
  padding: 12px 8px 28px;
  scrollbar-width: none;
}
.tnx-carousel-track::-webkit-scrollbar { display: none; }

/* Fade edges on desktop */
.tnx-carousel-outer::before,
.tnx-carousel-outer::after {
  content: ''; position: absolute; top: 0; bottom: 20px; width: 60px; z-index: 2; pointer-events: none;
}
.tnx-carousel-outer::before {
  left: 0;
  background: linear-gradient(to right, var(--tnx-bg) 0%, transparent 100%);
}
.tnx-carousel-outer::after {
  right: 0;
  background: linear-gradient(to left, var(--tnx-bg) 0%, transparent 100%);
}

/* Nav arrows */
.tnx-carousel-btn {
  position: absolute; top: 50%; transform: translateY(-60%); z-index: 10;
  width: 44px; height: 44px; border-radius: 50%; border: none; cursor: pointer;
  background: rgba(255,107,0,.15);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255,107,0,.3);
  color: #FF9F40;
  display: flex; align-items: center; justify-content: center;
  transition: background .2s, transform .2s;
  font-size: 18px; font-weight: 700; font-family: 'Inter', Arial, sans-serif;
}
.tnx-carousel-btn:hover {
  background: rgba(255,107,0,.3);
  transform: translateY(-60%) scale(1.08);
}
.tnx-carousel-prev { left: -6px; }
.tnx-carousel-next { right: -6px; }
@media (max-width: 600px) {
  .tnx-carousel-btn { display: none; }
  .tnx-carousel-outer::before,
  .tnx-carousel-outer::after { width: 24px; }
}

/* Dots indicator */
.tnx-carousel-dots {
  display: flex; justify-content: center; gap: 7px; margin-top: 4px;
}
.tnx-cdot {
  width: 7px; height: 7px; border-radius: 50%;
  background: rgba(255,255,255,.15); transition: background .3s, transform .3s, width .3s;
  cursor: pointer; flex-shrink: 0;
  border: none; padding: 0; outline: none;
  -webkit-appearance: none; appearance: none;
}
.tnx-cdot.tnx-cdot-active {
  background: #FF6B00; transform: scale(1.35); width: 18px; border-radius: 4px;
}

/* App card */
.tnx-ac-card {
  flex: 0 0 148px;
  scroll-snap-align: start;
  background: var(--tnx-bg-alt);
  border: 1px solid var(--tnx-border);
  border-radius: 20px;
  padding: 22px 14px 18px;
  text-align: center;
  display: flex; flex-direction: column; align-items: center; gap: 10px;
  transition: transform .3s, border-color .3s, box-shadow .3s;
  cursor: default;
}
.tnx-ac-card:hover {
  transform: translateY(-5px);
  border-color: rgba(255,107,0,.3);
  box-shadow: 0 12px 32px rgba(0,0,0,.35), 0 0 20px rgba(255,107,0,.08);
}

/* Icon slot */
.tnx-ac-icon {
  width: 72px; height: 72px; border-radius: 18px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; overflow: hidden;
}
.tnx-ac-icon img,
.tnx-ac-icon svg { width: 100%; height: 100%; display: block; }

/* Placeholder icon (remove when adding real icon) */
.tnx-ac-placeholder {
  width: 100%; height: 100%; border-radius: 18px;
  border: 1.5px dashed rgba(255,107,0,.35);
  background: rgba(255,107,0,.05);
  display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 4px;
  font-size: 9px; font-weight: 700; text-transform: uppercase;
  letter-spacing: .5px; color: rgba(255,107,0,.5);
}
.tnx-ac-placeholder svg { width: 22px; height: 22px; margin-bottom: 0; }

.tnx-ac-name { font-size: 13px; font-weight: 700; color: var(--tnx-text); line-height: 1.3; }
.tnx-ac-badge {
  font-size: 10px; font-weight: 700; padding: 3px 10px; border-radius: 100px;
}
.tnx-ac-badge-on {
  background: rgba(34,197,94,.12); border: 1px solid rgba(34,197,94,.22); color: #22C55E;
}
.tnx-ac-badge-av {
  background: rgba(255,107,0,.1); border: 1px solid rgba(255,107,0,.22); color: #FF9F40;
}

/* ═════ FEATURES ═════ */
.tnx-feat-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.tnx-feat-card {
  background:var(--tnx-bg-alt); border:1px solid var(--tnx-border);
  border-radius:20px; padding:28px 24px; transition:all .3s; position:relative; overflow:hidden;
}
.tnx-feat-card:hover { transform:translateY(-4px); border-color:rgba(255,255,255,.15); }
/* Свечение в правом верхнем углу — цвет под иконку каждой карточки */
.tnx-feat-card::before {
  content:''; position:absolute; top:-50px; right:-50px;
  width:150px; height:150px; border-radius:50%;
  pointer-events: none;
}
.tnx-feat-card:nth-child(1)::before { background:radial-gradient(circle,rgba(255,107,0,.22) 0%,transparent 70%); }
.tnx-feat-card:nth-child(2)::before { background:radial-gradient(circle,rgba(255,193,7,.20) 0%,transparent 70%); }
.tnx-feat-card:nth-child(3)::before { background:radial-gradient(circle,rgba(33,150,243,.20) 0%,transparent 70%); }
.tnx-feat-card:nth-child(4)::before { background:radial-gradient(circle,rgba(0,188,212,.20) 0%,transparent 70%); }
.tnx-feat-card:nth-child(5)::before { background:radial-gradient(circle,rgba(103,58,183,.26) 0%,transparent 70%); }
.tnx-feat-card:nth-child(6)::before { background:radial-gradient(circle,rgba(76,175,80,.20) 0%,transparent 70%); }
.tnx-feat-card:nth-child(7)::before { background:radial-gradient(circle,rgba(0,150,136,.20) 0%,transparent 70%); }
.tnx-feat-card:nth-child(8)::before { background:radial-gradient(circle,rgba(244,67,54,.18) 0%,transparent 70%); }
.tnx-feat-card:nth-child(9)::before { background:radial-gradient(circle,rgba(233,30,99,.18) 0%,transparent 70%); }
/* Иконка — по центру, увеличена */
.tnx-feat-ico {
  width:62px; height:62px; border-radius:16px;
  display:flex; align-items:center; justify-content:center;
  margin: 0 auto 20px;
  color: #FF6B00; font-size: 15px; font-weight: 900;
}
/* Feature icon styles */
.tnx-feat-ico-4k { font-size: 15px; font-weight: 900; letter-spacing: -1px; }
.tnx-feat-ico svg { width: 32px; height: 32px; display: block; }
.tnx-feat-card:nth-child(1) .tnx-feat-ico { background: rgba(255,107,0,.14); }
.tnx-feat-card:nth-child(2) .tnx-feat-ico { background: rgba(255,193,7,.13); }
.tnx-feat-card:nth-child(3) .tnx-feat-ico { background: rgba(33,150,243,.13); }
.tnx-feat-card:nth-child(4) .tnx-feat-ico { background: rgba(0,188,212,.13); }
.tnx-feat-card:nth-child(5) .tnx-feat-ico { background: rgba(103,58,183,.15); }
.tnx-feat-card:nth-child(6) .tnx-feat-ico { background: rgba(76,175,80,.13); }
.tnx-feat-card:nth-child(7) .tnx-feat-ico { background: rgba(0,150,136,.13); }
.tnx-feat-card:nth-child(8) .tnx-feat-ico { background: rgba(244,67,54,.12); }
.tnx-feat-card:nth-child(9) .tnx-feat-ico { background: rgba(233,30,99,.12); }
.tnx-feat-card h3 { font-size:17px; font-weight:700; margin-bottom:10px; text-align:center; }
.tnx-feat-card p { font-size:13px; color:var(--tnx-text-muted); line-height:1.65; text-align:center; }

/* ═════ SPECS ═════ */
.tnx-specs-table {
  background:var(--tnx-bg-alt); border:1px solid var(--tnx-border);
  border-radius:20px; overflow:hidden;
  /* max-width и margin:auto убраны — таблица заполняет всю ширину колонки */
  width: 100%;
}
.tnx-spec-head {
  background:var(--tnx-bg-card); padding:14px 24px;
  font-size:12px; font-weight:700; text-transform:uppercase;
  letter-spacing:1px; color:#FF6B00; border-bottom:1px solid var(--tnx-border);
}
.tnx-spec-row {
  display:flex; padding:15px 24px;
  border-bottom:1px solid var(--tnx-glass-sm); transition:background .2s;
}
.tnx-spec-row:last-child { border-bottom:none; }
.tnx-spec-row:hover { background:rgba(255,107,0,.04); }
.tnx-spec-k { width:42%; font-size:14px; color:var(--tnx-text-muted); font-weight:500; }
.tnx-spec-v { flex:1; font-size:14px; font-weight:600; color:var(--tnx-text); }

/* ═════ PRODUCT SHOWCASE ═════ */
@keyframes tnx-float {
  0%, 100% { transform: translateY(0px); }
  50%       { transform: translateY(-12px); }
}
.tnx-product-showcase {
  position: relative;
  max-width: 480px;
  margin: 0px auto 0;
  text-align: center;
}
/* Амбиентное свечение под устройством */
.tnx-product-glow {
  position: absolute;
  bottom: -4%; left: 50%; transform: translateX(-50%);
  width: 75%; height: 35%;
  background: radial-gradient(ellipse,
    rgba(255,107,0,.28) 0%,
    rgba(139,92,246,.14) 50%,
    transparent 75%
  );
  filter: blur(28px);
  pointer-events: none;
  z-index: 0;
}
.tnx-product-img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: auto;
  filter:
    drop-shadow(0 24px 48px rgba(0,0,0,.65))
    drop-shadow(0 4px 16px rgba(255,107,0,.14));
  animation: tnx-float 5s ease-in-out infinite;
}

/* ═════ PRICE BLOCK ═════ */
.tnx-price-grid {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 24px; max-width: 860px; margin: 0 auto;
}
.tnx-price-card {
  border-radius: 28px; padding: 40px 32px;
  text-align: center; position: relative; overflow: hidden;
  display: flex; flex-direction: column;
  transition: transform .3s, box-shadow .3s, border-color .3s;
}
/* Диагональный блик поверх фона */
.tnx-price-card::after {
  content:''; position:absolute; inset:0; border-radius:28px;
  background: linear-gradient(150deg, rgba(255,255,255,.055) 0%, transparent 42%);
  pointer-events: none;
}

/* ── Оранжевая карточка (стандарт) ── */
.tnx-price-orange {
  background: linear-gradient(150deg, #1E1409 0%, #140E06 45%, var(--tnx-bg) 100%);
  border: 1px solid rgba(255,107,0,.32);
  border-top-color: rgba(255,155,55,.50);
  box-shadow: 0 4px 40px rgba(255,107,0,.08),
              inset 0 1px 0 rgba(255,145,40,.14);
}
.tnx-price-orange::before {
  content:''; position:absolute; top:-65px; right:-65px;
  width:230px; height:230px; border-radius:50%;
  background: radial-gradient(circle, rgba(255,107,0,.24) 0%, transparent 68%);
  pointer-events: none;
}
.tnx-price-orange:hover {
  transform: translateY(-5px);
  border-color: rgba(255,107,0,.58);
  box-shadow: 0 18px 56px rgba(255,107,0,.2),
              inset 0 1px 0 rgba(255,145,40,.18);
}
.tnx-price-orange .tnx-price-main {
  background: linear-gradient(135deg, #FF6B00, #FFA940);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
}
.tnx-price-orange .tnx-price-memory {
  background: rgba(255,107,0,.12); border: 1px solid rgba(255,107,0,.28); color: #FFA940;
}

/* ── Фиолетовая карточка (расширенная) ── */
.tnx-price-purple {
  background: linear-gradient(150deg, #130C22 0%, #0D0818 45%, var(--tnx-bg) 100%);
  border: 1px solid rgba(139,92,246,.38);
  border-top-color: rgba(167,139,250,.54);
  box-shadow: 0 4px 40px rgba(139,92,246,.10),
              inset 0 1px 0 rgba(167,139,250,.16);
}
.tnx-price-purple::before {
  content:''; position:absolute; top:-65px; right:-65px;
  width:230px; height:230px; border-radius:50%;
  background: radial-gradient(circle, rgba(139,92,246,.28) 0%, transparent 68%);
  pointer-events: none;
}
.tnx-price-purple:hover {
  transform: translateY(-5px);
  border-color: rgba(139,92,246,.65);
  box-shadow: 0 18px 56px rgba(139,92,246,.24),
              inset 0 1px 0 rgba(167,139,250,.20);
}
.tnx-price-purple .tnx-price-main {
  background: linear-gradient(135deg, #9F67FF, #C4B5FD);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
}
.tnx-price-purple .tnx-price-memory {
  background: rgba(139,92,246,.12); border: 1px solid rgba(139,92,246,.30); color: #C4B5FD;
}

/* Бейдж «Рекомендуем» — фиолетовый */
.tnx-featured-badge {
  position: absolute; top: 20px; right: 20px;
  background: linear-gradient(135deg, #7C3AED, #A78BFA);
  color: #fff; font-size: 11px; font-weight: 700;
  padding: 5px 13px; border-radius: 100px; letter-spacing: .3px;
  position: absolute; z-index: 2;
}

/* Общие элементы */
.tnx-price-label { font-size:12px; color:var(--tnx-text-muted); text-transform:uppercase; letter-spacing:.5px; margin-bottom:6px; position:relative; z-index:1; }
.tnx-price-memory { display:inline-flex; align-items:center; gap:6px; border-radius:100px; padding:5px 14px; font-size:30px; font-weight:700; margin-bottom:14px; position:relative; z-index:1; }
.tnx-price-main { font-size:52px; font-weight:900; line-height:1; margin:10px 0 4px; position:relative; z-index:1; }
.tnx-price-main sup { font-size:22px; }
.tnx-price-note { font-size:13px; color:var(--tnx-text-muted); margin-bottom:22px; position:relative; z-index:1; }
.tnx-price-perks { display:flex; flex-direction:column; gap:9px; margin-bottom:28px; text-align:left; position:relative; z-index:1; flex:1; }
.tnx-perk { display:flex; align-items:center; gap:10px; font-size:13px; color:var(--tnx-text); }
.tnx-perk-check {
  display:inline-flex; align-items:center; justify-content:center;
  width:20px; height:20px; flex-shrink:0;
  background:rgba(34,197,94,.15); color:#22C55E;
  border-radius:50%; font-size:11px; font-weight:900; font-family: 'Inter', Arial, sans-serif;
}
/* Строка гарантии — фиолетовый акцент */
.tnx-perk--guarantee { color: #C4B5FD; font-weight: 600; }
.tnx-perk--guarantee .tnx-perk-check { background: rgba(139,92,246,.22); color: #A78BFA; }

.tnx-price-card .tnx-btn { width:100%; justify-content:center; position:relative; z-index:1; }

/* Фиолетовая кнопка */
.tnx-btn-purple {
  background: linear-gradient(135deg, #7C3AED, #9F67FF);
  color: #fff; box-shadow: 0 8px 28px rgba(124,58,237,.42);
}
.tnx-btn-purple:hover { transform: translateY(-2px); box-shadow: 0 12px 36px rgba(124,58,237,.58); }

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

/* ═════ PRICE VARIANT 2 — Header-card ═════ */
.tnx-pc2-sep {
  display: flex; align-items: center; gap: 18px;
  max-width: 860px; margin: 52px auto 36px;
}
.tnx-pc2-sep-line { flex: 1; height: 1px; background: var(--tnx-border-sm); }
.tnx-pc2-sep-label {
  font-size: 11px; font-weight: 700; color: #555; letter-spacing: 1.2px;
  text-transform: uppercase; white-space: nowrap;
}
.tnx-pc2-grid {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 24px; max-width: 860px; margin: 0 auto;
}
.tnx-pc2-card {
  border-radius: 24px; overflow: hidden;
  display: flex; flex-direction: column;
  background: #0D0F19;
  border: 1px solid var(--tnx-border);
  transition: transform .3s, box-shadow .3s;
  position: relative;
}
/* Цветная шапка */
.tnx-pc2-head {
  padding: 30px 32px 32px;
  position: relative;
  overflow: hidden;
}
/* Крупный декоративный объём (полупрозрачный круг) */
.tnx-pc2-head::before {
  content: '';
  position: absolute;
  right: -40px; bottom: -60px;
  width: 180px; height: 180px;
  border-radius: 50%;
  background: var(--tnx-border-sm);
  pointer-events: none;
}
.tnx-pc2-head::after {
  content: '';
  position: absolute;
  right: 10px; bottom: -20px;
  width: 100px; height: 100px;
  border-radius: 50%;
  background: var(--tnx-glass);
  pointer-events: none;
}
/* Orange header */
.tnx-pc2-orange .tnx-pc2-head {
  background: linear-gradient(135deg, #8B2F00 0%, #C94E00 45%, #FF6B00 100%);
}
.tnx-pc2-orange:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 60px rgba(255,107,0,.22);
  border-color: rgba(255,107,0,.3);
}
/* Purple header */
.tnx-pc2-purple .tnx-pc2-head {
  background: linear-gradient(135deg, #2E0A72 0%, #5E20C2 45%, #7C3AED 100%);
}
.tnx-pc2-purple:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 60px rgba(124,58,237,.26);
  border-color: rgba(139,92,246,.35);
}
/* Бейдж в шапке */
.tnx-pc2-badge {
  position: absolute; top: 20px; right: 20px;
  background: rgba(255,255,255,.22);
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  color: #fff; font-size: 11px; font-weight: 700;
  padding: 4px 12px; border-radius: 100px; letter-spacing: .3px;
}
/* Чип памяти */
.tnx-pc2-memory {
  display: inline-flex;
  background: rgba(255,255,255,.18);
  color: #fff; font-size: 30px; font-weight: 700;
  padding: 5px 15px; border-radius: 100px;
  margin-bottom: 14px;
}
.tnx-pc2-label {
  font-size: 11px; color: rgba(255,255,255,.6);
  text-transform: uppercase; letter-spacing: .7px;
  margin-bottom: 8px;
}
.tnx-pc2-price {
  font-size: 54px; font-weight: 900; line-height: 1;
  color: #fff; position: relative; z-index: 1;
}
.tnx-pc2-price sup { font-size: 22px; font-weight: 700; }
.tnx-pc2-note {
  font-size: 12px; color: rgba(255,255,255,.48);
  margin-top: 8px; position: relative; z-index: 1;
}
/* Тело карточки */
.tnx-pc2-body {
  padding: 26px 32px 30px;
  display: flex; flex-direction: column; flex: 1;
  border-top: 1px solid var(--tnx-border);
}
.tnx-pc2-perks {
  display: flex; flex-direction: column;
  gap: 10px; margin-bottom: 26px; flex: 1;
}
.tnx-pc2-perk {
  display: flex; align-items: flex-start; gap: 10px;
  font-size: 13px; color: #B8C4D8; line-height: 1.45;
}
.tnx-pc2-dot {
  width: 6px; height: 6px; border-radius: 50%;
  flex-shrink: 0; margin-top: 5px;
}
.tnx-pc2-orange .tnx-pc2-dot { background: #FF6B00; }
.tnx-pc2-purple .tnx-pc2-dot { background: #9F67FF; }
.tnx-pc2-perk--guarantee {
  color: #C4B5FD; font-weight: 600;
}
.tnx-pc2-purple .tnx-pc2-perk--guarantee .tnx-pc2-dot {
  background: #A78BFA;
  box-shadow: 0 0 6px rgba(167,139,250,.7);
}
/* Кнопка в теле */
.tnx-pc2-body .tnx-btn { width: 100%; justify-content: center; }
@media (max-width: 600px) {
  .tnx-pc2-grid { grid-template-columns: 1fr; }
}

/* ═════ REVIEWS ═════ */
.tnx-rev-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.tnx-rev-card {
  background:var(--tnx-bg-alt); border:1px solid var(--tnx-border);
  border-radius:20px; padding:26px; transition:all .3s;
}
.tnx-rev-card:hover { border-color:rgba(255,107,0,.25); transform:translateY(-3px); }
.tnx-stars { color:#FBBF24; font-size:15px; letter-spacing:2px; margin-bottom:13px; }
.tnx-rev-text { font-size:14px; color:var(--tnx-text); line-height:1.7; margin-bottom:18px; font-style:italic; }
.tnx-rev-author { display:flex; align-items:center; gap:11px; }
.tnx-rev-ava {
  width:40px; height:40px; border-radius:50%;
  background:linear-gradient(135deg,#FF6B00,#FF9F40);
  display:flex; align-items:center; justify-content:center;
  font-weight:700; font-size:14px; color:#fff; flex-shrink:0;
}
.tnx-rev-name { font-size:14px; font-weight:700; }
.tnx-rev-meta { font-size:12px; color:var(--tnx-text-muted); margin-top:2px; }

/* ═════ CTA ═════ */
.tnx-cta-wrap {
  background:radial-gradient(ellipse 80% 70% at 50% 50%, rgba(255,107,0,.1) 0%, transparent 70%);
  border-radius:28px; border:1px solid rgba(255,107,0,.2);
  padding:60px 40px; text-align:center;
}
.tnx-form { display:flex; gap:12px; max-width:480px; margin:32px auto 16px; flex-wrap:wrap; }
.tnx-input {
  flex:1; min-width:190px;
  background:var(--tnx-bg-alt); border:1px solid rgba(255,255,255,.1);
  border-radius:12px; padding:15px 18px;
  font-size:15px; color:var(--tnx-text);
  font-family:'Inter', Arial, sans-serif; outline:none; transition:border-color .25s;
}
.tnx-input::placeholder { color:var(--tnx-text-muted); }
.tnx-input:focus { border-color:#FF6B00; }
.tnx-form-note { font-size:13px; color:var(--tnx-text-muted); }

/* ═════ ORIGINALITY ═════ */
.tnx-orig-wrap {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 56px; align-items: center;
}
.tnx-orig-points { display: flex; flex-direction: column; gap: 20px; margin-top: 32px; }
.tnx-orig-point {
  display: flex; align-items: flex-start; gap: 16px;
}
.tnx-orig-point-icon {
  width: 44px; height: 44px; border-radius: 12px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
}
.tnx-orig-point-icon svg { width: 22px; height: 22px; display: block; }
.tnx-orig-icon-shield   { background: rgba(255,107,0,.12); }
.tnx-orig-icon-verify   { background: rgba(34,197,94,.1); }
.tnx-orig-icon-clock    { background: var(--tnx-border); border: 1px solid rgba(255,255,255,.11); }
.tnx-orig-icon-warranty { background: rgba(33,150,243,.1); }
.tnx-orig-icon-serial   { background: rgba(156,39,176,.1); }
.tnx-orig-point-text strong { display: block; font-size: 15px; font-weight: 700; color: var(--tnx-text); margin-bottom: 4px; }
.tnx-orig-point-text p { font-size: 13px; color: var(--tnx-text-muted); line-height: 1.6; }

/* Certificate image area */
.tnx-cert-col { display: flex; flex-direction: column; align-items: center; gap: 16px; }
.tnx-cert-frame {
  width: 100%; max-width: 360px; margin: 0 auto; position: relative;
  background: linear-gradient(145deg,var(--tnx-bg-alt),var(--tnx-bg-card));
  border-radius: 20px;
  border: 2px dashed rgba(255,107,0,.35);
  padding: 20px 20px;
  text-align: center;
  transition: border-color .3s;
}
.tnx-cert-frame:hover { border-color: rgba(255,107,0,.65); }
.tnx-cert-frame::before {
  content: ''; position: absolute; top: -1px; left: -1px; right: -1px; bottom: -1px;
  border-radius: 20px;
  background: radial-gradient(ellipse 60% 60% at 50% 50%, rgba(255,107,0,.06) 0%, transparent 70%);
  pointer-events: none;
}
.tnx-cert-icon {
  width: 64px; height: 64px; border-radius: 16px;
  background: rgba(255,107,0,.1); border: 1px solid rgba(255,107,0,.2);
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 18px;
}
.tnx-cert-icon svg { width: 30px; height: 30px; }
.tnx-cert-hint-title { font-size: 16px; font-weight: 700; color: var(--tnx-text); margin-bottom: 8px; }
.tnx-cert-hint-sub { font-size: 13px; color: var(--tnx-text-muted); line-height: 1.6; }
.tnx-cert-hint-code {
  display: inline-block; margin-top: 16px;
  background: rgba(255,107,0,.08); border: 1px solid rgba(255,107,0,.2);
  border-radius: 8px; padding: 6px 14px;
  font-size: 11px; font-weight: 700; color: #FF6B00;
  text-transform: uppercase; letter-spacing: .5px;
}
/* — Actual cert image if user replaces placeholder — */
.tnx-cert-img {
  width: 100%; border-radius: 16px;
  box-shadow: 0 12px 40px rgba(0,0,0,.5);
}
@media (max-width: 860px) {
  .tnx-orig-wrap { grid-template-columns: 1fr; gap: 40px; }
  .tnx-cert-col { max-width: 480px; margin: 0 auto; width: 100%; }
}

/* ═════ DELIVERY SECTION ═════ */

/* Сетка карточек доставки */
.tnx-dlv-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-bottom: 40px;
}

/* Карточка службы доставки */
.tnx-dlv-card {
  position: relative;
  background: linear-gradient(160deg, #1E2130 0%, #181B26 100%);
  border: 1px solid var(--tnx-border);
  border-radius: 20px;
  padding: 28px 24px 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  transition: border-color .3s, transform .3s, box-shadow .3s;
  overflow: hidden;
}
.tnx-dlv-card::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(255,107,0,.04) 0%, transparent 60%);
  pointer-events: none;
}
.tnx-dlv-card:hover {
  border-color: rgba(255,107,0,.35);
  transform: translateY(-4px);
  box-shadow: 0 16px 48px rgba(0,0,0,.35);
}

/* Рекомендованная карточка */
.tnx-dlv-card--featured {
  border-color: rgba(255,107,0,.3);
  background: linear-gradient(160deg, #23202F 0%, #1C1A2A 100%);
  box-shadow: 0 8px 32px rgba(255,107,0,.08);
}
.tnx-dlv-card--featured:hover {
  border-color: rgba(255,107,0,.6);
  box-shadow: 0 20px 56px rgba(255,107,0,.15);
}

/* Бейдж "Популярный выбор" */
.tnx-dlv-badge {
  position: absolute;
  top: 0; right: 0;
  background: linear-gradient(90deg, #FF6B00, #FF9F40);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  padding: 5px 14px;
  border-radius: 0 20px 0 12px;
}

/* Логотип службы */
.tnx-dlv-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 72px;
  background: var(--tnx-border-xs);
  border: 1px solid var(--tnx-glass-hover);
  border-radius: 14px;
  padding: 10px 16px;
  position: relative;
  overflow: hidden;
  transition: border-color .25s, box-shadow .25s, transform .25s;
}
.tnx-dlv-logo::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, var(--tnx-glass) 0%, transparent 60%);
  pointer-events: none;
}
.tnx-dlv-card:hover .tnx-dlv-logo,
.tnx-dlv-card--featured .tnx-dlv-logo {
  border-color: rgba(255,107,0,.30);
  box-shadow: 0 0 18px rgba(255,107,0,.12);
}
.tnx-dlv-card--featured .tnx-dlv-logo {
  background: rgba(255,107,0,.06);
}
.tnx-dlv-logo-img {
  display: block;
  height: 46px;
  width: auto;
  max-width: 160px;
  border-radius: 8px;
  object-fit: contain;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,.35));
  transition: transform .25s, filter .25s;
}
.tnx-dlv-card:hover .tnx-dlv-logo-img {
  transform: scale(1.05);
  filter: drop-shadow(0 4px 10px rgba(0,0,0,.45));
}

/* Название */
.tnx-dlv-name {
  font-size: 17px;
  font-weight: 700;
  color: var(--tnx-text);
  letter-spacing: -.01em;
}

/* Сроки */
.tnx-dlv-time {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  color: #FF6B00;
  background: rgba(255,107,0,.1);
  border: 1px solid rgba(255,107,0,.2);
  padding: 5px 12px;
  border-radius: 20px;
  width: fit-content;
}

/* Преимущества */
.tnx-dlv-perks {
  list-style: none;
  padding: 0; margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}
.tnx-dlv-perks li {
  font-size: 13px;
  color: var(--tnx-text-muted);
  padding-left: 16px;
  position: relative;
  line-height: 1.4;
}
.tnx-dlv-perks li::before {
  content: '✓';
  position: absolute;
  left: 0;
  color: #22C55E;
  font-size: 12px;
  font-weight: 700;
}

/* Цена */
.tnx-dlv-price {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding-top: 12px;
  border-top: 1px solid var(--tnx-glass);
  margin-top: auto;
}
.tnx-dlv-price-free {
  font-size: 18px;
  font-weight: 800;
  color: #22C55E;
  letter-spacing: -.02em;
}
.tnx-dlv-price-sub {
  font-size: 11px;
  color: #6B7280;
}

/* Звёздочка «нет бесплатной доставки» */
.tnx-dlv-nofree-star {
  font-size: .55em;
  font-weight: 700;
  color: #FF6B00;
  vertical-align: super;
  line-height: 1;
  margin-left: 1px;
}

/* Сноска под грид-карточками (раскрывающаяся) */
.tnx-dlv-nofree-note {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0 6px;
  margin: 12px 0 20px;
  padding: 11px 16px;
  background: rgba(255,107,0,.04);
  border: 1px solid rgba(255,107,0,.13);
  border-radius: 12px;
  font-size: 12px;
  line-height: 1.55;
  color: #9CA3AF;
}
.tnx-dlv-nofree-mark {
  flex-shrink: 0;
  font-size: 13px;
  font-weight: 700;
  color: #FF6B00;
  line-height: 1.55;
}
.tnx-dlv-nofree-text { line-height: 1.55; }
.tnx-dlv-nofree-toggle {
  display: inline;
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  font: inherit;
  font-size: 12px;
  color: #FF6B00;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-style: dashed;
}
.tnx-dlv-nofree-toggle:hover { color: #ff8c3a; }

/* Раскрывающийся блок */
.tnx-dlv-nofree-body {
  width: 100%;
  max-height: 0;
  overflow: hidden;
  transition: max-height .35s ease, opacity .3s ease, padding .3s ease;
  opacity: 0;
  padding-top: 0;
}
.tnx-dlv-nofree-body--open {
  max-height: 300px;
  opacity: 1;
  padding-top: 10px;
}
.tnx-dlv-nofree-regions {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.tnx-dlv-nofree-region {
  display: inline-block;
  padding: 2px 8px;
  background: rgba(255,107,0,.09);
  border: 1px solid rgba(255,107,0,.2);
  border-radius: 5px;
  color: #FCA96A;
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
}
.tnx-dlv-nofree-footer {
  margin: 8px 0 0;
  font-size: 11px;
  color: #6B7280;
}

/* Полоса преимуществ */
.tnx-dlv-benefits {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  background: rgba(255,255,255,.03);
  border: 1px solid var(--tnx-glass);
  border-radius: 16px;
  padding: 24px;
}
.tnx-dlv-benefit {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}
.tnx-dlv-benefit-icon {
  flex-shrink: 0;
  width: 44px; height: 44px;
  background: rgba(255,107,0,.1);
  border: 1px solid rgba(255,107,0,.18);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.tnx-dlv-benefit strong {
  display: block;
  font-size: 13px;
  font-weight: 700;
  color: #E2E8F4;
  margin-bottom: 3px;
}
.tnx-dlv-benefit p {
  font-size: 12px;
  color: #6B7280;
  margin: 0;
  line-height: 1.4;
}

/* Адаптив */
@media (max-width: 960px) {
  .tnx-dlv-grid { grid-template-columns: 1fr 1fr; }
  .tnx-dlv-benefits { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .tnx-dlv-grid { grid-template-columns: 1fr; }
  .tnx-dlv-benefits { grid-template-columns: 1fr; }
}

/* ═════ MEDIA / EXPERT REVIEWS CAROUSEL ═════ */
.tnx-media-track {
  display: flex; gap: 16px; overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  padding: 12px 8px 28px; scrollbar-width: none;
}
.tnx-media-track::-webkit-scrollbar { display: none; }

/* Карточка */
.tnx-rv-card {
  flex: 0 0 300px; scroll-snap-align: start;
  background: var(--tnx-bg-alt);
  border: 1px solid var(--tnx-border);
  border-top-width: 2px;
  border-radius: 20px; padding: 22px;
  display: flex; flex-direction: column; gap: 14px;
  text-decoration: none; color: inherit;
  transition: transform .3s, box-shadow .3s, border-color .3s;
  cursor: pointer; position: relative; overflow: hidden;
}
.tnx-rv-card:hover { transform: translateY(-5px); }
/* Тип — цветной верхний бордер + фоновый тинт */
.tnx-rv-video  { border-top-color: rgba(239,68,68,.55); }
.tnx-rv-video:hover  { border-top-color: #EF4444; box-shadow: 0 16px 40px rgba(0,0,0,.4), 0 0 30px rgba(239,68,68,.1); }
.tnx-rv-article { border-top-color: rgba(99,102,241,.55); }
.tnx-rv-article:hover { border-top-color: #6366F1; box-shadow: 0 16px 40px rgba(0,0,0,.4), 0 0 30px rgba(99,102,241,.1); }
.tnx-rv-award  { border-top-color: rgba(245,158,11,.55); }
.tnx-rv-award:hover  { border-top-color: #F59E0B; box-shadow: 0 16px 40px rgba(0,0,0,.4), 0 0 30px rgba(245,158,11,.1); }
/* Угловой glow */
.tnx-rv-card::before {
  content: ''; position: absolute; top: -60px; right: -60px;
  width: 180px; height: 180px; border-radius: 50%;
  pointer-events: none; opacity: .6;
}
.tnx-rv-video::before  { background: radial-gradient(circle, rgba(239,68,68,.1) 0%, transparent 70%); }
.tnx-rv-article::before { background: radial-gradient(circle, rgba(99,102,241,.09) 0%, transparent 70%); }
.tnx-rv-award::before  { background: radial-gradient(circle, rgba(245,158,11,.1) 0%, transparent 70%); }

/* Шапка карточки */
.tnx-rv-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; }
.tnx-rv-source { display: flex; align-items: center; gap: 10px; }
.tnx-rv-source-icon {
  width: 38px; height: 38px; border-radius: 11px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
}
.tnx-rv-source-icon svg { width: 20px; height: 20px; display: block; }
.tnx-rv-ico-yt    { background: rgba(239,68,68,.15); }
.tnx-rv-ico-web   { background: rgba(99,102,241,.13); }
.tnx-rv-ico-award { background: rgba(245,158,11,.13); }
.tnx-rv-source-name { font-size: 13px; font-weight: 700; color: var(--tnx-text); line-height: 1.2; }
.tnx-rv-source-sub  { font-size: 11px; color: var(--tnx-text-muted); margin-top: 2px; }
/* Бейдж типа */
.tnx-rv-type {
  font-size: 10px; font-weight: 800; padding: 3px 9px;
  border-radius: 100px; white-space: nowrap; flex-shrink: 0;
}
.tnx-rv-type-video  { background: rgba(239,68,68,.12); color: #F87171; border: 1px solid rgba(239,68,68,.22); }
.tnx-rv-type-article{ background: rgba(99,102,241,.1);  color: #A5B4FC; border: 1px solid rgba(99,102,241,.22); }
.tnx-rv-type-award  { background: rgba(245,158,11,.1);  color: #FCD34D; border: 1px solid rgba(245,158,11,.22); }

/* Цитата */
.tnx-rv-quote {
  font-size: 13px; font-style: italic; color: #C8D0E0;
  line-height: 1.65; flex: 1;
  padding-left: 14px;
  border-left: 2px solid var(--tnx-border-sm);
  position: relative;
}
.tnx-rv-quote::before {
  content: '\201C'; position: absolute;
  top: -14px; left: -4px;
  font-size: 48px; line-height: 1; font-style: normal;
  color: var(--tnx-glass); pointer-events: none;
}

/* Заголовок материала */
.tnx-rv-title { font-size: 13px; font-weight: 700; color: var(--tnx-text); line-height: 1.4; }
/* Оценка */
.tnx-rv-score {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 13px; font-weight: 800;
  color: #F59E0B;
}
.tnx-rv-score-bar {
  display: flex; gap: 2px;
}
.tnx-rv-bar {
  width: 18px; height: 4px; border-radius: 2px;
  background: rgba(245,158,11,.25);
}
.tnx-rv-bar.on { background: #F59E0B; }

/* CTA */
.tnx-rv-cta {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 12px; font-weight: 700; text-decoration: none;
  margin-top: 4px; padding-top: 14px;
  border-top: 1px solid var(--tnx-glass);
  transition: gap .2s;
}
.tnx-rv-video .tnx-rv-cta  { color: #F87171; }
.tnx-rv-article .tnx-rv-cta { color: #A5B4FC; }
.tnx-rv-award .tnx-rv-cta  { color: #FCD34D; }
.tnx-rv-cta:hover { gap: 9px; }
.tnx-rv-cta svg { width: 13px; height: 13px; flex-shrink: 0; }

/* ═════ FOOTER ═════ */
.tnx-footer {
  background: #080A0F;
  border-top: 1px solid var(--tnx-glass);
  padding: 64px 0 0;
  margin-top: 0;
}
.tnx-footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 48px;
  padding-bottom: 56px;
  border-bottom: 1px solid var(--tnx-glass);
}
/* Колонка с брендом */
.tnx-footer-brand {}
.tnx-footer-logo {
  display: flex; align-items: center; gap: 10px;
  margin-bottom: 16px;
}
.tnx-footer-logo img { height: 28px; width: auto; }
.tnx-footer-desc {
  font-size: 13px; color: #64697A; line-height: 1.7;
  max-width: 280px; margin-bottom: 24px;
}
.tnx-footer-socials { display: flex; gap: 10px; }
.tnx-footer-social {
  width: 36px; height: 36px; border-radius: 10px;
  background: var(--tnx-glass-sm); border: 1px solid var(--tnx-border);
  display: flex; align-items: center; justify-content: center;
  color: var(--tnx-text-muted); text-decoration: none; transition: all .2s;
}
.tnx-footer-social:hover { background: var(--tnx-border-sm); border-color: rgba(255,255,255,.15); }
.tnx-footer-social svg { width: 16px; height: 16px; }
/* Брендовые цвета при наведении */
.tnx-footer-social-vk:hover  { background: rgba(0,119,255,.15); border-color: rgba(0,119,255,.4); color: #4D8CE8; }
.tnx-footer-social-tg:hover  { background: rgba(42,171,238,.15); border-color: rgba(42,171,238,.4); color: #2AABEE; }
.tnx-footer-social-wa:hover  { background: rgba(37,211,102,.15); border-color: rgba(37,211,102,.4); color: #25D366; }
.tnx-footer-social-max:hover { background: rgba(140,82,255,.15); border-color: rgba(140,82,255,.4); color: #8C52FF; }
/* Колонки ссылок */
.tnx-footer-col-title {
  font-size: 11px; font-weight: 800; text-transform: uppercase;
  letter-spacing: 1.2px; color: var(--tnx-text); margin-bottom: 18px;
}
.tnx-footer-links { display: flex; flex-direction: column; gap: 10px; list-style: none; }
.tnx-footer-links a {
  font-size: 13px; color: #64697A; text-decoration: none; transition: color .2s;
}
.tnx-footer-links a:hover { color: var(--tnx-text); }
/* Плашка «Юридические данные» */
.tnx-footer-legal-placeholder {
  margin-top: 6px;
  background: rgba(255,107,0,.05); border: 1px dashed rgba(255,107,0,.2);
  border-radius: 10px; padding: 12px 14px;
  font-size: 12px; color: rgba(255,107,0,.5); font-style: italic;
}
/* Нижняя строка */
.tnx-footer-bottom {
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: 12px;
  padding: 22px 0;
}
.tnx-footer-copy { font-size: 12px; color: #3D4150; }
.tnx-footer-copy a { color: #4A5060; text-decoration: none; }
.tnx-footer-copy a:hover { color: var(--tnx-text-muted); }
.tnx-footer-badges { display: flex; gap: 8px; }
.tnx-footer-badge {
  display: inline-flex; align-items: center; gap: 5px;
  background: var(--tnx-border-xs); border: 1px solid var(--tnx-glass);
  border-radius: 8px; padding: 5px 10px;
  font-size: 11px; font-weight: 600; color: #4A5060;
}
.tnx-footer-badge svg { width: 12px; height: 12px; flex-shrink: 0; }
@media (max-width: 860px) {
  .tnx-footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
}
@media (max-width: 560px) {
  .tnx-footer-grid { grid-template-columns: 1fr; gap: 28px; }
  .tnx-footer-bottom { flex-direction: column; align-items: flex-start; }
}

/* ═════ RESPONSIVE ═════ */
@media (max-width: 860px) {
  /* Мобиль: одна колонка, порядок: text-top → img → text-bot */
  .tnx-hero-inner { grid-template-columns: 1fr; gap: 0; }
  .tnx-hero-text-top { grid-column: 1; grid-row: 1; }
  .tnx-hero-img-col  { grid-column: 1; grid-row: 2; }
  .tnx-hero-text-bot { grid-column: 1; grid-row: 3; }
  /* Фото на мобильном — показываем, центрируем, уменьшаем overflow */
  .tnx-hero-img-col {
    max-width: 400px;
    width: 100%;
    margin: 0 auto;
  }
  .tnx-hero-img-wrap {
    margin-top: 24px;
    margin-bottom: 8px;
    min-height: 200px;
  }
  .tnx-hero-text-bot { margin-top: 15px; display: flex; flex-direction: column; }
  .tnx-hero-btns { order: -1; margin-bottom: 15px; }
  .tnx-device-img {
    max-width: 340px;
    width: 105%;
    margin-top: -40px;
  }
  .tnx-feat-grid { grid-template-columns:1fr 1fr; }
  .tnx-fw-wrap { grid-template-columns:1fr; }
  .tnx-rev-grid { grid-template-columns:1fr; }
  .tnx-price-card { padding:28px 20px; }
  /* Typewriter: 3 строки на случай переноса слова */
  .tnx-tw-stage { height: 3.6em; }
}
@media (max-width: 560px) {
  .tnx-section { padding:60px 0; }
  .tnx-hero { padding:20px 0 40px; }       /* было 48px — поднимаем бейдж ближе к шапке */
  .tnx-hero-desc { line-height: 1.5; margin-bottom: 20px; }
  .tnx-feat-grid { grid-template-columns:1fr; }
  .tnx-hero-stats { flex-wrap:wrap; gap:18px; }
  .tnx-cta-wrap { padding:36px 20px; }
  .tnx-hero-img-col { max-width: 320px; }
  .tnx-device-img { max-width: 280px; margin-top: -30px; }
  .tnx-hero-img-wrap { min-height: 160px; }
}

/* ─── Apps Carousel — точечная сетка (Hero использует линейную) ─── */
#tnx-appsrow {
  position: relative;
  overflow: hidden;
}
#tnx-appsrow::before {
  content: '';
  position: absolute; inset: 0;
  background-image: radial-gradient(circle, var(--tnx-border) 1px, transparent 1px);
  background-size: 30px 30px;
  pointer-events: none;
  z-index: 0;
}
/* Затухание к краям — плавный переход в фон секции */
#tnx-appsrow::after {
  content: '';
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 70% 55% at 50% 50%, transparent 40%, var(--tnx-bg-alt) 100%);
  pointer-events: none;
  z-index: 0;
}
#tnx-appsrow > .tnx-container {
  position: relative;
  z-index: 1;
}

/* ─── Превью: убирает белый фон и margin тега body ─── */
/* В Tilda эти правила не влияют на страницу — только для standalone-просмотра */
html, body { margin: 0; padding: 0; background: var(--tnx-bg); }

/* ─── Specs — диагональная штриховка ─── */
#tnx-specs {
  position: relative;
  overflow: hidden;
}
#tnx-specs::before {
  content: '';
  position: absolute; inset: 0;
  background-image: repeating-linear-gradient(
    -45deg,
    rgba(255,255,255,.028) 0px,
    rgba(255,255,255,.028) 1px,
    transparent 1px,
    transparent 22px
  );
  pointer-events: none;
  z-index: 0;
}
#tnx-specs::after {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse 75% 60% at 50% 50%, transparent 30%, var(--tnx-bg) 100%);
  pointer-events: none;
  z-index: 0;
}
#tnx-specs > .tnx-container {
  position: relative;
  z-index: 1;
}

/* ─── Reviews — ромбовидная сетка (диагонали +45° и −45°) ─── */
#tnx-reviews {
  position: relative;
  overflow: hidden;
}
#tnx-reviews::before {
  content: '';
  position: absolute; inset: 0;
  background-image:
    linear-gradient(45deg,  rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(-45deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 28px 28px;
  pointer-events: none;
  z-index: 0;
}
#tnx-reviews::after {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse 70% 55% at 50% 50%, transparent 40%, var(--tnx-bg-alt) 100%);
  pointer-events: none;
  z-index: 0;
}
#tnx-reviews > .tnx-container {
  position: relative;
  z-index: 1;
}
/* Свечение справа-снизу в Reviews — фиолетовый, симметрично герою */
.tnx-reviews-glow-br {
  position: absolute; bottom: -110px; right: -90px;
  width: 460px; height: 460px; border-radius: 50%;
  background: radial-gradient(circle, rgba(139,92,246,.16) 0%, transparent 65%);
  pointer-events: none;
  z-index: 0;
}

/* ════ ГАЛЕРЕЯ В БЛОКЕ ХАРАКТЕРИСТИК ════ */
.tnx-specs-layout {
  display: grid;
  /* ~45% галерея / ~55% характеристики */
  grid-template-columns: 5fr 6fr;
  gap: 44px;
  align-items: start;
}
.tnx-gallery-col {
  position: relative;
  min-width: 0;   /* обязательно для grid-ячейки */
  width: 100%;
}
.tnx-specs-col {
  position: relative;
  min-width: 0;   /* предотвращает распухание колонки */
}
/* ── Glassmorphism: цветные свечения позади панели ── */
@keyframes tnx-glow-pulse {
  0%, 100% { opacity: .75; transform: scale(1); }
  50%       { opacity: 1;   transform: scale(1.08); }
}
.tnx-glass-glow {
  position: absolute;
  border-radius: 50%;
  filter: blur(64px);
  pointer-events: none;
  z-index: 0;
}
.tnx-glass-glow--purple {
  width: 68%; height: 68%;
  background: radial-gradient(circle, rgba(139,92,246,.55) 0%, transparent 70%);
  top: -18%; left: -12%;
  animation: tnx-glow-pulse 4.2s ease-in-out infinite;
}
.tnx-glass-glow--orange {
  width: 56%; height: 56%;
  background: radial-gradient(circle, rgba(255,107,0,.3) 0%, transparent 70%);
  bottom: 2%; right: -10%;
  animation: tnx-glow-pulse 5.5s ease-in-out infinite 1.8s;
}
/* ── Стеклянная рамка вокруг фото ── */
.tnx-glass-card {
  position: relative;
  z-index: 1;
  padding: 12px;
  background: rgba(255,255,255,.045);
  border-radius: 28px;
  border: 1px solid rgba(255,255,255,.12);
  border-top-color: rgba(255,255,255,.26);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.14),
    0 22px 64px rgba(0,0,0,.58),
    0 0 0 1px var(--tnx-border-xs);
}
/* Блик — диагональный свет сверху-слева */
.tnx-glass-card::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 28px;
  background: linear-gradient(
    135deg,
    var(--tnx-border) 0%,
    transparent 45%
  );
  pointer-events: none;
  z-index: 2;
}
/* ── Область фото внутри карточки ── */
.tnx-gallery-viewer {
  position: relative;
  aspect-ratio: 1 / 1;
  background: rgba(8,10,16,.7);
  border-radius: 18px;
  overflow: hidden;
  cursor: zoom-in;
  box-shadow:
    inset 0 2px 0 var(--tnx-glass),
    inset 0 -2px 16px rgba(0,0,0,.5);
  z-index: 1;
}
.tnx-gallery-main-img {
  width: 100%; height: 100%;
  object-fit: contain;
  display: block;
  transition: opacity .25s ease;
}
.tnx-gallery-main-img.tnx-fade { opacity: 0; }
/* Scanning line — visual flair: ping-pong top↔bottom, purple */
@keyframes tnx-scan {
  0%   { top: 7%; }
  100% { top: 87%; }
}
.tnx-gallery-scan {
  position: absolute;
  left: 0; right: 0;
  top: 7%;
  height: 5px;
  background: linear-gradient(to bottom,
    transparent 0%,
    rgba(139,92,246,.5) 30%,
    rgba(167,139,250,.92) 50%,
    rgba(139,92,246,.5) 70%,
    transparent 100%
  );
  box-shadow: 0 0 20px 7px rgba(139,92,246,.22), 0 0 6px 2px rgba(167,139,250,.45);
  animation: tnx-scan 2.4s ease-in-out infinite alternate;
  z-index: 3;
  pointer-events: none;
}
/* Counter badge */
.tnx-gallery-counter {
  position: absolute;
  top: 11px; right: 11px;
  background: rgba(15,17,23,.72);
  border: 1px solid rgba(255,107,0,.28);
  color: #E0E0E0;
  font-size: 12px; font-weight: 600;
  padding: 4px 10px;
  border-radius: 20px;
  z-index: 4;
  pointer-events: none;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
/* ── Кнопки навигации — glassmorphism ── */
.tnx-gal-btn {
  position: absolute;
  top: 50%; transform: translateY(-50%);
  width: 44px; height: 44px;
  /* Тёмный фон — белые стрелки всегда читаемы */
  background: rgba(12,14,22,.62);
  border: 1px solid rgba(255,255,255,.12);
  border-top-color: rgba(255,255,255,.24);
  border-radius: 14px;
  cursor: pointer;
  z-index: 4;
  display: flex; align-items: center; justify-content: center;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.16),
    0 6px 24px rgba(0,0,0,.5);
  transition: background .22s, border-color .22s, box-shadow .22s,
              transform .22s cubic-bezier(.34,1.56,.64,1);
  overflow: hidden;
  padding: 0;
}
/* Диагональный блик — такой же, как на стеклянной карточке */
.tnx-gal-btn::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(255,255,255,.10) 0%, transparent 55%);
  pointer-events: none;
}
/* SVG-шеврон — белый, всегда */
.tnx-gal-btn svg {
  width: 18px; height: 18px;
  fill: none;
  stroke: rgba(255,255,255,.90);
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
  position: relative; z-index: 1;
  transition: transform .22s cubic-bezier(.34,1.56,.64,1);
}
/* Hover — фиолетовый, стрелки остаются белыми */
.tnx-gal-btn:hover {
  background: rgba(139,92,246,.32);
  border-color: rgba(139,92,246,.55);
  border-top-color: rgba(167,139,250,.55);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.20),
    0 6px 28px rgba(139,92,246,.35),
    0 0 0 1px rgba(139,92,246,.20);
  transform: translateY(-50%) scale(1.1);
}
.tnx-gal-btn:hover svg {
  transform: scale(1.08);
}
/* Кнопки в зоне padding стеклянной карточки — плавают на стекле */
.tnx-gal-prev { left: 6px; }
.tnx-gal-next { right: 6px; }

/* ── Вариант 2: парящая карточка ──────────────────────────────────── */
@keyframes tnx-float-card {
  0%, 100% { transform: translateY(0px);   box-shadow: inset 0 1px 0 rgba(255,255,255,.14), 0 32px 80px rgba(0,0,0,.72), 0 0 0 1px var(--tnx-border-xs); }
  50%       { transform: translateY(-18px); box-shadow: inset 0 1px 0 rgba(255,255,255,.14), 0 52px 100px rgba(0,0,0,.38), 0 0 0 1px var(--tnx-border-xs); }
}
@keyframes tnx-float-shadow {
  0%, 100% { transform: scaleX(1);    opacity: .55; filter: blur(18px); }
  50%       { transform: scaleX(.65); opacity: .22; filter: blur(26px); }
}
.tnx-glass-card--float { animation: tnx-float-card 4.2s ease-in-out infinite; }
/* Тень на «полу» — анимируется обратно для эффекта глубины */
.tnx-gallery-col--float::after {
  content: ''; position: absolute; bottom: 52px; left: 10%; right: 10%;
  height: 28px; border-radius: 50%;
  background: rgba(0,0,0,.6);
  filter: blur(18px);
  animation: tnx-float-shadow 4.2s ease-in-out infinite;
  pointer-events: none; z-index: 0;
}
/* ═════ SUPPORT / GUARANTEE BLOCK ══════════════════════════════════ */
/* Секция на отдельном фоне с ромбовым паттерном */
.tnx-section--diamond {
  position: relative;
  background: #080A14;
  overflow: hidden;
}
/* Ромбовый паттерн — SVG-ромб как data URI, полый контур */
.tnx-section--diamond::before {
  content: '';
  position: absolute; inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260' viewBox='0 0 260 260'%3E%3Cpath d='M130 6 L254 130 L130 254 L6 130 Z' fill='none' stroke='rgba(139,92,246,0.06)' stroke-width='1.5'/%3E%3C/svg%3E");
  background-size: 260px 260px;
  background-position: center center;
  pointer-events: none; z-index: 0;
}
/* Мягкое центральное свечение поверх паттерна */
.tnx-section--diamond::after {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse 85% 65% at 50% 50%,
    rgba(139,92,246,.07) 0%, transparent 68%);
  pointer-events: none; z-index: 0;
}
/* Контент выше псевдоэлементов */
.tnx-section--diamond > .tnx-container { position: relative; z-index: 1; }

.tnx-support-wrap  { max-width: 900px; margin: 0 auto; }
.tnx-support-lead  { font-size: 17px; color: var(--tnx-text-muted); line-height: 1.7; max-width: 620px; margin: 0 auto 52px; text-align: center; }
/* 3-step flow */
.tnx-support-flow  { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: center; gap: 0; margin-bottom: 44px; }
.tnx-support-step  {
  background: var(--tnx-border-xs); border: 1px solid var(--tnx-border-sm); border-radius: 22px;
  padding: 32px 22px 28px; text-align: center; position: relative;
  transition: border-color .3s, box-shadow .3s;
}
.tnx-support-step:hover { border-color: rgba(139,92,246,.38); box-shadow: 0 8px 36px rgba(139,92,246,.14); }
.tnx-support-step-num {
  position: absolute; top: -14px; left: 50%; transform: translateX(-50%);
  width: 28px; height: 28px; border-radius: 50%;
  background: linear-gradient(135deg,#7C3AED,#9F67FF);
  font-size: 12px; font-weight: 800; color: #fff;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 14px rgba(124,58,237,.45);
}
.tnx-support-step-ico { width: 54px; height: 54px; border-radius: 15px; margin: 0 auto 16px; display: flex; align-items: center; justify-content: center; }
.tnx-support-step-ico svg { width: 27px; height: 27px; display: block; }
.tnx-support-step h3 { font-size: 15px; font-weight: 700; color: var(--tnx-text); margin: 0 0 8px; }
.tnx-support-step p  { font-size: 13px; color: var(--tnx-text-muted); line-height: 1.55; margin: 0; }
/* Arrow connector */
.tnx-support-arrow { display: flex; align-items: center; justify-content: center; padding: 0 10px; flex-shrink: 0; }
.tnx-support-arrow svg { width: 30px; height: 30px; }
/* Bottom guarantee pills */
.tnx-support-pills { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; }
.tnx-support-pill  {
  display: flex; align-items: center; gap: 10px;
  padding: 13px 20px; border-radius: 14px;
  background: var(--tnx-border-xs); border: 1px solid var(--tnx-border);
  font-size: 14px; font-weight: 600; color: #C9D0DE;
  transition: border-color .25s, box-shadow .25s;
}
.tnx-support-pill:hover { border-color: rgba(139,92,246,.32); box-shadow: 0 4px 20px rgba(139,92,246,.1); }
.tnx-support-pill svg { width: 20px; height: 20px; flex-shrink: 0; }
@media (max-width: 760px) {
  .tnx-support-flow  { grid-template-columns: 1fr; gap: 24px; }
  .tnx-support-arrow { transform: rotate(90deg); }
}

/* Thumbnail strip */
.tnx-gallery-thumbs {
  display: flex;
  flex-direction: row;
  gap: 8px;
  margin-top: 12px;
  overflow-x: auto;
  padding-bottom: 4px;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,107,0,.3) transparent;
}
.tnx-gallery-thumbs::-webkit-scrollbar { height: 3px; }
.tnx-gallery-thumbs::-webkit-scrollbar-track { background: transparent; }
.tnx-gallery-thumbs::-webkit-scrollbar-thumb {
  background: rgba(255,107,0,.35); border-radius: 2px;
}
.tnx-gal-thumb {
  flex: 0 0 64px; height: 50px;
  background: #ECECEC;
  border-radius: 8px;
  overflow: hidden;
  cursor: pointer;
  border: 2px solid transparent;
  transition: border-color .2s, transform .15s, box-shadow .2s;
}
.tnx-gal-thumb img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.tnx-gal-thumb:hover {
  border-color: rgba(255,107,0,.5);
  transform: translateY(-2px);
}
.tnx-gal-thumb-active {
  border-color: #FF6B00 !important;
  box-shadow: 0 2px 14px rgba(255,107,0,.32);
  transform: translateY(-2px);
}
/* Specs column — см. определение выше (.tnx-specs-layout) */

/* ════ ЛАЙТБОКС ════ */
.tnx-lightbox {
  position: fixed; inset: 0;
  z-index: 99999;
  display: flex; align-items: center; justify-content: center;
  background: rgba(5,6,10,.93);
  opacity: 0;
  transition: opacity .3s ease;
  pointer-events: none;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.tnx-lightbox.tnx-lb-open { opacity: 1; pointer-events: all; }
.tnx-lb-img-wrap {
  max-width: 88vw; max-height: 84vh;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 0 60px rgba(255,107,0,.12), 0 24px 64px rgba(0,0,0,.65);
  background: #fff;
}
.tnx-lb-img {
  max-width: 88vw; max-height: 84vh;
  width: auto; height: auto;
  display: block; object-fit: contain;
  transition: opacity .25s ease;
}
.tnx-lb-img.tnx-fade { opacity: 0; }
.tnx-lb-close {
  position: fixed; top: 18px; right: 22px;
  width: 44px; height: 44px;
  background: rgba(15,17,23,.72);
  border: 1px solid rgba(255,107,0,.3);
  border-radius: 50%;
  color: #C0C0C0; font-size: 22px;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background .2s, color .2s, border-color .2s;
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  z-index: 100001; padding: 0; line-height: 1;
}
.tnx-lb-close:hover { background: rgba(255,107,0,.22); color: #FF6B00; border-color: #FF6B00; }
.tnx-lb-prev, .tnx-lb-next {
  position: fixed;
  top: 50%; transform: translateY(-50%);
  width: 50px; height: 50px;
  background: rgba(15,17,23,.72);
  border: 1px solid rgba(255,107,0,.3);
  border-radius: 50%;
  color: #FF6B00; font-size: 22px;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background .2s, border-color .2s, transform .15s;
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  z-index: 100001; padding: 0;
}
.tnx-lb-prev { left: 18px; }
.tnx-lb-next { right: 18px; }
.tnx-lb-prev:hover, .tnx-lb-next:hover {
  background: rgba(255,107,0,.2); border-color: #FF6B00;
  transform: translateY(-50%) scale(1.06);
}
.tnx-lb-counter {
  position: fixed;
  bottom: 26px; left: 50%; transform: translateX(-50%);
  background: rgba(15,17,23,.7);
  border: 1px solid rgba(255,107,0,.2);
  color: #A0A0A0; font-size: 13px; font-weight: 600;
  padding: 5px 18px; border-radius: 20px;
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  z-index: 100001; white-space: nowrap;
}
.tnx-lb-dots {
  position: fixed;
  bottom: 62px; left: 50%; transform: translateX(-50%);
  display: flex; gap: 7px; z-index: 100001;
}
.tnx-lb-dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: rgba(255,255,255,.22); cursor: pointer;
  transition: background .2s, transform .15s;
}
.tnx-lb-dot.active { background: #FF6B00; transform: scale(1.35); }


/* Responsive — gallery */
@media (max-width: 900px) {
  /* Переходим в одну колонку — галерея сверху, характеристики снизу */
  .tnx-specs-layout {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  /* На планшете галерея не должна занимать полный экран по высоте */
  .tnx-gallery-col { max-width: 560px; margin: 0 auto; width: 100%; }
}
@media (max-width: 600px) {
  /* Полная ширина на телефонах */
  .tnx-gallery-col {
    max-width: 100%;
    width: 100%;
    margin: 0;
  }
  .tnx-glass-card { padding: 8px; border-radius: 20px; }
  .tnx-glass-card::before { border-radius: 20px; }
  .tnx-gallery-viewer { border-radius: 14px; }
  /* Кнопки навигации чуть меньше */
  .tnx-gal-btn  { width: 36px; height: 36px; border-radius: 10px; }
  .tnx-gal-btn svg { width: 15px; height: 15px; }
  .tnx-gal-prev { left: 4px; }
  .tnx-gal-next { right: 4px; }
  /* Миниатюры компактнее */
  .tnx-gal-thumb        { flex: 0 0 52px; height: 42px; border-radius: 6px; }
  .tnx-gallery-thumbs   { gap: 6px; margin-top: 8px; }
  /* Лайтбокс на телефоне */
  .tnx-lb-img-wrap { max-width: 96vw; max-height: 70vh; border-radius: 8px; }
  .tnx-lb-img      { max-width: 96vw; max-height: 70vh; }
  .tnx-lb-prev  { left: 6px;  width: 40px; height: 40px; font-size: 18px; }
  .tnx-lb-next  { right: 6px; width: 40px; height: 40px; font-size: 18px; }
  .tnx-lb-close { top: 10px; right: 10px; width: 38px; height: 38px; font-size: 18px; }
  .tnx-lb-counter { font-size: 12px; padding: 4px 14px; bottom: 16px; }
  .tnx-lb-dots    { bottom: 44px; gap: 6px; }
}

/* ═══════════════════════════════════════════════
   FLOATING CHAT WIDGET STYLES
   ═══════════════════════════════════════════════ */
/* ─── FLOATING CHAT WIDGET ─── */
/* Widget is exactly the size of the button — everything else is absolute */
.tnx-chat-widget {
  position: fixed;
  bottom: 68px;
  right: 44px;
  z-index: 9999;
  width: 62px;
  height: 62px;
}

/* ── "Есть вопрос?" pill — sits below the button ── */
.tnx-chat-label {
  position: absolute;
  top: calc(100% + 9px);
  left: 50%;
  transform: translateX(-50%) translateY(-5px);
  /* pill styling */
  padding: 5px 12px;
  border-radius: 20px;
  background: rgba(10,12,20,0.78);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border: 1px solid rgba(139,92,246,0.20);
  box-shadow: 0 2px 14px rgba(0,0,0,0.35), inset 0 1px 0 rgba(255,255,255,0.07);
  /* text */
  font-family: 'Inter', Arial, sans-serif;
  font-size: 11px;
  font-weight: 600;
  color: rgba(200,204,220,0.80);
  white-space: nowrap;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  cursor: pointer;
  user-select: none;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.42s ease, transform 0.42s cubic-bezier(.34,1.26,.64,1), box-shadow 0.2s ease, color 0.2s ease;
}
.tnx-chat-label::after {
  content: '|';
  margin-left: 1px;
  animation: tnx-blink .75s step-end infinite;
}
/* Скрываем курсор-черточку для non-typewriter анимаций */
.tnx-chat-label.tnx-anim-nocursor::after {
  display: none;
}
@keyframes tnx-blink {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0; }
}
.tnx-chat-label.tnx-label-visible {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
  pointer-events: auto;
}
.tnx-chat-label:hover {
  color: rgba(232,236,244,0.95);
  box-shadow: 0 3px 18px rgba(139,92,246,0.20), 0 0 0 1px rgba(139,92,246,0.28), inset 0 1px 0 rgba(255,255,255,0.10);
  transform: translateX(-50%) translateY(-2px) !important;
}
/* Hide label when widget is open */
.tnx-chat-widget.tnx-chat-open .tnx-chat-label {
  opacity: 0 !important;
  transform: translateX(-50%) translateY(-5px) !important;
  pointer-events: none;
  transition: opacity 0.15s ease, transform 0.15s ease;
}

/* ── Options container — floats above button ── */
.tnx-chat-options {
  position: absolute;
  bottom: calc(100% + 12px); /* gap above button */
  right: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
  pointer-events: none;
}

/* ── Individual option pill ── */
.tnx-chat-option {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  padding: 9px 16px 9px 9px;
  border-radius: 40px;
  background: rgba(10, 12, 20, 0.84);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(255,255,255,0.09);
  box-shadow: 0 4px 24px rgba(0,0,0,0.5), inset 0 1px 0 rgba(255,255,255,0.07);
  position: relative;
  overflow: hidden;
  opacity: 0;
  transform: translateY(14px) scale(0.88);
  pointer-events: none;
  transition: opacity 0.16s ease, transform 0.16s ease, box-shadow 0.2s ease;
  white-space: nowrap;
}
.tnx-chat-option::before {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(130deg, rgba(255,255,255,0.06) 0%, transparent 55%);
  border-radius: inherit;
  pointer-events: none;
}
.tnx-chat-option:hover { transform: translateY(-2px) scale(1.03) !important; }

/* Open state — staggered spring-in (bottom → top order) */
.tnx-chat-widget.tnx-chat-open .tnx-chat-option {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}
.tnx-chat-widget.tnx-chat-open .tnx-chat-option:nth-child(4) {
  transition: opacity 0.36s ease 0.04s, transform 0.46s cubic-bezier(.34,1.56,.64,1) 0.04s, box-shadow 0.2s ease;
}
.tnx-chat-widget.tnx-chat-open .tnx-chat-option:nth-child(3) {
  transition: opacity 0.36s ease 0.10s, transform 0.46s cubic-bezier(.34,1.56,.64,1) 0.10s, box-shadow 0.2s ease;
}
.tnx-chat-widget.tnx-chat-open .tnx-chat-option:nth-child(2) {
  transition: opacity 0.36s ease 0.16s, transform 0.46s cubic-bezier(.34,1.56,.64,1) 0.16s, box-shadow 0.2s ease;
}
.tnx-chat-widget.tnx-chat-open .tnx-chat-option:nth-child(1) {
  transition: opacity 0.36s ease 0.22s, transform 0.46s cubic-bezier(.34,1.56,.64,1) 0.22s, box-shadow 0.2s ease;
}

/* ── Icon circle ── */
.tnx-chat-opt-icon {
  width: 36px; height: 36px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}

/* ── Label ── */
.tnx-chat-opt-label {
  font-family: 'Inter', Arial, sans-serif;
  font-size: 14px; font-weight: 600;
  color: var(--tnx-text);
  letter-spacing: 0.01em;
}

/* ── Brand icon colours ── */
.tnx-chat-option--tg .tnx-chat-opt-icon { background: rgba(38,161,222,0.16); border: 1px solid rgba(38,161,222,0.35); }
.tnx-chat-option--wa .tnx-chat-opt-icon { background: rgba(37,211,102,0.12); border: 1px solid rgba(37,211,102,0.30); }
.tnx-chat-option--mx .tnx-chat-opt-icon { background: rgba(139,92,246,0.16);  border: 1px solid rgba(139,92,246,0.35); }
.tnx-chat-option--em .tnx-chat-opt-icon { background: rgba(255,107,0,0.12);   border: 1px solid rgba(255,107,0,0.28); }

/* ── Hover glow per brand ── */
.tnx-chat-option--tg:hover { box-shadow: 0 6px 28px rgba(38,161,222,0.32),  inset 0 1px 0 rgba(255,255,255,0.10); }
.tnx-chat-option--wa:hover { box-shadow: 0 6px 28px rgba(37,211,102,0.26),  inset 0 1px 0 rgba(255,255,255,0.10); }
.tnx-chat-option--mx:hover { box-shadow: 0 6px 28px rgba(139,92,246,0.34),  inset 0 1px 0 rgba(255,255,255,0.10); }
.tnx-chat-option--em:hover { box-shadow: 0 6px 28px rgba(255,107,0,0.28),   inset 0 1px 0 rgba(255,255,255,0.10); }

/* ── Toggle Button — fills the widget container ── */
.tnx-chat-toggle {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  border-radius: 50%;
  border: none;
  cursor: pointer;
  background: rgba(100,50,230,0.24);
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
  box-shadow:
    0 0 0 1.5px rgba(139,92,246,0.55),
    0 8px 36px rgba(139,92,246,0.40),
    inset 0 1px 0 rgba(255,255,255,0.22);
  transition: transform 0.32s cubic-bezier(.34,1.56,.64,1), box-shadow 0.22s ease;
  display: flex; align-items: center; justify-content: center;
  outline: none;
  -webkit-tap-highlight-color: transparent;
}
/* Diagonal shine overlay */
.tnx-chat-toggle::before {
  content: '';
  position: absolute; inset: 0;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(255,255,255,0.22) 0%, transparent 58%);
  pointer-events: none;
}
.tnx-chat-toggle:hover {
  transform: scale(1.1);
  box-shadow:
    0 0 0 1.5px rgba(139,92,246,0.78),
    0 12px 46px rgba(139,92,246,0.55),
    inset 0 1px 0 rgba(255,255,255,0.26);
}

/* Idle pulse ring */
.tnx-chat-toggle::after {
  content: '';
  position: absolute; inset: -6px;
  border-radius: 50%;
  border: 2px solid rgba(139,92,246,0.50);
  animation: tnx-chat-pulse 2.6s ease-out infinite;
  pointer-events: none;
}
.tnx-chat-widget.tnx-chat-open .tnx-chat-toggle::after {
  animation: none; opacity: 0;
}
@keyframes tnx-chat-pulse {
  0%   { transform: scale(1);   opacity: 0.82; }
  70%  { transform: scale(1.45); opacity: 0; }
  100% { transform: scale(1.45); opacity: 0; }
}

/* ── Icon states (open ↔ close swap) ── */
.tnx-chat-icon {
  position: absolute;
  display: flex; align-items: center; justify-content: center;
  transition: opacity 0.28s ease, transform 0.38s cubic-bezier(.34,1.56,.64,1);
}
.tnx-chat-icon--open  { opacity: 1; transform: rotate(0deg)   scale(1);   }
.tnx-chat-icon--close { opacity: 0; transform: rotate(-90deg) scale(0.3); }

.tnx-chat-widget.tnx-chat-open .tnx-chat-icon--open  { opacity: 0; transform: rotate(90deg) scale(0.3); }
.tnx-chat-widget.tnx-chat-open .tnx-chat-icon--close { opacity: 1; transform: rotate(0deg)  scale(1);   }

/* ── Позиции виджета ───────────────────────────────────────── */
/* bottom-right — дефолт (уже задан в .tnx-chat-widget) */
.tnx-chat-pos--bottom-left  { right: auto; left:  44px; }
.tnx-chat-pos--top-right    { bottom: auto; top:  68px; }
.tnx-chat-pos--top-left     { bottom: auto; right: auto; top: 68px; left: 44px; }

/* Для вариантов «сверху» — менюшка раскрывается вниз, метка уходит вверх */
.tnx-chat-pos--top-right .tnx-chat-options,
.tnx-chat-pos--top-left  .tnx-chat-options {
  bottom: auto;
  top: calc(100% + 12px);
  flex-direction: column-reverse; /* items идут вниз */
}
.tnx-chat-pos--top-right .tnx-chat-label,
.tnx-chat-pos--top-left  .tnx-chat-label {
  top: auto;
  bottom: calc(100% + 9px);
  transform: translateX(-50%) translateY(5px);
}
.tnx-chat-pos--top-right .tnx-chat-label.tnx-label-visible,
.tnx-chat-pos--top-left  .tnx-chat-label.tnx-label-visible {
  transform: translateX(-50%) translateY(0);
}
.tnx-chat-pos--top-right .tnx-chat-label:hover,
.tnx-chat-pos--top-left  .tnx-chat-label:hover {
  transform: translateX(-50%) translateY(2px) !important;
}
.tnx-chat-widget.tnx-chat-open.tnx-chat-pos--top-right .tnx-chat-label,
.tnx-chat-widget.tnx-chat-open.tnx-chat-pos--top-left  .tnx-chat-label {
  transform: translateX(-50%) translateY(5px) !important;
}

/* Для left-вариантов — менюшка выравнивается по левому краю кнопки */
.tnx-chat-pos--bottom-left .tnx-chat-options,
.tnx-chat-pos--top-left    .tnx-chat-options {
  right: auto;
  left: 0;
  align-items: flex-start;
}

/* Анимации появления option-пиллов для top-позиций (снизу вверх → сверху вниз) */
.tnx-chat-pos--top-right.tnx-chat-open .tnx-chat-option,
.tnx-chat-pos--top-left.tnx-chat-open  .tnx-chat-option {
  transform: translateX(0) translateY(0) !important;
  opacity: 1 !important;
  pointer-events: auto;
}

/* ── iOS Safari: запрет автозума при фокусе на инпут ──────────────
   Safari зумит страницу если font-size инпута < 16px.
   Устанавливаем минимум 16px на мобиле для всех полей ввода.
   Визуально разница 15→16px незаметна.
   ────────────────────────────────────────────────────────────────── */
@media (max-width: 700px) {
  input, textarea, select {
    font-size: 16px !important;
  }

  /*
   * Подпись виджета визуальная: на узком экране она может оказаться поверх
   * кнопок формы (в частности «Назад»/«Далее» в checkout). Открытие чата
   * остаётся на круглой кнопке, а касания сквозь подпись доходят до формы.
   */
  .tnx-chat-label.tnx-label-visible {
    pointer-events: none;
  }

  .tnx-chat-widget {
    transition: opacity .18s ease, transform .18s ease;
  }
  .tnx-chat-widget.tnx-chat-clear-actions {
    opacity: 0;
    pointer-events: none;
    transform: translateY(10px) scale(.94);
  }
}

/* ╔═ STICKY CTA — чтобы откатить: удалить от этой строки до /STICKY CTA ═╗ */

/* Кнопка «Купить» в хедере скрыта до скролла (на главной), на остальных — видна сразу */
.tnx-nav-cta {
  opacity: 0;
  transform: translateY(-5px);
  pointer-events: none;
  transition: opacity .25s, transform .25s;
}
.tnx-nav-cta.tnx-cta-visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

/* ╚═ /STICKY CTA ══════════════════════════════════════════════════════════╝ */

/* ╔═ MOBILE FLOATING CTA ════════════════════════════════════════════════════╗ */
.tnx-mob-cta {
  display: none; /* только мобиль */
}

@media (max-width: 700px) {
  .tnx-mob-cta {
    display: flex;
    align-items: center;
    gap: 8px;
    position: fixed;
    bottom: calc(24px + env(safe-area-inset-bottom, 0px)); /* safe area для iPhone */
    left: 50%;
    transform: translateX(-50%) translateY(calc(100% + 32px)); /* скрыт за нижним краем */
    z-index: 994;

    background: linear-gradient(135deg, #FF6B00 0%, #FF9F40 100%);
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .3px;
    text-decoration: none;
    white-space: nowrap;
    padding: 15px 34px 15px 28px;
    border-radius: 50px;

    /* Двойная тень: цветное свечение + тёмная подложка */
    box-shadow:
      0 8px 28px rgba(255, 107, 0, .55),
      0 2px 8px  rgba(0, 0, 0, .30);

    opacity: 0;
    pointer-events: none;
    transition:
      transform .42s cubic-bezier(.34, 1.56, .64, 1),
      opacity   .28s ease;
  }

  .tnx-mob-cta svg {
    flex-shrink: 0;
    filter: drop-shadow(0 0 4px rgba(255,255,255,.4));
  }

  /* Состояние «видима» */
  .tnx-mob-cta.tnx-mob-cta--visible {
    transform: translateX(-50%) translateY(0);
    opacity: 1;
    pointer-events: auto;
  }

  /* Нажатие */
  .tnx-mob-cta:active {
    transform: translateX(-50%) translateY(3px) scale(.96);
    box-shadow: 0 4px 16px rgba(255, 107, 0, .4), 0 1px 4px rgba(0,0,0,.25);
    transition: transform .1s ease, box-shadow .1s ease;
  }
}
/* ╚═ /MOBILE FLOATING CTA ══════════════════════════════════════════════════╝ */


/* ╔═ CTA BLOCK V2 ══════════════════════════════════════════════════════════╗ */
.tnx-cta2-section {
  position: relative;
  overflow: hidden;
}
.tnx-cta2-section::before {
  content: '';
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 70% 60% at 20% 50%, rgba(255,107,0,.07) 0%, transparent 65%),
    radial-gradient(ellipse 60% 70% at 80% 40%, rgba(139,92,246,.09) 0%, transparent 65%);
  pointer-events: none;
}

.tnx-cta2-wrap {
  max-width: 860px;
  margin: 0 auto;
  text-align: center;
  position: relative; z-index: 1;
}

/* ── Сетка карточек ── */
.tnx-cta2-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin: 36px 0 28px;
  text-align: left;
}

/* ── Базовая карточка ── */
.tnx-cta2-card {
  position: relative;
  border-radius: 24px;
  padding: 32px 28px 28px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform .3s, box-shadow .3s;
}
.tnx-cta2-card::after {
  content: ''; position: absolute; inset: 0; border-radius: 24px;
  background: linear-gradient(145deg, rgba(255,255,255,.045) 0%, transparent 40%);
  pointer-events: none;
}

/* ── Оранжевая (стандарт) ── */
.tnx-cta2-orange {
  background: linear-gradient(145deg, #1E1409 0%, #110F14 100%);
  border: 1px solid rgba(255,107,0,.32);
  border-top-color: rgba(255,155,55,.52);
  box-shadow: 0 4px 36px rgba(255,107,0,.08), inset 0 1px 0 rgba(255,145,40,.12);
}
.tnx-cta2-orange::before {
  content: ''; position: absolute; top: -80px; right: -60px;
  width: 240px; height: 240px; border-radius: 50%;
  background: radial-gradient(circle, rgba(255,107,0,.18) 0%, transparent 65%);
  pointer-events: none;
}
.tnx-cta2-orange:hover {
  transform: translateY(-5px);
  box-shadow: 0 18px 52px rgba(255,107,0,.20), inset 0 1px 0 rgba(255,145,40,.16);
}

/* ── Фиолетовая (расширенная/рекомендуем) ── */
.tnx-cta2-purple {
  background: linear-gradient(145deg, #130C22 0%, #0D0B17 100%);
  border: 1px solid rgba(139,92,246,.42);
  border-top-color: rgba(167,139,250,.60);
  box-shadow: 0 4px 40px rgba(139,92,246,.12), inset 0 1px 0 rgba(167,139,250,.16);
}
.tnx-cta2-purple::before {
  content: ''; position: absolute; top: -80px; right: -60px;
  width: 240px; height: 240px; border-radius: 50%;
  background: radial-gradient(circle, rgba(139,92,246,.24) 0%, transparent 65%);
  pointer-events: none;
}
.tnx-cta2-purple:hover {
  transform: translateY(-5px);
  box-shadow: 0 18px 52px rgba(139,92,246,.24), inset 0 1px 0 rgba(167,139,250,.20);
}

/* ── Бейдж «Рекомендуем» ── */
.tnx-cta2-badge {
  position: absolute; top: 18px; right: 18px;
  background: linear-gradient(135deg, #7C3AED, #A78BFA);
  color: #fff; font-size: 11px; font-weight: 700;
  padding: 4px 13px; border-radius: 100px; letter-spacing: .3px;
  z-index: 3;
}

/* ── Метка памяти ── */
.tnx-cta2-mem {
  display: inline-flex; align-items: center;
  border-radius: 100px; padding: 4px 13px;
  font-size: 13px; font-weight: 700;
  margin-bottom: 8px;
  position: relative; z-index: 1;
}
.tnx-cta2-orange .tnx-cta2-mem {
  background: rgba(255,107,0,.12); border: 1px solid rgba(255,107,0,.28); color: #FFA940;
}
.tnx-cta2-purple .tnx-cta2-mem {
  background: rgba(139,92,246,.12); border: 1px solid rgba(139,92,246,.30); color: #C4B5FD;
}

/* ── Тип версии ── */
.tnx-cta2-type {
  font-size: 12px; color: var(--tnx-text-muted);
  text-transform: uppercase; letter-spacing: .5px;
  margin-bottom: 10px;
  position: relative; z-index: 1;
}

/* ── Цена ── */
.tnx-cta2-price {
  font-size: 52px; font-weight: 900; line-height: 1;
  margin-bottom: 22px;
  position: relative; z-index: 1;
}
.tnx-cta2-price sup { font-size: 20px; font-weight: 700; vertical-align: super; }
.tnx-cta2-orange .tnx-cta2-price {
  background: linear-gradient(135deg, #FF6B00, #FFA940);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
.tnx-cta2-purple .tnx-cta2-price {
  background: linear-gradient(135deg, #9F67FF, #C4B5FD);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}

/* ── Плюшки ── */
.tnx-cta2-perks {
  display: flex; flex-direction: column; gap: 8px;
  margin-bottom: 24px; flex: 1;
  position: relative; z-index: 1;
}
.tnx-cta2-perk {
  display: flex; align-items: center; gap: 8px;
  font-size: 13px; color: #B4BCCE;
}
.tnx-cta2-perk::before {
  content: '✓';
  display: inline-flex; align-items: center; justify-content: center;
  width: 18px; height: 18px; flex-shrink: 0;
  background: rgba(34,197,94,.14); color: #22C55E;
  border-radius: 50%; font-size: 10px; font-weight: 900;
}
.tnx-cta2-perk--purple { color: #C4B5FD; font-weight: 600; }
.tnx-cta2-purple .tnx-cta2-perk--purple::before {
  background: rgba(139,92,246,.20); color: #A78BFA;
}
.tnx-cta2-card .tnx-btn {
  width: 100%; justify-content: center;
  position: relative; z-index: 1;
  font-size: 15px; padding: 15px 20px;
}

/* ── Строка доверия ── */
.tnx-cta2-trust {
  display: flex; justify-content: center;
  gap: 10px; flex-wrap: wrap;
}
.tnx-cta2-trust-item {
  display: flex; align-items: center; gap: 7px;
  font-size: 13px; color: var(--tnx-text-muted);
  background: rgba(255,255,255,.038);
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 100px; padding: 8px 16px;
  transition: border-color .2s, color .2s;
}
.tnx-cta2-trust-item:hover { border-color: rgba(255,255,255,.14); color: #C8CDD8; }
.tnx-cta2-trust-item svg { width: 15px; height: 15px; flex-shrink: 0; }

@media (max-width: 640px) {
  .tnx-cta2-grid { grid-template-columns: 1fr; }
  .tnx-cta2-price { font-size: 44px; }
}
/* ╚═ /CTA BLOCK V2 ═══════════════════════════════════════════════════════════╝ */


/* ╔═ CTA BLOCK V3 — Cinema / Projector ════════════════════════════════════╗ */
.tnx-cta3-section {
  position: relative;
  background: #06070D;
  overflow: hidden;
  padding: 96px 0 80px;
}

/* ── Луч проектора ── */
.tnx-cta3-beam {
  position: absolute;
  top: 0; left: 50%;
  transform: translateX(-50%);
  width: 0; height: 0;
  border-left: 420px solid transparent;
  border-right: 420px solid transparent;
  border-top: 720px solid transparent;
  pointer-events: none; z-index: 1;
  /* Cone via clip-path + gradient background */
  width: 1400px; height: 100%;
  border: none;
  background: conic-gradient(
    from 270deg at 50% 0%,
    transparent        0deg,
    rgba(255,210,100,.02) 10deg,
    rgba(255,220,130,.05) 16deg,
    rgba(255,235,160,.09) 20deg,
    rgba(255,235,160,.09) 24deg,
    rgba(255,220,130,.05) 28deg,
    rgba(255,210,100,.02) 34deg,
    transparent        44deg
  );
  animation: tnx-beam-flicker 6s ease-in-out infinite;
}
@keyframes tnx-beam-flicker {
  0%,100% { opacity: 1; }
  30%     { opacity: .80; }
  32%     { opacity: .95; }
  62%     { opacity: .85; }
  64%     { opacity: 1; }
}

/* ── Линза проектора (сверху по центру) ── */
.tnx-cta3-lens {
  position: absolute;
  top: -22px; left: 50%;
  transform: translateX(-50%);
  width: 44px; height: 44px;
  border-radius: 50%;
  background: radial-gradient(circle at 40% 38%, #fff9e8 0%, #FFD96A 28%, #FF8C00 62%, #6B3000 100%);
  box-shadow:
    0 0 18px 8px  rgba(255,180,60,.50),
    0 0 60px 20px rgba(255,140,30,.25),
    0 0 120px 40px rgba(255,100,0,.12);
  z-index: 4;
  animation: tnx-lens-pulse 6s ease-in-out infinite;
}
@keyframes tnx-lens-pulse {
  0%,100% { box-shadow: 0 0 18px 8px rgba(255,180,60,.50), 0 0 60px 20px rgba(255,140,30,.25), 0 0 120px 40px rgba(255,100,0,.12); }
  30%     { box-shadow: 0 0 12px 5px rgba(255,180,60,.35), 0 0 40px 14px rgba(255,140,30,.18), 0 0 90px  30px rgba(255,100,0,.09); }
  32%     { box-shadow: 0 0 20px 9px rgba(255,180,60,.55), 0 0 70px 22px rgba(255,140,30,.28), 0 0 130px 44px rgba(255,100,0,.14); }
}

/* ── Зерно плёнки ── */
.tnx-cta3-grain {
  position: absolute; inset: 0; z-index: 2;
  opacity: .032; pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.72' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");
  animation: tnx-grain-move .12s steps(1) infinite;
}
@keyframes tnx-grain-move {
  0%   { transform: translate(0,0); }
  25%  { transform: translate(-3px, 2px); }
  50%  { transform: translate(2px,-3px); }
  75%  { transform: translate(-2px, 3px); }
}

/* ── Кинолента — левая и правая полосы ── */
.tnx-cta3-strip {
  position: absolute;
  top: 0; bottom: 0;
  width: 36px;
  background: #0A0B12;
  z-index: 3;
}
.tnx-cta3-strip--l { left: 0; border-right: 1px solid var(--tnx-border-xs); }
.tnx-cta3-strip--r { right: 0; border-left:  1px solid var(--tnx-border-xs); }

/* Перфорация (спрокеты) */
.tnx-cta3-strip::before,
.tnx-cta3-strip::after {
  content: '';
  position: absolute;
  top: 0; bottom: 0;
  left: 50%; transform: translateX(-50%);
  width: 16px;
  background: repeating-linear-gradient(
    to bottom,
    transparent      0px,
    transparent      8px,
    var(--tnx-border) 8px,
    var(--tnx-border) 22px,
    transparent      22px,
    transparent      30px
  );
}

/* ── Контент ── */
.tnx-cta3-wrap {
  position: relative; z-index: 5;
  text-align: center;
  max-width: 660px; margin: 0 auto;
  padding: 0 20px;
}

.tnx-cta3-eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 2.5px;
  color: #FF9F40;
  margin-bottom: 28px;
}
.tnx-cta3-eyebrow::before,
.tnx-cta3-eyebrow::after {
  content: '';
  display: inline-block; width: 28px; height: 1px;
  background: rgba(255,159,64,.35);
}

.tnx-cta3-h2 {
  font-size: clamp(34px, 5.5vw, 60px);
  font-weight: 900;
  line-height: 1.1;
  color: #EEE8DF;
  letter-spacing: -.5px;
  margin-bottom: 18px;
  text-shadow: 0 0 80px rgba(255,200,80,.14);
}

.tnx-cta3-sub {
  font-size: 17px;
  color: #4A5060;
  line-height: 1.7;
  margin-bottom: 44px;
}

/* Кнопка — круглая, с оранжевым свечением */
.tnx-cta3-btn {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  font-size: 17px !important;
  font-weight: 700 !important;
  padding: 18px 52px !important;
  border-radius: 100px !important;
  background: linear-gradient(135deg, #E85E00, #FF8C00, #FFA940) !important;
  color: #fff !important;
  text-decoration: none;
  box-shadow:
    0 0 0 1px rgba(255,140,0,.3),
    0 0 40px 0  rgba(255,107,0,.40),
    0 8px 28px  rgba(255,107,0,.30) !important;
  transition: transform .28s, box-shadow .28s !important;
  letter-spacing: .2px;
  margin-bottom: 32px;
}
.tnx-cta3-btn:hover {
  transform: translateY(-4px) scale(1.03) !important;
  box-shadow:
    0 0 0 1px rgba(255,140,0,.4),
    0 0 70px 0  rgba(255,107,0,.55),
    0 16px 42px rgba(255,107,0,.40) !important;
}

/* Доверительные данные */
.tnx-cta3-trust {
  font-size: 13px;
  color: #2C3040;
  line-height: 2.2;
  letter-spacing: .1px;
}
.tnx-cta3-trust span {
  display: inline-flex; align-items: center; gap: 5px;
  color: #383E50;
}
.tnx-cta3-trust span + span { margin-left: 16px; }
.tnx-cta3-trust span + span::before {
  content: '·';
  color: #1E2230;
  margin-right: 16px;
}

@media (max-width: 680px) {
  .tnx-cta3-strip { display: none; }
  .tnx-cta3-h2 { font-size: 32px; }
  .tnx-cta3-section { padding: 72px 0 64px; }
  .tnx-cta3-btn { padding: 16px 36px !important; font-size: 15px !important; }
}
/* ╚═ /CTA BLOCK V3 ════════════════════════════════════════════════════════╝ */

/* ═══════════════════════════════════════════════════════════════════
   LIGHT THEME OVERRIDES
   Переопределяем специфичные тёмные элементы для светлой темы.
   Применяется только при [data-theme="light"] на <html>.
   ═══════════════════════════════════════════════════════════════════ */

/* ── Навигация ── */
[data-theme="light"] .tnx-nav {
  background: rgba(245,243,255,.95);
  border-bottom-color: rgba(100,80,200,.12);
}
[data-theme="light"] .tnx-nav-links a { color: #6B6890; }
[data-theme="light"] .tnx-nav-links a:hover { color: #1A1630; }
[data-theme="light"] .tnx-nav-logo { color: #1A1630; }
/* Мобильное меню */
[data-theme="light"] .tnx-nav-links {
  background: rgba(240,237,255,.97);
  border-bottom-color: rgba(100,80,200,.1);
}
[data-theme="light"] .tnx-nav-links a {
  border-bottom-color: rgba(100,80,200,.06);
}
[data-theme="light"] .tnx-burger {
  background: rgba(100,80,200,.06);
  border-color: rgba(100,80,200,.14);
}
[data-theme="light"] .tnx-burger:hover { background: rgba(100,80,200,.1); }
[data-theme="light"] .tnx-burger span { background: #6B6890; }

/* ── Hero ── */
[data-theme="light"] .tnx-hero { background: var(--tnx-bg); }
[data-theme="light"] .tnx-hero-glow-a {
  background: radial-gradient(circle, rgba(255,107,0,.1) 0%, transparent 65%);
}
[data-theme="light"] .tnx-hero-glow-b {
  background: radial-gradient(circle, rgba(0,150,255,.06) 0%, transparent 65%);
}
[data-theme="light"] .tnx-hero-grid-bg {
  background-image: linear-gradient(rgba(100,80,200,.04) 1px, transparent 1px),
                    linear-gradient(90deg, rgba(100,80,200,.04) 1px, transparent 1px);
}
[data-theme="light"] .tnx-hero-img-wrap {
  background: radial-gradient(ellipse 80% 65% at 50% 70%, rgba(255,107,0,.12) 0%, rgba(245,243,255,0) 65%), #FFFFFF;
  border-color: rgba(255,107,0,.2);
}
[data-theme="light"] .tnx-img-rating {
  background: rgba(255,255,255,.9);
  border-color: rgba(255,107,0,.3);
  color: #1A1630;
  box-shadow: 0 4px 16px rgba(0,0,0,.1);
}
[data-theme="light"] .tnx-hero-stats {
  border-top-color: rgba(100,80,200,.12);
}

/* ── Секции ── */
[data-theme="light"] .tnx-section-alt { background: var(--tnx-bg-alt); }
[data-theme="light"] .tnx-section-alt + .tnx-section-alt {
  border-top-color: rgba(100,80,200,.1);
}
[data-theme="light"] .tnx-section:not(.tnx-section-alt) + .tnx-section:not(.tnx-section-alt) {
  border-top-color: rgba(100,80,200,.06);
}

/* ── Кнопки ── */
[data-theme="light"] .tnx-btn-ghost {
  background: rgba(100,80,200,.06);
  border-color: rgba(100,80,200,.18);
  color: #1A1630;
}
[data-theme="light"] .tnx-btn-ghost:hover { background: rgba(100,80,200,.1); }

/* ── Карусель приложений ── */
[data-theme="light"] .tnx-carousel-outer::before {
  background: linear-gradient(to right, var(--tnx-bg) 0%, transparent 100%);
}
[data-theme="light"] .tnx-carousel-outer::after {
  background: linear-gradient(to left, var(--tnx-bg) 0%, transparent 100%);
}
[data-theme="light"] .tnx-ac-card {
  background: #FFFFFF;
  border-color: rgba(100,80,200,.12);
  box-shadow: 0 2px 8px rgba(100,80,200,.06);
}
[data-theme="light"] .tnx-ac-card:hover {
  border-color: rgba(255,107,0,.3);
  box-shadow: 0 8px 24px rgba(100,80,200,.1), 0 0 20px rgba(255,107,0,.06);
}
[data-theme="light"] .tnx-cdot { background: rgba(100,80,200,.2); }

/* ── Firmware cards ── */
[data-theme="light"] .tnx-fw-card {
  background: linear-gradient(135deg, #FFFFFF, #F5F3FF);
  border-color: rgba(255,107,0,.25);
  box-shadow: 0 4px 24px rgba(100,80,200,.08);
}
[data-theme="light"] .tnx-app-card {
  background: #FFFFFF;
  border-color: rgba(100,80,200,.1);
}
[data-theme="light"] .tnx-app-card:hover { border-color: rgba(255,107,0,.25); }

/* ── Features ── */
[data-theme="light"] .tnx-feat-card {
  background: #FFFFFF;
  border-color: rgba(100,80,200,.1);
  box-shadow: 0 2px 12px rgba(100,80,200,.06);
}
[data-theme="light"] .tnx-feat-card:hover {
  border-color: rgba(100,80,200,.2);
  box-shadow: 0 8px 28px rgba(100,80,200,.1);
}

/* ── Specs ── */
[data-theme="light"] .tnx-specs-table {
  background: #FFFFFF;
  border-color: rgba(100,80,200,.1);
  box-shadow: 0 2px 12px rgba(100,80,200,.06);
}
[data-theme="light"] .tnx-spec-head {
  background: #F5F3FF;
  border-bottom-color: rgba(100,80,200,.1);
}
[data-theme="light"] .tnx-spec-row { border-bottom-color: rgba(100,80,200,.07); }
[data-theme="light"] .tnx-spec-row:hover { background: rgba(255,107,0,.03); }

/* ── Price cards ── */
[data-theme="light"] .tnx-price-orange {
  background: linear-gradient(150deg, #FFF4EC 0%, #FFF0E5 45%, #F5F3FF 100%);
  border-color: rgba(255,107,0,.3);
  border-top-color: rgba(255,107,0,.45);
  box-shadow: 0 4px 40px rgba(255,107,0,.06);
}
[data-theme="light"] .tnx-price-orange:hover {
  box-shadow: 0 18px 56px rgba(255,107,0,.15);
}
[data-theme="light"] .tnx-price-purple {
  background: linear-gradient(150deg, #F0EDFF 0%, #EAE5FF 45%, #F5F3FF 100%);
  border-color: rgba(139,92,246,.3);
  border-top-color: rgba(139,92,246,.45);
  box-shadow: 0 4px 40px rgba(139,92,246,.07);
}
[data-theme="light"] .tnx-price-purple:hover {
  box-shadow: 0 18px 56px rgba(139,92,246,.18);
}
[data-theme="light"] .tnx-perk { color: #1A1630; }

/* ── Price variant 2 cards ── */
[data-theme="light"] .tnx-pc2-card {
  background: #FFFFFF;
  border-color: rgba(100,80,200,.12);
  box-shadow: 0 2px 12px rgba(100,80,200,.07);
}
[data-theme="light"] .tnx-pc2-body { border-top-color: rgba(100,80,200,.1); }
[data-theme="light"] .tnx-pc2-perk { color: #1A1630; }
[data-theme="light"] .tnx-pc2-sep-line { background: rgba(100,80,200,.12); }

/* ── Reviews ── */
[data-theme="light"] .tnx-rev-card {
  background: #FFFFFF;
  border-color: rgba(100,80,200,.1);
  box-shadow: 0 2px 10px rgba(100,80,200,.06);
}
[data-theme="light"] .tnx-rev-card:hover { border-color: rgba(255,107,0,.2); }
[data-theme="light"] .tnx-rev-text { color: #1A1630; }

/* ── CTA / Form ── */
[data-theme="light"] .tnx-cta-wrap {
  background: radial-gradient(ellipse 80% 70% at 50% 50%, rgba(255,107,0,.07) 0%, transparent 70%);
  border-color: rgba(255,107,0,.18);
}
[data-theme="light"] .tnx-input {
  background: #FFFFFF;
  border-color: rgba(100,80,200,.18);
  color: #1A1630;
}
[data-theme="light"] .tnx-input::placeholder { color: #9E9BBC; }
[data-theme="light"] .tnx-input:focus { border-color: #FF6B00; }

/* ── Originality ── */
[data-theme="light"] .tnx-orig-icon-clock {
  background: rgba(100,80,200,.07);
  border-color: rgba(100,80,200,.15);
}
[data-theme="light"] .tnx-cert-frame {
  background: linear-gradient(145deg, #FFFFFF, #F5F3FF);
  border-color: rgba(255,107,0,.3);
}

/* ── Delivery cards ── */
[data-theme="light"] .tnx-dlv-card {
  background: linear-gradient(160deg, #FFFFFF 0%, #F8F6FF 100%);
  border-color: rgba(100,80,200,.1);
  box-shadow: 0 2px 12px rgba(100,80,200,.06);
}
[data-theme="light"] .tnx-dlv-card:hover {
  border-color: rgba(100,80,200,.2);
  box-shadow: 0 8px 28px rgba(100,80,200,.1);
}

/* ── Footer ── */
[data-theme="light"] .tnx-footer {
  background: #EDE9F8;
  border-top-color: rgba(100,80,200,.12);
  color: #6B6890;
}
[data-theme="light"] .tnx-footer a { color: #6B6890; }
[data-theme="light"] .tnx-footer a:hover { color: #1A1630; }

/* ── Mobile CTA ── */
[data-theme="light"] .tnx-mob-cta {
  background: linear-gradient(135deg, #FF6B00, #FF9F40);
  color: #fff;
}

/* ── Scrollbar ── */
[data-theme="light"] * {
  scrollbar-color: rgba(100,80,200,.2) transparent;
}
[data-theme="light"] ::-webkit-scrollbar-thumb {
  background: rgba(100,80,200,.2);
}

/* Анимации вне экрана не расходуют кадры прокрутки. Положение и внешний вид
   сохраняются: при приближении секции анимация продолжается с того же места. */
.tnx-motion-paused,
.tnx-motion-paused::before,
.tnx-motion-paused::after,
html.tnx-document-hidden *,
html.tnx-document-hidden *::before,
html.tnx-document-hidden *::after {
  animation-play-state: paused !important;
}
