/* Wanderin Final Clean Finish — apple-like calm, sales-first clarity */
:root{
  --wf-bg:#f6f7f4;
  --wf-surface:#ffffff;
  --wf-surface-soft:#fbfcfa;
  --wf-stroke:#e6eae3;
  --wf-stroke-strong:#d8ded6;
  --wf-text:#101826;
  --wf-muted:#657285;
  --wf-soft:#7b8797;
  --wf-brand:#17663f;
  --wf-shadow:0 12px 32px rgba(16,24,38,.06);
  --wf-shadow-soft:0 8px 24px rgba(16,24,38,.04);
  --wf-r-xl:28px;
  --wf-r-lg:22px;
  --wf-r-md:18px;
}
html{background:var(--wf-bg)}
body{background:linear-gradient(180deg,#f8f9f7 0%,#f4f6f3 48%,#f2f4f1 100%)!important;color:var(--wf-text)!important;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body :where(p,li,.wi-muted,.t-help,.wr-field-note,.wr-form-note,.wr-class-sub,.wr-class-model,.wr-hero-tagline,.wr-section-head p,.ws-review-summary,.ws-note,.t-sub){color:var(--wf-muted)!important}
body :where(h1,h2,h3,h4,strong,.wi-card-title,.t-title,.t-h3,.wr-hero h1,.wr-book-head h2,.ww-brand-name){color:var(--wf-text)!important}
body :where(.wp-public,.wt-trips,.wt-trip,.wr-page--route-master){max-width:1220px!important}

/* Header */
.ww-header-wrap{position:sticky!important;top:0!important;z-index:60!important;background:rgba(246,247,244,.84)!important;backdrop-filter:blur(18px)!important;border-bottom:1px solid rgba(230,234,227,.88)!important;box-shadow:none!important}
.ww-site-shell{max-width:1220px!important}
.ww-header{padding:10px 0!important;gap:14px!important}
.ww-brand{padding:4px 0!important}
.ww-brand img{box-shadow:none!important;border:1px solid rgba(230,234,227,.96)!important}
.ww-brand-name{font-size:17px!important;letter-spacing:-.03em!important}
.ww-brand-tag{font-size:11px!important;color:var(--wf-soft)!important}
.ww-nav a{min-height:40px!important;padding:0 14px!important;border-radius:999px!important;font-size:13px!important;font-weight:800!important;color:#223042!important;background:transparent!important;border:1px solid transparent!important}
.ww-nav a:hover,.ww-nav a.is-active{background:var(--wf-surface)!important;border-color:var(--wf-stroke)!important;box-shadow:var(--wf-shadow-soft)!important}
.ww-help-link,.ww-book-btn,.ww-search-toggle,.ww-lang-toggle,.ww-menu-btn,.ww-search-btn{min-height:42px!important;border-radius:999px!important;box-shadow:none!important}
.ww-help-link{background:var(--wf-surface)!important;border:1px solid var(--wf-stroke)!important;color:#1c2a3b!important}
.ww-book-btn,.ww-search-btn,.wr-btn--primary,.wi-btn--primary,.wi-btn2,.wr-sticky-wa{background:#111a27!important;border-color:#111a27!important;color:#fff!important;box-shadow:none!important}
.ww-book-btn:hover,.ww-search-btn:hover,.wr-btn--primary:hover,.wi-btn--primary:hover,.wi-btn2:hover,.wr-sticky-wa:hover{background:#182335!important;border-color:#182335!important;color:#fff!important}
.ww-search-shell,.ww-lang-panel,.ww-mobile-panel-inner,.ww-search-drop{background:rgba(255,255,255,.96)!important;border:1px solid var(--wf-stroke)!important;box-shadow:0 18px 44px rgba(16,24,38,.08)!important}
.ww-search input{border-radius:16px!important}
.ww-chip-row a{background:#fff!important;border-color:var(--wf-stroke)!important;color:#233145!important}
.ww-chip-row a.is-strong{background:#f4f8ff!important;border-color:#dbe7ff!important;color:#165ec9!important}

/* Global sections and cards */
:where(.wi-section,.ws-section,.wr-section,.t-section){margin-top:18px!important}
:where(.ws-shell,.wi-shell,.wi-container,.wi-wrap){gap:18px!important}
:where(.wi-card,.ws-route-card,.ws-vehicle-card,.ws-gallery-card,.ws-panel,.wr-panel,.wr-class-card,.wt-trips .t-card,.wt-trip .t-book,.wt-trip .t-form,.wt-trip .wr-panel,.wt-trip .t-section,.wi-faq-item){background:linear-gradient(180deg,var(--wf-surface),var(--wf-surface-soft))!important;border:1px solid var(--wf-stroke)!important;border-radius:var(--wf-r-lg)!important;box-shadow:var(--wf-shadow)!important}
:where(.ws-card-body,.wi-card-body,.wt-trips .t-body,.wt-trip .wr-class-body){padding:14px 14px 15px!important}
:where(.wi-card-title,.ws-card-body h3,.wt-trips .t-h3,.wt-trips .t-title,.wr-class-head h3,.wr-review h3){font-size:clamp(17px,1.3vw,20px)!important;line-height:1.16!important;letter-spacing:-.03em!important;margin:4px 0 7px!important}
:where(.wi-card-desc,.ws-card-body p,.wt-trips .t-summary,.ws-note,.wr-review p){font-size:13px!important;line-height:1.6!important}
:where(.wi-chip,.wi-pill,.ws-meta span,.t-pill,.wr-review-tags span,.wr-stop-badge,.wr-summary-tile small){border-radius:999px!important}
body :where(.wi-chip,.wi-pill,.ws-meta span,.t-pill,.wr-review-tags span,.wr-review-route,.wr-stop-badge,.wr-summary-tile small,.wb-trust,.wr-booking-brain__chips span){background:#f7f8f6!important;border:1px solid var(--wf-stroke)!important;color:#334155!important;box-shadow:none!important}
:where(.wi-eyebrow,.t-kicker,.wr-eyebrow,.ww-footer-title,.ww-search-title,.wr-book-kicker,.wr-booking-brain__eyebrow){letter-spacing:.12em!important;text-transform:uppercase!important;font-weight:900!important;color:#617087!important}
:where(.wi-section h2,.ws-section-head h2,.wr-section-head h2,.wt-trip .t-section h2){font-size:clamp(24px,2.8vw,34px)!important;line-height:1.06!important;letter-spacing:-.045em!important;margin:0!important}
:where(.ws-section-head,.wr-section-head){align-items:flex-end!important;gap:12px!important;margin-bottom:14px!important}

/* Public heroes */
:where(.wi-hero,.ws-hero,.wt-trips .t-hero,.wt-trip .t-hero,.wr-hero){background:linear-gradient(180deg,#ffffff,#f9fbf8)!important;border:1px solid var(--wf-stroke)!important;border-radius:var(--wf-r-xl)!important;box-shadow:var(--wf-shadow)!important;overflow:hidden!important}
.wp-public :where(.wi-hero,.ws-hero){padding:18px!important}
.wp-public :where(.wi-hero-kicker,.ws-eyebrow){color:var(--wf-brand)!important}
.wp-public :where(.wi-hero h1,.ws-hero h1,.wi-hero-kv strong,.wt-trips .t-title,.wt-trip .t-hero-card h1){font-size:clamp(30px,4vw,48px)!important;line-height:1!important;letter-spacing:-.05em!important}
.wp-public :where(.wi-hero p,.ws-note,.wt-trips .t-sub,.wt-trip .t-hero-card .t-summary){max-width:64ch!important;font-size:14px!important;line-height:1.62!important}

/* Search + utility */
:where(.wi-searchbox,.ww-search-shell,.wt-trips .t-search){background:#fff!important;border:1px solid var(--wf-stroke)!important;border-radius:20px!important;box-shadow:var(--wf-shadow-soft)!important}
:where(.wi-input,input,select,textarea){border-radius:16px!important}
body :where(input,select,textarea,.wi-input,#booking input,#booking select,#booking textarea){min-height:46px!important;padding:0 14px!important;border:1px solid var(--wf-stroke-strong)!important;background:#fff!important;box-shadow:none!important}
body textarea{min-height:110px!important;padding:12px 14px!important}

/* Route page master */
.wr-page--route-master{padding-bottom:108px!important;background:transparent!important}
.wr-page--route-master .wr-main{gap:18px!important}
.wr-page--route-master .wr-hero{padding:24px!important;background:linear-gradient(180deg,#ffffff,#f8fbf8)!important;border-radius:28px!important}
.wr-page--route-master .wr-breadcrumbs{font-size:12px!important;color:var(--wf-soft)!important}
.wr-page--route-master .wr-breadcrumbs a{color:#234d37!important}
.wr-page--route-master .wr-hero h1{font-size:clamp(34px,5vw,56px)!important;max-width:11ch!important}
.wr-page--route-master .wr-hero-tagline{max-width:60ch!important;font-size:15px!important;line-height:1.65!important}
.wr-page--route-master .wr-hero-statline span,.wr-page--route-master .wr-service-strip span{background:#f7f8f6!important;border:1px solid var(--wf-stroke)!important;color:#233145!important}
.wr-page--route-master .wr-hero-priceblock strong{background:#111a27!important;padding:0 15px!important}
.wr-page--route-master #booking{padding:18px!important;border-radius:26px!important;background:linear-gradient(180deg,#ffffff,#fbfcfa)!important}
.wr-page--route-master #booking .wr-book-head{gap:8px!important;margin-bottom:14px!important}
.wr-page--route-master #booking .wr-book-head h2{font-size:clamp(26px,3.4vw,38px)!important}
.wr-page--route-master #booking .wr-book-head p{max-width:54ch!important;font-size:13px!important;line-height:1.58!important}
.wr-page--route-master #booking .wr-form-section,.wr-page--route-master #booking .wr-book-optional,.wr-page--route-master #booking .wr-quote-box--submit,.wr-page--route-master #booking .wr-summary-tile{background:#fff!important;border:1px solid var(--wf-stroke)!important;border-radius:20px!important;box-shadow:none!important}
.wr-page--route-master #booking .wb-section-title{font-size:18px!important;letter-spacing:-.02em!important}
.wr-page--route-master #booking .wr-booking-selected-card{border:1px solid rgba(23,102,63,.16)!important;border-radius:22px!important;box-shadow:0 10px 24px rgba(23,102,63,.07)!important;background:linear-gradient(180deg,#fbfefb,#ffffff)!important}
.wr-page--route-master #booking .wr-booking-selected-card__copy small:before{content:'Selected'!important;background:rgba(23,102,63,.08)!important;border-color:rgba(23,102,63,.12)!important;color:#17663f!important}
.wr-page--route-master #booking .wr-booking-selected-card__copy strong{font-size:21px!important;line-height:1.08!important}
.wr-page--route-master #booking .wr-price-box--booking strong,.wr-page--route-master #booking .wr-price-box strong{color:#0f5c38!important}
.wr-page--route-master #classes .wr-class-grid,.wr-page--route-master #classes .wr-class-grid--booking{gap:12px!important}
.wr-page--route-master #classes .wr-class-card{border-radius:22px!important;box-shadow:var(--wf-shadow)!important}
.wr-page--route-master #classes .wr-vehicle-media{background:#eef2ed!important}
.wr-page--route-master .wr-class-head{gap:10px!important}
.wr-page--route-master .wr-class-fitline{font-size:12.5px!important;line-height:1.5!important;color:#415063!important}
.wr-page--route-master .wr-section{padding:18px!important}
.wr-page--route-master .wr-section-head--reviews{margin-bottom:10px!important}
.wr-page--route-master .wr-review-summary{margin-bottom:12px!important}
.wr-page--route-master .wr-review-score{padding:14px 16px!important;border-radius:18px!important;border:1px solid var(--wf-stroke)!important;background:#fff!important}
.wr-page--route-master .wr-review-score strong{font-size:28px!important;letter-spacing:-.04em!important}
.wr-page--route-master .wr-related-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;overflow:visible!important;padding:0!important;margin:0!important}
.wr-page--route-master .wr-related-grid > *{min-width:0!important;flex:none!important}
.wr-page--route-master .wr-review{padding:16px!important}
.wr-page--route-master .wr-review-top{gap:12px!important}
.wr-page--route-master .wr-review-mark{font-size:34px!important;line-height:1!important;color:#d8e3da!important}
.wr-page--route-master .wr-review-meta{gap:8px!important;font-size:12px!important;color:var(--wf-soft)!important}
.wr-page--route-master .wr-review-tags{margin-top:10px!important;gap:8px!important}
.wr-page--route-master .wr-stop-grid,.wr-page--route-master .wr-detail-grid,.wr-page--route-master .wr-route-flow{gap:12px!important}
.wr-page--route-master .wr-step,.wr-page--route-master .wr-stop-card,.wr-page--route-master .wr-detail-box{padding:16px!important}
.wr-page--route-master .wr-sticky-wa{position:fixed!important;right:16px!important;bottom:16px!important;z-index:45!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;min-height:52px!important;padding:0 16px!important;border-radius:999px!important;box-shadow:0 14px 30px rgba(17,26,39,.18)!important;text-decoration:none!important}
.wr-page--route-master .wr-sticky-wa span{display:none!important}
.wr-page--route-master .wr-sticky-wa strong{font-size:14px!important}

/* Trips and public pages */
.wt-trips .t-hero-inner{gap:12px!important;padding:18px!important}
.wt-trips .t-side-card,.wt-trips .t-mini-note{background:#fff!important;border:1px solid var(--wf-stroke)!important;box-shadow:none!important}
.wt-trips .t-side-card span{font-size:13px!important;line-height:1.6!important}
.wt-trips .t-grid{gap:12px!important}
.wt-trips .t-card{transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease!important}
.wt-trips .t-card:hover{transform:translateY(-1px)!important;box-shadow:0 14px 28px rgba(16,24,38,.08)!important}
.wt-trip .t-hero{background:linear-gradient(180deg,#ffffff,#f9fbf8)!important}
.wt-trip .t-hero:after{display:none!important}
.wt-trip .t-hero-card{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;padding:18px!important}
.wt-trip .t-hero-card .t-kicker{color:var(--wf-brand)!important}
.wt-trip .t-hero-card .t-summary{color:var(--wf-muted)!important}
.wt-trip .t-nav a,.wt-trip .t-form-trust span,.wt-trip .t-mini .wi-input{border:1px solid var(--wf-stroke)!important;background:#fff!important}

/* Reviews across public pages */
.ws-review-grid,.wr-review-grid,.wr-review-grid--slider,.wr-review-grid--static{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;overflow:visible!important;scroll-snap-type:none!important}
.ws-review-grid > *, .wr-review-grid > *, .wr-review-grid--slider > *,.wr-review-grid--static > *{min-width:0!important;flex:none!important;scroll-snap-align:none!important}
.ws-review-shell,.ws-review-card,.wr-review{border-radius:22px!important}
.ws-review-mark{color:#dbe4ee!important}
.ws-review-summary,.ws-review-strip{margin-bottom:12px!important}

/* Footer */
.ww-footer{margin-top:32px!important;background:linear-gradient(180deg,#f8faf8,#f3f5f2)!important;border-top:1px solid var(--wf-stroke)!important}
.ww-footer-shell{max-width:1220px!important;padding:26px 16px 18px!important}
.ww-footer-top{gap:20px!important}
.ww-footer-brand strong{font-size:19px!important;letter-spacing:-.03em!important}
.ww-footer-desc{font-size:13px!important;line-height:1.72!important;color:var(--wf-muted)!important}
.ww-footer-links a{min-height:28px!important;display:inline-flex!important;align-items:center!important;color:#223042!important}
.ww-footer-pill{background:#fff!important;border:1px solid var(--wf-stroke)!important;box-shadow:none!important;color:#132238!important}
.ww-footer-bottom{padding-top:14px!important;font-size:12.5px!important;color:var(--wf-soft)!important}

/* Mobile */
@media (max-width:980px){
  .ww-nav{display:none!important}
  .wr-page--route-master .wr-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .wt-trips .t-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;overflow:visible!important}
  .wt-trips .t-card{min-width:0!important;flex:none!important}
}
@media (max-width:760px){
  .ww-header{padding:8px 0!important}
  .ww-search-wrap{padding-bottom:8px!important}
  .wr-page--route-master{padding:12px 12px 102px!important}
  .wr-page--route-master .wr-hero{padding:18px!important}
  .wr-page--route-master .wr-hero h1{font-size:clamp(30px,8.6vw,42px)!important;max-width:none!important}
  .wr-page--route-master #booking{padding:14px!important}
  .wr-page--route-master #booking .wr-book-head h2{font-size:28px!important}
  .wr-page--route-master #booking .wr-booking-selected-card{grid-template-columns:1fr!important}
  .wr-page--route-master #booking .wr-booking-selected-card__media,.wr-page--route-master #booking .wr-booking-selected-card .wr-vehicle-media{min-height:156px!important;border-right:none!important;border-bottom:1px solid var(--wf-stroke)!important}
  .wr-page--route-master .wr-related-grid,.wt-trips .t-grid{grid-template-columns:1fr!important}
  .wr-page--route-master .wr-sticky-wa{left:12px!important;right:12px!important;bottom:12px!important;width:auto!important;justify-content:center!important}
  .wr-page--route-master .wr-sticky-wa span{display:inline!important;font-size:12px!important;opacity:.82!important}
  .ww-footer-top{grid-template-columns:1fr!important}
}


/* Unified review sliders across all public pages */
.ws-review-grid,
.wr-review-grid--slider,
.wr-page--route-master #reviews .wr-review-grid--slider{
  display:flex !important;
  gap:14px !important;
  overflow-x:auto !important;
  padding:2px 2px 10px !important;
  margin:0 -2px !important;
  scroll-snap-type:x proximity !important;
  -webkit-overflow-scrolling:touch !important;
  scrollbar-width:none !important;
}
.ws-review-grid::-webkit-scrollbar,
.wr-review-grid--slider::-webkit-scrollbar,
.wr-page--route-master #reviews .wr-review-grid--slider::-webkit-scrollbar{display:none !important}
.ws-review-grid > *,
.wr-review-grid--slider > *,
.wr-page--route-master #reviews .wr-review-grid--slider > *{
  flex:0 0 320px !important;
  min-width:320px !important;
  scroll-snap-align:start !important;
}
.wr-page--route-master .ww-slider-nav,
.ww-slider-nav{display:flex !important;gap:8px !important;align-items:center !important}
@media (max-width:980px){
  .ws-review-grid > *,
  .wr-review-grid--slider > *,
  .wr-page--route-master #reviews .wr-review-grid--slider > *{
    flex-basis:286px !important;
    min-width:286px !important;
  }
}
@media (max-width:640px){
  .ws-review-grid > *,
  .wr-review-grid--slider > *,
  .wr-page--route-master #reviews .wr-review-grid--slider > *{
    flex-basis:84% !important;
    min-width:84% !important;
  }
}


/* Final review-slider truth */
.ws-review-shell .ww-slider-shell,.wr-page--route-master .ww-slider-shell{display:block!important}
.ws-review-shell .ww-slider-nav,.wr-page--route-master .ww-slider-nav{display:flex!important;gap:8px!important;align-items:center!important}
@media (max-width:760px){
  .ws-review-shell .ww-slider-nav,.wr-page--route-master .ww-slider-nav{display:none!important}
}


/* booking restore */
.wr-page--route-master .wr-vehicle-chooser--curated .wr-vehicle-group--flat[hidden]{display:none!important}
.wr-page--route-master .wr-vehicle-decision[hidden],
.wr-page--route-master .wr-vehicle-drawer[hidden]{display:none!important}
.wr-page--route-master .wr-sticky-wa{right:14px!important;bottom:14px!important;left:auto!important;width:auto!important;max-width:calc(100vw - 28px)!important;min-height:46px!important;padding:0 14px!important}
.wr-page--route-master .wr-sticky-wa span{display:none!important}
@media (max-width:760px){
  .wr-page--route-master .wr-sticky-wa{left:12px!important;right:12px!important;bottom:72px!important;justify-content:center!important}
  .wr-page--route-master .wr-sticky-wa span{display:inline!important}
}
