/* ============================================================
   Fair Go Casino — styles.css
   Clone build: Fair Go palette (deep green + gold), Rowdies + Roboto,
   real game artwork from the casino lobby.
   ============================================================ */

:root{
  /* Core palette — Fair Go */
  --deep:        #0F442E;
  --deep-2:      #0B3623;
  --green:       #1C724D;
  --green-2:     #227A53; /* raised surfaces */
  --green-3:     #2A8A5F; /* hover */
  --green-soft:  #E9F7F0;
  --gold:        #F9CB16;
  --gold-2:      #E8B90A;
  --gold-deep:   #B98A0A;
  --gold-soft:   #FFF3C4;
  --cream:       #FFFBEE;
  --cream-2:     #F6EFDC;
  --ink:         #123529;
  --ink-2:       #47665A;
  --coral:       #FF6B4A;
  --coral-deep:  #E04E2E;
  --sky:         #63D2C4;
  --white:       #FFFFFF;

  /* Shape */
  --radius-lg: 22px;
  --radius:    16px;
  --radius-sm: 10px;
  --btn-radius: 8px;
  --pill:      999px;

  /* Shadows */
  --shadow-sm: 0 2px 10px rgba(4,26,18,.18);
  --shadow:    0 12px 32px rgba(3,22,15,.35);
  --shadow-lg: 0 22px 60px rgba(3,22,15,.45);
  --shadow-gold: 0 10px 26px rgba(232,185,10,.38);

  /* Type */
  --font-display: 'Rowdies', 'Lilita One', 'Trebuchet MS', sans-serif;
  --font-body: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;

  /* Layout */
  --container: 1200px;
  --header-h: 68px;
}

/* ---------- Reset / base ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.6;
  color:var(--white);
  background:var(--green);
  background-image:
    radial-gradient(1200px 600px at 85% -10%, rgba(249,203,22,.10), transparent 60%),
    radial-gradient(900px 500px at -10% 20%, rgba(99,210,196,.08), transparent 55%);
  -webkit-font-smoothing:antialiased;
}
img,svg{ max-width:100%; display:block; }
a{ color:var(--gold); text-decoration:none; }
a:hover{ text-decoration:underline; }
ul{ margin:0; padding:0; list-style:none; }
p{ margin:0 0 1em; }
h1,h2,h3,h4{ margin:0 0 .5em; line-height:1.15; font-weight:400; }
h1,h2{ font-family:var(--font-display); letter-spacing:.5px; }
h3,h4{ font-family:var(--font-display); letter-spacing:.4px; }
h1{ font-size:clamp(30px,4.6vw,52px); }
h2{ font-size:clamp(24px,3.2vw,38px); }
h3{ font-size:clamp(18px,2.2vw,24px); }
button{ font-family:inherit; cursor:pointer; }
input,select,textarea{ font-family:inherit; }
:focus-visible{ outline:3px solid var(--gold); outline-offset:2px; border-radius:4px; }

.container{ width:min(var(--container),100% - 40px); margin-inline:auto; }
.container--narrow{ width:min(880px,100% - 40px); margin-inline:auto; }

.section{ padding:56px 0; position:relative; }
.section--tight{ padding:36px 0; }
.section--dark{ background:var(--deep); }
.section--deep{ background:var(--deep-2); }
.section--cream{ background:linear-gradient(180deg, var(--green) 0%, var(--deep) 100%); color:var(--white); }
.section--cream h2, .section--cream h3{ color:var(--white); }

.section-head{ text-align:center; margin-bottom:34px; }
.section-head .kicker{
  display:inline-block; font-weight:700; font-size:13px; letter-spacing:2.4px;
  text-transform:uppercase; color:var(--gold); margin-bottom:10px;
}
.section--cream .kicker{ color:var(--gold); }
.section-head h2{ text-transform:uppercase; }
.section-head p{ color:rgba(255,255,255,.78); max-width:640px; margin:0 auto; }
.section--cream .section-head p{ color:rgba(255,255,255,.78); }

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:14px 30px; border:none; border-radius:var(--btn-radius);
  font-family:var(--font-display); font-size:17px; letter-spacing:.6px;
  text-transform:uppercase; text-decoration:none; white-space:nowrap;
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease, color .16s ease;
}
.btn:hover{ text-decoration:none; transform:translateY(-2px); }
.btn:active{ transform:translateY(0); }
.btn-gold{ background:linear-gradient(180deg,#FFDD5C,var(--gold) 55%,var(--gold-2)); color:var(--deep); box-shadow:var(--shadow-gold); }
.btn-gold:hover{ box-shadow:0 14px 34px rgba(232,185,10,.5); }
.btn-coral{ background:linear-gradient(180deg,#FF8A6B,var(--coral) 60%,var(--coral-deep)); color:#fff; box-shadow:0 10px 26px rgba(255,107,74,.35); }
.btn-ghost{ background:transparent; color:var(--gold); border:2px solid rgba(249,203,22,.75); }
.btn-ghost:hover{ background:rgba(249,203,22,.12); }
.btn-white{ background:#fff; color:var(--deep); box-shadow:var(--shadow-sm); }
.btn-sm{ padding:10px 20px; font-size:14px; }
.btn-lg{ padding:18px 40px; font-size:19px; }
.btn-block{ width:100%; }

/* ---------- Top strip ---------- */
.topstrip{
  background:var(--deep-2); color:rgba(255,255,255,.85);
  font-size:12.5px; letter-spacing:.4px; padding:7px 0;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.topstrip .container{ display:flex; align-items:center; justify-content:space-between; gap:14px; }
.topstrip strong{ color:var(--gold); font-weight:600; }
.topstrip .flag{ margin-right:4px; }

/* ---------- Header ---------- */
.site-header{
  position:sticky; top:0; z-index:900;
  background:linear-gradient(180deg, var(--deep) 0%, rgba(15,68,46,.96) 100%);
  border-bottom:1px solid rgba(249,203,22,.22);
  backdrop-filter:blur(8px);
}
.header-inner{
  height:var(--header-h); display:flex; align-items:center; gap:26px;
}
.logo{ display:flex; align-items:center; gap:12px; text-decoration:none; flex-shrink:0; }
.logo:hover{ text-decoration:none; }
.logo-img{ height:56px; width:auto; display:block; }
.logo-text{ display:flex; flex-direction:column; line-height:1; }
.logo-text .l1{ font-family:var(--font-display); font-size:22px; color:var(--gold); letter-spacing:1.2px; }
.logo-text .l2{ font-size:9.5px; letter-spacing:3.4px; text-transform:uppercase; color:rgba(255,255,255,.72); margin-top:3px; }

.main-nav{ display:flex; gap:4px; margin-left:auto; }
.nav-link{
  color:rgba(255,255,255,.88); font-weight:600; font-size:14.5px;
  padding:10px 14px; border-radius:var(--pill); transition:.16s;
}
.nav-link:hover{ color:var(--gold); background:rgba(249,203,22,.1); text-decoration:none; }
.nav-link.is-active{ color:var(--gold); }

.header-cta{ display:flex; align-items:center; gap:14px; margin-left:6px; }
.link-login{ color:var(--gold); font-weight:700; font-size:14.5px; }
.link-login:hover{ text-decoration:none; color:#FFDD5C; }

.burger{
  display:none; width:44px; height:44px; border-radius:12px; border:1px solid rgba(255,255,255,.2);
  background:rgba(255,255,255,.06); position:relative; margin-left:auto;
}
.burger span, .burger span::before, .burger span::after{
  content:""; position:absolute; left:11px; right:11px; height:2.5px; background:var(--gold);
  border-radius:3px; transition:.2s;
}
.burger span{ top:21px; }
.burger span::before{ left:0; right:0; top:-7px; }
.burger span::after{ left:0; right:0; top:7px; }
.burger.is-open span{ background:transparent; }
.burger.is-open span::before{ transform:translateY(7px) rotate(45deg); }
.burger.is-open span::after{ transform:translateY(-7px) rotate(-45deg); }

/* Mobile menu */
.mobile-menu{
  position:fixed; inset:0; z-index:950; background:rgba(11,54,35,.98);
  padding:96px 28px 40px; display:none; overflow-y:auto;
}
.mobile-menu.is-open{ display:block; }
.mobile-menu a{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 6px; font-family:var(--font-display); font-size:22px; color:#fff;
  border-bottom:1px solid rgba(255,255,255,.09);
}
.mobile-menu a:hover{ color:var(--gold); text-decoration:none; }
.mobile-menu .mm-cta{ margin-top:26px; display:grid; gap:12px; }
.mobile-menu .mm-close{
  position:absolute; top:20px; right:22px; width:46px; height:46px; border-radius:50%;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.2); color:var(--gold);
  font-size:24px; line-height:1;
}

/* ---------- Hero (banner) ---------- */
.hero{
  position:relative; overflow:hidden;
  background:linear-gradient(180deg, var(--deep) 0%, var(--green) 100%);
}
.hero-banner{ display:block; max-width:1920px; margin:0 auto; position:relative; }
.hero-banner img{ width:100%; height:auto; display:block; }
.hero-banner:hover{ text-decoration:none; }
.hero-banner::after{
  content:""; position:absolute; inset:auto 0 0 0; height:90px;
  background:linear-gradient(180deg, transparent, rgba(15,68,46,.55));
  pointer-events:none;
}
.hero-stats-bar{
  position:relative; z-index:2;
  background:var(--deep-2); border-top:1px solid rgba(249,203,22,.25);
  border-bottom:1px solid rgba(249,203,22,.25); padding:14px 0;
}
.hero-stats-bar .container{ display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap; }
.hero-stat{ display:flex; align-items:center; gap:10px; }
.hero-stat b{ display:block; font-family:var(--font-display); font-size:22px; color:var(--gold); letter-spacing:.5px; line-height:1.1; }
.hero-stat span{ font-size:12.5px; color:rgba(255,255,255,.7); letter-spacing:.4px; }

/* ---------- Ticker ---------- */
.ticker{
  background:var(--deep-2); border-bottom:1px solid rgba(249,203,22,.2);
  overflow:hidden; position:relative;
}
.ticker::before,.ticker::after{
  content:""; position:absolute; top:0; bottom:0; width:70px; z-index:2; pointer-events:none;
}
.ticker::before{ left:0; background:linear-gradient(90deg,var(--deep-2),transparent); }
.ticker::after{ right:0; background:linear-gradient(-90deg,var(--deep-2),transparent); }
.ticker-track{
  display:flex; gap:38px; align-items:center; width:max-content;
  padding:13px 0; animation:tickerScroll 60s linear infinite;
}
.ticker:hover .ticker-track{ animation-play-state:paused; }
.ticker-item{ display:flex; align-items:center; gap:10px; font-size:14px; white-space:nowrap; color:rgba(255,255,255,.85); }
.ticker-item .coin{ font-size:17px; }
.ticker-item b{ color:var(--gold); font-weight:700; }
.ticker-item .game{ color:var(--sky); }
@keyframes tickerScroll{ from{ transform:translateX(0);} to{ transform:translateX(-50%);} }

/* ---------- Bonus strip ---------- */
.bonus-strip{ padding:52px 0 20px; }
.bonus-grid{ display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:28px; align-items:stretch; }

.bonus-carousel{ position:relative; }
.bonus-slide{ display:none; }
.bonus-slide.is-active{ display:block; animation:fadeUp .45s ease both; }

.bonus-card{
  background:linear-gradient(160deg, rgba(249,203,22,.14), rgba(249,203,22,.03) 55%), var(--green-2);
  color:#fff; border-radius:var(--radius-lg);
  border:2px solid rgba(249,203,22,.85);
  box-shadow:var(--shadow);
  padding:30px 32px; position:relative; overflow:hidden; min-height:270px;
  display:flex; flex-direction:column; justify-content:center;
}
.bonus-card::before{
  content:""; position:absolute; right:-60px; top:-60px; width:230px; height:230px; border-radius:50%;
  background:radial-gradient(circle, rgba(249,203,22,.30), transparent 65%);
}
.bonus-card::after{
  content:""; position:absolute; right:24px; bottom:-30px; width:150px; height:150px; border-radius:50%;
  background:radial-gradient(circle, rgba(28,114,77,.12), transparent 65%);
}
.bonus-card__tag{
  align-self:flex-start; font-weight:700; font-size:11.5px; letter-spacing:2.2px; text-transform:uppercase;
  color:#fff; background:linear-gradient(90deg,var(--coral),var(--coral-deep));
  padding:6px 14px; border-radius:var(--pill); margin-bottom:14px;
}
.bonus-card__tag--gold{ background:linear-gradient(90deg,var(--gold),var(--gold-2)); color:var(--deep); }
.bonus-card__tag--green{ background:linear-gradient(90deg,var(--green-3),var(--green)); }
.bonus-card h3{ color:#fff; font-size:clamp(20px,2.4vw,27px); margin-bottom:6px; text-transform:uppercase; }
.bonus-card__amount{
  font-family:var(--font-display); font-size:clamp(40px,5vw,56px); line-height:1;
  color:var(--gold); letter-spacing:.5px; margin:2px 0 10px;
}
.bonus-card__amount small{ font-size:.45em; color:rgba(255,255,255,.75); font-family:var(--font-body); font-weight:700; letter-spacing:.5px; }
.bonus-card__terms{ font-size:14px; color:rgba(255,255,255,.8); margin-bottom:18px; }
.bonus-card__terms b{ color:var(--gold); }

.code-row{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; position:relative; z-index:2; }
.code-field{
  display:flex; align-items:center; gap:10px;
  background:var(--gold); border:2px dashed rgba(15,68,46,.45); border-radius:var(--radius-sm);
  padding:10px 14px; font-weight:700; letter-spacing:2px; color:var(--deep);
  font-size:15px; cursor:pointer; transition:.16s;
}
.code-field:hover{ border-style:solid; background:#FFDD5C; }
.code-field .copy-ic{ font-size:15px; }

.bonus-controls{ display:flex; align-items:center; justify-content:space-between; margin-top:18px; }
.bonus-dots{ display:flex; gap:8px; }
.bonus-dots button{
  width:26px; height:5px; border-radius:3px; border:none; background:rgba(255,255,255,.28); padding:0; transition:.2s;
}
.bonus-dots button.is-active{ background:var(--gold); width:38px; }
.bonus-arrows{ display:flex; gap:8px; }

/* Welcome pack panel */
.welcome-pack{
  background:linear-gradient(165deg, rgba(249,203,22,.16), rgba(249,203,22,.04) 55%), var(--green-2);
  border:1px solid rgba(249,203,22,.4); border-radius:var(--radius-lg);
  padding:32px 30px; display:flex; flex-direction:column; justify-content:center; gap:14px;
  box-shadow:var(--shadow); position:relative; overflow:hidden;
}
.welcome-pack::before{
  content:""; position:absolute; right:-70px; top:-70px; width:220px; height:220px; border-radius:50%;
  background:radial-gradient(circle, rgba(249,203,22,.22), transparent 62%);
}
.welcome-pack .wp-kicker{ font-size:12px; letter-spacing:2.6px; text-transform:uppercase; color:var(--gold); font-weight:700; }
.welcome-pack .wp-amount{ font-family:var(--font-display); font-size:clamp(40px,4.6vw,54px); line-height:1; color:#fff; }
.welcome-pack .wp-amount span{ color:var(--gold); }
.welcome-pack .wp-list{ display:grid; gap:9px; margin:6px 0 8px; }
.welcome-pack .wp-list li{ display:flex; gap:10px; align-items:flex-start; font-size:14.5px; color:rgba(255,255,255,.9); }
.welcome-pack .wp-list .tick{ color:var(--gold); flex-shrink:0; }

/* ---------- Games ---------- */
.games-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:26px; }
.games-head h2{ margin:0; text-transform:uppercase; }
.games-head .link-more{ font-weight:700; font-size:14px; letter-spacing:1px; text-transform:uppercase; }

.hot-games{ display:grid; grid-template-columns:repeat(6,1fr); gap:16px; margin-bottom:44px; }
.game-card{
  position:relative; border-radius:var(--radius); overflow:hidden;
  background:var(--deep-2); border:1px solid rgba(255,255,255,.16);
  box-shadow:0 6px 18px rgba(0,0,0,.3); transition:transform .2s ease, box-shadow .2s ease;
  display:flex; flex-direction:column;
}
.game-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow); }
.game-card__art{
  position:relative; display:flex; align-items:center; justify-content:center;
  aspect-ratio:3/4; background:linear-gradient(160deg,#227A53,#0B3623);
  overflow:hidden;
}
.game-card__img{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; transition:transform .35s ease;
}
.game-card:hover .game-card__img{ transform:scale(1.06); }
.game-card__art::after{ /* subtle sheen */
  content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(115deg, transparent 42%, rgba(255,255,255,.18) 50%, transparent 58%);
  transform:translateX(-120%); transition:transform .6s ease;
}
.game-card:hover .game-card__art::after{ transform:translateX(120%); }
.game-card__badge{
  position:absolute; top:12px; left:12px; z-index:2;
  font-size:10.5px; font-weight:800; letter-spacing:1.6px; text-transform:uppercase;
  padding:5px 11px; border-radius:var(--pill);
}
.badge-hot{ background:linear-gradient(90deg,var(--coral),var(--coral-deep)); color:#fff; }
.badge-new{ background:linear-gradient(90deg,var(--sky),#2FA895); color:var(--deep-2); }
.badge-excl{ background:linear-gradient(90deg,var(--gold),var(--gold-2)); color:var(--deep-2); }
.game-card__body{ padding:14px 16px 16px; display:flex; align-items:center; justify-content:space-between; gap:10px; background:var(--deep-2); border-top:1px solid rgba(255,255,255,.08); position:relative; z-index:2; }
.game-card__title{ font-family:var(--font-display); font-size:17px; color:#fff; letter-spacing:.4px; }
.game-card__rtp{ font-size:11.5px; color:rgba(255,255,255,.55); }
.game-card__play{
  flex-shrink:0; width:46px; height:46px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(180deg,#FFDD5C,var(--gold-2)); color:var(--deep);
  font-size:16px; box-shadow:var(--shadow-gold); transition:.18s;
}
.game-card__play:hover{ transform:scale(1.1) rotate(6deg); text-decoration:none; }
.game-card__play svg{ width:16px; height:16px; }

/* slider of small game cards */
.games-slider-wrap{ position:relative; }
.games-slider{
  display:grid; grid-auto-flow:column; grid-auto-columns:minmax(195px,1fr);
  gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; padding:6px 2px 18px;
  scrollbar-width:none; align-items:start;
}
.games-slider::-webkit-scrollbar{ display:none; }
.games-slider .game-card{ scroll-snap-align:start; }
/* compact cards inside the slider: even heights, no dead space, tidy titles */
.games-slider .game-card__body{ min-height:96px; padding:12px 14px; gap:8px; }
.games-slider .game-card__body > div{ min-width:0; flex:1; }
.games-slider .game-card__title{
  font-size:14px; line-height:1.3;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.games-slider .game-card__rtp{
  font-size:11px; line-height:1.35;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.games-slider .game-card__play{ width:36px; height:36px; font-size:13px; }
.games-slider .game-card__play svg{ width:13px; height:13px; }
.slider-arrows{ display:flex; gap:8px; }
.arrow-btn{
  width:42px; height:42px; border-radius:50%; border:1.5px solid rgba(249,203,22,.65);
  background:rgba(249,203,22,.08); color:var(--gold); font-size:17px;
  display:flex; align-items:center; justify-content:center; transition:.16s;
}
.arrow-btn:hover{ background:var(--gold); color:var(--deep); }
.arrow-btn:disabled{ opacity:.35; cursor:default; }

/* ---------- Promo slider ---------- */
.promo-sec{ background:linear-gradient(180deg,var(--deep) 0%, var(--deep-2) 100%); overflow:hidden; }
.promo-slider{ position:relative; }
.promo-track{ display:flex; transition:transform .5s ease; }
.promo-slide{ min-width:100%; padding:0 2px; }
.promo-card{
  display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:34px; align-items:center;
  background:linear-gradient(150deg, rgba(255,255,255,.06), rgba(255,255,255,.015));
  border:1px solid rgba(249,203,22,.25); border-radius:var(--radius-lg);
  padding:38px 42px; box-shadow:var(--shadow);
}
.promo-art{
  display:flex; align-items:center; justify-content:center;
  border-radius:var(--radius); overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
}
.promo-art img{ width:100%; height:auto; display:block; }
.promo-body .kicker{ color:var(--gold); font-weight:700; letter-spacing:2.4px; text-transform:uppercase; font-size:12.5px; }
.promo-body h3{ font-size:clamp(22px,2.8vw,32px); margin:10px 0 12px; text-transform:uppercase; }
.promo-body p{ color:rgba(255,255,255,.82); max-width:520px; }
.promo-nav{ display:flex; align-items:center; justify-content:center; gap:22px; margin-top:24px; }
.promo-dots{ display:flex; gap:8px; }
.promo-dots button{ width:11px; height:11px; border-radius:50%; border:2px solid rgba(255,255,255,.5); background:transparent; padding:0; }
.promo-dots button.is-active{ background:var(--gold); border-color:var(--gold); }

/* ---------- Reasons ---------- */
.reasons-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:8px; }
.reason-tile{
  background:rgba(255,255,255,.055); border:1px solid rgba(255,255,255,.12);
  border-radius:var(--radius); padding:24px 22px; display:flex; gap:16px; align-items:flex-start;
  transition:.18s;
}
.reason-tile:hover{ background:rgba(249,203,22,.09); border-color:rgba(249,203,22,.4); transform:translateY(-3px); }
.reason-icon{
  width:52px; height:52px; flex-shrink:0; border-radius:14px;
  background:linear-gradient(160deg, rgba(249,203,22,.25), rgba(249,203,22,.06));
  border:1px solid rgba(249,203,22,.5);
  display:flex; align-items:center; justify-content:center; font-size:24px;
}
.reason-icon img{ width:30px; height:30px; }
.reason-tile b{ display:block; font-family:var(--font-display); font-size:16.5px; letter-spacing:.5px; text-transform:uppercase; margin-bottom:4px; }
.reason-tile p{ font-size:13.5px; color:rgba(255,255,255,.72); margin:0; }
.reasons-cta{ text-align:center; margin-top:34px; }

/* ---------- Payments ---------- */
.pay-sec{ background:var(--deep-2); border-top:1px solid rgba(255,255,255,.06); }
.pay-title{ text-align:center; font-size:13px; letter-spacing:3px; text-transform:uppercase; color:rgba(255,255,255,.6); margin-bottom:22px; font-weight:700; }
.pay-row{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; }
.pay-badge{
  background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.14);
  border-radius:var(--radius-sm); padding:10px 18px; font-weight:700; font-size:13.5px;
  color:rgba(255,255,255,.85); letter-spacing:.4px; display:flex; align-items:center; gap:8px;
}
.pay-badge .ic{ font-size:15px; }
.pay-badge--ssl{ border-color:rgba(99,210,196,.5); color:var(--sky); }

/* ---------- FAQ ---------- */
.faq-wrap{ max-width:860px; margin:0 auto; }
.faq-item{
  background:rgba(255,255,255,.055); border:1px solid rgba(255,255,255,.12);
  border-radius:var(--radius); margin-bottom:12px; overflow:hidden; transition:.2s;
}
.faq-item.is-open{ border-color:rgba(249,203,22,.5); background:rgba(249,203,22,.07); }
.faq-q{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:16px;
  background:none; border:none; color:#fff; text-align:left;
  padding:19px 22px; font-size:16.5px; font-weight:600; font-family:var(--font-body);
}
.faq-q .chev{ flex-shrink:0; width:26px; height:26px; border-radius:50%; border:1.5px solid rgba(249,203,22,.6); color:var(--gold); display:flex; align-items:center; justify-content:center; font-size:13px; transition:.25s; }
.faq-item.is-open .chev{ transform:rotate(180deg); background:var(--gold); color:var(--deep); }
.faq-a{ max-height:0; overflow:hidden; transition:max-height .32s ease; }
.faq-a-inner{ padding:0 22px 22px; color:rgba(255,255,255,.8); font-size:14.8px; }

/* ---------- Reviews ---------- */
.reviews-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:16px; }
.review-card{
  background:rgba(255,255,255,.06); color:#fff; border-radius:var(--radius);
  padding:20px 18px; display:flex; flex-direction:column; gap:10px;
  box-shadow:var(--shadow-sm); border:1px solid rgba(255,255,255,.12);
}
.review-stars{ color:var(--gold-2); letter-spacing:2px; font-size:14px; }
.review-card h4{ font-family:var(--font-display); font-size:15.5px; color:var(--gold); margin:0; letter-spacing:.3px; }
.review-card p{ font-size:13.2px; color:rgba(255,255,255,.78); margin:0; flex:1; }
.review-who{ display:flex; align-items:center; gap:10px; font-weight:700; font-size:13px; color:#fff; }
.avatar{
  width:36px; height:36px; border-radius:50%; flex-shrink:0; overflow:hidden;
  display:flex; align-items:center; justify-content:center;
  font-weight:800; font-size:14px; color:#fff;
  background:linear-gradient(160deg,var(--green-3),var(--deep));
}
.avatar img{ width:100%; height:100%; object-fit:cover; }

/* ---------- SEO content ---------- */
.seo{ color:#fff; }
.seo h1{ color:#fff; text-transform:none; }
.seo h2{ color:var(--gold); text-transform:uppercase; margin-top:1.4em; }
.seo h3{ color:var(--gold); margin-top:1.3em; }
.seo p, .seo li{ color:rgba(255,255,255,.85); font-size:15.5px; }
.seo a{ color:var(--gold); font-weight:600; }
.seo a.btn{ color:var(--deep); }
.seo .lead{ font-size:18px; color:#fff; font-weight:500; }
.seo ul.bullets{ margin:0 0 1.2em; padding:0; }
.seo ul.bullets li{ position:relative; padding-left:26px; margin-bottom:9px; }
.seo ul.bullets li::before{ content:"✦"; position:absolute; left:2px; color:var(--gold-2); }
.seo-table{ width:100%; border-collapse:collapse; margin:18px 0 26px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12); border-radius:var(--radius-sm); overflow:hidden; font-size:14.5px; }
.seo-table th{ background:var(--deep-2); color:var(--gold); text-align:left; padding:12px 16px; font-size:13px; letter-spacing:1px; text-transform:uppercase; }
.seo-table td{ padding:11px 16px; border-bottom:1px solid rgba(255,255,255,.1); color:rgba(255,255,255,.88); }
.seo-table tr:last-child td{ border-bottom:none; }
.seo-table tr:nth-child(even) td{ background:rgba(255,255,255,.03); }
.seo-note{ background:rgba(249,203,22,.1); border-left:5px solid var(--gold); border-radius:0 var(--radius-sm) var(--radius-sm) 0; padding:16px 20px; margin:20px 0; font-size:14.5px; color:rgba(255,255,255,.9); }
.seo-cta{ text-align:center; margin:30px 0 6px; }
.seo-fig{ float:right; width:250px; margin:6px 0 18px 26px; }
.seo-fig img{ width:100%; height:auto; border-radius:var(--radius); box-shadow:var(--shadow-sm); }
.seo-fig figcaption{ font-size:12px; color:rgba(255,255,255,.6); text-align:center; margin-top:8px; }
.seo::after{ content:""; display:block; clear:both; }

/* ---------- Page banner (inner pages) ---------- */
.page-banner{ margin:0 0 10px; }
.page-banner img{ width:100%; height:auto; border-radius:var(--radius-lg); box-shadow:var(--shadow); display:block; }
.page-banner a:hover{ text-decoration:none; }

/* ---------- Footer ---------- */
.site-footer{ background:var(--deep-2); border-top:2px solid rgba(249,203,22,.25); padding:54px 0 120px; }
.footer-top{ display:grid; grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr)); gap:34px; margin-bottom:40px; }
.footer-brand p{ font-size:13.5px; color:rgba(255,255,255,.65); max-width:320px; margin-top:16px; }
.footer-col h4{ font-size:13.5px; letter-spacing:2px; text-transform:uppercase; color:var(--gold); margin-bottom:16px; }
.footer-col li{ margin-bottom:9px; }
.footer-col a{ color:rgba(255,255,255,.78); font-size:14px; }
.footer-col a:hover{ color:var(--gold); text-decoration:none; }
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.1); padding-top:26px;
  display:flex; flex-direction:column; gap:14px;
}
.footer-legal{ font-size:12.3px; color:rgba(255,255,255,.5); line-height:1.65; }
.footer-legal b{ color:rgba(255,255,255,.75); }
.footer-affiliate{ font-size:11.3px; color:rgba(255,255,255,.42); line-height:1.6; }
.footer-affiliate b{ color:rgba(255,255,255,.58); }
.footer-18{
  display:inline-flex; align-items:center; gap:10px; font-weight:700; font-size:12px;
  color:rgba(255,255,255,.75); letter-spacing:1px;
}
.footer-18 .b18{
  width:34px; height:34px; border-radius:50%; border:2px solid var(--coral);
  display:flex; align-items:center; justify-content:center; color:var(--coral); font-size:12.5px; font-weight:800;
}
.footer-copy{ font-size:12.5px; color:rgba(255,255,255,.45); }

/* ---------- Mobile bottom bar ---------- */
.mobile-bar{
  display:none; position:fixed; left:0; right:0; bottom:0; z-index:880;
  background:linear-gradient(180deg, var(--deep), var(--deep-2));
  border-top:1px solid rgba(249,203,22,.35);
  padding:8px 10px calc(8px + env(safe-area-inset-bottom));
  box-shadow:0 -8px 24px rgba(0,0,0,.4);
}
.mobile-bar .mb-inner{ display:grid; grid-template-columns:repeat(4,1fr); gap:6px; }
.mobile-bar a{
  display:flex; flex-direction:column; align-items:center; gap:3px;
  font-size:10.5px; font-weight:700; letter-spacing:.4px; color:rgba(255,255,255,.8);
  padding:6px 2px; border-radius:10px;
}
.mobile-bar a:hover{ text-decoration:none; color:var(--gold); }
.mobile-bar .mb-ic{ font-size:19px; height:22px; display:flex; align-items:center; }
.mobile-bar .mb-ic img{ width:20px; height:20px; }
.mobile-bar a.mb-join{ background:linear-gradient(180deg,#FFDD5C,var(--gold-2)); color:var(--deep); }

/* ---------- To top ---------- */
.to-top{
  position:fixed; right:22px; bottom:96px; z-index:860;
  width:48px; height:48px; border-radius:50%; border:1.5px solid rgba(249,203,22,.6);
  background:var(--deep); color:var(--gold); font-size:18px;
  display:flex; align-items:center; justify-content:center;
  opacity:0; visibility:hidden; transform:translateY(12px); transition:.25s;
  box-shadow:var(--shadow-sm);
}
.to-top img{ width:20px; height:20px; }
.to-top.is-visible{ opacity:1; visibility:visible; transform:none; }

/* ---------- Toast ---------- */
.toast{
  position:fixed; left:50%; bottom:110px; transform:translate(-50%,20px); z-index:990;
  background:var(--deep); color:#fff; border:1px solid rgba(249,203,22,.5);
  padding:12px 22px; border-radius:var(--pill); font-size:14px; font-weight:600;
  opacity:0; pointer-events:none; transition:.25s; box-shadow:var(--shadow);
  display:flex; align-items:center; gap:9px;
}
.toast.is-show{ opacity:1; transform:translate(-50%,0); }
.toast .tick{ color:var(--gold); }

/* ---------- Reveal on scroll ---------- */
.reveal{ opacity:0; transform:translateY(22px); transition:opacity .55s ease, transform .55s ease; }
.reveal.in{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
  .ticker-track{ animation-duration:120s; }
}

@keyframes fadeUp{ from{ opacity:0; transform:translateY(14px);} to{ opacity:1; transform:none;} }

/* ============================================================
   Inner pages
   ============================================================ */
.page-hero{
  background:
    radial-gradient(700px 300px at 80% 0%, rgba(249,203,22,.14), transparent 60%),
    linear-gradient(180deg,var(--deep),var(--green));
  padding:46px 0 42px; border-bottom:1px solid rgba(249,203,22,.2);
}
.page-hero h1{ text-transform:uppercase; margin-bottom:8px; }
.page-hero p{ color:rgba(255,255,255,.82); max-width:720px; margin:0; font-size:16.5px; }
.crumbs{ font-size:12.5px; color:rgba(255,255,255,.55); margin-bottom:12px; letter-spacing:.4px; }
.crumbs a{ color:rgba(255,255,255,.75); }

/* Promotions page */
.filter-chips{ display:flex; gap:10px; flex-wrap:wrap; margin:26px 0 30px; }
.chip{
  border:1.5px solid rgba(249,203,22,.55); background:rgba(249,203,22,.08); color:var(--gold);
  padding:9px 22px; border-radius:var(--pill); font-weight:700; font-size:13.5px; letter-spacing:1px;
  text-transform:uppercase; transition:.16s;
}
.chip:hover{ background:rgba(249,203,22,.2); }
.chip.is-active{ background:var(--gold); color:var(--deep); }
.promo-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.promo-tile{
  background:rgba(255,255,255,.06); color:#fff;
  border-radius:var(--radius); padding:24px; border:1px solid rgba(255,255,255,.12);
  box-shadow:var(--shadow-sm); display:flex; flex-direction:column; gap:10px; transition:.18s;
}
.promo-tile:hover{ transform:translateY(-4px); box-shadow:var(--shadow); background:rgba(249,203,22,.08); border-color:rgba(249,203,22,.4); }
.promo-tile .pt-cat{ font-size:10.5px; font-weight:800; letter-spacing:2px; text-transform:uppercase; color:var(--gold); }
.promo-tile h3{ color:#fff; font-size:19px; margin:0; text-transform:uppercase; }
.promo-tile p{ font-size:13.8px; color:rgba(255,255,255,.78); margin:0; flex:1; }
.promo-tile .pt-terms{ font-size:12px; color:rgba(255,255,255,.55); }
.promo-tile .pt-actions{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-top:4px; }

/* Banking page */
.bank-block{ margin-bottom:44px; }
.bank-block h2{ text-transform:uppercase; }
.bank-table{ width:100%; border-collapse:collapse; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12); border-radius:var(--radius-sm); overflow:hidden; font-size:14.5px; color:rgba(255,255,255,.88); }
.bank-table th{ background:var(--deep-2); color:var(--gold); text-align:left; padding:13px 16px; font-size:12px; letter-spacing:1.4px; text-transform:uppercase; }
.bank-table td{ padding:12px 16px; border-bottom:1px solid rgba(255,255,255,.1); }
.bank-table tr:last-child td{ border-bottom:none; }
.bank-table tr:nth-child(even) td{ background:rgba(255,255,255,.03); }
.bank-note{ display:flex; gap:16px; align-items:center; background:rgba(249,203,22,.1); border:1px solid rgba(249,203,22,.4); border-radius:var(--radius); padding:20px 24px; margin:26px 0; }
.bank-note .ic{ font-size:30px; }

/* Games lobby */
.lobby-toolbar{ display:flex; gap:12px; flex-wrap:wrap; align-items:center; margin:26px 0 28px; }
.lobby-search{ flex:1; min-width:220px; }
.lobby-search input{
  width:100%; padding:13px 20px; border-radius:var(--pill); border:1.5px solid rgba(255,255,255,.25);
  background:rgba(255,255,255,.08); color:#fff; font-size:14.5px;
}
.lobby-search input::placeholder{ color:rgba(255,255,255,.5); }
.lobby-search input:focus{ outline:none; border-color:var(--gold); }
.lobby-grid{ display:grid; grid-template-columns:repeat(6,1fr); gap:16px; }
.lobby-empty{ text-align:center; padding:60px 20px; color:rgba(255,255,255,.6); display:none; }
.lobby-count{ font-size:13px; color:rgba(255,255,255,.6); margin-bottom:14px; }
.lobby-more{ text-align:center; margin-top:34px; }

/* Signup page */
.form-card{
  background:linear-gradient(170deg, rgba(255,255,255,.08), rgba(255,255,255,.02)), var(--green-2); color:#fff;
  border-radius:var(--radius-lg); padding:36px; max-width:620px; margin:0 auto;
  box-shadow:var(--shadow); border:1px solid rgba(249,203,22,.35);
}
.steps{ display:flex; gap:8px; margin-bottom:28px; }
.step{ flex:1; text-align:center; font-size:12px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:rgba(255,255,255,.45); }
.step .bar{ height:6px; border-radius:3px; background:rgba(255,255,255,.15); margin-bottom:9px; }
.step.is-active .bar{ background:var(--gold); }
.step.is-active{ color:var(--gold); }
.field{ margin-bottom:16px; }
.field label{ display:block; font-size:13px; font-weight:700; color:rgba(255,255,255,.9); margin-bottom:6px; letter-spacing:.3px; }
.field input, .field select{
  width:100%; padding:13px 16px; border-radius:var(--radius-sm); border:1.5px solid #D8E4DD;
  background:#fff; font-size:14.5px; color:var(--ink); transition:.15s;
}
.field input:focus, .field select:focus{ outline:none; border-color:var(--green-3); box-shadow:0 0 0 4px rgba(42,138,95,.12); }
.field .hint{ font-size:11.5px; color:rgba(255,255,255,.5); margin-top:5px; }
.field-row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.check-row{ display:flex; gap:10px; align-items:flex-start; font-size:13px; color:rgba(255,255,255,.8); margin:14px 0 20px; }
.check-row input{ width:18px; height:18px; margin-top:2px; accent-color:var(--green-3); }
.form-note{ font-size:12px; color:rgba(255,255,255,.5); text-align:center; margin-top:16px; }
.success-box{ display:none; text-align:center; padding:20px 0; }
.success-box .big{ font-size:54px; }
.success-box h3{ color:var(--gold); }
.success-box.is-show{ display:block; }

/* Support page */
.support-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-bottom:40px; }
.support-card{
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.13);
  border-radius:var(--radius); padding:28px 24px; text-align:center;
}
.support-card .ic{ font-size:40px; margin-bottom:12px; }
.support-card h3{ font-size:18px; }
.support-card p{ font-size:13.5px; color:rgba(255,255,255,.72); margin-bottom:16px; }

/* Login page */
.auth-card{ max-width:440px; margin:0 auto; }
.auth-alt{ text-align:center; margin-top:18px; font-size:13.5px; color:rgba(255,255,255,.75); }
.auth-alt a{ color:var(--gold); font-weight:700; }

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width: 1080px){
  .main-nav{ display:none; }
  .burger{ display:block; }
  .header-cta{ display:none; }
  .footer-top{ grid-template-columns:1fr 1fr; }
  .reviews-grid{ grid-template-columns:repeat(3,1fr); }
  .lobby-grid{ grid-template-columns:repeat(4,1fr); }
}

@media (max-width: 900px){
  .bonus-grid{ grid-template-columns:1fr; }
  .hot-games{ grid-template-columns:repeat(3,1fr); gap:14px; }
  .reasons-grid{ grid-template-columns:repeat(2,1fr); }
  .promo-card{ grid-template-columns:1fr; padding:30px; gap:24px; }
  .promo-art{ max-width:340px; margin:0 auto; width:100%; }
  .promo-grid{ grid-template-columns:repeat(2,1fr); }
  .support-grid{ grid-template-columns:1fr; }
  .mobile-bar{ display:block; }
  .to-top{ bottom:110px; }
  .site-footer{ padding-bottom:150px; }
  .seo-fig{ float:none; width:min(320px,100%); margin:16px auto; }
}

@media (max-width: 640px){
  .section{ padding:42px 0; }
  .topstrip .container{ justify-content:center; }
  .topstrip .ts-right{ display:none; }
  .hero-stats-bar .container{ justify-content:space-around; gap:12px; }
  .hero-stat b{ font-size:18px; }
  .hero-stat span{ font-size:11px; }
  .hot-games{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
  .reasons-grid{ grid-template-columns:1fr; }
  .reviews-grid{ grid-template-columns:1fr 1fr; }
  .promo-grid{ grid-template-columns:1fr; }
  .lobby-grid{ grid-template-columns:repeat(3,1fr); gap:12px; }
  .field-row{ grid-template-columns:1fr; }
  .footer-top{ grid-template-columns:1fr; gap:26px; }
  .bonus-card{ padding:24px 22px; }
  .form-card{ padding:26px 20px; }
  .games-head{ flex-direction:column; align-items:flex-start; }
  .seo-table{ font-size:13px; }
  .seo-table th, .seo-table td{ padding:9px 11px; }
  .game-card__title{ font-size:14.5px; }
}

@media (max-width: 430px){
  .reviews-grid{ grid-template-columns:1fr; }
  .lobby-grid{ grid-template-columns:repeat(2,1fr); }
}
