/* Shared layout improvements; page-specific rules remain scoped below. */
.site-layout main { min-width: 0; }
.site-layout main img { max-width: 100%; }
.site-layout main :is(.row > *, .d-flex > *, .catalog-grid > *) { min-width: 0; }
.site-layout :is(h1, h2, h3, h4, h5, h6, .footer-contact-item, .ceo-profile, .blog-detail-content) { overflow-wrap: anywhere; }
.site-layout .page-hero .container > .d-flex { gap: 24px; flex-wrap: wrap; }
.site-layout .page-hero h1 { font-size: clamp(1.65rem, 3vw, 2.5rem); line-height: 1.2; }
.site-layout .page-hero p { max-width: 65ch; margin-bottom: 0; }
.site-layout .diagnostics-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; max-width: 100%; }
.site-layout .blog-detail-content :is(img, iframe, video) { max-width: 100%; }
.site-layout .blog-detail-content table { display: block; max-width: 100%; overflow-x: auto; }
.site-layout .blog-detail-content pre { max-width: 100%; overflow-x: auto; }
.site-layout :is(.search-input-wrap, .hero-search-box, .ttb-search) { min-width: 0; }
.site-layout .hero-search-input { min-width: 0; width: 100%; }
.site-layout .hero-search-box > button { flex-shrink: 0; }
.site-layout :is(button, a, input, select, textarea):focus-visible { outline: 3px solid var(--primary); outline-offset: 3px; }
.site-layout .about-hero-image { padding-inline: clamp(0px, 3vw, 30px); }
.site-layout .leadership-section .ceo-image-panel { padding: 0; min-height: 0; margin: 0; }
.site-layout .leadership-section .ceo-image-wrap { height: 100%; min-height: 420px; }
.site-layout .leadership-section .ceo-main-image { height: 100%; min-height: 420px; object-position: center top; }
.site-layout .leadership-section .ceo-image-caption { left: 24px; right: 24px; bottom: 24px; }
.site-layout .leadership-section .ceo-image-caption h3 { color: #fff; margin: 0; }
.site-layout .leadership-section .ceo-message-card { display: flex; flex-direction: column; min-height: 0; padding: clamp(22px, 3vw, 36px); box-shadow: var(--shadow-sm); }
.site-layout .leadership-section .ceo-message-body { font-size: 1rem; line-height: 1.8; }
.site-layout .leadership-section .ceo-bottom { display: block; margin-top: auto; padding-top: 20px; }
.site-layout .leadership-section .ceo-message-body { margin-bottom: 24px; }
.site-layout .leadership-section .sec-title { font-size: clamp(1.4rem, 2.5vw, 2rem); line-height: 1.3; }

@media (max-width: 991.98px) {
  .site-layout .leadership-portrait { max-width: 440px; margin-inline: auto !important; }
  .site-layout .leadership-section :is(.ceo-image-wrap, .ceo-main-image) { height: auto; min-height: 0; }
  .site-layout .leadership-section .ceo-main-image { aspect-ratio: 4 / 5; }
  .site-layout .leadership-section .ceo-message-card { height: auto; }
  .site-layout .page-hero .diagnostics-breadcrumb { flex-shrink: 0; }
}

@media (max-width: 767.98px) {
  .site-layout.page-blogDetails main .row.g-5 { --bs-gutter-x: 1.5rem; --bs-gutter-y: 1.5rem; }
  .site-layout .section-py { padding-block: 36px; }
  .site-layout .section-py-50 { padding-block: 32px; }
  .site-layout .page-hero .container > .d-flex { flex-direction: column; align-items: flex-start !important; gap: 16px; }
  .site-layout .section-title, .site-layout .sec-title { font-size: clamp(1.4rem, 5.5vw, 1.9rem); line-height: 1.3; }
  .site-layout .section-py .text-center.mb-5 { margin-bottom: 24px !important; }
  .site-layout :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) { font-size: 16px; }
  .site-layout :is(.btn-modern, .btn-primary-brand, .btn-outline-primary-brand, .card-btn-wrap > a, .ttb-search-btn) { min-height: 44px; }
  .site-layout .card-btn-wrap { gap: 10px; }
  .site-layout .card-btn-wrap > a { padding-inline: 10px; white-space: normal; }
  .site-layout :is(.search-modal-box-card, .premium-card-top, .ceo-message-card) { overflow-wrap: anywhere; }
  .site-layout .city-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-layout .city-card { min-width: 0; }
  .site-layout .city-address { overflow-wrap: anywhere; }
  .site-layout .footer-bottom .container > .d-flex { gap: 16px; }
  .site-layout .leadership-section .ceo-quote { font-size: 1rem; padding-left: 14px; }
  .site-layout .leadership-section .ceo-message-body { font-size: .97rem; line-height: 1.75; }
  .site-layout .leadership-row.mt-4 { margin-top: 16px !important; }
  .site-layout .modal-dialog { margin: 12px; }
  .site-layout .modal-body { max-width: 100%; }
  /*.site-layout .whatsapp-float { bottom: 84px; }*/
}

@media (max-width: 359.98px) {
  .site-layout .city-grid { grid-template-columns: minmax(0, 1fr); }
  .site-layout .card-btn-wrap { grid-template-columns: minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
  .site-layout .fade-up { opacity: 1; transform: none; transition: none; }
  .site-layout .swiper-wrapper { transition-duration: 0ms !important; }
  .site-layout .scroll-top { transition: none; }
}
