.travel{margin-top:90px;border-top:1px solid #181818;padding-top:40px}.travel-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px}.travel-eyebrow{font-size:10px;letter-spacing:.2em;color:#777;font-weight:600}.travel h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(32px,4.3vw,64px);letter-spacing:-.045em;margin:12px 0}.travel-intro,.travel-note{font-size:13px;color:#777;line-height:1.8}.travel-heading a{font-size:12px;color:#777;white-space:nowrap}.travel-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.travel button{font:inherit;cursor:pointer}.travel-regions{display:flex;gap:6px}.travel-regions button{border:1px solid #ddd;background:white;border-radius:20px;padding:9px 15px;font-size:12px}.travel-regions button[aria-pressed=true]{background:#171717;color:white;border-color:#171717}#travel-count{font-size:10px;letter-spacing:.14em;color:#888}.travel-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;border:1px solid #deded9;border-radius:4px;overflow:hidden}#travel-map{height:540px;background:#e5e8e7;z-index:0}.travel-sidebar{padding:20px;background:#faf9f6;overflow:auto;max-height:540px;border-left:1px solid #deded9}.travel-sidebar h3{font-size:22px;font-weight:400;margin:10px 0 12px}.travel-sidebar p{font-size:12px;line-height:1.9;color:#888}/* Compact place list with a generous pointer target. */
.travel-place{display:flex;align-items:center;gap:6px;border-top:1px solid #e5e3df;transition:background .16s;border-radius:3px}
.travel-place a{display:flex;align-items:center;flex:1;gap:9px;min-width:0;min-height:40px;padding:9px 7px;color:#333;text-decoration:none;font-size:13px;line-height:1.45;overflow-wrap:anywhere}
.travel-place a:before{content:'';flex:0 0 5px;width:5px;height:5px;border-radius:50%;background:#c83228}
.travel-place.is-active{background:#c832280c}
.travel-place.is-active a,.travel-place a:hover{color:#b1241b}
.travel-place button{flex-shrink:0;border:0;background:none;font-size:11px;color:#777;padding:10px 4px}
.travel-pin{background:transparent;border:0;display:grid;place-items:center}
.travel-pin-dot{display:block;width:14px;height:14px;border:2px solid white;border-radius:50%;background:#c83228;box-shadow:0 0 0 4px #c832281c,0 2px 7px #0004;position:relative;pointer-events:none;transform-origin:50% 100%}
.travel-pin.is-active .travel-pin-dot{background:#e52e22;animation:travel-bounce .72s ease-in-out infinite;box-shadow:0 0 0 7px #c832282a,0 5px 12px #0004}
.travel-pin.is-active .travel-pin-dot:after{content:'';position:absolute;inset:-10px;border:1.5px solid #c83228;border-radius:50%;animation:travel-ring 1.4s ease-out infinite}
@keyframes travel-bounce{0%,100%{transform:translateY(0) scale(1.2)}45%{transform:translateY(-15px) scale(1.35)}70%{transform:translateY(-3px) scale(1.2)}}
@keyframes travel-ring{0%{opacity:.7;transform:scale(.6)}100%{opacity:0;transform:scale(1.7)}}
@media(prefers-reduced-motion:reduce){.travel-pin.is-active .travel-pin-dot{animation:none;transform:scale(1.5)}.travel-pin.is-active .travel-pin-dot:after{animation:none;opacity:.35}.travel-place{transition:none}}
.travel .leaflet-tooltip{border:1px solid #e1ded9;border-radius:5px;padding:7px 11px;color:#292723;box-shadow:0 3px 14px #0001;font-size:12px}
.travel .leaflet-container{font-family:inherit}.travel .leaflet-control-attribution{font-size:9px}.travel-note{font-size:10px;letter-spacing:.04em}#travel-add{border:1px solid #bbb;background:transparent;padding:12px;width:100%;margin-top:20px;font-size:12px}.travel dialog{border:1px solid #ddd;border-radius:8px;padding:28px;width:440px;max-width:calc(100% - 28px);max-height:90dvh}.travel dialog::backdrop{background:#0006}.travel-dialog-head{display:flex;align-items:center;justify-content:space-between}.travel-dialog-head h3{margin:0}.travel-dialog-head button{background:none;border:0;font-size:28px}.travel dialog p{font-size:12px;color:#777;line-height:1.7}.travel dialog label{display:block;font-size:12px;margin:16px 0}.travel dialog input,.travel dialog select{display:block;width:100%;padding:11px;margin-top:7px;border:1px solid #ccc;border-radius:4px;font:inherit;font-size:14px}.travel-coords{display:flex;gap:12px}.travel-coords label{width:50%}.travel-actions{display:flex;justify-content:space-between;gap:10px;margin-top:22px}.travel-actions button{padding:12px 18px;border:1px solid #ddd;background:white;border-radius:4px}#travel-save{background:#171717;color:white;margin-left:auto}#travel-error{color:#b5251c}.travel button:disabled{opacity:.5;cursor:wait}@media(max-width:760px){.travel{margin-top:58px}.travel-heading{display:block}.travel-heading>a{display:inline-block;margin-top:12px}.travel-layout{grid-template-columns:1fr}#travel-map{height:400px}.travel-sidebar{border-left:0;border-top:1px solid #ddd;max-height:280px;padding:22px}.travel-toolbar{align-items:flex-start}#travel-count{max-width:90px;text-align:right;line-height:1.8}.travel-regions button{padding:9px 11px}.travel-intro{font-size:12px}}
.travel-basemap .leaflet-tile{filter:grayscale(.85) saturate(.45);opacity:1}
#travel-retry{margin-top:12px;padding:10px 14px;background:#faf9f6;color:#92362d;border:1px solid #dbc5c0;border-radius:4px;font-size:12px}
#travel-map{background:#e8eeeb}
.travel .travel-place-label{font-size:10px;line-height:1.4;background:#fffcf3e8;border:1px solid #d6cbb770;box-shadow:0 1px 5px #5a493a13;color:#584d40;padding:3px 6px;white-space:nowrap}
.travel .travel-place-label:before{display:none}
.travel .travel-place-label.is-collided{visibility:hidden}
.travel .travel-place-label.is-highlighted{visibility:visible;z-index:1000;color:#a92b20;background:#fffaf0;font-weight:600;box-shadow:0 3px 12px #5a493a25}
