/* Isolated map styling reuses the existing site's light/dark design tokens. */
.dz-col{min-width:0}
.dz-cat{scroll-margin-top:110px}
.dz-cat__body>.dz-col:nth-of-type(2){grid-column:2;grid-row:1}
.destination-map{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--paper);color:var(--ink);isolation:isolate}
.destination-map__intro{grid-column:1/-1}
.destination-map__canvas{grid-column:1;grid-row:2}
.destination-map__toolbar{grid-column:1;grid-row:3}
.destination-map__places{grid-column:2;grid-row:2/4;align-content:start;border-left:1px solid var(--border)}
.destination-map__status{grid-column:1/-1}
.destination-map__intro{padding:1.25rem 1.25rem 1rem}
.destination-map__eyebrow{font-family:'Spline Sans Mono',monospace;font-size:.7rem;letter-spacing:.12em;color:var(--sand-2)}
.destination-map__title{font-family:'Newsreader',serif;font-weight:500;font-size:1.8rem;line-height:1.15;margin:.55rem 0}
.destination-map__intro p,.destination-map__status{font-size:.875rem;line-height:1.6;margin:0}
.destination-map__canvas{height:440px;width:100%;background:#dce7dd;z-index:0;font-family:inherit}
.destination-map__toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:.75rem 1rem;border-bottom:1px solid var(--border);font-size:.75rem;flex-wrap:wrap}
.destination-map__reset{font:inherit;font-weight:600;color:var(--ink);background:transparent;border:1px solid var(--border);border-radius:30px;padding:.6rem .8rem;min-height:44px;cursor:pointer}
.destination-map__reset:disabled{opacity:.5;cursor:default}
.destination-map__status{padding:1rem}
.destination-map__places{display:flex;flex-wrap:wrap;gap:8px;padding:1rem}
.destination-map__place{font-size:.8rem;line-height:1.35;padding:.65rem .8rem;min-height:44px;display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:20px;color:var(--ink);text-decoration:none;transition:background-color .18s,border-color .18s,transform .18s}
.destination-map__place::after{content:'↗';margin-left:.5rem;color:var(--sand-2)}
.destination-map__place:hover,.destination-map__reset:hover:not(:disabled){background:var(--emerald);color:var(--paper);border-color:var(--emerald)}
.destination-map__place:hover{transform:translateY(-2px)}
.destination-map__marker{background:none;border:0}
.destination-map__pin{display:block;position:relative;width:30px;height:36px;filter:drop-shadow(0 3px 3px #14291e55)}
.destination-map__pin::before{content:'';position:absolute;width:24px;height:24px;left:3px;top:1px;border:2px solid #fff;border-radius:50% 50% 50% 4px;transform:rotate(-45deg);background:#bd4035;transition:background .18s,scale .18s}
.destination-map__pin::after{content:'';position:absolute;top:9px;left:11px;width:8px;height:8px;background:#fff;border-radius:50%;pointer-events:none}
.destination-map__pin:hover::before,.destination-map__pin.is-active::before{background:#7f211a;scale:1.15}
.destination-map .leaflet-control-zoom a{width:38px;height:38px;line-height:38px;color:#16211a}
.destination-map .leaflet-tooltip{font-family:inherit;font-size:13px;color:#16211a;padding:7px 10px;border-radius:6px}
.destination-map .leaflet-control-attribution{font-size:10px;color:#253b30;background:#fffef3ed}
.destination-map .leaflet-control-attribution a{color:#175d46}
.destination-map a:focus-visible,.destination-map button:focus-visible,.dz-cat__bar:focus-visible{outline:3px solid var(--sand-2);outline-offset:3px}
.destination-map.is-ready .destination-map__intro{animation:map-enter .4s ease-out}
@keyframes map-enter{from{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:none}}
/* Keep the original layouts; give interactive elements clearer focus/hover states. */
.btn:focus-visible,.nav a:focus-visible{outline:3px solid var(--sand-2);outline-offset:4px}
@media(hover:hover){.tcard,.post{transition:box-shadow .2s ease}.tcard:hover,.post:hover{box-shadow:0 8px 24px #12201912}}
@media(max-width:760px){.dz-cat__body>.dz-col:nth-of-type(2){grid-column:auto;grid-row:auto}.destination-map{display:block}.destination-map__canvas{height:420px}.destination-map__intro{padding:1rem}.destination-map__places{padding:.8rem;border-left:0}.destination-map__place{font-size:.8rem}}
@media(prefers-reduced-motion:reduce){.destination-map *,.dz-cat.is-open .dz-list li{animation:none!important;transition:none!important}.destination-map__place:hover{transform:none}}
