/* =========================================================
   Joe Fortune Casino AU — stylesheet
   Palette: deep aubergine-black, fortune gold, crimson accent
   Fonts: system serif display + system sans body (no external links)
   ========================================================= */

:root{
  --bg:        #110D14;
  --bg-2:      #181220;
  --surface:   #221A2B;
  --surface-2: #2C2235;
  --gold:      #F2B33D;
  --gold-light:#FFD877;
  --gold-deep: #C9881E;
  --crimson:   #D9472F;
  --crimson-deep:#A6301E;
  --green:     #46C28A;
  --cream:     #F6EFE2;
  --muted:     #B6A893;
  --line:      rgba(242,179,61,0.18);
  --line-soft: rgba(246,239,226,0.08);
  --display: Georgia,"Times New Roman",serif;
  --body: system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --radius: 16px;
  --maxw: 1120px;
}

*{box-sizing:border-box;}

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

body{
  margin:0;
  background:
    radial-gradient(900px 500px at 80% -8%, rgba(242,179,61,0.10), transparent 60%),
    radial-gradient(700px 460px at -5% 12%, rgba(217,71,47,0.10), transparent 55%),
    var(--bg);
  color:var(--cream);
  font-family:var(--body);
  font-size:17px;
  line-height:1.7;
  letter-spacing:.1px;
}

img{max-width:100%;}

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

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

/* ---------- Typography ---------- */
h1,h2,h3,h4,h5{font-family:var(--display);line-height:1.18;margin:0 0 .5em;font-weight:700;letter-spacing:.2px;}
h1{font-size:clamp(30px,5.2vw,52px);}
h2{font-size:clamp(25px,3.8vw,38px);}
h3{font-size:clamp(20px,2.6vw,26px);}
h4{font-size:clamp(17px,2vw,20px);font-family:var(--body);font-weight:700;}
h5{font-size:16px;font-family:var(--body);font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--gold-light);}
p{margin:0 0 1.05em;}
.gold-text{
  background:linear-gradient(95deg,var(--gold-light),var(--gold) 45%,var(--gold-deep));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.eyebrow{
  font-family:var(--body);font-size:13px;font-weight:700;letter-spacing:3px;
  text-transform:uppercase;color:var(--gold);margin:0 0 14px;
}
.lead{font-size:1.12em;color:#efe6d6;}
.muted{color:var(--muted);}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;justify-content:center;
  font-family:var(--body);font-weight:800;font-size:16px;letter-spacing:.3px;
  border:none;border-radius:999px;cursor:pointer;padding:15px 30px;
  color:#2a1c05;
  background:linear-gradient(180deg,var(--gold-light),var(--gold) 55%,var(--gold-deep));
  box-shadow:0 10px 26px rgba(242,179,61,.30),inset 0 1px 0 rgba(255,255,255,.5);
  transition:transform .15s ease,box-shadow .15s ease,filter .15s ease;
  text-align:center;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(242,179,61,.42);filter:brightness(1.04);}
.btn:active{transform:translateY(0);}
.btn:focus-visible{outline:3px solid var(--cream);outline-offset:3px;}
.btn--ghost{
  color:var(--cream);background:transparent;
  border:1.5px solid var(--line);box-shadow:none;
}
.btn--ghost:hover{border-color:var(--gold);box-shadow:0 8px 20px rgba(0,0,0,.3);}
.btn--crimson{
  color:#fff;
  background:linear-gradient(180deg,#ef6b54,var(--crimson) 55%,var(--crimson-deep));
  box-shadow:0 10px 26px rgba(217,71,47,.30),inset 0 1px 0 rgba(255,255,255,.25);
}
.btn--block{display:flex;width:100%;}
.btn--lg{padding:18px 38px;font-size:18px;}

/* ---------- Logo / coin emblem ---------- */
.logo{display:inline-flex;align-items:center;gap:12px;}
.logo .coin{width:42px;height:42px;flex:0 0 auto;}
.logo .word{display:flex;flex-direction:column;line-height:1;}
.logo .word b{font-family:var(--display);font-size:20px;letter-spacing:.5px;color:var(--cream);}
.logo .word span{font-family:var(--body);font-size:9.5px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);}

/* ---------- Top bonus banner (first screen, above all) ---------- */
.topbanner{
  position:relative;overflow:hidden;
  background:
    radial-gradient(600px 200px at 18% 0%, rgba(255,216,119,.18), transparent 70%),
    linear-gradient(120deg,#2a1430,#3a1622 60%,#241327);
  border-bottom:1px solid var(--line);
}
.topbanner .wrap{
  display:flex;align-items:center;gap:24px;flex-wrap:wrap;
  padding-top:22px;padding-bottom:22px;
}
.topbanner .deal{flex:1 1 460px;min-width:280px;}
.topbanner .tag{
  display:inline-block;font-family:var(--body);font-weight:800;font-size:12px;
  letter-spacing:2px;text-transform:uppercase;color:#2a1c05;
  background:linear-gradient(180deg,var(--gold-light),var(--gold-deep));
  padding:5px 12px;border-radius:999px;margin-bottom:10px;
}
.topbanner .deal-title{font-family:var(--display);font-size:clamp(22px,3.6vw,32px);margin:2px 0 6px;}
.topbanner .deal-sub{margin:0;color:#e9dcc7;font-size:15px;}
.topbanner .cta{flex:0 0 auto;}

/* ---------- Header / nav ---------- */
.site-header{
  position:sticky;top:0;z-index:40;
  background:rgba(17,13,20,.86);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line-soft);
}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:14px;padding-bottom:14px;}
.nav{display:flex;align-items:center;gap:26px;}
.nav a{color:var(--cream);font-size:14px;font-weight:600;letter-spacing:.4px;opacity:.85;}
.nav a:hover{opacity:1;color:var(--gold-light);}
.header-cta .btn{padding:11px 22px;font-size:14px;}

/* ---------- Hero ---------- */
.hero{position:relative;padding:64px 0 30px;}
.hero .grid{display:grid;grid-template-columns:1.15fr .85fr;gap:46px;align-items:center;}
.hero-buttons{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;}
.hero-emblem{
  position:relative;aspect-ratio:1/1;border-radius:50%;
  display:grid;place-items:center;
  background:radial-gradient(circle at 50% 38%, rgba(255,216,119,.20), transparent 62%);
}
.hero-emblem .ring{
  position:absolute;inset:8%;border-radius:50%;
  border:2px dashed rgba(242,179,61,.35);
}
.hero-emblem .ring.inner{inset:20%;border-style:solid;border-color:rgba(242,179,61,.22);}
.hero-coin{width:62%;height:62%;}

/* ---------- Section frame ---------- */
section{padding:46px 0;}
.section-head{max-width:760px;margin-bottom:26px;}

/* ---------- Highlights cards ---------- */
.cards{display:grid;gap:18px;}
.cards.cols-3{grid-template-columns:repeat(3,1fr);}
.cards.cols-2{grid-template-columns:repeat(2,1fr);}
.card{
  background:linear-gradient(180deg,var(--surface),var(--bg-2));
  border:1px solid var(--line-soft);border-radius:var(--radius);
  padding:22px 22px 20px;
}
.card .icon{
  width:40px;height:40px;display:grid;place-items:center;border-radius:10px;
  margin-bottom:12px;background:rgba(242,179,61,.12);border:1px solid var(--line);
}
.card.bad .icon{background:rgba(217,71,47,.12);border-color:rgba(217,71,47,.32);}
.card h3{margin-bottom:6px;font-family:var(--body);font-weight:700;font-size:18px;}
.card p{margin:0;font-size:15px;color:var(--muted);}

/* ---------- Mobile section ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;}
.phone{
  margin:0 auto;width:230px;max-width:80%;aspect-ratio:9/18;
  border-radius:30px;border:2px solid var(--line);
  background:linear-gradient(160deg,var(--surface-2),var(--bg));
  padding:14px;position:relative;box-shadow:0 30px 60px rgba(0,0,0,.5);
}
.phone .notch{width:74px;height:6px;border-radius:6px;background:rgba(246,239,226,.25);margin:2px auto 12px;}
.phone .screen{
  height:calc(100% - 22px);border-radius:18px;overflow:hidden;
  background:radial-gradient(circle at 50% 18%, rgba(255,216,119,.18), transparent 60%),var(--bg-2);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:14px;text-align:center;
}
.phone .screen .pill{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--gold);border:1px solid var(--line);padding:4px 10px;border-radius:999px;}
.phone .screen strong{font-family:var(--display);font-size:20px;}
.phone .reels{display:flex;gap:6px;margin-top:4px;}
.phone .reels span{width:34px;height:46px;border-radius:8px;background:linear-gradient(180deg,var(--surface),var(--bg));border:1px solid var(--line);display:grid;place-items:center;font-size:20px;}

/* ---------- Bonus breakdown ---------- */
.bonus-block{
  background:
    radial-gradient(500px 240px at 85% 0%, rgba(217,71,47,.16), transparent 60%),
    linear-gradient(180deg,var(--surface),var(--bg-2));
  border:1px solid var(--line);border-radius:22px;padding:30px;
}
.bonus-figures{display:flex;gap:18px;flex-wrap:wrap;margin:6px 0 22px;}
.figure{
  flex:1 1 200px;text-align:center;border:1px solid var(--line);border-radius:16px;
  padding:20px;background:rgba(0,0,0,.18);
}
.figure b{display:block;font-family:var(--display);font-size:clamp(34px,6vw,52px);color:var(--gold-light);line-height:1;}
.figure span{font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:18px 0 6px;}
.step{display:flex;gap:14px;align-items:flex-start;background:rgba(0,0,0,.16);border:1px solid var(--line-soft);border-radius:14px;padding:16px;}
.step .n{flex:0 0 auto;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-family:var(--display);font-weight:700;color:#2a1c05;background:linear-gradient(180deg,var(--gold-light),var(--gold-deep));}
.step h4{margin:2px 0 4px;font-size:16px;}
.step p{margin:0;font-size:14px;color:var(--muted);}
.fineprint{font-size:13px;color:var(--muted);margin-top:14px;}

/* ---------- Mid strip banner (2nd banner) ---------- */
.strip{
  margin:8px 0;
  background:
    radial-gradient(420px 160px at 12% 0%, rgba(255,216,119,.2), transparent 65%),
    linear-gradient(110deg,#3a1622,#291433);
  border:1px solid var(--line);border-radius:20px;
  display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;
  padding:24px 28px;
}
.strip .txt h3{margin:0 0 4px;}
.strip .txt p{margin:0;color:#e9dcc7;font-size:15px;}

/* ---------- Reviews ---------- */
.reviews{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.review{background:linear-gradient(180deg,var(--surface),var(--bg-2));border:1px solid var(--line-soft);border-radius:var(--radius);padding:24px;}
.review .top{display:flex;align-items:center;gap:14px;margin-bottom:12px;}
.avatar{width:48px;height:48px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;font-family:var(--display);font-weight:700;color:#2a1c05;background:linear-gradient(180deg,var(--gold-light),var(--gold-deep));}
.review .who b{display:block;}
.review .who span{font-size:13px;color:var(--muted);}
.review .stars{color:var(--gold);letter-spacing:2px;font-size:14px;margin-bottom:6px;}
.review blockquote{margin:0;font-style:italic;color:#efe6d6;}
.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;}
.tags span{font-size:12px;color:var(--gold-light);border:1px solid var(--line);border-radius:999px;padding:4px 11px;}

/* ---------- Tables ---------- */
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:var(--radius);}
table{width:100%;border-collapse:collapse;min-width:520px;}
caption{caption-side:top;text-align:left;padding:14px 18px;font-weight:700;color:var(--gold-light);font-family:var(--display);font-size:18px;}
th,td{padding:13px 18px;text-align:left;border-bottom:1px solid var(--line-soft);font-size:15px;vertical-align:top;}
th{background:rgba(242,179,61,.08);color:var(--cream);font-weight:700;white-space:nowrap;}
tbody tr:nth-child(even){background:rgba(255,255,255,.02);}
tbody tr:last-child td{border-bottom:none;}
td:first-child{color:var(--muted);font-weight:600;white-space:nowrap;}

/* ---------- Numbered checklist ---------- */
.checklist{display:grid;gap:16px;counter-reset:c;}
.check{display:flex;gap:16px;background:linear-gradient(180deg,var(--surface),var(--bg-2));border:1px solid var(--line-soft);border-radius:14px;padding:18px 20px;}
.check .num{flex:0 0 auto;width:38px;height:38px;border-radius:10px;display:grid;place-items:center;font-family:var(--display);font-weight:700;color:#2a1c05;background:linear-gradient(180deg,var(--gold-light),var(--gold-deep));}
.check h3{margin:2px 0 6px;font-family:var(--body);font-weight:700;font-size:18px;}
.check p{margin:0 0 .5em;font-size:15px;}
.provider-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px;}
.provider-chips span{font-size:12px;color:var(--cream);border:1px solid var(--line);border-radius:8px;padding:4px 10px;background:rgba(0,0,0,.2);}

/* ---------- Responsible gambling ---------- */
.rg{background:linear-gradient(180deg,var(--surface),var(--bg-2));border:1px solid var(--line-soft);border-radius:18px;padding:28px;}
.rules{display:grid;grid-template-columns:1fr 1fr;gap:12px 26px;margin:6px 0 0;padding:0;list-style:none;}
.rules li{display:flex;gap:12px;font-size:15px;}
.rules li b{color:var(--gold-light);}
.help-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:6px;}
.help{border:1px solid var(--line);border-radius:14px;padding:16px;background:rgba(0,0,0,.18);}
.help b{display:block;color:var(--gold-light);}
.help span{font-size:14px;color:var(--muted);}

/* ---------- FAQ accordion ---------- */
.faq{display:grid;gap:12px;}
details{
  background:linear-gradient(180deg,var(--surface),var(--bg-2));
  border:1px solid var(--line-soft);border-radius:14px;overflow:hidden;
}
details[open]{border-color:var(--line);}
summary{
  cursor:pointer;list-style:none;padding:18px 22px;
  font-family:var(--display);font-size:18px;font-weight:700;color:var(--cream);
  display:flex;align-items:center;justify-content:space-between;gap:16px;
}
summary::-webkit-details-marker{display:none;}
summary::after{content:"+";color:var(--gold);font-size:26px;line-height:1;transition:transform .2s ease;}
details[open] summary::after{transform:rotate(45deg);}
details .answer{padding:0 22px 20px;color:#e6dcc9;font-size:15.5px;}

/* ---------- Footer ---------- */
.site-footer{border-top:1px solid var(--line);margin-top:30px;background:var(--bg-2);}
.site-footer .wrap{padding-top:40px;padding-bottom:30px;}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px;}
.foot-grid .foot-h{margin-bottom:14px;font-family:var(--body);font-size:16px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--gold-light);}
.foot-links{list-style:none;margin:0;padding:0;display:grid;gap:9px;}
.foot-links a{color:var(--muted);font-size:14px;}
.foot-links a:hover{color:var(--gold-light);}
.foot-bottom{margin-top:28px;padding-top:18px;border-top:1px solid var(--line-soft);display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--muted);}
.badge18{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;border:2px solid var(--crimson);color:#ff9a86;font-weight:800;font-size:13px;}

/* ---------- Responsive ---------- */
@media (max-width:980px){
  .hero .grid{grid-template-columns:1fr;gap:30px;}
  .hero-emblem{max-width:320px;margin:0 auto;}
  .split{grid-template-columns:1fr;gap:28px;}
  .cards.cols-3{grid-template-columns:repeat(2,1fr);}
  .steps{grid-template-columns:1fr;}
  .reviews{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:680px){
  body{font-size:16px;}
  .nav{display:none;}
  .cards.cols-3,.cards.cols-2{grid-template-columns:1fr;}
  .rules{grid-template-columns:1fr;}
  .help-grid{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr;}
  .bonus-block,.rg{padding:22px;}
  .strip{padding:20px;}
  .topbanner .cta,.topbanner .cta .btn{width:100%;}
}
@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto;transition:none!important;}
}
