/* Shared mobile layout; desktop controls retain their original positions. */
.mobile-map-nav,.mobile-map-float,.mobile-map-switches,.mobile-map-more{display:none}
.map-tools[hidden]{display:none!important}
#boundaryToggle{display:none!important}
@media(max-width:680px){
 html,body{overscroll-behavior-y:contain}
 .tour .map-area{height:calc(100svh - 60px);height:calc(100dvh - 60px);min-height:340px;max-height:740px;flex:none}
 .map-title{top:12px;left:12px;right:140px}
 .map-title h1{font-size:19px;line-height:1.3;word-break:keep-all}
 .map-title .map-maker p{font-size:13px}
 .map-area .map-modes{top:10px;right:10px;left:auto;padding:3px;border-radius:7px}
 .map-area .map-modes button{min-height:44px;font-size:13px;padding:5px 8px}
 .map-area #mapInfoToggle{top:58px;right:10px;min-height:44px;padding:6px 10px;font-size:13px}
 .map-area .course-guide{top:102px;left:auto;right:10px;width:min(224px,64%);max-width:calc(100% - 20px);max-height:min(260px,calc(100% - 114px));padding:12px;border-radius:10px;scrollbar-width:thin}
 .map-area .course-guide .map-info-eyebrow,.map-area .course-guide>.guide-unit{display:none}
 .map-area .course-guide h2{font-size:18px;line-height:1.35;margin:0 36px 8px 0;word-break:keep-all}
 .map-area .course-guide .map-info-close{top:8px;right:8px;min-width:32px;min-height:44px;padding:4px 6px;font-size:13px}
 .map-area .course-guide .map-info-facts{font-size:13px;line-height:1.5;margin:0 0 8px;word-break:keep-all}
 .map-area .course-guide .guide-tabs{gap:8px;margin:0 0 9px}
 .map-area .course-guide .guide-tabs button{min-height:44px;font-size:13px;padding:5px 0}
 .map-area .course-guide .map-info-photo{width:68px;height:52px;margin:0 0 6px 8px;border-radius:5px}
 .map-area .course-guide #mapInfoFeature{font-size:13px;line-height:1.6;min-height:52px;margin:0 0 8px}
 .map-area .course-guide .hole-tip{padding:8px;margin:0 0 8px}
 .map-area .course-guide #mapInfoTip{font-size:13px;line-height:1.6}
 .map-area .course-guide .guide-photo-open img{height:110px}
 .map-area .course-guide .guide-photo-caption{font-size:13px;margin:6px 0}
 .map-area .course-guide .map-info-actions{gap:4px;margin:8px 0}
 .map-area .course-guide .map-info-actions button{min-height:44px;padding:5px 7px;font-size:13px}
 .map-area .course-guide .guide-pager{gap:4px;margin-top:8px;padding-top:8px}
 .map-area .course-guide .guide-pager small{display:none}
 .map-area .course-guide .guide-pager button{min-height:44px;font-size:13px}
 .map-area .map-help{display:none}
 .mobile-map-nav{display:block;background:#fff;border-bottom:1px solid #e1e8df;padding:6px 8px;position:relative;z-index:7;flex:none;touch-action:pan-y}
 .mobile-map-nav .mobile-primary{display:flex;gap:5px;align-items:center}
 .mobile-map-nav button{min-height:44px;min-width:0;background:#f3f6f1;border:1px solid #e1e8df;border-radius:6px;padding:0 8px;font-size:13px;white-space:nowrap;color:#244f3c}
 .mobile-map-switches #resetView{min-width:68px}
 .mobile-map-nav:has(.hole-view-dock[hidden]){display:none}
 .mobile-map-nav .hole-view-dock{position:static;flex:1;min-width:0;box-shadow:none;border:0;border-radius:0;margin:0;padding:0;display:flex;gap:3px;background:white}
 .mobile-map-nav .hole-view-dock button{flex:1;min-width:0;min-height:44px;font-size:13px;background:white;border:0;padding:0 5px}
 .mobile-map-nav .hole-view-dock button[aria-pressed=true]{background:#eaf1e7;color:#174e39}
 .mobile-map-float{display:flex;position:absolute;bottom:12px;left:10px;gap:5px;padding:5px;background:#ffffffdf;border:1px solid #ffffff99;border-radius:9px;box-shadow:0 2px 12px #0b352126;z-index:6;touch-action:none}
 .mobile-map-float .mobile-pan{display:grid;grid-template-columns:repeat(3,38px);grid-template-rows:repeat(3,38px);gap:1px;visibility:visible!important}
 .mobile-map-float button{width:38px;height:38px;min-width:38px;min-height:38px;padding:0;background:#f8fbf5e8;border:0;border-radius:5px;font-size:20px;color:#24543e}
 .mobile-map-float .pan-center{font-size:8px}
 .mobile-map-float .mobile-zoom{display:flex;flex-direction:column;justify-content:center;gap:6px;border-left:1px solid #dce4d8;padding-left:5px}
 .mobile-map-float .mobile-zoom button{font-size:23px}
 .mobile-map-switches{position:absolute;display:flex;flex-direction:column;gap:5px;right:10px;bottom:12px;z-index:7;touch-action:manipulation}
 .mobile-map-switches button,.mobile-map-more button{min-height:44px;padding:0 10px;border:1px solid #e0e8dc;border-radius:6px;background:#fffffff2;color:#275840;font-size:13px;white-space:nowrap;box-shadow:0 2px 9px #0b352115}
 .mobile-map-more{display:block;position:absolute;right:10px;bottom:150px;z-index:8;padding:5px;border-radius:8px;background:white;box-shadow:0 4px 18px #0b352130}
 .mobile-map-switches [aria-expanded=true]{background:#21573f;color:white;border-color:#21573f}
 .mobile-map-float[hidden],.mobile-map-more[hidden],.mobile-map-nav [hidden]{display:none!important}
 .map-area.info-open .mobile-map-float,.map-area.info-open .mobile-map-switches,.map-area.info-open .mobile-map-more{display:none!important}
 .story .story-body{padding:20px 16px}
 .story .story-facts{grid-template-columns:minmax(78px,.85fr) minmax(0,1.4fr);gap:12px;padding:14px;margin:0}
 .story #fact1,.story #fact2{white-space:nowrap;overflow-wrap:normal;word-break:keep-all;font-size:23px;letter-spacing:-.035em}
 .story .story-facts>div+div{padding-left:12px}
 .story .story-facts .distance-metric{font-size:13px;white-space:nowrap}
 .story p,.story h2,.story h3{word-break:keep-all;overflow-wrap:break-word}
 .story .guide-unit button{min-height:44px}
 .story .shot-actions button{min-height:44px;white-space:nowrap;font-size:13px}
 .story .shot-intro{line-height:1.6;word-break:keep-all}
 .story .story-actions #nextPlace{min-height:44px}
 .story #shotDistances{padding-left:18px;padding-right:18px}
 .story .shot-chip>span{white-space:nowrap}
}
@media(max-width:360px){
 .story .story-body{padding:18px 12px}
 .story #fact1,.story #fact2{font-size:21px}
 .story .story-facts{padding:12px;gap:10px}
 .story .story-facts>div+div{padding-left:10px}
 .story .shot-panel{padding:16px 10px}
 .story .shot-chip{font-size:14px}
 .mobile-map-nav{padding:8px}
 .story #shotDistances:has(.shot-chip:nth-child(3)){display:grid;grid-template-columns:1fr;gap:8px;padding:0;background:none}
 .story #shotDistances:has(.shot-chip:nth-child(3)):before,.story #shotDistances:has(.shot-chip:nth-child(3)):after{display:none}
 .story #shotDistances:has(.shot-chip:nth-child(3)) .shot-chip{display:grid;grid-template-columns:56px 1fr;align-items:center;padding:9px 12px;border:1px solid #dfe7db;border-radius:6px;text-align:left}
 .story #shotDistances:has(.shot-chip:nth-child(3)) .shot-chip b{margin:0;font-size:13px}
 .story #shotDistances:has(.shot-chip:nth-child(3)) .shot-chip>span{padding:0}
}

/* Homepage already supplies branding and navigation. */
.gz-tour-embedded .header{display:none!important}
.gz-tour-embedded body>main{margin:0;max-width:none}

/* GUAMEZ loading brand */
.map-area #loading{background:radial-gradient(ellipse at 18% 12%,#deeadb 0,transparent 52%),radial-gradient(ellipse at 90% 95%,#d7e5d6 0,transparent 55%),#f3f5eb;color:#294e3b;z-index:20;gap:0;overflow:hidden;isolation:isolate}
#loading .loading-brand{display:block;width:220px;max-width:82%;height:auto;object-fit:contain;mix-blend-mode:multiply;margin:0 0 25px}
#loading .loading-tagline{font-size:23px;font-weight:750;letter-spacing:-.7px;line-height:1.4}
#loading .loading-step{font-size:13px;line-height:1.7;letter-spacing:.2px;margin-top:17px;color:#496752;animation:loading-text-pulse 1.8s ease-in-out infinite}
@keyframes loading-text-pulse{0%,100%{opacity:1}50%{opacity:.4}}
@media(prefers-reduced-motion:reduce){#loading .loading-step{animation:none}}

/* Direct gestures and hole navigation on mobile. */
.mobile-map-hint{display:none}
@media(max-width:680px){
 .mobile-map-switches{width:140px}
 .mobile-map-switches #resetView{width:100%}
 .mobile-map-pager{display:flex;gap:4px}
 .mobile-map-pager button{flex:1;min-width:0;min-height:44px;padding:0 3px;font-size:13px}
 .mobile-map-hint{display:block;position:absolute;left:12px;right:160px;bottom:14px;z-index:5;margin:0;color:#fff;font-size:13px;font-weight:450;line-height:1.65;letter-spacing:-.2px;text-shadow:0 1px 3px #082c20,0 0 7px #082c2070;pointer-events:none;word-break:keep-all}
 .mobile-map-hint span{display:block}
 .map-area.info-open .mobile-map-hint{display:none}
}
