/* Kavan Kit — site-wide CSS that Elementor V4 styles cannot store (data-URI masks, pseudo-elements, JS states). Values mirror STYLES.md. */
.kv-ico-arrow{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h13M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h13M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;background-color:currentColor}
.kv-ico-chevron{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;background-color:currentColor}
.kv-ico-seats{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 18v-5a2 2 0 012-2h12a2 2 0 012 2v5M6 11V7a2 2 0 012-2h8a2 2 0 012 2v4M4 18h16M7 18v2M17 18v2'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 18v-5a2 2 0 012-2h12a2 2 0 012 2v5M6 11V7a2 2 0 012-2h8a2 2 0 012 2v4M4 18h16M7 18v2M17 18v2'/%3E%3C/svg%3E") center/contain no-repeat;background-color:currentColor}
.kv-ico-tent{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4L3 19h18L12 4zM12 9v10M8 19l4-6 4 6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4L3 19h18L12 4zM12 9v10M8 19l4-6 4 6'/%3E%3C/svg%3E") center/contain no-repeat;background-color:currentColor}
.kv-ico-awd{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3a9 9 0 100 18 9 9 0 000-18zM12 3v18M3 12h18'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3a9 9 0 100 18 9 9 0 000-18zM12 3v18M3 12h18'/%3E%3C/svg%3E") center/contain no-repeat;background-color:currentColor}
.kv-ico-auto{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 6v12M8 6h5a3 3 0 010 6H8M16 12v6M16 12h-2'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 6v12M8 6h5a3 3 0 010 6H8M16 12v6M16 12h-2'/%3E%3C/svg%3E") center/contain no-repeat;background-color:currentColor}
.kv-wave{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 24' preserveAspectRatio='none'%3E%3Cpath d='M0 12 C 50 12, 75 2, 125 2 S 200 22, 250 22 S 325 2, 375 2 S 450 22, 500 22 S 575 2, 625 2 S 700 22, 750 22 S 825 2, 875 2 S 950 22, 1000 22 S 1075 2, 1125 2 S 1180 12, 1200 12' fill='none' stroke='%23C9CDB4' stroke-width='1.5' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") center/100% 100% no-repeat}

/* Dot + eyebrow (STYLES §6) */
.kv-dot-label::before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:#A3AC85;vertical-align:middle;margin-right:10px;position:relative;top:-1px}
/* Fleet rail dots */
.kv-dot::after{content:'';display:block;width:7px;height:7px;border-radius:50%;background:#C9C6B5}
.kv-dot.is-on::after{background:#333D28}
.kv-rail::-webkit-scrollbar{width:0;height:0}
/* Route chips — active state */
.elementor .kv-chip.is-on{background-color:#333D28;border-color:#333D28;color:#F5F2E9}
/* Routes map (Leaflet) */
.kv-map-canvas .leaflet-container,.kv-map-canvas.leaflet-container{background:#1A1E14;font-family:'IBM Plex Mono',monospace;filter:grayscale(.55) sepia(.18) contrast(.95) brightness(.98)}
.kv-map-canvas .leaflet-control-attribution{font-size:9px}
.kv-pin{border-radius:50%;border:2px solid #333D28;background:#EFECE1;box-shadow:0 2px 6px rgba(0,0,0,.4)}
.kv-pin-on{background:#333D28;border:3px solid #EFECE1}
.kv-map .kv-badge-dark{z-index:500}
/* Mobile routes: progressive disclosure */
@media (max-width:1024px){
  .kv-routes.is-unlocked .kv-chips{display:flex}
  .kv-routes.is-unlocked .kv-route-box{display:flex}
  .kv-routes.is-unlocked .kv-map-lock{display:none}
  .kv-routes .kv-route-box.is-empty{display:none}
  .kv-hero video{object-position:60% center}
}
.elementor .kv-route-box.is-empty{display:none}
/* Native disclosure (booking panel on mobile) */
.kv-disclosure summary{list-style:none}
.kv-disclosure summary::-webkit-details-marker{display:none}
.kv-disclosure details[open] .kv-ico-chevron{transform:rotate(180deg)}
