/* MDIX Gym Cakrawala — template-specific fixes */

/* The client-logo strip only holds identical cropped photos (no real logos available) — hide it. */
.client-style-one {
  display: none !important;
}

/* Sections whose decorative media bleed past the right edge: clip them so the page width stays at the viewport. */
.core-features,
.project-style-one,
.featured-slider-one {
  overflow-x: clip;
}

/* The MDIX wordmark has dark lettering, but this theme is dark: invert lightness while keeping the red hue. */
.header-logo img,
.res-log img,
.footer-logo img {
  filter: invert(1) hue-rotate(180deg);
}

/* Translated sentences should not be Title Cased by the theme. */
.footer-col p,
.footer-col h3 {
  text-transform: none;
}
.footer-col h3 {
  text-transform: uppercase;
}

/* --- Kontras AA: merek #ea2127 hanya 4.43:1 untuk teks putih. Pergelap isian merah. --- */
.theme-btn,
.blog-style-one .blog-data .blog-date {
  background-color: #cc1a20;
}
/* Teks jadwal merah berada di atas panel hitam pekat (.project-data:before) — cerahkan agar lolos AA. */
.project-data h4 {
  color: #ff5a5f;
}

/* --- CLS: slider Owl menumpuk semua slide sebelum init; sembunyikan slide selain pertama. --- */
.owl-carousel:not(.owl-loaded) > *:not(:first-child) {
  display: none !important;
}

/* Preloader meluncur ke atas (top: 0 -> -100%) saat selesai; gerakan sebesar layar ini
   tercatat sebagai CLS ≈ 1.0. Sembunyikan seketika, bukan dianimasikan. */
.preloader {
  transition: none !important;
}
.page-loaded .preloader {
  display: none !important;
}

/* Hero Owl mengubah tinggi saat init + gambar hero dimuat telat → bagian di bawahnya
   bergeser (CLS ≈ 1.0). Pesan tinggi akhir hero per lebar supaya tidak melompat. */
.featured-slider-one {
  min-height: 843px;
}
@media (max-width: 1599px) {
  .featured-slider-one { min-height: 761px; }
}
@media (max-width: 1399px) {
  .featured-slider-one { min-height: 756px; }
}
@media (max-width: 1199px) {
  .featured-slider-one { min-height: 585px; }
}
@media (max-width: 991px) {
  .featured-slider-one { min-height: 508px; }
}
@media (max-width: 767px) {
  .featured-slider-one { min-height: 369px; }
}

/* --- Target sentuh >= 24px tanpa mengubah tampilan. --- */
/* Titik pager Owl berbentuk garis 3px: beri padding transparan agar kotak klik >=24px,
   garis tetap tipis lewat background-clip: content-box. */
.owl-dots button.owl-dot {
  box-sizing: content-box;
  padding-top: 11px !important;
  padding-bottom: 11px !important;
  background-clip: content-box;
}
/* Link telepon di hero hanya 23px tinggi di HP. */
.f-slider-one-data h6 a {
  display: inline-block;
  padding: 3px 0;
}
/* Link logo footer membungkus gambar 23px — tinggikan area tekan ke >=24px. */
.footer-logo a {
  display: inline-block;
  padding: 3px 0;
}
/* Breadcrumb "Beranda" di halaman dalam hanya 20px tinggi. */
.breadcrums ul li a {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
}

/* --- Tombol tutup menu HP (#res-cross). Panel mobile-nav menutupi hamburger saat
   terbuka, jadi tombol tutup harus tampil di atas panel. --- */
a#res-cross {
  position: fixed;
  top: 14px;
  right: 14px;
  width: 44px;
  height: 44px;
  z-index: 111120;
  display: none;
  align-items: center;
  justify-content: center;
  background: #cc1a20;
  border-radius: 50%;
}
#mobile-nav.open a#res-cross {
  display: flex;
}
a#res-cross::before {
  display: none;
}
a#res-cross::after {
  content: "\2715";
  color: #fff;
  font-size: 22px;
  line-height: 1;
}

/* Verifikasi ulang akhir 2026-10-13: di HP tombol gulir-ke-atas (#scroll-percentage, kanan
   bawah) menutupi ujung teks hak cipta → beri ruang kanan pada baris hak cipta. */
@media (max-width: 767px) {
  .footer-p-3.rights .footer-col p {
    padding-right: 72px;
    padding-left: 0;
  }
}
