/* ============================================================
   sweetbonanzalive.net — 2026 restyle for GeneratePress
   Load site-wide (Customizer → Additional CSS, or mu-plugin).
   Scope: candy-dark theme + slot catalog + spec/casino tables.
   ============================================================ */

:root{
  --sbl-bg:#140a22;
  --sbl-bg-2:#1d0f30;
  --sbl-card:#26143f;
  --sbl-card-2:#2f1a4d;
  --sbl-line:rgba(255,255,255,.10);
  --sbl-text:#f4eefb;
  --sbl-muted:#c3b3d8;
  --sbl-pink:#ff4f9a;
  --sbl-pink-2:#ff7ab8;
  --sbl-grape:#8b5cf6;
  --sbl-lime:#7ee787;
  --sbl-gold:#ffc83d;
  --sbl-red:#ff6b6b;
  --sbl-radius:14px;
  --sbl-shadow:0 10px 30px rgba(0,0,0,.35);
  --sbl-font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}

/* ---------- base ---------- */
body{
  background:var(--sbl-bg);
  color:var(--sbl-text);
  font-family:var(--sbl-font);
  font-size:17px;
  line-height:1.7;
}
.site-content,.inside-article,.entry-content,.site-main{background:transparent;}
.separate-containers .inside-article,
.separate-containers .comments-area,
.separate-containers .page-header,
.separate-containers .paging-navigation,
.one-container .site-content{
  background:var(--sbl-bg-2);
  border:1px solid var(--sbl-line);
  border-radius:var(--sbl-radius);
  box-shadow:var(--sbl-shadow);
}
a{color:var(--sbl-pink-2);text-decoration:none;}
a:hover{color:#fff;text-decoration:underline;}
p{margin:0 0 1.05em;}
strong,b{color:#fff;}
hr{border:0;border-top:1px solid var(--sbl-line);margin:2.2em 0;}

/* ---------- headings ---------- */
.entry-content h1,.entry-content h2,.entry-content h3,.entry-content h4,
h1.entry-title,.page-header h1{
  color:#fff;font-weight:800;letter-spacing:-.015em;line-height:1.22;
}
.entry-content h1,h1.entry-title{font-size:clamp(1.7rem,4.4vw,2.5rem);margin:0 0 .6em;}
.entry-content h2{
  font-size:clamp(1.32rem,3vw,1.85rem);
  margin:2.1em 0 .7em;padding-left:.62em;position:relative;
}
.entry-content h2::before{
  content:"";position:absolute;left:0;top:.16em;bottom:.16em;width:5px;border-radius:4px;
  background:linear-gradient(180deg,var(--sbl-pink),var(--sbl-grape));
}
.entry-content h3{font-size:clamp(1.12rem,2.3vw,1.4rem);margin:1.7em 0 .55em;color:var(--sbl-pink-2);}
.entry-content h4{font-size:1.06rem;margin:1.4em 0 .5em;color:var(--sbl-gold);}

/* ---------- header / nav ---------- */
.site-header,.main-navigation,.main-navigation .main-nav ul ul{
  background:linear-gradient(180deg,#20102f,#170b26);
  border-bottom:1px solid var(--sbl-line);
}
.main-navigation .main-nav ul li a,.main-navigation .menu-toggle{
  color:var(--sbl-text);font-weight:600;font-size:.94rem;letter-spacing:.01em;
}
.main-navigation .main-nav ul li:hover>a,
.main-navigation .main-nav ul li.current-menu-item>a{
  background:rgba(255,79,154,.16);color:#fff;
}
.main-navigation .main-nav ul ul li a{font-size:.9rem;}
.main-navigation .main-nav ul ul{box-shadow:var(--sbl-shadow);border-radius:0 0 12px 12px;overflow:hidden;}

/* ---------- hero (hub / homepage) ---------- */
.sbl-hero{
  position:relative;overflow:hidden;border-radius:var(--sbl-radius);
  background:
    radial-gradient(900px 380px at 12% -10%,rgba(255,79,154,.42),transparent 62%),
    radial-gradient(760px 340px at 88% 0%,rgba(139,92,246,.42),transparent 60%),
    linear-gradient(160deg,#2b1246,#160b26);
  border:1px solid var(--sbl-line);
  padding:clamp(22px,4.5vw,44px);margin:0 0 1.9em;
}
.sbl-hero h1,.sbl-hero h2{margin-top:0;}
.sbl-hero h2::before{display:none;}
.sbl-hero p{color:var(--sbl-muted);max-width:64ch;font-size:1.03rem;}
.sbl-hero__stats{display:flex;flex-wrap:wrap;gap:10px;margin-top:1.2em;}
.sbl-hero__stat{
  background:rgba(255,255,255,.07);border:1px solid var(--sbl-line);
  border-radius:999px;padding:.42em .95em;font-size:.86rem;font-weight:700;color:#fff;
}
.sbl-hero__stat b{color:var(--sbl-gold);}

/* ---------- buttons ---------- */
.sbl-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  background:linear-gradient(135deg,var(--sbl-pink),#e0349b);
  color:#fff!important;font-weight:800;font-size:.95rem;letter-spacing:.01em;
  padding:.72em 1.5em;border-radius:999px;border:0;cursor:pointer;
  box-shadow:0 6px 18px rgba(255,79,154,.34);
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;
  text-align:center;text-decoration:none!important;line-height:1.25;
}
.sbl-btn:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(255,79,154,.46);filter:brightness(1.06);color:#fff!important;}
.sbl-btn--ghost{background:transparent;border:2px solid var(--sbl-pink);color:var(--sbl-pink-2)!important;box-shadow:none;}
.sbl-btn--ghost:hover{background:rgba(255,79,154,.14);color:#fff!important;}
.sbl-btn--gold{background:linear-gradient(135deg,var(--sbl-gold),#ff9d2e);box-shadow:0 6px 18px rgba(255,200,61,.3);color:#231204!important;}
.sbl-btn--sm{padding:.5em 1.05em;font-size:.85rem;}
.sbl-btn--block{display:flex;width:100%;}

/* ---------- spec table (slot facts) ---------- */
.sbl-specs{
  background:var(--sbl-card);border:1px solid var(--sbl-line);
  border-radius:var(--sbl-radius);overflow:hidden;margin:1.5em 0 1.9em;
}
.sbl-specs__head{
  display:flex;align-items:center;gap:.6em;
  padding:.85em 1.15em;background:linear-gradient(90deg,rgba(255,79,154,.24),rgba(139,92,246,.16));
  font-weight:800;color:#fff;font-size:1.02rem;border-bottom:1px solid var(--sbl-line);
}
.sbl-specs table{width:100%;border-collapse:collapse;margin:0;font-size:.95rem;}
.sbl-specs td{padding:.72em 1.15em;border-bottom:1px solid var(--sbl-line);vertical-align:top;}
.sbl-specs tr:last-child td{border-bottom:0;}
.sbl-specs td:first-child{color:var(--sbl-muted);font-weight:600;width:42%;white-space:nowrap;}
.sbl-specs td:last-child{color:#fff;font-weight:600;}
.sbl-specs tr:nth-child(odd){background:rgba(255,255,255,.024);}
.sbl-rtp-ladder{display:block;font-size:.83rem;color:var(--sbl-muted);font-weight:500;margin-top:.15em;}
.sbl-flag{
  display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;
  padding:.16em .55em;border-radius:5px;margin-left:.4em;vertical-align:middle;
}
.sbl-flag--check{background:rgba(255,200,61,.18);color:var(--sbl-gold);border:1px solid rgba(255,200,61,.35);}
.sbl-flag--new{background:rgba(126,231,135,.16);color:var(--sbl-lime);border:1px solid rgba(126,231,135,.35);}

/* ---------- casino toplist ---------- */
.sbl-casinos{margin:1.7em 0 2em;}
.sbl-casinos__title{font-weight:800;color:#fff;font-size:1.06rem;margin:0 0 .8em;}
.sbl-casino{
  display:grid;grid-template-columns:96px 1fr auto;gap:14px;align-items:center;
  background:var(--sbl-card);border:1px solid var(--sbl-line);border-radius:var(--sbl-radius);
  padding:14px 16px;margin-bottom:11px;transition:border-color .16s ease,transform .16s ease;
}
.sbl-casino:hover{border-color:rgba(255,79,154,.5);transform:translateY(-1px);}
.sbl-casino--top{border-color:rgba(255,200,61,.55);background:linear-gradient(120deg,rgba(255,200,61,.09),var(--sbl-card));}
.sbl-casino__rank{
  grid-column:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
}
.sbl-casino__num{
  width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--sbl-grape),var(--sbl-pink));color:#fff;font-weight:800;font-size:.88rem;
}
.sbl-casino--top .sbl-casino__num{background:linear-gradient(135deg,var(--sbl-gold),#ff9d2e);color:#231204;}
.sbl-casino__brand{font-weight:800;color:#fff;font-size:.92rem;text-align:center;line-height:1.2;}
.sbl-casino__body{min-width:0;}
.sbl-casino__offer{font-weight:700;color:#fff;font-size:1.02rem;margin:0 0 .2em;}
.sbl-casino__meta{color:var(--sbl-muted);font-size:.85rem;margin:0;}
.sbl-casino__meta code{
  background:rgba(255,200,61,.14);color:var(--sbl-gold);padding:.1em .45em;
  border-radius:5px;font-size:.85em;font-weight:700;letter-spacing:.04em;
}
.sbl-casino__cta{display:flex;flex-direction:column;gap:6px;align-items:stretch;min-width:150px;}
.sbl-casino__rating{
  display:flex;align-items:center;justify-content:center;gap:.3em;
  font-size:.82rem;color:var(--sbl-muted);
}
.sbl-casino__rating b{color:var(--sbl-gold);font-size:1rem;}

/* ---------- slot catalog grid ---------- */
.sbl-grid{
  display:grid;gap:16px;margin:1.6em 0 2.2em;
  grid-template-columns:repeat(auto-fill,minmax(232px,1fr));
}
.sbl-slot{
  background:var(--sbl-card);border:1px solid var(--sbl-line);border-radius:var(--sbl-radius);
  overflow:hidden;display:flex;flex-direction:column;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.sbl-slot:hover{transform:translateY(-4px);border-color:rgba(255,79,154,.55);box-shadow:0 14px 32px rgba(0,0,0,.42);}
.sbl-slot__thumb{position:relative;aspect-ratio:1200/630;background:#1a0e2b;overflow:hidden;}
.sbl-slot__thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.sbl-slot__tag{
  position:absolute;top:9px;left:9px;font-size:.68rem;font-weight:800;text-transform:uppercase;
  letter-spacing:.05em;padding:.24em .6em;border-radius:6px;
  background:rgba(20,10,34,.86);color:var(--sbl-gold);border:1px solid rgba(255,200,61,.4);backdrop-filter:blur(4px);
}
.sbl-slot__body{padding:12px 14px 14px;display:flex;flex-direction:column;flex:1;}
.sbl-slot__name{font-weight:800;color:#fff;font-size:.99rem;line-height:1.28;margin:0 0 .18em;}
.sbl-slot__name a{color:#fff;}
.sbl-slot__name a:hover{color:var(--sbl-pink-2);text-decoration:none;}
.sbl-slot__prov{color:var(--sbl-muted);font-size:.78rem;margin:0 0 .7em;}
.sbl-slot__stats{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto;}
.sbl-slot__stat{
  background:rgba(255,255,255,.06);border:1px solid var(--sbl-line);border-radius:7px;
  padding:.26em .5em;font-size:.74rem;color:var(--sbl-muted);font-weight:600;white-space:nowrap;
}
.sbl-slot__stat b{color:#fff;}
.sbl-slot__stat--win b{color:var(--sbl-gold);}
.sbl-slot__stat--rtp b{color:var(--sbl-lime);}

/* ---------- sortable catalog table ---------- */
.sbl-tablewrap{
  overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1.5em 0 2em;
  border:1px solid var(--sbl-line);border-radius:var(--sbl-radius);background:var(--sbl-card);
}
table.sbl-table{width:100%;border-collapse:collapse;margin:0;font-size:.9rem;min-width:640px;}
table.sbl-table th{
  background:linear-gradient(90deg,rgba(255,79,154,.2),rgba(139,92,246,.14));
  color:#fff;font-weight:800;text-align:left;padding:.8em .9em;white-space:nowrap;
  border-bottom:1px solid var(--sbl-line);font-size:.83rem;text-transform:uppercase;letter-spacing:.04em;
}
table.sbl-table td{padding:.72em .9em;border-bottom:1px solid var(--sbl-line);color:var(--sbl-text);}
table.sbl-table tr:last-child td{border-bottom:0;}
table.sbl-table tbody tr:nth-child(even){background:rgba(255,255,255,.025);}
table.sbl-table tbody tr:hover{background:rgba(255,79,154,.08);}
table.sbl-table td.sbl-num{font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap;}
table.sbl-table td.sbl-win{color:var(--sbl-gold);font-weight:800;}
table.sbl-table td.sbl-rtp{color:var(--sbl-lime);font-weight:700;}
.sbl-scrollhint{
  display:none;color:var(--sbl-muted);font-size:.8rem;margin:-1.2em 0 1.4em;text-align:center;
}

/* ---------- pros / cons ---------- */
.sbl-proscons{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:1.5em 0 1.9em;}
.sbl-pc{background:var(--sbl-card);border:1px solid var(--sbl-line);border-radius:var(--sbl-radius);padding:16px 18px;}
.sbl-pc--pros{border-top:3px solid var(--sbl-lime);}
.sbl-pc--cons{border-top:3px solid var(--sbl-red);}
.sbl-pc h4{margin:0 0 .6em;font-size:1rem;}
.sbl-pc--pros h4{color:var(--sbl-lime);}
.sbl-pc--cons h4{color:var(--sbl-red);}
.sbl-pc ul{margin:0;padding:0;list-style:none;}
.sbl-pc li{position:relative;padding-left:1.5em;margin-bottom:.55em;font-size:.93rem;line-height:1.55;}
.sbl-pc li:last-child{margin-bottom:0;}
.sbl-pc--pros li::before{content:"✔";position:absolute;left:0;color:var(--sbl-lime);font-weight:800;}
.sbl-pc--cons li::before{content:"✖";position:absolute;left:0;color:var(--sbl-red);font-weight:800;}

/* ---------- FAQ ---------- */
.sbl-faq{margin:1.6em 0 2em;}
.sbl-faq details{
  background:var(--sbl-card);border:1px solid var(--sbl-line);border-radius:11px;
  margin-bottom:10px;overflow:hidden;
}
.sbl-faq summary{
  cursor:pointer;list-style:none;padding:.92em 2.6em .92em 1.1em;position:relative;
  font-weight:700;color:#fff;font-size:.98rem;
}
.sbl-faq summary::-webkit-details-marker{display:none;}
.sbl-faq summary::after{
  content:"+";position:absolute;right:1.05em;top:50%;transform:translateY(-50%);
  color:var(--sbl-pink);font-size:1.35rem;font-weight:700;line-height:1;transition:transform .18s ease;
}
.sbl-faq details[open] summary::after{content:"−";}
.sbl-faq details[open] summary{background:rgba(255,79,154,.09);}
.sbl-faq__a{padding:.2em 1.1em 1.05em;color:var(--sbl-muted);font-size:.95rem;}
.sbl-faq__a p:last-child{margin-bottom:0;}

/* ---------- callouts ---------- */
.sbl-note{
  border-left:4px solid var(--sbl-grape);background:rgba(139,92,246,.11);
  border-radius:0 11px 11px 0;padding:1em 1.15em;margin:1.4em 0;font-size:.94rem;color:var(--sbl-text);
}
.sbl-note--warn{border-left-color:var(--sbl-gold);background:rgba(255,200,61,.1);}
.sbl-note strong{color:#fff;}
.sbl-note p:last-child{margin-bottom:0;}

/* ---------- compliance block ---------- */
.sbl-compliance{
  margin:2.4em 0 .6em;padding:1.15em 1.3em;border-radius:var(--sbl-radius);
  background:rgba(255,255,255,.04);border:1px solid var(--sbl-line);
  font-size:.86rem;color:var(--sbl-muted);line-height:1.6;
}
.sbl-compliance__row{display:flex;align-items:flex-start;gap:.8em;margin-bottom:.7em;}
.sbl-compliance__row:last-child{margin-bottom:0;}
.sbl-age{
  flex:0 0 auto;width:38px;height:38px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--sbl-red);color:#fff;font-weight:900;font-size:.82rem;letter-spacing:-.02em;
}
.sbl-compliance a{color:var(--sbl-pink-2);text-decoration:underline;}
.sbl-updated{
  display:inline-flex;align-items:center;gap:.45em;font-size:.82rem;color:var(--sbl-muted);
  background:rgba(255,255,255,.05);border:1px solid var(--sbl-line);
  border-radius:999px;padding:.3em .85em;margin:0 0 1.3em;
}

/* ---------- breadcrumbs ---------- */
.sbl-crumbs{font-size:.82rem;color:var(--sbl-muted);margin:0 0 1em;}
.sbl-crumbs a{color:var(--sbl-muted);}
.sbl-crumbs a:hover{color:var(--sbl-pink-2);}
.sbl-crumbs span{margin:0 .45em;opacity:.5;}

/* ---------- related slots ---------- */
.sbl-related{margin:2em 0;}
.sbl-related ul{list-style:none;margin:0;padding:0;display:grid;gap:9px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));}
.sbl-related li{margin:0;}
.sbl-related a{
  display:block;background:var(--sbl-card);border:1px solid var(--sbl-line);border-radius:11px;
  padding:.75em 1em;color:var(--sbl-text);font-weight:600;font-size:.92rem;transition:all .16s ease;
}
.sbl-related a:hover{border-color:rgba(255,79,154,.55);background:var(--sbl-card-2);color:#fff;text-decoration:none;}
.sbl-related a small{display:block;color:var(--sbl-muted);font-weight:500;font-size:.79rem;margin-top:.15em;}

/* ---------- TOC (easy-table-of-contents skin) ---------- */
#ez-toc-container{
  background:var(--sbl-card)!important;border:1px solid var(--sbl-line)!important;
  border-radius:var(--sbl-radius)!important;box-shadow:none!important;padding:1em 1.2em!important;
}
#ez-toc-container .ez-toc-title{color:#fff!important;font-weight:800!important;}
#ez-toc-container a{color:var(--sbl-pink-2)!important;}
#ez-toc-container a:hover{color:#fff!important;}

/* ---------- footer ---------- */
.site-footer,.footer-widgets,.site-info{
  background:#0f0719;color:var(--sbl-muted);border-top:1px solid var(--sbl-line);
}
.site-footer a{color:var(--sbl-pink-2);}

/* ---------- sticky mobile CTA ---------- */
.sbl-sticky{
  position:fixed;left:0;right:0;bottom:0;z-index:9990;display:none;
  padding:9px 12px calc(9px + env(safe-area-inset-bottom));
  background:rgba(20,10,34,.96);border-top:1px solid var(--sbl-line);backdrop-filter:blur(10px);
}
.sbl-sticky .sbl-btn{width:100%;font-size:.95rem;padding:.78em 1em;}
.sbl-sticky__note{display:block;text-align:center;font-size:.68rem;color:var(--sbl-muted);margin-top:.35em;}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .sbl-proscons{grid-template-columns:1fr;}
}
@media (max-width:782px){
  body{font-size:16px;}
  .sbl-casino{grid-template-columns:64px 1fr;gap:10px;padding:12px;}
  .sbl-casino__cta{grid-column:1 / -1;flex-direction:row;min-width:0;}
  .sbl-casino__cta .sbl-btn{flex:1;}
  .sbl-casino__rating{flex:0 0 auto;padding:0 .4em;}
  .sbl-casino__offer{font-size:.95rem;}
  .sbl-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:11px;}
  .sbl-slot__body{padding:10px 11px 12px;}
  .sbl-slot__name{font-size:.9rem;}
  .sbl-specs td{padding:.62em .8em;font-size:.9rem;}
  .sbl-specs td:first-child{width:46%;white-space:normal;}
  .sbl-scrollhint{display:block;}
  .sbl-sticky{display:block;}
  body.sbl-has-sticky{padding-bottom:72px;}
  .entry-content h2{margin-top:1.7em;}
}
@media (max-width:420px){
  .sbl-grid{grid-template-columns:1fr 1fr;gap:9px;}
  .sbl-slot__stats{gap:4px;}
  .sbl-slot__stat{font-size:.68rem;padding:.2em .4em;}
}

/* ---------- print / motion ---------- */
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;}
}
