/* =========================================================
   NEOSPIN CASINO — Canada review & manual
   Stylesheet (kept fully separate from index.html)
   Brand: neon-violet "spin" identity on a deep night sky
   ========================================================= */

:root{
  --bg:#0c0a1c;
  --bg-2:#13102e;
  --panel:#1a1640;
  --panel-2:#221b54;
  --line:#322a6b;
  --violet:#8b3fff;
  --violet-deep:#6a1fd6;
  --neon:#c77dff;
  --pink:#ff3ea5;
  --cyan:#22e3ff;
  --gold:#ffcb45;
  --gold-deep:#f2a900;
  --text:#ece9ff;
  --muted:#a7a0d4;
  --good:#3ddc97;
  --bad:#ff6b8a;
  --radius:16px;
  --radius-sm:10px;
  --maxw:1140px;
  --shadow:0 18px 50px rgba(0,0,0,.45);
  --glow:0 0 24px rgba(139,63,255,.55);
}

*{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
  margin:0;
  background:
    radial-gradient(1200px 600px at 80% -10%, rgba(139,63,255,.22), transparent 60%),
    radial-gradient(900px 500px at -10% 10%, rgba(255,62,165,.16), transparent 55%),
    var(--bg);
  color:var(--text);
  font-family:"Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
  line-height:1.65;
  font-size:17px;
  -webkit-font-smoothing:antialiased;
}

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

a{color:var(--neon); text-decoration:none}
a:hover{text-decoration:underline}

/* ---------- Typography ---------- */
h1,h2,h3{
  font-family:"Trebuchet MS","Segoe UI",system-ui,sans-serif;
  line-height:1.15;
  letter-spacing:.3px;
  margin:0 0 .5em;
}
h1{
  font-size:clamp(2.1rem,6vw,3.6rem);
  text-transform:uppercase;
  font-weight:800;
  background:linear-gradient(92deg,#fff 0%,var(--neon) 45%,var(--cyan) 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  text-shadow:0 0 38px rgba(139,63,255,.35);
}
h2{
  font-size:clamp(1.5rem,3.4vw,2.15rem);
  font-weight:800;
  position:relative;
  padding-left:18px;
}
h2::before{
  content:"";
  position:absolute; left:0; top:.18em; bottom:.18em;
  width:6px; border-radius:6px;
  background:linear-gradient(180deg,var(--violet),var(--pink));
  box-shadow:var(--glow);
}
h3{font-size:1.18rem; font-weight:700; color:#fff}
p{margin:0 0 1rem}
.lead{font-size:1.12rem; color:#d9d4ff}
.muted{color:var(--muted)}

section{padding:54px 0; border-bottom:1px solid rgba(50,42,107,.4)}
.eyebrow{
  display:inline-block; font-size:.78rem; letter-spacing:3px;
  text-transform:uppercase; color:var(--cyan); font-weight:700; margin-bottom:8px;
}

/* ---------- Header ---------- */
.site-head{
  position:sticky; top:0; z-index:50;
  background:rgba(12,10,28,.86);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.head-row{display:flex; align-items:center; justify-content:space-between; gap:14px; padding:12px 0}
.nav{display:flex; gap:22px; flex-wrap:wrap}
.nav a{color:var(--muted); font-weight:600; font-size:.95rem}
.nav a:hover{color:#fff; text-decoration:none}

/* ---------- Logo (pure SVG/CSS) ---------- */
.logo{display:flex; align-items:center; gap:11px}
.logo svg{display:block; width:42px; height:42px; filter:drop-shadow(0 0 10px rgba(139,63,255,.7))}
.logo-word{font-family:"Trebuchet MS",sans-serif; font-weight:800; font-size:1.45rem; letter-spacing:1px; line-height:1}
.logo-word b{color:#fff}
.logo-word span{
  background:linear-gradient(90deg,var(--neon),var(--cyan));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.logo-sub{display:block; font-size:.58rem; letter-spacing:5px; color:var(--muted); font-weight:700; text-transform:uppercase}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  border:none; cursor:pointer; font-weight:800; font-size:1rem;
  padding:14px 26px; border-radius:50px; color:#1a0f00;
  background:linear-gradient(92deg,var(--gold),var(--gold-deep));
  box-shadow:0 12px 30px rgba(242,169,0,.35); transition:.18s;
  font-family:inherit; text-transform:uppercase; letter-spacing:.6px;
}
.btn:hover{transform:translateY(-2px); box-shadow:0 16px 40px rgba(242,169,0,.5); text-decoration:none}
.btn:active{transform:translateY(0)}
.btn-violet{
  background:linear-gradient(92deg,var(--violet),var(--pink)); color:#fff;
  box-shadow:0 12px 30px rgba(139,63,255,.45);
}
.btn-violet:hover{box-shadow:0 16px 44px rgba(255,62,165,.5)}
.btn-ghost{
  background:transparent; color:#fff; border:2px solid var(--line);
  box-shadow:none;
}
.btn-ghost:hover{border-color:var(--neon); background:rgba(139,63,255,.12)}
.btn-sm{padding:10px 18px; font-size:.85rem}
.btn:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--cyan); outline-offset:3px}

/* ---------- Hero ---------- */
.hero{padding:30px 0 48px; border-bottom:1px solid var(--line)}

/* Top bonus banner (above everything in first screen) */
.top-bonus{
  margin:18px 0 30px;
  border-radius:20px; overflow:hidden; position:relative;
  background:
    radial-gradient(600px 240px at 12% 0%, rgba(255,62,165,.3), transparent 60%),
    linear-gradient(120deg,var(--panel-2),var(--violet-deep));
  border:1px solid rgba(199,125,255,.4);
  box-shadow:var(--shadow);
}
.top-bonus-inner{
  display:grid; grid-template-columns:1.2fr auto; align-items:center; gap:24px;
  padding:26px 30px;
}
.top-bonus .ribbon{
  display:inline-block; font-size:.72rem; letter-spacing:2px; font-weight:800;
  text-transform:uppercase; color:#1a0f00; background:var(--gold);
  padding:4px 12px; border-radius:30px; margin-bottom:10px;
}
.top-bonus .bonus-amount{
  font-family:"Trebuchet MS",sans-serif; font-weight:800;
  margin:0 0 6px; font-size:clamp(1.4rem,3.4vw,2.1rem); line-height:1.15;
}
.top-bonus .amount{
  background:linear-gradient(90deg,var(--gold),#fff);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.top-bonus p{margin:0; color:#e9e3ff}
.top-bonus .cta-box{text-align:center}
.top-bonus .small{display:block; margin-top:8px; font-size:.72rem; color:var(--muted)}

.hero-grid{display:grid; grid-template-columns:1.35fr .9fr; gap:34px; align-items:center}
.hero-cta{display:flex; gap:14px; flex-wrap:wrap; margin-top:22px}
.trust{display:flex; gap:22px; flex-wrap:wrap; margin-top:26px}
.trust .t{display:flex; flex-direction:column}
.trust .t b{font-size:1.5rem; color:#fff}
.trust .t span{font-size:.8rem; color:var(--muted); letter-spacing:1px; text-transform:uppercase}

/* Hero visual — CSS "spin wheel" (no images) */
.wheel-card{
  background:linear-gradient(160deg,var(--panel),var(--bg-2));
  border:1px solid var(--line); border-radius:24px; padding:26px;
  box-shadow:var(--shadow); text-align:center;
}
.wheel{
  width:230px; height:230px; margin:0 auto 16px; border-radius:50%;
  background:conic-gradient(
    var(--violet) 0 45deg, var(--bg-2) 45deg 90deg,
    var(--pink) 90deg 135deg, var(--bg-2) 135deg 180deg,
    var(--cyan) 180deg 225deg, var(--bg-2) 225deg 270deg,
    var(--gold) 270deg 315deg, var(--bg-2) 315deg 360deg);
  border:8px solid #2c245f;
  box-shadow:0 0 0 8px rgba(139,63,255,.18), var(--glow);
  position:relative; animation:spin 14s linear infinite;
}
.wheel::after{
  content:""; position:absolute; inset:38%; border-radius:50%;
  background:radial-gradient(circle at 50% 35%, #fff, var(--neon) 70%);
  box-shadow:0 0 22px var(--neon);
}
@keyframes spin{to{transform:rotate(360deg)}}
.wheel-card .badge{font-size:.78rem; letter-spacing:2px; color:var(--cyan); text-transform:uppercase; font-weight:700}

/* ---------- Generic cards ---------- */
.grid{display:grid; gap:20px}
.g-2{grid-template-columns:repeat(2,1fr)}
.g-3{grid-template-columns:repeat(3,1fr)}
.g-4{grid-template-columns:repeat(4,1fr)}
.card{
  background:linear-gradient(160deg,var(--panel),var(--bg-2));
  border:1px solid var(--line); border-radius:var(--radius);
  padding:22px; transition:.18s; height:100%;
}
.card:hover{border-color:rgba(199,125,255,.55); transform:translateY(-3px); box-shadow:var(--shadow)}
.card h3{margin-top:6px}
.card p{font-size:.96rem; color:#d7d2f5; margin-bottom:0}
.ico{
  width:48px; height:48px; border-radius:12px; display:grid; place-items:center;
  background:rgba(139,63,255,.15); border:1px solid var(--line); margin-bottom:6px;
}
.ico svg{width:26px; height:26px}

/* ---------- Tables (responsive scroll on mobile) ---------- */
.table-scroll{
  overflow-x:auto; -webkit-overflow-scrolling:touch;
  border:1px solid var(--line); border-radius:var(--radius);
  margin:6px 0 4px;
}
table{width:100%; border-collapse:collapse; min-width:560px}
caption{caption-side:bottom; padding:10px; color:var(--muted); font-size:.82rem; text-align:left}
th,td{padding:14px 16px; text-align:left; border-bottom:1px solid var(--line); font-size:.95rem}
thead th{
  background:linear-gradient(92deg,var(--violet-deep),var(--panel-2));
  color:#fff; text-transform:uppercase; font-size:.78rem; letter-spacing:1.2px;
}
tbody tr:nth-child(even){background:rgba(34,27,84,.4)}
tbody tr:hover{background:rgba(139,63,255,.12)}
.scroll-hint{font-size:.78rem; color:var(--muted); margin:0 0 14px}

/* ---------- Steps ---------- */
.steps{counter-reset:step; display:grid; gap:16px}
.step{
  display:grid; grid-template-columns:54px 1fr; gap:16px; align-items:start;
  background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); padding:18px 20px;
}
.step::before{
  counter-increment:step; content:counter(step,decimal-leading-zero);
  font-weight:800; font-size:1.1rem; color:#1a0f00;
  width:46px; height:46px; border-radius:12px; display:grid; place-items:center;
  background:linear-gradient(135deg,var(--gold),var(--gold-deep));
}
.step h3{margin:2px 0 4px}
.step p{margin:0; font-size:.95rem; color:#d7d2f5}

/* ---------- Pros / Cons ---------- */
.pc{display:grid; grid-template-columns:1fr 1fr; gap:20px}
.pc .card{padding:24px}
.pc ul{list-style:none; margin:10px 0 0; padding:0}
.pc li{display:flex; gap:10px; padding:7px 0; font-size:.96rem; color:#dcd7fa}
.pc .pros li::before{content:"✚"; color:var(--good); font-weight:800}
.pc .cons li::before{content:"−"; color:var(--bad); font-weight:800; font-size:1.2rem; line-height:1}
.pc h3{display:flex; align-items:center; gap:8px}

/* ---------- Mid bonus strip ---------- */
.strip{
  margin:8px 0; border-radius:18px; overflow:hidden;
  background:linear-gradient(92deg,var(--violet-deep),var(--pink));
  box-shadow:var(--shadow);
}
.strip-inner{
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  padding:22px 28px; flex-wrap:wrap;
}
.strip h3{margin:0; font-size:1.35rem; color:#fff}
.strip p{margin:4px 0 0; color:#ffe9f6; font-size:.92rem}

/* ---------- FAQ accordion (pure HTML/CSS, no JS) ---------- */
.faq{display:grid; gap:12px}
.faq details{
  background:var(--panel); border:1px solid var(--line);
  border-radius:var(--radius); overflow:hidden;
}
.faq summary{
  cursor:pointer; list-style:none; padding:18px 22px;
  font-weight:700; font-size:1.04rem; color:#fff;
  display:flex; align-items:center; justify-content:space-between; gap:14px;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"+"; font-size:1.5rem; color:var(--neon); font-weight:800;
  transition:transform .2s; line-height:1;
}
.faq details[open] summary::after{content:"–"}
.faq details[open] summary{background:rgba(139,63,255,.12)}
.faq .answer{padding:0 22px 20px; color:#d7d2f5; font-size:.97rem}
.faq .answer p{margin:0}

/* ---------- Rating block ---------- */
.score{
  display:grid; grid-template-columns:auto 1fr; gap:24px; align-items:center;
  background:linear-gradient(160deg,var(--panel),var(--bg-2));
  border:1px solid var(--line); border-radius:20px; padding:26px; box-shadow:var(--shadow);
}
.score .num{
  width:120px; height:120px; border-radius:50%; display:grid; place-items:center;
  background:conic-gradient(var(--gold) 0 84%, #2c245f 84% 100%);
  position:relative;
}
.score .num::before{content:""; position:absolute; inset:10px; border-radius:50%; background:var(--bg-2)}
.score .num b{position:relative; font-size:2.2rem; color:#fff}
.score .num small{position:relative; color:var(--muted); font-size:.8rem}
.score-bars{display:grid; gap:10px}
.bar{display:grid; grid-template-columns:150px 1fr 46px; gap:12px; align-items:center; font-size:.9rem}
.bar .track{height:9px; border-radius:6px; background:#2c245f; overflow:hidden}
.bar .fill{height:100%; border-radius:6px; background:linear-gradient(90deg,var(--violet),var(--cyan))}

/* ---------- Footer ---------- */
.site-foot{padding:46px 0 60px; color:var(--muted); font-size:.9rem; background:var(--bg-2)}
.foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:30px; margin-bottom:26px}
.site-foot h4{color:#fff; font-size:1rem; margin:0 0 12px}
.site-foot a{color:var(--muted)}
.site-foot a:hover{color:#fff}
.foot-list{list-style:none; padding:0; margin:0; display:grid; gap:8px}
.rg{
  display:flex; align-items:center; gap:14px; flex-wrap:wrap;
  border:1px solid var(--line); border-radius:14px; padding:16px 18px; margin:8px 0 22px;
  background:rgba(139,63,255,.08);
}
.rg .age{
  width:46px; height:46px; min-width:46px; border-radius:50%; border:2px solid var(--gold);
  color:var(--gold); display:grid; place-items:center; font-weight:800; font-size:.95rem;
}
.copy{border-top:1px solid var(--line); padding-top:18px; line-height:1.6}

/* ---------- Responsive ---------- */
@media(max-width:980px){
  .hero-grid{grid-template-columns:1fr}
  .g-4{grid-template-columns:repeat(2,1fr)}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:820px){
  .top-bonus-inner{grid-template-columns:1fr; text-align:center}
  .top-bonus .cta-box{text-align:center}
  .nav{display:none}
}
@media(max-width:640px){
  body{font-size:16px}
  section{padding:42px 0}
  .g-2,.g-3,.g-4,.pc,.foot-grid{grid-template-columns:1fr}
  .score{grid-template-columns:1fr; text-align:center; justify-items:center}
  .bar{grid-template-columns:110px 1fr 40px; font-size:.82rem}
  .strip-inner{flex-direction:column; align-items:flex-start; text-align:left}
  .step{grid-template-columns:42px 1fr}
  .step::before{width:38px; height:38px; font-size:.95rem}
}
@media(prefers-reduced-motion:reduce){
  .wheel{animation:none}
  *{transition:none!important}
}
