/* Paris neighborhood guide only. Existing tokens, local Leaflet and no property imagery. */
.tg-ui .tg-paris-guide .tg-zone-map { padding: clamp(16px,3vw,28px); border: 1px solid var(--tg-color-border); border-radius: var(--tg-radius-card); background: var(--tg-color-surface); }
.tg-ui .tg-paris-guide .tg-zone-map [hidden] { display: none !important; }
.tg-ui .tg-paris-guide .tg-zone-map__profiles { display: flex; flex-wrap: wrap; gap: 8px; margin-block: 20px; }
.tg-ui .tg-paris-guide .tg-zone-map button,
.tg-ui .tg-paris-guide .tg-zone-map select,
.tg-ui .tg-paris-guide .tg-zone-map__choices a { min-height: 44px; font: inherit; padding: 10px 12px; border: 1px solid var(--tg-color-border-strong); border-radius: 8px; color: var(--tg-color-action); background: var(--tg-color-surface); cursor: pointer; }
.tg-ui .tg-paris-guide .tg-zone-map [aria-pressed="true"] { background: var(--tg-color-action); color: var(--tg-color-on-action); border-color: var(--tg-color-action); font-weight: 650; }
.tg-ui .tg-paris-guide .tg-zone-map :where(button,select,[tabindex]):focus-visible { outline: 3px solid var(--tg-color-focus); outline-offset: 3px; }
.tg-ui .tg-paris-guide .tg-zone-map__canvas { height: 440px; border: 1px solid var(--tg-color-border-strong); border-radius: 12px; background: var(--tg-color-surface-soft); isolation: isolate; touch-action: pan-y; }
.tg-ui .tg-paris-guide .tg-zone-map__canvas .leaflet-tile { max-width: none; max-height: none; border-radius: 0; }
.tg-ui .tg-paris-guide .tg-zone-map__pin { display: grid; place-items: center; border: 3px solid #fff; border-radius: 50%; background: #475569; color: #fff; box-shadow: 0 2px 6px #12243a55; font: 700 16px/1 system-ui,sans-serif; }
.tg-ui .tg-paris-guide .tg-zone-map__pin.is-selected { background: var(--tg-color-action); }
.tg-ui .tg-paris-guide .tg-zone-map__canvas .leaflet-control-zoom a { width: 44px; height: 44px; line-height: 44px; }
.tg-ui .tg-paris-guide .tg-zone-map__canvas .leaflet-control-attribution { max-width: calc(100% - 12px); white-space: normal; font-size: 11px; }
.tg-ui .tg-paris-guide .tg-zone-map[data-map-bound] .tg-zone-map__load-status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.tg-ui .tg-paris-guide .tg-zone-map[data-tile-state="unavailable"] .tg-zone-map__load-status { position: static; width: auto; height: auto; margin: 16px 0; overflow: visible; clip-path: none; white-space: normal; }
.tg-ui .tg-paris-guide .tg-zone-map__picker { margin-block: 16px; min-width: 0; }
.tg-ui .tg-paris-guide .tg-zone-map__picker label { display: block; margin-block-end: 8px; font-weight: 650; }
.tg-ui .tg-paris-guide .tg-zone-map__picker select { display: block; width: 100%; min-width: 0; max-width: 100%; }
.tg-ui .tg-paris-guide .tg-zone-map__layout { display: grid; gap: 20px; margin-block-start: 20px; min-width: 0; }
.tg-ui .tg-paris-guide .tg-zone-map__layout > :where(nav,div) { min-width: 0; }
.tg-ui .tg-paris-guide .tg-zone-map[data-map-bound] .tg-zone-map__layout > nav { display: none; }
.tg-ui .tg-paris-guide .tg-zone-map__card { min-width: 0; padding: 20px; border: 1px solid var(--tg-color-border); border-radius: 12px; background: var(--tg-color-surface-soft); }
.tg-ui .tg-paris-guide .tg-zone-map__card h3 { font-family: var(--tg-font-display); font-weight: 400; margin: 0 0 12px; }
.tg-ui .tg-paris-guide .tg-zone-map__card p { margin-block: 0 12px; }
.tg-ui .tg-paris-guide .tg-zone-map__card dl { display: grid; gap: 16px; margin: 16px 0; }
.tg-ui .tg-paris-guide .tg-zone-map__card dt { font-weight: 650; }
.tg-ui .tg-paris-guide .tg-zone-map__card dd { margin: 4px 0 0; }
.tg-ui .tg-paris-guide .tg-zone-map__card dl > div:last-child { border-block-start: 1px solid var(--tg-color-border-strong); padding-block-start: 12px; }
.tg-ui .tg-paris-guide .tg-zone-map__links { display: grid; gap: 8px; }
.tg-ui .tg-paris-guide .tg-zone-map__links a { min-height: 44px; display: inline-flex; align-items: center; }
.tg-ui .tg-paris-guide .tg-zone-map__choices { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; padding: 0; margin: 0; list-style: none; }
.tg-ui .tg-paris-guide .tg-zone-map__choices li { min-width: 0; }
.tg-ui .tg-paris-guide .tg-zone-map__choices :where(a,button) { display: block; width: 100%; text-align: left; }
.tg-ui .tg-paris-guide .tg-zone-map__note { font-size: var(--tg-text-small); color: var(--tg-color-muted); }
@media (min-width: 64rem) {
 .tg-ui .tg-paris-guide .tg-zone-map__canvas { height: 520px; }
 .tg-ui .tg-paris-guide .tg-zone-map[data-map-bound] .tg-zone-map__picker { display: none; }
 .tg-ui .tg-paris-guide .tg-zone-map[data-map-bound] .tg-zone-map__layout { grid-template-columns: minmax(0,1fr) minmax(0,1fr); grid-template-areas: "choices choices" "map card"; align-items: start; }
 .tg-ui .tg-paris-guide .tg-zone-map[data-map-bound] .tg-zone-map__layout > nav { display: block; grid-area: choices; }
 .tg-ui .tg-paris-guide .tg-zone-map[data-map-bound] .tg-zone-map__view { grid-area: map; }
 .tg-ui .tg-paris-guide .tg-zone-map[data-map-bound] .tg-zone-map__card { grid-area: card; }
 .tg-ui .tg-paris-guide .tg-zone-map[data-map-bound] .tg-zone-map__choices { grid-template-columns: repeat(5,minmax(0,1fr)); }
 .tg-ui .tg-paris-guide .tg-zone-map[data-map-state="unavailable"] .tg-zone-map__layout { grid-template-columns: minmax(0,1fr); grid-template-areas: "choices" "card"; }
}
@media (max-width: 40rem) {
 .tg-ui .tg-paris-guide .tg-zone-map__canvas { height: 320px; }
 .tg-ui .tg-paris-guide .tg-zone-map__choices { grid-template-columns: 1fr; }
 .tg-ui .tg-paris-guide .tg-zone-map__card { padding: 16px; }
}
@media (forced-colors: active) {
 .tg-ui .tg-paris-guide .tg-zone-map :where(button,select,[tabindex]):focus-visible { outline-color: Highlight; }
 .tg-ui .tg-paris-guide .tg-zone-map__pin.is-selected { outline: 3px solid Highlight; }
}
