/* The destination atlas shares the site's paper, stone and pine palette. */
.map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px}
.map-network-count{font-size:10px;color:var(--muted);white-space:nowrap}
.map-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;margin-top:25px;border:1px solid var(--line);background:var(--paper);align-items:stretch}
.map-frame{position:relative;min-height:680px;overflow:hidden;background:#dce6dc}
.map-svg{display:block;position:absolute;inset:0;width:100%;height:100%;min-height:0;max-height:none;touch-action:none;cursor:grab;user-select:none;outline:none}
.map-svg:focus-visible{outline:2px solid var(--clay);outline-offset:-3px}
.map-svg.is-dragging{cursor:grabbing}
.map-base{pointer-events:none}
.map-pin{cursor:pointer;outline:none}
.map-pin circle{transition:fill .18s,opacity .18s;stroke:none}
.map-pin .pin-hit{fill:none;stroke:none;pointer-events:all}
.map-pin .pin-halo{fill:var(--clay);opacity:0;pointer-events:none}
.map-pin .pin-dot{fill:var(--pine);stroke:#f8f6f0;stroke-width:1.8}
.map-pin[data-active=true] .pin-dot{fill:var(--clay);stroke:#f8f6f0}
.map-pin[data-active=true] .pin-halo{opacity:.17}
.map-pin:focus-visible .pin-hit{stroke:var(--clay);stroke-width:1.4;stroke-dasharray:2 2}
.map-pin .pin-label{font:500 11px var(--sans);fill:var(--ink);paint-order:stroke;stroke:#f3f0e4;stroke-width:4;stroke-linejoin:round;letter-spacing:0;pointer-events:all}
.map-pin[data-active=true] .pin-label{font-weight:600;fill:var(--clay)}
.map-pin[data-place="parenzana"]{pointer-events:all}
.map-pin[data-place="parenzana"] circle{display:initial}
.map-pin[data-category="landscape"] .pin-dot{fill:#f8f6f0;stroke:var(--clay);stroke-width:1.8}
.map-context-point{pointer-events:none}
.map-context-point circle{fill:#7e9381;stroke:#f3f0e4;stroke-width:1}
.map-context-point text{font:400 10px var(--sans);letter-spacing:.6px;fill:#7c8b7b;paint-order:stroke;stroke:#f3f0e4;stroke-width:3;stroke-linejoin:round}
.map-tools{position:absolute;top:16px;left:16px;display:flex;flex-direction:column;gap:5px;z-index:3}
.map-tools button{width:42px;height:42px;display:grid;place-items:center;border:1px solid #c2ccbd;background:#f8f6f0f5;color:var(--pine);font-size:21px;line-height:1;cursor:pointer;box-shadow:0 2px 5px #293f3308}
.map-tools button:hover{background:#fffdf7}
.map-tools button:disabled{opacity:.4;cursor:default}
.map-tools button:focus-visible,.map-focus-button:focus-visible{outline:2px solid var(--clay);outline-offset:3px}
.map-compass{position:absolute;right:24px;top:21px;display:flex;align-items:center;flex-direction:column;color:#64765f;font-size:9px;line-height:1;gap:4px;pointer-events:none}
.map-compass span{font-size:26px;line-height:1}
.map-attribution{position:absolute;bottom:11px;left:12px;font:8px/1.5 var(--sans);background:#f8f6f0eb;color:#64705f;padding:3px 6px}
.map-attribution a{text-decoration:underline;text-underline-offset:2px}
.map-scale{position:absolute;display:flex;justify-content:center;align-items:center;bottom:43px;left:19px;height:17px;border:0;border-bottom:1px solid #758a75;color:#52654f;pointer-events:none;font:9px/1 var(--sans);text-align:center}
.map-scale::before,.map-scale::after{content:"";position:absolute;bottom:0;width:1px;height:5px;background:#758a75}
.map-scale::before{left:0}.map-scale::after{right:0}
.map-aside{display:flex;flex-direction:column;gap:0;min-width:0;padding:24px;background:var(--paper);border:0;border-left:1px solid var(--line)}
.map-directory{padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:22px}
.map-search-field{position:relative;margin-bottom:12px}
.map-search-field input{display:block;width:100%;min-height:44px;border:1px solid var(--line);border-radius:0;background:var(--cream);padding:10px 36px 10px 13px;color:var(--ink);font:400 12px var(--sans);outline-offset:2px}
.map-search-field input:focus{outline:1px solid var(--clay)}
.map-search-field input::-webkit-search-cancel-button{display:none}
.map-search-field>button{position:absolute;right:0;top:0;width:36px;height:44px;background:none;border:0;color:var(--muted);font-size:21px;cursor:pointer}
.map-list{display:grid;grid-template-columns:1fr 1fr;gap:2px 6px;max-height:190px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#bac3b3 transparent;align-content:start;padding:0 4px 0 0;border:0;margin:0}
.map-place{display:flex;align-items:center;justify-content:space-between;gap:7px;min-height:41px;margin:0;padding:8px 7px;border:1px solid transparent;background:none;color:var(--ink);font:400 11px/1.4 var(--sans);text-align:left;cursor:pointer}
.map-place span:first-child{overflow-wrap:normal;hyphens:none}
.map-place[aria-pressed=true]{border-color:var(--line);background:var(--cream);color:var(--clay)}
.map-place:hover{background:#efede580;color:var(--clay)}
.map-place:focus-visible{outline:1px solid var(--clay);outline-offset:-1px}
.map-place-arrow{font-size:10px;opacity:.55;flex-shrink:0}
#map-no-results{font-size:12px;color:var(--muted);padding-block:12px}
.map-detail .photo{height:115px;margin-bottom:20px}
.map-detail .photo-credit{font-size:6px}
.map-detail .place-domain{font:400 9px/1.4 var(--sans);letter-spacing:.12em;color:var(--clay);margin:0 0 7px;overflow-wrap:anywhere}
.map-detail h3{font:400 36px/1.05 var(--serif);margin:0 0 12px;hyphens:none;overflow-wrap:normal}
.map-detail>p:not(.place-domain){font:400 12px/1.7 var(--sans);color:var(--muted);margin:0 0 18px}
.map-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}
.map-actions>.link{font-size:9px;letter-spacing:.02em;gap:10px}
.map-actions .save-button{font-size:10px;min-height:40px;padding:9px 12px}
.map-guide-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:17px}
.map-guide-actions>.link{font-size:9px;letter-spacing:.03em;gap:10px}
.map-focus-button{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:40px;padding:6px 0;background:none;border:0;font:400 10px/1.4 var(--sans);color:var(--muted);text-align:left;cursor:pointer}
.map-focus-button span{font-size:19px;line-height:1}
.place-coordinates{display:block;margin-top:17px;padding-top:14px;border-top:1px solid var(--line);font:400 9px/1.5 var(--sans);font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--muted)}
.place-coordinates:hover{color:var(--clay)}
.map-legend{display:flex;justify-content:space-between;gap:15px;margin-top:15px;font:400 10px/1.6 var(--sans);color:var(--muted)}
.map-place[hidden],.map-search-field>button[hidden],#map-no-results[hidden],#place-image[hidden],#place-domain[hidden]{display:none}
@media(max-width:1240px){.map-layout{grid-template-columns:minmax(0,1fr) 320px}.map-aside{padding:22px}.map-frame{min-height:690px}.map-network-count{font-size:9px}}
@media(max-width:960px){.map-layout{grid-template-columns:1fr}.map-frame{min-height:580px;height:580px}.map-aside{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:30px;padding:28px;border-left:0;border-top:1px solid var(--line)}.map-directory{padding:0 24px 0 0;border-bottom:0;border-right:1px solid var(--line);margin:0}.map-list{grid-template-columns:1fr;max-height:355px}.map-detail .photo{height:120px}.map-toolbar{align-items:flex-end}.map-network-count{margin-bottom:13px}}
@media(max-width:700px){.map-toolbar{display:block}.map-network-count{display:block;margin-top:12px;margin-bottom:0;font-size:10px}.map-layout{margin-top:18px}.map-frame{height:480px;min-height:480px}.map-svg{height:100%;min-height:0;max-height:none}.map-tools{left:12px;top:12px}.map-tools button{width:40px;height:40px}.map-compass{right:18px;top:17px}.map-aside{display:flex;flex-direction:column;gap:0;padding:22px}.map-directory{padding:0 0 20px;border-right:0;border-bottom:1px solid var(--line);margin:0 0 22px}.map-list{grid-template-columns:1fr 1fr;max-height:190px}.map-place{min-height:44px;font-size:12px}.map-search-field input{font-size:16px}.map-search-field input::placeholder{font-size:12px}.map-detail .photo{height:150px}.map-detail h3{font-size:37px}.map-detail>p:not(.place-domain){font-size:13px}.map-legend{flex-direction:column;gap:6px;font-size:10px}.map-scale{display:flex}.map-actions{flex-wrap:wrap}.map-attribution{font-size:7px}.map-guide-actions{gap:10px}}
@media(prefers-reduced-motion:reduce){.map-pin circle{transition:none}}
@media print{.map-section{display:none!important}}

/* Map reliability patch: static HTML pins remain visible before JS enhancement. */
.map-pin{display:inline;overflow:visible;text-decoration:none}
.map-pin[hidden]{display:none!important}
.map-svg .map-destinations{display:block}
@media(max-width:700px){.map-frame{height:500px;min-height:500px}.map-pin .pin-dot{stroke-width:2.2}.map-pin[data-active=true] .pin-halo{opacity:.22}}
