/* V557 — responsive fallbacks and shared layout guardrails. */
html{scroll-behavior:smooth}
body{min-width:320px;overflow-x:clip;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
main,main :where(section,article,nav,form,fieldset),header .wrap.nav,footer{min-width:0}
main :where(img,video,iframe,svg,canvas){max-width:100%}
main :where(h1,h2,h3){text-wrap:balance}
main :where(button,input,select,textarea){max-width:100%;font:inherit}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid #ad705a;outline-offset:3px}

/* Keep the lead photo available even if an image element is delayed or hidden. */
body.v131-immersive .hero{
  background-color:#25443e!important;
  background-image:linear-gradient(90deg,rgba(8,32,34,.48),rgba(8,32,34,.16) 58%,rgba(8,32,34,.04)),url("/assets/banner-couple-beach.webp")!important;
  background-position:center 52%!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
}
body.v131-immersive .hero-photo{object-fit:cover;object-position:58% 52%;}

/* The atlas stays within the viewport; the destination list remains usable on touch screens. */
.world-explorer,.world-explorer>.wrap,.world-card.pro-map,#professionalWorldMap,#professionalWorldMap .map-stage,#mapExplorerV511{min-width:0;max-width:100%}
.world-card.pro-map{overflow:hidden}
#professionalWorldMap{box-sizing:border-box;width:100%;overflow:hidden;}
#professionalWorldMap svg{display:block;width:100%;height:100%;}
#mapExplorerV511 .map-explorer-list{overscroll-behavior:contain;scrollbar-gutter:stable;}
#mapExplorerV511 .map-explorer-destination{min-width:0;}
#mapExplorerV511 .map-explorer-destination>span:first-child{min-width:0;overflow-wrap:anywhere;}

@media(min-width:601px) and (max-width:1024px){
  #professionalWorldMap{height:clamp(300px,38vw,410px)!important;min-height:300px!important;max-height:410px!important;}
  .world-card.pro-map{padding:clamp(10px,2vw,18px);}
}
@media(max-width:760px){
  body.v131-immersive .hero{min-height:clamp(540px,72svh,690px)!important;}
  body.v131-immersive .hero .copy{padding-block:clamp(58px,8svh,86px) 30px!important;}
  body.v131-immersive .hero-photo{object-position:64% 52%;}
  .world-explorer>.wrap{width:calc(100% - 24px)!important;}
  .world-card.pro-map{width:100%;padding:9px;border-radius:20px;}
  #professionalWorldMap{height:clamp(260px,70vw,360px)!important;min-height:260px!important;max-height:360px!important;aspect-ratio:auto!important;}
  #mapExplorerV511{gap:10px;padding:10px;}
  #mapExplorerV511 .map-explorer-views button{min-height:48px;}
  #mapExplorerV511 .map-explorer-controls{gap:9px;}
  #mapExplorerV511 .map-explorer-list{max-height:58svh;}
}
@media(max-width:380px){
  #mapExplorerV511 .map-explorer-title{flex-wrap:wrap;}
  #mapExplorerV511 .map-explorer-count{text-align:left;}
  #mapExplorerV511 .map-explorer-destination{gap:7px;padding-inline:9px;}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
