/* ============================================================
   Vegas Now Casino — vegas-now-casino-au-play.com
   Brand theme: midnight velvet, neon gold, crimson, magenta
   ============================================================ */

:root{
  --midnight:#0a0612;
  --velvet:#160a26;
  --panel:#1d0f33;
  --panel-2:#251241;
  --gold:#f4c430;
  --gold-soft:#ffe89a;
  --gold-deep:#c8920a;
  --crimson:#d4163c;
  --crimson-deep:#9c0f2b;
  --magenta:#b026ff;
  --cream:#f5f0e6;
  --muted:#b9add0;
  --line:rgba(244,196,48,.22);
  --shadow:0 18px 50px rgba(0,0,0,.55);
  --radius:18px;
}

*{box-sizing:border-box;}

html{scroll-behavior:smooth;}

body{
  margin:0;
  background:
    radial-gradient(900px 500px at 12% -5%, rgba(176,38,255,.18), transparent 60%),
    radial-gradient(900px 600px at 95% 0%, rgba(212,22,60,.20), transparent 55%),
    linear-gradient(180deg,#0c071a 0%, var(--midnight) 40%, #08040f 100%);
  color:var(--cream);
  font-family:"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  line-height:1.7;
  font-size:17px;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

.wrap{max-width:1080px;margin:0 auto;padding:0 20px;}

a{color:var(--gold);}

/* ---------- Top ribbon bonus banner (above everything) ---------- */
.topbar{
  background:linear-gradient(90deg,var(--crimson-deep),var(--crimson) 45%,var(--magenta));
  border-bottom:1px solid rgba(255,255,255,.12);
}
.topbar .wrap{
  display:flex;align-items:center;justify-content:center;gap:14px;
  flex-wrap:wrap;padding:12px 20px;text-align:center;
}
.topbar p{margin:0;font-weight:700;letter-spacing:.2px;}
.topbar .spark{color:var(--gold-soft);}

/* ---------- Buttons ---------- */
.btn{
  display:inline-block;cursor:pointer;border:0;
  font:inherit;font-weight:800;letter-spacing:.4px;text-transform:uppercase;
  padding:14px 26px;border-radius:999px;color:#1a0a00;
  background:linear-gradient(180deg,var(--gold-soft),var(--gold) 55%,var(--gold-deep));
  box-shadow:0 10px 24px rgba(244,196,48,.35),inset 0 1px 0 rgba(255,255,255,.6);
  transition:transform .15s ease,box-shadow .15s ease,filter .15s ease;
  text-decoration:none;
}
.btn:hover{transform:translateY(-2px);filter:brightness(1.06);box-shadow:0 16px 34px rgba(244,196,48,.45);}
.btn:active{transform:translateY(0);}
.btn:focus-visible{outline:3px solid var(--magenta);outline-offset:3px;}
.btn--ghost{
  background:transparent;color:var(--gold);
  border:2px solid var(--gold);box-shadow:none;
}
.btn--ghost:hover{background:rgba(244,196,48,.12);}
.btn--lg{padding:18px 38px;font-size:1.05rem;}

/* ---------- Header / logo ---------- */
.site-head{
  position:sticky;top:0;z-index:20;
  backdrop-filter:blur(8px);
  background:rgba(10,6,18,.78);
  border-bottom:1px solid var(--line);
}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;}
.logo svg{display:block;width:46px;height:46px;flex:none;}
.logo .word{display:flex;flex-direction:column;line-height:1;}
.logo .word b{
  font-size:1.25rem;font-weight:900;letter-spacing:1px;
  background:linear-gradient(180deg,var(--gold-soft),var(--gold) 60%,var(--gold-deep));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  text-shadow:0 0 18px rgba(244,196,48,.25);
}
.logo .word span{font-size:.68rem;letter-spacing:4px;color:var(--magenta);text-transform:uppercase;}
.nav{display:flex;gap:20px;flex-wrap:wrap;}
.nav a{color:var(--muted);text-decoration:none;font-weight:600;font-size:.95rem;}
.nav a:hover{color:var(--gold);}

/* ---------- Hero ---------- */
.hero{padding:54px 0 30px;text-align:center;position:relative;}
.hero .eyebrow{
  display:inline-block;font-size:.8rem;letter-spacing:3px;text-transform:uppercase;
  color:var(--magenta);border:1px solid rgba(176,38,255,.4);
  padding:6px 16px;border-radius:999px;margin-bottom:18px;
}
h1{
  font-size:clamp(2.1rem,6vw,3.6rem);line-height:1.05;margin:.1em 0 .35em;
  font-weight:900;letter-spacing:.5px;
  background:linear-gradient(180deg,#fff,var(--gold-soft) 40%,var(--gold) 75%,var(--gold-deep));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  text-shadow:0 0 40px rgba(244,196,48,.18);
}
.hero .lead{max-width:720px;margin:0 auto 26px;color:var(--muted);font-size:1.1rem;}

/* The big in-screen bonus banner (first screen, above content) */
.bonus-hero{
  margin:22px auto 8px;max-width:760px;
  border-radius:var(--radius);padding:30px 26px;
  background:
    radial-gradient(140% 120% at 0% 0%, rgba(176,38,255,.30), transparent 60%),
    linear-gradient(135deg,var(--crimson-deep),var(--velvet));
  border:1px solid rgba(244,196,48,.4);
  box-shadow:var(--shadow),0 0 0 4px rgba(244,196,48,.05);
  position:relative;overflow:hidden;
}
.bonus-hero::before{
  content:"";position:absolute;inset:-2px;border-radius:inherit;
  background:linear-gradient(120deg,transparent 30%,rgba(244,196,48,.12),transparent 70%);
  pointer-events:none;
}
.bonus-hero .tag{font-size:.78rem;letter-spacing:3px;text-transform:uppercase;color:var(--gold-soft);}
.bonus-hero .amount{
  font-size:clamp(1.7rem,5vw,2.6rem);font-weight:900;margin:6px 0 4px;color:#fff;
  text-shadow:0 0 24px rgba(212,22,60,.5);
}
.bonus-hero .amount em{color:var(--gold);font-style:normal;}
.bonus-hero p{margin:6px 0 20px;color:var(--cream);}
.bonus-hero small{display:block;margin-top:14px;color:var(--muted);font-size:.78rem;}

/* ---------- Sections ---------- */
section{padding:40px 0;}
.section-title{margin:0 0 10px;}
h2{
  font-size:clamp(1.5rem,3.4vw,2.1rem);font-weight:800;margin:.2em 0 .4em;
  color:var(--gold-soft);letter-spacing:.3px;
}
h2 .num{
  display:inline-block;margin-right:12px;color:var(--crimson);
  font-variant-numeric:tabular-nums;
}
h3{font-size:1.18rem;font-weight:800;color:#fff;margin:1.4em 0 .4em;}
p{margin:0 0 1em;}
.muted{color:var(--muted);}
.divider{height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent);border:0;margin:8px 0;}

/* ---------- Strip bonus banner (lower in content) ---------- */
.bonus-strip{
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  background:linear-gradient(90deg,var(--velvet),var(--panel-2));
  border:1px solid var(--line);border-left:5px solid var(--gold);
  border-radius:14px;padding:22px 26px;box-shadow:var(--shadow);
}
.bonus-strip .copy b{display:block;font-size:1.25rem;color:#fff;}
.bonus-strip .copy span{color:var(--muted);}

/* ---------- Cards (max two-plus per row, kept compact) ---------- */
.grid{display:grid;gap:18px;}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-2{grid-template-columns:repeat(2,1fr);}
.card{
  background:linear-gradient(180deg,var(--panel),var(--velvet));
  border:1px solid var(--line);border-radius:14px;padding:22px 20px;
  box-shadow:var(--shadow);
}
.card h3{margin-top:0;}
.card .ico{
  width:46px;height:46px;border-radius:12px;display:grid;place-items:center;margin-bottom:12px;
  background:radial-gradient(circle at 30% 30%, rgba(244,196,48,.25), rgba(176,38,255,.15));
  border:1px solid var(--line);
}
.card .ico svg{width:26px;height:26px;}
.card p{font-size:.97rem;margin-bottom:0;color:var(--muted);}

/* Pros / Cons */
.pc{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.pc .box{border-radius:14px;padding:22px;border:1px solid var(--line);}
.pc .pros{background:linear-gradient(180deg,rgba(48,180,120,.12),var(--velvet));border-color:rgba(72,220,150,.35);}
.pc .cons{background:linear-gradient(180deg,rgba(212,22,60,.12),var(--velvet));border-color:rgba(212,22,60,.4);}
.pc h3{margin-top:0;}
.pc ul{margin:0;padding-left:1.1em;}
.pc li{margin:.45em 0;color:var(--cream);}

/* ---------- Tables (scroll on mobile) ---------- */
.table-scroll{
  overflow-x:auto;-webkit-overflow-scrolling:touch;
  border:1px solid var(--line);border-radius:14px;
  box-shadow:var(--shadow);margin:10px 0 4px;
}
table{border-collapse:collapse;width:100%;min-width:560px;font-size:.96rem;}
caption{caption-side:top;text-align:left;padding:14px 18px 0;color:var(--muted);font-size:.85rem;}
th,td{padding:13px 16px;text-align:left;border-bottom:1px solid rgba(244,196,48,.12);}
thead th{
  background:linear-gradient(180deg,var(--panel-2),var(--panel));
  color:var(--gold-soft);text-transform:uppercase;font-size:.78rem;letter-spacing:1px;
  position:sticky;top:0;
}
tbody tr:nth-child(even){background:rgba(176,38,255,.06);}
tbody tr:hover{background:rgba(244,196,48,.08);}
td b{color:#fff;}

.hint{font-size:.8rem;color:var(--muted);margin:6px 2px 0;}

/* ---------- FAQ accordion (pure HTML, no JS) ---------- */
.faq details{
  background:linear-gradient(180deg,var(--panel),var(--velvet));
  border:1px solid var(--line);border-radius:12px;margin:0 0 12px;overflow:hidden;
}
.faq summary{
  cursor:pointer;list-style:none;padding:18px 52px 18px 20px;position:relative;
  font-weight:700;color:#fff;
}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{
  content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);
  font-size:1.5rem;line-height:1;color:var(--gold);transition:transform .2s ease;
}
.faq details[open] summary::after{content:"\2212";transform:translateY(-50%) rotate(180deg);}
.faq details[open] summary{color:var(--gold-soft);}
.faq .ans{padding:0 20px 18px;color:var(--muted);}
.faq summary:focus-visible{outline:3px solid var(--magenta);outline-offset:-3px;border-radius:12px;}

/* ---------- Verdict / closing panel ---------- */
.closing{
  background:radial-gradient(120% 140% at 100% 0%, rgba(176,38,255,.2), transparent 55%),
             linear-gradient(180deg,var(--panel),var(--velvet));
  border:1px solid var(--line);border-radius:var(--radius);padding:34px 28px;text-align:center;
  box-shadow:var(--shadow);
}
.closing h2{margin-top:0;}
.rating{display:flex;gap:8px;justify-content:center;align-items:center;margin:10px 0 18px;flex-wrap:wrap;}
.rating .score{font-size:2.4rem;font-weight:900;color:var(--gold);}
.rating .stars{color:var(--gold);letter-spacing:3px;font-size:1.3rem;}
.rating small{color:var(--muted);}

/* ---------- Footer ---------- */
.site-foot{border-top:1px solid var(--line);padding:30px 0 50px;color:var(--muted);font-size:.9rem;}
.site-foot .wrap{display:flex;flex-direction:column;gap:14px;}
.responsible{
  border:1px dashed rgba(244,196,48,.4);border-radius:12px;padding:14px 18px;
  background:rgba(212,22,60,.08);color:var(--cream);font-size:.85rem;
}
.responsible b{color:var(--gold-soft);}
.eighteen{
  display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;
  border:2px solid var(--crimson);color:#fff;font-weight:900;font-size:.8rem;flex:none;
}
.foot-flex{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}

/* ---------- Responsive ---------- */
@media (max-width:860px){
  .grid-3{grid-template-columns:1fr 1fr;}
}
@media (max-width:680px){
  body{font-size:16px;}
  .nav{display:none;}
  .grid-3,.grid-2,.pc{grid-template-columns:1fr;}
  .bonus-strip{flex-direction:column;align-items:flex-start;text-align:left;}
  .bonus-strip .btn{width:100%;text-align:center;}
  .hero{padding:34px 0 20px;}
  section{padding:30px 0;}
}

@media (prefers-reduced-motion:reduce){
  *{transition:none !important;scroll-behavior:auto !important;}
}
