/* Salutar V18 — responsive hardening. Loaded last on purpose. */
html,body{width:100%;max-width:100%;overflow-x:clip}
img,svg,canvas{max-width:100%}
.premium-shell,.mapa-salutar,.mapa-workspace-v17,.mapa-region-card-v17,.mapa-form-card-v17,.mapa-anatomy-board,.mapa-fields-grid,.mapa-result-v17{min-width:0;max-width:100%}
.mapa-salutar{container-type:inline-size;container-name:mapasalutar;overflow:hidden}

/* Map desktop: three-column anatomy composition. */
.mapa-workspace-v17{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:22px!important}
.mapa-region-card-v17,.mapa-form-card-v17{box-sizing:border-box;width:100%}
.mapa-anatomy-board{
  display:grid!important;
  grid-template-columns:minmax(150px,210px) minmax(320px,480px) minmax(150px,210px)!important;
  gap:clamp(14px,2vw,28px)!important;
  align-items:stretch!important;
  justify-content:center!important;
  width:100%!important;
  min-height:620px!important;
  padding:clamp(20px,2.2vw,32px)!important;
  overflow:hidden!important;
}
.mapa-label-column{min-width:0!important;width:100%!important;padding:24px 0!important;gap:14px!important}
.mapa-callout{width:100%!important;max-width:210px!important;min-width:0!important;white-space:normal!important;overflow-wrap:anywhere!important}
.mapa-anatomy-center{width:100%!important;max-width:460px!important;min-width:0!important;aspect-ratio:1/1.12!important;height:auto!important}
.mapa-body-art{width:100%!important;max-width:460px!important;height:auto!important;object-fit:contain!important;transform:translate(-50%,-50%) scale(1.02)!important}
.mapa-fields-grid{grid-template-columns:minmax(0,1fr) minmax(0,.82fr)!important;gap:22px!important}
.mapa-form-card-v17 .mapa-options{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(145px,1fr))!important;gap:9px!important}
.mapa-form-card-v17 .mapa-options button{width:100%!important;min-width:0!important;min-height:48px!important;white-space:normal!important;padding:10px 12px!important;line-height:1.3!important}
.mapa-result-v17 .mapa-result-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.mapa-result-bottom{grid-template-columns:minmax(0,1fr) minmax(220px,300px)!important}
.mapa-result-bottom .mapa-submit{width:100%!important;min-width:0!important;white-space:normal!important}

/* Medium map container: image first, region choices below it. This activates
   based on the actual component width, not only the viewport width. */
@container mapasalutar (max-width: 980px){
  .mapa-salutar-head{grid-template-columns:1fr!important;gap:18px!important}
  .mapa-anatomy-board{display:block!important;min-height:500px!important;padding:18px!important}
  .mapa-label-column,.mapa-connectors{display:none!important}
  .mapa-anatomy-center{display:block!important;position:relative!important;width:min(100%,430px)!important;height:450px!important;max-width:430px!important;aspect-ratio:auto!important;margin:0 auto!important}
  .mapa-body-art{width:min(100%,390px)!important;max-width:390px!important;transform:translate(-50%,-50%) scale(1)!important}
  .mapa-region-card-v17 .mapa-region-list{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important;margin-top:12px!important}
  .mapa-region-list button{width:100%!important;min-width:0!important;white-space:normal!important;overflow-wrap:anywhere!important}
  .mapa-fields-grid{grid-template-columns:1fr!important}
  .mapa-result-bottom{grid-template-columns:1fr!important}
  .mapa-result-bottom .mapa-submit{width:100%!important;min-width:0!important}
}

/* Narrow component / phones. */
@container mapasalutar (max-width: 620px){
  .mapa-salutar{padding:16px!important;border-radius:24px!important}
  .mapa-salutar-head{padding:2px 2px 18px!important}
  .mapa-title-wrap h3{font-size:clamp(27px,9vw,34px)!important;line-height:1.02!important}
  .mapa-salutar-head>p{font-size:13px!important;line-height:1.6!important}
  .mapa-region-card-v17,.mapa-form-card-v17{padding:16px!important;border-radius:20px!important}
  .mapa-card-kicker{gap:10px!important}
  .mapa-card-kicker>span{width:30px!important;height:30px!important}
  .mapa-card-kicker strong{font-size:14px!important}
  .mapa-anatomy-board{min-height:390px!important;padding:10px!important;border-radius:20px!important}
  .mapa-anatomy-center{height:330px!important;max-width:320px!important}
  .mapa-body-art{width:min(100%,285px)!important;max-width:285px!important}
  .mapa-body-point{width:11px!important;height:11px!important}
  .mapa-region-card-v17 .mapa-region-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .mapa-region-list button{min-height:46px!important;padding:10px 8px 10px 34px!important;font-size:11px!important;line-height:1.25!important}
  .mapa-region-list button::before{left:11px!important;width:14px!important;height:14px!important}
  .mapa-form-card-v17{gap:18px!important}
  .mapa-form-card-v17 .mapa-options{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .mapa-form-card-v17 .mapa-options button{font-size:11px!important;min-height:46px!important;padding:9px 8px!important}
  .mapa-result-v17{padding:15px!important;border-radius:18px!important;gap:14px!important}
  .mapa-result-head{gap:4px!important;margin-bottom:0!important}
  .mapa-result-v17 .mapa-result-grid{grid-template-columns:1fr!important;gap:8px!important}
  .mapa-result-v17 .mapa-result-grid>div{padding:10px 12px!important}
  .mapa-result-bottom{gap:14px!important}
  .mapa-result-bottom p{font-size:11.5px!important}
  .mapa-result-bottom .mapa-submit{min-height:50px!important;font-size:12px!important;padding:12px 14px!important}
  .mapa-process-rail{grid-template-columns:1fr!important;padding:20px 2px 0!important}
  .mapa-process-rail>i{width:1px!important;height:20px!important;margin:4px 0 4px 16px!important}
}

@container mapasalutar (max-width: 390px){
  .mapa-region-card-v17 .mapa-region-list{grid-template-columns:1fr!important}
  .mapa-form-card-v17 .mapa-options{grid-template-columns:1fr!important}
  .mapa-anatomy-center{height:300px!important;max-width:285px!important}
  .mapa-body-art{max-width:255px!important}
}

/* Fallback viewport rules for browsers without container queries. */
@media (max-width:900px){
  .mapa-anatomy-board{display:block!important;min-height:500px!important}
  .mapa-label-column,.mapa-connectors{display:none!important}
  .mapa-anatomy-center{height:430px!important;max-width:420px!important;margin:0 auto!important}
  .mapa-body-art{max-width:380px!important;transform:translate(-50%,-50%) scale(1)!important}
  .mapa-region-card-v17 .mapa-region-list{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .mapa-fields-grid{grid-template-columns:1fr!important}
}
@media (max-width:640px){
  .mapa-region-card-v17 .mapa-region-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .mapa-result-v17 .mapa-result-grid{grid-template-columns:1fr!important}
}

/* Global responsive guardrails for the rest of the page. */
@media (max-width:980px){
  .premium-services-head,.premium-method-top,.premium-clinic-grid,.premium-location-card,.premium-faq-grid{grid-template-columns:1fr!important}
  .premium-faq-head{position:static!important}
  .premium-service-feature{grid-template-columns:56px minmax(0,1fr)!important}
  .premium-service-graphic{grid-column:1/-1!important}
}
@media (max-width:760px){
  .premium-shell{width:calc(100% - 28px)!important}
  .premium-service-feature{grid-template-columns:1fr!important;padding:20px!important}
  .premium-service-index{padding-top:0!important}
  .premium-location-meta,.premium-clinic-facts,.premium-method-steps{grid-template-columns:1fr!important}
  .premium-location-card{padding:20px!important}
  .premium-location-visual{min-height:280px!important}
  .premium-faq-grid{gap:28px!important}
  .premium-final-inner{width:calc(100% - 28px)!important}
  .premium-footer-top,.premium-footer-bottom{flex-direction:column!important;align-items:flex-start!important}
}

/* Final tablet/mobile overrides (must stay last). */
@media (max-width:1024px){
  .site-header,.site-header.scrolled{height:72px!important;padding:12px 18px!important;background:rgba(250,249,245,.96)!important;border-bottom:1px solid rgba(22,24,22,.07)!important}
  .menu-toggle{display:block!important;position:relative;z-index:1002}
  .nav{position:fixed!important;inset:72px 12px auto 12px!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;padding:16px!important;background:rgba(250,249,245,.98)!important;border:1px solid rgba(22,24,22,.10)!important;border-radius:18px!important;box-shadow:0 20px 45px rgba(20,24,20,.12)!important;opacity:0!important;transform:translateY(-10px)!important;pointer-events:none!important;transition:opacity .28s var(--ease),transform .28s var(--ease)!important}
  .nav.open{opacity:1!important;transform:none!important;pointer-events:auto!important}
  .nav>a:not(.nav-cta){display:block!important;padding:13px 4px!important;border-bottom:1px solid rgba(22,24,22,.08)!important}
  .nav-cta{margin-top:10px!important;justify-content:space-between!important;width:100%!important}
}

@media (max-width:640px){
  .mapa-salutar{padding:16px!important;border-radius:24px!important}
  .mapa-anatomy-board{min-height:390px!important;padding:10px!important;border-radius:20px!important}
  .mapa-anatomy-center{height:330px!important;max-width:320px!important}
  .mapa-body-art{width:min(100%,285px)!important;max-width:285px!important;transform:translate(-50%,-50%) scale(1)!important}
  .mapa-region-card-v17 .mapa-region-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .mapa-form-card-v17 .mapa-options{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .mapa-result-v17 .mapa-result-grid{grid-template-columns:1fr!important}
  .mapa-process-rail{grid-template-columns:1fr!important;gap:0!important}
  .mapa-process-rail>i{width:1px!important;height:20px!important;margin:4px 0 4px 16px!important}
}
@media (max-width:330px){
  .mapa-region-card-v17 .mapa-region-list,.mapa-form-card-v17 .mapa-options{grid-template-columns:1fr!important}
  .mapa-anatomy-center{height:290px!important;max-width:280px!important}
  .mapa-body-art{max-width:245px!important}
}

/* V20 final overrides: stable transparent anatomy layout */
.mapa-anatomy-board{grid-template-columns:minmax(180px,220px) minmax(320px,420px) minmax(180px,220px)!important;gap:24px!important;min-height:640px!important;padding:30px 24px 26px!important;align-items:center!important}
.mapa-label-column{gap:16px!important;padding:16px 0!important}
.mapa-callout{width:100%!important;max-width:210px!important;min-height:56px!important;padding:14px 16px!important}
.mapa-callout strong{display:block;font-size:14px;line-height:1.2;font-weight:700}
.mapa-anatomy-center{width:100%!important;max-width:420px!important;min-width:0!important;min-height:520px!important;height:auto!important;aspect-ratio:auto!important;display:grid!important;place-items:center!important;margin:0 auto!important}
.mapa-body-art{width:min(100%,420px)!important;max-width:420px!important;height:auto!important;object-fit:contain!important;object-position:center center!important;transform:translate(-50%,-50%) scale(.98)!important}
.mapa-body-point{width:12px!important;height:12px!important}
@container mapasalutar (max-width: 1180px){
  .mapa-anatomy-board{grid-template-columns:minmax(170px,195px) minmax(300px,380px) minmax(170px,195px)!important;gap:18px!important;padding-inline:18px!important;min-height:610px!important}
  .mapa-callout{max-width:190px!important}
  .mapa-anatomy-center{max-width:380px!important;min-height:470px!important}
  .mapa-body-art{width:min(100%,380px)!important;max-width:380px!important}
}
@container mapasalutar (max-width: 980px){
  .mapa-salutar-head{grid-template-columns:1fr!important;gap:18px!important}
  .mapa-anatomy-board{display:block!important;min-height:auto!important;padding:18px 16px!important}
  .mapa-label-column,.mapa-connectors{display:none!important}
  .mapa-anatomy-center{display:grid!important;position:relative!important;width:min(100%,360px)!important;max-width:360px!important;min-height:420px!important;height:auto!important;aspect-ratio:auto!important;margin:0 auto!important}
  .mapa-body-art{width:min(100%,330px)!important;max-width:330px!important;transform:translate(-50%,-50%) scale(1)!important}
  .mapa-region-card-v17 .mapa-region-list{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important;margin-top:12px!important}
  .mapa-fields-grid{grid-template-columns:1fr!important}
  .mapa-result-bottom{grid-template-columns:1fr!important}
  .mapa-result-bottom .mapa-submit{width:100%!important;min-width:0!important}
}
@container mapasalutar (max-width: 620px){
  .mapa-salutar{padding:16px!important;border-radius:24px!important}
  .mapa-anatomy-board{min-height:auto!important;padding:12px 10px!important;border-radius:20px!important}
  .mapa-anatomy-center{width:min(100%,300px)!important;max-width:300px!important;min-height:340px!important}
  .mapa-body-art{width:min(100%,280px)!important;max-width:280px!important}
  .mapa-region-card-v17 .mapa-region-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .mapa-form-card-v17 .mapa-options{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .mapa-result-v17 .mapa-result-grid{grid-template-columns:1fr!important}
  .mapa-process-rail{grid-template-columns:1fr!important;gap:0!important}
  .mapa-process-rail>i{width:1px!important;height:20px!important;margin:4px 0 4px 16px!important}
}
@container mapasalutar (max-width: 390px){
  .mapa-region-card-v17 .mapa-region-list,.mapa-form-card-v17 .mapa-options{grid-template-columns:1fr!important}
  .mapa-anatomy-center{width:min(100%,270px)!important;max-width:270px!important;min-height:300px!important}
  .mapa-body-art{width:min(100%,245px)!important;max-width:245px!important}
}
