
:root{
  --wn-font: Arial, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --wn-bg:#f4f7f3;
  --wn-bg-2:#eef4ef;
  --wn-surface:#ffffff;
  --wn-surface-2:#fbfdfb;
  --wn-line:#dfe7e1;
  --wn-line-strong:#ced9d1;
  --wn-text:#102238;
  --wn-muted:#627386;
  --wn-soft:#7b8b9b;
  --wn-accent:#0f6b42;
  --wn-accent-2:#0b5634;
  --wn-accent-soft:#ecf7f0;
  --wn-shadow-sm:0 10px 24px rgba(15,23,42,.05);
  --wn-shadow:0 16px 40px rgba(15,23,42,.07);
  --wn-shadow-lg:0 24px 60px rgba(15,23,42,.12);
  --wn-radius:24px;
  --wn-radius-lg:32px;

  --wi-font:var(--wn-font);
  --wi-bg:var(--wn-bg);
  --wi-bg-soft:var(--wn-bg-2);
  --wi-card:var(--wn-surface);
  --wi-card-soft:var(--wn-surface-2);
  --wi-stroke:var(--wn-line);
  --wi-stroke-strong:var(--wn-line-strong);
  --wi-text:var(--wn-text);
  --wi-text-soft:var(--wn-muted);
  --wi-muted:var(--wn-soft);
  --wi-blue:var(--wn-accent);
  --wi-blue-strong:var(--wn-accent-2);

  --wp-bg:var(--wn-bg);
  --wp-surface:var(--wn-surface);
  --wp-surface-2:var(--wn-surface-2);
  --wp-text:var(--wn-text);
  --wp-muted:var(--wn-muted);
  --wp-line:var(--wn-line);
  --wp-soft:var(--wn-soft);
  --wp-accent:var(--wn-accent);
  --wp-accent-2:var(--wn-accent-2);
  --wp-shadow:var(--wn-shadow);
  --wp-radius:24px;
  --wp-radius-lg:32px;
}

html{
  background:linear-gradient(180deg,#f8fbf7 0%, var(--wn-bg) 44%, var(--wn-bg-2) 100%) !important;
}
body{
  background:transparent !important;
  color:var(--wn-text) !important;
  font-family:var(--wn-font) !important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{image-rendering:auto}
a{transition:color .18s ease, opacity .18s ease, transform .18s ease}

/* Global text safety */
.wp-public,
.wp-public p,
.wp-public li,
.wp-public label,
.wp-public small,
.ws-shell,
.ws-shell p,
.ws-shell li,
.wr-page--route-master,
.wr-page--route-master p,
.wr-page--route-master li,
.t-book,
.t-book p,
.t-form,
.t-form p,
.wt-trips,
.wt-trips p{
  color:var(--wn-muted);
}
.wp-public h1,.wp-public h2,.wp-public h3,.wp-public h4,.wp-public h5,
.ws-shell h1,.ws-shell h2,.ws-shell h3,.ws-shell h4,
.wr-page--route-master h1,.wr-page--route-master h2,.wr-page--route-master h3,.wr-page--route-master h4,
.t-book h1,.t-book h2,.t-book h3,
.t-form h1,.t-form h2,.t-form h3,
.wt-trips h1,.wt-trips h2,.wt-trips h3{
  color:var(--wn-text) !important;
}

/* Fix legacy pale inline text on light cards */
.wp-public [style*="color:#e5e7eb"],
.wp-public [style*="color:#d6dee7"],
.wp-public [style*="color:#d2d8e0"],
.wp-public [style*="color:#cfd8e3"],
.wp-public [style*="color:#d5e1f4"],
.wp-public [style*="color:#dce9ff"],
.wp-public [style*="color: #e5e7eb"],
.wp-public [style*="color: #d6dee7"],
.wp-public [style*="color: #d2d8e0"]{
  color:var(--wn-muted) !important;
}

/* Header */
.ww-header-wrap{
  background:rgba(248,251,248,.88) !important;
  border-bottom:1px solid rgba(223,231,225,.9) !important;
  box-shadow:0 12px 28px rgba(15,23,42,.045) !important;
}
.ww-brand img{
  border-radius:50% !important;
  box-shadow:0 10px 24px rgba(15,23,42,.12) !important;
}
.ww-brand-name{font-family:var(--wn-font) !important}
.ww-nav a,
.ww-lang-toggle,
.ww-book-btn,
.ww-menu-btn,
.ww-help-link,
.ww-search-toggle{
  border-color:var(--wn-line) !important;
  background:rgba(255,255,255,.92) !important;
  color:var(--wn-text) !important;
}
.ww-nav a.is-active,
.ww-search-toggle.is-active{
  background:var(--wn-accent-soft) !important;
  color:var(--wn-accent) !important;
  border-color:#cfe5d8 !important;
}
.ww-book-btn{
  background:linear-gradient(180deg,var(--wn-accent),var(--wn-accent-2)) !important;
  color:#fff !important;
  box-shadow:0 12px 26px rgba(15,107,66,.22) !important;
}
.ww-search-shell{
  border:1px solid var(--wn-line) !important;
  background:rgba(255,255,255,.94) !important;
  box-shadow:var(--wn-shadow) !important;
}
.ww-search input{
  color:var(--wn-text) !important;
  font-weight:600 !important;
}
.ww-search-btn{
  background:linear-gradient(180deg,var(--wn-accent),var(--wn-accent-2)) !important;
  color:#fff !important;
}

/* Shared cards, buttons, inputs */
.wi-card,
.ws-route-card,
.ws-vehicle-card,
.ws-gallery-card,
.ws-link-card,
.wr-panel,
.wr-class-card,
.wr-review,
.wr-stop-card,
.wr-related-link,
.wr-detail-box,
.wr-step,
.t-card,
.t-book,
.t-form,
.t-hero-card,
.wi-cookie,
.wi-searchbox,
.t-search,
.wi-faq details,
.wi-faq-item,
.wp-cms article,
.wp-driver-apply section,
.wp-driver-apply aside > div,
.wp-search .wi-searchbox--page{
  background:linear-gradient(180deg,var(--wn-surface),var(--wn-surface-2)) !important;
  border:1px solid var(--wn-line) !important;
  border-radius:var(--wn-radius) !important;
  box-shadow:var(--wn-shadow-sm) !important;
}
.wi-btn,
.wr-btn--primary,
.wi-searchbox__submit,
.ww-search-btn,
.whm-btn,
.t-btn--primary{
  background:linear-gradient(180deg,var(--wn-accent),var(--wn-accent-2)) !important;
  border-color:transparent !important;
  color:#fff !important;
  box-shadow:0 14px 28px rgba(15,107,66,.2) !important;
}
.wi-btn2,
.wr-btn--ghost,
.whm-btn--ghost,
.t-btn--ghost,
.wr-btn:not(.wr-btn--primary):not(.wr-btn--wa-icon){
  background:#fff !important;
  color:var(--wn-text) !important;
  border:1px solid var(--wn-line) !important;
  box-shadow:none !important;
}
.wi-btn,.wi-btn2,.wr-btn,.whm-btn,.whm-btn--ghost,.t-btn--primary,.t-btn--ghost,
.wi-searchbox__submit,.ww-search-btn{
  min-height:48px !important;
  border-radius:16px !important;
  font-weight:800 !important;
  letter-spacing:-.01em !important;
}
input,select,textarea,
.wi-searchbox__input,
.wr-form input,
.wr-form select,
.wr-form textarea,
.t-form input,
.t-form select,
.t-form textarea,
.t-book input,
.t-book select,
.t-book textarea{
  border:1px solid var(--wn-line) !important;
  background:#fff !important;
  color:var(--wn-text) !important;
  border-radius:16px !important;
  box-shadow:none !important;
}
input::placeholder,textarea::placeholder,
.wi-searchbox__input::placeholder,
.wr-form input::placeholder,
.wr-form textarea::placeholder,
.t-form input::placeholder,
.t-form textarea::placeholder{
  color:#8796a6 !important;
}
input:focus,select:focus,textarea:focus,
.wi-searchbox__input:focus,
.wr-form input:focus,
.wr-form select:focus,
.wr-form textarea:focus,
.t-form input:focus,
.t-form select:focus,
.t-form textarea:focus,
.t-book input:focus,
.t-book select:focus,
.t-book textarea:focus{
  border-color:#bbd7c6 !important;
  box-shadow:0 0 0 4px rgba(15,107,66,.08) !important;
}
.wi-chip,
.ws-meta span,
.ws-pills span,
.t-pill,
.wr-hero-statline span,
.wr-stop-meta span,
.wr-booking-selected-card__meta span,
.wr-booking-brain__chips span,
.wr-booking-brain__fit,
.wr-summary-tile small,
.wr-price-box small,
.wr-price-box em,
.wr-price-box span{
  background:#f5faf6 !important;
  border-color:#d9e8de !important;
  color:#274355 !important;
}

/* Generic page rhythm */
.wi-container.wi-shell,
.ws-shell,
.wp-search,
.wp-public,
.wp-transfers,
.wp-fleet,
.wp-airport,
.wp-cms,
.wp-driver-apply,
.wp-vehicle{
  padding-top:22px !important;
  padding-bottom:38px !important;
}
.ws-section,
.whm-section,
.wr-section,
.t-section{margin-top:30px !important}
.ws-section-head,
.whm-head,
.wr-section-head{margin-bottom:16px !important}
.ws-section-head h2,
.whm-head h2,
.wr-section-head h2{
  font-size:clamp(28px,3vw,42px) !important;
  line-height:1.02 !important;
  letter-spacing:-.05em !important;
}
.ws-section-head p,
.whm-head p,
.wr-section-head p{
  color:var(--wn-muted) !important;
  max-width:62ch !important;
  line-height:1.72 !important;
}

/* Homepage v4 */
.wp-home-v4{padding-top:18px !important}
.wp-home-v4 .whm-shell{gap:34px !important}
.wp-home-v4 .whm-hero{
  padding:30px !important;
  border-radius:var(--wn-radius-lg) !important;
  background:
    radial-gradient(900px 360px at -6% -10%, rgba(255,255,255,.12), transparent 55%),
    linear-gradient(135deg,#0c1829 0%, #13273f 56%, #184b39 100%) !important;
  border:1px solid rgba(255,255,255,.08) !important;
  box-shadow:var(--wn-shadow-lg) !important;
}
.wp-home-v4 .whm-copy h1{
  color:#fff !important;
  max-width:10.5ch !important;
  margin:14px 0 14px !important;
  font-size:clamp(42px,6vw,74px) !important;
  line-height:.94 !important;
  letter-spacing:-.06em !important;
}
.wp-home-v4 .whm-copy p,
.wp-home-v4 .whm-metric span,
.wp-home-v4 .whm-list__head span,
.wp-home-v4 .whm-cta p{
  color:rgba(239,244,255,.84) !important;
}
.wp-home-v4 .whm-eyebrow,
.wp-home-v4 .whm-pills span,
.wp-home-v4 .whm-metric,
.wp-home-v4 .whm-list,
.wp-home-v4 .whm-list a{
  background:rgba(255,255,255,.07) !important;
  border-color:rgba(255,255,255,.12) !important;
  color:#fff !important;
}
.wp-home-v4 .whm-search .wi-searchbox__form{
  background:rgba(255,255,255,.08) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:24px !important;
  box-shadow:0 20px 40px rgba(3,7,18,.18) !important;
}
.wp-home-v4 .whm-search .wi-searchbox__input{
  min-height:60px !important;
  border-radius:18px !important;
  font-size:16px !important;
}
.wp-home-v4 .whm-search .wi-searchbox__submit{
  min-height:60px !important;
  min-width:144px !important;
  border-radius:18px !important;
  background:#fff !important;
  color:var(--wn-text) !important;
  box-shadow:none !important;
}
.wp-home-v4 .whm-card,
.wp-home-v4 .whm-step,
.wp-home-v4 .whm-quote,
.wp-home-v4 .whm-about,
.wp-home-v4 .whm-faqbox,
.wp-home-v4 .whm-empty,
.wp-home-v4 .whm-home-entry,
.wp-home-v4 .whm-home-cta{
  border:1px solid var(--wn-line) !important;
  box-shadow:var(--wn-shadow-sm) !important;
}
.wp-home-v4 .whm-card,
.wp-home-v4 .whm-step,
.wp-home-v4 .whm-quote,
.wp-home-v4 .whm-about,
.wp-home-v4 .whm-faqbox,
.wp-home-v4 .whm-empty{
  background:linear-gradient(180deg,#fff,#fbfdfb) !important;
}
.wp-home-v4 .whm-card h3,
.wp-home-v4 .whm-step strong,
.wp-home-v4 .whm-quote strong,
.wp-home-v4 .whm-about h2,
.wp-home-v4 .whm-faq summary,
.wp-home-v4 .whm-card__link{color:var(--wn-text) !important}
.wp-home-v4 .whm-card p,
.wp-home-v4 .whm-step p,
.wp-home-v4 .whm-quote p,
.wp-home-v4 .whm-about p,
.wp-home-v4 .whm-faq p,
.wp-home-v4 .whm-card span,
.wp-home-v4 .whm-head p{color:var(--wn-muted) !important}
.wp-home-v4 .whm-faq{background:#fff !important;border-color:var(--wn-line) !important}
.wp-home-v4 .whm-cta{
  background:linear-gradient(135deg,#0c1829 0%, #143049 60%, #184b39 100%) !important;
  box-shadow:var(--wn-shadow-lg) !important;
}
.wp-home-v4 .whm-cta h2{color:#fff !important}
.wp-home-v4 .whm-cta .whm-btn{background:#fff !important;color:var(--wn-text) !important}
.wp-home-v4 .whm-cta .whm-btn--ghost{background:rgba(255,255,255,.08) !important;color:#fff !important;border-color:rgba(255,255,255,.14) !important}

/* Route / fleet / airport / destination / guide listing pages */
.ws-shell .ws-hero,
.ws-shell .wi-hero,
.wp-transfers .ws-hero,
.wp-fleet .ws-hero,
.wp-airport .ws-hero,
.wp-vehicle .ws-hero{
  padding:28px !important;
  border-radius:var(--wn-radius-lg) !important;
  background:linear-gradient(180deg,#ffffff,var(--wn-surface-2)) !important;
  border:1px solid var(--wn-line) !important;
  box-shadow:var(--wn-shadow) !important;
}
.ws-shell .ws-hero h1,
.wp-transfers .ws-hero h1,
.wp-fleet .ws-hero h1,
.wp-airport .ws-hero h1,
.wp-vehicle .ws-hero h1,
.wp-search h1{
  margin:8px 0 12px !important;
  font-size:clamp(34px,4vw,56px) !important;
  line-height:.98 !important;
  letter-spacing:-.055em !important;
}
.ws-shell .ws-hero p,
.ws-shell .wi-hero p,
.wp-search p,
.wp-cms .wi-prose,
.wp-cms .wi-prose p,
.wp-driver-apply p,
.wp-driver-apply label,
.wp-driver-apply li{
  color:var(--wn-muted) !important;
  line-height:1.75 !important;
}
.ws-route-grid,
.ws-airport-grid,
.ws-fleet-grid,
.ws-gallery-grid,
.ws-link-grid,
.ws-home-entry-grid,
.whm-card-grid,
.whm-value-grid,
.whm-steps,
.whm-quote-grid{
  gap:16px !important;
}
.ws-route-card,
.ws-vehicle-card,
.ws-gallery-card,
.ws-link-card{
  overflow:hidden !important;
}
.ws-route-card:hover,
.ws-vehicle-card:hover,
.ws-gallery-card:hover,
.ws-link-card:hover,
.wp-home-v4 .whm-card:hover,
.wp-home-v4 .whm-step:hover,
.wp-home-v4 .whm-home-entry:hover{
  transform:translateY(-2px) !important;
  box-shadow:var(--wn-shadow) !important;
}
.ws-route-card img,
.ws-vehicle-card img,
.ws-gallery-card img,
.wp-home-v4 .whm-card img{
  display:block !important;
  width:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  background:#eef4ef !important;
}
.ws-card-body,
.wi-card-body{padding:14px 14px 16px !important}
.ws-card-body h3,
.wi-card-title{
  font-size:clamp(18px,1.7vw,22px) !important;
  line-height:1.16 !important;
  letter-spacing:-.03em !important;
}
.ws-card-body p,
.wi-card-desc{line-height:1.68 !important;color:var(--wn-muted) !important}
.ws-meta,
.wi-card-badges{gap:8px !important}
.ws-meta span,
.wi-card-badges .wi-chip{min-height:32px !important;padding:6px 10px !important}

/* Search / CMS / static pages */
.wp-search .wi-searchbox--page{padding:14px !important}
.wp-search .wi-searchbox--page .wi-searchbox__input,
.wp-search .wi-searchbox--page .wi-searchbox__submit{min-height:56px !important}
.wp-search .ws-link-cloud a{
  background:#fff !important;
  border:1px solid var(--wn-line) !important;
  color:var(--wn-text) !important;
}
.wp-cms article.wi-card,
.wp-driver-apply section.wi-card,
.wp-driver-apply aside .wi-card{
  padding:28px !important;
  border-radius:28px !important;
}
.wp-cms h1,
.wp-driver-apply h1{font-size:clamp(34px,4vw,52px) !important;line-height:1 !important;letter-spacing:-.05em !important;color:var(--wn-text) !important}
.wp-cms h2,
.wp-cms h3,
.wp-driver-apply h2,
.wp-driver-apply h3{color:var(--wn-text) !important}
.wp-cms .wi-chip,
.wp-driver-apply .wi-chip{background:var(--wn-accent-soft) !important;border-color:#d1e7da !important;color:var(--wn-accent) !important}
.wp-cms a,
.wp-driver-apply a{color:var(--wn-accent) !important}
.wp-cms aside,
.wp-driver-apply aside{gap:16px !important}

/* Trips / itineraries */
.wt-trips .t-hero,
.wt-trips .t-hero-card,
.t-book,
.t-form{
  border-radius:28px !important;
}
.wt-trips .t-hero,
.wt-trips .t-hero-card{
  background:linear-gradient(180deg,#ffffff,var(--wn-surface-2)) !important;
}
.wt-trips .t-nav a{
  background:#fff !important;
  border:1px solid var(--wn-line) !important;
  color:var(--wn-text) !important;
  border-radius:999px !important;
  box-shadow:none !important;
}
.t-book h1,.t-book h2,.t-form h2{color:var(--wn-text) !important}
.t-book p,.t-form p,.t-summary,.t-kicker,.t-meta{color:var(--wn-muted) !important}

/* Route pages */
.wr-page--route-master{
  max-width:1220px !important;
  padding:18px 14px 72px !important;
  font-family:var(--wn-font) !important;
  background:linear-gradient(180deg,#f7faf7 0%, #f2f6f2 52%, #edf2ee 100%) !important;
}
.wr-page--route-master .wr-panel,
.wr-page--route-master .wr-review,
.wr-page--route-master .wr-faq-item,
.wr-page--route-master .wr-related-link,
.wr-page--route-master .wr-detail-box,
.wr-page--route-master .wr-step,
.wr-page--route-master .wr-stop-card,
.wr-page--route-master .wr-class-card{
  border-color:var(--wn-line) !important;
  border-radius:24px !important;
  box-shadow:var(--wn-shadow-sm) !important;
}
.wr-page--route-master .wr-hero{
  padding:18px !important;
  border-radius:30px !important;
  box-shadow:var(--wn-shadow) !important;
}
.wr-page--route-master .wr-hero h1,
.wr-page--route-master #booking .wr-book-head h2{
  letter-spacing:-.055em !important;
}
.wr-page--route-master .wr-hero-priceblock strong,
.wr-page--route-master .wr-price-box strong{
  background:#102238 !important;
  color:#fff !important;
}
.wr-page--route-master .wr-hero-actions .wr-btn--primary,
.wr-page--route-master #booking .wr-submit-actions .wr-btn--full,
.wr-page--route-master .wr-btn--primary{
  background:linear-gradient(180deg,var(--wn-accent),var(--wn-accent-2)) !important;
  box-shadow:0 14px 28px rgba(15,107,66,.18) !important;
}
.wr-page--route-master #booking{
  border-radius:28px !important;
  box-shadow:var(--wn-shadow) !important;
}
.wr-page--route-master #booking .wr-form-section,
.wr-page--route-master #booking .wr-book-optional,
.wr-page--route-master #booking .wr-booking-brain{
  border-radius:22px !important;
}
.wr-page--route-master #booking label,
.wr-page--route-master #booking .wr-input-label,
.wr-page--route-master .wr-booking-selected-card__copy small,
.wr-page--route-master .wr-book-kicker,
.wr-page--route-master .wr-eyebrow{
  font-weight:900 !important;
}
.wr-page--route-master #booking .wr-booking-selected-card{
  border-width:1px !important;
  box-shadow:0 12px 28px rgba(15,107,66,.08) !important;
}
.wr-page--route-master #classes .wr-class-card.is-selected{
  border-color:#bfd7c7 !important;
  box-shadow:0 0 0 2px rgba(15,107,66,.08), var(--wn-shadow-sm) !important;
}
.wr-page--route-master .wr-related-link:hover,
.wr-page--route-master .wr-stop-card:hover,
.wr-page--route-master .wr-step:hover,
.wr-page--route-master .wr-class-card:hover{
  transform:translateY(-2px) !important;
  box-shadow:var(--wn-shadow) !important;
}
.wr-page--route-master .wr-faq-item summary{padding:20px !important}
.wr-page--route-master .wr-faq-item > div{padding:0 20px 20px !important}

/* Footer */
.ww-footer{
  margin-top:46px !important;
  background:linear-gradient(180deg,#f6faf7,#eef4ef 78%,#e9f0ea) !important;
  border-top:1px solid var(--wn-line) !important;
}
.ww-footer-shell{max-width:1260px !important}
.ww-footer-brand strong,
.ww-footer-title,
.ww-footer-links a,
.ww-footer-bottom{color:var(--wn-text) !important}
.ww-footer-desc,
.ww-footer-brand span{color:var(--wn-muted) !important}
.ww-footer-pill{
  border-color:var(--wn-line) !important;
  background:#fff !important;
  color:var(--wn-text) !important;
  box-shadow:var(--wn-shadow-sm) !important;
}

/* Cookie */
.wi-cookie{
  border-radius:22px !important;
  border-color:var(--wn-line) !important;
  box-shadow:var(--wn-shadow) !important;
}
.wi-cookie__text,
.wi-cookie__text p,
.wi-cookie p{color:var(--wn-muted) !important}

/* Responsive */
@media (max-width:1100px){
  .ww-footer-top{grid-template-columns:1fr 1fr !important}
  .wp-home-v4 .whm-hero__grid,
  .wp-home-v4 .whm-bottom{grid-template-columns:1fr !important}
}
@media (max-width:760px){
  .wi-container.wi-shell,.wp-public,.ws-shell,.wp-search,.wp-transfers,.wp-fleet,.wp-airport,.wp-cms,.wp-driver-apply,.wp-vehicle{
    padding-top:14px !important;
    padding-bottom:26px !important;
  }
  .wp-home-v4 .whm-hero{
    padding:18px !important;
    border-radius:24px !important;
  }
  .wp-home-v4 .whm-copy h1,
  .ws-shell .ws-hero h1,
  .wp-search h1,
  .wp-cms h1,
  .wp-driver-apply h1{
    font-size:clamp(34px,11vw,48px) !important;
  }
  .wp-home-v4 .whm-search .wi-searchbox__row,
  .wp-search .wi-searchbox__row{grid-template-columns:1fr !important}
  .wp-home-v4 .whm-search .wi-searchbox__submit,
  .wp-search .wi-searchbox__submit{width:100% !important}
  .wr-page--route-master{
    padding:8px 10px 30px !important;
  }
  .wr-page--route-master .wr-hero,
  .wr-page--route-master #booking{
    border-radius:22px !important;
  }
}
@media (max-width:640px){
  .ww-footer-top{grid-template-columns:1fr !important}
  .ws-route-grid > *,
  .ws-airport-grid > *,
  .ws-fleet-grid > *,
  .ws-gallery-grid > *,
  .ws-link-grid > *,
  .wp-home-v4 .whm-card-grid > *,
  .wp-home-v4 .whm-value-grid > *,
  .wp-home-v4 .whm-steps > *,
  .wp-home-v4 .whm-quote-grid > *{
    min-width:0 !important;
  }
}
