/* Legacy page skin — brings the ~1,000 existing public pages (services, airport,
   suburb, route, legal, booking) into the 2026 navy / steel / silver system while
   keeping each page's own content, metadata and scripts. Loaded only on wrapped
   legacy pages (body.sst-legacy). ID-weighted selectors (:not(#_)) are used where
   legacy CSS relies on !important + IDs. */

/* 1. Type system: remap every legacy font variable, then force headings/body. */
body.sst-legacy, body.sst-legacy *{
  --font-display:'Montserrat','Segoe UI',system-ui,sans-serif!important; --sst-font-display:'Montserrat','Segoe UI',system-ui,sans-serif!important;
  --premium-serif:'Montserrat','Segoe UI',system-ui,sans-serif!important; --limo-serif:'Montserrat','Segoe UI',system-ui,sans-serif!important;
  --sso-display:'Montserrat','Segoe UI',system-ui,sans-serif!important; --sst-serif:'Montserrat','Segoe UI',system-ui,sans-serif!important;
  --ff-head:'Montserrat','Segoe UI',system-ui,sans-serif!important;
  --font-body:'Inter','Segoe UI',system-ui,sans-serif!important; --sst-font-body:'Inter','Segoe UI',system-ui,sans-serif!important;
  --premium-sans:'Inter','Segoe UI',system-ui,sans-serif!important; --limo-sans:'Inter','Segoe UI',system-ui,sans-serif!important;
  --sso-sans:'Inter','Segoe UI',system-ui,sans-serif!important; --sst-sans:'Inter','Segoe UI',system-ui,sans-serif!important;
  --ff-ui:'Inter','Segoe UI',system-ui,sans-serif!important; --ff-body:'Inter','Segoe UI',system-ui,sans-serif!important; --ff:'Inter','Segoe UI',system-ui,sans-serif!important;
  --gold:#B7C4CE!important;
}
html body.sst-legacy:not(#_) :is(h1,h2,h3,h4,h5,h6,[class*="title"],[class*="heading"],.fare-price,.fare-total-val,.veh-name,.btn,.btn-primary,.btn-outline,.hero-badge,.hero-panel-title):not(.sst-ico):not(.sst-header *):not(.sst-footer *):not(.sst-drawer *){
  font-family:'Montserrat','Segoe UI',system-ui,sans-serif!important;
}
html body.sst-legacy:not(#_) :is(p,li,td,th,label,input,select,textarea,small,span,a,div):not(.sst-header *):not(.sst-footer *):not(.sst-drawer *):not([class*="title"]):not([class*="heading"]){
  font-family:'Inter','Segoe UI',system-ui,sans-serif!important;
}
html body.sst-legacy:not(#_) main :is(h1,h2):not(.sst-header *),html body.sst-legacy:not(#_) > section :is(h1,h2),html body.sst-legacy:not(#_) .loc-hero-title,html body.sst-legacy:not(#_) .lux-section-title,html body.sst-legacy:not(#_) .loc-section-title{
  font-weight:800!important;letter-spacing:-.01em!important;line-height:1.12!important;
}
html body.sst-legacy:not(#_) :is(h1,.loc-hero-title):not(.sst-header *){font-size:clamp(32px,4.2vw,54px)!important;text-transform:uppercase!important}
html body.sst-legacy:not(#_) :is(main,section,article) h2:not(.sst-footer *){font-size:clamp(24px,2.6vw,34px)!important;text-transform:none!important}
html body.sst-legacy:not(#_) :is(main,section,article) h3:not(.sst-footer *):not(.sst-header *){font-size:clamp(18px,1.6vw,21px)!important;text-transform:none!important;letter-spacing:0!important}
html body.sst-legacy:not(#_) .fare-card h3{font-size:24px!important}
html body.sst-legacy:not(#_) :is(main,section) h4{font-size:16px!important;text-transform:none!important;letter-spacing:0!important}

/* 2. Palette: no gold accents; links and accents in brand blue / steel. */
html body.sst-legacy:not(#_) main a:not(.btn):not([class*="btn"]):not(.sst-btn){color:#075D99}
html body.sst-legacy:not(#_) :is(.hero-badge,.loc-badge,.badge,.eyebrow,[class*="kicker"]){color:#DCE6EE!important;border-color:rgba(183,196,206,.45)!important;background:rgba(183,196,206,.14)!important}
html body.sst-legacy:not(#_) section:not([class*="dark"]):not(.hero):not([class*="hero"]):not(.cta-section) :is(.loc-badge,.badge,.eyebrow){color:#426781!important;background:#EAF1F6!important;border-color:#D3DFE8!important}

/* 3. Buttons: one primary (blue), one secondary (outline). */
html body.sst-legacy:not(#_) :is(.btn-primary,.btn-book,.book-now-btn,.cta-primary,.primary-btn,.btn-calc,.calc-btn,.loc-btn-primary,.lux-btn-primary,a.btn:not(.btn-outline):not(.btn-back),button.btn:not(.btn-outline):not(.btn-back),[class*="btn-gold"]){
  background:#075D99!important;color:#fff!important;border:1px solid #075D99!important;border-radius:10px!important;
  font:700 15px/1.2 'Inter','Segoe UI',system-ui,sans-serif!important;letter-spacing:0!important;text-transform:none!important;box-shadow:0 8px 20px rgba(7,93,153,.22)!important}
html body.sst-legacy:not(#_) :is(.btn-primary,.btn-book,.loc-btn-primary,.lux-btn-primary,a.btn):hover{background:#064B7C!important}
html body.sst-legacy:not(#_) :is(.btn-outline,.btn-secondary,.loc-btn-secondary,.lux-btn-secondary,.btn-ghost){
  background:transparent!important;border:1.5px solid rgba(183,196,206,.75)!important;border-radius:10px!important;
  font:700 15px/1.2 'Inter','Segoe UI',system-ui,sans-serif!important;letter-spacing:0!important;text-transform:none!important}

/* 4. Forms inside legacy content: readable text on white fields. */
html body.sst-legacy:not(#_) main :is(input[type="text"],input[type="email"],input[type="tel"],input[type="date"],input[type="time"],input:not([type]),select,textarea):not(.sst-header *),
html body.sst-legacy:not(#_) :is(.fare-card,.hero,[class*="hero"],[class*="booking"]) :is(input:not([type="radio"]):not([type="checkbox"]),select,textarea){
  background:#fff!important;color:#202D38!important;border:1.5px solid #CBD6DE!important;border-radius:10px!important;min-height:48px;font:500 15px/1.3 'Inter','Segoe UI',system-ui,sans-serif!important}
html body.sst-legacy:not(#_) :is(input,select,textarea)::placeholder{color:#6B7C8B!important;opacity:1}
html body.sst-legacy:not(#_) :is(input,select,textarea):focus{border-color:#075D99!important;box-shadow:0 0 0 4px rgba(7,93,153,.14)!important;outline:none!important}
html body.sst-legacy:not(#_) .fare-card{background:linear-gradient(160deg,#163452,#10263C)!important;border:1px solid rgba(183,196,206,.25)!important;border-radius:18px!important}

/* 5. Dark sections: guarantee light text on navy. */
html body.sst-legacy:not(#_) :is(.loc-section-dark,.lux-section-dark,.section-dark,.dark-section,.cta-section,.loc-cta,.lux-cta,[class*="section-navy"]){background:#10263C!important;color:#E6EDF2!important}
html body.sst-legacy:not(#_) :is(.loc-section-dark,.lux-section-dark,.section-dark,.dark-section,.cta-section,.loc-cta,.lux-cta,[class*="section-navy"]) :is(h1,h2,h3,h4,h5,[class*="title"]){color:#fff!important}
html body.sst-legacy:not(#_) :is(.loc-section-dark,.lux-section-dark,.section-dark,.dark-section,.cta-section,.loc-cta,.lux-cta,[class*="section-navy"]) :is(p,li,span,[class*="desc"],[class*="text"]):not(.btn *):not([class*="btn"]){color:#C9D6E0!important}
html body.sst-legacy:not(#_) :is(.loc-section-dark,.lux-section-dark) :is(.loc-feature-card,[class*="card"]){background:rgba(255,255,255,.05)!important;border:1px solid rgba(183,196,206,.2)!important;border-radius:14px!important}

/* 6. Cards on light sections: brand radius, border and shadow. */
html body.sst-legacy:not(#_) :is(.feature,.service-card,.loc-route-card,.route-card,.loc-fare-card,.lux-card,.why-card,.faq-item,.fare-box):not(.fare-card){
  border-radius:14px!important;border:1px solid #DFE6EC!important;box-shadow:0 6px 18px rgba(16,38,60,.08)!important}
html body.sst-legacy:not(#_) :is(.loc-route-km,.route-km,.route-meta,.fare-note,.meta){color:#56687A!important}
html body.sst-legacy:not(#_) :is(.fare-price,.loc-route-price strong,.loc-fare-price){color:#075D99!important}

/* 7. Hero bands on legacy pages: consistent navy wash + spacing under the new header. */
html body.sst-legacy:not(#_) :is(.hero,.loc-hero,.lux-hero,.page-hero,.service-hero){padding-top:clamp(48px,6vw,88px)!important;padding-bottom:clamp(48px,6vw,88px)!important}
html body.sst-legacy:not(#_) :is(.hero,.loc-hero,.lux-hero,.page-hero,.service-hero)::after{background:linear-gradient(90deg,rgba(9,24,40,.92) 0%,rgba(10,28,46,.78) 45%,rgba(12,32,52,.45) 100%)!important}
html body.sst-legacy:not(#_) :is(.hero,.loc-hero,.lux-hero) :is(h1,.loc-hero-title){color:#fff!important}

/* 8. Unverified rating / review claims (owner rule: no unverified ratings). Hidden by site.js, styled here. */
.sst-hidden-claim{display:none!important}

/* 9. CTA links that legacy CSS paints near-black with dark text. */
html body.sst-legacy:not(#_) :is(a,button):is([class*="-cta"],[class*="cta-"],.loc-route-cta,.loc-routes-cta,.route-cta,.card-book):not(.sst-btn):not(.sst-header *):not(.sst-footer *){
  background:#075D99!important;color:#fff!important;border:1px solid #075D99!important;border-radius:10px!important;padding:10px 16px!important;
  display:inline-flex!important;align-items:center;justify-content:center;gap:6px;font:700 14px/1.2 'Inter','Segoe UI',system-ui,sans-serif!important;
  letter-spacing:0!important;text-transform:none!important;text-decoration:none!important;min-height:42px}
html body.sst-legacy:not(#_) :is(a,button):is([class*="-cta"],[class*="cta-"],.loc-route-cta,.route-cta,.card-book):hover{background:#064B7C!important}
html body.sst-legacy:not(#_) .card-book{background:transparent!important;border:1.5px solid rgba(183,196,206,.6)!important}
/* Outline / secondary buttons over photo or navy heroes: white text. */
html body.sst-legacy:not(#_) :is(.hero,[class*="hero"],.cta-section,[class*="section-dark"],[class*="-dark"]) :is(.btn-outline,.btn-secondary,.btn-ghost,[class*="btn-outline"],[class*="outline"]):not(.sst-header *){color:#fff!important;border-color:rgba(255,255,255,.7)!important}

/* 10. Maxi Taxi page variants: hide their own header/top bar/menu/footer (new shell replaces them) and remove gold. */
body.sst-legacy :is(.maxi-site-header,.maxi-top-bar,.maxi-main-nav,.maxi-return-strip,.maxi-footer,footer.maxi-footer){display:none!important}
html body.sst-legacy:not(#_) .maxi-page .maxi-hero{padding-top:clamp(48px,6vw,88px)!important;background:linear-gradient(90deg,rgba(9,24,40,.94),rgba(12,32,52,.78)),url('/images/maxi-taxi/hero-airport-kia-carnival-full.webp') center/cover no-repeat!important}
html body.sst-legacy:not(#_) .maxi-page :is(.btn-gold,.maxi-nav-book,.footer-cta-book){background:#075D99!important;color:#fff!important;box-shadow:0 8px 20px rgba(7,93,153,.25)!important;border-color:#075D99!important}
html body.sst-legacy:not(#_) .maxi-page :is(.maxi-eyebrow,.maxi-feature-pill,.maxi-section-links a,.maxi-chip){color:#DCE6EE!important;border-color:rgba(183,196,206,.4)!important;background:rgba(183,196,206,.12)!important}
html body.sst-legacy:not(#_) .maxi-page :is(figcaption,.maxi-hero-photo figcaption,.maxi-image-band figcaption){color:#DCE6EE!important}
html body.sst-legacy:not(#_) .maxi-page :is(.maxi-hero-photo,.maxi-image-band figure,.maxi-card,.maxi-service-card,[class*="maxi-panel"]){border-color:rgba(183,196,206,.25)!important}
html body.sst-legacy:not(#_) .maxi-page :is(.maxi-icon-box,.maxi-icon,.maxi-stat svg,[class*="maxi-icon"]){color:#7FB2D8!important;background:rgba(7,93,153,.14)!important}
html body.sst-legacy:not(#_) .maxi-page .maxi-title span{color:#B7C4CE!important}
html body.sst-legacy:not(#_) :is(a,button):is(.btn,.btn-outline,.btn-primary,.btn-gold,[class*="-cta"],[class*="btn-"]):not(.sst-header *):not(.sst-footer *){-webkit-text-fill-color:currentColor!important;background-clip:border-box!important}
