/* Leaflet is intentionally restricted to individual safari package pages.
 * Do not add the legacy .package-route-map class to this container: legacy
 * inner-pages.css has a rule that scales all SVG (including the small Leaflet
 * attribution flag) to the full map size, hiding tiles and pins. */
@import url('https://cdn.jsdelivr.net/npm/leaflet@1.9.4/dist/leaflet.css');

body.package-detail-page .package-leaflet-wrap{min-width:0;display:flex;flex-direction:column;gap:10px}
body.package-detail-page .package-leaflet-map{
  display:block;position:relative;width:100%;height:410px;min-height:410px;
  aspect-ratio:auto;overflow:hidden;border:1px solid #e4dcd4;border-radius:15px;
  background:#f2f3f1;isolation:isolate
}
body.package-detail-page .package-leaflet-map .leaflet-container{font:inherit}
body.package-detail-page .package-leaflet-map .leaflet-control-zoom{border:1px solid #ded8d2;box-shadow:0 5px 18px rgba(22,50,79,.12)}
body.package-detail-page .package-leaflet-map .leaflet-control-zoom a{color:#0B513A;background:#fff;border-color:#ede5df}
body.package-detail-page .package-leaflet-map .leaflet-control-zoom a:hover{color:#fff;background:#0B513A}
body.package-detail-page .package-leaflet-map .leaflet-control-attribution{background:rgba(255,255,255,.89);font-size:10px}
body.package-detail-page .package-leaflet-map .leaflet-control-attribution a{color:#0B513A;text-decoration:underline}
body.package-detail-page .package-leaflet-map .leaflet-popup-content-wrapper{border-radius:12px;box-shadow:0 8px 22px rgba(22,50,79,.19)}
body.package-detail-page .package-leaflet-map .leaflet-popup-content{font:inherit;margin:11px 15px;line-height:1.5}
body.package-detail-page .package-leaflet-map .leaflet-popup-content strong{display:block;color:#0B513A;font-size:13px;font-weight:600}
body.package-detail-page .package-leaflet-map .leaflet-popup-content small{color:#79695e;font-size:11px}
body.package-detail-page .package-map-loading{
  position:absolute;z-index:300;inset:0;display:grid;place-items:center;text-align:center;
  padding:20px;color:#0B513A;background:#f2f3f1;font-size:13px;line-height:1.6
}
body.package-detail-page .package-map-loading[hidden]{display:none!important}
body.package-detail-page .package-map-actions{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
body.package-detail-page .package-map-fit{
  display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border:1px solid #0B513A;
  border-radius:8px;background:#0B513A;color:#fff;font:inherit;font-size:12px;font-weight:600;
  cursor:pointer;transition:background .2s,border-color .2s
}
body.package-detail-page .package-map-fit:hover,body.package-detail-page .package-map-fit:focus-visible{border-color:#EE6A04;background:#EE6A04;color:#111;outline-offset:2px}
body.package-detail-page .package-map-fit[hidden]{display:none!important}
body.package-detail-page .package-map-legend{display:inline-flex;align-items:flex-start;gap:6px;color:#736960;font-size:10px;line-height:1.45}
body.package-detail-page .package-map-legend i{color:#EE6A04;font-size:13px}
body.package-detail-page .package-map-marker{
  display:flex;align-items:center;justify-content:center;width:29px;height:29px;
  border:3px solid #fff;border-radius:50%;background:#EE6A04;color:#111;
  box-shadow:0 3px 12px rgba(22,50,79,.3);font-family:inherit;font-weight:700;font-size:11px
}
body.package-detail-page .package-map-marker.is-first{background:#0B513A;color:#fff}
body.package-detail-page .package-map-marker.is-active{outline:3px solid rgba(217,130,43,.45);outline-offset:1px;transform:scale(1.08)}
body.package-detail-page .package-route-stop-button{display:inline-flex;align-items:baseline;gap:6px;padding:0;border:0;background:transparent;color:#0B513A;text-align:left;font:inherit;cursor:pointer;max-width:100%}
body.package-detail-page .package-route-stop-button strong{font-weight:600}
body.package-detail-page .package-route-stop-button i{color:#EE6A04;font-size:12px;flex:0 0 auto}
body.package-detail-page .package-route-stop-button:hover strong{color:#EE6A04;text-decoration:underline;text-underline-offset:3px}
body.package-detail-page .package-route-stop-button:focus-visible{outline:2px solid #EE6A04;outline-offset:3px;border-radius:3px}
body.package-detail-page .package-route-flow-item.is-active{background:#fff8f1}
body.package-detail-page .package-route-flow-item.is-active .package-route-flow-rail span{background:#0B513A;box-shadow:0 0 0 3px rgba(217,130,43,.25)}
body.package-detail-page .package-route-flow-place{overflow-wrap:anywhere}
@media(max-width:900px){body.package-detail-page .package-leaflet-map{height:360px;min-height:360px}}
@media(max-width:620px){body.package-detail-page .package-leaflet-map{height:315px;min-height:315px;aspect-ratio:auto}body.package-detail-page .package-map-actions{align-items:flex-start}body.package-detail-page .package-map-fit{min-height:38px}body.package-detail-page .package-map-legend{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){body.package-detail-page .package-map-fit{transition:none}}
