/* =========================================================
   RAINBET CASINO AUSTRALIA — style.css
   Dark cosmic theme + rainbow accents. CSS-only interactivity.
   ========================================================= */

/* ---------- Tokens ---------- */
:root{
  --bg-0:#0d0826;
  --bg-1:#150d33;
  --bg-2:#1b1140;
  --surface:#221552;
  --surface-2:#2c1c66;
  --line:rgba(160,130,255,.18);
  --txt:#f3eeff;
  --muted:#a99bd6;
  --acc:#7b5cff;
  --acc-2:#4da6ff;
  --gold:#ffc24b;
  --hot:#ff4d6d;
  --green:#3ddc97;
  --rainbow:linear-gradient(90deg,#ff4d6d 0%,#ffb84d 25%,#3ddc97 50%,#4da6ff 75%,#a855f7 100%);
  --radius:18px;
  --radius-sm:12px;
  --shadow:0 18px 50px rgba(0,0,0,.45);
  --maxw:1200px;
  --font-display:"Sora",sans-serif;
  --font-brand:"Chakra Petch",sans-serif;
  --font-body:"Manrope",sans-serif;
}

/* ---------- Reset ---------- */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-body);
  color:var(--txt);
  background:var(--bg-0);
  background-image:
    radial-gradient(1200px 600px at 12% -10%,rgba(123,92,255,.30),transparent 60%),
    radial-gradient(1000px 500px at 100% 0%,rgba(77,166,255,.18),transparent 55%),
    radial-gradient(800px 800px at 50% 120%,rgba(168,85,247,.18),transparent 60%);
  background-attachment:fixed;
  line-height:1.6;
  overflow-x:hidden;
}
/* starfield texture */
body::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-image:
    radial-gradient(1px 1px at 20% 30%,#fff,transparent),
    radial-gradient(1px 1px at 70% 60%,#cdbcff,transparent),
    radial-gradient(1px 1px at 40% 80%,#fff,transparent),
    radial-gradient(2px 2px at 85% 20%,#9fd0ff,transparent),
    radial-gradient(1px 1px at 55% 15%,#fff,transparent);
  background-size:300px 300px,260px 260px,220px 220px,340px 340px,200px 200px;
  opacity:.5;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
h1,h2,h3,h4{font-family:var(--font-display);line-height:1.15;font-weight:700}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}
.section{padding:54px 0}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.section-head h2{font-size:clamp(1.4rem,3vw,2rem);letter-spacing:.5px}
.eyebrow{font-family:var(--font-brand);font-size:.78rem;letter-spacing:3px;text-transform:uppercase;color:var(--acc-2)}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:var(--font-brand);font-weight:600;letter-spacing:.6px;
  padding:13px 26px;border-radius:999px;border:0;cursor:pointer;
  font-size:.92rem;text-transform:uppercase;transition:transform .18s,box-shadow .18s,filter .18s;
  color:#fff;
}
.btn-primary{background:var(--rainbow);background-size:200% 100%;color:#160c33;font-weight:700;box-shadow:0 10px 28px rgba(123,92,255,.45)}
.btn-primary:hover{transform:translateY(-2px);filter:brightness(1.07);background-position:100% 0}
.btn-ghost{background:rgba(255,255,255,.06);border:1px solid var(--line)}
.btn-ghost:hover{background:rgba(255,255,255,.12);transform:translateY(-2px)}
.btn-sm{padding:9px 18px;font-size:.8rem}
.link-more{font-family:var(--font-brand);font-size:.82rem;letter-spacing:1.5px;color:var(--acc-2);text-transform:uppercase}
.link-more:hover{color:#fff}

/* =========================================================
   HEADER
   ========================================================= */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(13,8,38,.82);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.header-inner{display:flex;align-items:center;gap:22px;height:72px}
.logo img{height:40px;width:auto}
.main-nav{display:flex;gap:26px;margin-left:8px}
.main-nav a{font-family:var(--font-brand);font-size:.85rem;letter-spacing:1px;text-transform:uppercase;color:var(--muted);transition:color .15s}
.main-nav a:hover{color:#fff}
.header-actions{margin-left:auto;display:flex;align-items:center;gap:12px}

/* mobile drawer toggle (CSS-only) */
.nav-toggle{display:none}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px}
.burger span{width:24px;height:2px;background:#fff;border-radius:2px}

/* =========================================================
   CATEGORY RAIL (sidebar-style chips, scrollable)
   ========================================================= */
.rail{
  display:flex;gap:10px;overflow-x:auto;padding:16px 0 4px;
  scrollbar-width:thin;scrollbar-color:var(--acc) transparent;
}
.rail::-webkit-scrollbar{height:6px}
.rail::-webkit-scrollbar-thumb{background:var(--acc);border-radius:99px}
.rail a{
  flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:6px;
  min-width:84px;padding:12px 10px;border-radius:var(--radius-sm);
  background:var(--surface);border:1px solid var(--line);
  font-family:var(--font-brand);font-size:.66rem;letter-spacing:.6px;text-transform:uppercase;color:var(--muted);
  transition:.18s;
}
.rail a:hover{background:var(--surface-2);color:#fff;transform:translateY(-3px)}
.rail a img{width:30px;height:30px}

/* =========================================================
   HERO (slider + register card)
   ========================================================= */
.hero{display:grid;grid-template-columns:1.55fr .95fr;gap:24px;padding-top:24px}

/* --- CSS-only slider --- */
.slider{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);min-height:360px;background:var(--bg-1)}
.slider input{display:none}
.slides{display:flex;width:500%;transition:transform .6s cubic-bezier(.7,0,.2,1)}
.slide{width:20%;position:relative;display:grid;grid-template-columns:1.1fr 1fr;gap:10px;align-items:center;padding:34px 30px;min-height:360px}
.slide-copy .tag{font-family:var(--font-brand);letter-spacing:2px;font-size:.74rem;text-transform:uppercase;color:var(--acc-2)}
.slide-copy h2{font-size:clamp(1.5rem,3.4vw,2.5rem);margin:8px 0 6px;background:var(--rainbow);-webkit-background-clip:text;background-clip:text;color:transparent}
.slide-copy .big{font-family:var(--font-display);font-weight:800;font-size:clamp(2rem,5vw,3.2rem);color:var(--gold);text-shadow:0 4px 24px rgba(255,194,75,.35)}
.slide-copy .sub{color:var(--muted);margin-bottom:18px}
.slide-art{display:flex;justify-content:center}
.slide-art img{border-radius:16px}
#s1:checked~.slides{transform:translateX(0)}
#s2:checked~.slides{transform:translateX(-20%)}
#s3:checked~.slides{transform:translateX(-40%)}
#s4:checked~.slides{transform:translateX(-60%)}
#s5:checked~.slides{transform:translateX(-80%)}
.dots{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);display:flex;gap:10px;z-index:3}
.dots label{width:11px;height:11px;border-radius:50%;background:rgba(255,255,255,.32);cursor:pointer;transition:.2s}
.dots label:hover{background:#fff}
#s1:checked~.dots label[for=s1],
#s2:checked~.dots label[for=s2],
#s3:checked~.dots label[for=s3],
#s4:checked~.dots label[for=s4],
#s5:checked~.dots label[for=s5]{background:var(--gold);width:26px;border-radius:99px}

/* --- register card --- */
.register{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}
.register h3{font-size:1.25rem;margin-bottom:4px}
.register .lead{color:var(--muted);font-size:.9rem;margin-bottom:18px}
.field{margin-bottom:14px}
.field label{display:block;font-size:.74rem;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-family:var(--font-brand)}
.field input,.field select{
  width:100%;padding:12px 14px;border-radius:var(--radius-sm);
  background:var(--bg-1);border:1px solid var(--line);color:#fff;font-family:var(--font-body);font-size:.95rem;
}
.field input:focus,.field select:focus{outline:none;border-color:var(--acc)}
.register .btn{width:100%;margin-top:6px}
.register .alt{text-align:center;font-size:.84rem;color:var(--muted);margin-top:12px}
.register .alt a{color:var(--acc-2)}

/* =========================================================
   PROMO BANNERS
   ========================================================= */
.promo-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.promo-card{
  position:relative;border-radius:var(--radius);overflow:hidden;
  background:var(--surface);border:1px solid var(--line);padding:24px;min-height:170px;
  display:flex;flex-direction:column;justify-content:center;
}
.promo-card .pc-art{position:absolute;right:0;top:0;height:100%;width:46%;object-fit:cover;opacity:.9}
.promo-card h3{font-size:1.3rem;max-width:60%}
.promo-card p{color:var(--muted);max-width:55%;font-size:.92rem}
.promo-wide img{width:100%;border-radius:var(--radius)}

/* =========================================================
   GAME CAROUSELS
   ========================================================= */
.carousel{
  display:grid;grid-auto-flow:column;grid-auto-columns:minmax(170px,1fr);
  gap:16px;overflow-x:auto;padding-bottom:10px;
  scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--acc) transparent;
}
.carousel::-webkit-scrollbar{height:6px}
.carousel::-webkit-scrollbar-thumb{background:var(--acc);border-radius:99px}
.game{
  scroll-snap-align:start;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius-sm);overflow:hidden;position:relative;transition:.2s;
}
.game:hover{transform:translateY(-5px);border-color:var(--acc)}
.game .thumb{position:relative;aspect-ratio:1;overflow:hidden}
.game .thumb img{width:100%;height:100%;object-fit:cover}
.game .play{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(13,8,38,.55);opacity:0;transition:.2s;
}
.game:hover .play{opacity:1}
.game .play .btn{transform:scale(.92)}
.badge{
  position:absolute;top:8px;left:8px;display:flex;gap:5px;z-index:2;
}
.badge span{font-family:var(--font-brand);font-size:.6rem;letter-spacing:.5px;text-transform:uppercase;
  padding:3px 8px;border-radius:99px;color:#160c33;font-weight:700}
.badge .hot{background:var(--hot);color:#fff}
.badge .new{background:var(--green);color:#0d2018}
.game .meta{padding:10px 12px}
.game .meta .name{font-weight:700;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.game .meta .prov{font-size:.74rem;color:var(--muted)}

/* =========================================================
   FEATURE BLOCK (galaxy of rewards)
   ========================================================= */
.feature{
  display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:20px;align-items:stretch;
  background:linear-gradient(120deg,var(--surface),var(--surface-2));
  border:1px solid var(--line);border-radius:var(--radius);padding:30px;
}
.feature .lead-col h2{font-size:clamp(1.4rem,3vw,2rem);margin-bottom:10px}
.feature .lead-col p{color:var(--muted);margin-bottom:18px}
.feat-item{display:flex;flex-direction:column;gap:10px;justify-content:center}
.feat-item img{width:60px;height:60px}
.feat-item h4{font-size:1.05rem}
.feat-item p{color:var(--muted);font-size:.9rem}

/* =========================================================
   LOYALTY
   ========================================================= */
.loyalty{display:grid;grid-template-columns:1fr 1.2fr;gap:30px;align-items:center;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:30px}
.loyalty .art img{border-radius:var(--radius);width:100%}
.loyalty h2{font-size:clamp(1.4rem,3vw,2rem);margin-bottom:8px}
.loyalty>.body>p{color:var(--muted);margin-bottom:18px}
.steps{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}
.step{display:flex;gap:12px}
.step .num{flex:0 0 38px;height:38px;border-radius:50%;display:grid;place-items:center;
  font-family:var(--font-display);font-weight:800;background:var(--rainbow);color:#160c33}
.step h4{font-size:.95rem;margin-bottom:2px}
.step p{font-size:.84rem;color:var(--muted)}

/* =========================================================
   ARTICLE (SEO long-read)
   ========================================================= */
.article{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(24px,4vw,52px)}
.article h1{font-size:clamp(1.7rem,4vw,2.6rem);margin-bottom:18px;
  background:var(--rainbow);-webkit-background-clip:text;background-clip:text;color:transparent}
.article h2{font-size:clamp(1.35rem,2.6vw,1.8rem);margin:34px 0 12px;padding-top:12px;border-top:1px solid var(--line)}
.article h3{font-size:1.15rem;margin:22px 0 8px;color:var(--acc-2)}
.article p{color:#d9d0f5;margin-bottom:14px}
.article ul.bullets{margin:0 0 16px 4px;display:grid;gap:8px}
.article ul.bullets li{padding-left:24px;position:relative;color:#d9d0f5}
.article ul.bullets li::before{content:"";position:absolute;left:0;top:9px;width:11px;height:11px;border-radius:50%;background:var(--rainbow)}
.article .lead{font-size:1.08rem;color:var(--txt)}
.fact-table{width:100%;border-collapse:collapse;margin:14px 0 22px;font-size:.92rem}
.fact-table td{padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.fact-table td:first-child{color:var(--acc-2);font-family:var(--font-brand);width:38%;letter-spacing:.4px}
.proscons{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:16px 0}
.proscons>div{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:18px}
.proscons h4{margin-bottom:10px}
.proscons .pros h4{color:var(--green)}
.proscons .cons h4{color:var(--hot)}
.proscons li{padding-left:22px;position:relative;margin-bottom:7px;color:#d9d0f5;font-size:.92rem}
.proscons .pros li::before{content:"✦";position:absolute;left:0;color:var(--green)}
.proscons .cons li::before{content:"✕";position:absolute;left:0;color:var(--hot)}

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

/* =========================================================
   FOOTER
   ========================================================= */
.site-footer{margin-top:40px;border-top:1px solid var(--line);background:rgba(10,6,30,.7);padding:44px 0 30px}
.foot-social{display:flex;gap:12px;justify-content:center;margin-bottom:26px;flex-wrap:wrap}
.foot-social a{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line);transition:.2s}
.foot-social a:hover{transform:translateY(-3px)}
.foot-social img{width:22px;height:22px}
.foot-links{display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:center;margin-bottom:30px}
.foot-links a{font-family:var(--font-brand);font-size:.78rem;letter-spacing:.8px;text-transform:uppercase;color:var(--muted)}
.foot-links a:hover{color:#fff}
.foot-block{text-align:center;margin-bottom:26px}
.foot-block .eyebrow{display:block;margin-bottom:14px}
.logo-row{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;align-items:center}
.logo-row img{height:30px;width:auto;opacity:.85;filter:grayscale(.2);transition:.2s}
.logo-row img:hover{opacity:1;filter:none}
.legal-row img{height:46px}
.copyright{text-align:center;color:var(--muted);font-size:.84rem;border-top:1px solid var(--line);padding-top:22px;margin-top:10px}
.copyright strong{color:var(--txt)}

/* back to top */
.to-top{position:fixed;right:22px;bottom:22px;width:48px;height:48px;border-radius:50%;
  background:var(--rainbow);display:grid;place-items:center;box-shadow:var(--shadow);z-index:40}
.to-top img{width:22px;height:22px}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media(max-width:960px){
  .hero{grid-template-columns:1fr}
  .feature{grid-template-columns:1fr}
  .loyalty{grid-template-columns:1fr}
  .proscons{grid-template-columns:1fr}
}
@media(max-width:760px){
  .main-nav{
    position:fixed;inset:72px 0 auto 0;flex-direction:column;gap:0;
    background:var(--bg-1);border-bottom:1px solid var(--line);
    transform:translateY(-130%);transition:transform .3s;padding:10px 20px;
  }
  .main-nav a{padding:14px 0;border-bottom:1px solid var(--line)}
  .nav-toggle:checked~.main-nav{transform:translateY(0)}
  .burger{display:flex}
  .promo-grid{grid-template-columns:1fr}
  .promo-card h3,.promo-card p{max-width:100%}
  .slide{grid-template-columns:1fr;text-align:center}
  .slide-art{display:none}
  .steps{grid-template-columns:1fr}
}
.h2{
    font-family: var(--font-display);
    line-height: 1.15;
    font-weight: 700;
	font-size: clamp(1.4rem, 3vw, 2rem);
    margin-bottom: 8px;
}
.h4{
    font-family: var(--font-display);
    line-height: 1.15;
    font-weight: 700;
    font-size: .95rem;
    margin-bottom: 2px;
}
.h3{
    font-size: 1.3rem;
    max-width: 60%;
	font-family: var(--font-display);
    line-height: 1.15;
    font-weight: 700;
}