/* v28.97 — public storefront contrast safety layer.
   Narrow selectors only: dark/purple customer-facing cards and CTAs. */

/* Homepage: purple fact/story card */
.home-v188 .hf-ready-card .hf-ready-copy h2,
.home-v188 .hf-ready-card .hf-ready-copy h2 *{color:#fff!important}
.home-v188 .hf-ready-card .hf-ready-copy h2 em{color:#ffdf75!important}
.home-v188 .hf-ready-card .hf-ready-copy>p{color:#f0edff!important}
.home-v188 .hf-ready-card .hf-ready-points span{color:#fff!important}
.home-v188 .hf-ready-card .hf-ready-copy .hf-kicker{color:#ffdf75!important}

/* Homepage / SEO intent cards: featured purple tile */
.hf-intent188:first-child h3,
.hf-intent188:first-child b{color:#fff!important}
.hf-intent188:first-child p{color:#eeeaff!important}
.hf-intent188:first-child>span{color:#fff!important}

/* Homepage trip matcher result */
.home-v188 .hf-fit-result strong,
.home-v188 .hf-fit-result b{color:#fff!important}
.home-v188 .hf-fit-result p{color:#f3f0ff!important}
.home-v188 .hf-fit-result small{color:#ded9ff!important}

/* Existing shared guide/contact purple CTAs */
body[data-site-build="site-v18"] .guide-cta h2,
body[data-site-build="site-v18"] .guide-cta p,
body[data-site-build="site-v18"] .guide-cta .kicker,
body[data-site-build="site-v18"] .contact-side .accent h2,
body[data-site-build="site-v18"] .contact-side .accent p,
body[data-site-build="site-v18"] .contact-side .accent .kicker{color:#fff!important}

/* Regional customer-facing dark cards */
.rg79 .rg79-story article:last-child h2,
.rg79 .rg79-story article:last-child h3,
.rg79 .rg79-story article:last-child b,
.rg79 .rg79-safe b,
.rg79 .rg79-total b,
.rg79 .rg81-total b{color:#fff!important}
.rg79 .rg79-story article:last-child p,
.rg79 .rg79-safe p{color:#d7e5f5!important}
.rg79 .rg79-total span,
.rg79 .rg81-total span{color:#c9d9ea!important}

/* Unlimited image cards */
.dp78-card .dp72-country,
.dp78-card .dp72-price,
.dp78-card .dp72-price strong,
.dp78-card .dp72-pill{color:#fff!important}
.dp78-card p,
.dp78-card .dp72-price small{color:#dbeaff!important}

/* Calculator result card — dark/blue background */
body[data-site-build="site-v18"] .calc-result h2,
body[data-site-build="site-v18"] .calc-result h3,
body[data-site-build="site-v18"] .calc-result strong,
body[data-site-build="site-v18"] .calc-result strong b{color:#fff!important}
body[data-site-build="site-v18"] .calc-result p{color:#eef1ff!important}
body[data-site-build="site-v18"] .calc-result small{color:#d4daf0!important}

/* New SEO guide system: hard lock readable dark cards */
.sg2895 .sg2895-final>.sg2895-shell h2{color:#fff!important}
.sg2895 .sg2895-final>.sg2895-shell p{color:#e6ecff!important}
.sg2895 .sg2895-final>.sg2895-shell>div>span{color:#a9b9ff!important}
.sg2895 .sg2895-note p{color:#e7edfb!important}
.sg2895 .sg2896-fast strong{color:#fff!important}
.sg2895 .sg2896-fast p{color:#e4eaff!important}

/* Footer stays readable even when older styles leak in. */
body[data-site-build="site-v18"] .footer,
body[data-site-build="site-v18"] .footer b{color:#fff!important}
body[data-site-build="site-v18"] .footer p,
body[data-site-build="site-v18"] .footer span,
body[data-site-build="site-v18"] .footer a{color:#e9e7f4!important}
body[data-site-build="site-v18"] .footer-grid>div>a:hover{color:#ffdf75!important}

/* v29.01 — permanent dark-surface contrast guard.
   The site shell sets global heading colors with !important, so every known dark customer-facing
   surface must explicitly opt back into light text. Keep these selectors narrow and semantic. */
.cg2900 .cg2900-final>.cg2900-shell h2,
.cg2900 .cg2900-final>.cg2900-shell h2 *,
.cg2900 .cg2900-note h2,
.cg2900 .cg2900-note h3,
.cg2900 .cg2900-note strong{color:#fff!important}
.cg2900 .cg2900-final>.cg2900-shell p,
.cg2900 .cg2900-note p{color:#e7edfb!important}
.cg2900 .cg2900-final>.cg2900-shell>div>span,
.cg2900 .cg2900-note>span{color:#a9c6ff!important}

/* Shared guide dark CTAs/notes — future guide pages using these components stay readable. */
.sg2895 .sg2895-final>.sg2895-shell h1,
.sg2895 .sg2895-final>.sg2895-shell h2,
.sg2895 .sg2895-final>.sg2895-shell h3,
.sg2895 .sg2895-final>.sg2895-shell strong,
.sg2895 .sg2895-note h1,
.sg2895 .sg2895-note h2,
.sg2895 .sg2895-note h3,
.sg2895 .sg2895-note strong{color:#fff!important}

/* Common public dark surfaces that sit under the global heading rule. */
body[data-site-build="site-v18"] .departure-section h1,
body[data-site-build="site-v18"] .departure-section h2,
body[data-site-build="site-v18"] .departure-section h3,
body[data-site-build="site-v18"] .stack-card.starter h1,
body[data-site-build="site-v18"] .stack-card.starter h2,
body[data-site-build="site-v18"] .stack-card.starter h3,
body[data-site-build="site-v18"] .sync-core h1,
body[data-site-build="site-v18"] .sync-core h2,
body[data-site-build="site-v18"] .sync-core h3{color:#fff!important}

