/* California58 article contrast bundle: original full CSS, exact source order, Nov 13 2026. */

/* assets/css/article-contrast-contract.css */
/* California58 contrast contract — scoped by article canvas, not visitor theme.
   Light local newspaper articles and dark statewide editorial articles are distinct. */
html body.single-post article.c58-local-story{color-scheme:light;--ink:#1b3040;--muted:#415767}
html body.single-post article.c58-local-story .article-body{color:#203747!important;background:#fbfaf7!important}
html body.single-post article.c58-local-story .article-body :is(h2,h3,h4,h5,h6){color:#142c3b!important;-webkit-text-fill-color:#142c3b!important;opacity:1!important}
html body.single-post article.c58-local-story .article-body :is(p,li,blockquote,figcaption,dt,dd){color:#263b48!important;-webkit-text-fill-color:#263b48!important;opacity:1!important}
html body.single-post article.c58-local-story .article-body a:not(:where(.c58-article-donate *,.c58-support *)){color:#075b78!important;-webkit-text-fill-color:#075b78!important;text-decoration:underline;text-underline-offset:2px}
html body.single-post article.c58-local-story .article-body :is(strong,b,em){-webkit-text-fill-color:currentColor!important}
html body.single-post article.c58-local-story .article-body :is(table,td){color:#203747!important;background:#fff!important;-webkit-text-fill-color:#203747!important}
html body.single-post article.c58-local-story .article-body th{color:#16384a!important;background:#eaf3f7!important;-webkit-text-fill-color:#16384a!important}
html body.single-post article.c58-local-story :is(.c58-article-local-footer,.c58-local-more,.c58-local-story-support) :is(p,h2,h3,li){color:#203747!important;-webkit-text-fill-color:#203747!important}
html body.single-post article.c58-local-story .article-body .c58-article-rail{background:#fafcfd!important;color:#193448!important}
html body.single-post article.c58-local-story .article-body .c58-article-rail :is(h2,h3,li){color:#193448!important;-webkit-text-fill-color:#193448!important}
html body.single-post article.c58-local-story .article-body .c58-article-rail a{color:#135775!important;-webkit-text-fill-color:#135775!important}
/* Statewide and county stories use the same readable light canvas as local editions.
   This corrects the white-on-white regression seen in article 21007 on 2026-11-07. */
html body.single-post article.article:not(.c58-local-story) .article-body{background:#fbfaf7!important;color:#203747!important;color-scheme:light}
html body.single-post article.article:not(.c58-local-story) .article-body :is(h2,h3,h4,h5,h6):not(:where(.c58-article-donate *,.c58-support *,.c58-article-rail *)){color:#142c3b!important;-webkit-text-fill-color:#142c3b!important;opacity:1!important}
html body.single-post article.article:not(.c58-local-story) .article-body :is(p,li,blockquote,figcaption,dt,dd):not(:where(.c58-article-donate *,.c58-support *,.c58-article-rail *)){color:#263b48!important;-webkit-text-fill-color:#263b48!important;opacity:1!important}
html body.single-post article.article:not(.c58-local-story) .article-body a:not(:where(.c58-article-donate *,.c58-support *,.c58-article-rail *)){color:#075775!important;-webkit-text-fill-color:#075775!important;text-decoration:underline}
html body.single-post article.article:not(.c58-local-story) .article-body :is(table,td){color:#203747!important;-webkit-text-fill-color:#203747!important;background:#fff!important}
html body.single-post article.article:not(.c58-local-story) .article-body th{color:#183448!important;-webkit-text-fill-color:#183448!important;background:#e8f2f6!important}
html body.single-post article.article:not(.c58-local-story) .article-body .c58-article-rail{background:#fafcfd!important;color:#193448!important}
html body.single-post article.article:not(.c58-local-story) .article-body .c58-article-rail :is(h2,h3,li){color:#193448!important}
html body.single-post article.article:not(.c58-local-story) .article-body .c58-article-rail a{color:#135775!important}

/* Accessible CTA colors on light local newspaper surfaces — Safari included. */
html body.single-post article.c58-local-story .article-body .c58fc-promo__actions>a.c58fc-promo__primary,
html body.single-post article.c58-local-story .article-body .c58fc-promo__primary{
 background:#00656d!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
 border:2px solid #00545b!important;opacity:1!important;visibility:visible!important;
 text-decoration:none!important;
}
html body.single-post article.c58-local-story .article-body .c58fc-promo__actions>a.c58fc-promo__primary:is(:hover,:focus-visible){
 background:#034850!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
}
html body.single-post article.c58-local-story .article-body .c58fc-promo__actions>a.c58fc-promo__browse{
 background:#fff!important;color:#075065!important;-webkit-text-fill-color:#075065!important;
 border:2px solid #357b8d!important;text-decoration:none!important;
}
html body.single-post article.c58-local-story .article-body .c58fc-promo__actions>a.c58fc-promo__browse:is(:hover,:focus-visible){
 background:#dff4f7!important;color:#073e50!important;-webkit-text-fill-color:#073e50!important;
}
html body.single-post article.c58-local-story .article-body .c58fc-promo__actions>a:focus-visible{
 outline:3px solid #b7791f!important;outline-offset:3px!important;
}

@media(max-width:760px){html body.single-post .article-body{overflow-wrap:break-word;line-height:1.65}html body.single-post .article-body :is(img,iframe,video,figure){max-width:100%}}


/* assets/css/single-surface-contrast-20261108.css */
/* The article masthead inherits the dark reader theme on night mode.
   Keep the dek, date and author readable against that dark backdrop. */
html[data-theme="dark"] body.single-post #main .article-head :is(.article-dek,.article-meta,.c58-byline,.c58-byline a) {
  color:#e8f3f9!important;
  -webkit-text-fill-color:#e8f3f9!important;
  opacity:1!important;
}
/* Single article contrast invariants, 2026-11-08. Scope by owned surface.
   Safari must not inherit dark-on-dark ink or global light-theme heading colors. */
html body.single-post article.article .c58cm-unit {
  background:#edf6fa!important;color:#173344!important;color-scheme:light!important;
  --ink:#173344;--muted:#405b6b;isolation:isolate;
}
html body.single-post article.article .c58cm-unit :is(h2,h3,h4,p,small,li,strong,span) {
  color:#173344!important;-webkit-text-fill-color:#173344!important;
  opacity:1!important;filter:none!important;text-shadow:none!important;mix-blend-mode:normal!important;
}
html body.single-post article.article .c58cm-unit .c58cm-unit__head,
html body.single-post article.article .c58cm-unit .c58cm-unit__head span {color:#13516c!important;-webkit-text-fill-color:#13516c!important}
html body.single-post article.article .c58cm-unit .c58cm-unit__body>a {
  background:#075a75!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
  opacity:1!important;text-decoration:none!important;
}
html body.single-post article.article .c58cm-unit .c58cm-unit__body>a span {color:#fff!important;-webkit-text-fill-color:#fff!important}
/* Collaboration card is LIGHT in every reader theme. The global article
   heading ink is dark, so matching its surface prevents invisible text. */
html body #main article.article section.c58-news-collab {
  background:#f4f8fb!important;background-image:none!important;
  color:#172f42!important;-webkit-text-fill-color:#172f42!important;
  color-scheme:light!important;--ink:#172f42;--muted:#304f61;
  isolation:isolate;
}
html body #main article.article section.c58-news-collab :is(h2,h3,h4,p,small,span,strong,.eyebrow) {
  color:#172f42!important;-webkit-text-fill-color:#172f42!important;
  opacity:1!important;filter:none!important;text-shadow:none!important;
}
html body #main article.article section.c58-news-collab .eyebrow {
  color:#315a70!important;-webkit-text-fill-color:#315a70!important;
}
html body #main article.article section.c58-news-collab a.dark-button-inline {
  background:#075a75!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
  border:2px solid #075a75!important;text-decoration:none!important;
}
html body #main article.article section.c58-news-collab a.dark-button-inline:is(:hover,:focus-visible) {
  background:#064b61!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
}
html body.single-post article.article .c58-comments-wrap,
html body.single-post article.article .c58-comments {
  background:#17232d!important;color:#f3f8fb!important;color-scheme:dark!important;
  --ink:#f3f8fb;--muted:#d4e2e9;isolation:isolate;
}
html body.single-post article.article .c58-comments :is(h2,h3,p,small,span,strong,label,legend,.eyebrow,.comment-reply-title,.logged-in-as,.comment-notes,.c58-comment-note) {
  color:#f3f8fb!important;-webkit-text-fill-color:#f3f8fb!important;
  opacity:1!important;filter:none!important;text-shadow:none!important;
}
html body.single-post article.article .c58-comments a:not(.dark-button-inline) {
  color:#a9e8ff!important;-webkit-text-fill-color:#a9e8ff!important;
}
html body.single-post article.article .c58-comments :is(textarea,input[type=text],input[type=email],input[type=url]) {
  background:#fff!important;color:#172d3f!important;-webkit-text-fill-color:#172d3f!important;
  border:2px solid #829cab!important;opacity:1!important;
}
html body.single-post article.article .c58-comments :is(textarea,input)::placeholder {
  color:#4c6472!important;-webkit-text-fill-color:#4c6472!important;opacity:1!important;
}
html body.single-post article.article .c58-comments :is(input[type=submit],button[type=submit]) {
  background:#75d2ed!important;color:#102b3b!important;-webkit-text-fill-color:#102b3b!important;
  border:1px solid #75d2ed!important;opacity:1!important;
}
html body.single-post article.article .c58-news-services,
html body.single-post article.article .c58-news-services .ecosystem-card {
  background:#fff!important;color:#183649!important;color-scheme:light!important;
}
html body.single-post article.article .c58-news-services :is(h2,h3,p,small,span,strong,.micro,.eyebrow) {
  color:#183649!important;-webkit-text-fill-color:#183649!important;opacity:1!important;
}
html body.single-post article.article .c58-news-services a {color:#075575!important;-webkit-text-fill-color:#075575!important}
html body.single-post article.article :is(.c58cm-unit,.c58-news-collab,.c58-comments-wrap,.c58-news-services) {
  max-width:100%;min-width:0;overflow-wrap:break-word;
}
@media(max-width:700px) {
  html body.single-post article.article :is(.c58cm-unit,.c58-news-collab,.c58-comments-wrap) {padding:16px!important}
  html body.single-post article.article .c58cm-unit__body {grid-template-columns:minmax(0,1fr)!important}
}
/* Regression hotfix: comments use one LIGHT surface. Do not depend on
   WordPress body classes or the global dark-mode variables. */
html body #main article.article section.c58-comments-wrap,
html body #main article.article #comments.c58-comments,
html body #main article.article #respond.comment-respond,
html body #main article.article #commentform {
  background:#f4f8fb!important;background-image:none!important;
  color:#172f42!important;-webkit-text-fill-color:#172f42!important;
  color-scheme:light!important;--ink:#172f42;--muted:#40586a;
  opacity:1!important;filter:none!important;mix-blend-mode:normal!important;
}
html body #main article.article #comments.c58-comments :is(.c58-comments-head,#respond,.comment-respond,.comment-form,.comment-notes,.logged-in-as,.comment-reply-title,.c58-comment-note),
html body #main article.article #comments.c58-comments :is(h1,h2,h3,h4,p,small,label,legend,span,strong,em,li,div:not(.c58-comment-login-actions)) {
  color:#172f42!important;-webkit-text-fill-color:#172f42!important;
  opacity:1!important;filter:none!important;text-shadow:none!important;
  mix-blend-mode:normal!important;
}
html body #main article.article #comments.c58-comments a:not(.dark-button-inline) {
  color:#075575!important;-webkit-text-fill-color:#075575!important;
  text-decoration:underline!important;
}
html body #main article.article #comments.c58-comments :is(textarea,input[type=text],input[type=email],input[type=url]) {
  background:#fff!important;color:#172f42!important;-webkit-text-fill-color:#172f42!important;
  border:2px solid #738e9f!important;
}
html body #main article.article #comments.c58-comments :is(button[type=submit],input[type=submit],#submit) {
  background:#075a75!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
  border:2px solid #075a75!important;opacity:1!important;
}
html body #main article.article #comments.c58-comments .c58-comment-login {
  background:#eaf3f8!important;color:#172f42!important;
}
html body #main article.article #comments.c58-comments .c58-comment-login a.dark-button-inline {
  background:#075a75!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
}



/* assets/css/local-editorial-contrast-20261104.css */
/* Shared contrast contract for every community/county edition, at all widths.
 * Editorial cards are light surfaces even when the surrounding theme is dark.
 * Do not target sponsor asides, cover graphics, images, or video overlays. */
html body #main:is(.c58l-paper,.c58cn-edition) {
  color-scheme:light;--ink:#193445;--muted:#455d6b;
}
/* Safari text-fill must follow each element's own color, rather than a color
 * inherited from a distant dark section. Preserve light text on dark controls. */
html body #main:is(.c58l-paper,.c58cn-edition),
html body #main:is(.c58l-paper,.c58cn-edition) *,
html body #main article.c58-local-story,
html body #main article.c58-local-story * {
  -webkit-text-fill-color:currentColor!important;
}
html body #main:is(.c58l-paper,.c58cn-edition) :is(article.c58l-story,article.c58l-regional-story,article.c58cn-story,.c58-state-digest article) {
  background-color:#fff!important;color:#193445!important;
  --ink:#193445;--muted:#455d6b;
}
html body #main:is(.c58l-paper,.c58cn-edition) :is(article.c58l-story,article.c58l-regional-story,article.c58cn-story,.c58-state-digest article) :is(h2,h3,h2 a,h3 a) {
  color:#153749!important;opacity:1!important;visibility:visible!important;
}
html body #main:is(.c58l-paper,.c58cn-edition) :is(article.c58l-story,article.c58l-regional-story,article.c58cn-story,.c58-state-digest article) :is(p,time,small,.c58cn-byline) {
  color:#385565!important;opacity:1!important;visibility:visible!important;
}
html body #main:is(.c58l-paper,.c58cn-edition) :is(article.c58l-story,article.c58l-regional-story,article.c58cn-story,.c58-state-digest article) :is(h2,h3) a:is(:hover,:focus-visible) {
  color:#075a77!important;text-decoration:underline!important;
}
html body #main:is(.c58l-paper,.c58cn-edition) :is(.c58l-news-section,.c58l-section-detail,.c58cn-newsbox) > :is(h2,h3,p) {
  color:#193445!important;
}


/* assets/css/global-readable-surfaces-20261104.css */
/* California58 global readable-surface contract | 2026-11-04.
   Keep text paired to its own surface; do not invert entire theme. */
:root{--c58-readable-ink:#172d3f;--c58-readable-muted:#39566b;--c58-readable-link:#07547b}
html body :is(.c58cn-home,.c58-home-explore-live){--blue:#075985}
html body section[aria-label="Advertising enquiries"]{background:#f4f8fb;color:#172d3f;--ink:#172d3f;--muted:#39566b;color-scheme:light}
/* The rural hub owns light cards; keep that surface and its ink paired in both modes. */
html body .c58-rural-hub{background:#fbfaf7;color:#172d3f;--ink:#172d3f;color-scheme:light}
html body .c58-rural-hub a:not([style*="background:"]){color:#075985}
/* California Now owns a dark outer surface even when the global theme is light. */
html body main.c58-wide-service:has(.c58w-now-link)> .wrap>article> :is(.eyebrow,.c58-content-meta){color:#cbdde7}
html body .c58-city-master,
html body .c58-city-master .c58-city-intro,
html body .c58-city-finder,
html body .c58-service-start,
html body .c58w-now-link,
html body .c58w-intro,
html body .c58w-map-shell,
html body .c58w-sidebar,
html body .c58-alert-card,
html body .c58-now-grid>a,
html body .c58-live-summary,
html body .c58-official-inline{color-scheme:light}
html body .c58-city-master .c58-city-intro,
html body .c58-city-finder,
html body .c58-service-start,
html body .c58w-now-link{background:#edf5fa!important;color:#172d3f!important}
html body .c58-city-master :is(.c58-city-intro,.c58-city-intro p,.c58-city-intro strong,.c58-city-intro em),
html body .c58-city-finder :is(p,label,small),
html body .c58-service-start :is(p,small,span,strong),
html body .c58w-now-link :is(p,span,strong){color:#203b4e!important;opacity:1!important;text-shadow:none!important}
html body .c58-city-master :is(h2,h3),
html body .c58-service-start :is(h2,h3),
html body .c58w-now-link :is(h2,h3){color:#16394e!important;text-shadow:none!important;overflow-wrap:anywhere!important}
html body .c58-city-master .c58-city-intro h2,
html body .c58w-now-link h2{font-size:clamp(25px,3.2vw,43px)!important;line-height:1.18!important;max-width:100%!important;white-space:normal!important;letter-spacing:-.02em!important}
html body .c58-city-master a:not(.button),
html body .c58-city-finder a:not(.button){color:#07547b!important;text-decoration:underline!important}
html body .c58-city-master .c58-city-county,
html body .c58-city-master .c58-city-links,
html body .c58-city-finder{background:#fff!important}
html body .c58-city-master .c58-city-county summary,
html body .c58-city-master .c58-city-county summary a{background:#eef5fa!important;color:#143e57!important}
html body .c58-city-master .c58-city-links a{background:#fff!important;color:#07547b!important}
html body .c58-city-finder input{background:#fff!important;color:#172d3f!important;border-color:#769caf!important}
html body .c58-city-finder input::placeholder{color:#587084!important;opacity:1!important}
html body .c58w-now-link{overflow:hidden!important;max-width:100%!important}
html body .c58w-now-link p{font-size:clamp(16px,1.45vw,19px)!important;line-height:1.55!important}
html body .c58w-now-link a{background:#155977!important;color:#fff!important;text-decoration:none!important}
html body .c58-now-grid>a,
html body .c58-alert-card{background:#f8fafc!important;color:#172d3f!important;border-color:#cbdbe5!important}
html body .c58-now-grid>a :is(span,strong,small),
html body .c58-alert-card :is(h2,h3,p,span,small,dt,dd,summary,strong){color:#203c50!important;opacity:1!important;text-shadow:none!important}
html body .c58-alert-card a{color:#07547b!important}
html body .c58-alert-card .c58-alert-footer{border-color:#d5e1e9!important}
html body .c58w-map-shell,
html body .c58w-sidebar{background:#f6fafc!important;color:#183548!important}
html body .c58w-map-shell :is(h2,h3,p,label,small),
html body .c58w-sidebar :is(h2,h3,p,label,small){color:#25465a!important}
html body .c58w-sidebar input{background:#fff!important;color:#172d3f!important}
html body .c58w-county-list button{color:#17374b!important}
html body .c58w-county-list button span{color:inherit!important}
html body .c58w-county-list button strong{color:#17374b!important}
html body :is(.c58-city-master,.c58-city-finder,.c58w-now-link,.c58w-map-shell,.c58-alert-card) :is(a,button,input,summary):focus-visible{outline:3px solid #1174a4!important;outline-offset:3px!important}
/* Selection is a separate paint layer. Safari's pale blue selection was hiding white glyphs. */
html body ::selection{background:#174d77!important;color:#ffffff!important;text-shadow:none!important}
html body ::-moz-selection{background:#174d77!important;color:#ffffff!important;text-shadow:none!important}
html body .c58w-now-link h2,
html body .c58w-now-link p,
html body .c58-city-master .c58-city-intro h2,
html body .c58-city-master .c58-city-intro p{color:#142f43!important;-webkit-text-fill-color:#142f43!important;opacity:1!important;filter:none!important;mix-blend-mode:normal!important}
html body .c58w-now-link h2::selection,
html body .c58w-now-link p::selection,
html body .c58-city-master .c58-city-intro h2::selection,
html body .c58-city-master .c58-city-intro p::selection{background:#174d77!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
html body .c58w-now-link{isolation:isolate!important}
@media(max-width:700px){html body .c58-city-master .c58-city-intro h2,html body .c58w-now-link h2{font-size:clamp(23px,6.5vw,34px)!important}html body .c58w-now-link{padding:18px!important}html body .c58-city-master .c58-city-intro{padding:18px!important}}


/* assets/css/editorial-aside-contrast.css */
/* Lightweight legibility fallback for author-provided pale asides.
 * Full travel layout stylesheet loads on Travel only. */
html body :is(.article-body,.entry-content,.page-content) > aside[style*="background:#f"]{
 color:#1c3546!important;--ink:#1c3546;--muted:#3b5668;color-scheme:light;
}
html body :is(.article-body,.entry-content,.page-content) > aside[style*="background:#f"] :is(h2,h3,h4,p,small,li,strong,span){
 color:#1c3546!important;-webkit-text-fill-color:#1c3546!important;text-shadow:none!important;
}
html body :is(.article-body,.entry-content,.page-content) > aside[style*="background:#f"] a:not([style*="background:#"]){
 color:#07577b!important;-webkit-text-fill-color:#07577b!important;
}

