/* MDIX audit — template-specific fixes (mdix-konsultan-harmoni). */

/* ScrollSmoother pins the whole page in a fixed wrapper; full-page captures (catalogue,
   audit, "save as PDF") then show only the first screen. Let the page scroll natively. */
#smooth-wrapper {
  position: relative !important;
  height: auto !important;
  overflow: visible !important;
  inset: auto !important;
}
#smooth-content {
  transform: none !important;
}

/* SplitType wraps every letter in an inline-block, so headings broke mid-word
   ("Tran / sforming"). Inline letters keep normal word wrapping; the colour reveal still works. */
.text-reveal-anim .char {
  display: inline !important;
}

/* Section badges ("Tentang Kami") should stay on one line. */
.sec-title .sub-title {
  white-space: nowrap;
}

/* ---- Design QA 2026-10-13 ---------------------------------------------------- */

/* Hero: white title sat on the light, blurred left part of the photo → dark green wash
   behind the text side (and a solid fallback colour under the image). */
.banner-section { background-color: #0C2F25; isolation: isolate; }
.banner-section .bg-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(12, 47, 37, 0.72) 0%, rgba(12, 47, 37, 0.45) 45%, rgba(12, 47, 37, 0) 72%);
  pointer-events: none;
}
@media (max-width: 767.98px) {
  .banner-section .bg-image::after { background: rgba(12, 47, 37, 0.45); }
}
/* Dark services panel: give the box itself the colour its image layer paints. */
.service-section-h1 .outer-box { background-color: #0C2F25; }
.service-section-h1 .bottom-box .text { color: #C9D6D1; }

/* Body copy #6D827C was 4.09:1 on white (fails AA) → darker shade of the same grey-green. */
:root { --text-color: #566A64; }

/* Testimonial portrait was pinned 470px left of its column and covered "Klien / Puas" and the
   stars at 1300–1599px. Fit it into the free space left of the column, never over the text. */
@media (min-width: 1400px) {
  .testimonial-info .testi-author-image {
    left: auto;
    right: calc(100% + 24px);
    width: min(530px, calc((100vw - 1320px) / 2 + 200px));
  }
  .testimonial-info .testi-author-image img { object-fit: cover; object-position: 85% top; }
}
@media (max-width: 1399.98px) {
  .testimonial-info .testi-author-image { display: none; }
}

/* Rotating ring behind the shield (434px wide) stuck out of its card on phones and widened
   the page by ~22px. */
.feature-block-four .inner-block { overflow: hidden; }

/* Phone gutters: 12px → 16px. */
@media (max-width: 575.98px) {
  .container, .auto-container { padding-left: 16px; padding-right: 16px; }
}

/* Touch targets: menu button 24x28 → 44x44; logo link, footer links and slider dots ≥ 24px. */
.mobile-nav-toggler:not(.sidebar-nav) {
  min-width: 44px;
  min-height: 44px;
  line-height: 44px;
  text-align: center;
}
.logo a, .nav-logo a { display: inline-flex; align-items: center; min-height: 24px; }
.footer-style-one .user-links a,
.footer-style-one .footer-menu a { display: inline-flex; align-items: center; min-height: 24px; }
.swiper-pagination-bullet {
  width: 24px !important;
  height: 24px !important;
  padding: 8px;
  background-clip: content-box !important;
  box-sizing: border-box;
}

/* Phone footer: bottom links wrapped mid-phrase in three narrow columns and the fixed
   "back to top" button covered the last one. Stack them and leave room for the button. */
@media (max-width: 767.98px) {
  .footer-style-one .footer-bottom .footer-menu { display: flex; flex-wrap: wrap; gap: 4px 24px; padding-right: 64px; }
  .footer-style-one .footer-bottom .footer-menu li { margin: 0; }
  .footer-style-one .footer-bottom .footer-menu a { white-space: nowrap; }
  .footer-style-one .footer-bottom { padding-bottom: 72px; }
}

/* Title Case (text-transform: capitalize) on Indonesian sentences ("Di Setiap", "Per Klien",
   "PT Dan CV") → normal sentence case. */
.pricing-block .text,
.pricing-block .tag,
.pricing-section .nav .nav-link,
.feature-block .title,
.feature-block-two .title,
.feature-block-four .content-box .title,
.feature-block-six .content-box .title,
.about-section .experience-three .count-title,
.about-content2 .sub-title,
.cta-section .title,
.funfact-block-two .inner-block .title,
.footer-style-one .footer-info-outer .footer-info .text {
  text-transform: none;
}

/* Rupiah prices are longer than "$19.99": keep amount + "/ bulan" on one line in the cards. */
.pricing-block .price span { font-size: 36px; }
.pricing-block .price { white-space: nowrap; }
/* Features not included in a plan were #D9DCDF (1.4:1) → readable but clearly struck out. */
.pricing-block .list li.unactive { color: #8A9490; text-decoration: line-through; }

/* Blog sidebar search: placeholder was dark green on the dark green field (invisible). */
.sidebar__search-form input[type=search]::placeholder { color: rgba(255, 255, 255, 0.78); }
.sidebar__search-form input[type=search]::-webkit-input-placeholder { color: rgba(255, 255, 255, 0.78); }

/* "Konsultan Tetap per Klien" touched both edges of the small photo card. */
.about-section .experience-three .count-title { font-size: 14px; line-height: 1.3; padding: 0 10px; text-align: center; }

/* More hard-coded greys below AA (3.8–4.5:1) on inner pages → darker. */
.feature-block-five .feature-right-box .text,
.service-section .sec-title-outer .text-box .text,
.teams-section-two .sec-title-outer .text-box .text { color: #566A64; }
.blog-details__meta li a { color: #595959; }
.sidebar__post .sidebar__post-list .sidebar__post-content-meta { color: #5C5F5A !important; }
.sidebar__category-list li a,
.sidebar__comments-text-box .h5 { color: #5C5F5A; }
.pricing-block .list li.unactive { color: #67706C; }

/* Small text links (breadcrumb, contact info, post meta) and the footer checkbox ≥ 24px. */
.page-breadcrumb li a,
.contact-details__info .text a,
.blog-details__meta li a { display: inline-flex; align-items: center; min-height: 24px; }
.footer-style-one .form-check-input { width: 24px; height: 24px; }
.footer-style-one .form-check .form-check-input { width: 24px !important; height: 24px !important; min-width: 24px; }
.project-details__client { color: #59616E; }
li.count a { display: inline-flex; align-items: center; justify-content: center; min-width: 24px; min-height: 24px; }
/* Decorative chart mark under the testimonial stats was shifted 50px left, out of the page on tablets. */
@media (max-width: 1399.98px) { .testimonial-info .testi-info-logo { left: 0; } }
/* Inactive slider dots were near-invisible (#D9D9D9 at 20% opacity; dark green on dark green). */
.testimonial-section .swiper-pagination-layout1 .swiper-pagination-bullet { opacity: 1; background-color: #A9B4AF; }
.testimonial-section .swiper-pagination-layout1 .swiper-pagination-bullet-active { background-color: #0C2F25; }
.about-section .pagination-content-swiper2 .swiper-pagination-bullet { opacity: 1; background-color: #4F7A63; }
.about-section .pagination-content-swiper2 .swiper-pagination-bullet-active { background-color: var(--theme-color1); }
/* Three service cards under the hero went 2 + 1 (empty slot) at 992–1199px → keep three columns. */
@media (min-width: 992px) and (max-width: 1199.98px) {
  .feature-outer { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .feature-block .inner-block { padding: 40px 28px 36px; }
}
/* The ring behind the shield spun slowly (30s); its rotating box was measured as a distorted
   image at every width. Keep it still — purely decorative. */
.feature-block-four .shape1.animation__rotateY { animation: none; }

/* Final re-verification 2026-10-13: keep the round back-to-top button off the last footer link. */
@media (min-width: 992px) {
  .footer-bottom .footer-menu { padding-right: 56px; }
}
