/* Explicitly reset SVG sizing inside this map: the country map has a 700px SVG minimum. */
.street-area-map{min-width:0;background:#fffdf7;border:1px solid #dacbb5;border-radius:16px;overflow:hidden}
.street-area-map[hidden]{display:none}
.street-area-tools{display:flex;gap:12px;align-items:end;padding:12px 14px 6px}
.street-subdistrict{display:grid;gap:4px;flex:1;font-size:13px;font-weight:700}
.street-subdistrict select{width:100%;min-width:0;height:40px;border:1px solid #d8c7b1;background:#fffdf7;border-radius:8px;padding:5px 10px;font:inherit;color:#493827}
.street-area-status{font-size:13px;line-height:1.6;color:#75634e;margin:0;padding:0 14px 10px}
.street-area-canvas{position:relative;height:clamp(480px,65vh,720px);width:100%;isolation:isolate;background:#fffdf7;overflow:hidden}
.map-panel .street-area-canvas svg{display:block;flex:none;min-height:0!important;max-height:none!important;aspect-ratio:auto;max-width:none}
.map-panel .street-area-canvas>.street-area-art{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:grab;user-select:none;background-color:#faf5e9;background-image:radial-gradient(#b696671b .7px,transparent .7px);background-size:9px 9px}
.map-panel .street-pin-icon svg{width:32px;height:32px;overflow:visible}
.map-panel .street-pin-icon svg svg{width:64px;height:64px}
.street-area-art.is-dragging{cursor:grabbing}
.street-boundary{fill:#f2ead9;stroke:#c8b497;stroke-width:1.3;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.street-boundary:nth-child(2n){fill:#f7efdf}
.street-boundary.is-muted{fill:#f7f3eb;stroke:#dfd3c2;opacity:.65}
.street-water{fill:#c2d8d3;stroke:#9ebab5;stroke-width:1;vector-effect:non-scaling-stroke}
.street-water-line{fill:none;stroke:#b6d1cc;stroke-width:4;vector-effect:non-scaling-stroke}
.street-road{fill:none;stroke:#fffdfa;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.street-road.is-main{stroke:#d5ad8c;stroke-width:3.4}
.street-area-label{font:600 12px 'Kanit Thai',Arial,sans-serif;fill:#9e866d;paint-order:stroke;stroke:#fff9eb;stroke-width:3;pointer-events:none}
.street-labels,.street-roads,.street-waters,.street-boundaries{pointer-events:none}
.street-pin{cursor:pointer;outline:none}
.street-pin-shape{fill:#c94138;stroke:#fffaf0;stroke-width:1.7;filter:drop-shadow(0 1px 1px #624c3b50)}
.street-anchor{fill:#b34b3e;stroke:#fffaf0;stroke-width:1}
.street-pin[aria-pressed=true] .street-pin-shape{fill:#872c25;stroke:#fff;stroke-width:2.5}
.street-pin:focus-visible .street-pin-icon{filter:drop-shadow(0 0 3px #8a4e22)}
.street-area-zoom{position:absolute;right:12px;top:12px;display:flex;align-items:center;background:#fffcf5;border:1px solid #d8c7b1;border-radius:10px;box-shadow:0 2px 8px #80634415;overflow:hidden}
.street-area-zoom button{font:600 22px Arial,sans-serif;color:#785639;border:0;background:transparent;min-width:42px;height:42px;padding:0 8px;cursor:pointer}
.street-area-zoom button:disabled{opacity:.35;cursor:default}
.street-area-zoom .street-area-fit{font:600 12px 'Kanit Thai',Arial,sans-serif;border-left:1px solid #e6dbc9;border-right:1px solid #e6dbc9;max-width:160px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.street-area-compass{position:absolute;left:16px;top:19px;font:600 12px Arial,sans-serif;color:#a18365;pointer-events:none}
.street-area-legend{font-size:11px;margin:0;padding:9px 14px 2px;color:#876550}
.street-area-credit{font-size:10px;margin:0;padding:0 14px 10px;color:#8c7c6b}
.street-area-credit a{text-decoration:underline;text-underline-offset:2px}
.street-nearby{display:grid;gap:6px;margin:0 0 12px;font-size:12px;color:#785c40}
.street-nearby select{max-width:100%;width:100%;font:inherit;font-size:14px;background:#fffdf7;padding:8px;border:1px solid #d8c7b1;border-radius:7px;color:#493827}
.street-unlock{border:1px solid #d8c7b1;border-radius:7px;padding:8px 12px;background:#fffdf7;font:inherit;color:#644d36;cursor:pointer}
.street-unlock{border:1px solid #d8c7b1;border-radius:7px;padding:8px 12px;background:#fffdf7;font:inherit;color:#644d36;cursor:pointer}.street-area-status{font-size:13px;line-height:1.6;color:#75634e;margin:0;padding:0 14px 10px}.street-area-canvas{height:clamp(480px,65vh,720px);width:100%;isolation:isolate;background:#fffdf7!important}.street-area-canvas .leaflet-tile-pane{filter:sepia(.19) saturate(.65)}.street-area-canvas .leaflet-control-attribution{background:#fffdf7e8!important;font-size:10px;color:#514538}.street-area-canvas .leaflet-control-attribution a{color:#514538}.street-area-legend{font-size:12px;margin:0;padding:10px 14px;color:#876550}.street-pin{border:0!important;background:transparent!important;box-shadow:none!important}.street-pin svg{display:block;width:100%;height:100%;filter:drop-shadow(0 1px 1px #624c3b50)}.street-pin[aria-pressed=true] svg{filter:drop-shadow(0 0 3px #392619)}.street-pin:focus-visible{outline:3px solid #956d45;border-radius:6px}.street-unlock{margin-left:10px;font-size:12px}.street-unlock[hidden]{display:none}.street-review-description{font-size:16px;line-height:1.9;white-space:pre-line;display:block!important;overflow:visible!important;-webkit-line-clamp:unset!important;max-height:none!important;margin-top:16px}.street-review-options{padding:14px 20px;display:grid;gap:7px}.street-review-options select{font:inherit;background:#fffdf7;border:1px solid #d8c7b1;padding:8px;border-radius:7px}.street-landmark-card{padding:22px;background:#fffdf7;border:1px solid #dacbb5;border-radius:14px}.street-landmark-image{width:100px;max-width:100%;margin:auto}.street-landmark-card h3{font-size:25px}.street-landmark-card p{line-height:1.8}.street-landmark-card .button{margin-top:10px}.street-empty{padding:20px}
.is-street-area #country-map-view,.is-street-area #bangkok-map,.is-street-area .archive-total{display:none!important}.is-street-area .map-panel{padding:0;background:transparent!important;border:0!important}.is-street-area #map-more-bottom{display:none!important}.is-street-area #map-preview-label{display:flex;align-items:center;flex-wrap:wrap;gap:5px;font-size:16px;margin:10px 0}.is-street-area .map-results-heading h3{font-size:28px}.is-street-area .map-card{background:#fffdf7;border:1px solid #dacbb5;border-radius:14px;overflow:hidden}.is-street-area .map-card-body{padding:18px}.is-street-area .map-card-body h4{font-size:26px}.is-street-area .map-results{min-width:0}.is-street-area .map-card-actions{display:none}
@media(min-width:761px){.is-street-area .map-layout{grid-template-columns:minmax(0,2fr) minmax(0,1fr)!important;align-items:start;gap:24px}.is-street-area .map-results{position:sticky;top:140px;max-height:calc(100vh - 155px);overflow-y:auto;overscroll-behavior:contain;padding-right:4px}.is-street-area .map-photo img{max-height:none!important}.is-street-area #map-cards{display:block!important}}
@media(max-width:760px){.street-area-canvas{height:440px}.street-area-tools{padding:10px;gap:8px}.street-area-status{font-size:11px;padding:0 10px 8px}.street-area-fit{font-size:12px}.street-subdistrict{font-size:12px}.street-area-legend{font-size:10px}.is-street-area .map-layout{display:block!important}.is-street-area .map-results{margin-top:16px}.street-review-description{font-size:15px}.street-area-map{border-radius:12px}}
/* The homepage uses display:contents to align filters with its map column. */
@media(min-width:761px){#map.is-street-area{grid-template-columns:minmax(0,2fr) minmax(0,1fr);column-gap:24px}#map.is-street-area>.map-search-filters{width:100%}#map.is-street-area>.map-layout{display:contents!important}#map.is-street-area .map-results{position:sticky;top:140px;max-height:calc(100vh - 155px);overflow-y:auto}}
#map.is-street-area .map-panel{display:block!important}#map.is-street-area .homepage-map-toggle{display:none!important}
/* Bound the sticky review to the top map rows, excluding the review grid below. */
.street-review-boundary{display:contents}
@media(min-width:761px){
 #map.is-street-area .street-review-boundary{display:block;grid-column:2;grid-row:1 / 4;align-self:stretch;min-width:0;min-height:0}
 #map.has-homepage-search.is-street-area .street-review-boundary{grid-row:1 / 5}
 #map.is-street-area .street-review-boundary>.map-results{top:calc(var(--sticky-header-height,126px) + 14px);max-height:calc(100svh - var(--sticky-header-height,126px) - 28px)}
}

/* Compact body copy in the desktop one-third review column. */
@media(min-width:761px){#map.is-street-area .street-review-description{font-size:14px;line-height:1.75;margin-top:12px}}
/* Match the complete article typography used in neighborhood sidebars. */
#map.is-street-area .map-inline-review .map-card-body h4{font-size:22px;line-height:1.4}
@media(max-width:760px){#map.is-street-area .map-inline-review .map-card-body h4{font-size:23px}}
/* Artwork may fan out; the endpoint dot remains at its exact source coordinate. */
.street-pin-leader{stroke:#9b6253;stroke-width:1.3;stroke-dasharray:2 2;pointer-events:none;}
.street-mall-badge{fill:#fff6dc;stroke:#a8782f;stroke-width:1.6;filter:drop-shadow(0 2px 3px #72562326)}
.street-mall-name{font:700 11px 'Kanit Thai',Arial,sans-serif;fill:#5e431f}
.street-pin[role=link]:hover .street-mall-badge,.street-pin[role=link]:focus .street-mall-badge{fill:#ffe8b6;stroke:#6b4619;stroke-width:2.3}

/* Confirmed permanent closure remains black during hover, focus and selection. */
.street-pin.is-closed .street-pin-shape,.street-pin.is-closed[aria-pressed=true] .street-pin-shape{fill:#111}
.street-pin.is-closed .street-anchor{fill:#111}
.street-pin.is-closed .street-pin-leader{stroke:#111}

/* Verified temporary closure stays gray when the archived review is selected. */
.street-pin.is-temporarily-closed .street-pin-shape,.street-pin.is-temporarily-closed:hover .street-pin-shape,.street-pin.is-temporarily-closed[aria-pressed=true] .street-pin-shape{fill:#808080}
.street-pin.is-temporarily-closed .street-anchor{fill:#808080}
.street-pin.is-temporarily-closed .street-pin-leader{stroke:#808080}
