/* Wanderin v5 — trip / itinerary + destination polish, width lock, sell-first booking */
body{overflow-x:hidden!important}

.wt-trip,.wi-destinations-hub--focused{max-width:1240px!important;margin:0 auto!important;padding:14px 16px 28px!important;box-sizing:border-box!important}
.wt-trip *,.wi-destinations-hub--focused *{box-sizing:border-box!important;min-width:0}

/* --- Trip hero --- */
.wt-trip .t-hero{background:radial-gradient(circle at 100% 0%, rgba(22,119,255,.08), transparent 34%),linear-gradient(180deg,#ffffff,#f8fbff)!important;border:1px solid #dfe7ef!important;border-radius:30px!important;box-shadow:0 18px 40px rgba(15,23,42,.06)!important;overflow:hidden!important}
.wt-trip .t-hero:after,.wt-trip .t-hero:before{display:none!important}
.wt-trip .t-hero-shell{display:grid!important;grid-template-columns:minmax(0,1.06fr) minmax(300px,.94fr)!important;gap:18px!important;align-items:start!important;padding:22px!important}
.wt-trip .t-hero-shell--textonly{grid-template-columns:1fr!important}
.wt-trip .t-hero-copy{display:grid!important;gap:14px!important;align-content:start!important}
.wt-trip .t-kicker{display:inline-flex!important;align-items:center!important;min-height:44px!important;padding:10px 18px!important;border-radius:999px!important;border:1px solid #e3e8ef!important;background:linear-gradient(180deg,#fff,#fbfdff)!important;color:#6d7b91!important;font-size:12px!important;font-weight:1000!important;letter-spacing:.16em!important;text-transform:uppercase!important;width:max-content!important;max-width:100%!important}
.wt-trip .t-hero h1{margin:0!important;font-size:clamp(42px,5.2vw,64px)!important;line-height:.98!important;letter-spacing:-.06em!important;color:#132238!important;max-width:11ch!important}
.wt-trip .t-summary{max-width:42ch!important;margin:0!important;color:#617089!important;font-size:18px!important;line-height:1.65!important}
.wt-trip .t-pills{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin:0!important}
.wt-trip .t-pill{display:inline-flex!important;align-items:center!important;min-height:36px!important;padding:8px 12px!important;border-radius:999px!important;border:1px solid #dfe7ef!important;background:#f8fbff!important;color:#24364f!important;font-size:13px!important;font-weight:900!important}
.wt-trip .t-hero-actions{display:flex!important;flex-wrap:wrap!important;gap:10px!important;margin-top:2px!important}
.wt-trip .t-hero-actions .wi-btn,.wt-trip .t-hero-actions .wi-btn2{min-height:48px!important;padding:0 18px!important;border-radius:999px!important}
.wt-trip .t-hero-actions .wi-btn2{background:#fff!important;border:1px solid #dce4ec!important;color:#132238!important;box-shadow:none!important}
.wt-trip .t-nav{display:flex!important;flex-wrap:wrap!important;gap:10px!important;margin-top:2px!important}
.wt-trip .t-nav a{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:44px!important;padding:10px 18px!important;border-radius:999px!important;border:1px solid #dfe6ee!important;background:#fff!important;color:#132238!important;font-weight:900!important;text-decoration:none!important;box-shadow:none!important}
.wt-trip .t-nav a:hover{border-color:#bfcddd!important}
.wt-trip .t-hero-media,.wt-trip .wr-vehicle-media{display:none!important}

/* --- Main shell / width lock --- */
.wt-trip .t-shell{display:grid!important;grid-template-columns:minmax(0,1fr) 390px!important;gap:20px!important;align-items:start!important;margin-top:18px!important}
.wt-trip .t-main,.wt-trip .t-aside{min-width:0!important;max-width:100%!important}
.wt-trip .t-aside{position:sticky!important;top:84px!important;align-self:start!important}
.wt-trip .t-section{margin-top:20px!important}
.wt-trip .t-section:first-child{margin-top:0!important}
.wt-trip .t-section>.wi-card,.wt-trip .t-book,.wt-trip .t-form{padding:22px!important;border-radius:26px!important;border:1px solid #e4e9ef!important;background:linear-gradient(180deg,#fff,#fbfdff)!important;box-shadow:0 14px 34px rgba(15,23,42,.05)!important}
.wt-trip .t-section h2{margin:0 0 12px 0!important;font-size:clamp(28px,3.2vw,40px)!important;line-height:1.02!important;letter-spacing:-.05em!important;color:#132238!important}
.wt-trip .t-section h3{letter-spacing:-.03em!important;color:#132238!important}
.wt-trip .t-section p,.wt-trip .t-section li,.wt-trip .t-section .wi-muted{overflow-wrap:anywhere!important}
.wt-trip .t-section ul{margin:0!important;padding-left:1.15em!important}
.wt-trip .t-section li{margin:.38rem 0!important;color:#617089!important;line-height:1.65!important}
.wt-trip .t-section p{line-height:1.72!important;color:#617089!important}

/* kill card chaos inside trip pages */
.wt-trip .t-main :is(.wi-grid,.ws-route-grid,.ws-airport-grid,.ws-link-grid,.wi-class-grid,.wi-stop-grid,.ws-review-grid){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;overflow:visible!important;padding:0!important;margin:0!important;scroll-snap-type:none!important}
.wt-trip .t-main :is(.wi-grid,.ws-route-grid,.ws-airport-grid,.ws-link-grid,.wi-class-grid,.wi-stop-grid,.ws-review-grid)>*{flex:none!important;min-width:0!important;width:auto!important;max-width:100%!important;scroll-snap-align:none!important}
.wt-trip .t-main .ws-review-grid{grid-template-columns:1fr!important}
.wt-trip .t-main :is(.ws-route-card,.ws-link-card,.wi-card,.ws-review-card,.ws-review-shell .ws-review-card){border-radius:24px!important;overflow:hidden!important}
.wt-trip .t-main :is(.ws-route-card>img,.ws-link-card>img,.wi-card>img){display:none!important}

/* booking should look closer to route page */
.wt-trip .t-book .wb-form-header{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:14px!important;align-items:start!important}
.wt-trip .t-book .t-total{font-size:32px!important;line-height:1!important;color:#166534!important}
.wt-trip .t-book .t-mini{display:grid!important;grid-template-columns:1fr 1fr auto!important;gap:10px!important;align-items:end!important;margin-top:14px!important}
.wt-trip .t-book .t-mini .wi-input,.wt-trip .t-form .wi-input,.wt-trip .t-form .wb-code-select{min-height:54px!important;border-radius:18px!important;border:1px solid #dfe6ee!important;background:#fff!important;color:#132238!important;box-shadow:none!important}
.wt-trip .t-book .t-mini .wi-btn2{min-height:54px!important;border-radius:18px!important;padding:0 16px!important}
.wt-trip .t-book .wi-grid{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;overflow:visible!important;padding:0!important;margin-top:14px!important}
.wt-trip .wr-class-card{display:grid!important;grid-template-columns:1fr!important;border:1px solid #e4e9ef!important;border-radius:24px!important;background:linear-gradient(180deg,#fff,#fbfdff)!important;box-shadow:none!important;overflow:hidden!important;padding:0!important}
.wt-trip .wr-class-card.is-selected{border-color:rgba(22,163,74,.28)!important;box-shadow:0 0 0 3px rgba(22,163,74,.06),0 18px 34px rgba(22,101,52,.08)!important}
.wt-trip .wr-class-body{padding:18px!important}
.wt-trip .wr-eyebrow{display:inline-flex!important;width:max-content!important;padding:8px 14px!important;border-radius:999px!important;border:1px solid #e3e8ef!important;background:#f8fbff!important;color:#6d7b91!important;font-size:12px!important;letter-spacing:.14em!important;text-transform:uppercase!important}
.wt-trip .wr-class-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:14px!important;align-items:start!important}
.wt-trip .wr-class-head h3{font-size:20px!important;line-height:1.1!important;letter-spacing:-.03em!important}
.wt-trip .wr-price{min-width:0!important;text-align:right!important}
.wt-trip .wr-price-main{font-size:22px!important;color:#132238!important}
.wt-trip .wr-class-sub{font-size:14px!important;line-height:1.62!important;color:#617089!important;margin-top:8px!important}
.wt-trip .wr-meta-row{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin-top:10px!important}
.wt-trip .wr-meta-row span{display:inline-flex!important;align-items:center!important;min-height:34px!important;padding:7px 11px!important;border-radius:999px!important;border:1px solid #e3e8ef!important;background:#f8fbff!important;font-size:12px!important;font-weight:800!important;color:#24364f!important}
.wt-trip .wr-class-actions{margin-top:14px!important}
.wt-trip .wr-class-actions .wi-btn,.wt-trip .wr-class-actions .wi-btn--primary{width:100%!important;min-height:50px!important;border-radius:18px!important;font-size:15px!important}

.wt-trip .t-form{margin-top:14px!important}
.wt-trip .t-form-intro{display:grid!important;gap:12px!important;margin-bottom:14px!important}
.wt-trip .t-form-trust,.wt-trip .wb-step-row{display:flex!important;flex-wrap:wrap!important;gap:8px!important}
.wt-trip .wb-trust,.wt-trip .wb-step{display:inline-flex!important;align-items:center!important;min-height:38px!important;padding:8px 12px!important;border-radius:999px!important;border:1px solid #dfe6ee!important;background:#f8fbff!important;color:#24364f!important;font-size:12px!important;font-weight:900!important}
.wt-trip .wb-summary-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin-top:14px!important}
.wt-trip .wb-summary-item{padding:14px!important;border-radius:18px!important;border:1px solid #e4e9ef!important;background:#fff!important}
.wt-trip .wb-summary-item small{display:block!important;color:#6d7b91!important;font-size:11px!important;letter-spacing:.08em!important;text-transform:uppercase!important;margin-bottom:6px!important}
.wt-trip .wb-summary-item strong{font-size:16px!important;line-height:1.35!important;color:#132238!important}
.wt-trip .t-booking-grid{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:12px!important}
.wt-trip .t-form-section{padding:16px!important;border-radius:22px!important;border:1px solid #e4e9ef!important;background:#fff!important;display:grid!important;gap:12px!important}
.wt-trip .t-form-title{font-size:18px!important;line-height:1.1!important;letter-spacing:-.03em!important;color:#132238!important}
.wt-trip .t-form-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
.wt-trip .t-help{margin-top:6px!important;font-size:12px!important;line-height:1.55!important;color:#6d7b91!important}
.wt-trip .wb-phone-grid{display:grid!important;grid-template-columns:140px minmax(0,1fr)!important;gap:10px!important}
.wt-trip .t-submit-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:12px!important;align-items:center!important;padding:16px!important;border-radius:22px!important;border:1px solid #e4e9ef!important;background:linear-gradient(180deg,#fff,#fbfdff)!important}
.wt-trip .t-submit-row .wi-btn{min-height:52px!important;border-radius:18px!important;padding:0 18px!important}
.wt-trip .wb-meta{font-size:14px!important;color:#617089!important}
.wt-trip #wiTripLead{border-radius:18px!important}

/* Destination hubs: cleaner handoff into transfers */
.wi-destinations-hub--focused :is(.wi-grid,.ws-route-grid,.ws-link-grid,.wi-class-grid,.wi-stop-grid){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;overflow:visible!important;padding:0!important;margin:0!important;scroll-snap-type:none!important}
.wi-destinations-hub--focused :is(.wi-grid,.ws-route-grid,.ws-link-grid,.wi-class-grid,.wi-stop-grid)>*{flex:none!important;min-width:0!important;width:auto!important;max-width:100%!important}
.wi-destinations-hub--focused :is(.ws-route-card,.ws-link-card,.wi-card){border-radius:24px!important;overflow:hidden!important}
.wi-destinations-hub--focused :is(.ws-route-card>img,.ws-link-card>img,.wi-card>img){display:none!important}
.wi-destinations-hub--focused .wi-transfer-launch,.wi-destinations-hub--focused .wi-destination-launch{border:1px solid #e4e9ef!important;background:linear-gradient(180deg,#fff,#fbfdff)!important;box-shadow:0 14px 34px rgba(15,23,42,.05)!important}

@media (max-width:980px){
  .wt-trip,.wi-destinations-hub--focused{padding:12px 14px 24px!important}
  .wt-trip .t-shell{grid-template-columns:1fr!important;gap:16px!important}
  .wt-trip .t-aside{position:relative!important;top:auto!important;order:-1!important}
  .wt-trip .t-hero-shell{grid-template-columns:1fr!important;padding:18px!important}
  .wt-trip .t-hero h1{max-width:none!important}
  .wt-trip .t-main :is(.wi-grid,.ws-route-grid,.ws-airport-grid,.ws-link-grid,.wi-class-grid,.wi-stop-grid,.ws-review-grid),
  .wi-destinations-hub--focused :is(.wi-grid,.ws-route-grid,.ws-link-grid,.wi-class-grid,.wi-stop-grid){grid-template-columns:1fr!important}
}
@media (max-width:760px){
  .wt-trip,.wi-destinations-hub--focused{padding:10px 12px 22px!important}
  .wt-trip .t-hero,.wt-trip .t-section>.wi-card,.wt-trip .t-book,.wt-trip .t-form,.wi-destinations-hub--focused :is(.wi-card,.ws-route-card,.ws-link-card){border-radius:22px!important}
  .wt-trip .t-hero h1{font-size:clamp(32px,10vw,46px)!important}
  .wt-trip .t-summary{font-size:16px!important}
  .wt-trip .t-hero-actions .wi-btn,.wt-trip .t-hero-actions .wi-btn2{flex:1 1 100%!important}
  .wt-trip .t-nav a{flex:1 1 calc(50% - 10px)!important}
  .wt-trip .t-section>.wi-card,.wt-trip .t-book,.wt-trip .t-form{padding:18px!important}
  .wt-trip .t-book .wb-form-header,.wt-trip .t-book .t-mini,.wt-trip .t-form-grid,.wt-trip .wb-summary-grid,.wt-trip .t-submit-row,.wt-trip .wb-phone-grid{grid-template-columns:1fr!important}
  .wt-trip .wr-class-head{grid-template-columns:1fr!important}
  .wt-trip .wr-price{text-align:left!important}
}
