/* OSK Guide public map R1A - page-scoped layout + Leaflet critical fallback */
.guide-map-page{width:100%;max-width:1180px;margin:0 auto;padding:1.5rem 1.25rem 2.5rem;box-sizing:border-box;overflow:hidden}
.guide-map-page *{box-sizing:border-box}
.guide-map-head{max-width:760px;margin-bottom:.85rem}
.guide-map-head h1{margin:.15rem 0 .45rem}
.guide-map-intro{margin:0;line-height:1.5}
.guide-map-status{display:flex;align-items:baseline;gap:.45rem;flex-wrap:wrap;margin:0 0 1rem;padding:.75rem .9rem;border:1px solid #d7e5da;border-radius:.65rem;background:#f3f8f4}
.guide-map-status strong{font-size:1.45rem;color:#2e7d32}.guide-map-status span{font-weight:800}.guide-map-status small{flex-basis:100%;color:#5e655f;line-height:1.35}
.guide-map-filters{display:grid;grid-template-columns:minmax(12rem,2fr) minmax(10rem,1fr) minmax(10rem,1fr) auto;gap:.7rem;align-items:end;margin:0 0 .75rem;padding:.85rem;border:1px solid #e1d8cf;border-radius:.7rem;background:#fffdf9}
.guide-map-filters label{display:grid;gap:.3rem;min-width:0;font-weight:800;font-size:.85rem}.guide-map-filters input,.guide-map-filters select{display:block;width:100%;min-width:0;height:2.6rem;padding:.5rem .6rem;border:1px solid #aa9d91;border-radius:.4rem;background:#fff;font:inherit}
.guide-map-filter-actions{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap}.guide-map-toggle{display:none;gap:.45rem;margin:.25rem 0 .7rem}
.guide-map-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:.8rem;width:100%;min-width:0}.guide-map-panel{min-width:0}.guide-map-canvas{position:relative;width:100%;height:min(68vh,680px);min-height:480px;overflow:hidden;border:1px solid #d8cec5;border-radius:.75rem;background:#e8eee8;isolation:isolate}
.guide-map-list{min-width:0;max-height:min(68vh,680px);overflow:auto;padding-right:.15rem}.guide-map-list__heading{position:sticky;top:0;z-index:2;display:grid;gap:.15rem;padding:.7rem;background:#f6f1eb;border:1px solid #e1d8cf;border-radius:.55rem;margin-bottom:.55rem}.guide-map-list__heading span{font-size:.8rem;color:#666}.guide-map-list-card{padding:.75rem;margin-bottom:.55rem;border:1px solid #e2d8cf;border-radius:.55rem;background:#fffdf9}.guide-map-list-card h2{font-size:1rem;margin:.2rem 0}.guide-map-list-card p{margin:.18rem 0;font-size:.85rem}.guide-map-card-actions{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:.55rem}.guide-map-load-error{display:grid;place-items:center;text-align:center;height:100%;min-height:260px;padding:2rem;background:#f7f4ef;color:#663b18}
/* Leaflet critical CSS fallback: prevents map tiles from entering normal document flow if CDN CSS is unavailable/cached incorrectly. */
.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden;-webkit-tap-highlight-color:transparent;background:#ddd;outline-offset:1px}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-control-zoom a{display:block;width:30px;height:30px;line-height:30px;text-align:center;text-decoration:none;background:#fff;color:#333;border-bottom:1px solid #ccc;font:bold 18px/30px Arial}.leaflet-control-zoom{border:2px solid rgba(0,0,0,.2);border-radius:4px;overflow:hidden}.leaflet-control-attribution{padding:0 5px;background:rgba(255,255,255,.8);font-size:11px}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:10px;background:#fff;box-shadow:0 3px 14px rgba(0,0,0,.35)}.leaflet-popup-content{margin:13px 20px;line-height:1.45}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-left:-20px;overflow:hidden}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;transform:rotate(45deg);background:#fff;box-shadow:3px 3px 15px rgba(0,0,0,.2)}
@media(max-width:900px){.guide-map-page{padding:1.15rem 1rem 2rem}.guide-map-filters{grid-template-columns:1fr 1fr}.guide-map-filter-actions{grid-column:1/-1}.guide-map-layout{grid-template-columns:1fr}.guide-map-list{max-height:none}.guide-map-toggle{display:flex}.guide-map-list:not(.guide-map-list--mobile-active){display:none}.guide-map-canvas{height:62vh;min-height:430px}}
@media(max-width:560px){.guide-map-page{padding:.9rem .7rem 1.5rem}.guide-map-head h1{font-size:clamp(2rem,11vw,2.7rem)}.guide-map-filters{grid-template-columns:1fr;padding:.7rem}.guide-map-filter-actions{grid-column:auto}.guide-map-filter-actions .button{flex:1 1 auto;text-align:center}.guide-map-toggle .button{flex:1}.guide-map-canvas{height:60vh;min-height:360px;border-radius:.55rem}.guide-map-status{padding:.65rem .7rem}.leaflet-control-attribution{max-width:78vw;font-size:9px}}
