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

/* Section backgrounds pointed at the dead placehold.it service: use local gym photos. */
.gm_counter_wrapper {
  background-image: linear-gradient(rgba(20, 20, 20, 0.72), rgba(20, 20, 20, 0.72)), url(mdix-photos/a13-counter-bg.jpg) !important;
  background-size: cover !important;
  background-position: center !important;
}
.gm_testimonial_wrapper {
  background-image: linear-gradient(90deg, rgba(20, 20, 20, 0.15), rgba(20, 20, 20, 0.8)), url(mdix-photos/a13-testi-bg.jpg) !important;
  background-size: cover !important;
  background-position: center !important;
}
.gm_pagetitle {
  background-image: linear-gradient(rgba(20, 20, 20, 0.65), rgba(20, 20, 20, 0.65)), url(mdix-photos/a13-slide3.jpg) !important;
  background-size: cover !important;
  background-position: center !important;
}

/* Rupiah prices are longer than the original "$50": scale the figure so it stays inside the card. */
.gm_price_box h1 {
  font-size: 40px !important;
  white-space: nowrap;
}
.gm_price_box h1 sub,
.gm_price_box h1 sup {
  font-size: 14px !important;
}
@media (max-width: 1199px) {
  .gm_price_box h1 {
    font-size: 30px !important;
  }
}
@media (max-width: 400px) {
  .gm_price_box h1 {
    font-size: 30px !important;
  }
}

/* Hero slider captions are white over a bright gym photo: add a shadow so they stay readable. */
.gm_slider_wrapper .tp-caption,
.gm_slider_wrapper .tp-caption * {
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.75), 0 1px 3px rgba(0, 0, 0, 0.9) !important;
}

/* Brand red #e83f53 fails WCAG AA for white button text (3.99:1): darken buttons to pass. */
.gm_btn,
button.gm_btn {
  background-color: #c01f38 !important;
  border-color: #c01f38 !important;
}
.gm_btn:hover,
.gm_btn:focus,
button.gm_btn:hover,
button.gm_btn:focus {
  background-color: #ffffff !important;
  color: #c01f38 !important;
  border-color: #c01f38 !important;
}

/* Mobile menu toggle must be at least 44x44 (WCAG 2.5.8 / primary control). */
.gm_menu_btn {
  width: 44px !important;
  height: 44px !important;
  line-height: 44px !important;
  padding: 0 !important;
}

/* Footer nav + contact links were only ~20px tall: give them a 24px+ touch target. */
.gm_footer_menu ul li a,
.gm_footer_address p a {
  display: inline-block;
  padding: 4px 2px;
  line-height: 20px;
}
/* Footer social icons: lift from 30px toward the 44px target. */
.gm_footer_links ul li a {
  width: 40px !important;
  height: 40px !important;
  line-height: 40px !important;
}

/* Hero Revolution Slider starts display:none and is revealed by JS, pushing the
   page down (CLS ~0.46). Reserve its height per breakpoint so nothing jumps. */
#rev_slider_1078_1_wrapper {
  min-height: 750px;
}
@media (max-width: 1024px) {
  #rev_slider_1078_1_wrapper { min-height: 619px; }
}
@media (max-width: 778px) {
  #rev_slider_1078_1_wrapper { min-height: 494px; }
}
@media (max-width: 480px) {
  #rev_slider_1078_1_wrapper { min-height: 325px; }
}

/* Body text #777 fails WCAG AA (4.48:1 on white, worse on #f7f7f7 sections): darken it,
   then re-assert white on the dark sections so their text stays readable. */
body,
p,
a {
  color: #5f5f5f;
}
.gm_slider_wrapper,
.gm_slider_wrapper p,
.gm_bnr_form,
.gm_bnr_form p,
.gm_bnr_form h3,
.gm_counter_wrapper,
.gm_counter_wrapper p,
.gm_counter_wrapper h4,
.gm_testimonial_wrapper,
.gm_testimonial_wrapper p,
.gm_pagetitle,
.gm_pagetitle p,
.gm_footer_bottom_wrapper,
.gm_footer_bottom_wrapper p {
  color: #ffffff;
}

/* Brand red as TEXT on light backgrounds is only 3.99:1 (price labels, link accents,
   meta icons): use the AA-safe darker red. */
.gm_service_info span,
.gm_heading h1 a,
.gm_blog_info ul li a:hover,
.gm_blog_info ul li a i,
.gm_comment_text a,
.gm_comment_text a:hover,
.gm_footer_address p i,
.gm_footer_address p a:hover,
.gm_footer_menu ul li a:hover,
.gm_footer_links ul li a:hover {
  color: #c01f38 !important;
}

/* Trainer name bar: white text on #e83f53 is 3.99:1. Darken the bar to pass AA. */
.gm_team_info,
.gm_team_box:hover .gm_team_info {
  background-color: #c01f38 !important;
}

/* Mobile slide-out menu and dropdown sub-menus are white text on #e83f53 (3.99:1). */
.gm_menu ul li ul.sub-menu li a {
  background-color: #c01f38 !important;
}
@media (max-width: 767px) {
  .gm_main_menu_wrapper {
    background-color: #c01f38 !important;
  }
}

/* Contact "Jam Buka" red cells and comment date accent are white/red on #e83f53 (3.99:1). */
.gm_contact_infobox dd,
.gm_contact_infobox span {
  background-color: #c01f38 !important;
}
.gm_comment_text span {
  color: #c01f38 !important;
}

/* Pagination "Berikutnya" / active page: white on #e83f53 (3.99:1). */
.gm_pagination ul li:last-child a,
.gm_pagination ul li a:hover,
.gm_pagination ul li a:focus,
.gm_pagination ul li a.active {
  background-color: #c01f38 !important;
  border-color: #c01f38 !important;
}

/* Verifikasi akhir 2026-10-13: teks putih hero ("KUAT DARI DALAM", subjudul kecil)
   di atas foto gym terang sulit dibaca → lapisan gelap tipis di belakang teks. */
#rev_slider_1078_1 .slotholder::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.42);
  pointer-events: none;
  z-index: 1;
}
