.mapboxgl-ctrl-attrib,.mapboxgl-ctrl-logo{display:none!important}.mapboxgl-canvas{background-color:var(--map-surface)!important}.mapboxgl-canvas-container{z-index:1!important}#map-text-overlay{z-index:9999!important}.mapboxgl-popup-content{background:var(--surface);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.mapboxgl-popup-close-button{color:var(--text-primary);font-size:18px;padding:4px}.mapboxgl-popup-close-button:hover{color:var(--text-primary)}.mapboxgl-marker{cursor:pointer}.hotel-marker-container{cursor:pointer;z-index:1}@keyframes marker-pop-in{0%{opacity:0;transform:scale(.4) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.hotel-marker-container:hover{z-index:20}.hotel-marker-container:hover>svg{transform:scale(1.15)}.hotel-marker-container:hover>svg,.hotel-marker-container>svg{transition:transform .15s ease-in-out}.poi-marker-container{cursor:pointer;z-index:5}.poi-marker-container:hover{z-index:15}.poi-marker-container:hover>svg{transform:scale(1.2);transition:transform .15s ease-in-out}.poi-marker-container>svg{transition:transform .15s ease-in-out;transform-origin:center bottom}.mapboxgl-popup{z-index:100!important}@keyframes poi-popup-fade-in{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.mapboxgl-popup-content:has(.poi-popup){padding:0;border-radius:14px;background:rgba(255,255,255,.88);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(21,96,32,.12);box-shadow:0 4px 16px rgba(0,0,0,.1),0 1px 3px rgba(0,0,0,.06);animation:poi-popup-fade-in .16s cubic-bezier(.16,1,.3,1)}.mapboxgl-popup:has(.poi-popup) .mapboxgl-popup-tip{display:none}.poi-popup{font-family:inherit;display:flex;flex-direction:column;gap:6px;padding:11px 14px 12px}.poi-popup-name{font-size:13px;font-weight:650;color:#0b1a16;line-height:1.35;letter-spacing:-.01em}.poi-popup-type-badge{display:inline-flex;align-items:center;gap:5px;width:-moz-fit-content;width:fit-content;background:rgba(21,96,32,.08);color:#156020;font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:capitalize;padding:3px 8px 3px 6px;border-radius:99px}.poi-popup-type-badge:before{content:"";display:block;width:6px;height:6px;border-radius:50%;background:#156020;flex-shrink:0}body[data-theme=dark] .mapboxgl-popup-content:has(.poi-popup),html.vl-dark body .mapboxgl-popup-content:has(.poi-popup){background:rgba(24,24,27,.9);border:1px solid rgba(46,155,62,.15);box-shadow:0 4px 16px rgba(0,0,0,.4),0 1px 3px rgba(0,0,0,.2)}body[data-theme=dark] .poi-popup-name,html.vl-dark body .poi-popup-name{color:#fafafa}body[data-theme=dark] .poi-popup-type-badge,html.vl-dark body .poi-popup-type-badge{background:rgba(46,155,62,.12);color:#2e9b3e}body[data-theme=dark] .poi-popup-type-badge:before,html.vl-dark body .poi-popup-type-badge:before{background:#2e9b3e}.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip{border-top-color:#ffffff}.mapboxgl-popup-anchor-top .mapboxgl-popup-tip{border-bottom-color:#ffffff}.mapboxgl-popup-anchor-left .mapboxgl-popup-tip{border-right-color:#ffffff}.mapboxgl-popup-anchor-right .mapboxgl-popup-tip{border-left-color:#ffffff}.route-walking{stroke:#3b82f6;stroke-width:4;stroke-dasharray:8,6;stroke-linecap:round;fill:none}.route-driving{stroke:#10b981;stroke-width:5;stroke-linecap:round;fill:none}.route-legend{position:absolute;bottom:80px;left:16px;background:var(--panel);border:1px solid var(--border-color);border-radius:8px;padding:8px 12px;box-shadow:0 2px 4px rgba(0,0,0,.1);font-size:12px;z-index:10;color:var(--text-primary)}.route-legend-item{display:flex;align-items:center;gap:8px;margin-bottom:4px}.route-legend-item:last-child{margin-bottom:0}.route-legend-line-walk{width:24px;height:3px;background:repeating-linear-gradient(90deg,#3b82f6,#3b82f6 6px,transparent 0,transparent 10px);border-radius:2px}.route-legend-line-drive{width:24px;height:4px;background:#10b981;border-radius:2px}.hotel-marker-container>svg,.poi-marker-container>svg{transform-origin:center bottom}.map-loading{background-color:var(--panel);color:var(--text-muted)}.map-error,.map-loading{display:flex;align-items:center;justify-content:center}.map-error{background-color:hsl(var(--destructive)/.05);color:hsl(var(--destructive));text-align:center;padding:1rem}.mapboxgl-ctrl-group{background:var(--surface)!important;border:1px solid var(--border-color)!important;border-radius:6px!important;box-shadow:0 1px 3px rgba(0,0,0,.1)!important;overflow:hidden}.mapboxgl-ctrl-group button{width:26px!important;height:26px!important;padding:0!important;background-color:transparent!important;background-image:none!important;border:none!important;border-bottom:1px solid var(--border-color)!important;cursor:pointer!important;transition:background-color .15s ease;display:flex!important;align-items:center!important;justify-content:center!important}.mapboxgl-ctrl-group button:last-child{border-bottom:none!important}.mapboxgl-ctrl-group button:hover{background-color:var(--panel)!important}.mapboxgl-ctrl-group button .mapboxgl-ctrl-icon{display:block!important;width:26px!important;height:26px!important;background-repeat:no-repeat!important;background-position:50%!important;background-size:14px 14px!important;background-color:transparent!important}.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%234B5563' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='5' x2='12' y2='19'/%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3C/svg%3E")!important}.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%234B5563' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3C/svg%3E")!important}.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%234B5563' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='12 2 19 21 12 17 5 21 12 2'/%3E%3C/svg%3E")!important}body[data-theme=dark] .mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon,html.vl-dark body .mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23E5E7EB' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='5' x2='12' y2='19'/%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3C/svg%3E")!important}body[data-theme=dark] .mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon,html.vl-dark body .mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23E5E7EB' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3C/svg%3E")!important}body[data-theme=dark] .mapboxgl-ctrl-compass .mapboxgl-ctrl-icon,html.vl-dark body .mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23E5E7EB' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='12 2 19 21 12 17 5 21 12 2'/%3E%3C/svg%3E")!important}.mapboxgl-ctrl-bottom-right{right:8px!important;bottom:8px!important;z-index:100!important}.mapboxgl-canvas,.mapboxgl-canvas-container{z-index:1!important}.mapboxgl-control-container{z-index:100!important}.map-hotel-overlay{position:absolute;bottom:16px;left:16px;right:16px;display:flex;justify-content:center;opacity:0;transform:translateY(8px);z-index:500;pointer-events:none;transition:opacity .2s ease,transform .2s ease}.map-hotel-overlay[data-visible=true]{opacity:1;transform:translateY(0);pointer-events:auto}.map-hotel-overlay:hover .overlay-carousel-btn{opacity:1!important}.map-wrapper[data-overlay-visible=true] #custom-map-controls,.map-wrapper[data-overlay-visible=true] #mapbox-attribution-logo{opacity:0!important;pointer-events:none!important;transition:opacity .2s ease}#custom-map-controls,#mapbox-attribution-logo{transition:opacity .2s ease}.overlay-expand-grip-zone{position:absolute;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:center;height:16px;cursor:ns-resize}.overlay-expand-grip{width:30px;height:4px;border-radius:2px;background:rgba(0,0,0,.18);opacity:.6;transition:width .2s ease,opacity .2s ease,background .2s ease;box-shadow:0 0 3px rgba(0,0,0,.1)}.overlay-expand-grip-zone:hover .overlay-expand-grip{width:44px;opacity:1;background:rgba(0,0,0,.3)}.overlay-expand-grip-zone:active .overlay-expand-grip{width:60px;background:#156020;opacity:1}.map-hotel-overlay[data-expanded=true] .overlay-expand-grip{width:36px;opacity:.7}.map-hotel-overlay[data-expanded=true] .overlay-expand-grip-zone:hover .overlay-expand-grip{width:44px;opacity:1;background:rgba(0,0,0,.3)}.map-hotel-overlay[data-expanded=true] .overlay-expand-grip-zone:active .overlay-expand-grip{width:60px;background:#156020;opacity:1}body[data-theme=dark] .overlay-expand-grip,html.vl-dark body .overlay-expand-grip{background:rgba(255,255,255,.25);box-shadow:0 0 3px rgba(0,0,0,.2)}body[data-theme=dark] .overlay-expand-grip-zone:hover .overlay-expand-grip,html.vl-dark body .overlay-expand-grip-zone:hover .overlay-expand-grip{background:rgba(255,255,255,.4)}body[data-theme=dark] .map-hotel-overlay[data-expanded=true] .overlay-expand-grip,html.vl-dark body .map-hotel-overlay[data-expanded=true] .overlay-expand-grip{background:rgba(255,255,255,.25)}body[data-theme=dark] .map-hotel-overlay[data-expanded=true] .overlay-expand-grip-zone:hover .overlay-expand-grip,html.vl-dark body .map-hotel-overlay[data-expanded=true] .overlay-expand-grip-zone:hover .overlay-expand-grip{background:rgba(255,255,255,.4)}body[data-theme=dark] .map-hotel-overlay[data-expanded=true] .overlay-expand-grip-zone:active .overlay-expand-grip,body[data-theme=dark] .overlay-expand-grip-zone:active .overlay-expand-grip,html.vl-dark body .map-hotel-overlay[data-expanded=true] .overlay-expand-grip-zone:active .overlay-expand-grip,html.vl-dark body .overlay-expand-grip-zone:active .overlay-expand-grip{background:#156020}.overlay-expanded-content{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.15) transparent}.overlay-expanded-content::-webkit-scrollbar{width:4px}.overlay-expanded-content::-webkit-scrollbar-track{background:transparent}.overlay-expanded-content::-webkit-scrollbar-thumb{background:rgba(0,0,0,.15);border-radius:2px}body[data-theme=dark] .overlay-expanded-content,html.vl-dark body .overlay-expanded-content{scrollbar-color:rgba(255,255,255,.15) transparent}body[data-theme=dark] .overlay-expanded-content::-webkit-scrollbar-thumb,html.vl-dark body .overlay-expanded-content::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15)}.map-hotel-overlay[data-dragging=true] .overlay-expand-grip{width:60px;background:#156020;opacity:1}body[data-theme=dark] .map-hotel-overlay[data-dragging=true] .overlay-expand-grip,html.vl-dark body .map-hotel-overlay[data-dragging=true] .overlay-expand-grip{background:#156020}.overlay-image-grid{display:grid;gap:2px;width:100%;height:100%}.overlay-image-grid.grid-2{grid-template-rows:65% 1fr;grid-template-columns:1fr}.overlay-image-grid.grid-3{grid-template-rows:60% 1fr;grid-template-columns:1fr 1fr}.overlay-image-grid.grid-3 .img-main{grid-column:1/-1}.overlay-image-grid.grid-4plus{grid-template-rows:55% 1fr 1fr;grid-template-columns:1fr 1fr}.overlay-image-grid.grid-4plus .img-main{grid-column:1/-1}.overlay-image-grid .img-main img,.overlay-image-grid .img-thumb img{border-radius:0}.overlay-image-area{container-type:inline-size}@container (max-width: 200px){.overlay-image-grid.grid-3,.overlay-image-grid.grid-4plus{grid-template-columns:1fr}.overlay-image-grid .img-thumb:nth-child(odd){display:none}}@keyframes citation-highlight-flash{0%{box-shadow:0 0 0 0 var(--brand-text);outline:0 solid transparent}20%{box-shadow:0 0 0 4px var(--brand-text);outline:3px solid var(--brand-text);outline-offset:2px}to{box-shadow:0 0 0 0 transparent;outline:0 solid transparent}}.citation-highlight-flash{animation:citation-highlight-flash 1.5s ease-out 1;border-radius:8px}.vl-flight-card__why-explainer{max-height:0;opacity:0;overflow:hidden;padding-top:0;padding-bottom:0;transition:max-height .2s ease-out,opacity .15s ease-out 50ms,padding-top .2s ease-out,padding-bottom .2s ease-out}.vl-flight-card[data-why-open=true] .vl-flight-card__why-explainer{max-height:160px;opacity:1;padding-top:10px;padding-bottom:14px}.vl-flight-card__why .vl-chevron{display:inline-block;transition:transform .15s ease}.vl-flight-card__why[aria-expanded=true] .vl-chevron{transform:rotate(90deg)}@media (prefers-reduced-motion:reduce){.vl-flight-card__why .vl-chevron,.vl-flight-card__why-explainer{transition:none}}