/* ========== Small Devices (≥576px) ========== */
@media (max-width: 576px) {
  /* Flex */

  /* Flex */

  /* Navbar */
  .navbar-content {
    padding: 0.6rem;
  }

  /* Navbar */

  /* GALLERY PAGE */

  .gallery-tabs-wrap {
    padding-bottom: 5rem !important;
  }

  /* Force one-line tabs */
  .gallery-tabs {
    flex-wrap: nowrap !important;
    /* stop wrapping into 2 rows */
    overflow-x: auto;
    /* allow horizontal scroll */
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    /* smooth iOS scroll */
    justify-content: start !important;
    /* avoid centered overflow weirdness */
    gap: 8px !important;
    /* tighter spacing on small screens */
    padding: 6px 4px;
  }

  .gallery-tabs .nav-item {
    flex: 0 0 auto;
    /* each tab keeps its width */
  }

  /*! UNUSED */
  /* .gallery-tabs .gallery-tab-btn {
    white-space: nowrap;
    padding: 10px 12px;
  } */
  /*! UNUSED */

  /* Optional: hide scrollbar (still scrollable) */
  .gallery-tabs::-webkit-scrollbar {
    display: none;
  }

  .gallery-tabs {
    scrollbar-width: none;
    /* Firefox */
  }

  /* GALLERY PAGE */
}

/* ========== Medium Devices (≥768px) ========== */
@media (max-width: 768px) {

  :root {
    --smaller-font-size: 1.2rem;
    --small-font-size: 1.4rem;
    --normal-font-size: 1.6rem;
    --large-font-size: 1.8rem;
    --larger-font-size: 3rem;

    --heading-subtitle-font-size: 1.6rem;
    --heading-title-font-size: 3rem;
  }

  .text.heading {
    font-size: 5.2rem;
  }

  .container {
    padding-right: 2rem;
    padding-left: 2rem;
  }

  .section-padding {
    padding: 12rem 2rem 4rem;
  }

  .section-padding-bottom {
    padding: 4rem 2rem 12rem;
  }

  .bg-banner {
    aspect-ratio: 1/2;
  }

  /* WIDTH */
  .w-sm-80 {
    width: 80%;
  }

  /* WIDTH */

  /* RATIO */
  .ratio-sm-1 {
    aspect-ratio: 1 / 1;
  }

  .ratio-p-sm-2 {
    aspect-ratio: 1 / 2;
  }

  /* RATIO */

  /* NAVBAR */
  .navbar {
    background-color: white !important;
  }

  .nav-item {
    color: var(--text-color-dark) !important;
  }

  /* NAVBAR */
}

/* ========== Medium Devices (≥992px) ========== */
@media (max-width: 991px) {

  /* section {
    padding: 2rem 0;
  } */

  .mp-0 {
    padding: 0 !important;
  }

  .mpy-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .mpt-0 {
    padding-top: 0 !important;
  }

  .mmt-0 {
    margin-top: 0 !important;
  }

  .mmt-4 {
    margin-top: 1.5rem !important;
  }

  /* BG */
  .rounded-start-top {
    border-radius: 2rem 2rem 0 0 !important;
  }

  /* BG */

  /* LAYANAN PAGE */

  .services-wrap {
    padding: 12px;
    /* a bit tighter on mobile */
    border-radius: 16px;
  }

  .services-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    /* keep 2x2 */
    gap: 12px;
  }

  .service-card {
    flex-direction: column;
    /* icon on top, text below */
    align-items: stretch;
    gap: 10px;
    padding: 12px;
    min-height: 120px;
    /* gives the “card” height like screenshot */
  }

  .service-icon {
    width: 100%;
    /* wide icon panel like your screenshot */
    height: 56px;
    flex: 0 0 auto;
    border-radius: 10px;
  }

  .service-icon svg {
    width: 24px;
    height: 24px;
  }

  .service-text {
    line-height: 1.2;
    margin: 0;
  }

  .m-flex-row {
    flex-direction: row !important;
  }

  /* LAYANAN PAGE */

  /* FOOTER */

  .li-footer-main {
    .container .row {
      margin-bottom: 4rem !important;
    }
  }

  /* FOOTER */
}

/* ========== Large Devices (≥992px) ========== */
@media (min-width: 992px) {

  /* Add styles for desktops */
  /* RATIO */
  .ratio-lg-4 {
    aspect-ratio: 4 / 5;
  }

  /* RATIO */
}

@media (min-width: 1441px) {

  .container,
  .container-lg,
  .container-md,
  .container-sm,
  .container-xl,
  .container-xxl {
    max-width: 1440px;
  }
}