/* Quiet blue illustration; all geographic detail is native SVG at every zoom. */
.project-map[data-map-style=illustrative]{background:#eef4fa;border-color:#cbd9e9}
[data-map-style=illustrative] .map-canvas{background:#f3f7fc}
[data-map-style=illustrative] .map-land{fill:#dfeaf4;stroke:#9eb6d3;stroke-width:1}
[data-map-style=illustrative] .canton{fill:#e1ebf5;stroke:#91aaca;stroke-width:.7}
[data-map-style=illustrative] .canton:nth-child(3n){fill:#d9e6f2}
[data-map-style=illustrative] .canton:nth-child(3n+1){fill:#e7eff7}
[data-map-style=illustrative] .canton:hover,
[data-map-style=illustrative] .canton:focus-visible{fill:#c7d8ed;stroke:#273b9c;stroke-width:1.2}
[data-map-style=illustrative] .canton[aria-pressed=true]{fill:#ccddef;stroke:#273b9c}
.map-hydrography{pointer-events:none}
.map-water{fill:#b0cfe5;stroke:#7aa5c2;stroke-width:.7;vector-effect:non-scaling-stroke}
.map-rivers,.map-streams{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.map-rivers{stroke:#79a4c5;stroke-width:1.2}
.map-streams{stroke:#a3bfd7;stroke-width:.65}
.map-city-labels{pointer-events:none}
.map-city-labels text{font:600 12px Manrope,sans-serif;fill:#496589;paint-order:stroke;stroke:#f3f7fc;stroke-width:4;stroke-linejoin:round}
[data-map-style=illustrative] .map-orientation{color:#567ba4}
[data-map-style=illustrative] .map-legend{color:#314e7b;pointer-events:none}
[data-map-style=illustrative] .map-credit{color:#627894}
[data-map-style=illustrative] .canton-total circle{stroke:#90a9ca}
[data-map-style=illustrative] .canton-total text{fill:#273b9c}
[data-map-style=illustrative] .canton-total .canton-leader{stroke:#90a9ca}
.map-geography{position:absolute;max-width:none!important;min-height:0!important;pointer-events:none;transform-origin:0 0;will-change:transform;overflow:visible}
.map-canvas{overflow:hidden}
.swiss-project-map{position:relative;z-index:1}
[data-map-style=illustrative] .map-orientation,
[data-map-style=illustrative] .map-legend,
[data-map-style=illustrative] .map-credit{z-index:2}
.map-controls .map-touch-toggle{display:none;width:auto;padding:0 13px}
body [data-touch-active=true] .swiss-project-map{touch-action:none}
.map-controls .map-touch-toggle[aria-pressed=true]{background:#273b9c;color:#fff}
.map-controls button[data-map-reset]{font-size:13px}
@media(pointer:coarse){.map-controls .map-touch-toggle{display:block}}
@media(max-width:450px) and (pointer:coarse){
 .project-map .map-canvas{padding-bottom:124px}
 .map-controls{gap:5px;left:14px;right:14px;flex-wrap:wrap}
 .map-controls .map-touch-toggle{font-size:12px;padding:0 12px;flex-basis:100%}
 .project-map .map-legend{bottom:126px}
}

/* Karin's location proposal: one equal marker per locality, no regional totals. */
[data-map-presentation=locations] .canton,
[data-map-presentation=locations] .canton:nth-child(n){fill:#e2edf6;stroke:#b2c6dc;stroke-width:.6;cursor:default}
[data-map-presentation=locations] .map-land{fill:#e2edf6;stroke:#9eb6d3}
[data-map-presentation=locations] .map-canvas{background:#f3f7fc}
[data-map-presentation=locations] .place-dot{fill:#273b9c;stroke:#fff;stroke-width:1;opacity:.86}
[data-map-presentation=locations] .map-place:hover .place-dot,
[data-map-presentation=locations] .map-place:focus-visible .place-dot,
[data-map-presentation=locations] .map-place[aria-pressed=true] .place-dot{fill:#162779;stroke:#fff;stroke-width:2;r:5;opacity:1}
[data-map-presentation=locations] .place-hit{pointer-events:all}

.swiss-project-map[hidden]{display:none!important}
.swiss-project-canvas{display:block;position:relative;z-index:1;width:100%;aspect-ratio:930/599.98;min-height:440px;touch-action:pan-y;cursor:grab;outline-offset:-4px}
.map-cache-viewport{position:absolute;z-index:0;overflow:hidden;pointer-events:none;background:#f3f7fc}
.map-geography-cache{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform;max-width:none!important;pointer-events:none}
.project-map-section{padding-bottom:64px}
.project-map-section+#objekte{padding-top:48px}
.swiss-project-canvas.is-dragging{cursor:grabbing}
.swiss-project-canvas:focus-visible{outline:2px solid #273b9c}
[data-touch-active=true] .swiss-project-canvas{touch-action:none}
.map-point-tooltip{position:absolute;z-index:4;transform:translate(-50%,-100%);background:#273b9c;color:#fff;border-radius:8px;padding:9px 12px;font:600 14px/1.4 Manrope,sans-serif;pointer-events:none;white-space:nowrap;max-width:calc(100% - 24px);overflow:hidden;text-overflow:ellipsis}
.map-point-tooltip[hidden]{display:none}
@media(max-width:750px){.swiss-project-canvas{min-height:360px}}
@media(max-width:540px){.swiss-project-canvas{min-height:320px}}
