/**
 * Visual Recovery — last-loaded public CSS conflict resets.
 * No redesign. Scopes/media/container repairs only.
 * Do not add new product UI here.
 */

/* Prevent global html clip from fighting page scroll/overflow diagnostics */
html {
  overflow-x: clip;
  max-width: 100%;
}

/* Shared media sanity — images only. Never globally expand SVG icons. */
img,
picture,
video {
  max-width: 100%;
  height: auto;
}

/* Do NOT set svg { max-width:100% } — that expands viewBox-only icons to full section width. */

/* Icons with explicit boxes must keep their box (not grow with parents) */
.hp-icon-btn svg,
.pub-header svg,
.ilj-cbar svg,
.mab-btn svg,
.hp-mab__btn svg,
.ilj-footer svg {
  width: 1.15em;
  height: 1.15em;
  max-width: 24px;
  max-height: 24px;
  flex-shrink: 0;
}

.hp-icon-btn,
.pub-header .hp-icon-btn {
  width: 40px;
  height: 40px;
  max-width: 44px;
  max-height: 44px;
}

/* Brand logos — contain, never cover-stretch */
.hp-brand__logo,
.pub-header .hp-brand__logo,
.ilj-footer__logo img {
  width: auto !important;
  max-width: 180px;
  height: auto;
  max-height: 48px;
  object-fit: contain !important;
}

/* Footer container reinforcement (beats residual phone locks) */
.ilj-footer__inner {
  width: min(100% - 28px, 1240px) !important;
  max-width: 1240px !important;
  margin-inline: auto;
  box-sizing: border-box;
}

@media (max-width: 767px) {
  .ilj-footer__inner {
    width: 100% !important;
    max-width: 100% !important;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .ilj-footer__inner {
    width: min(100% - 40px, 960px) !important;
    max-width: 960px !important;
  }
}

@media (min-width: 1024px) and (max-width: 1279px) {
  .ilj-footer__inner {
    width: min(100% - 48px, 1120px) !important;
    max-width: 1240px !important;
  }
}

@media (min-width: 1280px) {
  .ilj-footer__inner {
    width: min(100% - 64px, 1240px) !important;
    max-width: 1240px !important;
  }
}

@media (min-width: 1600px) {
  .ilj-footer__inner {
    width: min(100% - 80px, 1320px) !important;
    max-width: 1320px !important;
  }
}

/* Homepage hero media: prefer contain (readable organ/treatment art) over cover crop wars */
body.page-home .pub-hero .hp-hero__visual img,
body.page-home .hp-hero__visual img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: contain !important;
  object-position: center center;
}

/* Prevent phantom page-level horizontal scroll on listing pages */
main,
.hp-listing,
.ilj-listing,
.section-pad,
.container-wide,
.hp-listing__layout {
  max-width: 100%;
  min-width: 0;
}

.hp-listing__layout {
  overflow-x: clip;
}

.container-wide {
  width: min(1280px, 100%);
  max-width: 100%;
  box-sizing: border-box;
}

/* Contact bar — restore compact enterprise chrome (no oversized icons/type) */
.ilj-cbar__bar {
  height: 48px;
}

.ilj-cbar__seg svg {
  width: 18px !important;
  height: 18px !important;
  max-width: 20px;
  max-height: 20px;
}

.ilj-cbar__num {
  font-size: clamp(1rem, 1.6vw, 1.35rem) !important;
  letter-spacing: 0.04em;
}

@media (min-width: 640px) {
  .ilj-cbar__bar {
    height: 52px;
  }

  .ilj-cbar__seg svg {
    width: 20px !important;
    height: 20px !important;
  }
}

/* =========================================================
   Icon density cleanup — reference-style compact icons
   (live looked “dirty” from oversized icons / overlaps)
   ========================================================= */

/* Header action chips — smaller, tighter */
.pub-header .hp-icon-btn,
.hp-header .hp-icon-btn {
  width: 30px !important;
  height: 30px !important;
  max-width: 30px !important;
  max-height: 30px !important;
}

.pub-header .hp-icon-btn svg,
.hp-header .hp-icon-btn svg {
  width: 14px !important;
  height: 14px !important;
  max-width: 14px !important;
  max-height: 14px !important;
}

.pub-header .hp-lang,
.hp-header .hp-lang {
  min-height: 30px;
  padding-inline: 7px;
  font-size: 0.72rem;
}

.pub-header .hp-menu-toggle,
.hp-header .hp-menu-toggle {
  width: 32px !important;
  height: 32px !important;
}

/* Trust strip icons — compact tiles */
body.page-home .pub-trust .hp-trust-strip__icon {
  width: 24px !important;
  height: 24px !important;
  border-radius: 7px;
  font-size: 0.78rem !important;
}

body.page-home .pub-trust .hp-trust-strip__icon svg {
  width: 13px !important;
  height: 13px !important;
}

body.page-home .pub-trust .hp-trust-strip__item {
  gap: 6px;
  padding: 8px 6px;
}

body.page-home .pub-trust .hp-trust-strip__item p {
  font-size: 0.74rem !important;
  line-height: 1.25 !important;
}

/* Specialities — smaller circular icons */
body.page-home .hp-specs.pub-p2 .hp-spec-card {
  min-height: 96px !important;
  padding: 10px 8px !important;
  gap: 6px;
}

body.page-home .hp-specs.pub-p2 .hp-spec-card__media {
  width: 44px !important;
  height: 44px !important;
  padding: 5px !important;
  border-radius: 999px;
}

body.page-home .hp-specs.pub-p2 .hp-spec-card__title {
  font-size: 0.72rem !important;
}

/* Track journey step icons — keep desktop readable (mobile in public-sections-2-4-mobile.css) */
@media (min-width: 768px) {
  body.page-home .hp-track-journey.pub-p2 .hp-track-journey__icon {
    width: 58px !important;
    height: 58px !important;
    border-radius: 16px !important;
    background: #eaf3fc !important;
    border: none !important;
  }

  body.page-home .hp-track-journey.pub-p2 .hp-track-journey__icon svg {
    width: 34px !important;
    height: 34px !important;
  }
}

/* Why choose icons */
body.page-home .hp-why-trust.pub-p2 .hp-why-trust__icon {
  width: 32px !important;
  height: 32px !important;
}

body.page-home .hp-why-trust.pub-p2 .hp-why-trust__icon svg {
  width: 16px !important;
  height: 16px !important;
}

body.page-home .hp-why-trust.pub-p2 .hp-why-trust__card {
  min-height: 0 !important;
  padding: 12px 10px !important;
  gap: 8px;
}

/* How it works icons */
body.page-home .hp-journey.pub-p2 .hp-journey__icon {
  width: 28px !important;
  height: 28px !important;
}

body.page-home .hp-journey.pub-p2 .hp-journey__icon svg {
  width: 15px !important;
  height: 15px !important;
}

/* Section heading icons (visa/cost/etc.) */
body.page-home .pub-p3__icon {
  width: 30px !important;
  height: 30px !important;
  border-radius: 9px;
}

body.page-home .pub-p3__icon svg {
  width: 16px !important;
  height: 16px !important;
}

/* Visa support icons */
body.page-home .hp-visa-travel.pub-p3 .hp-visa-travel__ico {
  width: 32px !important;
  height: 32px !important;
}

body.page-home .hp-visa-travel.pub-p3 .hp-visa-travel__ico svg {
  width: 16px !important;
  height: 16px !important;
}

/* Cost checklist checks */
body.page-home .hp-cost.pub-p3 .hp-cost__check {
  width: 18px !important;
  height: 18px !important;
}

body.page-home .hp-cost.pub-p3 .hp-cost__check svg {
  width: 10px !important;
  height: 10px !important;
}

/* Footer accreditation badges */
body.page-home .ilj-footer.pub-p3 .ilj-footer__acc img,
.ilj-footer .ilj-footer__acc img {
  width: 28px !important;
  height: 28px !important;
  padding: 2px !important;
}

/* Mobile sticky CTA — compact icons (svg_icon + WA path) */
body.page-home {
  --mobile-bar-h: 52px;
}

.hp-mab,
.mobile-action-bar.hp-mab {
  height: 52px !important;
  max-height: 52px !important;
}

.hp-mab__btn svg,
.mab-btn svg,
.hp-mab__btn .icon {
  width: 14px !important;
  height: 14px !important;
  max-width: 14px !important;
  max-height: 14px !important;
  stroke: currentColor !important;
  fill: none !important;
  stroke-width: 2.2 !important;
  display: block !important;
  flex-shrink: 0;
}

.hp-mab__btn--wa svg {
  fill: currentColor !important;
  stroke: none !important;
}

.hp-mab__btn,
.mab-btn {
  min-height: 0 !important;
  height: 100% !important;
  font-size: 0.58rem !important;
  gap: 0 !important;
  line-height: 1.05;
  padding: 4px 2px !important;
}

/* Live Chat launcher — Flutter extended FAB above sticky bar */
.ilaj-chat__launcher {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 52px !important;
  max-height: 52px !important;
  min-height: 52px !important;
  bottom: calc(52px + 12px + env(safe-area-inset-bottom, 0px)) !important;
}

/* Hero: compact media; hide overlapping arrows on mobile (swipe + dots remain) */
@media (max-width: 1023px) {
  body.page-home .pub-hero .hp-hero__visual {
    max-height: 160px !important;
    aspect-ratio: 16 / 10;
  }

  body.page-home .pub-hero .hp-hero__visual img,
  body.page-home .pub-hero .hp-hero__visual picture img {
    max-height: 160px !important;
    object-fit: contain !important;
  }

  body.page-home .pub-hero .hp-hero__nav {
    display: none !important;
  }
}

@media (min-width: 1024px) {
  body.page-home .pub-hero .hp-hero__nav {
    top: auto;
    bottom: 56px;
    z-index: 4;
  }

  body.page-home .pub-hero .hp-hero__visual {
    max-height: 420px;
  }

  body.page-home .pub-hero .hp-hero__visual img,
  body.page-home .pub-hero .hp-hero__visual picture img {
    max-height: 420px;
    object-fit: contain !important;
  }
}

@media (min-width: 768px) {
  body.page-home .hp-specs.pub-p2 .hp-spec-card__media {
    width: 48px !important;
    height: 48px !important;
  }

  body.page-home .pub-trust .hp-trust-strip__icon {
    width: 30px !important;
    height: 30px !important;
  }
}


body.page-home .hp-spec-card__media img,
body.page-home .hp-hospital-card__photo img {
  max-width: 100%;
  object-fit: cover;
}

body.page-home .hp-spec-card__media img {
  object-fit: contain;
}
