/* MDIX audit: Indonesian button label is longer than "Book A Schedule" */
.tp-btn {
  white-space: nowrap;
}
/* hero copy sits over a light photo on phones */
@media (max-width: 767px) {
  .tp-hero-content p,
  .tp-hero-content li,
  .tp-hero__title {
    text-shadow: 0 1px 8px rgba(10, 30, 120, 0.75);
  }
}

/* ===== design-qa 2026-10-13 ===== */
/* Title Case on Indonesian sentences → normal sentence case */
.tp-section__title, .tp-hero__title, .tp-features-item-title,
.tp-features-item-wrapper-2 .tp-features-item-title, .tp-pricing-title-wrapper h3,
.tp-project-title-wrapper .tp-project-title, .table-content table td.product-name,
.cart-page-total > h2, .product__badge-item, .breadcrumb__list span, .tp-btn-offcanvas,
.capitalize { text-transform: none; }

/* "Ikuti Kami:" label contrast (was #909BAE on light grey, 2.6:1) */
.tp-header-top-social span { color: #5b6577; }
.tp-footer-social span { color: #c3cbe0; }

/* hamburger 44×44 (was 34×24) */
.hamburger-btn { position: relative; width: 44px; height: 44px; transform: none; }
.hamburger-btn span:nth-child(1) { top: 11px; left: 9px; }
.hamburger-btn span:nth-child(2) { top: 21px; }
.hamburger-btn span:nth-child(3) { top: 31px; right: 10px; }
.hamburger-btn:hover span:nth-child(1) { left: 14px; }
.hamburger-btn:hover span:nth-child(3) { right: 14px; }
.tp-side-close button { min-width: 44px; min-height: 44px; }

/* touch targets ≥24px: footer lists, slider dots */
.tp-footer-widget-1 ul li a, .tp-footer-widget-3 ul li a, .tp-footer-widget-4 ul li a { display: inline-block; padding: 3px 0; }
.splide__pagination__page { width: 24px !important; height: 24px !important; padding: 7px !important; background-clip: content-box !important; }

/* decorative shapes sticking out of the viewport */
.tp-counter-shape .shape-1 { left: 0 !important; }
.tp-testimonial-shape .shape-4 { left: 0 !important; }
@media (max-width: 767px) {
  .tp-counter-shape .shape-2, .tp-blog-shape img, .tp-footer-shape .shape-2,
  .tp-hero-shape .shape-3, .tp-brands-filter, .tp-service-shape .service-2 { display: none !important; }
}

/* inline links wrapping images report a 23px line box: make the hit area the image */
.tp-header-logo a, .tp-footer-logo a, .tp-side-logo a, .tp-brands-hover a, .tp-team-2-thumb a, .tp-team-thumb a,
.tp-blog-breadcrumb-thumb a, .rc__post-thumb a, .tp-portfolio-thumb a, .tp-blog-2-thumb a, .tp-blog-thumb a,
.tp-features-item-thumb a, .tp-shop-thumb a { display: inline-block; }
.tp-hero-btn .tp-btn-2 { display: inline-flex; align-items: stretch; }
.breadcrumb__list span a { display: inline-block; padding: 4px 0; }
.rc__post-title a { display: inline-block; padding: 2px 0; }
@media (max-width: 1199px) {
  .tp-blog-shape img { display: none !important; }
}

/* contrast (AA) */
.tp-team-details-progress-bar .progress-bar span { color: #4f5361; background: #fff; padding: 0 4px; border-radius: 3px; align-self: flex-end; width: auto; }
.tagcloud a { color: #5b586f; }
.post-form-title + p, .tp-product-details-review-form > p, .tp-product-details-review-form-title + p { color: #5d6070; }

/* service-details: three thumbs on one row */
.tp-service-details-thumb-2 { gap: 20px; }
.tp-service-details-thumb-2 img { width: calc((100% - 40px) / 3); height: auto; margin-right: 0 !important; object-fit: cover; aspect-ratio: 1; }

/* more ≥24px targets (inner pages) */
.tp-project-thumb a, .product-thumbnail a { display: inline-block; }
.product__details-share a, .postbox__share a { display: inline-flex; align-items: center; justify-content: center; min-width: 32px; min-height: 32px; }
.product__details-categories a, .product-name a { display: inline-flex; align-items: center; min-height: 26px; }
.product-remove a { display: inline-flex; align-items: center; justify-content: center; min-width: 32px; min-height: 32px; }
/* back-to-top button must not cover the copyright line */
@media (max-width: 991px) { .tp-footer-copyright p { padding: 0 56px; } }
@media (max-width: 1199px) { .tp-footer-widget-contact .contact-inner a { white-space: nowrap; font-size: 22px; } }
/* <1200px the theme drops the reserved header height, so the page jumps when the bar turns fixed */
@media (max-width: 1199px) { .tp-header-area:has(> #header-sticky.tp-header-sticky) { padding-bottom: 84px; } }
