/* VICPros AutoCentre — consolidated final contrast, form and responsive fixes
   Loaded after style.css to override older conflicting declarations without rewriting forms. */
:root{--vp-readable-ink:#17191d;--vp-readable-muted:#343941;--vp-readable-white:#fff;--vp-readable-soft:#f6f6f4}
html{color-scheme:light}
body{font-synthesis:none;-webkit-text-size-adjust:100%;text-size-adjust:100%}
/* Never leave reveal content faded if an animation script is delayed or blocked. */
.reveal,.reveal:not(.is-visible){opacity:1!important;transform:none!important;filter:none!important}
/* The homepage is primarily light; its dark hero remains intentionally white-on-dark. */
body.home-page{background:#f7f7f5!important;color:#17191d!important}
body.home-page p,body.home-page li{color:#343941}
body.home-page .brand-hero,body.home-page .brand-hero *{color:#fff}
body.home-page .brand-hero .hero-trust b{color:#e4c17d}
body.home-page .brand-hero .hero-offer,body.home-page .brand-hero .hero-offer *{color:#17191d!important}
/* Light sections/cards: strong dark text, including secondary copy. */
body:not(.home-page) .section:not(.service-process-section):not(.dark-section),
body:not(.home-page) .service-value-section,
body:not(.home-page) .service-related-section{color:#17191d!important}
body:not(.home-page) .section:not(.service-process-section):not(.dark-section) h1,
body:not(.home-page) .section:not(.service-process-section):not(.dark-section) h2,
body:not(.home-page) .section:not(.service-process-section):not(.dark-section) h3,
body:not(.home-page) .section:not(.service-process-section):not(.dark-section) h4,
body:not(.home-page) .section:not(.service-process-section):not(.dark-section) p,
body:not(.home-page) .section:not(.service-process-section):not(.dark-section) li,
body:not(.home-page) .section:not(.service-process-section):not(.dark-section) small,
body:not(.home-page) .section:not(.service-process-section):not(.dark-section) label,
body:not(.home-page) .service-value-section h2,body:not(.home-page) .service-value-section h3,
body:not(.home-page) .service-value-section p,body:not(.home-page) .service-value-section li,
body:not(.home-page) .service-related-section h2,body:not(.home-page) .service-related-section h3,
body:not(.home-page) .service-related-section p,body:not(.home-page) .service-related-section li{color:#292d33!important;opacity:1!important}
/* Dark process/CTA areas retain white text and high contrast. */
.service-process-section,.service-process-section *{color:#f7f7f7}
.service-process-section p,.service-process-section li{color:#e1e3e6!important}
.service-process-section h1,.service-process-section h2,.service-process-section h3,.service-process-section h4{color:#fff!important}
/* Service hero copy is white on the dark hero; the form is always a crisp white panel. */
body.service-page .service-page-hero{background:#080808;color:#fff}
body.service-page .service-page-hero .service-hero-copy,
body.service-page .service-page-hero .service-hero-copy h1,
body.service-page .service-page-hero .service-hero-copy h2,
body.service-page .service-page-hero .service-hero-copy h3,
body.service-page .service-page-hero .service-hero-copy p,
body.service-page .service-page-hero .service-hero-copy li,
body.service-page .service-page-hero .breadcrumbs{color:#fff!important;opacity:1!important}
body.service-page .service-page-hero .service-hero-copy .eyebrow{color:#e4c17d!important}
body.service-page .service-page-hero .service-request-card,
body.service-page .service-page-hero .hero-service-form,
body.service-page .service-page-hero .form-card{background:#fff!important;color:#17191d!important;opacity:1!important;filter:none!important;box-shadow:0 18px 48px rgba(0,0,0,.24)!important}
body.service-page .service-page-hero .service-request-card *,
body.service-page .service-page-hero .hero-service-form *,
body.service-page .service-page-hero .form-card *{opacity:1!important;text-shadow:none}
body.service-page .service-page-hero .service-request-card h2,
body.service-page .service-page-hero .service-request-card h3,
body.service-page .service-page-hero .service-request-card p,
body.service-page .service-page-hero .service-request-card label,
body.service-page .service-page-hero .service-request-card small,
body.service-page .service-page-hero .hero-service-form h2,
body.service-page .service-page-hero .hero-service-form p,
body.service-page .service-page-hero .hero-service-form label{color:#202329!important}
body.service-page .service-page-hero .service-request-card input:not([type=checkbox]):not([type=radio]),
body.service-page .service-page-hero .service-request-card select,
body.service-page .service-page-hero .service-request-card textarea,
body.service-page .service-page-hero .hero-service-form input:not([type=checkbox]):not([type=radio]),
body.service-page .service-page-hero .hero-service-form select,
body.service-page .service-page-hero .hero-service-form textarea{background:#fff!important;color:#17191d!important;border:1px solid #b8bdc5!important;opacity:1!important;width:100%;max-width:100%;box-sizing:border-box}
body.service-page .service-page-hero input::placeholder,
body.service-page .service-page-hero textarea::placeholder{color:#555b64!important;opacity:1!important}
body.service-page .service-page-hero .service-request-card a:not(.button),
body.service-page .service-page-hero .hero-service-form a:not(.button){color:#73551f!important;text-decoration:underline}
body.service-page .service-page-hero label.consent-line{display:flex!important;align-items:flex-start!important;gap:9px!important;color:#202329!important;font-size:.82rem!important;line-height:1.45}
body.service-page .service-page-hero label.consent-line input[type=checkbox]{appearance:auto!important;width:16px!important;height:16px!important;min-width:16px!important;max-width:16px!important;flex:0 0 16px!important;margin:3px 0 0!important;accent-color:#a67e3b}
body.service-page .service-page-hero .service-request-card button,
body.service-page .service-page-hero .service-request-card .button,
body.service-page .service-page-hero .hero-service-form button{opacity:1!important}
/* Keep all service forms visible in the page flow; no nested scrollbars. */
body.service-page .service-page-hero .service-hero-layout{display:grid!important;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr)!important;align-items:start!important;gap:clamp(24px,3.5vw,52px)!important}
body.service-page .service-page-hero .service-request-card,
body.service-page .service-page-hero .hero-service-form{position:sticky!important;top:112px!important;height:auto!important;max-height:none!important;overflow:visible!important;min-width:0}
body.service-page .service-page-hero .service-request-card form{height:auto!important;max-height:none!important;overflow:visible!important}
body.service-page .service-page-hero .service-request-card .form-grid{min-width:0}
/* Six homepage trust points in one row on desktop; orderly wrap on smaller screens. */
.home-page .brand-hero .hero-trust{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;align-items:start!important;gap:12px!important;width:100%!important}
.home-page .brand-hero .hero-trust>span{white-space:normal!important;min-width:0!important;line-height:1.35!important}
@media(max-width:1100px){.home-page .brand-hero .hero-trust{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:760px){body.service-page .service-page-hero .service-hero-layout{grid-template-columns:minmax(0,1fr)!important}.service-page .service-page-hero .service-request-card,.service-page .service-page-hero .hero-service-form{position:static!important;top:auto!important}.home-page .brand-hero .hero-trust{grid-template-columns:repeat(2,minmax(0,1fr))!important}.home-page .brand-hero .hero-trust>span{font-size:.82rem!important}}
@media(prefers-reduced-motion:reduce){.reveal,.reveal:not(.is-visible){opacity:1!important;transform:none!important}}


/* FINAL CONTRAST FIX: homepage dark CTA copy must remain bright on navy. */
body.home-page .lower-dark,
body.home-page .lower-dark p,
body.home-page .lower-dark li {
  color: #f4f6fa !important;
  opacity: 1 !important;
  filter: none !important;
  text-shadow: none !important;
}
body.home-page .lower-dark h2 { color: #ffffff !important; opacity: 1 !important; }
body.home-page .lower-dark .section-kicker { color: #e4bd72 !important; opacity: 1 !important; }
body.home-page .lower-dark .button-gold,
body.home-page .lower-dark .button-gold * { color: #111111 !important; opacity: 1 !important; }


/* SERVICE PROCESS / LOCAL GARAGE SECTION CONTRAST FIX — 19 Oct 2026
   The section shown in the supplied screenshot has a light background, so its
   heading and body copy must use dark ink. Keep the adjacent contact card dark. */
body.service-page .service-process-section,
body:has(.service-page-hero) .service-process-section {
  background: #f7f7f5 !important;
  color: #17191d !important;
  opacity: 1 !important;
  filter: none !important;
}
body.service-page .service-process-section h1,
body.service-page .service-process-section h2,
body.service-page .service-process-section h3,
body.service-page .service-process-section h4,
body:has(.service-page-hero) .service-process-section h1,
body:has(.service-page-hero) .service-process-section h2,
body:has(.service-page-hero) .service-process-section h3,
body:has(.service-page-hero) .service-process-section h4 {
  color: #111318 !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
}
body.service-page .service-process-section p,
body.service-page .service-process-section li,
body.service-page .service-process-section small,
body:has(.service-page-hero) .service-process-section p,
body:has(.service-page-hero) .service-process-section li,
body:has(.service-page-hero) .service-process-section small {
  color: #30343b !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
}
body.service-page .service-process-section .eyebrow,
body:has(.service-page-hero) .service-process-section .eyebrow {
  color: #9b7028 !important;
  opacity: 1 !important;
  visibility: visible !important;
}
/* Preserve high contrast in the dark address/contact card within the light section. */
body.service-page .service-process-section .service-contact-card,
body:has(.service-page-hero) .service-process-section .service-contact-card {
  background: linear-gradient(145deg,#202020,#101010) !important;
  border: 1px solid #74613b !important;
  color: #f7f7f7 !important;
}
body.service-page .service-process-section .service-contact-card h1,
body.service-page .service-process-section .service-contact-card h2,
body.service-page .service-process-section .service-contact-card h3,
body.service-page .service-process-section .service-contact-card h4,
body.service-page .service-process-section .service-contact-card p,
body.service-page .service-process-section .service-contact-card small,
body:has(.service-page-hero) .service-process-section .service-contact-card h1,
body:has(.service-page-hero) .service-process-section .service-contact-card h2,
body:has(.service-page-hero) .service-process-section .service-contact-card h3,
body:has(.service-page-hero) .service-process-section .service-contact-card h4,
body:has(.service-page-hero) .service-process-section .service-contact-card p,
body:has(.service-page-hero) .service-process-section .service-contact-card small {
  color: #f4f4f4 !important;
  opacity: 1 !important;
  visibility: visible !important;
}
body.service-page .service-process-section .service-contact-card .eyebrow,
body:has(.service-page-hero) .service-process-section .service-contact-card .eyebrow,
body.service-page .service-process-section .service-contact-card .text-link,
body:has(.service-page-hero) .service-process-section .service-contact-card .text-link {
  color: #d8b36b !important;
}
@media (max-width: 760px) {
  body.service-page .service-process-section,
  body:has(.service-page-hero) .service-process-section { padding-block: 42px !important; }
}


/* CONTACT PAGE LAYOUT + GLOBAL CONTRAST PASS — 19 Oct 2026
   Keep the brand palette but prevent pale text on white/light backgrounds.
   Rules are scoped by section/card background to avoid reversing dark sections. */
body.contact-page .contact-details-section {
  background: #f7f7f5 !important;
  color: #191b20 !important;
  padding: clamp(44px, 6vw, 82px) 0 !important;
}
body.contact-page .contact-details-only {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .92fr) !important;
  align-items: start !important;
  gap: clamp(28px, 5vw, 68px) !important;
  max-width: 1240px !important;
}
body.contact-page .contact-details-copy,
body.contact-page .contact-map-panel {
  min-width: 0 !important;
  border: 1px solid #e0d9ca !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  padding: clamp(22px, 3vw, 36px) !important;
  box-shadow: 0 14px 36px rgba(20, 22, 27, .06) !important;
  color: #191b20 !important;
}
body.contact-page .contact-details-copy h2,
body.contact-page .contact-map-heading h3 {
  color: #191b20 !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
  margin: 8px 0 12px !important;
  line-height: 1.16 !important;
  letter-spacing: -.025em !important;
}
body.contact-page .contact-details-copy h2 { font-size: clamp(1.8rem, 3vw, 2.55rem) !important; }
body.contact-page .contact-map-heading h3 { font-size: clamp(1.35rem, 2vw, 1.8rem) !important; }
body.contact-page .contact-details-copy .contact-intro,
body.contact-page .contact-map-heading p {
  color: #454b55 !important;
  opacity: 1 !important;
  visibility: visible !important;
  line-height: 1.7 !important;
}
body.contact-page .contact-details-copy .eyebrow,
body.contact-page .contact-map-heading .eyebrow {
  color: #946b27 !important;
  opacity: 1 !important;
  visibility: visible !important;
  font-weight: 800 !important;
  letter-spacing: .12em !important;
}
body.contact-page .contact-details-copy .contact-item {
  border-bottom: 1px solid #e3dfd6 !important;
  padding: 16px 0 !important;
  color: #20232a !important;
  line-height: 1.65 !important;
}
body.contact-page .contact-details-copy .contact-item strong {
  display: block !important;
  color: #8c6425 !important;
  margin-bottom: 5px !important;
  font-weight: 800 !important;
}
body.contact-page .contact-details-copy .contact-item a {
  color: #77521b !important;
  font-weight: 650 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}
body.contact-page .contact-details-copy .form-note {
  color: #535a64 !important;
  opacity: 1 !important;
  line-height: 1.55 !important;
}
body.contact-page .contact-map-panel .map-frame {
  display: block !important;
  width: 100% !important;
  height: clamp(280px, 35vw, 430px) !important;
  border: 1px solid #d9d4ca !important;
  border-radius: 12px !important;
  background: #f0efec !important;
}
body.contact-page .contact-directions-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  margin-top: 16px !important;
  color: #6f4c18 !important;
  font-weight: 800 !important;
  text-decoration: underline !important;
  text-underline-offset: 4px !important;
}
/* General light-surface contrast: body copy and headings must not inherit pale opacity. */
body:not(.home-page) main#main .section.light-section,
body:not(.home-page) main#main .light-section,
body:not(.home-page) main#main .section.light,
body:not(.home-page) main#main .content-panel.light,
body:not(.home-page) main#main .service-process-section {
  color: #191b20 !important;
}
body:not(.home-page) main#main .section.light-section h1,
body:not(.home-page) main#main .section.light-section h2,
body:not(.home-page) main#main .section.light-section h3,
body:not(.home-page) main#main .section.light-section h4,
body:not(.home-page) main#main .light-section h1,
body:not(.home-page) main#main .light-section h2,
body:not(.home-page) main#main .light-section h3,
body:not(.home-page) main#main .light-section h4,
body:not(.home-page) main#main .section.light h1,
body:not(.home-page) main#main .section.light h2,
body:not(.home-page) main#main .section.light h3,
body:not(.home-page) main#main .section.light h4 {
  color: #111318 !important; opacity: 1 !important; visibility: visible !important; filter: none !important;
}
body:not(.home-page) main#main .section.light-section p,
body:not(.home-page) main#main .section.light-section li,
body:not(.home-page) main#main .light-section p,
body:not(.home-page) main#main .light-section li,
body:not(.home-page) main#main .section.light p,
body:not(.home-page) main#main .section.light li {
  color: #30343b !important; opacity: 1 !important; visibility: visible !important; filter: none !important;
}
/* Ensure dark panels stay bright and readable; buttons retain their own high-contrast text. */
body:not(.home-page) main#main .dark-section,
body:not(.home-page) main#main .dark-panel,
body:not(.home-page) main#main .service-contact-card,
body:not(.home-page) main#main .feature-panel.dark {
  color: #f7f7f7 !important;
}
body:not(.home-page) main#main .dark-section h1,
body:not(.home-page) main#main .dark-section h2,
body:not(.home-page) main#main .dark-section h3,
body:not(.home-page) main#main .dark-section h4,
body:not(.home-page) main#main .dark-section p,
body:not(.home-page) main#main .dark-section li,
body:not(.home-page) main#main .dark-panel h1,
body:not(.home-page) main#main .dark-panel h2,
body:not(.home-page) main#main .dark-panel h3,
body:not(.home-page) main#main .dark-panel p,
body:not(.home-page) main#main .service-contact-card h1,
body:not(.home-page) main#main .service-contact-card h2,
body:not(.home-page) main#main .service-contact-card h3,
body:not(.home-page) main#main .service-contact-card p {
  color: #f7f7f7 !important; opacity: 1 !important; visibility: visible !important; filter: none !important;
}
@media (max-width: 860px) {
  body.contact-page .contact-details-only { grid-template-columns: minmax(0,1fr) !important; }
  body.contact-page .contact-map-panel .map-frame { height: 300px !important; }
}
@media (max-width: 520px) {
  body.contact-page .contact-details-copy,
  body.contact-page .contact-map-panel { padding: 22px 18px !important; border-radius: 14px !important; }
  body.contact-page .contact-details-section { padding: 38px 0 !important; }
}

/* Contact page enquiry form: force the requested heading and introduction to black. */
body.contact-page main#main .contact-hero-form h2,
body.contact-page main#main .contact-hero-form > p:not(.form-note) {
  color: #111318 !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
}


/* Homepage benefits: six compact items in one desktop row, responsive on smaller screens. */
body.home-page .brand-hero .hero-trust,
body.home-page .hero-trust {
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px 16px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-top: 24px !important;
  font-size: .66rem !important;
  line-height: 1.3 !important;
}
body.home-page .hero-trust > span {
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  gap: 6px !important;
  white-space: nowrap !important;
  color: #f7f7f7 !important;
  opacity: 1 !important;
  visibility: visible !important;
}
body.home-page .hero-trust > span > b {
  flex: 0 0 auto !important;
  color: #e4c17d !important;
  opacity: 1 !important;
}
/* Stand-out split-payment banner on the homepage. */
.split-payment-feature {
  position: relative;
  overflow: hidden;
  padding: 34px 0;
  background: #f4f1e9;
  border-top: 1px solid #e7ddc8;
  border-bottom: 1px solid #e7ddc8;
}
.split-payment-inner {
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 28px 32px;
  border-radius: 20px;
  color: #f8f8f8;
  background: linear-gradient(115deg, #151a26 0%, #222633 72%, #302719 100%);
  box-shadow: 0 16px 38px rgba(20, 24, 34, .14);
}
.split-payment-icon {
  display: flex;
  flex: 0 0 64px;
  width: 64px;
  height: 64px;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  color: #111318;
  background: linear-gradient(135deg, #c89a48, #f3d99a);
  font-size: 2rem;
  font-weight: 800;
}
.split-payment-copy { flex: 1 1 auto; min-width: 0; }
.split-payment-copy .section-kicker { display: block; margin-bottom: 7px; color: #e4c17d !important; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.split-payment-copy h2 { margin: 0 0 9px; color: #fff !important; font-size: clamp(1.45rem, 2.2vw, 2rem); line-height: 1.2; }
.split-payment-copy h2 em { color: #f0cf87 !important; font-style: normal; }
.split-payment-copy p { margin: 0 0 7px; max-width: 760px; color: #f1f2f5 !important; line-height: 1.65; opacity: 1 !important; }
.split-payment-copy small { display: block; color: #d4d7df !important; font-size: .78rem; line-height: 1.5; }
.split-payment-button { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 52px; padding: 14px 20px; border-radius: 12px; color: #111318 !important; background: linear-gradient(135deg, #c89a48, #f3d99a) !important; font-weight: 750; text-align: center; }
@media (max-width: 1200px) {
  body.home-page .brand-hero .hero-trust, body.home-page .hero-trust { gap: 10px 12px !important; font-size: .61rem !important; }
}
@media (max-width: 900px) {
  body.home-page .brand-hero .hero-trust, body.home-page .hero-trust { display: grid !important; grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 12px !important; font-size: .72rem !important; }
  body.home-page .hero-trust > span { white-space: normal !important; min-width: 0 !important; }
  .split-payment-inner { align-items: flex-start; flex-wrap: wrap; gap: 18px; }
  .split-payment-copy { flex-basis: calc(100% - 90px); }
  .split-payment-button { margin-left: 82px; }
}
@media (max-width: 560px) {
  .split-payment-feature { padding: 22px 0; }
  .split-payment-inner { padding: 22px 18px; border-radius: 16px; gap: 14px; }
  .split-payment-icon { width: 48px; height: 48px; flex-basis: 48px; border-radius: 13px; font-size: 1.6rem; }
  .split-payment-copy { flex-basis: calc(100% - 62px); }
  .split-payment-copy h2 { font-size: 1.35rem; }
  .split-payment-copy p { font-size: .92rem; }
  .split-payment-button { width: 100%; margin-left: 0; }
}


/* SERVICE PAGE FIX: keep gold checkmarks separate from list text on every service page */
body.service-page .content-narrow ul.tick-list {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 22px 0 !important;
}
body.service-page .content-narrow ul.tick-list > li {
  position: relative !important;
  display: block !important;
  padding: 8px 0 8px 42px !important;
  margin: 0 0 8px !important;
  line-height: 1.65 !important;
  text-indent: 0 !important;
  overflow-wrap: anywhere;
}
body.service-page .content-narrow ul.tick-list > li::before {
  content: "✓" !important;
  position: absolute !important;
  left: 4px !important;
  top: 8px !important;
  width: 22px !important;
  display: block !important;
  text-align: center !important;
  line-height: 1.65 !important;
  font-weight: 900 !important;
  color: var(--gold, #b8893d) !important;
}
@media (max-width: 600px) {
  body.service-page .content-narrow ul.tick-list > li { padding-left: 36px !important; }
  body.service-page .content-narrow ul.tick-list > li::before { left: 0 !important; }
}


/* BOOKING PAGE CONTRAST FIX: white typography on dark booking panels */
body.booking-page .booking-hero,
body.booking-page .booking-hero h1,
body.booking-page .booking-hero h2,
body.booking-page .booking-hero h3,
body.booking-page .booking-hero p,
body.booking-page .booking-hero li,
body.booking-page .booking-section,
body.booking-page .booking-section h1,
body.booking-page .booking-section h2,
body.booking-page .booking-section h3,
body.booking-page .booking-section p,
body.booking-page .booking-section li,
body.booking-page .booking-frame-card,
body.booking-page .booking-frame-card h1,
body.booking-page .booking-frame-card h2,
body.booking-page .booking-frame-card h3,
body.booking-page .booking-frame-card p,
body.booking-page .booking-help-card,
body.booking-page .booking-help-card h1,
body.booking-page .booking-help-card h2,
body.booking-page .booking-help-card h3,
body.booking-page .booking-help-card p,
body.booking-page .booking-help-card li {
  color: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;
}
body.booking-page .booking-frame-card .booking-card-heading,
body.booking-page .booking-frame-card .booking-card-heading * {
  color: #ffffff !important;
  opacity: 1 !important;
}
body.booking-page .booking-help-card a:not(.button),
body.booking-page .booking-help-card .booking-help-divider + *,
body.booking-page .booking-help-card .eyebrow,
body.booking-page .booking-help-card .section-kicker {
  color: #e4c17d !important;
  opacity: 1 !important;
}
/* Keep the embedded GarageHive booking interface on its own light surface. */
body.booking-page .booking-widget-shell,
body.booking-page .booking-widget-content {
  color: #171717 !important;
  background-color: #f1f1f1;
}
body.booking-page .booking-widget-topline,
body.booking-page .booking-widget-topline * {
  color: #171717 !important;
}


/* FINAL SOURCE FIX (19 Oct 2026): booking page typography on dark panels.
   Keep the third-party GarageHive widget excluded so its light form remains readable. */
body.booking-page .booking-hero,
body.booking-page .booking-hero h1,
body.booking-page .booking-hero h2,
body.booking-page .booking-hero h3,
body.booking-page .booking-hero p,
body.booking-page .booking-hero li,
body.booking-page .booking-help-card,
body.booking-page .booking-help-card h1,
body.booking-page .booking-help-card h2,
body.booking-page .booking-help-card h3,
body.booking-page .booking-help-card p,
body.booking-page .booking-help-card li,
body.booking-page .booking-help-card address,
body.booking-page .booking-help-card .booking-detail-label,
body.booking-page .booking-frame-card .booking-card-heading,
body.booking-page .booking-frame-card .booking-card-heading strong,
body.booking-page .booking-frame-card .booking-card-heading span {
  color: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;
  -webkit-text-fill-color: #ffffff !important;
  filter: none !important;
}
body.booking-page .booking-help-card a:not(.button),
body.booking-page .booking-help-card .eyebrow,
body.booking-page .booking-help-card .section-kicker,
body.booking-page .booking-help-card h4 {
  color: #e4c17d !important;
  -webkit-text-fill-color: #e4c17d !important;
  opacity: 1 !important;
}
body.booking-page .booking-widget-shell,
body.booking-page .booking-widget-shell *,
body.booking-page .booking-widget-content,
body.booking-page .booking-widget-content * {
  color: #171717 !important;
  -webkit-text-fill-color: #171717 !important;
}
body.booking-page .booking-widget-shell,
body.booking-page .booking-widget-content { background-color: #f1f1f1 !important; }
