/* ============================================
   FORCE STICKY HEADER - FINAL FIX
   This overrides any conflicting CSS
   ============================================ */

/* Critical: Remove position from html/body that breaks sticky */
/* Only body gets overflow-x: hidden. If <html> also gets it (or gets an
   explicit overflow-y), <html> becomes its own scroll container and
   position: sticky on the header stops working entirely. */
html {
  position: static !important;
}
body {
  position: static !important;
  overflow-x: hidden !important;
}

/* Force sticky on header with high specificity.
   Two site templates coexist: the legacy obfuscated-class template
   (header.outer-e9ff, e.simple-defb. apk.heading_4bd9, aplikasi.heading_4bd9, etc.) and the
   redesigned template (header.yellow_c783, e.simple-defb. index.heading_4bd9, apk-download.heading_4bd9).
   Both selectors must stay here or one template's sticky header breaks. */
header.outer-e9ff,
header.yellow_c783 {
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 1000 !important;
  transform: translateZ(0) !important;
}

/* Ensure main wrapper allows sticky */
main {
  overflow: visible !important;
}

/* css-noise: 94a5 */
.shadow_d65b {
  padding: 0.4rem;
  font-size: 14px;
  line-height: 1.1;
}

/* css-noise: cdac */
.widget-item-u3 {
  padding: 0.3rem;
  font-size: 13px;
  line-height: 1.3;
}
