/* ISSUE96 v22: accessible dark typography over pastel sky + rose surfaces.
   Load LAST for all page types. No white text on any text-bearing element. */
:root{--issue96-v22-ink:#172b45;--issue96-v22-red:#991637;--issue96-v22-blue:#13557b}
body{color:#172b45!important;background:#f9fcff!important}
/* Some legacy templates set -webkit-text-fill-color:white !important, which
   overrides normal color rules. Reset the entire text hierarchy to computed color. */
body,body *,body *::before,body *::after{
  -webkit-text-fill-color:currentColor!important;
  text-shadow:none!important;
}
/* A few legacy dark modules have white-text specificity above the v21 theme. */
body :is(.site-utility,.site-footer,.footer-top,.footer-bottom,.main-nav,.main-nav a,
  .page-hero,.hero,.product-detail,.article-layout,.article-aside,
  .product-fixed-purchase,.guide-fixed-affiliate-button,.guide-fixed-affiliate-bar,
  .sticky-card,.primary-button,.guide-product-button,.compare-affiliate-button,
  .model-comparison-page,.guide-page,.compare-tool,.upgraded-compare-tool){color:#172b45!important}
/* All outgoing product links (detail, sticky bar, comparison, guide, finder). */
body :is(.product-fixed-purchase,.guide-fixed-affiliate-button,.primary-button,.guide-product-button,.compare-affiliate-button,
  .guide-product-actions a.guide-product-button,.finder-card-actions a:last-child){
  background:linear-gradient(180deg,#fff0f4,#ffdae5)!important;
  color:#951432!important;border:1px solid #cf7290!important;
  box-shadow:0 8px 22px rgba(164,28,68,.12)!important;
}
body :is(.product-fixed-purchase,.guide-fixed-affiliate-button,.primary-button,.guide-product-button,.compare-affiliate-button):is(:hover,:focus-visible){
  background:linear-gradient(180deg,#ffe3ed,#ffc4d7)!important;
  color:#80102c!important;border-color:#b91e4b!important;
}
body :is(.product-fixed-purchase,.guide-fixed-affiliate-button,.primary-button,.guide-product-button,.compare-affiliate-button) *,
body :is(.product-fixed-purchase,.guide-fixed-affiliate-button,.primary-button,.guide-product-button,.compare-affiliate-button) :is(strong,span,b){color:#951432!important}
/* Guide fixed bar has two outgoing links; keep each on an independent light surface. */
body .guide-fixed-affiliate-bar{background:rgba(250,253,255,.98)!important;border-color:#d3e4ef!important}
body .guide-fixed-affiliate-button strong{font-size:clamp(11px,1.5vw,13px)!important;line-height:1.3!important;white-space:normal!important;text-align:right!important}
body .guide-fixed-affiliate-button{grid-template-columns:minmax(0,1fr) minmax(100px,1.6fr) auto!important}
body .guide-fixed-affiliate-button span{white-space:normal!important;overflow-wrap:anywhere!important}
body .product-fixed-purchase{font-size:clamp(13px,2.4vw,16px)!important;min-height:58px!important;line-height:1.35!important}
@media(max-width:650px){body .guide-fixed-affiliate-button{grid-template-columns:1fr!important;gap:2px!important;padding:10px!important}body .guide-fixed-affiliate-button strong{text-align:left!important;font-size:11px!important}body .guide-fixed-affiliate-button span{font-size:10px!important}body .guide-fixed-affiliate-inner{gap:5px!important}body .product-fixed-purchase{padding:13px 14px!important}}
/* Explicitly lift dark backgrounds still present in less-common old templates. */
body :is(.site-utility,.site-footer,.footer-top,.footer-bottom,.sticky-card){background:#eaf7ff!important;color:#172b45!important}
body :is(.site-utility,.site-footer,.footer-top,.footer-bottom,.sticky-card) :is(a,span,small,strong,b,p,h2,h3){color:#203e57!important}
/* Preserve meaningful accent colors as DARK saturated text. */
body :is(.price,.price-value,.price-gap,.sale-price,.discount-value,.category-label,.eyebrow){color:#a6113c!important}
body :is(.page-hero,.hero,.issue96-hero,.compare-hero,.finder-hero) em{color:#b5123c!important}
