/* =========================================================
   LeoVegas Casino Canada — stylesheet
   Identity: "Leo the lion" — royal gold on midnight
   ========================================================= */

:root{
  --bg:#0B0E17;
  --bg-2:#0F1422;
  --surface:#141A2A;
  --surface-2:#1B2236;
  --line:rgba(245,180,60,.18);
  --line-soft:rgba(255,255,255,.07);

  --gold:#F5B43C;
  --gold-deep:#E0901F;
  --gold-light:#FFD884;
  --crimson:#E0483C;

  --text:#ECE9F2;
  --muted:#9AA0B5;
  --muted-2:#6E7591;

  --radius:16px;
  --radius-sm:10px;
  --maxw:1140px;

  --shadow:0 24px 60px rgba(0,0,0,.45);
  --shadow-gold:0 12px 34px rgba(245,180,60,.22);

  --grad-gold:linear-gradient(135deg,var(--gold-light) 0%,var(--gold) 42%,var(--gold-deep) 100%);
}

*{box-sizing:border-box;margin:0;padding:0}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}

body{
  background:
    radial-gradient(1100px 520px at 80% -8%, rgba(245,180,60,.10), transparent 60%),
    radial-gradient(900px 500px at -5% 8%, rgba(224,72,60,.08), transparent 55%),
    var(--bg);
  color:var(--text);
  font-family:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:17px;
  line-height:1.72;
  letter-spacing:.1px;
  overflow-x:hidden;
}

img{max-width:100%;display:block;height:auto}

a{color:var(--gold-light);text-decoration:none}
a:hover{color:var(--gold)}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}

/* ---------- Typography ---------- */
h1,h2,h3{font-family:"Cinzel",Georgia,serif;line-height:1.18;font-weight:700;letter-spacing:.4px}

h1{
  font-size:clamp(2.05rem,5.4vw,3.5rem);
  background:var(--grad-gold);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:var(--gold);
  margin-bottom:18px;
}
h2{font-size:clamp(1.55rem,3.6vw,2.3rem);color:var(--text);margin-bottom:14px}
h3{font-size:clamp(1.12rem,2.2vw,1.35rem);color:var(--gold-light);margin:22px 0 10px}

p{margin-bottom:16px;color:#cfd2df}
p strong{color:var(--text)}

.eyebrow{
  font-family:"Cinzel",serif;font-size:.78rem;letter-spacing:3px;text-transform:uppercase;
  color:var(--gold);display:inline-flex;align-items:center;gap:10px;margin-bottom:14px;font-weight:700;
}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--grad-gold)}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:"Manrope",sans-serif;font-weight:800;letter-spacing:.4px;
  border:none;cursor:pointer;border-radius:999px;
  padding:16px 34px;font-size:1.02rem;line-height:1;
  background:var(--grad-gold);color:#1a1206;
  box-shadow:var(--shadow-gold);
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
  text-align:center;
}
.btn:hover{transform:translateY(-2px);filter:brightness(1.05);box-shadow:0 18px 42px rgba(245,180,60,.34);color:#1a1206}
.btn:active{transform:translateY(0)}
.btn:focus-visible{outline:3px solid var(--gold-light);outline-offset:3px}
.btn--ghost{background:transparent;color:var(--gold);border:1.6px solid var(--line);box-shadow:none}
.btn--ghost:hover{background:rgba(245,180,60,.08);color:var(--gold-light)}
.btn--lg{padding:19px 44px;font-size:1.1rem}
.btn--block{width:100%}

/* ---------- Header ---------- */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(11,14,23,.82);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line-soft);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 22px;max-width:var(--maxw);margin:0 auto}
.brand{display:flex;align-items:center;gap:12px}
.brand img{height:42px;width:auto}
.brand-name{font-family:"Cinzel",serif;font-weight:700;font-size:1.2rem;color:var(--gold-light);letter-spacing:1px}
.nav{display:flex;align-items:center;gap:26px}
.nav a{color:var(--muted);font-weight:600;font-size:.95rem;letter-spacing:.3px}
.nav a:hover{color:var(--gold-light)}
.header-cta{padding:11px 22px;font-size:.92rem}

/* ---------- Hero ---------- */
.hero{position:relative;padding:74px 0 64px;overflow:hidden}
.hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(620px 320px at 78% 30%,rgba(245,180,60,.14),transparent 70%);
}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center;position:relative;z-index:2}
.hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 10px}
.chip{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--surface);border:1px solid var(--line);
  padding:8px 14px;border-radius:999px;font-size:.84rem;font-weight:700;color:var(--gold-light);letter-spacing:.4px;
}
.hero-bonus{
  margin:6px 0 26px;padding:22px 24px;border-radius:var(--radius);
  background:linear-gradient(160deg,var(--surface-2),var(--surface));
  border:1px solid var(--line);box-shadow:var(--shadow);
}
.hero-bonus .label{font-size:.78rem;letter-spacing:2px;text-transform:uppercase;color:var(--muted);font-weight:700}
.hero-bonus .amount{font-family:"Cinzel",serif;font-size:clamp(1.7rem,4vw,2.5rem);color:var(--gold);margin:4px 0 2px;font-weight:700}
.hero-bonus .sub{font-size:.92rem;color:var(--muted)}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px}
.hero-fineprint{font-size:.78rem;color:var(--muted-2);margin-top:16px}

.hero-card{
  position:relative;border-radius:22px;overflow:hidden;
  border:1px solid var(--line);box-shadow:var(--shadow);
  background:var(--surface);
}
.hero-card img{width:100%;aspect-ratio:4/3;object-fit:cover}
.hero-card .ribbon{
  position:absolute;top:18px;left:18px;background:var(--crimson);color:#fff;
  font-weight:800;font-size:.78rem;letter-spacing:1px;padding:8px 14px;border-radius:8px;text-transform:uppercase;
}

/* ---------- Sections ---------- */
section{padding:58px 0}
.section-head{max-width:760px;margin-bottom:30px}
.section-head p{color:var(--muted)}
.divider{height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent);border:0;margin:0 auto;max-width:var(--maxw)}

/* ---------- Cards grid ---------- */
.grid{display:grid;gap:20px}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-2{grid-template-columns:repeat(2,1fr)}
.card{
  background:linear-gradient(165deg,var(--surface-2),var(--surface));
  border:1px solid var(--line-soft);border-radius:var(--radius);
  padding:24px;transition:transform .2s ease,border-color .2s ease;
}
.card:hover{transform:translateY(-4px);border-color:var(--line)}
.card .ic{
  width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  background:var(--grad-gold);color:#1a1206;font-family:"Cinzel",serif;font-weight:700;font-size:1.25rem;margin-bottom:14px;
}
.card h3{margin-top:0;color:var(--gold-light)}
.card p{font-size:.96rem;margin-bottom:0;color:var(--muted)}

/* ---------- Steps ---------- */
.steps{counter-reset:step;display:grid;gap:16px;margin-top:8px}
.step{
  display:grid;grid-template-columns:54px 1fr;gap:18px;align-items:start;
  background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius);padding:20px 22px;
}
.step .num{
  counter-increment:step;width:54px;height:54px;border-radius:14px;display:flex;align-items:center;justify-content:center;
  font-family:"Cinzel",serif;font-weight:700;font-size:1.4rem;color:#1a1206;background:var(--grad-gold);
}
.step .num::before{content:counter(step)}
.step h3{margin:0 0 4px}
.step p{margin:0;font-size:.96rem;color:var(--muted)}

/* ---------- Games gallery ---------- */
.games{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.game{
  position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--line-soft);
  background:var(--surface);transition:transform .2s ease}
.game:hover{transform:translateY(-4px)}
.game img{width:100%;aspect-ratio:3/2;object-fit:cover}
.game .cap{padding:12px 14px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.game .cap b{font-size:.95rem;font-weight:700;color:var(--text)}
.game .cap span{font-size:.78rem;color:var(--gold);font-weight:700}

/* ---------- Tables (mobile scroll) ---------- */
.table-scroll{
  width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;
  border:1px solid var(--line-soft);border-radius:var(--radius);
  background:var(--surface);
}
table.t{width:100%;border-collapse:collapse;min-width:560px}
table.t caption{text-align:left;padding:14px 18px;color:var(--muted);font-size:.82rem;border-bottom:1px solid var(--line-soft)}
table.t th,table.t td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--line-soft);font-size:.96rem}
table.t thead th{
  background:linear-gradient(180deg,var(--surface-2),var(--surface));
  color:var(--gold-light);font-family:"Cinzel",serif;font-weight:700;font-size:.86rem;letter-spacing:.6px;
  position:sticky;top:0;
}
table.t tbody tr:hover{background:rgba(245,180,60,.05)}
table.t td:first-child{font-weight:700;color:var(--text)}
.scroll-hint{font-size:.78rem;color:var(--muted-2);margin-top:8px;display:none}

/* ---------- Pros / cons ---------- */
.pc{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.pc-col{border-radius:var(--radius);padding:24px;border:1px solid var(--line-soft);background:var(--surface)}
.pc-col.pros{border-top:3px solid var(--gold)}
.pc-col.cons{border-top:3px solid var(--crimson)}
.pc-col h3{margin-top:0}
.pc-col ul{list-style:none;display:grid;gap:11px}
.pc-col li{position:relative;padding-left:30px;font-size:.96rem;color:var(--muted)}
.pc-col.pros li::before{content:"♛";position:absolute;left:0;color:var(--gold);font-size:1rem}
.pc-col.cons li::before{content:"✕";position:absolute;left:0;color:var(--crimson);font-weight:800}

/* ---------- FAQ ---------- */
.faq{display:grid;gap:12px}
.faq details{
  background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius-sm);padding:4px 6px;
}
.faq summary{
  cursor:pointer;list-style:none;padding:16px 18px;font-weight:700;color:var(--text);
  display:flex;justify-content:space-between;align-items:center;gap:14px;font-size:1.02rem;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--gold);font-size:1.5rem;font-weight:400;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 18px 18px;margin:0;color:var(--muted);font-size:.96rem}

/* ---------- CTA band ---------- */
.cta-band{
  margin:10px auto;max-width:var(--maxw);border-radius:24px;
  background:linear-gradient(135deg,rgba(245,180,60,.16),rgba(224,72,60,.10)),var(--surface-2);
  border:1px solid var(--line);padding:46px 34px;text-align:center;box-shadow:var(--shadow);
}
.cta-band h2{margin-bottom:10px}
.cta-band p{color:var(--muted);max-width:600px;margin:0 auto 24px}

/* ---------- Responsible gambling note ---------- */
.rg{background:var(--bg-2);border:1px solid var(--line-soft);border-radius:var(--radius);padding:24px;margin-top:8px}
.rg p{font-size:.92rem;color:var(--muted);margin-bottom:8px}

/* ---------- Footer ---------- */
.site-footer{border-top:1px solid var(--line-soft);background:var(--bg-2);padding:46px 0 30px;margin-top:40px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px;margin-bottom:30px}
.footer-grid h4{font-family:"Cinzel",serif;color:var(--gold-light);font-size:.95rem;letter-spacing:1px;margin-bottom:14px}
.footer-grid a{display:block;color:var(--muted);font-size:.92rem;margin-bottom:9px}
.footer-grid p{font-size:.9rem;color:var(--muted)}
.footer-brand{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.footer-brand img{height:40px}
.footer-bottom{border-top:1px solid var(--line-soft);padding-top:22px;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}
.footer-bottom p{font-size:.82rem;color:var(--muted-2);margin:0}
.age-badge{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:2px solid var(--crimson);color:var(--crimson);font-weight:800;font-size:.9rem;flex:0 0 auto}

/* ---------- Mobile menu toggle ---------- */
.menu-btn{display:none;background:transparent;border:1px solid var(--line);border-radius:10px;padding:9px 12px;cursor:pointer}
.menu-btn span{display:block;width:22px;height:2px;background:var(--gold-light);margin:4px 0;border-radius:2px}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr;gap:34px}
  .hero-card{order:-1}
  .grid-3{grid-template-columns:repeat(2,1fr)}
  .games{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
}

@media (max-width:760px){
  body{font-size:16px}
  .nav{
    position:absolute;top:100%;left:0;right:0;background:var(--bg-2);
    flex-direction:column;align-items:flex-start;gap:0;padding:8px 22px 18px;
    border-bottom:1px solid var(--line-soft);display:none;
  }
  .nav.open{display:flex}
  .nav a{padding:11px 0;width:100%;border-bottom:1px solid var(--line-soft)}
  .header-cta{display:none}
  .menu-btn{display:block}
  section{padding:44px 0}
  .grid-3,.grid-2,.games,.pc,.footer-grid{grid-template-columns:1fr}
  .cta-band{padding:36px 22px}
  .scroll-hint{display:block}
  .btn{width:100%}
  .hero-actions .btn{width:100%}
  .step{grid-template-columns:44px 1fr;gap:14px}
  .step .num{width:44px;height:44px;font-size:1.15rem}
  .footer-bottom{flex-direction:column}
}

@media (max-width:430px){
  .wrap{padding:0 16px}
  .header-inner{padding:12px 16px}
  h1{font-size:2rem}
}

/* ---------- Accessibility ---------- */
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
:focus-visible{outline:3px solid var(--gold-light);outline-offset:2px}
