/* ═══ Kronos Shop — единый дизайн-слой v1 ═══
   Палитра: фон #0b1620, поверхности #0f2130/#10222f, акцент бирюзовый #2dd4ee, тёплый акцент (хит) #ffc24a.
   Без бесконечных анимаций на карточках: только hover и выбор. */
:root{
  --ks-surf:#0f2130; --ks-surf2:#0b1823; --ks-line:rgba(120,210,225,.13); --ks-line-hi:rgba(45,212,238,.5);
  --ks-acc:#2dd4ee; --ks-acc-soft:#7af1ff; --ks-acc-bg:rgba(45,212,238,.10); --ks-text:#e6f4f8; --ks-mut:rgba(200,225,235,.55);
  --ks-warm:#ffc24a;
}

/* ───────── Главная: карточки каталога ───────── */
html body .ks-grid{gap:16px}
html body .ks-card{
  animation:none !important; filter:none !important;
  background:linear-gradient(180deg,#112534 0%,#0b1823 100%) !important;
  border:1px solid var(--ks-line) !important; border-radius:20px !important;
  box-shadow:0 10px 26px rgba(0,0,0,.28) !important;
  backdrop-filter:none !important; -webkit-backdrop-filter:none !important;
  transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s,border-color .28s !important;
}
html body .ks-card::after{display:none !important}
html body .ks-card:hover{
  transform:translateY(-4px) !important; filter:none !important;
  border-color:var(--ks-line-hi) !important;
  box-shadow:0 18px 40px rgba(0,0,0,.45),0 0 0 1px rgba(45,212,238,.16) !important;
}
html body .ks-card-photo{border-radius:0}
html body .ks-card-photo img{transition:transform .5s cubic-bezier(.22,1,.36,1)}
html body .ks-card-subcard{padding:10px 10px 12px;background:transparent}
html body .ks-card-cta-btn{
  animation:none !important; background:var(--ks-acc-bg) !important; color:var(--ks-acc-soft) !important;
  border:1px solid rgba(45,212,238,.24); border-radius:12px; padding:12px 10px;
  font:700 13px/1 'Inter',sans-serif; letter-spacing:.01em;
  transition:background .25s,color .25s,border-color .25s,transform .25s;
}
html body .ks-card-cta-shine{display:none !important}
html body .ks-card-cta-btn::after{content:'→';display:inline-block;transition:transform .25s}
html body .ks-card:hover .ks-card-cta-btn{
  background:linear-gradient(135deg,#2dd4ee,#1fb6d3) !important; color:#04222a !important;
  border-color:transparent; filter:none !important;
}
html body .ks-card:hover .ks-card-cta-btn::after{transform:translateX(4px)}

/* верхний баннер-слайдер */
html body .ks-slider{animation:none !important;border:1px solid var(--ks-line-hi);box-shadow:0 14px 40px rgba(0,0,0,.4) !important}

/* ───────── Главная: блок «Пополнить Steam» ───────── */
html body .ks-steam-block{
  background:linear-gradient(160deg,#112534 0%,#0a1620 100%) !important;
  border:1px solid var(--ks-line) !important; border-radius:26px !important;
  padding:26px 28px 22px !important;
  box-shadow:0 18px 50px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.05) !important;
}
html body .ks-steam-block::before{width:300px !important;height:300px !important;top:-140px !important;right:-90px !important;background:radial-gradient(circle,rgba(45,212,238,.14),transparent 70%) !important}
html body .ks-steam-block::after{display:none !important}
html body .ks-steam-head{gap:16px !important;margin-bottom:20px !important}
html body .ks-steam-icon{
  width:60px !important;height:60px !important;border-radius:18px !important;flex-shrink:0;
  background:linear-gradient(145deg,#1d4057,#132a3b) !important; border:1px solid rgba(45,212,238,.32) !important;
  box-shadow:0 8px 22px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.14) !important;
  animation:none !important; filter:none !important; color:#fff !important;
  display:flex;align-items:center;justify-content:center;
}
html body .ks-steam-icon svg{width:34px !important;height:34px !important}
html body .ks-steam-title{background:none !important;-webkit-text-fill-color:#fff !important;color:#fff !important;font:800 22px/1.2 'Inter',sans-serif !important;letter-spacing:-.015em !important}
html body .ks-steam-sub{font-size:13px !important;color:var(--ks-mut) !important;margin-top:4px !important}

html body .ks-steam-quick{display:grid !important;grid-template-columns:repeat(6,1fr);gap:8px !important;margin-bottom:16px !important}
html body .steam-quick{
  position:relative; padding:13px 6px !important; border-radius:13px !important; text-align:center;
  background:rgba(255,255,255,.04) !important; border:1px solid rgba(255,255,255,.1) !important;
  color:rgba(220,238,244,.78) !important; font:700 14px/1 'Inter',sans-serif !important; backdrop-filter:none !important;
  transition:border-color .2s,background .2s,color .2s,transform .2s !important;
}
html body .steam-quick:hover{transform:translateY(-2px) !important;border-color:rgba(45,212,238,.45) !important;color:#fff !important}
html body .steam-quick.sel,html body .steam-quick:active{
  background:var(--ks-acc-bg) !important; border-color:var(--ks-acc) !important; color:var(--ks-acc-soft) !important;
  box-shadow:0 0 0 3px rgba(45,212,238,.12) !important; transform:none !important;
}
html body .steam-quick-hot::after{
  content:'Хит';position:absolute;top:-8px;right:8px;left:auto;white-space:nowrap;animation:none !important;
  font-size:9px;font-weight:800;letter-spacing:.04em;color:#2b1d00;
  background:var(--ks-warm);padding:2px 7px;border-radius:7px;box-shadow:0 2px 8px rgba(255,194,74,.35);
}

html body .ks-steam-grid{grid-template-columns:1fr 1fr !important;gap:12px !important}
html body .ks-steam-field{
  background:rgba(255,255,255,.035) !important; border:1px solid rgba(255,255,255,.1) !important;
  border-radius:14px !important; padding:13px 16px !important; min-height:74px;
}
html body .ks-steam-field:focus-within{border-color:var(--ks-acc) !important;background:rgba(45,212,238,.05) !important;box-shadow:0 0 0 3px rgba(45,212,238,.1) !important}
html body .ks-steam-field-label{margin-bottom:6px !important}
html body .ks-steam-field-label span:first-child{color:rgba(200,225,235,.5) !important;font-size:11px !important;letter-spacing:.08em}
html body .ks-steam-field input{font-size:16px !important;font-weight:700 !important}
html body .ks-steam-convert{min-height:0 !important;margin-top:4px !important}
html body .ks-steam-side{
  grid-column:1/-1; display:grid !important; grid-template-columns:1.25fr 1fr; gap:12px !important; min-width:0 !important; align-items:stretch;
}
html body .ks-steam-pays{gap:8px !important}
html body .ks-steam-pay{
  position:relative; height:56px !important; border-radius:14px !important;
  background:rgba(255,255,255,.035) !important; border:1px solid rgba(255,255,255,.1) !important;
}
html body .ks-steam-pay img{height:24px !important}
html body .ks-steam-pay:hover{transform:none !important;border-color:rgba(45,212,238,.4) !important}
html body .ks-steam-pay.sel{border-color:var(--ks-acc) !important;background:var(--ks-acc-bg) !important;box-shadow:0 0 0 3px rgba(45,212,238,.12) !important}
html body .ks-steam-pay.sel::after{
  content:'✓';position:absolute;top:-7px;right:-7px;width:18px;height:18px;border-radius:50%;
  background:var(--ks-acc);color:#04222a;font-size:11px;font-weight:900;display:flex;align-items:center;justify-content:center;
}
html body .ks-steam-submit{
  position:relative; overflow:hidden; height:56px !important; border-radius:14px !important;
  display:flex !important; align-items:center; justify-content:space-between; padding:0 20px !important;
  background:linear-gradient(135deg,#2dd4ee,#1fb6d3) !important; animation:none !important; color:#04222a !important;
  box-shadow:0 10px 26px rgba(45,212,238,.26) !important;
}
html body .ks-steam-submit::before{display:none !important}
html body .ks-steam-submit:hover{transform:translateY(-2px) !important;box-shadow:0 14px 34px rgba(45,212,238,.4) !important}
html body .ks-steam-submit-lbl{font-size:13px !important;letter-spacing:.06em !important;text-transform:uppercase !important;opacity:.8 !important}
html body .ks-steam-submit-val{font-size:22px !important;font-weight:800 !important}
html body .ks-steam-foot{margin-top:14px !important}
html body .ks-steam-promo{background:rgba(255,255,255,.035) !important;border:1px solid rgba(255,255,255,.1) !important;border-radius:14px !important;padding:11px 16px !important}
html body .ks-steam-promo:focus-within{border-color:var(--ks-acc) !important}
html body .ks-steam-trust{margin-top:14px !important;padding-top:14px !important;gap:8px 26px !important}
html body .ks-steam-trust-item{color:rgba(210,232,240,.6) !important}
html body .ks-steam-trust-dot{animation:none !important;background:var(--ks-acc) !important;box-shadow:none !important}

/* ───────── Страница товара ───────── */
html body .ks-prod-hero{height:210px;border-radius:24px;border:1px solid var(--ks-line);background:linear-gradient(160deg,#122839,#0a1620) !important;box-shadow:0 14px 40px rgba(0,0,0,.35)}
html body .ks-prod-hero-bg{display:none !important}
html body .ks-prod-hero img{object-fit:cover !important}
html body .ks-prod-hero-info{
  margin:-28px 18px 0 !important; padding:14px 20px !important; border-radius:18px;
  background:linear-gradient(180deg,#112534,#0c1a26) !important; border:1px solid var(--ks-line);
  backdrop-filter:none !important; -webkit-backdrop-filter:none !important; box-shadow:0 10px 30px rgba(0,0,0,.35);
}
html body .ks-prod-hero-name{font-size:22px !important;text-shadow:none !important;letter-spacing:-.015em}
html body .ks-prod-hero-sub{color:var(--ks-mut) !important}
html body #prod-body{
  background:linear-gradient(180deg,#0f1f2c,#0b1721) !important; border:1px solid var(--ks-line);
  border-radius:26px !important; padding:22px 20px 20px !important; margin-top:-14px; padding-top:34px !important;
  box-shadow:0 18px 50px rgba(0,0,0,.3);
}
html body .ks-label{
  display:flex !important; align-items:center; gap:8px; margin:20px 0 11px !important;
  font-size:11px !important; font-weight:800 !important; letter-spacing:.11em !important; color:rgba(200,225,235,.55) !important;
}
html body .ks-label::before{content:'';width:3px;height:12px;border-radius:3px;background:var(--ks-acc)}
html body #prod-body > .ks-label:first-of-type,html body #prod-body > #prod-pkgs-anchor + .ks-label{margin-top:0 !important}

/* пакеты / тарифы */
html body .ks-pkgs{grid-template-columns:repeat(2,1fr) !important;gap:10px !important;margin-bottom:6px !important}
@media (min-width:600px){html body .ks-pkgs:not([style]){grid-template-columns:repeat(3,1fr) !important}}
html body .ks-pkg{
  padding:15px 14px 13px !important; border-radius:16px !important; min-height:78px;
  background:var(--ks-surf) !important; border:1px solid var(--ks-line) !important;
  backdrop-filter:none !important; -webkit-backdrop-filter:none !important; box-shadow:none !important;
  transition:transform .2s,border-color .2s,background .2s,box-shadow .2s !important;
}
html body .ks-pkg::before,html body .ks-pkg::after,html body .ks-pkg-shine{display:none !important}
html body .ks-pkg:hover{transform:translateY(-2px) !important;border-color:rgba(45,212,238,.42) !important;box-shadow:0 8px 22px rgba(0,0,0,.3) !important}
html body .ks-pkg.sel{
  background:linear-gradient(160deg,rgba(45,212,238,.16),rgba(45,212,238,.05)) !important; border-color:var(--ks-acc) !important;
  box-shadow:0 0 0 3px rgba(45,212,238,.12),0 8px 22px rgba(45,212,238,.12) !important;
}
html body .ks-pkg-title{font-size:13px !important;font-weight:600 !important;color:rgba(230,244,248,.82) !important;line-height:1.3;margin-bottom:7px !important;padding-right:18px}
html body .ks-pkg-price{
  font-size:20px !important; font-weight:800 !important; letter-spacing:-.02em !important;
  background:none !important; -webkit-text-fill-color:var(--ks-acc-soft) !important; color:var(--ks-acc-soft) !important;
}
html body .ks-pkg-check{background:var(--ks-acc) !important;top:10px !important;right:10px !important;width:19px !important;height:19px !important;font-size:10px !important}

/* поля */
html body .ks-input,html body .ks-select{
  height:50px; border-radius:14px !important; padding:0 16px !important; font-size:15px !important;
  background:#0a1823 !important; border:1px solid rgba(120,210,225,.15) !important; color:var(--ks-text) !important;
}
html body .ks-input:focus,html body .ks-select:focus{border-color:var(--ks-acc) !important;box-shadow:0 0 0 3px rgba(45,212,238,.12)}
html body .ks-field{margin-bottom:14px}
html body .ks-check{height:42px;border-radius:12px !important;font-size:13px !important;background:var(--ks-acc-bg) !important;border:1px solid rgba(45,212,238,.22) !important;color:var(--ks-acc-soft) !important}
html body .ks-check:hover{background:rgba(45,212,238,.18) !important}
html body .ks-qty-btn{width:42px;height:42px;border-radius:12px !important}

/* способы оплаты */
html body .ks-pay-grid{grid-template-columns:1fr 1fr !important;gap:10px !important;margin-bottom:16px !important}
html body .ks-pay{
  display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;
  min-height:76px; padding:12px 10px !important; border-radius:16px !important;
  background:var(--ks-surf) !important; border:1px solid var(--ks-line) !important;
  transition:border-color .2s,background .2s,box-shadow .2s,transform .2s !important;
}
html body .ks-pay:last-child:nth-child(odd){grid-column:1/-1}
html body .ks-pay:hover{transform:translateY(-2px) !important;border-color:rgba(45,212,238,.42) !important}
html body .ks-pay.sel{background:var(--ks-acc-bg) !important;border-color:var(--ks-acc) !important;box-shadow:0 0 0 3px rgba(45,212,238,.12) !important}
html body .ks-pay .ks-pay-nm{font-size:14px !important;color:rgba(230,244,248,.9) !important}
html body .ks-pay.sel .ks-pay-nm{color:var(--ks-acc-soft) !important}

/* итого и кнопка */
html body .ks-total{
  background:var(--ks-surf) !important; border:1px solid rgba(45,212,238,.22) !important; border-radius:18px !important; padding:16px 20px !important;
}
html body .ks-total-lbl{font-size:14px;color:var(--ks-mut)}
html body .ks-total-val{
  font-size:28px !important; text-shadow:none !important;
  background:none !important; -webkit-text-fill-color:var(--ks-acc-soft) !important; color:var(--ks-acc-soft) !important;
}
html body .ks-submit{
  height:56px; border-radius:16px !important; font-size:16px !important; font-weight:800 !important;
  background:linear-gradient(135deg,#2dd4ee,#1fb6d3) !important; color:#04222a !important;
  box-shadow:0 10px 26px rgba(45,212,238,.26) !important;
}
html body .ks-submit:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(45,212,238,.4) !important}
html body .ks-submit:disabled{box-shadow:none !important}

/* вспомогательные плашки внутри товара */
html body #prod-body > div[style*="rgba(30,26,10"]{
  background:rgba(255,194,74,.06) !important; border:1px solid rgba(255,194,74,.2) !important; border-radius:16px !important; padding:14px 16px !important;
}
html body #prod-body > div[style*="rgba(45,212,238,.06)"]{
  background:var(--ks-acc-bg) !important; border:1px solid rgba(45,212,238,.22) !important; border-radius:18px !important; padding:16px !important;
}

/* ───────── Мобильная версия ───────── */
@media (max-width:640px){
  html body .ks-grid{gap:12px}
  html body .ks-card{border-radius:16px !important}
  html body .ks-card-subcard{padding:8px 8px 10px}
  html body .ks-card-cta-btn{padding:10px 8px;font-size:12px;border-radius:10px}
  html body .ks-steam-block{padding:20px 16px 16px !important;border-radius:22px !important}
  html body .ks-steam-icon{width:52px !important;height:52px !important;border-radius:16px !important}
  html body .ks-steam-icon svg{width:30px !important;height:30px !important}
  html body .ks-steam-title{font-size:18px !important}
  html body .ks-steam-quick{grid-template-columns:repeat(3,1fr)}
  html body .ks-steam-grid{grid-template-columns:1fr !important}
  html body .ks-steam-side{grid-template-columns:1fr}
  html body .ks-steam-promo{width:100% !important}
  html body .ks-prod-hero{height:170px;border-radius:20px}
  html body .ks-prod-hero-info{margin:-24px 12px 0 !important}
  html body #prod-body{padding:30px 14px 16px !important;border-radius:22px !important}
  html body .ks-pkg{padding:13px 12px 11px !important}
  html body .ks-pkg-price{font-size:18px !important}
}

/* Бережём батарею и «слабые» устройства */
@media (hover:none) and (pointer:coarse){
  html body .ks-card:hover{transform:none !important}
  html body .ks-card:hover .ks-card-photo img{transform:none}
}
@media (prefers-reduced-motion:reduce){
  html body *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important}
}

/* ───────── Правки после проверки ───────── */
html body .ks-steam-submit{flex-direction:row !important;gap:12px}
html body .ks-steam-submit-lbl,html body .ks-steam-submit-val{display:block;line-height:1}
html body .ks-card-photo{background:linear-gradient(160deg,#122839,#0a1620) !important}
html body .ks-card-cta-btn{text-align:center;line-height:1.15;min-height:40px}

/* баннер товара целиком (без обрезки) на мягкой подложке */
html body .ks-prod-hero-bg{display:block !important;inset:0 !important;width:100% !important;height:100% !important;transform:none !important;filter:blur(18px) saturate(130%) brightness(.55) !important}
html body .ks-prod-hero img:not(.ks-prod-hero-bg){object-fit:contain !important;position:relative;z-index:1}
/* плитки-переключатели («UC на аккаунт», «RU сервер»…) — текст по центру */
html body .ks-pkg[style*="text-align:center"]{display:flex;align-items:center;justify-content:center;min-height:58px}
html body .ks-pkg[style*="text-align:center"] .ks-pkg-title{padding-right:0 !important;margin:0 !important;text-align:center;font-size:14px !important;font-weight:700 !important}
html body .ks-pkg[style*="text-align:center"].sel .ks-pkg-title{color:var(--ks-acc-soft) !important}
html body .ks-prod-hero-info{width:calc(100% - 36px) !important;margin-left:auto !important;margin-right:auto !important}
@media (max-width:640px){html body .ks-prod-hero-info{width:calc(100% - 24px) !important}}

/* ───────── Вход через Telegram ───────── */
html body .ks-tgl{display:block !important;margin-bottom:14px}
html body .ks-tgl-btn{
  width:100%;height:54px;border:none;border-radius:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;
  background:linear-gradient(135deg,#2aabee,#229ed9);color:#fff;font:700 16px/1 'Inter',sans-serif;
  box-shadow:0 10px 26px rgba(34,158,217,.32);transition:transform .2s,box-shadow .2s,filter .2s;
}
html body .ks-tgl-btn:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(34,158,217,.45)}
html body .ks-tgl-btn:disabled{opacity:.7;cursor:wait}
html body .ks-tgl-sub{margin-top:9px;text-align:center;font-size:12px;color:rgba(200,225,235,.5)}
html body .ks-tgl-wait{text-align:center;padding:16px;border-radius:18px;background:rgba(45,212,238,.07);border:1px solid rgba(45,212,238,.22)}
html body .ks-tgl-code-lbl{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:rgba(200,225,235,.55)}
html body .ks-tgl-code{margin:6px 0 8px;font:800 40px/1.1 'Inter',sans-serif;letter-spacing:.18em;color:#7af1ff;text-indent:.18em}
html body .ks-tgl-steps{font-size:13px;color:rgba(230,244,248,.8);line-height:1.45;margin-bottom:12px}
html body .ks-tgl-open{display:flex;align-items:center;justify-content:center;height:46px;border-radius:14px;background:linear-gradient(135deg,#2aabee,#229ed9);color:#fff;font:700 15px/1 'Inter',sans-serif;text-decoration:none;margin-bottom:12px}
html body .ks-tgl-status{display:flex;align-items:center;justify-content:center;gap:9px;font-size:12px;color:rgba(200,225,235,.6)}
html body .ks-tgl-status .ks-spin{width:14px;height:14px;border:2px solid rgba(45,212,238,.25);border-top-color:#2dd4ee;border-radius:50%}
html body .ks-tgl-cancel{margin-top:10px;background:none;border:none;color:rgba(200,225,235,.5);font:600 12px/1 'Inter',sans-serif;cursor:pointer;text-decoration:underline}

/* ───────── Производительность на телефонах ───────── */
@media (hover:none) and (pointer:coarse), (max-width:640px){
  html body .ks-bubbles{display:none !important}
  html body .ks-wave-back,html body .ks-wave-mid{animation:none !important}
  html body .ks-glow{animation:none !important}
  html body .ks-logo img,html body .ks-nav-fx::after{animation:none !important}
  html body .ks-nl-wifi,html body .ks-nl-pubg,html body .ks-nl-games,html body .ks-nl-psn,html body .ks-nl-steam{animation:none !important}
}


/* ═══ v2: иконка Steam как была, эффекты при прокрутке, аккуратные страницы товаров ═══ */

/* Steam: прежняя иконка — белый логотип с мягким свечением */
html body .ks-steam-head .ks-steam-icon{
  width:64px !important;height:64px !important;border-radius:0 !important;
  background:none !important;border:none !important;box-shadow:none !important;color:#eafcff !important;
  animation:steamIconPulse 2.6s ease-in-out infinite !important;
  filter:drop-shadow(0 0 14px rgba(255,255,255,.55)) drop-shadow(0 0 30px rgba(122,241,255,.35)) !important;
}
html body .ks-steam-head .ks-steam-icon svg{width:56px !important;height:56px !important}
@media (max-width:640px){
  html body .ks-steam-head .ks-steam-icon{width:54px !important;height:54px !important}
  html body .ks-steam-head .ks-steam-icon svg{width:48px !important;height:48px !important}
}

/* Появление при прокрутке (включается скриптом, класс ks-js на <html>) */
@keyframes ksRise{from{opacity:0;transform:translateY(30px) scale(.96)}to{opacity:1;transform:none}}
html.ks-js body .ks-card:not(.in),html.ks-js body .ks-steam-block:not(.in),html.ks-js body #faq-section:not(.in){opacity:0}
html.ks-js body .ks-card.in,html.ks-js body .ks-steam-block.in,html.ks-js body #faq-section.in{
  animation:ksRise .75s cubic-bezier(.22,1,.36,1) var(--d,0s) backwards !important;
}
/* наклон карточки за курсором + блик (только мышь) */
@media (hover:hover) and (pointer:fine){
  html body .ks-card{transform-style:preserve-3d}
  html body .ks-card:hover{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-5px) !important}
  html body .ks-card::after{
    display:block !important;content:'';position:absolute;inset:0;pointer-events:none;z-index:3;opacity:0;transform:none !important;
    background:radial-gradient(circle at var(--gx,50%) var(--gy,50%),rgba(122,241,255,.22),transparent 55%);
    mix-blend-mode:screen;transition:opacity .3s !important;
  }
  html body .ks-card:hover::after{opacity:1}
}
html body .ks-card:active{transform:scale(.97) !important}
body.ks-sc .ks-nav{box-shadow:0 14px 34px rgba(0,0,0,.5)}

/* Баннер товара: широкие — на всю ширину без полос, квадратные — по центру карточкой */
html body .ks-prod-hero{background:linear-gradient(160deg,#122839,#0a1620) !important}
html body .ks-prod-hero.ks-wide{height:auto !important;aspect-ratio:3/1}
html body .ks-prod-hero.ks-wide .ks-prod-hero-bg{display:none !important}
html body .ks-prod-hero.ks-wide img:not(.ks-prod-hero-bg){width:100% !important;height:100% !important;object-fit:cover !important;display:block}
html body .ks-prod-hero.ks-sq{height:230px !important;display:flex;align-items:center;justify-content:center}
html body .ks-prod-hero.ks-sq img:not(.ks-prod-hero-bg){
  width:auto !important;height:calc(100% - 32px) !important;aspect-ratio:1/1;object-fit:cover !important;
  border-radius:22px;border:1px solid rgba(255,255,255,.14);box-shadow:0 16px 44px rgba(0,0,0,.55),0 0 0 4px rgba(45,212,238,.07);
}
html body .ks-prod-hero-info{text-align:center}
html body #prod-body{margin-top:12px !important;padding-top:24px !important}

/* Всё по центру внутри товара */
html body #prod-body .ks-label{justify-content:center;text-align:center;gap:12px;margin:22px 0 12px !important}
html body #prod-body .ks-label::before,html body #prod-body .ks-label::after{content:'';flex:1;width:auto;height:1px;border-radius:0;background:linear-gradient(90deg,transparent,rgba(45,212,238,.38))}
html body #prod-body .ks-label::after{background:linear-gradient(270deg,transparent,rgba(45,212,238,.38))}
html body .ks-pkg{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}
html body .ks-pkg-title{padding-right:0 !important;text-align:center;display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap}
html body .ks-pkg-title .fi{margin-right:0 !important}
html body .ks-pkg-price{text-align:center;width:100%}
html body #prod-body .ks-input{text-align:center}
html body #prod-body .ks-input::placeholder{text-align:center}
html body #prod-body .ks-hint,html body #prod-body .ks-err,html body #prod-body .ks-ok{text-align:center}
html body .ks-pkg:active{transform:scale(.97) !important}

/* VPN: преимущества плитками, счётчик устройств */
html body .ks-vpn-features{display:grid !important;grid-template-columns:1fr 1fr;gap:8px !important;margin:0 0 6px !important}
@media (min-width:520px){html body .ks-vpn-features{grid-template-columns:repeat(3,1fr)}}
html body .ks-vpn-feature{
  display:flex !important;align-items:center;justify-content:center;gap:8px;text-align:center;min-height:50px;padding:10px 8px !important;
  border-radius:14px !important;background:var(--ks-surf) !important;border:1px solid var(--ks-line) !important;
  font:600 13px/1.25 'Inter',sans-serif !important;color:rgba(230,244,248,.9) !important;
}
html body .ks-vpn-feature span{font-size:17px;flex-shrink:0}
html body .ks-vpn-stepper{display:flex !important;align-items:center;justify-content:center;gap:18px !important}
html body .ks-vpn-step-btn{
  width:48px !important;height:48px !important;border-radius:50% !important;background:var(--ks-acc-bg) !important;
  border:1px solid rgba(45,212,238,.35) !important;color:var(--ks-acc-soft) !important;font-size:22px !important;cursor:pointer;
  transition:background .2s,transform .15s;
}
html body .ks-vpn-step-btn:hover{background:rgba(45,212,238,.2) !important}
html body .ks-vpn-step-btn:active{transform:scale(.92)}
html body .ks-vpn-step-val{text-align:center;min-width:70px}
html body .ks-vpn-step-val span{font-size:30px !important;font-weight:800 !important;color:#fff !important}

/* плашка «Нужен вход» на узких экранах: кнопка под текстом */
html body #prod-body > div[style*="rgba(45,212,238,.06)"]{flex-wrap:wrap;gap:12px !important}
html body #prod-body > div[style*="rgba(45,212,238,.06)"] > div{flex:1 1 180px !important}
@media (max-width:480px){
  html body #prod-body > div[style*="rgba(45,212,238,.06)"] > button{flex:1 1 100% !important;height:44px;border-radius:12px !important}
}
html body .ks-vpn-feature{flex-direction:column;gap:5px !important;min-height:70px}
html body .ks-vpn-feature span{font-size:20px}

/* ───────── Подвал и юридические пометки ───────── */
html body .ks-foot{position:relative;z-index:2;max-width:880px;margin:0 auto;padding:8px 16px 120px;text-align:center}
html body .ks-foot-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;margin-bottom:12px}
html body .ks-foot-links a{font-size:13px;font-weight:600;color:rgba(220,238,245,.78);text-decoration:none;padding:4px 0;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
html body .ks-foot-links a:hover{color:#7af1ff;border-color:rgba(122,241,255,.5)}
html body .ks-foot-cp{font-size:12.5px;color:rgba(200,225,235,.55)}
html body .ks-foot-cp a{color:#7af1ff;text-decoration:none}
html body .ks-foot-tm{margin:8px auto 0;max-width:620px;font-size:11.5px;line-height:1.5;color:rgba(200,225,235,.38)}
html body #faq-section{margin-bottom:40px !important}
html body .ks-legal-note{margin-top:12px;font-size:11.5px;line-height:1.5;text-align:center;color:rgba(200,225,235,.5)}
html body .ks-legal-note a,html body .ks-tgl-sub a,html body .ks-agree a{color:#7af1ff;text-decoration:none;border-bottom:1px solid rgba(122,241,255,.35)}
html body .ks-agree{display:flex;gap:10px;align-items:flex-start;margin:4px 0 14px;font-size:12px;line-height:1.5;color:rgba(220,238,245,.72);cursor:pointer}
html body .ks-agree input{width:18px;height:18px;margin-top:1px;flex-shrink:0;accent-color:#2dd4ee}
html body .ks-content{padding-bottom:12px !important}
html body #faq-section{margin-bottom:28px !important}


/* ═══ v4: шапка товара без наезда + анимации появления и выбора ═══ */
html body .ks-prod-hero{margin-bottom:0 !important}
html body .ks-prod-hero-info{
  margin:14px 0 0 !important;width:auto !important;padding:18px 18px 16px !important;border-radius:22px !important;
  position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;text-align:center;
  background:linear-gradient(180deg,#112534,#0c1a26) !important;border:1px solid var(--ks-line);box-shadow:0 12px 32px rgba(0,0,0,.3);
}
html body .ks-prod-hero-info::before{content:'';position:absolute;top:0;left:12%;right:12%;height:1px;background:linear-gradient(90deg,transparent,rgba(122,241,255,.6),transparent)}
html body .ks-prod-hero-info::after{content:'';display:block;width:56px;height:3px;border-radius:3px;margin:12px auto 0;background:linear-gradient(90deg,#2dd4ee,#7af1ff)}
html body .ks-prod-hero-name{font-size:25px !important;line-height:1.2;letter-spacing:-.02em}
html body .ks-prod-hero-sub{margin-top:4px;font-size:14px !important}
html body #prod-body{margin-top:14px !important;padding-top:20px !important}
html body .ks-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:14px}
html body .ks-chips span{font-size:11.5px;font-weight:600;padding:6px 11px;border-radius:999px;background:rgba(45,212,238,.08);border:1px solid rgba(45,212,238,.2);color:rgba(220,238,245,.88)}
@media (max-width:640px){
  html body .ks-prod-hero-info{margin-top:12px !important;padding:16px 14px 14px !important}
  html body .ks-prod-hero-name{font-size:22px !important}
  html body .ks-chips{gap:6px}
  html body .ks-chips span{font-size:11px;padding:5px 9px}
}

@keyframes ksUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes ksPop{from{opacity:0;transform:translateY(14px) scale(.93)}to{opacity:1;transform:none}}
@keyframes ksHeroIn{from{opacity:0;transform:scale(.96) translateY(10px)}to{opacity:1;transform:none}}
@keyframes ksSweep{from{transform:translateX(-130%) skewX(-20deg)}to{transform:translateX(380%) skewX(-20deg)}}
@keyframes ksLine{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes ksCheck{0%{transform:scale(0) rotate(-45deg)}70%{transform:scale(1.25) rotate(0)}100%{transform:scale(1)}}
@keyframes ksTick{0%{transform:scale(.9);opacity:.45}100%{transform:none;opacity:1}}
@keyframes ksGlow{0%{box-shadow:0 0 0 0 rgba(45,212,238,.55)}100%{box-shadow:0 0 0 14px rgba(45,212,238,0)}}

html body .ks-enter .ks-prod-hero{animation:ksHeroIn .7s cubic-bezier(.22,1,.36,1) both}
html body .ks-enter .ks-prod-hero::after{content:'';position:absolute;top:0;bottom:0;left:0;width:28%;z-index:3;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.24),transparent);animation:ksSweep 1.15s .5s ease-out both}
html body .ks-enter .ks-prod-hero-info{animation:ksUp .6s .16s cubic-bezier(.22,1,.36,1) both}
html body .ks-enter .ks-prod-hero-info::after{animation:ksLine .65s .5s cubic-bezier(.22,1,.36,1) both}
html body .ks-enter .ks-chips span{animation:ksPop .45s both}
html body .ks-enter .ks-chips span:nth-child(1){animation-delay:.4s}
html body .ks-enter .ks-chips span:nth-child(2){animation-delay:.48s}
html body .ks-enter .ks-chips span:nth-child(3){animation-delay:.56s}
html body .ks-enter #prod-body{animation:ksUp .65s .26s cubic-bezier(.22,1,.36,1) both}
html body .ks-enter .ks-label{animation:ksUp .55s .34s both}
html body .ks-enter .ks-pkg,html body .ks-enter .ks-vpn-feature,html body .ks-enter .ks-pay{animation:ksPop .5s cubic-bezier(.22,1,.36,1) both}
html body .ks-enter .ks-field,html body .ks-enter .ks-qty,html body .ks-enter .ks-total,html body .ks-enter .ks-submit{animation:ksUp .55s .6s cubic-bezier(.22,1,.36,1) both}
html body .ks-enter .ks-pkgs .ks-pkg:nth-child(1){animation-delay:0.37s}
html body .ks-enter .ks-pkgs .ks-pkg:nth-child(2){animation-delay:0.42s}
html body .ks-enter .ks-pkgs .ks-pkg:nth-child(3){animation-delay:0.47s}
html body .ks-enter .ks-pkgs .ks-pkg:nth-child(4){animation-delay:0.52s}
html body .ks-enter .ks-pkgs .ks-pkg:nth-child(5){animation-delay:0.57s}
html body .ks-enter .ks-pkgs .ks-pkg:nth-child(6){animation-delay:0.62s}
html body .ks-enter .ks-pkgs .ks-pkg:nth-child(7){animation-delay:0.67s}
html body .ks-enter .ks-pkgs .ks-pkg:nth-child(8){animation-delay:0.72s}
html body .ks-enter .ks-pkgs .ks-pkg:nth-child(9){animation-delay:0.77s}
html body .ks-enter .ks-pkgs .ks-pkg:nth-child(10){animation-delay:0.82s}
html body .ks-enter .ks-pkgs .ks-pkg:nth-child(11){animation-delay:0.87s}
html body .ks-enter .ks-pkgs .ks-pkg:nth-child(12){animation-delay:0.92s}
html body .ks-enter .ks-pay:nth-child(1){animation-delay:0.61s}
html body .ks-enter .ks-pay:nth-child(2){animation-delay:0.67s}
html body .ks-enter .ks-pay:nth-child(3){animation-delay:0.73s}
html body .ks-enter .ks-pay:nth-child(4){animation-delay:0.79s}
html body .ks-enter .ks-pay:nth-child(5){animation-delay:0.85s}
html body .ks-enter .ks-pay:nth-child(6){animation-delay:0.91s}
html body .ks-enter .ks-vpn-feature:nth-child(1){animation-delay:0.35s}
html body .ks-enter .ks-vpn-feature:nth-child(2){animation-delay:0.40s}
html body .ks-enter .ks-vpn-feature:nth-child(3){animation-delay:0.45s}
html body .ks-enter .ks-vpn-feature:nth-child(4){animation-delay:0.50s}
html body .ks-enter .ks-vpn-feature:nth-child(5){animation-delay:0.55s}
html body .ks-enter .ks-vpn-feature:nth-child(6){animation-delay:0.60s}

/* отклик на выбор (работает при каждой перерисовке выбранного элемента) */
html body .ks-pkg.sel .ks-pkg-check{animation:ksCheck .4s cubic-bezier(.34,1.56,.64,1) both}
html body .ks-pkg.sel{animation:ksGlow .7s ease-out 1}
html body .ks-pay.sel{animation:ksGlow .7s ease-out 1}
html body .ks-total-val{animation:ksTick .38s cubic-bezier(.22,1,.36,1)}
html body .ks-submit{position:relative;overflow:hidden}
html body .ks-submit::after{content:'';position:absolute;top:0;bottom:0;left:0;width:30%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:translateX(-140%) skewX(-20deg);pointer-events:none}
html body .ks-submit:hover::after{animation:ksSweep .9s ease-out}
@media (prefers-reduced-motion:reduce){
  html body .ks-enter *,html body .ks-pkg.sel,html body .ks-pay.sel{animation:none !important}
}
html:not(.ks-ready) body .ks-foot{visibility:hidden}
html body .ks-foot{transition:opacity .4s}
