/* AIR mobile/performance layer — intentionally small and loaded after legacy CSS. */
html{scroll-padding-top:76px}
body{min-width:0}
img,video,iframe{max-width:100%}
img[loading="lazy"]{content-visibility:auto}
button,input,select,textarea{font:inherit}
button,a,select,input{touch-action:manipulation}
:focus-visible{outline:3px solid #22c55e;outline-offset:3px}

/* Prevent fixed mobile navigation from covering content. */
.mobile-bottom-nav{display:none}

/* New AIR decision pages share these common patterns. */
.air-section,.home-section,.trip-section,.now-section,.dinner-section,.beach-section{content-visibility:auto;contain-intrinsic-size:1px 700px}
.air-card,.decision-card,.live-card,.dinner-card,.beach-card,.it-card{min-width:0}

@media(max-width:820px){
  html{scroll-padding-top:68px}
  body{padding-bottom:64px}
  main{min-width:0}
  .mobile-bottom-nav{position:fixed!important;display:grid!important;grid-template-columns:repeat(4,1fr);left:0;right:0;bottom:0;z-index:900;background:#0f172a;border-top:1px solid #26364b;padding:max(5px,env(safe-area-inset-bottom)) 4px 5px;box-shadow:0 -8px 24px rgba(15,23,42,.16)}
  .mobile-bottom-nav .bottom-nav-item{display:flex!important;min-height:50px!important;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:3px!important;color:#e5edf7!important;text-decoration:none!important;font-size:.7rem!important;line-height:1.05!important}
  .mobile-bottom-nav .icon{font-size:1.1rem;line-height:1}.mobile-bottom-nav .label{white-space:nowrap}

  /* Consistent phone geometry across decision products. */
  .air-hero-inner,.trip-wrap,.now-wrap,.dinner-wrap{width:100%;max-width:100%;padding-left:18px;padding-right:18px}
  .air-actions,.build-links{gap:9px}
  .air-actions .air-btn,.build-links a{width:100%;min-height:48px}
  .decision-grid,.guide-grid,.live-grid,.itinerary-grid,.decision-grid,.dinner-grid,.beach-grid{grid-template-columns:1fr!important;gap:14px!important}
  .stay-band{padding:24px!important;border-radius:20px!important}
  .home-section,.trip-section,.now-section,.dinner-section,.beach-section{padding-left:16px!important;padding-right:16px!important}
  .section-head{margin-bottom:26px!important;text-align:left!important}
  .section-head h2{font-size:clamp(1.8rem,8vw,2.35rem)!important}
  .air-decision-bar,.air-dinner-tools{top:64px!important}
  .air-decision-inner,.air-dinner-tools-inner{padding-left:12px!important;padding-right:12px!important;scroll-snap-type:x proximity}
  .air-decision-inner a,.air-dinner-filter{scroll-snap-align:start;min-height:44px}
  table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
}

@media(max-width:600px){
  .air-hero{min-height:560px!important}
  .air-hero-inner{padding-top:92px!important;padding-bottom:58px!important}
  .air-hero h1{font-size:clamp(2.35rem,12vw,3.8rem)!important;line-height:1!important}
  .air-hero p{font-size:1rem!important;line-height:1.55!important}
  .air-proof{gap:8px 14px!important;font-size:.82rem!important}
  .planner{margin-left:12px!important;margin-right:12px!important;padding:20px!important;border-radius:16px!important}
  .planner-grid{grid-template-columns:1fr!important}
  .status-grid{grid-template-columns:1fr!important}
}

@media(prefers-reduced-motion:reduce){video[autoplay]{display:none!important}}
