/* MDIX design-QA fixes — MDIX Hotel Reservasi (template-wide, loaded last) */

/* Brand fills with white text: #CA8E46 gives 2.8:1 with white (fails AA). Darker shade 4.65:1.
   Accent text on dark panels keeps the original colour (5.6:1). */
:root { --mdix-brand-fill: #9c6a2e; }
a.btn-main, .btn-main, input[type=submit].btn-main,
.de-room .d-label,
.page-item.active .page-link,
.d-minus, .d-plus,
a.btn-line:before,
#contact_form input[type=submit].btn-line:hover,
.applyBtn.btn-success,
.daterangepicker td.active, .daterangepicker td.active:hover,
.bg-color, span.icon.bg-color,
#back-to-top {
  background-color: var(--mdix-brand-fill) !important;
}
.page-item.active .page-link { border-color: var(--mdix-brand-fill) !important; }

/* Overlay menu buttons: 44px touch target + visible keyboard focus */
#mo-button-open {
  width: 44px;
  height: 44px;
  padding: 13px 7px 0;
  box-sizing: border-box;
  margin-top: 12px;
  right: 33px;
}
#mo-button-open div { margin-bottom: 7px; }
#mo-button-close {
  width: 44px;
  height: 44px;
  top: 21px;
  right: 33px;
}
#mo-button-close .line-1, #mo-button-close .line-2 { top: 21px; right: 7px; }
#mo-button-open:focus-visible, #mo-button-close:focus-visible,
.d-arrow-left:focus-visible, .d-arrow-right:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}
#mo-menu > li > a { display: inline-block; padding: 4px 0; }

/* Floating social links + vertical "Pesan Sekarang" (desktop only, theme hides it <=992px) */
.float-text .de_social-icons a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin-left: -12px;
}
.float-text span a { display: inline-block; padding: 10px 6px; }

/* Footer social icons: 44px targets, tidy on phones */
footer .social-icons a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
}
footer .social-icons i { width: auto; height: auto; padding: 0; font-size: 18px; }
@media (max-width: 767.98px) {
  footer .subfooter .col-md-6 { text-align: center !important; }
  footer .subfooter .social-icons { margin-top: 8px; }
}

/* Single-page lists: pagination pointed nowhere */
.pagination { display: none !important; }

/* Room cards: price button keeps "Rp" casing */
.de-room .btn-line span { text-transform: none; }

/* Room single carousel arrows (hover-revealed by the theme): also reveal on keyboard focus */
.d-arrow-left:focus-visible { left: 0; }
.d-arrow-right:focus-visible { right: 0; }

/* Booking counters: 32px targets on touch */
.d-minus, .d-plus { min-width: 32px; min-height: 32px; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }

/* Comment reply links: >= 24px */
#blog-comment .c_reply a { display: inline-block; padding: 4px 6px; }

/* Contact details: labels like "Resepsionis:" / "WhatsApp:" need more than the theme's 70px */
address span strong { width: 108px; }

/* Long article title on phones: no overflow (words are not broken) */
@media (max-width: 575.98px) {
  #subheader h1.mdix-long-title { font-size: 28px; letter-spacing: 2px; }
}

/* Touch screens keep :hover after a tap, which flattened the close "X" into a dash */
@media (hover: none) {
  #mo-button-close:hover .line-1 { transform: rotate(-45deg); }
  #mo-button-close:hover .line-2 { transform: rotate(45deg); }
  #mo-button-open:hover div:nth-child(1), #mo-button-open:hover div:nth-child(2) { margin-left: 0; }
}

/* Hero slider CTA: 44px tall touch target */
#slidecaption .btn-line { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }

/* Image links were inline (21px tall) around block images: make the whole photo the target */
.de-room .d-image > a, .de-image-hover > a.image-popup { display: block; }
/* Contact detail links: >= 24px tall */
address span a { display: inline-block; min-height: 24px; line-height: 24px; }

/* Phones: a little more air between logo and page title; calmer article quote and meta */
@media (max-width: 767.98px) {
  #subheader { padding-top: 104px !important; }
  .de-post-read blockquote { font-size: 19px; line-height: 1.5; }
  .post-meta span { display: inline-block; margin: 0 12px 8px 0; }
}

/* Hamburger lines: 1px white lines disappear over bright sky at large widths */
#mo-button-open.mo-bo-s1 div { height: 2px; box-shadow: 0 0 4px rgba(0, 0, 0, .45); }
