/* Shoreline route maps — v3 map styles (standalone; pairs with ss-maps.js).
   Loaded after the main bundle so these win for .ss-leaflet elements only. */
:root{--ss-nexa: "nexa", "Nexa Book", "Helvetica Neue", Helvetica, Arial, sans-serif}
.ss-leaflet-wrap{position:relative;border-radius:1rem;overflow:hidden;box-shadow:0 6px 22px #0000001a;background:#eaf6fc}
.ss-leaflet{width:100%;aspect-ratio:640/448;height:auto;min-height:320px;border-radius:1rem;background:#d6efff}
.ss-leaflet .leaflet-tile-pane{filter:saturate(7) brightness(.93) contrast(1.08)}
.ss-leaflet,.ss-leaflet .leaflet-container{background:#28a9e0}
.ss-leaflet .leaflet-control-attribution{display:none!important}
.ss-leaflet .leaflet-bar{border:none!important;box-shadow:0 4px 12px #00000024!important;border-radius:999px!important;overflow:hidden}
.ss-leaflet .leaflet-bar a{background-color:#fff!important;color:var(--ss-blue)!important;border:none!important;font-weight:800!important;font-size:18px!important;width:36px!important;height:36px!important;line-height:36px!important;transition:background .2s ease,color .2s ease}
.ss-leaflet .leaflet-bar a:first-child{border-radius:999px 999px 0 0!important}
.ss-leaflet .leaflet-bar a:last-child{border-radius:0 0 999px 999px!important}
.ss-leaflet .leaflet-bar a:hover{background-color:var(--ss-red)!important;color:#fff!important}
.ss-leaflet .leaflet-popup-content-wrapper{border-radius:14px;box-shadow:0 8px 28px #0000002e;background:#fff}
.ss-leaflet .leaflet-popup-content{font-family:inherit;margin:12px 16px;color:#285eab;font-size:14px}
.ss-leaflet .leaflet-popup-tip{background:#fff}
.ss-leaflet-pin{position:relative;width:24px;height:24px}
.ss-leaflet-pin .ss-pin-dot{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--ss-red);border:4px solid #ffffff;border-radius:50%;box-shadow:0 3px 6px #0000004d;z-index:2}
.ss-leaflet-pin .ss-pin-pulse{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--ss-red);border-radius:50%;opacity:.55;z-index:1;animation:ss-leaflet-pulse 2s ease-out infinite}
@keyframes ss-leaflet-pulse{0%{transform:scale(1);opacity:.55}to{transform:scale(4);opacity:0}}
.ss-leaflet-label{background:transparent!important;border:none!important;overflow:visible!important;white-space:nowrap}
.ss-leaflet-label__dot{position:absolute;left:0;top:0;width:10px;height:10px;background:var(--ss-red);border:2px solid #ffffff;border-radius:50%;box-shadow:0 1px 3px #0000004d}
.ss-leaflet-label__text{position:absolute;font-family:Gigalyps,Impact,sans-serif;font-size:10px;letter-spacing:.5px;color:#285eab;background:#fffffff0;padding:2px 7px;border-radius:999px;box-shadow:0 1px 3px #0000002e;text-transform:uppercase;pointer-events:none;line-height:1.2;font-weight:800}
.dir-n .ss-leaflet-label__text{left:50%;bottom:14px;transform:translate(-50%)}
.dir-s .ss-leaflet-label__text{left:50%;top:14px;transform:translate(-50%)}
.dir-e .ss-leaflet-label__text{left:14px;top:-2px}
.dir-w .ss-leaflet-label__text{right:14px;top:-2px}
.dir-ne .ss-leaflet-label__text{left:12px;bottom:12px}
.dir-nw .ss-leaflet-label__text{right:12px;bottom:12px}
.dir-se .ss-leaflet-label__text{left:12px;top:12px}
.dir-sw .ss-leaflet-label__text{right:12px;top:12px}
.ss-leaflet.ss-labels-hidden .ss-leaflet-label__text,.leaflet-container.ss-labels-hidden .ss-leaflet-label__text{display:none}
.ss-leaflet-boat{background:transparent!important;border:none!important}
.ss-leaflet-boat img{display:block;filter:drop-shadow(0 3px 5px rgba(0,0,0,.45));animation:ss-leaflet-boat-bob 1.6s ease-in-out infinite alternate}
@keyframes ss-leaflet-boat-bob{0%{transform:translateY(0) rotate(-2deg)}to{transform:translateY(-3px) rotate(2deg)}}
@media print{.ss-header,.ss-footer,.ss-mobile-cta,.ss-search,.ss-promo,.ss-newsletter,.ss-related-tours,.ssi-top .vbw-schedule-footer,.vbw-schedule-filters,.ss-leaflet,.ss-casting-off__map-wrap,.ssi-waves,.ss-hero-wave,.ss-tours-hero__filter-row,iframe,video,.ss-skip-link,[class*=trustindex]{display:none!important}}
@media (prefers-reduced-motion: reduce){.ssi-waves,.ss-footer:before,.hero:after,.ss-hero-wave,.ssi-boat,.ssi-stars svg,.os-stat__icon--spin,.os-sky--boat,.ss-leaflet-boat img,.ss-leaflet-pin .ss-pin-pulse,.ss-rmap__route,[data-os-reveal],.os-fleet-since-anim{animation:none!important}}
.ss-leaflet-neighborhood{background:transparent!important;border:0!important;pointer-events:none;text-align:center;line-height:1}
.ss-leaflet-neighborhood__text{display:inline-block;font-family:var(--ss-nexa),helvetica-neue,"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:800;font-size:12px;letter-spacing:.4px;color:#1f2937;text-transform:uppercase;white-space:nowrap;text-shadow:0 0 4px #fff,0 0 4px #fff,0 0 6px #fff}
.ss-labels-hidden .ss-leaflet-neighborhood__text{display:none}
.ss-leaflet-stop{background:transparent!important;border:0!important;pointer-events:none;text-align:center}
.ss-leaflet-stop__num{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#e82229;color:#fff;font-family:var(--ss-nexa),helvetica-neue,"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:800;font-size:16px;line-height:1;box-shadow:0 2px 6px #00000040;border:2px solid #fff}
.ss-leaflet-anchor{background:transparent!important;border:0!important;pointer-events:none;text-align:center}
.ss-leaflet-anchor svg{width:28px;height:32px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.25))}
.ss-leaflet-anchor__label{display:inline-block;margin-top:4px;padding:3px 9px;font-family:helvetica-neue,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:600;font-style:italic;font-size:12px;letter-spacing:0;color:#c62828;text-transform:none;white-space:nowrap;background:#fff;border:1.5px solid #c62828;border-radius:14px;box-shadow:0 1px 3px #00000026;text-shadow:none}
