/* Location Simplification 01. Page-only styling; approved --u scale unchanged. */
.location-page{background:var(--paper)}.location-page main{font-size:calc(11 * var(--u));line-height:1.5}.location-page main h2{font-size:calc(29 * var(--u));line-height:1.07;letter-spacing:-.035em}.location-page .sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.local-guide{padding:calc(28 * var(--u)) calc(46 * var(--u)) calc(15 * var(--u))}.local-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:calc(42 * var(--u));align-items:center}.local-intro h1{font-size:calc(36 * var(--u));line-height:1.03;letter-spacing:-.035em;margin-top:calc(12 * var(--u))}.local-intro>p{color:#34433e;max-width:calc(360 * var(--u))}.local-context{display:grid;grid-template-columns:1.1fr 1fr;gap:calc(42 * var(--u));padding:calc(14 * var(--u)) 0;margin-top:calc(20 * var(--u));border-top:1px solid #d6ddd3;border-bottom:1px solid #d6ddd3}.local-context>div{display:flex;align-items:center;gap:calc(11 * var(--u))}.local-context svg{width:calc(22 * var(--u));height:calc(22 * var(--u));flex-shrink:0;color:#28443b}.local-context strong,.local-context span{display:block;font-size:calc(10 * var(--u))}.local-context span{font-size:calc(9 * var(--u));margin-top:calc(2 * var(--u));color:#4c5c52}
.location-tool{position:relative}.location-tool-toolbar{margin:calc(17 * var(--u)) 0 calc(12 * var(--u))}.location-filters{display:flex;flex-wrap:wrap;gap:calc(7 * var(--u))}.location-filter{border:1px solid #cbd4c9;background:#f9f8f4;border-radius:999px;min-height:calc(29 * var(--u));padding:0 calc(15 * var(--u));font:500 calc(10 * var(--u))/1.2 var(--sans);color:#28443b;cursor:pointer}.location-filter:hover{background:#e5e9e0}.location-filter.is-active{background:#28443b;border-color:#28443b;color:white}.location-filter:focus-visible,.location-focus-btn:focus-visible,.location-map-enable:focus-visible,.location-destination-grid:focus-visible{outline:2px solid #28443b;outline-offset:3px}
.location-map-product{border:1px solid #c9d1c7;border-radius:calc(4 * var(--u));overflow:hidden;scroll-margin-top:20px}.location-map-wrap{position:relative;height:calc(315 * var(--u));background:#e5e9e0}.location-map{position:absolute;inset:0;width:100%;height:100%;z-index:1;background:#e5e9e0}.location-map-fallback{position:absolute;inset:0;z-index:0;display:grid;align-content:center;justify-items:center;text-align:center;padding:24px}.location-map-fallback[hidden],.location-map-enable[hidden]{display:none}.location-map-fallback p{margin:10px 0}.location-map-fallback a{color:#28443b;text-decoration:underline}.location-map-enable{position:absolute;z-index:650;left:50%;bottom:24px;transform:translateX(-50%);min-height:44px;padding:0 18px;border:1px solid #fff;border-radius:999px;background:#28443b;color:white;font:600 14px/1 var(--sans);box-shadow:0 3px 12px #12251d25;white-space:nowrap}.location-map.is-unavailable{display:none}.location-map.map-is-locked:after{content:'';position:absolute;inset:0;z-index:500;pointer-events:none;background:linear-gradient(0deg,#28443b0c,transparent 25%)}
.location-destination-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:calc(21 * var(--u)) 0 calc(13 * var(--u))}.location-destination-head h2{margin-top:calc(8 * var(--u))}.location-destination-head>span{font-size:calc(9 * var(--u));color:#4c5c52}.location-destination-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(10 * var(--u));max-height:calc(295 * var(--u));overflow-y:auto;overscroll-behavior:auto;padding:2px;scrollbar-color:#a8b8aa #eef0e9;scrollbar-width:thin}.location-destination-grid:has(>.location-place-card:only-child){grid-template-columns:1fr}.location-place-card{display:flex;flex-direction:column;min-width:0;padding:calc(14 * var(--u));border:1px solid #d8dfd5;border-radius:calc(4 * var(--u));background:#fff}.location-place-card.is-selected{border-color:#28443b;box-shadow:inset 0 0 0 1px #28443b;background:#f3f6ef}.location-place-card-top{display:flex;align-items:center;gap:calc(8 * var(--u))}.location-card-icon{display:grid;place-items:center;width:calc(22 * var(--u));height:calc(22 * var(--u));flex-shrink:0;border-radius:50%;background:#e5e9e0;color:#28443b}.location-card-icon svg{width:65%;height:65%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.location-place-category{font-size:calc(8 * var(--u));letter-spacing:.07em;text-transform:uppercase;color:#476452}.location-place-time{margin-left:auto;white-space:nowrap;font-size:calc(9 * var(--u));font-weight:600;color:#28443b}.location-place-card h3{font-family:var(--serif);font-weight:500;font-size:calc(18 * var(--u));line-height:1.15;margin-top:calc(8 * var(--u))}.location-place-card p{font-size:calc(10 * var(--u));line-height:1.45;color:#45564b;margin-top:calc(7 * var(--u))}.location-place-actions{display:flex;align-items:center;flex-wrap:wrap;gap:calc(14 * var(--u));padding-top:calc(12 * var(--u));margin-top:auto}.location-focus-btn{font:600 calc(9 * var(--u))/1 var(--sans);color:#28443b;background:#e8eee4;border:1px solid #cad6c6;border-radius:999px;padding:0 calc(11 * var(--u));min-height:calc(27 * var(--u));cursor:pointer}.location-place-actions a{font-size:calc(9 * var(--u));color:#28443b;font-weight:600;text-decoration:underline;text-underline-offset:3px;padding-block:8px}.location-time-note{font-size:calc(8.5 * var(--u));color:#526056;margin-top:calc(10 * var(--u))}.location-noscript{padding:20px;background:#e5e9e0}.location-noscript a{text-decoration:underline}
.local-transport{display:flex;align-items:center;gap:calc(14 * var(--u));margin:0 calc(46 * var(--u)) calc(20 * var(--u));padding:calc(15 * var(--u)) calc(18 * var(--u));background:#e5e9e0;border-radius:calc(4 * var(--u));font-size:calc(10 * var(--u));color:#344b3f}.local-transport svg{width:calc(26 * var(--u));height:calc(26 * var(--u));flex-shrink:0}.local-transport strong{color:#28443b}.local-cta{display:flex;justify-content:space-between;align-items:center;gap:calc(25 * var(--u));padding:calc(28 * var(--u)) calc(46 * var(--u));background:var(--cream)}.local-cta p{margin-top:calc(10 * var(--u));color:#34433e}
/* Map geometry uses Leaflet's original pixel anchors, independent of page typography. */
.location-map.leaflet-container{font-family:var(--sans)}.location-map .leaflet-control-zoom{border:1px solid #bbc8bd;box-shadow:0 2px 8px #12251d14}.location-map .leaflet-control-zoom a{width:40px;height:40px;line-height:40px;color:#28443b;background:white}.location-map .leaflet-control-attribution{font-size:10px;background:#ffffffdf}.location-map .leaflet-popup-content-wrapper{border-radius:8px;box-shadow:0 4px 20px #12251d30}.location-map .leaflet-popup-content{margin:17px;min-width:170px;font-family:var(--sans)}.location-map .leaflet-popup-close-button{width:32px;height:32px;font-size:22px;line-height:32px}.location-popup{display:grid;gap:8px}.location-popup strong{font-size:16px;line-height:1.25;color:#28443b}.location-popup small{font-size:14px;line-height:1.4;color:#425247}.location-popup a{font-size:14px;font-weight:600;color:#28443b;text-decoration:underline;padding-block:9px}.leaflet-sam-icon,.leaflet-home-icon,.leaflet-route-label{background:none!important;border:0!important}.leaflet-sam-pin{position:relative;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#486b55;color:#fff;border:2px solid #fff;box-shadow:0 3px 10px #12251d45}.leaflet-sam-pin:before{content:'';position:absolute;inset:-5px;border-radius:50%}.leaflet-sam-pin svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.leaflet-sam-pin-academy{width:44px;height:44px;background:#28443b}.leaflet-sam-icon.is-selected .leaflet-sam-pin{outline:3px solid #7e9a83;outline-offset:2px}.leaflet-home-pin{display:grid;place-items:center;width:52px;height:52px;border:3px solid white;border-radius:50%;background:#28443b;box-shadow:0 0 0 4px #28443b24,0 3px 12px #12251d40}.leaflet-home-pin img{width:34px;height:34px;object-fit:contain;filter:invert(1)}.leaflet-route-label span{display:inline-block;white-space:nowrap;background:#ffffffed;border:1px solid #afc1b1;border-radius:999px;padding:7px 10px;font:600 11px/1 var(--sans);color:#28443b;box-shadow:0 2px 6px #12251d18}.location-map .leaflet-tooltip{background:#28443b;color:#fff;border:0;border-radius:5px;font:500 12px/1.2 var(--sans);padding:7px 9px}.location-map .leaflet-tooltip-top:before{border-top-color:#28443b}.location-map:has(.leaflet-popup) .leaflet-tooltip{display:none!important}
@media(min-width:761px) and (max-width:1100px){.local-guide{padding:28px 32px 18px}.local-intro{gap:28px}.local-intro h1{font-size:38px}.local-intro>p{font-size:16px}.local-context{gap:28px}.local-context strong{font-size:14px}.local-context span{font-size:12px}.location-filter{min-height:40px;font-size:13px;padding-inline:14px}.location-map-wrap{height:460px}.location-destination-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:420px}.location-place-card h3{font-size:24px}.location-place-card p{font-size:14px}.location-place-category{font-size:11px}.location-place-time,.location-destination-head>span{font-size:12px}.location-focus-btn,.location-place-actions a{font-size:13px;min-height:40px}.location-time-note{font-size:12px}.local-transport{margin:0 32px 22px;padding:18px;font-size:14px}.local-cta{padding:28px 32px}.local-cta p{font-size:15px}.local-cta .ref-button{min-height:44px;font-size:13px}}
@media(max-width:760px){.location-page main{font-size:16px}.location-page main h2{font-size:31px}.location-page main .ref-eyebrow{font-size:11px}.local-guide{padding:26px 20px 17px}.local-intro{display:block}.local-intro h1{font-size:35px;line-height:1.05;margin:12px 0 18px}.local-intro>p{max-width:520px}.local-context{display:block;margin-top:20px;padding:15px 0}.local-context>div+div{margin-top:14px}.local-context svg{width:24px;height:24px}.local-context strong{font-size:14px}.local-context span{font-size:12px;margin-top:3px}.location-tool-toolbar{margin:17px 0 12px}.location-filters{gap:7px;flex-wrap:wrap}.location-filter{font-size:13px;min-height:42px;padding-inline:13px}.location-map-wrap{height:380px}.location-map-product{border-radius:6px;scroll-margin-top:12px}.location-map .leaflet-control-zoom a{width:44px;height:44px;line-height:44px}.location-destination-head{margin:23px 0 14px}.location-destination-head h2{margin-top:9px}.location-destination-head>span{font-size:12px;white-space:nowrap}.location-destination-grid{grid-template-columns:1fr;gap:10px;max-height:390px;padding:2px}.location-place-card{padding:16px;border-radius:6px}.location-card-icon{width:28px;height:28px}.location-place-category{font-size:11px}.location-place-time{font-size:12px}.location-place-card h3{font-size:25px;margin-top:10px}.location-place-card p{font-size:15px;margin-top:8px}.location-place-actions{padding-top:12px;gap:18px}.location-focus-btn,.location-place-actions a{font-size:14px;min-height:44px}.location-focus-btn{padding-inline:14px}.location-place-actions a{display:inline-flex;align-items:center}.location-time-note{font-size:12px;line-height:1.4;margin-top:12px}.local-transport{margin:0 20px 22px;padding:16px;font-size:14px;align-items:flex-start;gap:12px}.local-transport svg{width:26px;height:26px}.local-cta{display:block;padding:28px 24px}.local-cta p{margin:14px 0 22px}.local-cta .ref-button{font-size:14px;min-height:46px;padding-inline:18px}}
@media(max-width:359px){.local-intro h1{font-size:31px}.location-filter{padding-inline:11px}.location-page .location-destination-head h2{font-size:28px}}
/* Let Leaflet's renderer dimensions control geographic overlays, not UI icon sizing. */
.location-page .location-map .leaflet-overlay-pane>svg{width:auto;height:auto}

@media(max-width:760px){.location-map .leaflet-popup-content{max-width:calc(100vw - 150px)}.location-map .leaflet-top.leaflet-left{top:auto;bottom:32px}}
