/* MDIX Korporat Adaptif — template-specific fixes */

/* Rupiah prices are longer than "$450": keep them inside the price circle. */
.price-box span.amount {
  font-size: 15px;
  letter-spacing: -0.2px;
  white-space: nowrap;
}

/* Header CTA stays on one line. */
.appoitment-button a {
  white-space: nowrap;
}

/* ---------- AA contrast (DECISIONS D-20) ----------
   Theme cyan #0cb1f6 with white text = 2.43:1. Buttons and text on light
   backgrounds use the darker shade #0274b3 (5.06:1); cyan stays where it sits
   on the navy #072948 (counters, footer icons: 6.08:1). */
body { color: #5e5e5e; }
.faq-sec .panel-content,
.widget-archive li a,
.sidebar ul li,
.contact-info-icon i,
.contact-info-text span,
.contact-field input, .contact-field textarea, .contact-field select,
.comment-author-designation,
.post-meta li span,
.client-comment h3,
.blog-sec a.blog-btn,
.pagination.custom-pagination li a,
.single_r_dec li { color: #5e5e5e; }
.faq-style1-sec .panel-content { color: #c9d3dd; }
::placeholder { color: #6b6b6b; opacity: 1; }

#scrollUp,
.language.dropdown-menu,
.soical-profile li:last-child a i,
.soical-profile li a i:hover,
.search-forum > form,
.appoitment-button a, .appoitment-button a:hover,
.slider-text li a, .slider-text li a:hover,
.all-slide .owl-controls .owl-next i:hover, .all-slide .owl-controls .owl-prev i:hover,
.pagination.custom-pagination li.active a, .pagination.custom-pagination li a:hover,
.single-post:hover a.blog-btn,
.about-desc a,
.service-tab li.active a,
.price::before,
.sngl-price:hover .price-heading,
.btn.price_btn::before,
.simplefilter li:hover, .simplefilter li.active, .simplefilter li.active:hover,
.gallery-sec .simplefilter li.active,
.brochures li, .brochures li:hover,
.about-us-contact-title h1,
.about-us-contact .contact-field input[type="submit"],
.post-date h2,
.single-post .single-input-fieldsbtn input[type="submit"],
.search-field button,
.widget-archive li:hover,
.widget-tag li a:hover,
.team-overlay, .team-member:hover .team-overlay,
.contact-field.contact-form input[type="submit"],
.single-input-fieldsbtn input[type="submit"], .single-input-fieldsbtn input[type="submit"]:hover,
.call-to-action-text a.btn,
.error-page-content > a,
.footer-wedget-one button,
.footer-social ul li:first-child i, .footer-social ul li i:hover,
.footer-wedget-two li a:hover,
.client-comment li a:hover {
  background-color: #0274b3;
  border-color: #0274b3;
}
.service-tab li.active a::before { border-top-color: #0274b3; }
.btn.price_btn { border-color: #0274b3; }
.client-comment::after { border-left-color: #0274b3; }
.slider-text li a:hover { background-color: #025d8f; border-color: #025d8f; }
.appoitment-button a:hover, .about-desc a:hover, .call-to-action-text a.btn:hover { background-color: #025d8f; color: #fff; }

.slider-text li:last-child a,
.about-desc h1 span,
.about-desc span.about-subtitle,
.company-mission a,
a.blog-readmore, .single-post:hover a.blog-readmore,
.replay-button a, .replay-button a:hover,
.faq-id span,
.main-menu ul li a:hover, .main-menu ul ul li a:hover,
.service-item .inner:hover h2 a, .service2-inner:hover h2 a,
.why-choose-inner:hover .why-choose-text h2 a,
.error-page-content ul li::before,
.single_r_dec li a i, .single_r_dec a:hover,
.sidebar ul li a:hover,
.post-share-link li a:hover,
.client-comment li a,
.faq-sec .panel-title > a:hover {
  color: #0274b3;
}
.slider-text li:last-child a:hover { color: #fff; }
.client-comment li a { border-color: #0274b3; }
/* Blog sidebar keyword tags were #ccc-ish on white. */
.widget-tag li a { color: #5e5e5e !important; }
.widget-tag li a:hover { color: #fff !important; }

/* Testimonial job title fell back to a serif font ("open sans" is not loaded). */
.client-comment h3 { font-family: 'Poppins', sans-serif; font-size: 15px; }

/* "Mengapa" card icons were squashed to 80×50 on phones by `.why-choose-thumb img {width:100%}`. */
.why-choose-thumb .why-choose-icon img { width: 50px !important; height: 50px; object-fit: contain; }

/* Stray 1×10px white line under "Konsultasi Gratis". */
.contact-title-border { display: none; }

/* Touch targets ≥ 24px in the top bar, FAQ and footer. */
.soical-profile li a { display: inline-block; min-width: 30px; min-height: 30px; line-height: 30px; text-align: center; }
.header-right .dropdown-toggle { display: inline-block; padding: 6px 4px; }
.faq-style1-sec .panel-title > a, .faq-sec .panel-title > a { display: block; padding-top: 4px; padding-bottom: 4px; }

/* ---------- Header ---------- */
/* 992–1199: six menu items + search + CTA did not fit ("Kontak" wrapped). */
@media (min-width: 992px) and (max-width: 1199px) {
  .main-menu ul li a { padding-left: 8px; padding-right: 8px; font-size: 13px; }
  .main-menu { margin-right: 20px; }
  .logo img { max-width: 100%; height: auto; }
}
/* ≤991: hamburger (meanmenu, see js/custom.js) sits at the right of the logo row. */
@media (max-width: 991px) {
  .header-left { padding-top: 12px; }
  .hd-sec { padding-top: 0; }
  .hd-sec > .container { position: relative; }
  .hd-sec .logo { text-align: left; padding: 16px 0; }
  .hd-sec .logo img { max-height: 60px; width: auto; }
  .hd-sec .mean-container .mean-bar,
  .hd-sec .mean-bar {
    position: absolute; top: 0; bottom: 0; left: 0; right: 0; width: auto;
    background: transparent; padding: 0; min-height: 0; float: none;
  }
  .hd-sec .mean-container a.meanmenu-reveal,
  .hd-sec a.meanmenu-reveal {
    top: 50%; margin-top: -23px; right: 15px; width: 24px; height: 24px; padding: 11px 10px;
    background: #072948; border-radius: 2px; color: #fff;
  }
  .hd-sec a.meanmenu-reveal span { background: #fff; }
  .hd-sec .mean-nav {
    position: absolute; top: 100%; left: 0; right: 0; margin-top: 0;
    background: #072948; max-height: calc(100vh - 100px); overflow-y: auto;
    box-shadow: 0 12px 24px rgba(7, 41, 72, .25);
  }
  .hd-sec .mean-nav ul li a { font-size: 14px; }
  .hd-sec .mean-nav ul li a.mean-expand { height: 26px; padding: 11px 12px !important; }
  .appoitment-button { display: none; }
  .hd-sec .menu-icon { display: none; }
}

/* ---------- Hero ---------- */
@media (max-width: 991px) {
  .all-slide .owl-controls .owl-nav { display: none; }
  .slider-caption p { padding-left: 16px; padding-right: 16px; }
}

/* ---------- "Mengapa memilih kami" cards at 768–991: no hole in the 2-col grid ---------- */
@media (min-width: 768px) and (max-width: 991px) {
  .why-choose-us-sec .row + .row { display: flex; flex-wrap: wrap; justify-content: center; }
  .why-choose-us-sec .row + .row::before, .why-choose-us-sec .row + .row::after { display: none; }
  .why-choose-us-sec .row + .row > [class*="col-"] { float: none; display: flex; }
  .why-choose-us-sec .why-choose-inner { width: 100%; }
}

/* Hero: white text over a light grey sky needs a stronger overlay; paragraph kept clear of the arrows. */
.slider-overlay { background-color: rgba(7, 41, 72, 0.42); }
.slider-caption p { max-width: 720px; margin-left: auto; margin-right: auto; }


/* Title Case (text-transform: capitalize) on Indonesian sentences → sentence case as written. */
.slider-caption span.subtitle,
.slider-text h1,
.blog-sec a.blog-btn,
.about-desc span.about-subtitle,
.about-desc a,
.company-ceo-info span,
.company-mission h2 a,
.company-mission a,
.service-tab li a,
.service-item .inner h2,
.sngl-price h1,
.simplefilter li,
.gallery-button h2 a,
.details-text h2 a,
.project-details-info h2,
.details-text h2,
.related-project h2,
.project-details-info ul li,
.service-details h2 a,
.service-details-text h2,
.contact-field.service-details h2,
.brochures h2,
.counting_sl h4,
.faq-sec .panel-title,
h1.faq-style1-title,
.post-meta li,
.post-meta li a,
.single-post-text a,
a.blog-readmore,
.single-post-text li a,
.comment-author,
.single-post .contact-field h2,
.commentar-sec h2,
.replay-button a,
.post-share-link span,
.sidebar h1,
.sidebar ul li a,
.single_r_dec li a,
.client-comment h2,
.client-comment h3,
.breadcrumb-list li a,
.team-member h3,
.contact-page-sec .contact-field h2,
.contact-info-text h2,
.contact-field select,
.single-input-field h4,
.call-to-action-text h2,
.error-page-content h2,
.footer-wedget-one input[type="email"],
.footer-recent-inner h2 a,
.footer-recent-inner span,
.footer-wedget-two li a,
.footer-widget-menu li a,
.why-choose-text h2 a {
  text-transform: none;
}

/* Round 2 */
/* Dark sections painted only by pseudo-elements: give the boxes the same solid colour
   (no visual change; keeps text readable if the pseudo layer fails and lets the checker see it). */
.faq-free-consult-sec { background-color: #072948; }
.team-member { background-color: #072948; }
.team-member:hover.team-member::before { background: #0274b3; }
.about-us-sec.bg-gray .about-desc span.about-subtitle,
.about-desc span.about-subtitle { color: #025d8f; }
.pricing-sec .sec-title p { color: #c9d3dd; }
.navbarsort, .shorttitle { background-color: #0274b3; }

/* Linked images were measured as 20px-high inline boxes. */
.logo a, .why-choose-thumb > a, .footer-wedget-one > a { display: inline-block; }
.why-choose-thumb > a { display: block; }
.footer-recent-inner h2 a { display: inline-block; min-height: 24px; padding: 2px 0; }
.breadcrumb-list li a, .post-meta li a, .single_r_dec li a, .replay-button a,
.post-share-link li a, .relative-post-thumb a {
  display: inline-block; min-height: 24px; line-height: 24px;
}
.post-share-link li a { min-width: 24px; text-align: center; }
.relative-post-thumb a { line-height: 0; }
.brochures li a { display: block; }
.brochures li::before { display: none !important; }

/* Counter label "Paket Pemeliharaan" split mid-word in a 150px column at 360px. */
@media (max-width: 420px) {
  .counting_sl h4 { font-size: 16px; line-height: 1.3; }
}
.navbarsort .navbar-toggle { background: #072948; }
/* Submit buttons had a fixed 150px width: longer Indonesian labels touched the edges. */
.single-input-fieldsbtn input[type="submit"] { width: auto; min-width: 150px; padding-left: 24px; padding-right: 24px; }
/* Pricing heading sits on a 95% navy overlay of a photo: make the band solid navy so the
   white title has a defined background (visually unchanged). */
.pricing-sec-image::before { background-color: #072948; }
.pricing-sec .sec-title { background-color: #072948; }
.company-mission > a, .single_r_dec h3 a, .contact-info-text span a { display: inline-block; min-height: 24px; line-height: 24px; }
/* The fixed "back to top" button covered the last footer social icon at the page end. */
@media (max-width: 991px) {
  .footer-bottom-sec { padding-bottom: 72px; }
}
/* Testimonial photo was squeezed to ~36px by the flex row. */
.single-testimonial .client-thumb { flex: 0 0 80px; width: 80px; height: 80px; margin-right: 24px; }
.single-testimonial .client-thumb img { width: 80px; height: 80px; object-fit: cover; }
@media (max-width: 480px) {
  .single-testimonial .client-thumb { flex-basis: 56px; width: 56px; height: 56px; margin-right: 14px; }
  .single-testimonial .client-thumb img { width: 56px; height: 56px; }
}
/* Sticky header was semi-transparent: page headings showed through it. */
.hd-sec.sticky_menu { background-color: #fff; box-shadow: 0 2px 10px rgba(7, 41, 72, .12); }
/* When the header turns fixed on scroll (custom.js "sticky_menu") it left the flow and the
   page jumped up ~107px (CLS ≈ 0.2 on desktop). Keep the header's place reserved. */
@media (min-width: 992px) { header { min-height: 177px; } }
@media (min-width: 768px) and (max-width: 991px) { header { min-height: 184px; } }
/* service-details: a nested .row directly inside a .row pushed the form 15px past the screen edge on phones. */
.service-details-sec .row > .row, .tab-pane > .row > .row { margin-left: 0; margin-right: 0; }
.border-shape { max-width: 100%; }
/* Phones: the footer call-to-action box (absolute, 3-line title) covered the footer logo.
   Keep it in the flow, still overlapping the navy edge as in the desktop design. */
@media (max-width: 767px) {
  .footer-sec { padding-top: 0; }
  .footer-call-to-action { position: relative; top: -90px; margin-bottom: -50px; }
}
