/* The overview scrolls as one page; the place panel owns its desktop scroll. */
body:has(#overview:not([hidden]) .writers-map-card) .tt-shell { width: calc(100% - 32px); max-width: none; height: auto; margin: 12px 16px; border-radius: 24px; background: #f7f3eb; }
body:has(#overview:not([hidden]) .writers-map-card) .tt-content { padding: 0; }
body:has(#overview:not([hidden]) .writers-map-card) .tt-footer { display: none; }
body:has(#overview:not([hidden]) .writers-map-card) #overview { padding: 0; }
body:has(#overview:not([hidden]) .writers-map-card) #overview > .destination-banner { margin: 0 16px 12px; }
body:has(#overview:not([hidden]) .writers-map-card) .tt-overview-map { height: auto; }
.writers-map-card { position: relative; display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); grid-template-rows: 44px min(505px, 60vh) auto; gap: 12px 16px; width: 100%; padding: 0 16px 16px; border: 0; border-radius: 0; background: #f7f3eb; overflow: visible; }
.writers-map-header { grid-column: 1; display: flex; align-items: center; min-width: 0; }
.writers-map-header h3, .writers-map-tooltip { display: none; }
.writers-map-layers { display: flex; align-items: center; flex-wrap: nowrap; gap: 6px; min-width: 0; max-width: 100%; overflow-x: auto; scrollbar-width: none; }
.writers-map-layers::-webkit-scrollbar { display: none; }
.writers-map-layer { display: inline-flex; align-items: center; gap: 7px; flex-shrink: 0; white-space: nowrap; }
.writers-map-body { display: contents; }
.writers-map-body > [data-map-canvas] { position: relative; grid-column: 1; grid-row: 2; width: 100%; height: 100%; min-height: 0; overflow: hidden; border-radius: 16px; }
.writers-map-body > [data-map-slot="panel"] { position: relative; grid-column: 2; grid-row: 1 / 4; min-width: 0; min-height: 0; height: 100%; overflow-y: auto; border-radius: 16px; background: #fff; color: var(--tt-ink); text-align: left; }
.writers-map-body > .overview-teasers { grid-column: 1; grid-row: 3; min-width: 0; }
.writers-map-card > [data-map-slot="status"]:not([hidden]) { position: absolute; z-index: 6; top: 68px; left: 76px; max-width: 50%; margin: 0; padding: 8px 12px; border-radius: 6px; background: #fff; }
.writers-map-card .map-footer { position: absolute; z-index: 5; top: calc(44px + min(505px, 60vh) - 62px); left: 30px; background: #fff; border-radius: 12px; box-shadow: 0 2px 10px #0003; }
.writers-map-card .map-action { display: flex; align-items: center; gap: 12px; padding: 10px; color: #282830; text-decoration: none; }
.map-action span { display: flex; flex-direction: column; }
.map-action small { font-size: 11px; }
.map-action-photo { width: 46px; height: 40px; border-radius: 6px; object-fit: cover; }
.map-default-panel { padding: 12px; }
.map-default-panel h2 { font-family: var(--tt-serif, Georgia, serif); }
.map-default-location, .map-default-guide { font-family: var(--tt-serif, Georgia, serif); }
.map-default-link { display: flex; align-items: center; gap: 12px; margin: 16px 0; padding: 12px; border: 1px solid var(--tt-border); border-radius: 10px; color: var(--tt-ink); text-decoration: none; }
.map-default-link > span:first-child { padding: 8px; background: var(--tt-accent-tint, #f8e6e0); font: 24px Georgia, serif; }
.map-default-link > span:nth-child(2) { display: grid; gap: 4px; }
.map-default-link small { color: var(--tt-muted); }
@media (max-width: 600px) {
 body:has(#overview:not([hidden]) .writers-map-card) .tt-shell { width: 100%; margin: 0; border-radius: 0; }
 body:has(#overview:not([hidden]) .writers-map-card) #overview { padding-bottom: calc(80px + env(safe-area-inset-bottom, 0px)); }
 body:has(#overview:not([hidden]) .writers-map-card) #overview > .destination-banner { margin: 0 8px 8px; }
 .writers-map-card { display: flex; flex-direction: column; gap: 8px; padding: 0 8px; }
 .writers-map-header { min-height: 44px; }
 .writers-map-body > [data-map-canvas] { height: 220px; min-height: 220px; border-radius: 12px; }
 .writers-map-body > [data-map-slot="panel"] { height: auto; overflow: visible; border-radius: 12px; }
 .writers-map-card .map-footer { display: none; }
 .writers-map-card > [data-map-slot="status"]:not([hidden]) { top: 56px; left: 68px; max-width: calc(100% - 120px); font-size: 11px; }
}
@media (min-width: 601px) {
 .writers-map-body > [data-map-slot="panel"] { contain: size; }
}
