body {
    background-color: #F9FCFF;
}

/* BEGIN of HEADER*/
header a.nav-link {
    color: rgb(33, 37, 41);
}

h1 {
    text-align: center;
    color: #ffffff;
    position: relative;
}
@media (max-width: 992px) {
    header {
        position: sticky;
        top: 0;
        z-index: 2000;
    }
}
@media (min-width: 992px) {
    header li.nav-item:not(:last-child) {
        margin-right: 10px;
    }
}

#btn-masuk {background-image: linear-gradient(to right, #36D1DC 0%, #5B86E5  51%, #36D1DC  100%)}
#btn-masuk {
    margin-left: 5px;
    padding: 5px 20px;
    text-align: center;
    transition: 0.5s;
    background-size: 200% auto;
    color: white;            
    box-shadow: 0 0 20px #eee;
    border-radius: 10px;
    display: block;
}

#btn-masuk:hover {
    background-position: right center; /* change the direction of the change here */
    color: #fff;
    text-decoration: none;
}

#btn-daftar {
    position: relative;
    padding: 5px 20px;
    border-radius: 10px;
    background: transparent;
    color: #5B86E5;
    overflow: hidden; /* penting agar gradient tidak keluar */
    z-index: 1;
}

#btn-daftar::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    padding: 1px; /* ketebalan border */
    background: linear-gradient(to right, #56CCF2, #2F80ED, #56CCF2);
    border-radius: inherit; /* wariskan border radius */
    -webkit-mask: 
        linear-gradient(#fff 0 0) content-box, 
        linear-gradient(#fff 0 0);
    -webkit-mask-composite: destination-out;
            mask-composite: exclude;
    mask: 
        linear-gradient(#fff 0 0) content-box, 
        linear-gradient(#fff 0 0);
    mask-composite: exclude;
    z-index: -1;
}
.navbar .dropdown-toggle::after {
  content: none;
}
#navbarDropdown,
#navbarDropdown:focus,
#navbarDropdown:active,
#navbarDropdown:focus-visible,
#navbarDropdown.show {
    outline: none !important;
    box-shadow: none !important;
    border: none !important;
}
/* END of HEADER*/

/* BEGIN of JUDUL*/
#judul {
    position: relative;
    margin-bottom: 20px;
    padding: 70px 20px;
    background-image: url("https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjANrKg97A3GOXD-bYPiXQeBXDULrWZsikV7H9oOhQvUr487P5xibw3022frZCSUEITjRIN54XqPzgQyKzfg0W2jodrjqbseZmPe7VeYgyVHsx3xNdCJHpDdMGClRoOgpkUsf-_Oo3JtdnXY6tmosVpxA1WOi_Gu9hs7jKOFGR40qPqqfe1pt9JD497zxR5/s16000/3d5ab0498551b2cb378b0b8d8959d509.jpg");
    /*background-repeat: repeat;*/
    /*background-size: cover;*/
    overflow: hidden;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center; /* teks vertical center */
    align-items: center;    /* teks horizontal center */
    animation: panBackground 150s linear infinite;
}

#judul::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* kombinasi blur dan gradien gelap */
    background: linear-gradient(to bottom, rgba(0,0,0,0.9), rgba(0,0,0,0.6));
    /*backdrop-filter: blur(5px);*/
    /*-webkit-backdrop-filter: blur(5px);*/
    z-index: 0;
}

#judul * {
    position: relative;
    z-index: 1;
    text-align: center; /* supaya teks tetap di tengah */
}
#judul h1 {
    opacity: 0.9;
}
@keyframes panBackground {
    0% { background-position: center top; }
    50% { background-position: center bottom; }
    100% { background-position: center top; }
}
/* END of JUDUL*/

/* BEGIN of SIDEBAR*/

/* CSS untuk layar 0 - 991px */
@media (max-width: 991px) {
    #sidebar {
      position: fixed;
      top: 0;
      left: -350px; /* sembunyikan di kiri */
      width: 350px;
      max-width: 80%;
      height: 100%;
      background: #fff;
      box-shadow: 2px 0 6px rgba(0,0,0,0.15);
      overflow-y: auto;
      transition: left 0.3s ease;
      z-index: 9999;
    }
    
    /* Sidebar aktif */
    #sidebar.active {
      left: 0;
    }
    #sidebar .kotak {
      box-shadow: none;
    }
    /* Overlay default */
    #overlay {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(0,0,0,0.5); /* layar hitam semi-transparan */
      display: none; /* default hidden */
      z-index: 3000;
      transition: 0.3s;
    }
    
    /* Overlay muncul */
    #overlay.active {
      display: block;
      transition: 0.3s;
    }
}
.tab-menu {
    color: rgb(33, 37, 41);
}
.tab-menu:hover {
    color: rgb(33, 37, 41);
}
.tab-menu.active {
    color: rgb(33, 37, 41)!important;
    font-weight: bold;
}

.menu-list {
  margin: 0;
}

/* Item */
.menu-item {
  list-style: none;
}

/* Link */
.menu-link {
  display: flex;
  align-items: center;
  gap: .6rem;
  padding: .55rem .65rem;
  border-radius: 8px;
  color: #212529;
  text-decoration: none;
  transition: background .12s ease, color .12s ease;
}

/* Icon */
.menu-icon {
  font-size: 18px;
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #495057;
  flex-shrink: 0;
}

/* Hover / Focus */
.menu-link:hover,
.menu-link:focus {
  background: rgba(0,0,0,0.04);
  color: #0d6efd;
  outline: none;
  box-shadow: none;
}

.menu-link:hover .menu-icon {
  color: #0d6efd;
}

/* Active (page sedang dibuka) */
.menu-item.active .menu-link {
  background: rgba(13,110,253,0.1);
  color: #0d6efd;
  font-weight: 600;
}

.menu-item.active .menu-icon {
  color: #0d6efd;
}
/* END of SIDEBAR*/

/* BEGIN of KONTEN UTAMA*/
.kotak {
    box-shadow: 0 6px 20px 4px rgba(95,112,146,.08);
    background-color: #ffffff;
    padding: 20px;
    border-radius: 8px;
    margin-bottom: 20px;
}
/* END of KONTEN UTAMA*/

/* BEGIN of SOAL*/
.s-nomor {
    background-color: #353b48;
    color: #ffffff;
    font-weight: bold;
    padding: 2px 10px;
    margin-bottom: 10px;
    border-radius: 3px;
    display: inline-block;
    box-shadow: 0 6px 20px 4px rgba(95,112,146,.08);
}
.s-pilihan {
    list-style-type: lower-alpha;
}
.s-pilihan li {
    margin-bottom: 5px;
}
.btn-pembahasan {
    font-weight: 600;
    color: #fff;
    padding: 8px 20px;
    border: none;
    background-size: 300% 100%;
    border-radius: 50px;
    moz-transition: all .4s ease-in-out;
    -o-transition: all .4s ease-in-out;
    -webkit-transition: all .4s ease-in-out;
    transition: all .4s ease-in-out;
    background-image: linear-gradient(to right, #25aae1, #4481eb, #04befe, #3f86ed);
    box-shadow: 0 2px 8px 0 rgba(65, 132, 234, 0.75);
}
.btn-pembahasan:hover {
    background-position: 100% 0;
    moz-transition: all .4s ease-in-out;
    -o-transition: all .4s ease-in-out;
    -webkit-transition: all .4s ease-in-out;
    transition: all .4s ease-in-out;
}
.btn-pembahasan:hover, .btn-pembahasan:active, .btn-pembahasan:focus {
    outline: none;
}
.jawaban {
    font-weight: bold;
    display: block;
    margin-bottom: 15px;
}
.pembahasan {
    border-top: 1px solid #535c68;
    padding: 15px 0 0 0;
    margin-top: 20px;
}
.diskusi {
    display: block;
    text-decoration: none;
    margin-top: 15px;
}
.s-soal img, .pembahasan img {
    max-width: 100%;
    width: 450px;
    height: 100%;
}
/* END of SOAL*/

/* BEGIN of KATEGORI */
.tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.tag {
    background: #007bff;
    color: #fff;
    font-size: 13px;
    padding: 3px 10px;
    border-radius: 20px;
    transition: background 0.2s;
    cursor: default;
}

.tag:hover {
    background: #0056b3;
}

hr {
    border: none;
    border-top: 1px solid #ddd;
    margin: 12px 0;
}

/* END of KATEGORI */

/* BEGIN of NAVIGATION */
.i-bef, .i-af {
    font-size: 35px;
    color: #747d8c;
}
.lanjut, .sebelum {
    color: #576574;
}
.selanjutnya {
    text-align: right;
    padding-right: 10px;
}
.sebelumnya {
    text-align: left;
    padding-left: 10px;
}
.selanjutnya a, .sebelumnya a {
    text-decoration: none;
}
/* END of NAVIGATION */

/* BEGIN of PREMIUM CONTENT */
/* ================================
   KOTAK SOAL (PARENT)
================================ */
.kotak.soal-locked {
    position: relative;
    overflow: hidden;
    background: linear-gradient(180deg, #ffffff, #f9fafb);
    border-radius: 18px;
    padding: 22px;
    margin-bottom: 28px;
    box-shadow:
        0 12px 30px rgba(0,0,0,.08),
        inset 0 1px 0 rgba(255,255,255,.6);
}

/* ================================
   KONTEN TERKUNCI
================================ */
.soal-locked .konten-soal {
    pointer-events: none;
    user-select: none;
    opacity: .9;
}

/* ================================
   BADGE PREMIUM – PULSE
================================ */
.soal-locked::before {
    content: "PREMIUM";
    position: absolute;
    top: 14px;
    right: -36px;
    z-index: 20;
    background: linear-gradient(135deg, #ff9800, #ff5722);
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    padding: 6px 44px;
    transform: rotate(45deg);
    letter-spacing: .1em;
}

.premium-tag {
    display: inline-block;
    background: linear-gradient(135deg, #ffd447, #ff5722);
    color: #000;
    font-size: 12px;
    font-weight: 900;
    padding: 6px 16px;
    border-radius: 999px;
    margin-bottom: 12px;
    box-shadow: 0 6px 18px rgba(255,165,0,.6);
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0%   { box-shadow: 0 0 0 0 rgba(255,165,0,.6); }
    70%  { box-shadow: 0 0 0 14px rgba(255,165,0,0); }
    100% { box-shadow: 0 0 0 0 rgba(255,165,0,0); }
}

/* ================================
   OVERLAY PREMIUM – FULL KOTAK (100%)
================================ */
.overlay-premium {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;      /* mulai dari atas kotak */
    bottom: 0;   /* menutupi seluruh kotak */
    z-index: 10;

    background: linear-gradient(
        to top,
        rgba(12,14,24,0.98) 0%,
        rgba(12,14,24,0.96) 15%,
        rgba(12,14,24,0.92) 30%,
        rgba(12,14,24,0.85) 45%,
        rgba(12,14,24,0.7) 60%,
        rgba(12,14,24,0.5) 75%,
        rgba(12,14,24,0.1) 85%,
        rgba(12,14,24,0) 90%,
        rgba(12,14,24,0) 100%
    );

    display: flex;
    align-items: center; /* center vertikal */
    justify-content: center; /* center horizontal */
}

/* ================================
   FLYING CARD – FLOAT + ROTATE + SCALE
================================ */
.overlay-content {
    background: linear-gradient(160deg, rgba(255,200,50,0.22), rgba(255,90,0,0.08));
    backdrop-filter: blur(14px);
    padding: 28px 36px;
    border-radius: 28px;
    text-align: center;
    box-shadow:
        0 32px 70px rgba(0,0,0,.48),
        inset 0 1px 0 rgba(255,255,255,.3);

    display: flex;
    flex-direction: column;
    align-items: center;

    animation: cardFly 4.5s ease-in-out infinite;
}

@keyframes cardFly {
    0%   { transform: translateY(0) rotate(0deg) scale(1); }
    25%  { transform: translateY(-6px) rotate(-1deg) scale(1.02); }
    50%  { transform: translateY(-10px) rotate(1deg) scale(1.04); }
    75%  { transform: translateY(-6px) rotate(-1deg) scale(1.02); }
    100% { transform: translateY(0) rotate(0deg) scale(1); }
}

/* ================================
   TEKS FLYING CARD
================================ */
.overlay-content p {
    font-weight: 600;
    color: #fff;
    margin-bottom: 14px;
    text-shadow: 0 2px 12px rgba(0,0,0,.45);
    line-height: 1.4;
}

/* ================================
   BUTTON PREMIUM – SHIMMER FOMO CEPAT
================================ */
.btn-premium {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #ff9800, #ff5722);
    color: #fff;
    border-radius: 999px;
    padding: 14px 36px;
    font-weight: 900;
    letter-spacing: .05em;
    box-shadow: 0 7px 25px rgba(255,140,0,.6);
    transition: transform .25s ease, box-shadow .25s ease;
    margin-bottom: 6px; /* jarak ke small text */
}

.btn-premium:hover {
    transform: translateY(-4px) scale(1.06);
    box-shadow: 0 20px 44px rgba(255,87,34,.75);
}

.btn-premium::after {
    content: "";
    position: absolute;
    top: 0;
    left: -120%;
    width: 120%;
    height: 100%;
    background: linear-gradient(
        120deg,
        transparent 0%,
        rgba(255,255,255,.55) 50%,
        transparent 100%
    );
    animation: shimmer 1.2s infinite;
}

@keyframes shimmer {
    0%   { left: -120%; }
    60%  { left: 120%; }
    100% { left: 120%; }
}

/* ================================
   SMALL TEXT BAWAH
================================ */
.overlay-content small {
    display: block;
    margin-top: 6px;
    color: #fff;
    font-size: 12px;
    text-shadow: 0 1px 6px rgba(0,0,0,.3);
}

/* ================================
   MOBILE
================================ */
@media (max-width: 576px) {
    .overlay-content {
        width: 92%;
        padding: 26px 30px;
    }

    .overlay-content p {
        font-size: 16px;
    }
}
/* END of PREMIUM CONTENT */

/* BEGIN of FOOTER */
footer {
    background-color: #1D2230;
    color: #9EA7B0;
}
.footer-menu {
    list-style-type: none;
    padding: 0;
}
.footer-menu li:not(:last-child) {
  margin-bottom: 8px;
}
.footer-menu li a {
    text-decoration: none;
    color: #9EA7B0!important;
}
.footer-menu li a:hover {
    text-decoration: underline;
}
.store {
    background-color: #06070A;
    color: #FFFFFF;
    padding: 4px 15px 5px 15px;
    border: 1px solid #FFFFFF;
    border-radius: 5px;
    width: 160px;
    display: flex;
    align-items: center;
    text-align: left;
}

.store-logo {
    width: 28px;
    height: 28px;
    margin-right: 10px;
}

.store-text span {
    font-size: 12.8px;
    display: block;
}

.store-text span:nth-of-type(2) {
    font-size: 17px;
    margin-top: -7px;
}

#bromax-ads {
    font-weight: 600;
    text-decoration: none;
  animation: colorChange 3.5s ease-in-out infinite;
}

@keyframes colorChange {
  0% {
    color: #fbe482; /* emas */
  }
  33% {
    color: #ffffff; /* putih terang */
  }
  66% {
    color: #fbe482; /* oranye keemasan */
  }
  100% {
    color: #fbe482; /* kembali emas */
  }
}
/* END of FOOTER */

/* BEGIN of LAINNYA */
.sharethis-hidden {
    display: none;
}
/* END of LAINNYA */