/* ==========================================================================
   Prediksi Bola — portal subdomain mandiri, edisi MEWAH / multi-olahraga.
   Bahasa visual: hitam pekat + emas #fed804, aksen warna per cabang olahraga.
   Semua aset (font, ikon, background) lokal — tanpa CDN.
   ========================================================================== */

@font-face{font-family:'Ubuntu';src:url('../fonts/Ubuntu-Regular.ttf') format('truetype');font-display:swap}
@font-face{font-family:'Audiowide';src:url('../fonts/Audiowide-Regular.ttf') format('truetype');font-display:swap}

:root{
  --gold:#fed804;--gold-lt:#fedd22;--gold-dk:#a58c03;--gold-soft:#2e2701;
  --bg:#08090c;--surface:#101216;--surface2:#15181e;--line:#252a33;
  --text:#f2f4f8;--muted:#8b93a3;
  --digits:'Audiowide',ui-monospace,monospace;
  --radius:16px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;padding:0}
body.bola{
  background:var(--bg);color:var(--text);
  font-family:'Ubuntu',system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.55;
  min-height:100vh;display:flex;flex-direction:column;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font-family:inherit}
.container{width:100%;max-width:1280px;margin:0 auto;padding-left:16px;padding-right:16px}

/* ---------------- Header & footer ---------------- */
.bola-top{position:relative;z-index:20;background:rgba(10,11,14,.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(254,216,4,.28)}
.bola-top .container{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:10px;padding-bottom:10px;flex-wrap:wrap}
.bola-brand{display:inline-flex;align-items:center;gap:10px;color:var(--gold);font-size:1.05rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.bola-brand i{font-size:1.25rem;filter:drop-shadow(0 0 10px rgba(254,216,4,.55))}
.bola-clock{color:#aeb6c4;font-size:.76rem;text-transform:uppercase;letter-spacing:.04em}
.bola-clock i{color:var(--gold)}
main.container{flex:1;padding-top:0;padding-bottom:40px}
.bola-footer{background:linear-gradient(180deg,#0b0c10,#050608);border-top:1px solid rgba(254,216,4,.35);padding:20px 0;color:#9aa2b1;font-size:.78rem}
.bola-footer .container{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.bola-footer p{margin:0}
.bola-footer a{color:var(--gold-lt)}

/* ---------------- Komponen dasar ---------------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:8px;padding:9px 14px;font-weight:800;font-size:.76rem;text-transform:uppercase;cursor:pointer;transition:.2s;color:#111}
.btn:hover{filter:brightness(1.1);transform:translateY(-1px)}
.btn-warning{background:linear-gradient(135deg,var(--gold-lt),var(--gold))}
.panel-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px}
.panel-box h2{margin:0 0 12px;font-size:.95rem;color:var(--gold);text-transform:uppercase}
.table-wrap{overflow-x:auto;border-radius:10px;border:1px solid var(--line)}
table.data{width:100%;border-collapse:collapse;font-size:.78rem;white-space:nowrap}
table.data th,table.data td{border-bottom:1px solid var(--line);padding:9px 10px;text-align:center}
table.data th{background:var(--gold-soft);color:var(--gold);text-transform:uppercase;font-size:.68rem;letter-spacing:.06em;border-bottom:1px solid rgba(254,216,4,.35)}
table.data tbody tr:nth-child(even) td{background:rgba(255,255,255,.018)}
table.data tbody tr:hover td{background:rgba(254,216,4,.06)}
table.data td a{color:var(--gold-lt)}
.bola-mini{color:var(--gold-lt);font-weight:700;font-family:var(--digits)}
.note{font-size:.78rem;color:var(--muted)}
.empty{padding:34px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:var(--radius);background:var(--surface)}
.pills{display:flex;flex-wrap:wrap;gap:6px}
.pills a{padding:7px 14px;background:var(--surface2);border:1px solid var(--line);border-radius:50px;font-size:.74rem;font-weight:600;cursor:pointer;transition:.18s}
.pills a:hover{border-color:var(--gold)}
.pills a.on{background:var(--gold);color:#111;border-color:var(--gold);font-weight:800}

/* ---------------- HERO ---------------- */
.hero{position:relative;overflow:hidden;isolation:isolate;padding:56px 0 40px;
  background:
    radial-gradient(900px 460px at 12% -10%,rgba(254,216,4,.16),transparent 62%),
    radial-gradient(700px 420px at 88% 8%,rgba(56,189,248,.13),transparent 60%),
    linear-gradient(160deg,#0d1016 0%,#0a0c11 45%,#05070a 100%);
  border-bottom:1px solid var(--line);
}
.hero::before{content:'';position:absolute;inset:0;z-index:-1;opacity:.28;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:54px 54px;mask-image:linear-gradient(to bottom,#000,transparent 85%)}
.hero::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.7}
.hero-orbs{position:absolute;inset:0;z-index:-1;pointer-events:none}
.hero-orbs::before,.hero-orbs::after{content:'';position:absolute;border-radius:50%;filter:blur(60px);opacity:.5;animation:float 12s ease-in-out infinite}
.hero-orbs::before{width:280px;height:280px;top:-90px;left:12%;background:radial-gradient(circle,rgba(254,216,4,.55),transparent 70%)}
.hero-orbs::after{width:320px;height:320px;bottom:-160px;right:8%;background:radial-gradient(circle,rgba(56,189,248,.35),transparent 70%);animation-delay:-5s}
@keyframes float{50%{transform:translateY(28px) scale(1.06)}}

.hero-in{position:relative;text-align:center}
.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 16px;border:1px solid rgba(254,216,4,.4);border-radius:50px;
  background:rgba(254,216,4,.07);color:var(--gold-lt);font-size:.68rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.hero-eyebrow i{animation:pulse 1.8s ease-in-out infinite}
@keyframes pulse{50%{opacity:.4;transform:scale(.85)}}
.hero h1{margin:20px 0 12px;font-size:clamp(2rem,5.2vw,3.7rem);line-height:1.12;font-weight:800;letter-spacing:-.02em}
.hero h1 span{background:linear-gradient(100deg,var(--gold-lt),#fff59a 40%,var(--gold) 75%,#ffb700);
  -webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 60px rgba(254,216,4,.25)}
.hero-lead{max-width:820px;margin:0 auto;color:#b6bfcd;font-size:.95rem;line-height:1.75}

.hero-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-width:900px;margin:30px auto 0}
.hstat{position:relative;padding:16px 10px;border:1px solid rgba(255,255,255,.09);border-radius:14px;
  background:linear-gradient(160deg,rgba(255,255,255,.055),rgba(255,255,255,.015));backdrop-filter:blur(8px)}
.hstat::before{content:'';position:absolute;top:0;left:18%;right:18%;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.hstat b{display:block;font-family:var(--digits);font-size:1.75rem;color:var(--gold-lt);line-height:1.15;text-shadow:0 0 22px rgba(254,216,4,.35)}
.hstat small{display:block;margin-top:5px;color:var(--muted);font-size:.62rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}

.hero-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:26px}
.hero-chips span{display:inline-flex;align-items:center;gap:7px;padding:6px 13px;border-radius:50px;font-size:.72rem;font-weight:700;
  color:var(--sc);border:1px solid color-mix(in srgb,var(--sc) 45%,transparent);
  background:color-mix(in srgb,var(--sc) 10%,transparent)}
.hero-chips i{font-size:.8rem}

/* ---------------- TAB CABANG ---------------- */
.sport-bar{position:sticky;top:0;z-index:15;background:rgba(9,10,13,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.sport-scroll{display:flex;gap:8px;overflow-x:auto;padding-top:12px;padding-bottom:12px;scrollbar-width:thin;scrollbar-color:#333 transparent}
.sport-scroll::-webkit-scrollbar{height:5px}
.sport-scroll::-webkit-scrollbar-thumb{background:#333;border-radius:5px}
.sport-tab{flex:none;display:inline-flex;align-items:center;gap:8px;padding:9px 15px;border:1px solid var(--line);border-radius:10px;
  background:var(--surface2);color:#c8cfdb;font-size:.78rem;font-weight:700;white-space:nowrap;cursor:pointer;transition:.2s}
.sport-tab i{color:var(--sc);font-size:.92rem}
.sport-tab em{font-style:normal;font-family:var(--digits);font-size:.66rem;padding:2px 7px;border-radius:50px;background:rgba(255,255,255,.08);color:#aab2c0}
.sport-tab:hover{border-color:color-mix(in srgb,var(--sc) 60%,transparent);transform:translateY(-1px)}
.sport-tab.on{background:color-mix(in srgb,var(--sc) 16%,#12151b);border-color:var(--sc);color:#fff;box-shadow:0 0 0 1px color-mix(in srgb,var(--sc) 35%,transparent),0 8px 24px color-mix(in srgb,var(--sc) 15%,transparent)}
.sport-tab.on em{background:var(--sc);color:#0c0c0c}

/* ---------------- FILTER BAR ---------------- */
.filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding-top:20px;padding-bottom:6px}
.search-box{display:flex;align-items:center;gap:9px;flex:1;min-width:230px;max-width:380px;padding:0 12px;height:42px;
  background:var(--surface2);border:1px solid var(--line);border-radius:10px;transition:.2s}
.search-box:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px rgba(254,216,4,.12)}
.search-box i{color:var(--muted);font-size:.85rem}
.search-box input{flex:1;min-width:0;background:transparent;border:0;outline:0;color:#fff;font-family:inherit;font-size:.84rem}
.search-box input::placeholder{color:#6f7787}
.search-box button{border:0;background:transparent;color:#6f7787;font-size:1.2rem;cursor:pointer;line-height:1}
.search-box button:hover{color:var(--gold)}
.filter-count{margin-left:auto;color:var(--muted);font-size:.74rem}
.filter-count span{color:var(--gold-lt);font-family:var(--digits);font-size:1rem;font-weight:700}

/* ---------------- SECTION HEAD ---------------- */
.sec-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:26px 0 16px}
.sec-head h2{margin:0;font-size:.92rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#fff}
.sec-head h2 i{color:var(--gold);margin-right:8px}
.sec-head span{color:var(--muted);font-size:.72rem}

/* ---------------- KARTU PERTANDINGAN ---------------- */
.match-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.mcard{position:relative;overflow:hidden;isolation:isolate;
  background:linear-gradient(165deg,rgba(255,255,255,.045),rgba(255,255,255,.012) 55%),var(--surface);
  border:1px solid var(--line);border-radius:var(--radius);padding:16px;
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
  animation:rise .45s ease both}
@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.mcard::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,transparent,var(--sc),transparent);opacity:.85}
.mcard-glow{position:absolute;z-index:-1;top:-90px;left:50%;width:280px;height:200px;transform:translateX(-50%);
  background:radial-gradient(circle,color-mix(in srgb,var(--sc) 22%,transparent),transparent 70%);opacity:.55;pointer-events:none}
.mcard:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--sc) 55%,var(--line));
  box-shadow:0 18px 45px rgba(0,0,0,.55),0 0 0 1px color-mix(in srgb,var(--sc) 18%,transparent)}
.mcard:hover .mcard-glow{opacity:.95}
.mcard--featured{grid-column:1 / -1;padding:22px;
  background:linear-gradient(120deg,rgba(254,216,4,.09),rgba(255,255,255,.02) 45%),var(--surface);
  border-color:rgba(254,216,4,.35)}

.mcard-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.mcard-ribbon{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:50px;font-size:.62rem;font-weight:800;letter-spacing:.08em;
  background:linear-gradient(135deg,var(--gold-lt),var(--gold));color:#111;box-shadow:0 0 18px rgba(254,216,4,.35)}
.mcard-sport{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;font-size:.66rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  color:var(--sc);background:color-mix(in srgb,var(--sc) 14%,transparent);border:1px solid color-mix(in srgb,var(--sc) 35%,transparent)}
.mcard-league{font-size:.76rem;font-weight:700;color:#dfe4ec}
.mcard-time{margin-left:auto;display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:.7rem}
.mcard-status{padding:4px 10px;border-radius:50px;font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.st-upcoming{background:rgba(254,216,4,.16);color:var(--gold-lt);border:1px solid rgba(254,216,4,.35)}
.st-win{background:rgba(34,197,94,.16);color:#7ee2a0;border:1px solid rgba(34,197,94,.35)}
.st-lose{background:rgba(220,53,69,.16);color:#ff9aa6;border:1px solid rgba(220,53,69,.35)}

/* ------- Crest / logo tim ------- */
.crest{display:grid;place-items:center;flex:none;width:62px;height:72px;filter:drop-shadow(0 6px 14px rgba(0,0,0,.6))}
.crest svg{width:100%;height:100%;display:block}
.crest--img{width:64px;height:64px;border-radius:12px;background:#0d0f13;border:1px solid var(--line);padding:5px}
.crest--img img{width:100%;height:100%;object-fit:contain}
.mcard--featured .crest{width:86px;height:100px}
.mcard--featured .crest--img{width:84px;height:84px}

.mcard-teams{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-bottom:16px}
.team{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;text-align:center}
.team b{font-size:.86rem;font-weight:800;line-height:1.25;overflow-wrap:anywhere}
.team small{color:#6f7787;font-size:.58rem;font-weight:800;letter-spacing:.14em}
.mcard--featured .team b{font-size:1.05rem}
.mcard-center{display:flex;flex-direction:column;align-items:center;gap:2px;padding:0 6px;min-width:96px}
.mcard-center .vs{font-family:var(--digits);font-size:.72rem;color:#6f7787;letter-spacing:.2em}
.mcard-center .score{font-family:var(--digits);font-size:1.35rem;color:var(--gold-lt);white-space:nowrap;line-height:1.2;text-shadow:0 0 24px rgba(254,216,4,.35)}
.mcard-center small{color:#6f7787;font-size:.56rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.mcard--featured .mcard-center .score{font-size:2rem}

/* ------- Kotak pasar taruhan ------- */
.market-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.market{position:relative;min-width:0;padding:10px 8px;border:1px solid var(--line);border-radius:10px;
  background:linear-gradient(160deg,rgba(255,255,255,.035),rgba(0,0,0,.25));text-align:center;transition:.2s}
.market:hover{border-color:color-mix(in srgb,var(--sc) 45%,transparent);background:color-mix(in srgb,var(--sc) 7%,#101216)}
.market small{display:block;color:#79818f;font-size:.58rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.market b{display:block;margin-top:4px;font-family:var(--digits);font-size:.92rem;color:var(--gold-lt);overflow-wrap:anywhere;line-height:1.25}
.market em{display:inline-block;margin-top:4px;padding:1px 7px;border-radius:50px;font-style:normal;font-size:.62rem;font-weight:800;
  color:#0e1013;background:color-mix(in srgb,var(--sc) 85%,#fff)}
.market span{display:block;margin-top:3px;color:#727a89;font-size:.58rem;line-height:1.3}
.mcard--featured .market-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.mcard--featured .market b{font-size:1rem}

/* ------- Footer kartu ------- */
.mcard-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.conf{display:flex;align-items:center;gap:10px}
.conf-ring{position:relative;display:grid;place-items:center;width:48px;height:48px;flex:none;border-radius:50%;
  background:conic-gradient(var(--sc) calc(var(--p) * 1%),#2a2f38 0);box-shadow:0 0 16px color-mix(in srgb,var(--sc) 25%,transparent)}
.conf-ring::before{content:'';position:absolute;inset:6px;border-radius:50%;background:#0d1015}
.conf-ring i{position:relative;font-style:normal;font-family:var(--digits);font-size:.66rem;font-weight:700;color:#fff}
.conf small{display:block;color:#6f7787;font-size:.56rem;font-weight:800;letter-spacing:.12em}
.conf b{display:block;font-size:.8rem;color:var(--sc)}
.mcard-venue{color:var(--muted);font-size:.68rem;text-align:right}
.mcard-venue i{color:var(--sc)}
.mcard-note{margin:12px 0 0;color:#a2aab8;font-size:.76rem;line-height:1.65;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mcard-cta{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:12px}
.mcard-cta a{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border-radius:8px;font-size:.7rem;font-weight:800;text-transform:uppercase;
  color:#111;background:linear-gradient(135deg,var(--gold-lt),var(--gold));transition:.2s}
.mcard-cta a:hover{filter:brightness(1.12);transform:translateY(-1px);box-shadow:0 8px 22px rgba(254,216,4,.28)}
.mcard-cta span{color:#69717f;font-size:.64rem}
.no-result{margin-top:18px}

/* ---------------- RINGKASAN TABEL ---------------- */
.summary-wrap{padding:10px 0 30px}
.summary{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}
.summary summary{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;
  padding:15px 18px;cursor:pointer;list-style:none;color:var(--gold);font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.summary summary::-webkit-details-marker{display:none}
.summary summary i{margin-right:8px}
.summary-count{color:var(--muted);font-size:.7rem;letter-spacing:0;text-transform:none}
.summary-count i{transition:transform .2s}
.summary[open] .summary-count i{transform:rotate(180deg)}
.summary .table-wrap{margin:0 16px 16px;border:1px solid var(--line)}

/* ---------------- Responsive ---------------- */
@media(max-width:1000px){
  .match-grid{grid-template-columns:1fr}
  .mcard--featured{grid-column:auto}
  .mcard--featured .market-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .hero{padding:38px 0 30px}
  .hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .filter-count{margin-left:0}
  .mcard--featured .market-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .market-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sec-head h2{font-size:.8rem}
}
@media(max-width:480px){
  .container{padding-left:12px;padding-right:12px}
  .hero h1{font-size:1.9rem}
  .hero-lead{font-size:.86rem}
  .mcard-teams{gap:6px}
  .crest{width:50px;height:58px}
  .mcard--featured .crest{width:64px;height:76px}
  .team b{font-size:.76rem}
  .mcard-center{min-width:74px}
  .mcard-center .score{font-size:1.05rem}
  .market b{font-size:.82rem}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
