    :root{
      /* Кольори та градієнти з оригінальних змінних */
      --bg-1:#0d1016;--bg-2:#13171f;--bg-3:#1b1f28;--line:#232834;
      --txt-1:#ffffff;--txt-2:#80858f;--txt-3:#444852;--muted:#c2c4c9;
      --brand-red:#ff2400;--brand-green:#00cfa6;--brand-yellow:#ffc700;
      --menu-bg:linear-gradient(90deg,#1b1f28 0%,rgba(27,31,40,0) 100%);
      --menu-bg-2:#13171f;--menu-txt:#80858f;--menu-txt-active:#fff;
      --tile-grad:linear-gradient(360deg, rgba(19,23,31,.3) 0%, rgba(19,23,31,.243) 33.56%, rgba(19,23,31,0) 100%), linear-gradient(360deg,#13171f 0%, rgba(19,23,31,.81) 33.56%, rgba(19,23,31,0) 100%);
      --shadow-card:0 4px 8px rgba(0,0,0,.4);
    }
    *,*::before,*::after{box-sizing:border-box}
    html,body{height:100%}
    body{margin:0;background:var(--bg-1);color:var(--txt-1);font:400 16px/1.4 Roboto,system-ui,sans-serif;overflow-x:hidden;touch-action:pan-y;overscroll-behavior-x:none}
    a{color:inherit;text-decoration:none}

    /* Шапка */
    .header{position:sticky;top:0;z-index:20;background:linear-gradient(180deg, rgba(13,16,22,.85) 0, rgba(13,16,22,0) 100%)}
    .header__bar{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem}
    .brand{display:flex;align-items:center;gap:.5rem}
    .brand img{height:28px;width:auto}
    .auth{display:flex;gap:.5rem}
    .btn{border:0;cursor:pointer;border-radius:.5rem;padding:.55rem .9rem;font-weight:700;letter-spacing:.2px}
    .btn--primary{background:var(--brand-red);color:#fff;box-shadow:0 4px 0 rgba(131,0,0,.5);animation:pulse 2s ease-in-out infinite} 
    .btn--ghost{background:#232834;color:#fff;border:1px solid rgba(255,255,255,.1)}

    /* Меню розділів (іконки) */
    .menu{display:flex;gap:1rem;align-items:center;border-top:1px solid transparent;border-bottom:1px solid transparent;background:var(--menu-bg);padding:.35rem .5rem;overflow-x:auto;white-space:nowrap;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;contain:content;touch-action:pan-x}
    .menu__item{display:flex;align-items:center;gap:.35rem;color:var(--menu-txt);flex:0 0 auto;scroll-snap-align:start;padding:.35rem .25rem}
    .menu__item img{width:24px;height:24px;filter:brightness(0) saturate(100%) invert(60%) sepia(3%) saturate(1090%) hue-rotate(182deg) brightness(87%) contrast(88%)}
    .menu__item--active{color:var(--menu-txt-active)}

    /* HERO */
    .hero__grid{position:relative;margin:.75rem .5rem;border-radius:1rem;overflow:hidden;background:var(--bg-2)}
    .carousel{position:relative;height:180px}
    @media(min-width:768px){.carousel{height:220px}}
    @media(min-width:1280px){.carousel{height:260px}}
    .slides{display:flex;height:100%;width:100%;transition:transform .6s ease}
    .slide{position:relative;min-width:100%;height:100%;display:grid;place-items:center;background:#1b1f28}
    .slide::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.65) 0%,rgba(0,0,0,.1) 60%,rgba(0,0,0,0) 100%)}
    .slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
    .slide__content{position:relative;z-index:2;display:grid;grid-auto-rows:min-content;gap:.25rem;padding-left:1rem;width:100%}
    .badge{display:inline-grid;grid-auto-flow:column;gap:.35rem;align-items:center;background:transparent;border:0;color:#e6faf4;border-radius:1rem;padding:.2rem .55rem;font-size:.75rem;text-shadow:0 2px 6px rgba(0,0,0,.6)}
    .h1{font-size:1.35rem;line-height:1.2;font-weight:700}
    .h1 strong{color:var(--brand-yellow)}
    .sub{color:#d7dade}
    .dots{position:absolute;right:.5rem;bottom:.5rem;display:flex;gap:.35rem}
    .dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.3)}
    .dot.is-active{background:#fff}

    /* Пошук/фільтри */
    .toolbar{display:flex;align-items:center;gap:.5rem;margin:.5rem .5rem}
    .search{flex:1;position:relative}
    .search input{width:100%;background:var(--bg-2);border:1px solid var(--line);border-radius:.5rem;height:40px;padding:0 40px 0 .75rem;color:#fff}
    .search svg{position:absolute;right:.75rem;top:50%;transform:translateY(-50%)}

    /* Грати */
    .games{padding:.5rem}
    .games__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}
    @media(min-width:768px){.games__grid{grid-template-columns:repeat(4,1fr)}}
    .game{position:relative;border-radius:.75rem;overflow:hidden;background:#000;box-shadow:var(--shadow-card)}
    .game img{display:block;width:100%;height:160px;object-fit:cover}
    .label{position:absolute;left:.5rem;top:.5rem;border-radius:.25rem;padding:.2rem .35rem;font-size:.7rem;font-weight:600}
    .label--new{background:linear-gradient(135deg,#ffc700 0%, rgba(13,16,22,.2) 54%);color:#121418}
    .label--exclusive{background:linear-gradient(136deg,#fff 0%, rgba(13,16,22,.2) 57.1%);color:#121418}
    .game__title{position:absolute;left:.75rem;bottom:.6rem;font-weight:700;text-shadow:0 2px 6px rgba(0,0,0,.6)}

    /* Нижня навігація (як у мобільному) */
    .bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:15;background:var(--bg-1);padding:.25rem .5rem;border-top:1px solid var(--line)}
    .bottom-nav__list{display:grid;grid-auto-flow:column;justify-content:space-between}
    .bottom-nav__item{display:grid;justify-items:center;color:var(--txt-2);font-size:.75rem}
    .bottom-nav__item img{width:28px;height:28px;filter:invert(90%) sepia(6%) saturate(250%) hue-rotate(160deg) brightness(105%) contrast(95%);opacity:.9}
    .bottom-nav__item--active{color:#fff}

    /* Утиліти */
    .container{max-width:1200px;margin:0 auto}
  body{padding-bottom:88px}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
.menu::-webkit-scrollbar{display:none}.bottom-nav__item--active img{filter:invert(66%) sepia(76%) saturate(554%) hue-rotate(116deg) brightness(105%) contrast(90%);opacity:1}
.now-winning{margin:.75rem .5rem;border-radius:1rem;background:var(--bg-2);padding:.75rem;position:relative;box-shadow:0 8px 20px rgba(0,0,0,.25)}
.now-winning__title{font-weight:800;text-align:center;letter-spacing:.06em;margin:0 0 .5rem}
/* marquee grid: 3 rows, many columns */
.winning-marquee{overflow:hidden}
.winning-track{display:flex;gap:.6rem;will-change:transform;animation:winning-roll 28s linear infinite}
.winning-track:hover{animation-play-state:paused}
.winning-col{width:164px;display:grid;grid-template-rows:repeat(3,auto);gap:.5rem}
.winning-card{display:grid;grid-template-columns:42px auto;align-items:center;gap:.5rem;background:#0f131a;border:1px solid var(--line);border-radius:.6rem;padding:.5rem}
.winning-card__thumb{width:42px;height:42px;border-radius:.4rem;object-fit:cover}
.winning-card__name{color:#bfc4cc;font-size:.8rem}
.winning-card__sum{color:#fff;font-weight:800}
@keyframes winning-roll{to{transform:translateX(-50%)}}

.bonuses{margin:1rem .5rem}
.bonuses__title{text-align:center;font-weight:900;letter-spacing:.02em;margin:0 0 .15rem;font-size:1.35rem}
.bonuses__subtitle{text-align:center;color:#d6cfe0;margin:0 .5rem .5rem;position:relative}
.bonuses__subtitle:after{content:"";display:block;width:64px;height:3px;border-radius:2px;background:linear-gradient(90deg,#ff2e8a,#a63cbe);margin:.4rem auto 0}
.kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}
.kpi{background:var(--bg-2);border:1px solid var(--line);border-radius:.75rem;padding:.85rem .5rem;text-align:center}
.kpi__num{font-size:2rem;line-height:1;font-weight:900}
.kpi__label{color:var(--txt-2);font-size:.85rem;margin-top:.25rem}
/* mini bonus carousel */
.bonus-carousel{position:relative;margin:.75rem 0}
.bonus-viewport{overflow:hidden;border-radius:.75rem;background:var(--bg-2);border:1px solid var(--line)}
.bonus-track{display:flex;transition:transform .45s ease;will-change:transform;padding:.0rem} 
.bonus-card{position:relative;flex:0 0 100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:.5rem;background:linear-gradient(180deg,#151a22 0%, #0f131a 100%);border:1px solid var(--line);border-radius:.9rem;margin-right:.75rem;overflow:hidden;padding:12px;min-height:270px;box-shadow:0 8px 20px rgba(0,0,0,.25);} 
.bonus-card__img{width:100%;height:150px;object-fit:contain;display:block;margin-top:.25rem;pointer-events:none} 
.bonus-card__body{padding:.2rem .25rem;text-align:center} 
.bonus-card__title{font-weight:800;font-size:1.05rem;margin-bottom:.15rem} 
.bonus-next{position:absolute;right:.35rem;top:50%;transform:translateY(-50%);height:38px;width:38px;border-radius:.6rem;background:rgba(255,255,255,.08);border:1px solid var(--line);display:grid;place-items:center}
.bonus-next svg{width:18px;height:18px;opacity:.9}
/* CTA button */
.bonus-card__cta{display:block;width:100%;margin:.5rem 0 0;background:var(--brand-red);color:#fff;border:0;border-radius:.6rem;padding:.7rem 1rem;font-weight:800;text-align:center;box-shadow:0 4px 0 rgba(131,0,0,.5);text-transform:uppercase;letter-spacing:.02em} 
.bonus-card__cta:hover{filter:brightness(1.05)}
.bonus-card__cta:active{transform:translateY(1px)}

/* --- Content block typography & visual table --- */
.content-block{margin:1.2rem .6rem;background:var(--bg-2);border:1px solid var(--line);border-radius:1rem;padding:1rem .95rem;box-shadow:0 10px 22px rgba(0,0,0,.25)}
.content-block h2{margin:0 0 .5rem;font-weight:900;letter-spacing:.2px;font-size:1.35rem}
.content-block p{margin:.55rem 0;color:#e3e7ee;line-height:1.65}
.content-block h3{margin:1rem 0 .4rem;font-weight:800;font-size:1.05rem}
.content-block ul,.content-block ol{margin:.35rem 0 1rem 1.25rem}
.content-block li{margin:.25rem 0}
.content-block ul li::marker{color:#00cfa6;font-weight:900}
.content-block code{background:#0f131a;border:1px solid var(--line);border-radius:.35rem;padding:.12rem .34rem}
.table-wrap{overflow-x:auto;margin:.5rem 0}
.vtable{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:.6rem;overflow:hidden}
.vtable thead th{background:#121722;color:#e8ecf3;font-weight:800}
.vtable th,.vtable td{padding:.6rem .65rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.vtable tbody tr:nth-child(odd){background:#0f131a}
.vtable tbody tr:hover{background:#151a22}
.badge-pill{display:inline-block;border-radius:999px;padding:.25rem .55rem;font-size:.75rem;font-weight:800;line-height:1}
.badge--ok{background:rgba(0,207,166,.15);color:#7ce8d3;border:1px solid rgba(0,207,166,.5)}
.badge--warn{background:rgba(255,199,0,.12);color:#ffe091;border:1px solid rgba(255,199,0,.45)}
.badge--off{background:rgba(255,63,63,.12);color:#ff9f9f;border:1px solid rgba(255,63,63,.45)}
.bonus-card__body .bonus-desc, .bonus-card__body .bonus-card__text, .bonus-card__body p{color:#cfd6df;font-size:.92rem;line-height:1.35;margin-top:.15rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}



/* --- Apps block: mobile + Android button (outline) --- */
.apps{margin:1rem .5rem}
.apps__title{font-size:1.25rem;text-align:center}
.apps__subtitle{font-size:.95rem;text-align:center}
.apps__poster{padding:8px}
.apps__img{width:100%;max-width:720px;height:auto;display:block}
.apps__cta{margin:.7rem 0 0;display:grid;place-items:center}

/* Кнопка як на скріні: контур, прозорий фон, два рядки тексту */
.btn-android{
  display:inline-flex;align-items:center;gap:.6rem;
  background:transparent;border:1px solid rgba(255,255,255,.26);
  padding:.6rem .95rem;border-radius:.75rem;color:#fff;
  text-decoration:none;box-shadow:none
}
.btn-android:hover{border-color:rgba(255,255,255,.45)}
.btn-android svg{width:20px;height:20px;opacity:.95}
.btn-android small{display:block;line-height:1;color:#e9eef5;font-size:.8rem;opacity:.85}
.btn-android span{display:block;line-height:1;font-weight:900;font-size:1.2rem}

/* Трохи більш “desktop” на ширших екранах */
@media (min-width:640px){
  .apps{margin:1.25rem .5rem}
  .apps__title{font-size:1.6rem}
}

/* overlay на картці гри */
.game{position:relative; overflow:hidden;}
.game__overlay{
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(180deg, rgba(0,0,0,.25), rgba(0,0,0,.55));
  opacity:0; transform:scale(.98);
  transition:opacity .2s ease, transform .2s ease;
  padding:.5rem;
}
.game:hover .game__overlay,
.game:focus-within .game__overlay,
.game.is-active .game__overlay{ opacity:1; transform:scale(1); }

.game__cta{display:flex; gap:.6rem; flex-wrap:wrap; justify-content:center}

/* кнопки */
.game__btn{
  border:0; cursor:pointer; border-radius:.65rem; font-weight:800;
  padding:.75rem 1.1rem; display:inline-flex; align-items:center; gap:.5rem;
  box-shadow:0 4px 0 rgba(131,0,0,.4);
}
.game__btn--play{ background:var(--brand-red); color:#fff; }
.game__btn--play:hover{ filter:brightness(1.05); }
.game__btn--demo{
  background:transparent; color:#fff;
  border:2px solid rgba(255,255,255,.45); box-shadow:none;
  padding:.65rem 1.05rem;
}

/* іконка “play” */
.game__btn svg{width:18px; height:18px}

/* щоб торкання по картці лише скрол не блокувало */
.game__overlay{touch-action:manipulation;}


/* 1) Ховаємо моб. нижнє меню на desktop */
@media (min-width: 1024px){
  .bottom-nav{ display:none; }
  body{ padding-bottom: 0; } /* щоб не було порожнього відступу */
}

/* 2) Контейнер і героїн */
@media (min-width: 1200px){
  .container{ max-width: 1280px; }
}
@media (min-width: 1024px){
  .carousel{ height: 320px; }          /* було 220px */
}
@media (min-width: 1440px){
  .carousel{ height: 380px; }
}

/* 3) Верхнє горизонтальне меню під пошуком – без моб-скролу на desktop */
@media (min-width: 1024px){
  .menu{
    overflow: visible;
    background: transparent;
    padding: 0;
    gap: 1.25rem;
  }
  .menu__item img{ filter: none; opacity: .9; }
  .toolbar{ row-gap: .5rem; }
}

/* 4) KPI в 4 колонки на desktop */
@media (min-width: 1024px){
  .kpis{ grid-template-columns: repeat(4,1fr); }
  .kpi__num{ font-size: 2.4rem; }
}

/* 5) Now Winning – трохи ширші колонки і плавніший рух */
@media (min-width: 1024px){
  .now-winning{ padding: 1rem; }
  .winning-col{ width: 200px; }           /* було 164px */
  .winning-track{ animation-duration: 40s; } /* було 28s */
}

/* 6) Картки ігор – вищі зображення на desktop */
@media (min-width: 1024px){
  .games__grid{ grid-template-columns: repeat(4,1fr); } /* фіксуємо сітку */
  .game img{ height: 210px; }                             /* було 160px */
  .game__title{ font-size: 1rem; }
}
@media (min-width: 1440px){
  .game img{ height: 240px; }
}

/* 7) Bonus mini-carousel – стабільніша картка на широких */
@media (min-width: 1024px){
  .bonus-card{ min-height: 300px; }
  .bonus-card__img{ height: 170px; }
  .bonus-card__title{ font-size: 1.1rem; }
}
/* === Desktop polish (>=1200px): вужча «колонка» контенту === */
@media (min-width: 1200px){
  .now-winning,
  .bonuses,
  .bonus-carousel,   /* ← ДОДАНО */
  .games,
  .apps,
  .content-block{
    max-width: 980px;
    margin-left: auto;
    margin-right: auto;
  }

  .hero__grid{ margin: 1rem auto 1.25rem; }
}

/* KPI – 4 колонки, більші цифри */
@media (min-width: 1024px){
  .kpis{ grid-template-columns: repeat(4,1fr); gap: 1rem; }
  .kpi{ padding: 1rem; }
  .kpi__num{ font-size: 2.4rem; }
}

/* NOW WINNING – плавніший рух і ширші колонки */
@media (min-width: 1024px){
  .now-winning{ padding: 1rem; }
  .winning-col{ width: 188px; }
  .winning-track{ animation-duration: 40s; }
}

/* Games grid – стабільніше на desktop */
@media (min-width: 1024px){
  .games__grid{ grid-template-columns: repeat(4, 1fr); gap: 1rem; }
  .game img{ height: 205px; object-fit: cover; }
  .game__title{ font-size: 1rem; }
}
@media (min-width: 1440px){
  .game img{ height: 240px; }
}

/* Bonus mini-carousel – стабільна висота картки на desktop */
@media (min-width: 1024px){
  .bonus-card{ min-height: 300px; }
  .bonus-card__img{ height: 170px; }
  .bonus-card__title{ font-size: 1.1rem; }
}

/* CTA on hero banners */
.hero__btn{
  position:absolute; right:.75rem; bottom:.75rem; z-index:3;
  display:inline-flex; align-items:center; gap:.45rem;
  padding:.65rem 1rem; border-radius:.75rem;
  background:var(--brand-red, #ff2400); color:#fff; font-weight:900;
  box-shadow:0 4px 0 rgba(131,0,0,.45);
  text-decoration:none; user-select:none;
}
.hero__btn:hover{ filter:brightness(1.05); }
.hero__btn:active{ transform:translateY(1px); }
.hero__btn svg{ width:18px; height:18px }

/* щоб кнопка не перекривала крапки пагінації */
.dots{ right:4.75rem; }                     /* трохи зсунути лівіше */
@media (min-width:1024px){
  .hero__btn{ right:1rem; bottom:1rem; padding:.75rem 1.15rem; }
  .dots{ right:6rem; }
}

/* --- Bonus carousel: fixed-width cards & multi-per-view --- */
:root{ --bonus-gap: 12px; }

.bonus-viewport{ overflow:hidden; }
.bonus-track{
  display:flex;
  gap:var(--bonus-gap);
  will-change:transform;
  transition:transform .45s ease;
}

/* Базово (мобільний) — 1 картка на екран */
.bonus-card{
  flex:0 0 100%;
  margin:0;                 /* важливо: без власних margin, бо використовуємо gap */
}

/* >=1024px — 2 картки */
@media (min-width:1024px){
  .bonus-card{
    flex:0 0 calc((100% - var(--bonus-gap)) / 2);
    max-width:520px;        /* додатково фіксує верхню межу ширини */
  }
}

/* >=1440px — 3 картки */
@media (min-width:1440px){
  .bonus-card{
    flex:0 0 calc((100% - 2*var(--bonus-gap)) / 3);
    max-width:420px;
  }
}

/* Кнопки керування (ліва/права) */
.bonus-prev,.bonus-next{
  position:absolute; top:50%; transform:translateY(-50%);
  height:38px; width:38px; border-radius:.6rem;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.2);
  display:grid; place-items:center; cursor:pointer; z-index:2;
}
.bonus-prev{ left:.35rem; }
.bonus-next{ right:.35rem; }
.bonus-prev svg,.bonus-next svg{ width:18px;height:18px;opacity:.9 }

/* Bonus carousel: центрування при малому числі карток */
.bonus-viewport{ overflow:hidden; position:relative; }
.bonus-track{
  display:flex;
  gap:var(--bonus-gap,12px);
  transition:transform .45s ease;
  will-change:transform;
}
.bonus-track.center{ justify-content:center; transform:none !important; } /* автоцентрування */


/* --- Bonus carousel centering & fixed width in 'center' mode --- */

/* приберемо паддінг, бо він тягне контент вліво */
.bonus-track{ padding: 0 !important; }

/* коли карток менше/дорівнює видимим — центр і фіксована ширина */
.bonus-track.center{
  justify-content: center;
  transform: none !important;
}

/* базовий gap */
:root{ --bonus-gap: 16px; }
.bonus-track{ gap: var(--bonus-gap); }

/* фіксована ширина карток ЛИШЕ у center-режимі */
@media (min-width:1024px){
  /* desktop <=1440: показуємо 2 картки; якщо їх 1–2 — центруємо
     і робимо картки фіксованими (~420px) */
  .bonus-track.center .bonus-card{
    flex: 0 0 420px !important;
    max-width: 420px !important;
  }
}

@media (min-width:1440px){
  /* wide desktop: 3 картки; якщо їх 1–3 — центруємо
     і робимо картки фіксованими (~360px) */
  .bonus-track.center .bonus-card{
    flex: 0 0 360px !important;
    max-width: 360px !important;
  }
}

/* щоб кнопки завжди були клікабельні поверх контенту */
.bonus-carousel{ position:relative; }
.bonus-prev,.bonus-next{ z-index:10; pointer-events:auto; }

/* прибрати внутрішній зсув, який тягне трек вліво */
.bonus-track{ padding:0 !important; }

/* коли елементів мало — центримо й вимикаємо transform */
.bonus-track.center{ justify-content:center; transform:none !important; }

/* фіксована ширина карток в центр-режимі для охайного вигляду */
@media (min-width:1024px){
  .bonus-track.center .bonus-card{ flex:0 0 420px; max-width:420px; }
}
@media (min-width:1440px){
  .bonus-track.center .bonus-card{ flex:0 0 360px; max-width:360px; }
}


/* === Footer === */
.footer{background:#0f131a;border-top:1px solid var(--line);color:#dfe7ef;margin-top:1.5rem}
.footer a{color:#cfd6df;text-decoration:none}
.footer a:hover{color:#fff;text-decoration:underline}
.footer__inner{padding:1.25rem .75rem}
.footer__brand{display:grid;gap:.5rem;margin-bottom:1rem}
.footer__logo{height:24px;width:auto;opacity:.95}
.footer__text{color:#c7cfda;margin:0;line-height:1.6}

.footer__cols{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.footer__col{min-width:0}
.footer__title{margin:0 0 .4rem;font-weight:900;font-size:.95rem;letter-spacing:.02em;color:#fff}
.footer__list{list-style:none;margin:0;padding:0;display:grid;gap:.3rem}
.footer__list a{display:inline-block;padding:.1rem 0}

.footer__legal{border-top:1px solid var(--line);padding:.9rem .75rem;color:#b7bfca}
.footer__badges{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}
.footer__badge{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:.25rem .6rem;font-size:.72rem;color:#e6eef6}

.footer__bottom{border-top:1px solid var(--line);padding:.9rem .75rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}
.footer__social{display:flex;gap:.5rem;align-items:center}
.footer__social .social{display:grid;place-items:center;height:34px;width:34px;border:1px solid var(--line);border-radius:.6rem}
.footer__social svg{width:18px;height:18px;opacity:.9}
.footer__lang{display:flex;align-items:center;gap:.4rem}
.footer__lang select{background:transparent;border:1px solid var(--line);color:#e6eef6;border-radius:.5rem;padding:.35rem .55rem}

@media(min-width:1024px){
  .footer__inner{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,2fr);gap:2rem;align-items:start}
  .footer__cols{grid-template-columns:repeat(4,1fr)}
}


/* Центрування контейнера з кнопкою */
.cta-center{
  display:flex;
  justify-content:center;
  align-items:center;
  text-align:center;
  margin:1.25rem auto 1.75rem;
}

/* Пульс саме для primary-кнопок як у Registration */
.btn--primary.is-pulsing{
  position:relative;
  isolation:isolate;           /* щоб сяйво було під кнопкою */
  transform:translateZ(0);     /* чіткіша анімація */
}

/* сяйво-кільце */
.btn--primary.is-pulsing::after{
  content:"";
  position:absolute;
  inset:-6px;
  border-radius:inherit;
  box-shadow:0 0 0 0 rgba(239,58,54,.55);  /* #ef3a36 як brand-red */
  animation:regPulseGlow 1.8s ease-out infinite;
  z-index:-1;
}

/* легкий “бамп” кнопки */
.btn--primary.is-pulsing{
  animation:regPulseBump 1.8s ease-in-out infinite;
}

@keyframes regPulseGlow{
  0%   { box-shadow:0 0 0 0   rgba(239,58,54,.55); }
  70%  { box-shadow:0 0 0 16px rgba(239,58,54,0); }
  100% { box-shadow:0 0 0 0   rgba(239,58,54,0); }
}
@keyframes regPulseBump{
  0%,100% { transform:scale(1); }
  50%     { transform:scale(1.03); }
}

/* повага до налаштувань зменшеного руху */
@media (prefers-reduced-motion:reduce){
  .btn--primary.is-pulsing{ animation:none; }
  .btn--primary.is-pulsing::after{ animation:none; }
}

/* ===== Bonus desktop alignment fix ===== */
:root{ --bonus-gap:16px; }

.bonus-carousel{ position:relative; }
.bonus-viewport{ position:relative; overflow:hidden; }
.bonus-track{
  display:flex;
  gap:var(--bonus-gap);
  align-items:stretch;              /* всі картки однакової висоти */
  transition:transform .35s ease;
  padding:0;                        /* не зміщувати вліво */
}

/* картка = колона, кнопка внизу */
.bonus-card{
  box-sizing:border-box;
  display:flex; flex-direction:column; align-items:center; text-align:center;
  background:#0f131a; border:1px solid var(--line); border-radius:18px;
  padding:24px 20px; min-height:420px;
}
.bonus-card__img{ width:210px; height:160px; object-fit:contain; margin:8px auto 12px; }
.bonus-card__title{ font-weight:900; font-size:22px; margin:6px 0 4px; }
.bonus-desc{ color:#b7bfca; margin:0 0 16px; }
.bonus-card__cta{
  margin-top:auto; width:300px;
  height:52px; border-radius:12px; font-weight:900;
}

/* ширина картки на різних брейкпоінтах (для 3/2/1 у кадрі) */
@media (min-width:1440px){
  .bonus-card{ flex:0 0 calc((100% - 2*var(--bonus-gap))/3); }
}
@media (min-width:1024px) and (max-width:1439.98px){
  .bonus-card{ flex:0 0 calc((100% - var(--bonus-gap))/2); }
}
@media (max-width:1023.98px){
  .bonus-card{ flex:0 0 100%; }
}

/* Стрілки — поверх усього і клікабельні */
.bonus-prev,.bonus-next{
  position:absolute; top:50%; transform:translateY(-50%);
  width:44px; height:44px; border-radius:12px;
  background:#151b23; border:1px solid var(--line);
  display:grid; place-items:center; cursor:pointer;
  z-index:10; pointer-events:auto;
}
.bonus-prev{ left:8px; } .bonus-next{ right:8px; }
.bonus-prev svg,.bonus-next svg{ width:22px; height:22px; stroke:#fff; }

/* щоби нічого не перекривало CTA */
.bonus-card__cta{ position:relative; z-index:1; }
/* щоб стрілки не наїжджали на крайні картки */
.bonus-viewport{
  padding: 0 56px;              /* 44px стрілка + 8px поля з кожного боку */
  box-sizing: content-box;      /* не стискаємо трек шириною */
}

/* картка: трішки «повітря» для тексту, щоб не з’їдалося */
.bonus-card__title,
.bonus-desc{ padding-inline: 8px; }

/* на малих екранах стрілки менші – і паддінг теж */
@media (max-width: 1023.98px){
  .bonus-viewport{ padding: 0 48px; }
}

/* про всяк випадок – нічого не обрізаємо всередині картки */
.bonus-card{ overflow: visible; }
/* === Bonus: не обрізати першу/останні картки === */
:root{ --bonus-gap:16px; --edge-pad:56px; }     /* 48px на моб */
@media (max-width:1023.98px){ :root{ --edge-pad:48px; } }

/* трек без внутрішніх паддінгів — додаємо "прокладки" псевдоелементами */
.bonus-viewport{ overflow:hidden; padding:0; }
.bonus-track{
  display:flex; gap:var(--bonus-gap); align-items:stretch;
  transition:transform .35s ease; padding:0; position:relative;
}
.bonus-track::before,
.bonus-track::after{
  content:""; flex:0 0 var(--edge-pad); /* створюємо відступи з обох країв */
}

/* === Вирівнювання карток і кнопок === */
.bonus-card{
  box-sizing:border-box;
  display:grid;
  grid-template-rows: 180px auto 1fr auto; /* img / title+desc / spacer / CTA */
  align-items:start;
  background:#0f131a; border:1px solid var(--line); border-radius:18px;
  padding:24px 20px; min-height:420px; height:100%;
  overflow:visible;
}
.bonus-card__img{
  justify-self:center; align-self:center;
  max-width:220px; max-height:160px; width:auto; height:auto;
  margin:0 auto 8px;
}
.bonus-card__body{ padding:0 8px; }             /* щоб текст не з’їдався */
.bonus-card__title{ font-weight:900; font-size:22px; margin:6px 0 4px; }
.bonus-desc{ color:#b7bfca; margin:0; }
.bonus-card__cta{ align-self:end; width:300px; height:52px; border-radius:12px; }

/* Скільки карток у ряд (десктоп/таблет/моб) */
@media (min-width:1440px){
  .bonus-card{ flex:0 0 calc((100% - 2*var(--bonus-gap))/3); }
}
@media (min-width:1024px) and (max-width:1439.98px){
  .bonus-card{ flex:0 0 calc((100% - var(--bonus-gap))/2); }
}
@media (max-width:1023.98px){
  .bonus-card{ flex:0 0 100%; }
}

/* стрілки поверх усього, щоб не перекривали контент */
.bonus-prev,.bonus-next{ z-index:10; pointer-events:auto; }

/* === Bonus carousel: без лівого зміщення на мобільному,
      перша картка повністю видима; на desktop обрізання лише справа === */

/* дефолт (мобільний): без паддінгів і без "прокладок" по краях */
.bonus-viewport{ padding:0 !important; }
.bonus-track::before{ content:none !important; flex:0 0 0 !important; }
.bonus-track::after { content:none !important; flex:0 0 0 !important; }

/* desktop: додаємо тільки ПРАВИЙ край під кнопку/стрілку */
@media (min-width:1024px){
  :root{ --edge-pad:56px; } /* 44px стрілка + зазор */
  .bonus-viewport{
    padding-left:0 !important;
    padding-right:var(--edge-pad) !important;
    box-sizing:content-box; /* не стискати трек шириною */
  }
  .bonus-track::before{ content:none !important; flex:0 0 0 !important; }     /* лівого краю немає */
  .bonus-track::after { content:"" !important; flex:0 0 var(--edge-pad) !important; } /* лише правий */
}

/* для впевненості — стрілки поверх контенту */
.bonus-prev,.bonus-next{ z-index:10; pointer-events:auto; }

/* ===== Bonus: НЕ обрізати зліва, обрізати лише справа на desktop ===== */

/* мобайл/таблет: жодних лівих/правих «прокладок» */
.bonus-viewport{ padding-left:0 !important; padding-right:0 !important; }
.bonus-track{ margin-left:0 !important; padding-left:0 !important; }
.bonus-track::before{ content:none !important; display:none !important; width:0 !important; flex:0 0 0 !important; }
.bonus-track::after { content:none !important; display:none !important; width:0 !important; flex:0 0 0 !important; }

/* desktop (≥1024px): додаємо лише ПРАВИЙ край під стрілку */
@media (min-width:1024px){
  :root{ --edge-pad:56px; } /* 44px стрілка + зазор */
  .bonus-viewport{ padding-right:var(--edge-pad) !important; }
  .bonus-track::after { content:"" !important; display:block !important; flex:0 0 var(--edge-pad) !important; }
}
