/* ============================================================
   highflybet Guide Italia — modern dark iGaming UI (v2)
   Palette: near-black bg, teal accent, purple/red hero gradients,
   gold micro-accents. Built from scratch, no framework.
   ============================================================ */

:root{
  --bg:#0a0a0f;
  --bg-elevated:#0d0e14;
  --surface:#14151f;
  --surface-2:#1a1c29;
  --border:#252838;
  --border-soft:#1d1f2c;
  --text:#f2f3f7;
  --text-muted:#9aa0b4;
  --text-dim:#6b7086;
  --teal:#00d9c0;
  --teal-dim:#00a894;
  --teal-glow:rgba(0,217,192,.18);
  --gold:#f2c94c;
  --purple:#7b2ff7;
  --purple-2:#4b1fa8;
  --red:#e0335f;
  --maxw:1240px;
  --radius:14px;
  --radius-sm:8px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Inter","Segoe UI",Arial,sans-serif;
  background:
    radial-gradient(1200px 600px at 15% -10%, rgba(123,47,247,.10), transparent 60%),
    radial-gradient(900px 500px at 100% 0%, rgba(0,217,192,.07), transparent 55%),
    var(--bg);
  color:var(--text);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--teal);text-decoration:none}
a:hover{color:#5cf1de}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
::selection{background:var(--teal);color:#04110f}

/* ---------- layout shell (sidebar + content) ---------- */
.app-shell{display:flex;min-height:100vh}
.sidebar{
  width:64px;flex:0 0 64px;
  background:var(--bg-elevated);
  border-right:1px solid var(--border-soft);
  display:none;
  flex-direction:column;align-items:center;
  padding:18px 0;gap:6px;
  position:sticky;top:0;height:100vh;
}
@media (min-width:900px){ .sidebar{display:flex} }
.sidebar a{
  width:40px;height:40px;border-radius:11px;
  display:flex;align-items:center;justify-content:center;
  color:var(--text-dim);
  transition:.15s;
}
.sidebar a svg{width:20px;height:20px}
.sidebar a:hover,.sidebar a.active{
  background:var(--teal-glow);color:var(--teal);
}
.sidebar .sb-spacer{flex:1}

.main-col{flex:1;min-width:0;display:flex;flex-direction:column}

/* ---------- header ---------- */
header.site-header{
  background:rgba(10,10,15,.85);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border-soft);
  position:sticky;top:0;z-index:50;
}
.header-inner{
  display:flex;align-items:center;gap:18px;
  padding:14px 24px;max-width:var(--maxw);margin:0 auto;
}
.logo{
  display:flex;align-items:center;gap:8px;flex:0 0 auto;
  font-weight:800;font-size:19px;color:var(--text);letter-spacing:-.02em;
}
.logo:hover{color:var(--text)}
.logo .logo-mark{
  width:30px;height:30px;border-radius:9px;
  background:linear-gradient(135deg,var(--teal),var(--purple));
  display:flex;align-items:center;justify-content:center;flex:0 0 auto;
}
.logo .logo-mark svg{width:17px;height:17px;color:#04110f}
.logo .logo-mark img{width:100%;height:100%;object-fit:cover;border-radius:9px}
.logo .logo-sub{color:var(--teal);font-weight:800}
.logo-full{height:30px;width:auto;display:block}

nav.main-nav{flex:1;min-width:0}
nav.main-nav ul.mnav-desktop-list{
  list-style:none;margin:0;padding:0;
  display:flex;flex-wrap:wrap;gap:6px;
}
nav.main-nav a{
  display:inline-block;padding:8px 14px;border-radius:999px;
  color:var(--text-muted);font-size:13.5px;font-weight:600;
  border:1px solid transparent;white-space:nowrap;
}
nav.main-nav ul.mnav-desktop-list a:hover{color:var(--text);background:var(--surface-2)}
nav.main-nav ul.mnav-desktop-list a[aria-current="page"]{
  color:var(--teal);background:var(--teal-glow);border-color:rgba(0,217,192,.35);
}
/* mobile-only drawer content: hidden on desktop, shown only inside the
   open mobile drawer (see nav.main-nav.open rules further below) */
.mnav-mobile-head,.mnav-tiles-full,.mnav-tiles-grid,.mnav-tile-promo-wrap,.mnav-list,.mnav-footer{display:none}

.header-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.icon-btn{
  width:36px;height:36px;border-radius:10px;border:1px solid var(--border);
  background:var(--surface);color:var(--text-muted);
  display:flex;align-items:center;justify-content:center;cursor:pointer;
}
.icon-btn svg{width:16px;height:16px}
.icon-btn:hover{color:var(--teal);border-color:var(--teal-dim)}
.btn-login{
  color:var(--text-muted);font-size:13px;font-weight:700;
  background:var(--purple);color:#fff;
  padding:8px 16px;border-radius:999px;white-space:nowrap;
  display:inline-block;
}
.btn-login:hover{color:#fff;opacity:.9}
.btn-register{
  background:linear-gradient(135deg,var(--teal),var(--teal-dim));
  color:#04110f;font-weight:800;font-size:13.5px;
  padding:9px 18px;border-radius:999px;white-space:nowrap;
  box-shadow:0 0 0 0 rgba(0,217,192,.4);
  transition:.15s;
}
.btn-register:hover{color:#04110f;box-shadow:0 4px 18px rgba(0,217,192,.35);transform:translateY(-1px)}

.menu-toggle{
  display:flex;align-items:center;justify-content:center;
  width:36px;height:36px;border-radius:10px;flex:0 0 auto;
  background:var(--surface);border:1px solid var(--border);color:var(--text);
  cursor:pointer;
}
@media (min-width:900px){ .menu-toggle{display:none} }
nav.main-nav{display:none}
@media (min-width:900px){ nav.main-nav{display:block} }
nav.main-nav.open{
  display:block;position:fixed;top:0;left:0;right:0;bottom:0;z-index:200;
  height:100vh;height:100dvh;
  background:var(--bg-elevated);padding:0 0 18px;overflow-y:auto;
  flex:none;
}
/* Redesigned mobile drawer content — mirrors highfly.bet reference:
   close header, 2 full-width tiles, 2x2 tile grid, dropdown-style list,
   help/lang/social footer. Desktop pill nav (.mnav-desktop-list) stays
   hidden while the drawer is open on mobile. */
nav.main-nav.open .mnav-desktop-list{display:none}
nav.main-nav.open .mnav-mobile-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 20px;border-bottom:1px solid var(--border-soft);
  position:sticky;top:0;background:var(--bg-elevated);z-index:2;
}
.mnav-mobile-logo{display:flex;align-items:center;flex:1;justify-content:center}
.mnav-mobile-logo img{height:22px;width:auto;display:block}
.mnav-mobile-spacer{width:34px;flex:0 0 auto}
.mnav-mobile-title{font-weight:800;font-size:15px;color:var(--text)}
.mnav-close{
  width:34px;height:34px;border-radius:10px;border:1px solid var(--border);
  background:var(--surface);color:var(--text);display:flex;align-items:center;
  justify-content:center;cursor:pointer;flex:0 0 auto;
}
.mnav-close svg{width:16px;height:16px}
nav.main-nav.open .mnav-tiles-full{display:flex;flex-direction:column;gap:10px;padding:16px 20px 0}
nav.main-nav a.mnav-tile-full{
  display:flex;align-items:center;gap:12px;padding:16px;border-radius:16px;
  background:var(--surface);white-space:normal;
  border:1px solid var(--border-soft);color:var(--text);
  height:auto;width:auto;
}
.mnav-tile-full .mnav-tile-ic{
  width:40px;height:40px;border-radius:11px;flex:0 0 auto;
  display:flex;align-items:center;justify-content:center;color:var(--teal);
  background:var(--teal-glow);
}
.mnav-tile-full .mnav-tile-ic svg{width:20px;height:20px;display:block;margin:auto}
.mnav-tile-txt{display:flex;flex-direction:column;gap:2px}
.mnav-tile-txt strong{font-size:14.5px;color:var(--text)}
.mnav-tile-txt small{font-size:11.5px;color:var(--text-muted)}
nav.main-nav.open .mnav-tiles-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 20px 0;
}
nav.main-nav a.mnav-tile{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  padding:16px 8px;border-radius:16px;background:var(--surface);white-space:normal;
  border:1px solid var(--border-soft);color:var(--text);text-align:center;font-size:12.5px;font-weight:700;
  height:auto;width:auto;
}
.mnav-tile .mnav-tile-ic{
  width:36px;height:36px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;color:var(--teal);
  background:var(--teal-glow);
}
.mnav-tile .mnav-tile-ic svg{width:18px;height:18px;display:block;margin:auto}
nav.main-nav.open .mnav-tile-promo-wrap{display:block;padding:10px 20px 0}
nav.main-nav a.mnav-tile-promo{
  display:flex;align-items:center;gap:12px;padding:16px;border-radius:16px;
  background:var(--surface);white-space:normal;
  border:1px solid var(--border-soft);color:var(--text);
  font-size:14.5px;font-weight:700;
  height:auto;width:auto;
}
.mnav-tile-promo .mnav-tile-ic{
  width:40px;height:40px;border-radius:11px;flex:0 0 auto;
  display:flex;align-items:center;justify-content:center;color:var(--teal);
  background:var(--teal-glow);
}
.mnav-tile-promo .mnav-tile-ic svg{width:20px;height:20px;display:block;margin:auto}
.mnav-tile-promo span:nth-child(2){flex:1}
.mnav-tile-promo svg{width:16px;height:16px;color:var(--text-dim)}
nav.main-nav.open .mnav-list{
  display:flex;flex-direction:column;list-style:none;margin:14px 20px 0;padding:0;
  border-top:1px solid var(--border-soft);
}
.mnav-list li a{
  display:flex;align-items:center;gap:10px;
  padding:15px 2px;color:var(--text);font-size:14px;font-weight:600;
  border-bottom:1px solid var(--border-soft);
}
.mnav-list li a span:nth-child(2){flex:1}
.mnav-list-ic{width:18px;height:18px;display:flex;color:var(--text-dim)}
.mnav-list-ic svg{width:18px;height:18px}
.mnav-list li a > svg{width:16px;height:16px;color:var(--text-dim)}
nav.main-nav.open .mnav-footer{
  display:flex;flex-direction:column;gap:12px;align-items:stretch;
  padding:18px 20px 4px;margin-top:8px;
}
.mnav-help-row{display:flex;align-items:center;gap:10px}
.mnav-support-btn{
  width:46px;height:46px;border-radius:50%;background:var(--purple);color:#fff;
  display:flex;align-items:center;justify-content:center;flex:0 0 auto;
}
.mnav-support-btn svg{width:20px;height:20px}
.mnav-help-btn{
  flex:1;display:flex;align-items:center;justify-content:center;gap:8px;
  text-align:center;background:var(--teal);color:#04110f;
  font-weight:800;font-size:14px;padding:13px;border-radius:999px;
}
.mnav-help-btn svg{width:17px;height:17px}
.mnav-lang{
  display:flex;align-items:center;justify-content:flex-start;gap:8px;
  background:var(--surface);border:1px solid var(--border);color:var(--text);
  font-size:13px;font-weight:700;padding:13px 14px;border-radius:14px;cursor:pointer;width:100%;
}
.mnav-lang span{flex:1;text-align:left}
.mnav-lang svg{width:16px;height:16px;color:var(--text-dim)}
.mnav-social{display:flex;justify-content:center;gap:12px;padding-top:4px}
.mnav-social a{
  width:38px;height:38px;border-radius:50%;background:var(--surface);
  border:1px solid var(--border);display:flex;align-items:center;justify-content:center;
  color:var(--text-muted);
}
.mnav-social a svg{width:17px;height:17px}
.mnav-social a:hover{color:var(--teal);border-color:var(--teal-dim)}

/* ---------- mobile header fix: hamburger left of the logo (not
   "centered on everything"), 2 pill buttons (Accedi + Registrati)
   both visible at once, no overflow at 375px. ---------- */
@media (max-width:899px){
  .header-inner{padding:12px 14px;gap:8px}
  .menu-toggle{order:0;flex:0 0 auto}
  .logo{order:1;flex:1 1 auto;min-width:0;font-size:15px;gap:6px}
  .logo span,.logo{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .logo .logo-mark{width:26px;height:26px;flex:0 0 auto}
  .logo .logo-mark svg{width:15px;height:15px}
  nav.main-nav{order:2}
  .header-actions{order:3;gap:6px;flex:0 0 auto}
  .btn-login{padding:7px 12px;font-size:11.5px}
  .btn-register{padding:7px 12px;font-size:11.5px}
}
@media (max-width:420px){
  .btn-login{padding:6px 10px;font-size:11px}
  .btn-register{padding:6px 10px;font-size:11px}
}

/* ---------- hero promo cards (homepage)
   ONE card fully visible + next card edge peeking on the right
   (carousel hint), matching the reference's swipeable single-card hero. ---------- */
.hero-section{padding:20px 24px 8px;max-width:var(--maxw);margin:0 auto 32px;position:relative}
.hero-tabs{display:flex;gap:6px;margin:0 0 14px;justify-content:flex-start}
.hero-tab{
  padding:8px 16px;border-radius:999px;font-size:12.5px;font-weight:700;
  color:var(--text-muted);background:var(--surface);border:1px solid var(--border);
  flex:0 0 auto;
}
.hero-tab.active{color:#04110f;background:var(--purple);border-color:var(--purple)}
.hero-grid{
  display:grid;grid-template-columns:1fr;gap:16px;
}
@media (min-width:760px){ .hero-grid{grid-template-columns:repeat(3,1fr)} }
/* On mobile keep ONE active promo card almost fully visible with the next
   card's edge peeking in on the right (carousel hint) — matches the
   highfly.bet reference where a sliver of the next card shows. */
@media (max-width:759px){
  .hero-grid{
    grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:88%;
    display:grid;overflow-x:auto;scroll-snap-type:x mandatory;
    -ms-overflow-style:none;scrollbar-width:none;gap:12px;
  }
  .hero-grid::-webkit-scrollbar{display:none}
  .hero-grid > .promo-card{scroll-snap-align:start;margin-right:0}
}
.promo-card{
  border-radius:20px;padding:32px 26px;min-height:210px;
  position:relative;overflow:hidden;
  display:flex;flex-direction:column;justify-content:flex-end;gap:14px;
  border:1px solid rgba(255,255,255,.06);
}
.promo-card::before{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(to right, rgba(8,4,16,.88) 0%, rgba(8,4,16,.68) 38%, rgba(8,4,16,.28) 62%, transparent 88%);
}
.promo-card.p1{background:linear-gradient(135deg,#2a0a3f 0%, #6d1240 55%, #a11a3b 100%)}
.promo-card.p2{background:linear-gradient(135deg,#0b1740 0%, #1c2470 55%, #3a1f8f 100%)}
.promo-card.p3{background:linear-gradient(135deg,#170a33 0%, #3a1266 55%, #5c1a8f 100%)}
.promo-card::after{
  content:"";position:absolute;right:-40px;top:-40px;width:220px;height:220px;border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.10), transparent 70%);
}
.promo-illus{
  position:absolute;z-index:0;left:0;right:0;top:0;bottom:0;
  width:100%;height:100%;object-fit:cover;object-position:center 20%;
  opacity:.96;pointer-events:none;
  -webkit-mask-image:linear-gradient(to right, transparent 0%, black 45%);
  mask-image:linear-gradient(to right, transparent 0%, black 45%);
}
@media (max-width:759px){ .promo-illus{opacity:.85} }
.promo-label{
  position:relative;z-index:2;align-self:flex-start;
  background:rgba(255,255,255,.14);backdrop-filter:blur(4px);
  color:#fff;font-size:11.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;
  padding:5px 12px;border-radius:999px;
}
.promo-title{position:relative;z-index:2;font-size:23px;font-weight:800;color:#fff;line-height:1.2;margin:0}
.promo-title .hl{color:var(--gold)}
.promo-cta{
  position:relative;z-index:2;align-self:flex-start;
  background:var(--teal);color:#04110f;font-weight:800;font-size:13.5px;
  padding:10px 20px;border-radius:999px;
}
.promo-cta:hover{background:#5cf1de;color:#04110f}
.hero-caption{color:var(--text-dim);font-size:13px;margin:16px 2px 0}

/* ---------- section scaffolding ---------- */
.section{max-width:var(--maxw);margin:0 auto;padding:34px 24px}
.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:16px}
.section-head h2{font-size:19px;margin:0;color:var(--text);border:none;padding:0}
.section-head .see-all{font-size:12.5px;font-weight:700;color:var(--teal-dim)}

/* horizontal scroll strip (trust / why-us) */
.scroll-strip{
  display:flex;gap:14px;overflow-x:auto;padding-bottom:8px;
  -ms-overflow-style:none;scrollbar-width:none;
}
.scroll-strip::-webkit-scrollbar{display:none}
.strip-card{
  flex:0 0 240px;background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius);padding:18px;
}
.strip-card .strip-icon{
  width:36px;height:36px;border-radius:10px;background:var(--teal-glow);
  display:flex;align-items:center;justify-content:center;margin-bottom:12px;
}
.strip-card .strip-icon svg{width:18px;height:18px;color:var(--teal)}
.strip-card h3{font-size:14.5px;margin:0 0 6px;color:var(--text)}
.strip-card p{font-size:12.8px;color:var(--text-muted);margin:0}
.scroll-arrows{display:flex;gap:6px}
.scroll-arrows button{
  width:30px;height:30px;border-radius:8px;border:1px solid var(--border);
  background:var(--surface);color:var(--text-muted);cursor:pointer;
}
.scroll-arrows button:hover{color:var(--teal);border-color:var(--teal-dim)}

/* ---------- card grids (games / bonuses) ---------- */
.grid{display:grid;grid-template-columns:1fr;gap:14px;margin:18px 0}
@media (min-width:640px){.grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:980px){.grid.cols4{grid-template-columns:repeat(4,1fr)}
  .grid.cols3{grid-template-columns:repeat(3,1fr)}}

.tile{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
  padding:18px;transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  display:flex;flex-direction:column;gap:10px;
}
.tile:hover{
  transform:translateY(-4px) scale(1.015);
  box-shadow:0 14px 34px -14px rgba(0,217,192,.28);
  border-color:rgba(0,217,192,.4);
}
.tile .tile-icon{
  width:46px;height:46px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg, var(--purple), var(--teal-dim));
}
.tile .tile-icon svg{width:24px;height:24px;color:#fff}
.tile .tile-icon img{width:100%;height:100%;object-fit:cover;border-radius:12px}
.tile h3{font-size:15px;margin:0;color:var(--text)}
.tile p{font-size:12.8px;color:var(--text-muted);margin:0;flex:1}
.tile .tile-link{font-size:12.5px;font-weight:700;color:var(--teal)}

/* generic card (legacy content blocks keep using .card) */
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px}
.card img{height:44px;width:44px;margin-bottom:8px}

/* ---------- promo CTA inline box (per page) ---------- */
.inline-promo{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;
  background:linear-gradient(120deg, rgba(123,47,247,.16), rgba(0,217,192,.10));
  border:1px solid rgba(0,217,192,.25);
  border-radius:var(--radius);padding:20px 22px;margin:26px 0;
}
.inline-promo .ip-text h3{margin:0 0 4px;font-size:16px;color:var(--text)}
.inline-promo .ip-text p{margin:0;font-size:13px;color:var(--text-muted)}
.inline-promo .ip-cta{
  background:var(--teal);color:#04110f;font-weight:800;font-size:13.5px;
  padding:11px 22px;border-radius:999px;white-space:nowrap;flex:0 0 auto;
}
.inline-promo .ip-cta:hover{background:#5cf1de;color:#04110f}
.inline-promo .ip-note{font-size:10.5px;color:var(--text-dim);width:100%}

/* ---------- article / content ---------- */
main.content-area{padding:6px 0 40px}
.content-block{max-width:840px;margin:0 auto;padding:0 24px}
.content-block--top{padding-top:22px;padding-bottom:4px}
.content-block h1{font-size:clamp(24px,4vw,34px);line-height:1.2;margin:6px 0 10px;letter-spacing:-.01em}
.content-block h2{font-size:20px;margin-top:36px;margin-bottom:12px;color:var(--text);
  border-left:3px solid var(--teal);padding-left:12px}
.content-block h3{font-size:16px;color:var(--text)}
.content-block p{margin:0 0 14px;color:#d3d6e2}
.content-block ol,.content-block ul{padding-left:22px;color:#d3d6e2}
.content-block li{margin-bottom:6px}
.content-block a{text-decoration:underline;text-decoration-color:rgba(0,217,192,.35)}
.meta-desc{color:var(--text-muted);font-size:15px;margin-bottom:22px}

.breadcrumb{font-size:12.5px;color:var(--text-dim);margin:14px 0 4px;padding:0 24px;max-width:840px;margin-left:auto;margin-right:auto}
.breadcrumb a{color:var(--text-dim)}

.badge-row{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}
.badge{background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);font-size:12px;padding:4px 10px;border-radius:20px}

.cta{display:inline-block;background:var(--teal);color:#04110f;font-weight:700;padding:11px 20px;border-radius:999px;margin:10px 8px 10px 0;text-decoration:none}
.cta:hover{background:#5cf1de;color:#04110f}
.cta-secondary{background:transparent;border:1px solid var(--teal-dim);color:var(--teal)}

table{width:100%;border-collapse:collapse;table-layout:fixed}
.table-wrap{overflow-x:auto;margin:16px 0;border:1px solid var(--border);border-radius:10px}
th,td{padding:10px 12px;border-bottom:1px solid var(--border);text-align:left;font-size:13.5px;word-break:break-word}
th{background:var(--surface-2);color:var(--text)}
td{color:var(--text-muted)}

/* Top vincite: tabs (7 giorni / 30 giorni / Da sempre) + filter buttons */
.top-wins-section .section-head{flex-wrap:wrap}
.tw-filters{display:flex;gap:8px;flex-wrap:wrap}
.tw-filter-btn{
  background:var(--surface);border:1px solid var(--border);color:var(--text-muted);
  font-size:12.5px;font-weight:600;padding:7px 13px;border-radius:999px;cursor:default;
}
.tw-tabs{position:relative}
.tw-tab-input{position:absolute;opacity:0;pointer-events:none}
.tw-tab-label{
  display:inline-block;padding:9px 16px;margin:0 6px 14px 0;border-radius:999px;
  border:1px solid var(--border);color:var(--text-muted);font-size:13px;font-weight:700;cursor:pointer;
}
.tw-tab-input:checked + .tw-tab-label{background:var(--teal);color:#04110f;border-color:var(--teal)}
.tw-panel{display:none}
#tw7:checked ~ .tw-panel-7{display:block}
#tw30:checked ~ .tw-panel-30{display:block}
#twall:checked ~ .tw-panel-all{display:block}
.tw-table{table-layout:fixed}
.tw-table th:nth-child(1),.tw-table td:nth-child(1){width:34%}
.tw-table th:nth-child(2),.tw-table td:nth-child(2){width:18%}
.tw-game{word-break:normal;white-space:nowrap;overflow:hidden;box-sizing:border-box}
.tw-game img{border-radius:6px;vertical-align:middle;margin-right:8px}
.tw-game span{color:var(--text);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;display:inline-block;max-width:calc(100% - 40px)}
.tw-win{color:#3ee08a;font-weight:800}
.tw-note{color:var(--text-muted);font-size:12px;margin-top:10px}
@media (max-width:640px){
  .tw-table{table-layout:auto;min-width:560px}
  .tw-table th,.tw-table td{padding:8px 8px;font-size:12.5px}
  .tw-game span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}

.experience-box{
  background:linear-gradient(120deg, rgba(242,201,76,.09), rgba(242,201,76,.02));
  border:1px solid rgba(242,201,76,.3);border-left:4px solid var(--gold);
  padding:16px 18px;border-radius:10px;margin:22px 0;
}
.experience-box h2{border:none;margin-top:0;padding-left:0;font-size:15.5px;color:var(--gold)}

.faq details{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 16px;margin-bottom:8px}
.faq summary{cursor:pointer;font-weight:600;color:var(--text)}
.faq summary::marker{color:var(--teal)}
.faq-section{max-width:840px;padding:34px 24px}
.faq-section .section-head{margin-bottom:10px}
.faq p{color:var(--text-muted);font-size:13.5px;margin:10px 0 0}

/* ---------- author / E-E-A-T block ---------- */
.author-section{max-width:840px;padding:10px 24px 34px}
.author-box{
  display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap;
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
  padding:20px 22px;
}
.author-photo{
  width:96px;height:96px;border-radius:50%;object-fit:cover;flex-shrink:0;
  border:2px solid var(--teal-dim);
}
.author-info{flex:1;min-width:220px}
.author-info h3{margin:0 0 2px;font-size:15.5px;color:var(--text)}
.author-role{color:var(--teal);font-size:12.5px;font-weight:700;margin:0 0 8px}
.author-bio{color:var(--text-muted);font-size:13.5px;line-height:1.55;margin:0 0 12px}
.author-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.author-badges span{
  background:var(--teal-glow);color:var(--teal);font-size:11.5px;font-weight:700;
  padding:4px 10px;border-radius:999px;border:1px solid rgba(0,217,192,.35);
}
.author-linkedin{
  display:inline-flex;align-items:center;gap:6px;color:var(--teal-dim);
  font-size:12.5px;font-weight:700;
}
.author-linkedin:hover{color:var(--teal)}

/* ---------- slots listing grid (catalogo giochi) ---------- */
.slots-section{max-width:840px;padding:0 24px 10px}
.slots-note{color:var(--text-dim);font-size:12.5px;margin:0 0 16px}
.slots-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media (min-width:900px){.slots-grid{grid-template-columns:repeat(3,1fr);gap:14px}}
.slot-card-link{display:block;color:inherit}
.slot-card-link:hover{color:inherit}
.slot-card--linked{border-color:var(--teal);box-shadow:0 0 0 1px var(--teal-glow)}
.slot-card--linked .slot-info h3{color:var(--teal)}
.slot-card{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
  overflow:hidden;transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.slot-card:hover{
  transform:translateY(-3px);box-shadow:0 12px 28px -14px rgba(0,217,192,.28);
  border-color:rgba(0,217,192,.4);
}
.slot-media{position:relative;aspect-ratio:1/1;background:var(--surface-2)}
.slot-media img{width:100%;height:100%;object-fit:cover;display:block}
.slot-rtp{
  position:absolute;bottom:6px;left:6px;background:rgba(0,0,0,.6);color:#fff;
  font-size:11px;font-weight:800;padding:3px 8px;border-radius:6px;
}
.slot-ribbon{
  position:absolute;top:6px;right:6px;background:var(--teal);color:#04110f;
  font-size:10.5px;font-weight:800;padding:3px 8px;border-radius:6px;
  letter-spacing:.02em;
}
.slot-info{padding:12px 14px}
.slot-info h3{font-size:14px;margin:0 0 3px;color:var(--text)}
.slot-info p{font-size:12px;margin:0;color:var(--text-muted)}

/* ---------- inline content illustrations (long-copy pages) ---------- */
.content-illustration{margin:22px 0;padding:0}
.content-illustration img{
  width:100%;height:auto;border-radius:var(--radius);border:1px solid var(--border-soft);
  display:block;
}

/* ---------- footer ---------- */
footer.site-footer{
  background:var(--bg-elevated);border-top:1px solid var(--border-soft);
  color:var(--text-muted);font-size:13px;padding:34px 0 24px;margin-top:30px;
}
.footer-cols{display:grid;grid-template-columns:1fr;gap:24px}
@media (min-width:700px){.footer-cols{grid-template-columns:2fr 1fr 1fr 1fr}}
.footer-cols h3{color:var(--text);font-size:13.5px;margin:0 0 10px}
.footer-cols ul{list-style:none;padding:0;margin:0}
.footer-cols li{margin-bottom:7px}
.footer-cols li a{color:var(--text-muted)}
.footer-cols li a:hover{color:var(--teal)}

.disclosure{border-top:1px solid var(--border-soft);margin-top:24px;padding-top:18px;font-size:12.5px;color:var(--text-dim);display:flex;gap:10px;align-items:flex-start}
.age-badge{
  display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;
  background:var(--red);color:#fff;font-weight:800;border-radius:6px;
  width:28px;height:28px;font-size:13px;
}
.compliance-strip{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 4px}
.compliance-strip span{
  background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);
  font-size:11.5px;padding:5px 10px;border-radius:6px;
}

/* ---------- cookie banner ---------- */
.cookie-banner{
  position:fixed;left:0;right:0;bottom:0;z-index:100;
  background:var(--bg-elevated);border-top:1px solid var(--border);
  padding:16px 20px;display:none;
  box-shadow:0 -8px 30px rgba(0,0,0,.4);
}
.cookie-banner.show{display:block}
.cookie-inner{
  max-width:var(--maxw);margin:0 auto;display:flex;flex-wrap:wrap;
  align-items:center;justify-content:space-between;gap:14px;
}
.cookie-inner p{margin:0;font-size:13px;color:var(--text-muted);flex:1;min-width:240px}
.cookie-inner a{color:var(--teal)}
.cookie-actions{display:flex;gap:10px;flex:0 0 auto}
.btn-cookie-accept{background:var(--teal);color:#04110f;font-weight:800;font-size:13px;padding:9px 18px;border-radius:999px;border:none;cursor:pointer}
.btn-cookie-accept:hover{background:#5cf1de}
.btn-cookie-decline{background:transparent;color:var(--text-muted);font-size:13px;padding:9px 14px;border-radius:999px;border:1px solid var(--border);cursor:pointer}

/* ---------- offer cards (3-card listing, center highlighted) ---------- */
.offers-section{margin-top:8px}
.offers-grid{
  display:grid;grid-template-columns:1fr;gap:20px;margin:20px 0 8px;
  align-items:stretch;
}
@media (min-width:900px){
  .offers-grid{grid-template-columns:1fr 1.08fr 1fr;gap:22px;align-items:end}
}
.offer-card{
  position:relative;border-radius:20px;padding:28px 24px 24px;
  background:linear-gradient(160deg,var(--surface) 0%, var(--surface-2) 100%);
  border:1px solid var(--border);
  display:flex;flex-direction:column;gap:12px;
  transition:transform .18s ease, box-shadow .18s ease;
}
.offer-card:hover{transform:translateY(-3px)}
.offer-label{
  align-self:flex-start;background:rgba(255,255,255,.06);color:var(--text-muted);
  font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;
  padding:5px 12px;border-radius:999px;
}
.offer-title{font-size:20px;font-weight:800;color:var(--text);line-height:1.25;margin:0}
.offer-title .hl{color:var(--gold)}
.offer-desc{font-size:13.5px;color:var(--text-muted);margin:0;flex:1}
.offer-cta{
  align-self:flex-start;background:var(--teal);color:#04110f;font-weight:800;
  font-size:13.5px;padding:11px 22px;border-radius:999px;text-decoration:none;
}
.offer-cta:hover{background:#5cf1de}
.offer-fine{font-size:11px;color:var(--text-dim);margin:0}

.offer-card--featured{
  background:linear-gradient(150deg,#2a0a3f 0%, #6d1240 55%, #a11a3b 100%);
  border:1px solid rgba(242,201,76,.55);
  box-shadow:0 18px 46px rgba(161,26,59,.35), 0 0 0 1px rgba(242,201,76,.12) inset;
  padding-top:34px;
}
@media (min-width:900px){
  .offer-card--featured{transform:translateY(-14px);padding-bottom:32px}
  .offer-card--featured:hover{transform:translateY(-18px)}
}
.offer-card--featured .offer-label{background:rgba(255,255,255,.16);color:#fff}
.offer-card--featured .offer-title{color:#fff}

.offer-bg-illus{
  position:absolute;z-index:0;right:0;bottom:0;top:0;width:55%;height:100%;
  object-fit:cover;object-position:bottom center;
  mask-image:linear-gradient(to right, transparent 0%, black 55%);
  -webkit-mask-image:linear-gradient(to right, transparent 0%, black 55%);
  opacity:.9;pointer-events:none;
}
.offer-card > *:not(.offer-bg-illus){position:relative;z-index:1}
.offer-card--featured .offer-title .hl{color:var(--gold)}
.offer-card--featured .offer-desc{color:rgba(255,255,255,.82)}
.offer-card--featured .offer-cta{background:var(--gold);color:#2a1400}
.offer-card--featured .offer-cta:hover{background:#f7d876}
.offer-card--featured .offer-fine{color:rgba(255,255,255,.55)}
.offer-badge{
  position:absolute;top:-13px;left:24px;background:var(--gold);color:#2a1400;
  font-size:11px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;
  padding:6px 14px;border-radius:999px;box-shadow:0 6px 16px rgba(242,201,76,.4);
}

/* ---------- payment methods (Task 7) ---------- */
.payments-section{max-width:840px;padding:0 24px 10px}
.payments-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0;
}
@media (min-width:560px){.payments-grid{grid-template-columns:repeat(4,1fr)}}
@media (min-width:900px){.payments-grid{grid-template-columns:repeat(6,1fr)}}
.payment-logo{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);
  display:flex;align-items:center;justify-content:center;padding:12px;aspect-ratio:1/1;
  transition:transform .15s ease, border-color .15s ease;
}
.payment-logo:hover{transform:translateY(-2px);border-color:rgba(0,217,192,.4)}
.payment-logo img{width:100%;height:100%;object-fit:contain}

.footer-payments{margin-top:18px;padding-top:16px;border-top:1px solid var(--border-soft)}
.footer-payments-label{display:block;font-size:11.5px;color:var(--text-dim);margin-bottom:10px}
.payments-strip{display:flex;flex-wrap:wrap;gap:10px}
.payments-strip .payment-logo{
  width:52px;height:40px;aspect-ratio:auto;padding:6px;background:var(--surface-2);
}

/* ---------- cookie consent (Task 8): overlay + expanded panel ---------- */
.cookie-overlay{
  position:fixed;inset:0;z-index:99;background:rgba(4,5,10,.55);backdrop-filter:blur(2px);
  display:none;
}
.cookie-overlay.show{display:block}
.cookie-banner{
  position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:100;
  width:min(680px, calc(100% - 32px));
  background:var(--bg-elevated);border:1px solid var(--border);
  border-radius:18px;padding:24px 26px;display:none;
  box-shadow:0 20px 60px rgba(0,0,0,.55);
  max-height:calc(100vh - 44px);overflow-y:auto;
}
.cookie-banner.show{display:block}
.cookie-inner h2{margin:0 0 10px;font-size:18px;color:var(--text)}
.cookie-inner p{margin:0 0 16px;font-size:13.5px;color:var(--text-muted);line-height:1.55}
.cookie-inner a{color:var(--teal)}
.cookie-toggles{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}
.cookie-toggle-row{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 14px;
}
.cookie-toggle-text{display:flex;flex-direction:column;gap:2px}
.cookie-toggle-text strong{font-size:13.5px;color:var(--text)}
.cookie-toggle-text span{font-size:12px;color:var(--text-muted)}
.toggle-fixed{font-size:11.5px;font-weight:700;color:var(--teal-dim);white-space:nowrap}
.toggle-switch{position:relative;display:inline-block;width:42px;height:24px;flex:0 0 auto}
.toggle-switch input{opacity:0;width:0;height:0}
.toggle-slider{
  position:absolute;inset:0;background:var(--border);border-radius:999px;cursor:pointer;
  transition:.2s;
}
.toggle-slider::before{
  content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;
  background:#fff;border-radius:50%;transition:.2s;
}
.toggle-switch input:checked + .toggle-slider{background:var(--teal)}
.toggle-switch input:checked + .toggle-slider::before{transform:translateX(18px)}
.cookie-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.btn-cookie-accept{background:var(--teal);color:#04110f;font-weight:800;font-size:13px;padding:10px 20px;border-radius:999px;border:none;cursor:pointer}
.btn-cookie-accept:hover{background:#5cf1de}
.btn-cookie-save{background:var(--surface-2);color:var(--text);font-weight:700;font-size:13px;padding:10px 18px;border-radius:999px;border:1px solid var(--border);cursor:pointer}
.btn-cookie-save:hover{border-color:var(--teal-dim);color:var(--teal)}
.btn-cookie-decline{background:transparent;color:var(--text-muted);font-size:13px;padding:10px 14px;border-radius:999px;border:1px solid var(--border);cursor:pointer}

/* ---------- Grandi vincite demo strip (Task A.2 / Task B) ---------- */
.wins-section .section-head h2{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.wins-tag{
  background:rgba(242,201,76,.14);color:var(--gold);border:1px solid rgba(242,201,76,.4);
  font-size:10.5px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;
  padding:3px 10px;border-radius:999px;
}
.wins-strip{gap:12px}
.wins-card{
  flex:0 0 220px;display:flex;gap:10px;align-items:center;
  background:linear-gradient(160deg,#241a3d 0%, #1a1330 100%);
  border:1px solid rgba(123,47,247,.35);border-radius:var(--radius);
  padding:12px 14px;
  transition:transform .55s cubic-bezier(.16,.84,.24,1), opacity .55s ease-out;
}
.wins-card--new{transform:translateX(-24px) scale(.96);opacity:0}
.wins-media{
  width:48px;height:48px;border-radius:10px;overflow:hidden;flex:0 0 auto;
  background:linear-gradient(160deg,#241a3d 0%, #1a1330 100%);
  padding:3px;box-sizing:border-box;
  border:1px solid rgba(123,47,247,.3);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);
}
.wins-media img{width:100%;height:100%;object-fit:cover;border-radius:7px;display:block}
.wins-info h3{font-size:13px;margin:0 0 2px;color:var(--text)}
.wins-player{font-size:11px;color:var(--text-dim);margin:0 0 3px}
.wins-amount{font-size:13.5px;font-weight:800;color:#39e07a;margin:0}
.wins-amount span{font-size:9.5px;font-weight:700;color:var(--text-dim);text-transform:uppercase;margin-left:4px}

/* ---------- favourite heart icon on slot cards (Task A.3, decorative only) ---------- */
.slot-fav{
  position:absolute;top:6px;left:6px;width:26px;height:26px;border-radius:50%;
  background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;
  color:#fff;
}
.slot-fav svg{width:14px;height:14px}

/* ---------- footer providers grid (Task A.6) — neutral text labels only,
   NOT real provider logos ---------- */
.footer-providers{margin-top:18px;padding-top:16px;border-top:1px solid var(--border-soft)}
.providers-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:10px}
@media (min-width:560px){.providers-grid{grid-template-columns:repeat(4,1fr)}}
.provider-tile{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);
  padding:14px 10px;text-align:center;font-size:11.5px;font-weight:700;color:var(--text-muted);
}

/* ---------- "Provider di giochi" section — real provider logo cards ---------- */
.game-providers-section .section-sub{color:var(--text-muted);font-size:13px;margin:4px 0 0}
.provider-logos-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px;
}
@media (min-width:560px){.provider-logos-grid{grid-template-columns:repeat(3,1fr)}}
@media (min-width:900px){.provider-logos-grid{grid-template-columns:repeat(4,1fr)}}
.provider-logo-card{
  display:flex;align-items:center;justify-content:center;
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);
  padding:18px 14px;transition:border-color .2s ease,transform .2s ease;
}
.provider-logo-card:hover{border-color:var(--teal-dim);transform:translateY(-2px)}
.provider-logo-card img{max-width:100%;height:32px;width:auto;object-fit:contain;display:block;filter:brightness(1.05)}

/* ---------- mobile bottom sticky nav (Task A.5) — additive to the
   existing burger menu, NOT a replacement. App-style 5-icon bar with a
   raised central "Registrati" action, shown only on narrow viewports. ---------- */
.mobile-bottom-nav{
  display:none;position:fixed;left:0;right:0;bottom:0;z-index:80;
  background:rgba(13,14,20,.96);backdrop-filter:blur(10px);
  border-top:1px solid var(--border-soft);
  padding:8px 6px calc(8px + env(safe-area-inset-bottom));
  justify-content:space-between;align-items:flex-end;
}
@media (max-width:899px){ .mobile-bottom-nav{display:flex} }
.mobile-bottom-nav a{
  flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;
  color:var(--text-dim);font-size:9.5px;font-weight:700;padding:4px 2px;
}
.mobile-bottom-nav a .mbn-ic{width:20px;height:20px;display:flex}
.mobile-bottom-nav a .mbn-ic svg{width:20px;height:20px}
.mobile-bottom-nav a:hover,.mobile-bottom-nav a:active{color:var(--teal)}
.mobile-bottom-nav a.mbn-cta{
  flex:1;
}
.mobile-bottom-nav a.mbn-cta .mbn-ic{
  width:20px;height:20px;border-radius:0;
  background:transparent;
  color:var(--teal);box-shadow:none;
  border:none;
}
.mobile-bottom-nav a.mbn-cta .mbn-ic svg{width:20px;height:20px}
.mobile-bottom-nav a.mbn-cta{color:var(--teal)}
/* leave room at the bottom of the page so content isn't hidden behind the bar */
@media (max-width:899px){ body{padding-bottom:64px} }

/* ---------- persistent countdown on the featured offer-card (home) ----------
   Purely visual/decorative demo timer (localStorage-persisted end-timestamp,
   NOT a real promotional deadline). */
.offer-countdown{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  margin:2px 0 0;
}
.offer-countdown-label{
  font-size:10.5px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;
  color:rgba(255,255,255,.65);
}
.offer-countdown-clock{
  font-variant-numeric:tabular-nums;font-size:15px;font-weight:800;
  color:var(--gold);background:rgba(0,0,0,.28);border:1px solid rgba(242,201,76,.35);
  border-radius:8px;padding:3px 10px;letter-spacing:.04em;
}

/* ---------- /bonus page: trust badges strip ---------- */
.trust-badges{
  display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:16px 0 24px;
}
@media (min-width:640px){ .trust-badges{grid-template-columns:repeat(4,1fr)} }
.trust-badge{
  display:flex;align-items:center;gap:8px;background:var(--surface);
  border:1px solid var(--border);border-radius:var(--radius-sm);
  padding:10px 12px;font-size:11.5px;font-weight:700;color:var(--text-muted);
}
.trust-badge svg{width:18px;height:18px;flex:0 0 18px;color:var(--teal)}

/* ---------- /bonus page: comparison table (O8 — overflow-x wrapper) ---------- */
.bonus-table-wrap{overflow-x:auto;margin:18px 0 26px;border:1px solid var(--border);border-radius:var(--radius-sm);-webkit-overflow-scrolling:touch}
.bonus-table{width:100%;border-collapse:collapse;min-width:640px;font-size:13px}
.bonus-table caption{text-align:left;font-size:11.5px;color:var(--text-dim);padding:10px 14px;caption-side:top}
.bonus-table th,.bonus-table td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--border-soft);white-space:nowrap}
.bonus-table thead th{background:var(--surface-2);color:var(--text);font-size:11px;text-transform:uppercase;letter-spacing:.03em;font-weight:800}
.bonus-table tbody tr:last-child td{border-bottom:none}
.bonus-table tbody tr:hover{background:rgba(255,255,255,.03)}
.bonus-table td:first-child,.bonus-table th:first-child{white-space:normal;font-weight:700;color:var(--text)}

/* ---------- /bonus page: wagering progress-bar (educational demo, NOT real user data) ---------- */
.wager-demo{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);
  padding:18px 20px;margin:20px 0 26px;
}
.wager-demo-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;flex-wrap:wrap}
.wager-demo-head h3{margin:0;font-size:15px;color:var(--text)}
.wager-demo-tag{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:var(--text-dim);background:rgba(255,255,255,.06);border-radius:999px;padding:3px 10px}
.wager-bar-track{width:100%;height:12px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}
.wager-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--teal),var(--purple));width:45%}
.wager-demo-caption{font-size:12px;color:var(--text-muted);margin:10px 0 0}

/* ---------- /bonus page: bonus-tier listing (adapted slots-grid pattern) ---------- */
.bonus-tier-grid{display:grid;grid-template-columns:1fr;gap:16px;margin:18px 0 26px}
@media (min-width:640px){ .bonus-tier-grid{grid-template-columns:repeat(2,1fr)} }
@media (min-width:1020px){ .bonus-tier-grid{grid-template-columns:repeat(4,1fr)} }
.bonus-tier-card{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);
  padding:16px;display:flex;flex-direction:column;gap:8px;
}
.bonus-tier-card h4{margin:0;font-size:14px;color:var(--text)}
.bonus-tier-card .tier-figure{font-size:19px;font-weight:800;color:var(--gold)}
.bonus-tier-card p{margin:0;font-size:12.5px;color:var(--text-muted);flex:1}
.bonus-tier-card a{
  align-self:flex-start;font-size:12.5px;font-weight:800;color:var(--teal);text-decoration:none;
}
.bonus-tier-card a:hover{text-decoration:underline}

/* ---------- /bonus page: sticky CTA bar (mobile bottom / desktop corner) ---------- */
.sticky-cta{
  position:fixed;left:0;right:0;bottom:0;z-index:90;
  background:linear-gradient(150deg,#2a0a3f 0%, #6d1240 55%, #a11a3b 100%);
  border-top:1px solid rgba(242,201,76,.4);
  padding:10px 14px;display:flex;align-items:center;gap:12px;
  transform:translateY(120%);transition:transform .28s ease;
  box-shadow:0 -8px 26px rgba(0,0,0,.35);
}
.sticky-cta.show{transform:translateY(0)}
@media (max-width:899px){ .sticky-cta{bottom:64px} } /* stay above mobile-bottom-nav */
.sticky-cta-text{flex:1;min-width:0;font-size:12.5px;font-weight:700;color:#fff}
.sticky-cta-text strong{color:var(--gold);display:block;font-size:13.5px}
.sticky-cta .offer-cta{white-space:nowrap;background:var(--gold);color:#2a1400}
.sticky-cta .offer-cta:hover{background:#f7d876}
.sticky-cta-close{
  background:rgba(255,255,255,.12);border:none;color:#fff;width:26px;height:26px;border-radius:50%;
  font-size:15px;line-height:1;cursor:pointer;flex:0 0 26px;
}
.sticky-cta-close:hover{background:rgba(255,255,255,.22)}
@media (min-width:900px){
  .sticky-cta{left:auto;right:24px;bottom:24px;max-width:340px;border-radius:16px;border:1px solid rgba(242,201,76,.45)}
}
.btn-cookie-decline:hover{color:var(--text)}
