
/* Clear touch actions and consistent, platform-neutral controls. */
svg{vertical-align:middle}.site-select-chevron svg,.card-action-arrow svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#world .scene-controls button,#world #start-flight{display:inline-flex;align-items:center;justify-content:center;gap:8px}
#world .scene-controls button[hidden],#world #start-flight[hidden]{display:none!important}
#world .scene-controls svg,#world #start-flight svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#world #pause-orbit svg path[d^="m9"],#world #start-flight svg path{fill:currentColor;stroke:none}
#world #replay-entry{width:auto;min-height:44px;padding:0 15px;border-radius:24px}
.mobile-destination-dialog{position:fixed;inset:auto 12px max(12px,env(safe-area-inset-bottom));width:calc(100% - 24px);max-width:520px;max-height:85dvh;overflow:auto;margin:0 auto;padding:28px 24px 24px;border:1px solid #ffffff33;border-radius:28px;background:#f5f5f0;color:#153944;box-shadow:0 20px 80px #061d3340;font-family:'DM Sans',sans-serif}
.mobile-destination-dialog::backdrop{background:#071a3280;backdrop-filter:blur(8px)}
.sheet-handle{width:36px;height:4px;border-radius:6px;background:#bcc8c8;margin:-15px auto 22px}
.mobile-destination-dialog .sheet-eyebrow{font-family:'DM Sans',sans-serif!important;font-size:10px;font-weight:600;letter-spacing:.14em;color:#397773;margin-bottom:14px}
.mobile-destination-dialog h2{font-size:25px;margin:0 32px 14px 0;line-height:1.15}
.mobile-destination-dialog>p:not(.sheet-eyebrow){font-size:17px;line-height:1.6;margin-bottom:24px}
.destination-sheet-close{position:absolute;top:16px;right:14px;width:44px;height:44px;border:0;border-radius:50%;background:#e5eae6;color:#31565c;display:grid;place-items:center}
.destination-sheet-close svg,.destination-sheet-continue svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.destination-sheet-continue{width:100%;min-height:54px;padding:14px 18px;border:0;border-radius:18px;background:#187c7b;color:white;font:600 15px 'DM Sans',sans-serif;display:flex;align-items:center;justify-content:space-between}
@media(hover:none),(pointer:coarse){
 button,a,input,select,textarea{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
 button:not(.ecosystem-marker):not(.calendar-photo-day):not(.explore-day),.nav-cta,.journey-button,.sh-cta,.btn-primary,.btn-outline{min-height:44px}
 button:active,.journey-button:active,.nav-cta:active{filter:brightness(.94)}
 input,select,textarea,.site-select-trigger{font-size:16px!important}
 input:not([type=checkbox]):not([type=radio]),select,textarea{-webkit-appearance:none;appearance:none;border-radius:14px}
 select{padding-right:38px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%232a7777' stroke-width='1.8'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat}
 .site-select-trigger{border-radius:16px;box-shadow:none;border-color:#c9d6d2;min-height:54px}
 .site-select-list{border:1px solid #e0e7e2;border-radius:20px;padding:8px;box-shadow:0 16px 44px #102c4026;background:#fcfcf7}
 .site-select-option{min-height:50px!important;border-radius:12px}
 .calendar-preview{border-radius:22px;padding:8px}.calendar-preview-close{width:44px;height:44px;top:12px;right:12px}
 .calendar-preview-item{padding-top:50px}
 #world .destination-label{display:none!important}
 #world .ecosystem-marker{pointer-events:none}
 #world #climate-switch button,#world #beach-season-switch button{min-width:76px;min-height:44px}
 #world .world-coordinates{display:none}
 #world #start-flight{min-height:48px!important;border:1px solid #ffffff55!important;background:#1b4659c9!important;backdrop-filter:blur(16px);font-size:14px!important;right:20px!important;bottom:90px!important;padding:12px 18px!important}
 #world .scene-controls{margin-left:auto}
 #world .scene-controls button{min-width:44px}
 .nav-hamburger{width:44px;height:44px}
 .beach-expedition{min-height:84px}
 #world .beach-content{padding-bottom:calc(32px + env(safe-area-inset-bottom))}
}
@media(max-width:550px){#world #climate-switch{top:82px}#world #scene{top:132px}#world .atlas-label{top:355px!important}#world .world-intro{top:407px}#world:not(.in-seasons){height:830px}#world .world-guide{font-size:11px;max-width:300px}}

#world #skip-entry{position:absolute;z-index:10;bottom:22px;left:24px;min-height:44px;padding:10px 18px;border-radius:24px;border:1px solid #ffffff66;background:#153f4fcc;color:white;font:500 13px "DM Sans",sans-serif;backdrop-filter:blur(12px)}#world #skip-entry[hidden],#world.in-seasons #skip-entry{display:none!important}

/* Center the persistent reservation action on every viewport. */
.nav-cta{display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1.2}
