/* =========================================================
   Casino Mate AU — main stylesheet
   ========================================================= */

:root{
  --navy-900:#080620;
  --navy-800:#0d0a2e;
  --navy-700:#14103f;
  --navy-600:#1c1656;
  --panel:#171238;
  --panel-2:#1f1850;
  --purple:#7b2ff7;
  --violet:#9d5cff;
  --cyan:#00e5ff;
  --gold:#ffc740;
  --pink:#ff4d9d;
  --white:#f3f3ff;
  --muted:#a9a4d6;
  --line:rgba(157,92,255,.22);
  --radius:18px;
  --shadow:0 18px 50px rgba(0,0,0,.45);
  --glow-cyan:0 0 22px rgba(0,229,255,.55);
  --glow-gold:0 0 22px rgba(255,199,64,.5);
  --font-display:'Russo One','Trebuchet MS',sans-serif;
  --font-body:'Rubik','Segoe UI',Tahoma,sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-body);
  color:var(--white);
  background:
    radial-gradient(1100px 600px at 12% -10%, rgba(123,47,247,.35), transparent 60%),
    radial-gradient(900px 500px at 95% 0%, rgba(0,229,255,.18), transparent 55%),
    radial-gradient(700px 500px at 50% 120%, rgba(255,77,157,.18), transparent 60%),
    var(--navy-900);
  line-height:1.6;
  overflow-x:hidden;
}

/* starfield overlay */
body::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-image:
    radial-gradient(1.6px 1.6px at 20% 30%, rgba(255,255,255,.7), transparent),
    radial-gradient(1.4px 1.4px at 70% 60%, rgba(255,255,255,.55), transparent),
    radial-gradient(1.2px 1.2px at 40% 80%, rgba(255,255,255,.45), transparent),
    radial-gradient(1.8px 1.8px at 85% 25%, rgba(0,229,255,.5), transparent),
    radial-gradient(1.4px 1.4px at 10% 70%, rgba(255,199,64,.5), transparent);
  background-size:cover;opacity:.6;
}

a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{width:min(1200px,92%);margin-inline:auto}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-family:var(--font-display);letter-spacing:.6px;text-transform:uppercase;
  border:none;cursor:pointer;border-radius:999px;
  padding:.85rem 1.7rem;font-size:.95rem;color:#1a0c2e;
  background:linear-gradient(135deg,var(--gold),#ffe08a);
  box-shadow:var(--glow-gold);transition:transform .18s ease,box-shadow .18s ease,filter .18s;
}
.btn:hover{transform:translateY(-2px) scale(1.02);filter:brightness(1.06)}
.btn:active{transform:translateY(0)}
.btn--cyan{background:linear-gradient(135deg,var(--cyan),#7df6ff);box-shadow:var(--glow-cyan)}
.btn--purple{background:linear-gradient(135deg,var(--purple),var(--pink));color:#fff;box-shadow:0 0 22px rgba(255,77,157,.5)}
.btn--ghost{background:transparent;color:var(--white);border:2px solid var(--violet);box-shadow:none}
.btn--ghost:hover{background:rgba(157,92,255,.15)}
.btn--lg{padding:1.05rem 2.4rem;font-size:1.05rem}
.btn--block{width:100%}

/* ---------- header ---------- */
.site-header{
  position:sticky;top:0;z-index:50;
  backdrop-filter:blur(10px);
  background:linear-gradient(180deg,rgba(8,6,32,.95),rgba(8,6,32,.72));
  border-bottom:1px solid var(--line);
}
.header-inner{display:flex;align-items:center;gap:1.4rem;padding:.7rem 0}
.logo img{height:54px;width:auto}
.main-nav{display:flex;gap:1.6rem;margin-left:1rem}
.main-nav a{
  font-family:var(--font-display);font-size:.9rem;letter-spacing:.5px;
  text-transform:uppercase;color:var(--muted);transition:color .2s;
  position:relative;padding:.3rem 0;
}
.main-nav a::after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:0;background:var(--cyan);transition:width .25s}
.main-nav a:hover{color:var(--white)}
.main-nav a:hover::after{width:100%}
.header-cta{margin-left:auto;display:flex;gap:.6rem}
.burger{display:none;background:none;border:0;color:var(--white);font-size:1.6rem;cursor:pointer}

/* ---------- hero ---------- */
.hero{padding:3rem 0 2rem;position:relative}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center}
.eyebrow{
  display:inline-block;font-family:var(--font-display);letter-spacing:2px;
  text-transform:uppercase;color:var(--cyan);font-size:.8rem;margin-bottom:1rem;
  padding:.35rem .9rem;border:1px solid var(--cyan);border-radius:999px;box-shadow:var(--glow-cyan)
}
.hero-title{
  font-family:var(--font-display);font-size:clamp(2.2rem,5vw,3.7rem);
  line-height:1.05;text-transform:uppercase;
}
.hero-title .accent{color:var(--gold);text-shadow:var(--glow-gold)}
.hero-sub{color:var(--muted);font-size:1.1rem;margin:1.1rem 0 1.6rem;max-width:46ch}
.bonus-figure{
  display:flex;align-items:baseline;gap:.7rem;margin:1.1rem 0 1.6rem;flex-wrap:wrap;
}
.bonus-figure .big{font-family:var(--font-display);font-size:3rem;color:var(--pink);text-shadow:0 0 24px rgba(255,77,157,.55)}
.bonus-figure .plus{font-family:var(--font-display);font-size:1.4rem;color:var(--cyan)}
.hero-cta{display:flex;gap:.8rem;flex-wrap:wrap}
.hero-art{position:relative}
.hero-art img{border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--line)}
.hero-art::after{content:"";position:absolute;inset:-12px;border-radius:24px;background:radial-gradient(circle at 60% 40%,rgba(0,229,255,.25),transparent 60%);z-index:-1}

/* trust strip */
.trust{display:flex;gap:1.4rem;flex-wrap:wrap;margin-top:1.6rem;color:var(--muted);font-size:.9rem}
.trust span{display:inline-flex;align-items:center;gap:.45rem}
.trust .dot{width:9px;height:9px;border-radius:50%;background:var(--cyan);box-shadow:var(--glow-cyan)}

/* ---------- section scaffolding ---------- */
.section{padding:2.6rem 0}
.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.4rem;gap:1rem;flex-wrap:wrap}
.section-title{
  font-family:var(--font-display);text-transform:uppercase;letter-spacing:1px;
  font-size:clamp(1.3rem,3vw,1.9rem);
}
.section-title .bar{display:inline-block;width:34px;height:4px;background:var(--gold);border-radius:4px;margin-right:.6rem;vertical-align:middle;box-shadow:var(--glow-gold)}

/* category pills */
.cats{display:flex;gap:.8rem;overflow-x:auto;padding-bottom:.6rem;scrollbar-width:thin}
.cat{
  flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:.4rem;
  background:var(--panel);border:1px solid var(--line);border-radius:14px;
  padding:.8rem 1rem;min-width:96px;transition:transform .18s,border-color .2s;
}
.cat:hover{transform:translateY(-3px);border-color:var(--cyan)}
.cat img{width:46px;height:46px;border-radius:10px}
.cat span{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}

/* game grid */
.games{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:1rem}
.game{
  position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--line);
  background:var(--panel);transition:transform .2s,box-shadow .2s;cursor:pointer;
}
.game:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.game img{width:100%;aspect-ratio:3/3.2;object-fit:cover}
.game .tag{position:absolute;top:.5rem;left:.5rem;background:var(--pink);color:#fff;font-size:.65rem;
  font-family:var(--font-display);padding:.18rem .5rem;border-radius:6px;text-transform:uppercase}
.game .meta{padding:.6rem .7rem}
.game .meta b{display:block;font-size:.85rem}
.game .meta small{color:var(--muted);font-size:.72rem}
.game .play{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(8,6,32,.55);opacity:0;transition:opacity .2s
}
.game:hover .play{opacity:1}
.game .play .btn{padding:.6rem 1.2rem;font-size:.8rem}
.center{text-align:center;margin-top:1.6rem}

/* promo banners */
.promos{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.2rem}
.promo{
  position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);
  min-height:230px;display:flex;flex-direction:column;justify-content:flex-end;
  background:var(--panel);
}
.promo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5}
.promo .promo-body{position:relative;padding:1.3rem;background:linear-gradient(180deg,transparent,rgba(8,6,32,.92))}
.promo h3,.promo .promo-h{font-family:var(--font-display);text-transform:uppercase;font-size:1.15rem;margin-bottom:.3rem}
.promo p{color:var(--muted);font-size:.9rem;margin-bottom:.8rem}

/* feature cards */
.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.2rem}
.feature{
  display:flex;gap:1rem;align-items:center;background:var(--panel);
  border:1px solid var(--line);border-radius:var(--radius);padding:1.3rem;
}
.feature img{width:64px;height:64px;border-radius:14px}
.feature b{font-family:var(--font-display);display:block;text-transform:uppercase;font-size:1rem;margin-bottom:.2rem}
.feature small{color:var(--muted)}

/* loyalty split */
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:2rem;align-items:center}
.split img{border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow)}
.steps{display:flex;flex-direction:column;gap:1rem;margin-top:1.2rem}
.step{display:flex;gap:1rem;align-items:flex-start}
.step .num{font-family:var(--font-display);font-size:1.4rem;color:var(--navy-900);background:var(--gold);
  width:42px;height:42px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;box-shadow:var(--glow-gold)}
.step b{display:block;font-family:var(--font-display);text-transform:uppercase;font-size:.95rem}
.step small{color:var(--muted)}

/* CTA strip */
.cta-strip{
  text-align:center;border:1px solid var(--line);border-radius:24px;padding:3rem 1.5rem;
  background:
    radial-gradient(600px 300px at 50% 0%,rgba(123,47,247,.4),transparent 70%),
    var(--panel);
}
.cta-strip .section-title{margin-bottom:.6rem}
.cta-strip p{color:var(--muted);max-width:55ch;margin:0 auto 1.6rem}

/* ---------- article ---------- */
.article{padding:3rem 0 1rem}
.article-wrap{width:min(900px,92%);margin-inline:auto}
.article h1{
  font-family:var(--font-display);text-transform:uppercase;line-height:1.12;
  font-size:clamp(1.9rem,4.5vw,2.8rem);margin-bottom:1.2rem;
}
.article h1 .accent{color:var(--gold);text-shadow:var(--glow-gold)}
.article h2{
  font-family:var(--font-display);text-transform:uppercase;font-size:clamp(1.35rem,3vw,1.8rem);
  margin:2.4rem 0 .9rem;padding-left:.9rem;border-left:5px solid var(--cyan);
}
.article h3{
  font-family:var(--font-display);font-size:1.15rem;color:var(--violet);
  margin:1.6rem 0 .6rem;text-transform:uppercase;letter-spacing:.3px;
}
.article p{margin-bottom:1rem;color:#dcd9f5}
.article ul,.article ol{margin:0 0 1.2rem 1.4rem;color:#dcd9f5}
.article li{margin-bottom:.5rem}
.article .lead{font-size:1.12rem;color:var(--white)}
.article strong{color:var(--white)}
.note{
  background:var(--panel-2);border:1px solid var(--line);border-left:5px solid var(--gold);
  border-radius:12px;padding:1.1rem 1.3rem;margin:1.4rem 0;color:#e7e4ff;
}
.specs{
  width:100%;border-collapse:collapse;margin:1.2rem 0 1.6rem;
  background:var(--panel);border-radius:12px;overflow:hidden;border:1px solid var(--line);
}
.specs th,.specs td{padding:.8rem 1rem;text-align:left;border-bottom:1px solid var(--line);font-size:.95rem}
.specs th{background:var(--panel-2);font-family:var(--font-display);text-transform:uppercase;font-size:.78rem;letter-spacing:.5px;width:38%}
.specs tr:last-child td,.specs tr:last-child th{border-bottom:none}
.proscons{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin:1.2rem 0}
.pc{border-radius:14px;border:1px solid var(--line);padding:1.2rem;background:var(--panel)}
.pc.pros{border-top:4px solid var(--cyan)}
.pc.cons{border-top:4px solid var(--pink)}
.pc h3{margin-top:0}
.pc ul{list-style:none;margin-left:0}
.pc li{padding-left:1.6rem;position:relative}
.pc.pros li::before{content:"✦";position:absolute;left:0;color:var(--cyan)}
.pc.cons li::before{content:"✕";position:absolute;left:0;color:var(--pink)}

/* FAQ */
.faq details{
  background:var(--panel);border:1px solid var(--line);border-radius:12px;
  margin-bottom:.8rem;padding:.2rem 1.2rem;
}
.faq summary{
  font-family:var(--font-display);cursor:pointer;padding:1rem 0;list-style:none;
  font-size:1rem;display:flex;justify-content:space-between;align-items:center;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--gold);font-size:1.5rem;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{padding-bottom:1rem;color:var(--muted)}

/* article inline CTA */
.inline-cta{
  display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;
  background:linear-gradient(135deg,rgba(123,47,247,.35),rgba(255,77,157,.25));
  border:1px solid var(--line);border-radius:18px;padding:1.6rem;margin:2rem 0;
}
.inline-cta b{font-family:var(--font-display);font-size:1.2rem;text-transform:uppercase}

/* ---------- footer ---------- */
.site-footer{margin-top:3rem;border-top:1px solid var(--line);background:rgba(8,6,32,.7);padding:2.6rem 0 1.4rem}
.socials{display:flex;gap:.7rem;flex-wrap:wrap;margin-bottom:1.6rem}
.socials a{
  width:42px;height:42px;border-radius:12px;background:var(--panel);border:1px solid var(--line);
  display:grid;place-items:center;color:var(--cyan);font-size:1.1rem;transition:.2s
}
.socials a:hover{background:var(--purple);color:#fff;transform:translateY(-3px)}
.foot-links{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;margin-bottom:1.8rem}
.foot-links a{color:var(--muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.4px}
.foot-links a:hover{color:var(--white)}
.foot-block{margin-bottom:1.6rem}
.foot-block .foot-h{font-family:var(--font-display);text-transform:uppercase;font-size:.8rem;letter-spacing:1px;color:var(--muted);margin-bottom:.8rem}
.logos{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center}
.logos img{height:40px;width:auto;opacity:.85;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:4px 8px}
.legal img{height:56px}
.rg{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:1.1rem 1.3rem;margin:1.4rem 0;color:var(--muted);font-size:.85rem}
.rg .age{font-family:var(--font-display);background:var(--pink);color:#fff;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;font-size:.95rem}
.copyright{color:var(--muted);font-size:.82rem;text-align:center;border-top:1px solid var(--line);padding-top:1.2rem;margin-top:1rem}

/* back to top */
.to-top{
  position:fixed;right:18px;bottom:18px;width:50px;height:50px;border-radius:50%;
  background:linear-gradient(135deg,var(--cyan),var(--purple));color:#fff;border:0;cursor:pointer;
  font-size:1.3rem;box-shadow:var(--shadow);z-index:40;display:grid;place-items:center
}

/* ---------- responsive ---------- */
@media(max-width:900px){
  .hero-grid,.split{grid-template-columns:1fr}
  .hero-art{order:-1}
  .proscons{grid-template-columns:1fr}
  .main-nav,.header-cta .btn--ghost{display:none}
  .burger{display:block;margin-left:auto}
  .header-cta{margin-left:0}
}
@media(max-width:560px){
  .specs th{width:46%}
  .games{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
  .bonus-figure .big{font-size:2.3rem}
}

/* simple fade-up on load */
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.hero-copy>*{animation:fadeUp .6s both}
.hero-copy>*:nth-child(2){animation-delay:.08s}
.hero-copy>*:nth-child(3){animation-delay:.16s}
.hero-copy>*:nth-child(4){animation-delay:.24s}
.hero-copy>*:nth-child(5){animation-delay:.32s}
