/* =========================================================
 HOME — Hero Minimal & Compact (v20260127-heroMinimal-c4)
 - Anti-bertumpuk: hanya .slide.is-active yang ditampilkan
 - Tombol hero diperkecil (semua slide) → via .btn--hero-sm
 - "Rata-rata Poin" sejajar dengan "Total Member" (2 kolom)
 - Override dengan !important (aman lintas CSS lain)
========================================================= */

/* === Slider visibility control === */
#heroSlider .slide{ display: none !important; }
#heroSlider .slide.is-active{ display: flex !important; }

/* Tidak ada headroom setelah header sticky */
.site-header + .hero{ margin-top: 0 !important; }

/* Hilangkan latar abu bawaan section hero */
.hero{ background: transparent !important; }

/* ===== Slide container ===== */
.hero .slide{
  min-height: clamp(220px, 42vh, 340px) !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  align-items: center !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  padding: 0 16px 6px !important;
}

/* ===== Konten hero ===== */
.hero .slide-content{
  width: 100% !important;
  max-width: 880px !important;
  text-align: center !important;
  margin: 0 0 2px !important;
  padding: 0 0 2px !important;
}

/* Judul & subjudul */
.hero .hero-title{ margin: 0 0 6px !important; line-height: 1.12 !important; }
.hero .hero-subtitle{ margin: 0 0 8px !important; opacity: .95 !important; }

/* ===== Tombol hero: kecil & rapi ===== */
.hero .hero-actions{
  display: inline-flex !important;
  gap: 8px !important;             /* jarak antar tombol */
  flex-wrap: wrap !important;      /* boleh turun baris */
  margin-bottom: 14px !important;  /* ➕ ruang dari slider-dots */
}

/* Utilitas ukuran kecil khusus tombol hero */
.hero .btn--hero-sm{
  padding: 8px 12px !important;
  min-height: 34px !important;
  font-size: 13.5px !important;
  border-width: 2px !important;
  border-radius: 999px !important;
  line-height: 1.1 !important;
}

/* ===== Slider nav buttons: kunci bulat ===== */
.hero .slider-btn{
  top: 50% !important; transform: translateY(-50%) !important;
  background: rgba(255,255,255,.92) !important;
  border: 1px solid #e6e6e9 !important;
  box-shadow: 0 4px 14px rgba(0,0,0,.10) !important;

  width: 42px !important;
  height: 42px !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 50% !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  line-height: 1 !important;
}

/* ===== Pagination dots: bulat & tidak menempel tombol ===== */
.hero .slider-dots{
  bottom: 12px !important;         /* ➕ geser dots sedikit ke bawah */
}
.hero .slider-dots .dot{
  width: 10px !important;
  height: 10px !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 50% !important;
  display: inline-block !important;
  padding: 0 !important;
  line-height: 0 !important;
}
.hero .slider-dots .dot.active{
  transform: scale(1.1) !important;
  transition: transform .15s ease !important;
}

/* (Opsional) ruang aman di bawah konten hero */
.hero .slide-content{
  padding-bottom: 10px !important;
}

/* ===== Mobile (≤576px) ===== */
@media (max-width: 576px){
  .hero .slide{
    min-height: clamp(200px, 40vh, 300px) !important;
    padding: 0 12px 4px !important;
    background-position: top center !important;
  }
  .hero .hero-actions{ margin-bottom: 12px !important; }
  .hero .slider-dots{ bottom: 10px !important; }
  .hero .slide-content{ padding-bottom: 8px !important; }

  .hero .btn--hero-sm{
    padding: 7px 11px !important;
    min-height: 32px !important;
    font-size: 13px !important;
  }
}

/* ===== Tablet kecil (≤768px) ===== */
@media (max-width: 768px){
  .hero .slider-dots{ bottom: 10px !important; }
}

/* Guard untuk viewport sangat pendek (landscape) */
@media (max-height: 520px){
  .hero .slide{ min-height: 220px !important; }
}

/* =========================================================
 "Rata-rata Poin" sejajar dengan "Total Member"
========================================================= */
#leaderboard-host .lb-stats{
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 10px !important;
  margin: 10px 0 12px !important;
}
#leaderboard-host .lb-stats .stat-card{
  background: #fff !important;
  border: 1px solid var(--lb-border, #e7e7ea) !important;
  border-radius: 14px !important;
  padding: 10px 12px !important;
  box-shadow: 0 8px 18px rgba(0,0,0,.06) !important;
}
#leaderboard-host .lb-stats .stat-title{
  margin: 0 0 4px !important;
  color: var(--muted, #6b7280) !important;
  font-weight: 700 !important;
}
#leaderboard-host .lb-stats .stat-value{
  margin: 0 0 8px !important;
  font-weight: 800 !important;
}
#leaderboard-host .lb-stats .stat-bar{
  height: 6px !important;
  border-radius: 999px !important;
  background: #f2f3f7 !important;
  overflow: hidden !important;
}
#leaderboard-host .lb-stats .stat-bar .fill{
  height: 100% !important;
  background: linear-gradient(90deg, #D21F3C, #F75353) !important;
}
@media (max-width: 360px){
  #leaderboard-host .lb-stats .stat-card{ padding: 8px 10px !important; }
  #leaderboard-host .lb-stats .stat-title{ font-size: 13px !important; }
  #leaderboard-host .lb-stats .stat-value{ font-size: 18px !important; }
}
