/* ==========================================================================
   Bangsawan88 — style.css
   Tema: kasino premium (hitam-merah-emas) | Responsif semua perangkat
   Struktur kelas mengikuti konvensi tema WordPress (site-header, entry-content, dst.)
   ========================================================================== */

:root{
  --bg:#0c0c13;
  --bg-2:#111119;
  --panel:#16161f;
  --panel-2:#1b1b26;
  --line:rgba(255,255,255,.09);
  --line-2:rgba(255,255,255,.16);
  --red:#e0263c;
  --red-2:#b31d30;
  --red-soft:rgba(224,38,60,.14);
  --gold:#f5c243;
  --gold-2:#d99a1f;
  --gold-3:#ffe08a;
  --green:#2fbf71;
  --green-soft:rgba(47,191,113,.13);
  --blue:#4c8dff;
  --blue-soft:rgba(76,141,255,.12);
  --txt:#f4f4f8;
  --muted:#a7a7b8;
  --muted-2:#84849a;
  --white:#ffffff;
  --shadow:0 14px 40px rgba(0,0,0,.45);
  --radius:14px;
  --radius-s:10px;
  --grad-gold:linear-gradient(135deg,#ffe08a 0%,#f5c243 45%,#d99a1f 100%);
  --grad-red:linear-gradient(135deg,#f0435a 0%,#c41f34 100%);
  --font:'Plus Jakarta Sans','Segoe UI',system-ui,-apple-system,Roboto,'Helvetica Neue',Arial,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;font-family:var(--font);font-size:16px;line-height:1.65;
  color:var(--txt);background:var(--bg);
  background-image:
    radial-gradient(900px 420px at 85% -140px,rgba(224,38,60,.16),transparent 62%),
    radial-gradient(700px 380px at -10% 6%,rgba(245,194,67,.07),transparent 60%);
  background-repeat:no-repeat;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--gold);text-decoration:none}
a:hover{text-decoration:underline}
p{margin:0 0 1em}
h1,h2,h3,h4,h5{line-height:1.28;margin:0 0 .55em;font-weight:800;letter-spacing:.2px}
h1{font-size:clamp(1.7rem,4.2vw,2.6rem)}
h2{font-size:clamp(1.35rem,3vw,1.9rem)}
h3{font-size:clamp(1.1rem,2.2vw,1.3rem)}
ul,ol{padding-left:1.25em}
li{margin:.3em 0}
.container{width:min(1160px,92%);margin-inline:auto}
.section{padding:clamp(38px,6vw,66px) 0;position:relative}
.section-alt{background:var(--bg-2);border-block:1px solid var(--line)}
.center{text-align:center}
.muted{color:var(--muted)}
.small{font-size:.86rem}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---------- tombol ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-weight:800;font-size:.95rem;line-height:1;padding:14px 26px;border-radius:999px;
  border:0;cursor:pointer;text-decoration:none!important;transition:transform .15s ease,box-shadow .2s ease,filter .2s ease;white-space:nowrap}
.btn:hover{transform:translateY(-2px);text-decoration:none!important}
.btn:active{transform:translateY(0)}
.btn-gold{background:var(--grad-gold);color:#241a02;box-shadow:0 8px 24px rgba(245,194,67,.35)}
.btn-gold:hover{filter:brightness(1.06);box-shadow:0 12px 30px rgba(245,194,67,.45)}
.btn-red{background:var(--grad-red);color:#fff;box-shadow:0 8px 24px rgba(224,38,60,.35)}
.btn-red:hover{filter:brightness(1.08)}
.btn-ghost{background:transparent;color:var(--txt);border:1.5px solid var(--line-2)}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}
.btn-sm{padding:10px 18px;font-size:.85rem}

/* ---------- lencana ---------- */
.badge{display:inline-flex;align-items:center;gap:6px;font-size:.74rem;font-weight:800;
  padding:5px 12px;border-radius:999px;letter-spacing:.4px;text-transform:uppercase}
.badge-18{background:var(--red-soft);color:#ff8d9d;border:1px solid rgba(224,38,60,.45)}
.badge-gold{background:rgba(245,194,67,.12);color:var(--gold);border:1px solid rgba(245,194,67,.4)}
.badge-green{background:var(--green-soft);color:#5fe0a0;border:1px solid rgba(47,191,113,.4)}
.badge-blue{background:var(--blue-soft);color:#8ab6ff;border:1px solid rgba(76,141,255,.4)}

/* ==========================================================================
   site-header
   ========================================================================== */
.topbar{background:#000;border-bottom:1px solid var(--line);font-size:.78rem;color:var(--muted)}
.topbar .container{display:flex;justify-content:center;gap:14px;align-items:center;padding:7px 0;flex-wrap:wrap;text-align:center}
.topbar b{color:var(--gold)}

.site-header{position:sticky;top:0;z-index:900;background:rgba(12,12,19,.92);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.site-header .inner{display:flex;align-items:center;gap:18px;padding:12px 0}
.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}
.brand svg{width:40px;height:40px;flex-shrink:0}
.brand .b-name{font-size:1.28rem;font-weight:900;color:#fff;letter-spacing:.3px;line-height:1}
.brand .b-name em{font-style:normal;color:var(--gold)}
.brand .b-tag{display:block;font-size:.62rem;color:var(--muted-2);letter-spacing:2.4px;font-weight:700;margin-top:3px}

.main-nav{margin-left:auto}
.main-nav ul{list-style:none;display:flex;gap:4px;margin:0;padding:0;flex-wrap:wrap}
.main-nav a{display:block;padding:9px 13px;border-radius:9px;color:var(--muted);font-weight:700;font-size:.92rem}
.main-nav a:hover,.main-nav .current-menu-item a{color:#fff;background:rgba(255,255,255,.07);text-decoration:none}
.main-nav .current-menu-item a{color:var(--gold)}

.header-actions{display:flex;gap:10px;align-items:center;flex-shrink:0}
.nav-toggle{display:none;background:none;border:1px solid var(--line-2);border-radius:9px;
  padding:9px 11px;cursor:pointer;color:#fff}
.nav-toggle svg{display:block;width:20px;height:20px}

.header-search{display:flex;align-items:center}
.header-search form{display:flex;border:1px solid var(--line-2);border-radius:999px;overflow:hidden;background:var(--panel)}
.header-search input{background:transparent;border:0;color:#fff;padding:10px 14px;font-size:.88rem;width:190px;outline:none;font-family:inherit}
.header-search input::placeholder{color:var(--muted-2)}
.header-search button{background:var(--grad-gold);border:0;padding:0 15px;cursor:pointer;color:#241a02;display:flex;align-items:center}
.header-search button svg{width:16px;height:16px}

/* ==========================================================================
   hero
   ========================================================================== */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.hero-media{position:absolute;inset:0}
.hero-media img{width:100%;height:100%;object-fit:cover;opacity:.38;filter:saturate(1.15)}
.hero-media::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(12,12,19,.55) 0%,rgba(12,12,19,.82) 55%,var(--bg) 100%)}
.hero .container{position:relative;padding:clamp(46px,7vw,86px) 0 clamp(40px,6vw,70px)}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:34px;align-items:center}
.hero h1{margin-bottom:14px}
.hero h1 .hl{color:var(--gold)}
.hero p.lead{font-size:clamp(1rem,1.9vw,1.13rem);color:var(--muted);max-width:34em}
.hero-badges{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 22px}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:26px}

.hero-card{background:linear-gradient(160deg,rgba(27,27,38,.96),rgba(17,17,25,.96));
  border:1px solid var(--line-2);border-radius:18px;padding:22px;box-shadow:var(--shadow)}
.hero-card h3{display:flex;align-items:center;gap:9px;font-size:1.02rem;margin-bottom:14px}
.hero-card h3 .dot{width:9px;height:9px;border-radius:50%;background:var(--green);
  box-shadow:0 0 0 0 rgba(47,191,113,.5);animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(47,191,113,.55)}70%{box-shadow:0 0 0 9px rgba(47,191,113,0)}100%{box-shadow:0 0 0 0 rgba(47,191,113,0)}}
.hero-search form{display:flex;border:1px solid var(--line-2);border-radius:999px;overflow:hidden;background:var(--bg)}
.hero-search input{flex:1;min-width:0;background:transparent;border:0;color:#fff;padding:13px 18px;font-size:.95rem;outline:none;font-family:inherit}
.hero-search button{background:var(--grad-gold);border:0;padding:0 22px;font-weight:800;color:#241a02;cursor:pointer;font-family:inherit}
.tag-cloud{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.tag-cloud a{font-size:.78rem;font-weight:700;color:var(--muted);border:1px solid var(--line-2);
  padding:6px 13px;border-radius:999px;background:rgba(255,255,255,.03)}
.tag-cloud a:hover{color:var(--gold);border-color:var(--gold);text-decoration:none}
.tag-cloud a b{color:var(--red);font-weight:800}

/* ==========================================================================
   kartu umum / grid
   ========================================================================== */
.grid{display:grid;gap:18px}
.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:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
  padding:22px;transition:transform .18s ease,border-color .18s ease;overflow:hidden}
.card:hover{transform:translateY(-3px);border-color:var(--line-2)}
.card h3{font-size:1.04rem}
.card p{color:var(--muted);font-size:.92rem;margin:0}
.ico{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.ico svg{width:24px;height:24px}
.ico-red{background:var(--red-soft)} .ico-gold{background:rgba(245,194,67,.12)}
.ico-green{background:var(--green-soft)} .ico-blue{background:var(--blue-soft)}

.sec-head{max-width:760px;margin:0 auto clamp(24px,4vw,40px);text-align:center}
.sec-head p{color:var(--muted);margin:8px 0 0}
.kicker{display:inline-block;font-size:.76rem;font-weight:800;letter-spacing:2.6px;text-transform:uppercase;
  color:var(--gold);margin-bottom:10px}
.kicker::before,.kicker::after{content:"~";color:var(--red);margin:0 7px;font-weight:900}

/* langkah panduan */
.step-card{position:relative;padding-top:26px}
.step-num{position:absolute;top:-18px;left:20px;width:42px;height:42px;border-radius:12px;
  background:var(--grad-red);display:flex;align-items:center;justify-content:center;
  font-weight:900;font-size:1.15rem;color:#fff;box-shadow:0 8px 18px rgba(224,38,60,.4)}
.steps{margin-top:26px}

/* split media */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,4vw,44px);align-items:center}
.split .media{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line-2);box-shadow:var(--shadow);position:relative}
.split .media img{width:100%;height:100%;object-fit:cover;aspect-ratio:16/10}
.check-list{list-style:none;padding:0;margin:18px 0 0}
.check-list li{display:flex;gap:11px;margin:11px 0;color:var(--muted)}
.check-list li b{color:#fff}
.check-list .ck{flex-shrink:0;width:22px;height:22px;border-radius:50%;background:var(--green-soft);
  display:flex;align-items:center;justify-content:center;margin-top:2px}
.check-list .ck svg{width:12px;height:12px}

/* metode pembayaran chips */
.pay-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}
.pay-chip{font-size:.78rem;font-weight:800;padding:7px 13px;border-radius:8px;
  border:1px solid var(--line-2);color:var(--muted);background:var(--bg-2);letter-spacing:.4px}

/* testimoni */
.tst{display:flex;flex-direction:column;gap:12px}
.tst .stars{color:var(--gold);letter-spacing:2px;font-size:.9rem}
.tst .who{display:flex;align-items:center;gap:11px;margin-top:auto}
.tst .ava{width:40px;height:40px;border-radius:50%;background:var(--grad-red);display:flex;
  align-items:center;justify-content:center;font-weight:900;color:#fff;font-size:.9rem;flex-shrink:0}
.tst .who b{display:block;font-size:.9rem;color:#fff}
.tst .who span{font-size:.76rem;color:var(--muted-2)}
.tst-note{font-size:.78rem;color:var(--muted-2);text-align:center;margin-top:16px}

/* ==========================================================================
   kalkulator anggaran (fitur interaktif)
   ========================================================================== */
.calc{background:linear-gradient(160deg,var(--panel-2),var(--panel));border:1px solid var(--line-2);
  border-radius:18px;padding:clamp(20px,3.5vw,34px);max-width:860px;margin:0 auto;box-shadow:var(--shadow)}
.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0}
.calc label{display:block;font-size:.84rem;font-weight:700;color:var(--muted);margin-bottom:7px}
.calc input[type=number],.calc select{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--line-2);
  background:var(--bg-2);color:#fff;font-size:1rem;font-family:inherit;outline:none}
.calc input:focus,.calc select:focus{border-color:var(--gold)}
.calc-out{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:6px}
.calc-box{background:var(--bg-2);border:1px solid var(--line);border-radius:12px;padding:16px;text-align:center}
.calc-box .v{font-size:clamp(1.15rem,3vw,1.55rem);font-weight:900;color:var(--gold)}
.calc-box.g .v{color:var(--green)}
.calc-box.b .v{color:var(--blue)}
.calc-box .l{font-size:.74rem;color:var(--muted);margin-top:4px}
.calc-tip{margin-top:14px;font-size:.85rem;color:var(--muted);background:var(--blue-soft);
  border:1px solid rgba(76,141,255,.3);border-radius:10px;padding:12px 14px}

/* ==========================================================================
   FAQ
   ========================================================================== */
.faq-list{max-width:820px;margin:0 auto}
.faq-item{border:1px solid var(--line);border-radius:12px;margin-bottom:10px;background:var(--panel);overflow:hidden}
.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:14px;
  background:none;border:0;color:#fff;font-family:inherit;font-weight:700;font-size:.98rem;
  padding:17px 20px;cursor:pointer;text-align:left}
.faq-q:hover{color:var(--gold)}
.faq-q .chev{flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--red-soft);
  display:flex;align-items:center;justify-content:center;transition:transform .25s ease}
.faq-q .chev svg{width:13px;height:13px}
.faq-item.open .chev{transform:rotate(180deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease}
.faq-a .inner{padding:0 20px 18px;color:var(--muted);font-size:.93rem}
.faq-a a{text-decoration:underline}

/* ==========================================================================
   artikel / halaman konten
   ========================================================================== */
.page-hero{border-bottom:1px solid var(--line);background:var(--bg-2)}
.page-hero .container{padding:clamp(30px,5vw,52px) 0 clamp(20px,3vw,30px)}
.breadcrumbs{font-size:.8rem;color:var(--muted-2);margin-bottom:14px}
.breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:0}
.breadcrumbs li:not(:last-child)::after{content:"›";margin-left:6px;color:var(--muted-2)}
.breadcrumbs a{color:var(--muted)}
.breadcrumbs a:hover{color:var(--gold)}
.page-hero h1{max-width:20em}
.page-hero .desc{color:var(--muted);max-width:44em;margin-bottom:12px}
.meta-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:.8rem;color:var(--muted-2)}
.meta-row img{width:22px;height:22px;border-radius:50%}

.content-area{padding:clamp(28px,4.5vw,52px) 0}
.entry-content{max-width:800px;margin-inline:auto;font-size:1.01rem}
.entry-content h2{margin-top:1.9em;position:relative;padding-left:16px}
.entry-content h2::before{content:"";position:absolute;left:0;top:.22em;bottom:.22em;width:5px;
  border-radius:4px;background:var(--grad-red)}
.entry-content h3{margin-top:1.5em;color:var(--gold-3)}
.entry-content p,.entry-content li{color:#cfcbd8}
.entry-content strong{color:#fff}
.entry-content a{text-decoration:underline}
.entry-content figure{margin:1.6em 0}
.entry-content figure img{border-radius:var(--radius);border:1px solid var(--line-2);width:100%}
.entry-content figcaption{font-size:.8rem;color:var(--muted-2);margin-top:9px;text-align:center}
.entry-content blockquote{margin:1.6em 0;padding:18px 22px;border-left:4px solid var(--gold);
  background:var(--panel);border-radius:0 12px 12px 0;color:var(--muted)}
.entry-content table{width:100%;border-collapse:collapse;margin:1.4em 0;font-size:.9rem;display:block;overflow-x:auto}
.entry-content th{background:var(--panel-2);color:var(--gold);text-align:left}
.entry-content th,.entry-content td{padding:11px 13px;border:1px solid var(--line);vertical-align:top}
.entry-content td{color:#cfcbd8}
.table-wrap{overflow-x:auto;margin:1.4em 0;border-radius:12px;border:1px solid var(--line)}
.table-wrap table{margin:0;min-width:560px}

.callout{border-radius:12px;padding:16px 18px;margin:1.5em 0;font-size:.93rem;border:1px solid}
.callout b{display:block;margin-bottom:5px}
.co-info{background:var(--blue-soft);border-color:rgba(76,141,255,.35);color:#c9dcff}
.co-warn{background:rgba(224,38,60,.1);border-color:rgba(224,38,60,.4);color:#ffd4da}
.co-ok{background:var(--green-soft);border-color:rgba(47,191,113,.35);color:#c9f5df}
.co-gold{background:rgba(245,194,67,.1);border-color:rgba(245,194,67,.4);color:#ffe9b3}

.article-cta{margin:2.2em 0;padding:24px;border-radius:16px;text-align:center;
  background:linear-gradient(160deg,rgba(224,38,60,.16),rgba(245,194,67,.1));border:1px solid rgba(245,194,67,.35)}
.article-cta p{margin-bottom:14px;color:var(--muted)}
.article-cta .btn{margin:0 6px 10px}

/* kartu kategori di beranda */
.cat-card{position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line-2);
  min-height:210px;display:flex;align-items:flex-end;transition:transform .2s ease}
.cat-card:hover{transform:translateY(-4px)}
.cat-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.cat-card:hover img{transform:scale(1.06)}
.cat-card .ov{position:relative;width:100%;padding:18px;
  background:linear-gradient(180deg,transparent,rgba(5,5,10,.92) 65%)}
.cat-card h3{margin-bottom:4px;color:#fff}
.cat-card p{margin:0;font-size:.85rem;color:var(--muted)}
.cat-card .go{display:inline-flex;align-items:center;gap:6px;margin-top:10px;color:var(--gold);font-weight:800;font-size:.85rem}

/* daftar promo */
.promo-card{display:flex;flex-direction:column;gap:6px}
.promo-card .thumb{border-radius:10px;overflow:hidden;margin:-22px -22px 14px;border-bottom:1px solid var(--line)}
.promo-card .thumb img{width:100%;aspect-ratio:16/9;object-fit:cover}
.promo-card .tags{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:8px}
.promo-card .val{font-size:.82rem;color:var(--muted);margin-top:auto;padding-top:10px}

/* ==========================================================================
   form daftar / masuk
   ========================================================================== */
.auth-wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,4vw,46px);align-items:start;padding:clamp(30px,5vw,60px) 0}
.auth-panel{background:var(--panel);border:1px solid var(--line-2);border-radius:18px;padding:clamp(22px,3.5vw,34px);box-shadow:var(--shadow)}
.auth-panel h1{font-size:1.6rem;margin-bottom:6px}
.auth-panel .sub{color:var(--muted);font-size:.92rem;margin-bottom:22px}
.field{margin-bottom:15px}
.field label{display:block;font-size:.84rem;font-weight:700;margin-bottom:7px;color:var(--muted)}
.field input,.field select{width:100%;padding:13px 15px;border-radius:11px;border:1px solid var(--line-2);
  background:var(--bg-2);color:#fff;font-size:.98rem;font-family:inherit;outline:none;transition:border-color .15s}
.field input:focus,.field select:focus{border-color:var(--gold)}
.field .hint{font-size:.76rem;color:var(--muted-2);margin-top:5px}
.form-note{font-size:.8rem;color:var(--muted-2);margin:14px 0 0;line-height:1.6}
.wide{grid-column:1/-1}

/* ==========================================================================
   site-footer
   ========================================================================== */
.site-footer{background:#08080d;border-top:1px solid var(--line);margin-top:10px}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:30px;padding:clamp(34px,5vw,56px) 0 26px}
.site-footer h4{font-size:.92rem;color:#fff;margin-bottom:15px;letter-spacing:.4px}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li{margin:9px 0}
.site-footer a{color:var(--muted);font-size:.9rem}
.site-footer a:hover{color:var(--gold)}
.site-footer p{color:var(--muted);font-size:.88rem}
.footer-legal{border-top:1px solid var(--line);padding:20px 0 26px;font-size:.8rem;color:var(--muted-2)}
.footer-legal .container>*{margin:7px 0}
.footer-badges{display:flex;gap:9px;flex-wrap:wrap;margin:12px 0}
.f-badge{font-size:.72rem;font-weight:800;border:1px solid var(--line-2);border-radius:7px;
  padding:5px 10px;color:var(--muted);letter-spacing:.5px}
.f-badge.red{border-color:rgba(224,38,60,.5);color:#ff8d9d}
.f-badge.gold{border-color:rgba(245,194,67,.5);color:var(--gold)}
.f-badge.green{border-color:rgba(47,191,113,.5);color:#5fe0a0}

/* ==========================================================================
   FLOATING CTA — tombol bawah gaya mesin slot + koin
   ========================================================================== */
.float-cta{position:fixed;left:0;right:0;bottom:0;z-index:950;pointer-events:none;
  padding:0 12px calc(10px + env(safe-area-inset-bottom,0px))}
.float-cta .bar{pointer-events:auto;position:relative;max-width:520px;margin:0 auto;
  display:flex;gap:10px;padding:10px;border-radius:20px;
  background:linear-gradient(180deg,#2a1d06,#191207);
  border:2px solid var(--gold);
  box-shadow:0 -6px 34px rgba(245,194,67,.28),0 10px 30px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.25)}
.float-cta .reel{display:flex;align-items:center;gap:4px;flex-shrink:0;align-self:center;
  background:#0b0b10;border-radius:12px;padding:7px 8px;border:1px solid rgba(245,194,67,.5);overflow:hidden}
.float-cta .reel span{display:inline-flex;width:22px;height:22px;align-items:center;justify-content:center;
  font-size:15px;line-height:1;filter:drop-shadow(0 0 4px rgba(245,194,67,.5))}
.float-cta .reel .r1{animation:reelSpin 2.8s steps(4) infinite}
.float-cta .reel .r2{animation:reelSpin 2.8s steps(4) infinite .2s}
@keyframes reelSpin{0%,58%{transform:translateY(0)}62%,70%{transform:translateY(-22px)}74%,84%{transform:translateY(-44px)}88%,100%{transform:translateY(0)}}
.float-cta .btns{display:flex;gap:10px;flex:1;min-width:0}
.float-cta .fbtn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;
  min-height:52px;border-radius:13px;font-weight:900;font-size:.98rem;letter-spacing:.5px;
  text-decoration:none!important;border:0;cursor:pointer;position:relative;overflow:hidden;
  transition:transform .12s ease,filter .2s ease}
.float-cta .fbtn small{font-size:.6rem;font-weight:700;opacity:.85;letter-spacing:1.6px}
.float-cta .fbtn:hover{transform:translateY(-2px);text-decoration:none}
.float-cta .f-daftar{background:var(--grad-gold);color:#241a02;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 6px 16px rgba(245,194,67,.4)}
.float-cta .f-masuk{background:var(--grad-red);color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 6px 16px rgba(224,38,60,.4)}
/* kilau berjalan pada tombol */
.float-cta .fbtn::after{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,.5),transparent);
  transform:skewX(-20deg);animation:shine 3.2s ease-in-out infinite}
.float-cta .f-masuk::after{animation-delay:1.4s}
@keyframes shine{0%{left:-70%}55%,100%{left:130%}}
/* koin emas melayang */
.coin{position:absolute;width:20px;height:20px;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle at 32% 30%,#ffe9a8 0%,#f5c243 45%,#b97e12 100%);
  box-shadow:0 0 8px rgba(245,194,67,.75),inset 0 0 0 2px rgba(255,255,255,.28);
  animation:coinUp linear infinite}
.coin::before{content:"Rp";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:9px;font-weight:900;color:#7a5406}
@keyframes coinUp{
  0%{transform:translateY(6px) scale(.5) rotate(0deg);opacity:0}
  12%{opacity:1}
  85%{opacity:.9}
  100%{transform:translateY(-118px) scale(1.05) rotate(340deg);opacity:0}}
@media (prefers-reduced-motion:reduce){
  .coin,.float-cta .fbtn::after,.float-cta .reel .r1,.float-cta .reel .r2{animation:none}
  .btn,.card,.cat-card{transition:none}
}

/* ==========================================================================
   halaman pencarian
   ========================================================================== */
.search-big{max-width:640px;margin:0 auto 26px}
.search-big form{display:flex;border:1px solid var(--line-2);border-radius:999px;overflow:hidden;background:var(--panel)}
.search-big input{flex:1;min-width:0;background:transparent;border:0;color:#fff;padding:15px 20px;font-size:1rem;outline:none;font-family:inherit}
.search-big button{background:var(--grad-gold);border:0;padding:0 26px;font-weight:800;color:#241a02;cursor:pointer;font-family:inherit}
.s-result{display:flex;gap:16px;align-items:flex-start;padding:18px;border:1px solid var(--line);
  border-radius:12px;background:var(--panel);margin-bottom:12px}
.s-result img{width:92px;height:66px;object-fit:cover;border-radius:8px;flex-shrink:0}
.s-result b{color:#fff}
.s-result .u{display:block;font-size:.76rem;color:var(--green);margin:3px 0 5px;word-break:break-all}
.s-result p{margin:0;font-size:.88rem;color:var(--muted)}
.s-empty{text-align:center;color:var(--muted);padding:40px 0}

/* util animasi reveal */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease}
.reveal.on{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}

/* ==========================================================================
   responsif
   ========================================================================== */
@media (max-width:1080px){
  .g-4{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
  .header-search input{width:130px}
}
@media (max-width:920px){
  .hero-grid{grid-template-columns:1fr}
  .g-3{grid-template-columns:repeat(2,1fr)}
  .split{grid-template-columns:1fr}
  .split .media{order:-1}
  .auth-wrap{grid-template-columns:1fr}
  .main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#101018;
    border-bottom:1px solid var(--line-2);box-shadow:var(--shadow);padding:10px 4vw 16px}
  .main-nav.open{display:block}
  .main-nav ul{flex-direction:column;gap:2px}
  .main-nav a{padding:12px 14px;font-size:1rem}
  .nav-toggle{display:block}
  .site-header .inner{position:static}
}
.main-nav .nav-auth{display:none}
@media (max-width:920px){
  .main-nav .nav-auth{display:list-item}
  .main-nav .nav-auth a{color:var(--gold);font-weight:800}
}
@media (max-width:640px){
  .site-header .inner{gap:10px;padding:10px 0}
  .brand svg{width:34px;height:34px}
  .brand .b-name{font-size:1.08rem}
  .header-actions{gap:8px}
  .header-actions .btn-ghost{display:none}
  .header-actions .btn-gold{padding:10px 14px;font-size:.82rem}
  .nav-toggle{padding:8px 9px}
  .g-2,.g-3,.g-4{grid-template-columns:1fr}
  .calc-grid{grid-template-columns:1fr}
  .calc-out{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr;gap:8px}
  .header-search{display:none}
  .hero .container{padding-top:34px}
  .hero-cta .btn{flex:1;min-width:150px}
  .float-cta .reel{display:none}
  .float-cta .fbtn{min-height:50px;font-size:.92rem}
  .entry-content{font-size:.97rem}
  .s-result{flex-direction:column;gap:10px}
  .s-result img{width:100%;height:150px}
  .entry-content table{font-size:.84rem}
  h1{word-break:break-word}
}
@media (max-width:380px){
  .container{width:94%}
  .float-cta .fbtn small{display:none}
  .float-cta .fbtn{font-size:.88rem}
}
