/* Velocity CSS Kit v1.0.33 — synchronized design, interaction and accessibility layer. */

.vk-page-surface{width:100%;box-sizing:border-box;background:var(--vk-page-bg);}

/* Full-width, predictable component boxes. */
:where(
.vk-editorial-answer,.vk-editorial-nav,.vk-editorial-heading,.vk-editorial-dropcap,
.vk-editorial-checklist,.vk-editorial-notices,.vk-editorial-feature-section,
.vk-editorial-services,.vk-editorial-fleet-section,.vk-editorial-rate-section,
.vk-editorial-twocol,.vk-editorial-areas-section,.vk-editorial-destinations-section,
.vk-editorial-routes-section,.vk-editorial-booking-section,.vk-editorial-payment-section,
.vk-editorial-test-section,.vk-editorial-faq-section,.vk-editorial-suggested-section,
.vk-editorial-cta,.vk-editorial-offer
){width:100%;max-width:none;box-sizing:border-box;}

/* Soft component backgrounds are independently themeable. */
:where(.vk-editorial-feature-section,.vk-editorial-services,.vk-editorial-fleet-section,
.vk-editorial-twocol,.vk-editorial-areas-section,.vk-editorial-destinations-section,
.vk-editorial-routes-section,.vk-editorial-booking-section,.vk-editorial-payment-section,
.vk-editorial-test-section,.vk-editorial-faq-section,.vk-editorial-suggested-section){background:var(--vk-section-bg);}

/* Themeable typography and text colors. */
:where(.vk-editorial-answer,.vk-editorial-nav,.vk-editorial-heading,.vk-editorial-dropcap,
.vk-editorial-checklist,.vk-editorial-notices,.vk-editorial-feature-section,.vk-editorial-services,
.vk-editorial-fleet-section,.vk-editorial-rate-section,.vk-editorial-twocol,.vk-editorial-areas-section,
.vk-editorial-destinations-section,.vk-editorial-routes-section,.vk-editorial-booking-section,
.vk-editorial-payment-section,.vk-editorial-test-section,.vk-editorial-faq-section,
.vk-editorial-related,.vk-editorial-suggested-section){color:var(--vk-body-text);}

:where(.vk-hero h1,.vk-editorial-answer h2,.vk-editorial-nav h2,.vk-editorial-heading h2,
.vk-editorial-dropcap h2,.vk-editorial-checklist h2,.vk-editorial-notices h2,
.vk-editorial-feature-section h2,.vk-editorial-services h2,.vk-editorial-fleet-section h2,
.vk-editorial-rate-section h2,.vk-editorial-twocol h2,.vk-editorial-areas-section h2,
.vk-editorial-destinations-section h2,.vk-editorial-routes-section h2,
.vk-editorial-booking-section h2,.vk-editorial-payment-section h2,.vk-editorial-test-section h2,
.vk-editorial-faq-section h2,.vk-editorial-suggested-section h2,.vk-editorial-cta h2,
.vk-editorial-feature-item h3,.vk-editorial-services-item h3,.vk-editorial-vcard h3,
.vk-editorial-twocol-item h3,.vk-editorial-destination-card h3,.vk-editorial-step h3,
.vk-editorial-payment-card h3,.vk-editorial-test-card strong){font-family:var(--vk-font-display);}

/* Main surface shadows stay subtle; nested cards use a cleaner card shadow. */
:where(.vk-editorial-answer,.vk-editorial-nav,.vk-editorial-heading,.vk-editorial-dropcap,
.vk-editorial-checklist,.vk-editorial-notices,.vk-editorial-rate-section,.vk-editorial-related,
.vk-editorial-offer){background:var(--vk-card-bg);border-radius:var(--vk-section-radius);box-shadow:var(--vk-shadow-section);}

:where(.vk-editorial-feature-item,.vk-editorial-services-item,.vk-editorial-vcard,
.vk-editorial-twocol-item,.vk-editorial-destination-card,.vk-editorial-step,
.vk-editorial-payment-card,.vk-editorial-test-card,.vk-editorial-contact-tile,
.vk-editorial-trust-badge,.vk-editorial-suggested-card){background:var(--vk-card-bg);border-radius:var(--vk-card-radius);box-shadow:var(--vk-shadow-card);}

/* Hover only where a mouse/trackpad truly supports hover. */
:where(.vk-editorial-feature-item,.vk-editorial-services-item,.vk-editorial-vcard,
.vk-editorial-twocol-item,.vk-editorial-destination-card,.vk-editorial-step,
.vk-editorial-payment-card,.vk-editorial-test-card,.vk-editorial-contact-tile,
.vk-editorial-trust-badge,.vk-editorial-suggested-card){transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background-color .22s ease;}
@media (hover:hover) and (pointer:fine){
:where(.vk-editorial-feature-item,.vk-editorial-services-item,.vk-editorial-vcard,
.vk-editorial-twocol-item,.vk-editorial-destination-card,.vk-editorial-step,
.vk-editorial-payment-card,.vk-editorial-test-card,.vk-editorial-contact-tile,
.vk-editorial-trust-badge,.vk-editorial-suggested-card):hover{transform:translateY(calc(-1 * var(--vk-hover-lift)));box-shadow:var(--vk-shadow-hover);}
}

/* Pricing table hover must color cells because alternating backgrounds may sit on td. */
.vk-editorial-rate-table tbody tr{transition:background-color .2s ease;}
.vk-editorial-rate-table tbody tr:hover>td{background:color-mix(in srgb,var(--vk-primary) 7%,var(--vk-card-bg));}
.vk-editorial-rate-wrap{box-shadow:var(--vk-shadow-card);border-radius:var(--vk-card-radius);}

/* Related links: readable inactive state, strong hover state. */
.vk-editorial-related-buttons a,.vk-editorial-nav-links a{
 color:var(--vk-link);background:var(--vk-card-bg);border-color:var(--vk-border);
 transition:color .2s ease,background-color .2s ease,border-color .2s ease,transform .2s ease;
}
@media (hover:hover) and (pointer:fine){
.vk-editorial-related-buttons a:hover,.vk-editorial-nav-links a:hover{
 color:var(--vk-on-dark);background:var(--vk-link-hover);border-color:var(--vk-link-hover);transform:translateY(-2px);
}}

/* CTA and hero colors. */
.vk-editorial-cta{background:var(--vk-dark-bg);}
.vk-editorial-cta h2,.vk-editorial-cta-actions .vk-call{color:var(--vk-on-dark);}
.vk-editorial-cta p{color:color-mix(in srgb,var(--vk-on-dark) 72%,transparent);}
.vk-editorial-cta-actions a,.vk-hero-actions a,.vk-editorial-vbtn,.vk-editorial-booking-submit button{border-radius:var(--vk-button-radius);}
.vk-editorial-cta-actions .vk-book,.vk-editorial-vbtn{background:var(--vk-primary);}
.vk-editorial-cta-actions .vk-book:hover,.vk-editorial-vbtn:hover{background:var(--vk-primary-hover);}
.vk-editorial-cta-actions .vk-whatsapp{background:var(--vk-success);}
.vk-hero p{color:var(--vk-hero-text);}

/* Locked compact quote form: 3 rows × 2 controls on desktop/tablet. */
.vk-editorial-booking-split{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);}
.vk-editorial-booking-card{padding:26px;background:var(--vk-card-bg);border-radius:var(--vk-card-radius);box-shadow:var(--vk-shadow-card);}
.vk-editorial-booking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;}
.vk-editorial-booking-grid>div{min-width:0;}
.vk-editorial-booking-grid label{color:var(--vk-muted-text);margin-bottom:5px;}
.vk-editorial-booking-grid input,.vk-editorial-booking-grid select{
 min-height:38px;padding:8px 10px;color:var(--vk-text);background:var(--vk-card-bg);border:1px solid var(--vk-border);border-radius:4px;
}
.vk-editorial-booking-grid input:focus-visible,.vk-editorial-booking-grid select:focus-visible{
 outline:2px solid color-mix(in srgb,var(--vk-primary) 28%,transparent);outline-offset:1px;border-color:var(--vk-primary);
}
.vk-editorial-booking-submit{align-items:stretch;}
.vk-editorial-booking-submit button{min-height:38px;background:var(--vk-primary);color:var(--vk-on-dark);}
.vk-editorial-booking-submit button:hover{background:var(--vk-primary-hover);}
@media(max-width:640px){
 .vk-editorial-booking-split,.vk-editorial-booking-grid{grid-template-columns:1fr;}
 .vk-editorial-booking-submit button{width:100%;}
}

/* Payment icons: inline SVG, no emoji dependency. */
.vk-editorial-payment-icon{width:36px;height:36px;margin:0 auto 10px;display:grid;place-items:center;color:var(--vk-primary);}
.vk-editorial-payment-icon svg{width:24px;height:24px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}

/* Feature/contact/trust icons can use inline SVG consistently. */
:where(.vk-editorial-feature-icon,.vk-editorial-contact-icon,.vk-editorial-trust-icon) svg{width:1.35em;height:1.35em;display:inline-block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}

/* FAQ breathing room. */
.vk-editorial-faq-2col summary{padding:2px 4px;}
.vk-editorial-faq-2col details p{padding:0 4px 4px;line-height:1.7;}

/* Smooth horizontal swipe for content that intentionally stays wide. */
:where(.vk-editorial-rate-wrap,.vk-thumbs){overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;}

/* Respect users who request less motion. */
@media (prefers-reduced-motion:reduce){
 *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;}
}
