.main-navbar {
  background-image: url(/assets/header-3978fe3955d8d0be54decc58641da4de85682ca9d4d214fc22ebfcd40d86cb51.png) !important;
}

.bg-pattern-brown,
.bg-main {
  background-image: url(/assets/bg-pattern-mosque-cf05ac8db0a52abd77951e337d6bf99941067fa8e614337efdd0295477c7a973.png) !important;
}

.bg-main {
  background-color: #ffffff;
  background-size: cover;
  background-repeat: no-repeat;
}

.bg-home-no-auth {
  background-color: #817565;
  background-blend-mode: multiply;
  background-image: url(/assets/bg-home-mosque-aa98ac530f66b57c7b96cd5bc99ff56d7d0a9613d78cd7d2f36a3af5fc2f0b92.jpeg) !important;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: right;
}

.announcement-detail {
  background-image: url(/assets/bg-hero-detail-c7d5bcfa28f979acdf10ac96a1e5be1ca6358a53a53ebac8aa48737645b2098d.png) !important;
}

#premium-skill {
  background-image: linear-gradient(
      360deg,
      #544838 0%,
      rgba(126, 115, 96, 0) 189.32%
    ),
    url(/assets/bg-home-premium-1052d1794ddce4e79aa97ee93a600bc2a770b027e5802908a91d907abb5e2e20.png) !important;
}

.btn-sbmt {
  background-color: #846233 !important;
  border: #846233 !important;
}

.btn-sign-in,
.btn-new-light {
  background-color: #fff7e2 !important;
  border: none;
  color: #3b2811;
  font-weight: 900;
}

.btn-sign-in:hover,
.btn-new-light:hover {
  color: #3b2811;
}

.btn-sign-up {
  background-color: transparent !important;
  border: 1px solid #fff7e2;
  font-weight: 900;
}

.btn-sign-up:hover {
  border: 1px solid #fff7e2;
}

.btn-custom-primary {
  --btn-color: #fff;
  --btn-bg: #846233;
  --btn-border-color: #846233;
  --btn-hover-color: #fff;
  --btn-hover-bg: #846233;
  --btn-hover-border-color: #846233;
  --btn-focus-shadow-rgb: 88, 72, 53;
  --btn-active-color: #fff;
  --btn-active-bg: #846233;
  --btn-active-border-color: #846233;
  --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --btn-disabled-color: #fff;
  --btn-disabled-bg: #846233;
  --btn-disabled-border-color: #846233;
}

.main-footer {
  background-image: url(/assets/footer-58ce38e255abbcfcf46cbaebd649018fd3c3f8815a5cf73f3e2c65f13ae7bf45.png) !important;
}

.card-custom {
  min-height: 320px;
}

@media (min-width: 360px) and (max-width: 430px) {
  .custom-ms-2 {
    margin-left: 5px !important;
    font-size: 11px !important;
  }
  .fs-14 {
    font-size: 11px !important;
  }
}

@media (min-height: 468px) {
  .potrait {
    height: 750px !important;
  }

  .potrait-header {
    height: 600px !important;
  }

  .card-potrait {
    height: 700px !important;
  }

  .swiper-potrait {
    margin-top: 380px;
  }
}

.card-header-assessment {
  background: #9a806c !important;
  color: #ffffff !important;
  padding: 16px;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
}

.card-body-assessment {
  padding: 16px;
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
}

.card-title-assessment {
  font-size: 22px;
  font-weight: bold;
  line-height: 28px;
}

.score {
  font-size: 24px;
}

.correct {
  border-radius: 8px;
  background-color: #ebf7ed !important;
  color: #077d55 !important;
  padding: 6px 12px;
  font-size: 14px;
}

.incorrect {
  border-radius: 8px;
  background-color: #ffd8e4 !important;
  color: #b3261e !important;
  padding: 6px 12px;
  font-size: 14px;
}

.btn-assessment {
  color: #3b2811;
  border-color: #a7a19d;
  background: #fff;
  padding-top: 22px !important;
  padding-bottom: 22px !important;
  font-size: 16px !important;
}

.btn-assessment:hover {
  color: #3b2811;
  border-color: #a7a19d;
  background: #fff;
}

.btn-assessment-disabled {
  color: rgba(71, 68, 67, 0.38);
  background-color: #4e403d1f;
  padding-top: 22px !important;
  padding-bottom: 22px !important;
  font-size: 16px !important;
}

.btn-assessment-disabled:hover {
  color: rgba(71, 68, 67, 0.38);
  background-color: #4e403d1f;
}

.btn-pre-assessment {
  color: #fff;
  background: #3b2811;
  padding-top: 22px !important;
  padding-bottom: 22px !important;
  font-size: 16px !important;
}

.btn-pre-assessment:hover {
  color: #fff;
  background: #3b2811;
}

.custom-padding-btn {
  padding-top: 22px !important;
  padding-bottom: 22px !important;
}

@media (max-width: 1152px) {
  .main-navbar .container .menus {
    gap: 20px;
  }
}

.location {
  background: #3b2811;
  opacity: 0.7;
  width: 100%;
  padding: 50px 80px;
}

.location-card {
  padding: 32px 40px 40px 40px;
  border: 1px solid #fff;
  background-image: linear-gradient(to right, #f9f4ef -150%, rgba(249, 244, 239, 0) 100%), url(/assets/mosque-d99c2a674971889033c31240ebdcae78f1a647de09fbeabbdd01dbd7bf8dbe9a.png);
  background-color: #f9f4ef;
  background-blend-mode: normal, multiply;
  border-radius: 6px;
  background-repeat: no-repeat;
  background-position: right bottom;
}

.location-date {
  text-align: right !important;
}

.time-card {
  background: #fff;
  padding: 16px;
  border-radius: 8px;
  height: 116px;
  width: 100%;
  margin: 5px;
}

.footer-select {
  background: transparent;
  color: white;
  border: 1px solid white;
  padding: 6px 35px 6px 6px;
  border-radius: 6px;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg fill='white' style='margin-top: 4px;' height='12' width='12' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'><polygon points='0,0 20,0 10,10'/></svg>");
  background-repeat: no-repeat;
  background-position: right 10px center;
  width: 50%;
}

.announcement {
  background: #3b2811;
  width: 100%;
  padding: 50px 80px;
}

.text-color-announcement {
  color: #fff7e2;
}

.announcement-card {
  position: relative;
  width: 100%;
  height: 290px;
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  background: #f7efe9; /* warna dasar kiri */
}

/* ----- KIRI (CONTENT) ----- */
.announcement-content {
  flex: 1;
  position: relative;
  display: flex;
  align-items: center; /* CENTER VERTICAL */
  padding-left: 60px;
  background: linear-gradient(
    to right,
    #f7efe9 0%,
    #f7efe9 55%,
    #f3dfd2 100%
  ); /* LENGKUNG GRADIENT */
}

.announcement-text h1 {
  margin: 0;
  font-size: 32px;
  font-weight: 800;
  color: #3a2a1f;
}

.announcement-text p {
  margin-top: 10px;
  font-size: 18px;
  color: #3a2a1f;
}

/* ----- KANAN (IMAGE) ----- */
.announcement-image {
  width: 45%;
  height: 100%;
  overflow: hidden;
}

.announcement-image img {
  width: auto;
  height: auto;
}

/* ----- CIRCLES ----- */
.circle {
  position: absolute;
  left: -25px;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 50%;
}

.circle.outer {
  width: 60px;
  height: 60px;
  background: #ffffff;
  opacity: 1;
  z-index: 3;
}

.circle.inner {
  width: 40px;
  height: 40px;
  background: #e9d9ce;
  left: -15px;
  z-index: 4;
}

/* ============================
   RESPONSIVE BREAKPOINTS
   ============================ */

/* --- Tablet (max 900px) --- */
@media (max-width: 900px) {
  .announcement-card {
    height: 240px; /* kecil sedikit */
  }

  .announcement-text h1 {
    font-size: 26px;
  }

  .announcement-text p {
    font-size: 16px;
  }

  .announcement-image {
    width: 40%;
  }

  .circle.outer {
    width: 50px;
    height: 50px;
  }
  .circle.inner {
    width: 32px;
    height: 32px;
  }
}

/* --- Mobile (max 650px) --- */
@media (max-width: 650px) {
  .announcement-card {
    flex-direction: column; /* FOTO DI ATAS */
    height: auto;
  }

  .announcement-image {
    width: 100%;
    height: 220px; /* tinggi foto mobile */
  }

  .announcement-content {
    padding: 30px 20px;
    background: linear-gradient(to bottom, #f7efe9, #f3dfd2);
    text-align: center;
  }

  .announcement-text h1 {
    font-size: 22px;
  }

  .announcement-text p {
    font-size: 15px;
  }

  /* circle diperkecil & digeser */
  .circle.outer {
    width: 40px;
    height: 40px;
    left: -18px;
    top: 140px;
  }

  .circle.inner {
    width: 26px;
    height: 26px;
    left: -10px;
    top: 140px;
  }
}

.overlay-custom {
  display: none; /* nanti diubah jadi flex lewat JS */
  position: fixed;   /* wajib fixed, jangan absolute */
  inset: 0;          /* sama kayak top:0; right:0; bottom:0; left:0 */
  background: rgba(0,0,0,0.7);
  color: white;

  /* Centering content */
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;

  z-index: 99999; /* pastikan paling atas */
}

.overlay-custom {
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s;
}

.overlay-custom.active {
  opacity: 1;
  pointer-events: all;
  display: flex;
}
