/* Mobile field guide, layered over the existing map styles. */
.walk-enhanced{--ink:#193638;--paper:#f8f7f3;--line:#d9e1dc;color:var(--ink)}
.walk-enhanced .layout{grid-template-columns:minmax(350px,425px) minmax(0,1fr)}
.walk-enhanced aside{padding:16px 18px 28px;scrollbar-width:thin;scroll-behavior:auto;min-width:0}
.guide-selection{margin:0 0 14px}.guide-selection .field-label{margin-top:0}
.guide-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:5px;background:#e9eeea;border-radius:11px;margin:0 0 21px}
.guide-tabs button{min-height:44px;background:transparent;border:0;border-radius:7px;color:#43605f;font-size:12px;font-weight:700;padding:8px}
.guide-tabs button[aria-pressed=true]{background:white;color:var(--ink);box-shadow:0 1px 5px #1232}
body.walk-enhanced[data-guide-panel=ideas] #guide-plan,body.walk-enhanced[data-guide-panel=plan] #guide-ideas{display:none}
.guide-heading{margin:0 0 19px}.guide-heading h2{font:29px/1.15 Georgia,serif;letter-spacing:-.45px;margin:9px 0 12px}.guide-heading p{font-size:13px;line-height:1.65;color:#556c6c;margin:0}
#idea-stop-picker{font-size:14px;min-height:45px;background:#fff;border-radius:8px}#guide-route-caption{margin:9px 0 17px}
.guide-card{border:1px solid #d7e1db;border-radius:14px;padding:17px 15px;margin:0 0 17px;background:white;box-shadow:0 2px 8px #29433507;scroll-margin-top:14px}
.guide-card:focus{outline:2px solid #b1803b;outline-offset:3px}.guide-card .stop-head{gap:11px}.guide-card .num{width:34px;height:34px;font-size:13px}
.guide-card .tag{font-size:9px;letter-spacing:1px;font-weight:650;line-height:1.5;margin-bottom:5px}.guide-card h3{font:23px/1.15 Georgia,serif;letter-spacing:-.3px;margin:0;overflow-wrap:anywhere}
.guide-card .place-about{color:#536867;font-size:13px;line-height:1.65;margin:13px 0 15px}
.photo-prompt{background:#f4f1e8;border:1px solid #e5dfd0;border-radius:10px;padding:14px;margin:0 0 13px}
.prompt-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px;font-size:10px;line-height:1.5}.prompt-theme{font-weight:750;text-transform:uppercase;letter-spacing:.75px;color:#6d542c}.prompt-count{color:#756b58;text-align:right}
.photo-prompt h4{font:22px/1.2 Georgia,serif;letter-spacing:-.25px;margin:0 0 10px;color:#343d31}
.guide-card .prompt-text{font-size:14px;line-height:1.7;margin:0 0 12px;color:#293e3b}
.guide-card .prompt-tip{font-size:12px;line-height:1.65;margin:0 0 12px;padding-top:11px;border-top:1px solid #e0d9c8;color:#5b6356}
.prompt-tip b{display:block;color:#495340;margin-bottom:2px;font-size:10px;letter-spacing:.7px;text-transform:uppercase}
.photo-prompt .change-idea{min-height:44px;font-size:12px;background:#fffcf6;border-color:#d8ccb5;color:#64502c;gap:12px;padding:9px 14px}.change-idea span{font-size:19px;line-height:1}
.guide-card .stop-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:0 0 9px}.guide-card .stop-actions .btn{min-height:44px;font-size:11px;text-align:center;padding:9px 7px}
.guide-card .leg-link{min-height:44px;display:flex;align-items:center;line-height:1.5;font-size:12px;margin:0 0 8px;padding:11px}
.guide-card .source-link{display:inline-flex;align-items:center;font-size:11px;min-height:32px}.guide-card .finish-note{font-size:12px;color:#5f726b;margin:8px 0}
.guide-dock,.share-short,#guide-overview{display:none}.guide-copy{margin:10px 0 0;width:100%}.walk-enhanced .export-box>.btn{white-space:normal;text-align:center}
.walk-enhanced .area-nav .btn,.walk-enhanced .parts .btn{min-height:44px}.walk-enhanced .area-nav{min-height:63px}.walk-enhanced .layout{height:calc(100dvh - 149px)}
.walk-enhanced .map-tools .btn{min-height:44px}.guide-marker-target{display:grid;place-items:center;background:transparent;border:0}.guide-marker-target .pin{width:32px;height:32px;box-shadow:0 2px 6px #0004}.guide-marker-target:focus{outline:2px solid #9d7134;outline-offset:1px;border-radius:50%}
.walk-enhanced .leaflet-control-zoom a{width:44px;height:44px;line-height:44px}.walk-enhanced .leaflet-popup-content{line-height:1.55;margin:17px 17px 14px;max-width:calc(100vw - 84px)}
.walk-enhanced .leaflet-container a.leaflet-popup-close-button{width:44px;height:44px;line-height:38px;font-size:23px;color:#465e5c;z-index:1}
.walk-enhanced .popup-title{padding-right:22px;font:23px/1.15 Georgia,serif;margin:8px 0 14px}.popup-prompt{background:#f5f1e7;border-radius:8px;padding:11px;font:13px/1.6 system-ui}.popup-prompt>b{font:19px/1.2 Georgia,serif}.popup-prompt p{margin:8px 0 0;font-size:12px;line-height:1.6}.walk-enhanced .popup-ideas{width:100%;margin:11px 0 0;min-height:44px}
.walk-enhanced .leaflet-popup .btn{min-height:44px;font-size:12px;white-space:normal;text-align:center}.walk-enhanced .leaflet-popup .stop-actions{display:flex;gap:7px;margin:8px 0 0}
.walk-enhanced button:focus-visible,.walk-enhanced a:focus-visible,.walk-enhanced select:focus-visible,.walk-enhanced summary:focus-visible{outline:3px solid #bd8940;outline-offset:3px}
@media(max-width:900px){
 body.walk-enhanced{height:100vh;height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden;margin:0}
 .walk-enhanced>header{height:auto;min-height:0;flex-shrink:0;padding:calc(10px + env(safe-area-inset-top,0px)) max(14px,env(safe-area-inset-right,0px)) 10px max(14px,env(safe-area-inset-left,0px));gap:10px;background:var(--paper)}
 .walk-enhanced h1{font-size:21px;line-height:1.12;max-width:245px;letter-spacing:-.45px;margin:5px 0 0}.walk-enhanced>header>div:first-child{min-width:0}.walk-enhanced header .eyebrow{font-size:7.5px;letter-spacing:1.15px}
 .walk-enhanced .actions{flex-direction:row;flex-shrink:0;gap:0}.walk-enhanced .actions .btn{min-height:44px;font-size:11px;padding:9px 10px;white-space:nowrap}.walk-enhanced .actions #copy{display:none}.share-long{display:none}.share-short{display:inline}
 .walk-enhanced .area-nav{display:none}.walk-enhanced .mobile-picker{display:block;flex-shrink:0;padding:8px max(14px,env(safe-area-inset-right,0px)) 10px max(14px,env(safe-area-inset-left,0px));border-bottom:1px solid var(--line);background:#edf1ed}
 .walk-enhanced .mobile-picker label{font-size:10px;font-weight:750;letter-spacing:.5px;display:block;margin-bottom:5px}.walk-enhanced select,.walk-enhanced input{font-size:16px;min-height:44px;max-width:100%;color:var(--ink)}.walk-enhanced .mobile-picker select{font-size:16px;min-height:44px;padding:10px 9px}
 .walk-enhanced .layout{display:flex;flex:1;min-height:0;height:auto;overflow:hidden;flex-direction:column}.walk-enhanced .map-wrap{order:0;height:100%;min-height:0;max-height:none;flex:1;width:100%;overflow:hidden}
 .walk-enhanced aside{order:1;flex:1;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;border:0;width:100%;padding:18px max(14px,env(safe-area-inset-right,0px)) 24px max(14px,env(safe-area-inset-left,0px))}
 .walk-enhanced[data-guide-view=map] aside{display:none}.walk-enhanced:not([data-guide-view=map]) .map-wrap{display:none}
 .guide-selection{margin:0}.guide-selection>.field-label,.guide-selection>#route,.guide-tabs{display:none}.guide-selection .option{margin:0 0 16px;padding:10px;background:#edf1ed;border-radius:8px;min-height:44px;align-items:center;font-size:13px}.guide-selection .option input{min-height:22px;width:22px;height:22px}
 .guide-heading h2{font-size:31px}.guide-heading p{font-size:14px}.guide-heading{margin-bottom:14px}#idea-stop-picker{font-size:16px}#guide-route-caption{font-size:12px}
 .guide-card{padding:17px 15px;border-radius:14px;margin-bottom:18px}.guide-card h3{font-size:24px}.guide-card .place-about{font-size:14px}.photo-prompt h4{font-size:23px}.guide-card .prompt-text{font-size:15px;line-height:1.65}.guide-card .prompt-tip{font-size:13px}.guide-card .stop-actions .btn{font-size:12px}.guide-card .source-link{min-height:44px}.guide-card .leg-link{font-size:13px;min-height:48px}.photo-prompt .change-idea{min-height:44px;font-size:13px}
 .walk-enhanced .btn{min-height:44px}.walk-enhanced .map-tools{left:max(10px,env(safe-area-inset-left,0px));right:10px;bottom:29px;max-width:calc(100% - 20px);gap:6px;display:flex;flex-wrap:wrap}.walk-enhanced .map-tools .btn{min-height:44px;padding:8px 11px;font-size:11px}#guide-overview{display:inline-flex}#guide-overview[aria-pressed=true]{background:#e5eee9;border-color:#8cab9c}.walk-enhanced #jump{display:none}
 .walk-enhanced .map-badge{top:10px;left:10px;max-width:calc(100% - 80px);padding:9px 11px;font-size:11px;line-height:1.4}.walk-enhanced .map-badge small{font-size:10px}.walk-enhanced .map-error{top:94px;left:10px;right:65px;font-size:12px}.walk-enhanced .fallback{padding:108px 20px 82px;font-size:13px}.walk-enhanced .fallback h2{font-size:23px;margin-bottom:9px}
 .guide-dock{display:grid;grid-template-columns:1fr 1fr 1fr;flex-shrink:0;gap:5px;padding:7px max(10px,env(safe-area-inset-right,0px)) calc(7px + env(safe-area-inset-bottom,0px)) max(10px,env(safe-area-inset-left,0px));background:#fff;border-top:1px solid var(--line);box-shadow:0 -2px 14px #1231;z-index:1000}
 .guide-dock button{min-height:49px;border:0;border-radius:9px;background:transparent;color:#566d68;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font:650 11px/1.3 system-ui;padding:5px 3px}.guide-dock button>span{font-size:20px;line-height:1.1;font-weight:400}.guide-dock button[aria-pressed=true]{background:#e6efea;color:#075f61}
 .walk-enhanced .toast{bottom:calc(81px + env(safe-area-inset-bottom,0px));border-radius:12px;max-width:calc(100vw - 28px);width:max-content;font-size:13px;text-align:center;line-height:1.5}.walk-enhanced .fineprint{font-size:12px}.walk-enhanced .fineprint summary{min-height:44px;padding:12px 0}.walk-enhanced .sun-box p{font-size:14px}.walk-enhanced .sun-box .small-note{font-size:12px}.walk-enhanced .small-note{font-size:12px}.walk-enhanced .parts{display:grid;grid-template-columns:1fr 1fr}.walk-enhanced .parts .btn{min-height:46px;text-align:center}.walk-enhanced .sun-times small{font-size:11px}.walk-enhanced .sun-times strong{font-size:22px}.walk-enhanced .sun-times .wide strong{font-size:14px}.walk-enhanced .intro{font-size:27px}
}
@media(max-width:359px){.walk-enhanced h1{font-size:18px}.walk-enhanced header .eyebrow{font-size:6.6px;letter-spacing:.8px}.walk-enhanced .actions .btn{font-size:10px;padding:9px 8px}.guide-card{padding:15px 12px}.photo-prompt{padding:12px}.guide-card h3{font-size:22px}.photo-prompt h4{font-size:21px}.walk-enhanced .map-tools .btn{padding:8px 9px}.prompt-top{font-size:9px}.guide-dock button{font-size:10px}}
@media(max-width:900px) and (max-height:520px){.walk-enhanced>header{padding-top:6px;padding-bottom:6px}.walk-enhanced h1{font-size:17px;max-width:none}.walk-enhanced header .eyebrow,.walk-enhanced .mobile-picker label{display:none}.walk-enhanced .mobile-picker{padding-top:5px;padding-bottom:5px}.guide-dock{padding-top:3px;padding-bottom:calc(3px + env(safe-area-inset-bottom,0px))}.guide-dock button{flex-direction:row;min-height:44px;gap:8px}.walk-enhanced .map-badge small{display:none}.walk-enhanced .map-tools{bottom:24px}.walk-enhanced .fallback{padding-top:58px;font-size:11px}.walk-enhanced .fallback h2{font-size:17px}}
@media print{body.walk-enhanced{display:block;height:auto;overflow:visible}.walk-enhanced .layout{display:block;height:auto}.walk-enhanced aside{display:block!important;overflow:visible}.walk-enhanced #guide-ideas,.walk-enhanced #guide-plan{display:block!important}.guide-dock,.guide-tabs,.guide-selection,.guide-card .stop-actions,.change-idea,.guide-copy,.mobile-picker{display:none!important}.guide-card{break-inside:avoid;box-shadow:none}.walk-enhanced .map-wrap{height:500px;display:block!important}.walk-enhanced .map-tools{display:none!important}}
