/* v90: light-surface contrast guard.
   Rule: white / pale surfaces use dark text. Dark hero/callout sections are excluded. */

:root{
  --lc90-text:#111827;
  --lc90-body:#243244;
  --lc90-sub:#334155;
  --lc90-muted:#475569;
}

/* Shared white/light cards */
body.site-modernized :is(
  .panel,.result,.model-card,.info-grid>div,.period-block,.period-card,.best-period-card,
  .money-summary,.home-shortcut,.home-discovery-card,
  .compare-slot,.common-condition-card,.compare-result-card,.compare-winner,.fuel-price-panel,
  .recommend-form,.recommend-result,.rec-car,.recommend-next,
  .theme-catalog,.theme-vehicle,.coverage-item,
  .v38-vehicle-profile,.v38-profile-item,
  .sg-trust>div,.sg-card,.sg-step,.sg-table-wrap,.sg-tool,.sg-result,.sg-affiliate,.sg-related a,.sg-faq,.sg-note,
  .insurance-hero-card,.insurance-navstrip,.insurance-card,.insurance-table-wrap,.insurance-check,.insurance-step,.insurance-faq details,.insurance-note,.insurance-related a,
  .policy-page section,.feedback-summary-card,.feedback-form,.feedback-card
){
  color:var(--lc90-text)!important;
}

/* Secondary text on light surfaces: still dark enough to read */
body.site-modernized :is(
  .panel,.result,.model-card,.info-grid>div,.period-block,.period-card,.best-period-card,
  .money-summary,.home-shortcut,.home-discovery-card,
  .compare-slot,.common-condition-card,.compare-result-card,.compare-winner,.fuel-price-panel,
  .recommend-form,.recommend-result,.rec-car,.recommend-next,
  .theme-catalog,.theme-vehicle,.coverage-item,
  .v38-vehicle-profile,.v38-profile-item,
  .sg-trust>div,.sg-card,.sg-step,.sg-table-wrap,.sg-tool,.sg-result,.sg-affiliate,.sg-related a,.sg-faq,.sg-note,
  .insurance-hero-card,.insurance-card,.insurance-table-wrap,.insurance-check,.insurance-step,.insurance-faq details,.insurance-note,.insurance-related a,
  .policy-page section,.feedback-summary-card,.feedback-form,.feedback-card
) :is(p,small,span,em,label,li,td){
  color:var(--lc90-sub)!important;
  opacity:1!important;
}

/* Headings / values on light surfaces */
body.site-modernized :is(
  .panel,.result,.model-card,.info-grid>div,.period-block,.period-card,.best-period-card,
  .compare-slot,.common-condition-card,.compare-result-card,.compare-winner,
  .recommend-form,.recommend-result,.rec-car,.recommend-next,
  .theme-catalog,.theme-vehicle,.coverage-item,
  .v38-vehicle-profile,.v38-profile-item,
  .sg-card,.sg-step,.sg-tool,.sg-result,.sg-affiliate,.sg-related a,.sg-faq,
  .insurance-hero-card,.insurance-card,.insurance-check,.insurance-step,.insurance-faq details,
  .policy-page section,.feedback-summary-card,.feedback-form,.feedback-card
) :is(h1,h2,h3,h4,b,strong){
  color:var(--lc90-text)!important;
  opacity:1!important;
}

/* Inputs on light pages */
body.site-modernized :is(input,select,textarea){
  color:var(--lc90-text);
}
body.site-modernized :is(input,select,textarea)::placeholder{
  color:#64748b;
  opacity:1;
}

/* SEO vehicle/article pages: all article cards are light. Hero is intentionally excluded. */
html[data-page-profile="seo"] :is(
  .seo-card,.cost-list,.related-card,
  .shell .section,.shell .summary,.shell .carbox,
  .compare-visual-card,.compare-decision,.compare-insight,.usecase-card,
  .rank-card,.table-section,.other,.faq-section,.cta,
  .theme-catalog,.theme-vehicle,.cards .card,.note,.more,
  .affiliate-ready-slot,.growth-hub-inner
){
  color:var(--lc90-text)!important;
}
html[data-page-profile="seo"] :is(
  .seo-card,.cost-list,.related-card,
  .shell .section,.shell .summary,.shell .carbox,
  .compare-visual-card,.compare-decision,.compare-insight,.usecase-card,
  .rank-card,.table-section,.other,.faq-section,.cta,
  .theme-catalog,.theme-vehicle,.cards .card,.note,.more,
  .affiliate-ready-slot,.growth-hub-inner
) :is(p,small,span,em,li,td){
  color:var(--lc90-sub)!important;
  opacity:1!important;
}
html[data-page-profile="seo"] :is(
  .seo-card,.related-card,.shell .section,.shell .summary,.shell .carbox,
  .compare-decision,.compare-insight,.usecase-card,
  .rank-card,.table-section,.other,.faq-section,.cta,
  .theme-catalog,.theme-vehicle,.cards .card
) :is(h1,h2,h3,h4,b,strong){
  color:var(--lc90-text)!important;
}

/* Vehicle profile injected cards */
.v38-profile-head small,
.v38-profile-item span,
.v38-estimate-note,
.v38-model-meta{
  color:var(--lc90-sub)!important;
  opacity:1!important;
}
.v38-profile-head b,
.v38-profile-item strong{
  color:var(--lc90-text)!important;
}

/* Compare page */
.compare-slot label,
.compare-subheading span,
.compare-result-card small,
.compare-result-card p,
.compare-result-card>span,
.compare-note,
.fuel-price-head small,
.fuel-price-panel>p,
.fuel-source-note,
.compare-count-switch button>small{
  color:var(--lc90-sub)!important;
  opacity:1!important;
}
.compare-slot,
.common-condition-card,
.compare-result-card,
.fuel-price-panel,
.compare-count-switch button{
  color:var(--lc90-text)!important;
}

/* Recommendation page */
.recommend-intro p,
.rec-result-head p,
.rec-placeholder,
.rec-placeholder p,
.rec-car small,
.rec-reasons span,
.recommend-next p,
.choice-grid label span{
  color:var(--lc90-sub)!important;
  opacity:1!important;
}
.question-block h3,
.rec-result-head h3,
.rec-placeholder b,
.rec-car h4,
.recommend-next h2{
  color:var(--lc90-text)!important;
}

/* Insurance: keep dark hero/callout untouched. Make every light card readable. */
.insurance-hero-card p,
.insurance-field label,
.insurance-estimate span,
.insurance-estimate small,
.insurance-navstrip a,
.insurance-heading p,
.insurance-card p,
.insurance-card ul,
.insurance-table th,
.insurance-table td,
.insurance-check span,
.insurance-step p,
.insurance-faq details p,
.insurance-source{
  color:var(--lc90-sub)!important;
  opacity:1!important;
}
.insurance-hero-card h2,
.insurance-card h3,
.insurance-check b,
.insurance-step h3,
.insurance-faq summary{
  color:var(--lc90-text)!important;
}

/* Sell guides: dark hero/check section excluded */
.sg-trust small,
.sg-section-head p,
.sg-card p,
.sg-card ul,.sg-card ol,
.sg-step span,
.sg-result p,
.sg-related span,
.sg-faq p,
.sg-footer{
  color:var(--lc90-sub)!important;
  opacity:1!important;
}
.sg-trust b,
.sg-section-head h2,
.sg-card h2,.sg-card h3,
.sg-step b,
.sg-result b,
.sg-related b,
.sg-faq summary{
  color:var(--lc90-text)!important;
}

/* Dedicated value pages: force every pale card to dark readable copy. */
.car-value-page :is(
  .cv-hero,.cv-hero-card,.cv-input-panel,.cv-dashboard,.cv-vehicle-summary,
  .cv-value-card,.cv-chart-card,.cv-status-card,.cv-timing-card,
  .cv-keep-card,.cv-factor,.cv-affiliate,.cv-method-note,.cv-next-actions a
) :is(p,small,span,label){
  color:var(--lc90-sub)!important;
  opacity:1!important;
}
.car-value-page :is(
  .cv-hero,.cv-hero-card,.cv-input-panel,.cv-dashboard,.cv-vehicle-summary,
  .cv-value-card,.cv-chart-card,.cv-status-card,.cv-timing-card,
  .cv-keep-card,.cv-factor,.cv-method-note
) :is(h1,h2,h3,h4,b,strong){
  color:var(--lc90-text)!important;
}
.car-value-page .cv-big-price{color:#0b7a55!important}
.car-value-page .cv-eyebrow,.car-value-page .cv-card-label{color:#0b5ea8!important}
.car-value-page .cv-affiliate :is(h2,b,strong){color:#6f3305!important}
.car-value-page .cv-affiliate :is(p,small){color:#5e4632!important}
.car-value-page .cv-affiliate>a{color:#fff!important}
.car-value-page .cv-calc-btn{color:#fff!important}

.bike-value-page :is(
  .bv-hero,.bv-hero-card,.bv-form,.bv-summary,.bv-timing-card,.bv-chart-card,
  .bv-factor,.bv-appraisal-copy,.bv-provider-card,.bv-related a,.bv-note
) :is(p,small,span,label){
  color:var(--lc90-sub)!important;
  opacity:1!important;
}
.bike-value-page :is(
  .bv-hero,.bv-hero-card,.bv-form,.bv-summary,.bv-timing-card,.bv-chart-card,
  .bv-factor,.bv-appraisal-copy,.bv-provider-card,.bv-related a,.bv-note
) :is(h1,h2,h3,h4,b,strong){
  color:var(--lc90-text)!important;
}
.bike-value-page .bv-price,.bike-value-page .bv-price strong{color:#0b7a55!important}
.bike-value-page .bv-eyebrow,.bike-value-page .bv-summary-kicker{color:#0b5ea8!important}
.bike-value-page .bv-provider-card a,
.bike-value-page .bv-form button{color:#fff!important}

/* Preserve intentionally dark areas */
:is(
  .hero,.compare-hero,.recommend-hero,.bike-hero,.bike-rec-hero,.bike-goods-hero,
  .insurance-hero,.insurance-callout,.sg-hero,.sg-check-section
) :is(h1,h2,h3,h4,b,strong){
  color:#fff!important;
}
:is(
  .hero,.compare-hero,.recommend-hero,.bike-hero,.bike-rec-hero,.bike-goods-hero,
  .insurance-hero,.insurance-callout,.sg-hero,.sg-check-section
) :is(p,small,span,li){
  color:#e7f1fa!important;
  opacity:1!important;
}


/* FULL-SITE LIGHT CONTRAST EXTENSION v90
   Goods / feedback / utility / ranking light surfaces. */

/* Goods pages */
:is(.goods-card,.goods-car-select,.affiliate-note,.ranking-head,.rank-product,.quick-good) {
  color:#111827!important;
}
:is(.goods-card,.goods-car-select,.affiliate-note,.ranking-head,.rank-product,.quick-good)
:is(p,small,span,label,li){
  color:#334155!important;
  opacity:1!important;
}
:is(.goods-card,.goods-car-select,.affiliate-note,.ranking-head,.rank-product,.quick-good)
:is(h1,h2,h3,h4,b,strong){
  color:#111827!important;
  opacity:1!important;
}
.goods-tag,.product-score,.quick-good>small,.ranking-head small,.ranking-head>a,.product-sub-link{
  color:#0b5ea8!important;
}
.goods-hero :is(h1,h2,h3,b,strong){color:#fff!important}
.goods-hero :is(p,small,span){color:#e7f1fa!important}

/* Feedback board */
:is(.feedback-summary-card,.feedback-compose-section,.feedback-form,.feedback-card,.feedback-how>div,.feedback-empty-state){
  color:#111827!important;
}
:is(.feedback-summary-card,.feedback-compose-section,.feedback-form,.feedback-card,.feedback-how>div,.feedback-empty-state)
:is(p,small,span,label,time){
  color:#334155!important;
  opacity:1!important;
}
:is(.feedback-summary-card,.feedback-compose-section,.feedback-form,.feedback-card,.feedback-how>div)
:is(h1,h2,h3,h4,b,strong){
  color:#111827!important;
}
.feedback-hero :is(h1,h2,h3,b,strong){color:#fff!important}
.feedback-hero :is(p,small,span){color:#e7f1fa!important}

/* Policy / 404 / public utility */
:is(.policy-page section,.notfound){
  color:#111827!important;
}
:is(.policy-page section,.notfound) :is(p,small,span,li){
  color:#334155!important;
  opacity:1!important;
}
:is(.policy-page section,.notfound) :is(h1,h2,h3,b,strong){
  color:#111827!important;
}
.policy-lead,.policy-updated{color:#334155!important;opacity:1!important}

/* Ranking pages */
:is(.method,.intro,.rank-card,.table-section,.other,.faq-section,.cta){
  color:#111827!important;
}
:is(.method,.intro,.rank-card,.table-section,.other,.faq-section,.cta)
:is(p,small,span,li,td,figcaption){
  color:#334155!important;
  opacity:1!important;
}
:is(.method,.intro,.rank-card,.table-section,.other,.faq-section,.cta)
:is(h1,h2,h3,h4,b,strong){
  color:#111827!important;
}
.rank-hero :is(h1,h2,h3,b,strong){color:#fff!important}
.rank-hero :is(p,small,span){color:#e7f1fa!important}

/* Generic light cards used by article/list pages */
:is(.guide-card,.guide-section,.guide-grid>*,.article-card,.related-card,.list-card,.hub-card,.product-detail-card,.product-detail-related){
  color:#111827!important;
}
:is(.guide-card,.guide-section,.guide-grid>*,.article-card,.related-card,.list-card,.hub-card,.product-detail-card,.product-detail-related)
:is(p,small,span,label,li){
  color:#334155!important;
  opacity:1!important;
}
:is(.guide-card,.guide-section,.guide-grid>*,.article-card,.related-card,.list-card,.hub-card,.product-detail-card,.product-detail-related)
:is(h1,h2,h3,h4,b,strong){
  color:#111827!important;
}

/* Tables on light backgrounds */
:is(.compare-table,.insurance-table,.sg-table,.table-wrap table) :is(th,td){
  color:#1f2937!important;
  opacity:1!important;
}
:is(.compare-table,.insurance-table,.sg-table,.table-wrap table) th{
  color:#334155!important;
}


/* GOODS DETAIL + VEHICLE GOODS v90 */
:is(
  .goods-product-dialog,.goods-product-summary>div,.goods-product-list-cta,
  .goods-product-candidate,.goods-product-footer,
  .vg-card,.vg-step,.vg-related a,.vg-note
){
  color:#111827!important;
}
:is(
  .goods-product-dialog,.goods-product-summary>div,.goods-product-list-cta,
  .goods-product-candidate,.goods-product-footer,
  .vg-card,.vg-step,.vg-related a,.vg-note
) :is(p,small,span,label,li){
  color:#334155!important;
  opacity:1!important;
}
:is(
  .goods-product-dialog,.goods-product-summary>div,.goods-product-list-cta,
  .goods-product-candidate,.goods-product-footer,
  .vg-card,.vg-step,.vg-related a
) :is(h1,h2,h3,h4,b,strong){
  color:#111827!important;
}
.vg-section-head p,.vg-related a small{color:#334155!important;opacity:1!important}
.vg-hero :is(h1,h2,h3,b,strong){color:#fff!important}
.vg-hero :is(p,small,span){color:#e7f7fb!important}
