/* Wanderin System V2: cleanup-first layer */
html{overflow-x:hidden!important}
body{overflow-x:hidden!important}
*,*::before,*::after{box-sizing:border-box}
img{max-width:100%;height:auto}

:root{
  --wi-v2-surface:#fff;
  --wi-v2-line:#e5e7eb;
  --wi-v2-line-soft:#eef2f6;
  --wi-v2-text:#132238;
  --wi-v2-muted:#667085;
  --wi-v2-brand:#17663f;
  --wi-v2-shadow:0 12px 28px rgba(15,23,42,.05);
}

/* remove late-stage visual chaos */
.ww-slider-shell,.ww-slider-nav{display:none!important}

/* text-first public pages: keep only vehicle photos */
.wi-card-img,
.wi-hero-media,
.ws-hero-media,
.ws-hero figure,
.wi-hero figure,
.wi-hero-photo,
.wr-hero-media,
.wr-story-media,
.t-hero-media,
.t-media,
.ws-route-card>img,
.ws-link-card>img,
.ws-gallery-card>img,
.wi-card>img{
  display:none!important;
}

/* preserve vehicle visuals */
.whm-card__media,
.whm-card__media img,
.ws-vehicle-card>img,
.ws-vehicle-card img,
.wr-vehicle-media,
.wr-vehicle-media img,
.wr-booking-selected-card__media,
.wr-booking-selected-card__media img,
.wr-vehicle-mini__media,
.wr-vehicle-mini__media img,
.wr-vehicle-drawer-card__media,
.wr-vehicle-drawer-card__media img{
  display:block!important;
}

/* collapse layouts that expected decorative photos */
.ws-hero-grid,
.wi-hero-inner,
.wr-hero-grid,
.wt-trips .t-hero-inner,
.t-hero{
  grid-template-columns:minmax(0,1fr)!important;
  align-items:start!important;
}

.ws-hero,
.wi-hero,
.t-hero,
.wr-hero{
  overflow:hidden!important;
}

.ws-route-card,
.ws-link-card,
.ws-gallery-card,
.wi-card,
.t-card{
  min-height:0!important;
  overflow:hidden!important;
}

.ws-route-card::before,
.ws-link-card::before,
.ws-gallery-card::before,
.wi-card::before,
.t-card::before{
  content:"";
  display:block;
  height:6px;
  background:linear-gradient(90deg,#17663f 0%,#165ec9 100%);
  opacity:.10;
}

.ws-route-card .ws-card-body,
.ws-link-card .ws-card-body,
.ws-gallery-card .ws-card-body,
.wi-card .wi-card-body,
.t-card .t-body{
  padding-top:18px!important;
}

/* search widget: clean mobile and hub layout */
.wi-searchbox,
.wi-searchbox .wi-searchbox__form{
  width:100%!important;
}
.wi-searchbox .wi-searchbox__labelrow{
  display:block!important;
  margin:0 0 10px!important;
}
.wi-searchbox .wi-searchbox__label{
  display:block!important;
  margin:0!important;
}
.wi-searchbox .wi-searchbox__row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:10px!important;
  align-items:stretch!important;
}
.wi-searchbox .wi-searchbox__input{
  min-width:0!important;
}
.wi-searchbox .wi-searchbox__submit,
.wi-searchbox .wi-searchbox__submit--label{
  min-width:126px!important;
  min-height:58px!important;
  padding:0 18px!important;
  border-radius:18px!important;
}
.wi-searchbox .wi-searchbox__panel{
  top:calc(100% + 10px)!important;
}

/* stop every public grid from turning into sideways slider */
.ws-route-grid,
.ws-airport-grid,
.ws-fleet-grid,
.ws-link-grid,
.ws-gallery-grid,
.wi-grid,
.wi-class-grid,
.wi-stop-grid,
.wt-trips .t-grid,
.wr-related-grid,
.wr-review-grid,
.wr-review-grid--slider,
.wr-review-grid--static,
.wr-class-grid{
  display:grid!important;
  overflow:visible!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
  padding:0!important;
  margin:0!important;
  scroll-snap-type:none!important;
}
.ws-route-grid>* ,
.ws-airport-grid>* ,
.ws-fleet-grid>* ,
.ws-link-grid>* ,
.ws-gallery-grid>* ,
.wi-grid>* ,
.wi-class-grid>* ,
.wi-stop-grid>* ,
.wt-trips .t-grid>* ,
.wr-related-grid>* ,
.wr-review-grid>* ,
.wr-review-grid--slider>* ,
.wr-review-grid--static>* ,
.wr-class-grid>*{
  min-width:0!important;
  width:auto!important;
  flex:none!important;
}

.ws-review-grid,
.wr-review-grid,
.wr-review-grid--slider,
.wr-review-grid--static{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}

/* cleaner route-page booking surfaces */
#booking,
#booking .wr-form-section,
#booking .wr-book-optional,
#booking .wr-summary-tile,
#booking .wr-quote-box--submit,
#booking .wr-booking-selected-card,
#booking .wr-class-grid--booking>.wr-class-card{
  box-shadow:var(--wi-v2-shadow)!important;
}
#booking .wr-class-grid--booking,
#booking .wr-class-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  overflow:visible!important;
  padding:0!important;
  margin:0!important;
}
#booking .wr-class-grid--booking>.wr-class-card,
#booking .wr-class-grid>.wr-class-card{
  min-width:0!important;
  width:100%!important;
}
#booking .wr-booking-selected-card .wr-vehicle-media,
#booking .wr-class-grid--booking .wr-vehicle-media,
#booking .wr-class-grid .wr-vehicle-media{
  background:#f7f8fa!important;
}

/* keep footer and sections aligned */
.ww-site-shell,.ww-footer-shell,.wi-container,.wi-shell,.ws-shell,.wr-page--route-master{max-width:1220px!important}
.ww-footer{overflow:hidden!important}

/* hide broken decorative media placeholders completely */
.wi-v2-no-media .wi-card-img,
.wi-v2-no-media .wi-hero-media,
.wi-v2-no-media .ws-hero-media,
.wi-v2-no-media .wr-hero-media,
.wi-v2-no-media .wr-story-media,
.wi-v2-no-media .t-hero-media,
.wi-v2-no-media .t-media,
.wi-v2-no-media .wi-hero-photo{
  display:none!important;
}

@media (max-width:1100px){
  .ws-route-grid,
  .ws-airport-grid,
  .ws-fleet-grid,
  .ws-link-grid,
  .ws-gallery-grid,
  .wi-grid,
  .wi-class-grid,
  .wi-stop-grid,
  .wt-trips .t-grid,
  .wr-related-grid,
  .wr-review-grid,
  .wr-review-grid--slider,
  .wr-review-grid--static,
  .wr-class-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  #booking .wr-class-grid--booking,
  #booking .wr-class-grid{
    grid-template-columns:1fr!important;
  }
}

@media (max-width:760px){
  .wi-searchbox .wi-searchbox__row{
    grid-template-columns:1fr!important;
  }
  .wi-searchbox .wi-searchbox__submit,
  .wi-searchbox .wi-searchbox__submit--label{
    width:100%!important;
    min-width:0!important;
    min-height:52px!important;
  }
  .ws-route-grid,
  .ws-airport-grid,
  .ws-fleet-grid,
  .ws-link-grid,
  .ws-gallery-grid,
  .wi-grid,
  .wi-class-grid,
  .wi-stop-grid,
  .wt-trips .t-grid,
  .wr-related-grid,
  .wr-review-grid,
  .wr-review-grid--slider,
  .wr-review-grid--static,
  .wr-class-grid{
    grid-template-columns:1fr!important;
  }
  .ws-route-card,
  .ws-link-card,
  .wi-card,
  .t-card,
  .ws-gallery-card,
  .wr-class-card,
  .wr-review,
  .wr-related-link{
    width:100%!important;
  }
  #booking .wr-booking-selected-card{
    grid-template-columns:1fr!important;
  }
  #booking .wr-booking-selected-card__media,
  #booking .wr-booking-selected-card .wr-vehicle-media{
    min-height:148px!important;
    border-right:none!important;
    border-bottom:1px solid var(--wi-v2-line-soft)!important;
  }
  #booking .wr-class-grid--booking>.wr-class-card,
  #booking .wr-class-grid>.wr-class-card{
    grid-template-columns:104px minmax(0,1fr)!important;
  }
  #booking .wr-class-grid--booking .wr-vehicle-media,
  #booking .wr-class-grid .wr-vehicle-media{
    width:104px!important;
    min-width:104px!important;
    min-height:96px!important;
  }
}
