/* theme-light.css
   Opt-in light theme for Desk Theory reading surfaces. A page activates it by
   adding class="theme-light" to <body> and linking this file. Rules are scoped
   under body.theme-light so they only apply where opted in (the dark sales and
   landing pages never load or activate it), and so they out-specify the
   templates' inline dark styles without depending on load order.

   Design system (matches the /workflows prototype):
     page bg ........ #FFFFFF (white)
     body text ...... #1F2733
     headings ....... #14233A (dark navy)
     secondary copy . #5C5346 (dark taupe)
     gold on white .. #9A6B12 (the bright #EFB940 is unreadable on white)
     gold hover ..... #7A540D
     dividers ....... rgba(20,35,58,0.12)
     light card ..... #EAEEF4 (soft navy tint), border rgba(20,35,58,0.10), hover #DFE5EF
     primary CTA .... navy #14233A fill, gold #FFC854 text
   The site header/nav stays dark: we never target header selectors, so it keeps
   its tokens.css values. Code blocks (article pre) are intentionally left dark:
   we do not override them, so they keep the navy var(--card) background. */

/* --- page + base text --- */
body.theme-light { background: #FFFFFF; color: #1F2733; }
body.theme-light a { color: #9A6B12; }
body.theme-light a:hover { color: #7A540D; }

/* --- prose --- */
body.theme-light .article-eyebrow { color: #9A6B12; }
body.theme-light article h1,
body.theme-light article h2,
body.theme-light article h3,
body.theme-light article h4 { color: #14233A; }
body.theme-light article h2 { border-top-color: rgba(20,35,58,0.12); }
body.theme-light article h3 .step-num { color: #9A6B12; }
body.theme-light article > p:first-of-type { color: #5C5346; border-bottom-color: rgba(20,35,58,0.12); }
body.theme-light article p { color: #5C5346; }
body.theme-light article p strong { color: #14233A; }
body.theme-light article p em { color: #6B6357; }
body.theme-light article ul,
body.theme-light article ol { color: #5C5346; }
body.theme-light article li::marker { color: #9A6B12; }
body.theme-light article blockquote { border-left-color: #9A6B12; color: #5C5346; }

/* inline code: faint amber chip with dark amber text (readable on white) */
body.theme-light article p code,
body.theme-light article li code { background: rgba(154,107,18,0.10); color: #7A540D; }

/* NOTE: article pre (code blocks) intentionally NOT overridden -> stays dark. */

/* --- table of contents --- */
body.theme-light .toc { background: #EAEEF4; border-color: rgba(20,35,58,0.10); }
body.theme-light .toc summary { color: #9A6B12; }
body.theme-light .toc a { color: #5C5346; }
body.theme-light .toc a:hover { color: #7A540D; }

/* --- read next cards --- */
body.theme-light .read-next { border-top-color: rgba(20,35,58,0.12); }
body.theme-light .read-next .rn-label { color: #9A6B12; }
body.theme-light .read-next-card { background: #EAEEF4; border-color: rgba(20,35,58,0.10); }
body.theme-light .read-next-card:hover { background: #DFE5EF; border-color: rgba(20,35,58,0.20); }
body.theme-light .read-next-card .rn-title { color: #14233A; }
body.theme-light .read-next-card .rn-dek { color: #6B6357; }

/* --- signup block: light card, navy+gold primary CTA --- */
body.theme-light .signup-block { background: #EAEEF4; border-color: rgba(20,35,58,0.10); color: #5C5346; }
body.theme-light .signup-block .label { color: #9A6B12; }
body.theme-light .signup-block h3 { color: #14233A; }
body.theme-light .signup-block p { color: #5C5346; }
body.theme-light .signup-block a.cta { background: #14233A; color: #FFC854; }
body.theme-light .signup-block a.cta:hover { background: #1F3350; color: #FFD36B; }

/* --- book block: light card, gold outline secondary CTA --- */
body.theme-light .book-block { background: #EAEEF4; border-color: rgba(20,35,58,0.10); color: #5C5346; }
body.theme-light .book-block .label { color: #9A6B12; }
body.theme-light .book-block h3 { color: #14233A; }
body.theme-light .book-block p { color: #5C5346; }
body.theme-light .book-block a.cta { border-color: #9A6B12; color: #9A6B12; }
body.theme-light .book-block a.cta:hover { background: rgba(154,107,18,0.10); border-color: #7A540D; color: #7A540D; }
body.theme-light .book-block-pro { border-top-color: rgba(20,35,58,0.12); color: #6B6357; }
body.theme-light .book-block-pro a { color: #9A6B12; }

/* ============================================================
   Additional reading-surface selectors (news/blog reuse the
   article selectors above; these cover glossary, learn topic
   hubs, and start-here onramps).
   ============================================================ */

/* shared "back to index" link */
body.theme-light .index-link { color: #9A6B12; border-top-color: rgba(20,35,58,0.12); }
body.theme-light .index-link:hover { color: #7A540D; }

/* --- glossary --- */
body.theme-light .glossary-link { border-bottom-color: rgba(154,107,18,0.5); }
body.theme-light .glossary-link:hover { border-bottom-color: #7A540D; }
body.theme-light .gloss-extras { border-top-color: rgba(20,35,58,0.12); }
body.theme-light .gloss-extras .ge-label { color: #9A6B12; }
body.theme-light .gloss-extras .ge-chips a { border-color: rgba(20,35,58,0.14); color: #5C5346; }
body.theme-light .gloss-extras .ge-chips a:hover { color: #9A6B12; border-color: rgba(20,35,58,0.28); }
body.theme-light .gloss-extras .ge-list a { color: #5C5346; }
body.theme-light .gloss-extras .ge-list a:hover { color: #9A6B12; }

/* --- learn topic hub --- */
body.theme-light .hub-header > p:first-of-type { color: #5C5346; }
body.theme-light .hero-cta { background: rgba(154,107,18,0.08); border-color: rgba(20,35,58,0.12); border-left-color: #9A6B12; }
body.theme-light .hero-cta:hover { background: rgba(154,107,18,0.14); border-color: rgba(20,35,58,0.20); }
body.theme-light .hero-cta .hero-cta-label { color: #9A6B12; }
body.theme-light .hero-cta .hero-cta-desc { color: #5C5346; }
body.theme-light .hero-cta .hero-cta-more { background: #14233A; color: #FFC854; }
body.theme-light .hero-cta:hover .hero-cta-more { background: #1F3350; color: #FFD36B; }
body.theme-light .featured-card { background: #EAEEF4; border-color: rgba(20,35,58,0.10); border-left-color: #9A6B12; }
body.theme-light .featured-card:hover { background: #DFE5EF; border-color: rgba(20,35,58,0.20); }
body.theme-light .featured-card .featured-eyebrow { color: #9A6B12; }
body.theme-light .featured-card .featured-title { color: #14233A; }
body.theme-light .featured-card:hover .featured-title { color: #7A540D; }
body.theme-light .featured-card .featured-desc { color: #5C5346; }
body.theme-light .featured-card .featured-date { color: #6B6357; }
body.theme-light .hub-rail h2 { color: #14233A; }
body.theme-light .hub-rail .rail-list li { border-bottom-color: rgba(20,35,58,0.12); }
body.theme-light .hub-rail .rail-list a { color: #5C5346; }
body.theme-light .hub-rail .rail-list a:hover { color: #9A6B12; }
body.theme-light .hub-rail .rail-date { color: #9A6B12; }
body.theme-light .rail-more { color: #9A6B12; }
body.theme-light .rail-more:hover { color: #7A540D; }
body.theme-light article ul.topic-aggregation li { border-bottom-color: rgba(20,35,58,0.12); }
body.theme-light article ul.topic-aggregation .item-title { color: #14233A; }
body.theme-light article ul.topic-aggregation .item-title:hover { color: #9A6B12; }
body.theme-light article ul.topic-aggregation .item-date { color: #6B6357; }
body.theme-light article ul.topic-aggregation .item-desc { color: #5C5346; }

/* ============================================================
   Section index pages (/news, /blog, /glossary, /learn,
   /start-here, /articles, /browse). Generated by the render
   scripts with their own inline list styles. NOTE: articles/
   browse have a custom dark ".site" header we do NOT touch.
   ============================================================ */
body.theme-light .page-eyebrow,
body.theme-light .section-eyebrow { color: #9A6B12; }
body.theme-light .page-title { color: #14233A; }
body.theme-light .page-lede,
body.theme-light .section-blurb,
body.theme-light .feed .section-lede { color: #5C5346; }
body.theme-light .empty,
body.theme-light .no-results { color: #6B6357; }

/* list-item titles */
body.theme-light .posts h2,
body.theme-light .posts h2 a,
body.theme-light .hubs h2,
body.theme-light .hubs h2 a,
body.theme-light .onramps h2,
body.theme-light .onramps h2 a,
body.theme-light .entries a,
body.theme-light .article-item h3,
body.theme-light .feed h2,
body.theme-light .facet-group h2,
body.theme-light .letter-group h2,
body.theme-light .guided > h2,
body.theme-light .curated > h2 { color: #14233A; }
body.theme-light .posts h2 a:hover,
body.theme-light .hubs h2 a:hover,
body.theme-light .onramps h2 a:hover,
body.theme-light .entries a:hover,
body.theme-light .article-item a.card-body:hover h3 { color: #9A6B12; }

/* list-item body copy */
body.theme-light .posts p,
body.theme-light .hubs p,
body.theme-light .onramps p,
body.theme-light .article-item p,
body.theme-light .entries .def { color: #5C5346; }

/* meta / dates */
body.theme-light .posts .meta,
body.theme-light .hubs .meta,
body.theme-light .onramps .meta,
body.theme-light .article-item .meta,
body.theme-light .article-item .meta .date,
body.theme-light .posts .meta .topics span { color: #6B6357; }

/* tag/topic/facet/back/toc links */
body.theme-light .posts .meta .topics a,
body.theme-light .back-link,
body.theme-light .toc a { color: #5C5346; }
body.theme-light .posts .meta .topics a:hover,
body.theme-light .back-link:hover,
body.theme-light .toc a:hover { color: #9A6B12; }

/* blog filter chips + browse facet chips */
body.theme-light .chip { border-color: rgba(20,35,58,0.16); color: #5C5346; }
body.theme-light .chip:hover { color: #9A6B12; border-color: rgba(20,35,58,0.30); }
body.theme-light .chip.is-active { background: #14233A; color: #FFC854; border-color: #14233A; }
body.theme-light .facet-list a { background: rgba(20,35,58,0.04); border-color: rgba(20,35,58,0.12); color: #5C5346; }
body.theme-light .facet-list a:hover { background: rgba(154,107,18,0.10); color: #9A6B12; }
body.theme-light .facet-list .facet-count { color: #6B6357; }

/* list dividers (were faint light = invisible on white) */
body.theme-light .posts li,
body.theme-light .hubs li,
body.theme-light .onramps li,
body.theme-light .entries li,
body.theme-light .article-item,
body.theme-light .feed .article-item { border-bottom-color: rgba(20,35,58,0.12); }

/* ============================================================
   Learning paths (/learn/paths/*). The operator-gate paywall
   card is intentionally LEFT DARK (not overridden) so it stands
   apart from the light reading content as a premium prompt.
   ============================================================ */
body.theme-light .path-eyebrow { color: #9A6B12; }
body.theme-light h1.path-title { color: #14233A; }
body.theme-light .meta-pill { background: rgba(20,35,58,0.05); color: #6B6357; }
body.theme-light .meta-pill-gold { background: rgba(154,107,18,0.10); color: #9A6B12; }
body.theme-light .path-intro,
body.theme-light .path-intro p:first-child { color: #5C5346; }
body.theme-light .step-num { color: #9A6B12; }
body.theme-light .step-title { color: #14233A; }
body.theme-light .step-title:hover { color: #9A6B12; }
body.theme-light .step-meta { color: #6B6357; }
body.theme-light .step-prose { color: #5C5346; }
body.theme-light .step-cta { color: #9A6B12; }
body.theme-light .step-cta:hover { color: #7A540D; }
body.theme-light .path-steps-section h2 { color: #14233A; border-top-color: rgba(20,35,58,0.12); }

/* ============================================================
   Homepage (content/homepage/index.template.html). A bespoke
   surface with its own inline dark styles, so every rule below
   out-specifies its inline counterpart (theme-light.css loads
   before the template's inline <style>, so ties would lose).
   The site header/nav (header.site, .wordmark, header.site
   nav.primary, .nav-toggle) and the footer (footer.site) are
   intentionally NOT targeted, so they keep their dark tokens.
   The operator CTA band stays a dark island (end of block).
   ============================================================ */

/* dot grid behind the hero (cream dots were invisible on white) */
body.theme-light .bg-grid {
  background-image: radial-gradient(rgba(20,35,58,0.05) 1px, transparent 1px);
}

/* mega-menu dropdown: lift to the header's lighter navy */
body.theme-light .dt-mega { background: #323D4C; border-color: rgba(255,255,255,0.10); }

/* --- hero --- */
body.theme-light .hero-pill { color: #14233A; }
body.theme-light .hero .eyebrow { color: #9A6B12; }
body.theme-light .hero h1 { color: #14233A; }
body.theme-light .hero h1 .accent { color: #9A6B12; }
body.theme-light .hero .subhead { color: #5C5346; }
body.theme-light .hero .subhead strong { color: #14233A; }

/* hero trust strip */
body.theme-light .trust-strip { color: #6B6357; }
body.theme-light .trust-strip strong { color: #14233A; }
body.theme-light .trust-strip a { color: #5C5346; border-bottom-color: rgba(20,35,58,0.20); }
body.theme-light .trust-strip a:hover { color: #9A6B12; border-bottom-color: #9A6B12; }

/* --- hero chart (SVG): cream strokes/fills were invisible on white --- */
body.theme-light .two-curves-col .axis.x { stroke: rgba(20,35,58,0.22); }
body.theme-light .two-curves-col .axis.y { stroke: rgba(20,35,58,0.12); }
body.theme-light .two-curves-col .curve-down { stroke: rgba(20,35,58,0.45); }
body.theme-light .two-curves-col .start-ring { stroke: rgba(20,35,58,0.30); }
body.theme-light .two-curves-col .start-dot { fill: #14233A; }
body.theme-light .two-curves-col .end-up { stroke: #FFFFFF; }
body.theme-light .two-curves-col .end-down { fill: rgba(20,35,58,0.50); }
body.theme-light .two-curves-col .label { stroke: #FFFFFF; }   /* white text halo */
body.theme-light .two-curves-col .label.up { fill: #9A6B12; }
body.theme-light .two-curves-col .label.down { fill: #5C5346; }
body.theme-light .two-curves-col .tick { fill: #6B6357; }

/* --- hero CTA cards --- */
body.theme-light .cta-card { background: #EAEEF4; border-color: rgba(20,35,58,0.10); }
body.theme-light .cta-card--book { border-color: rgba(154,107,18,0.45); }  /* keep gold accent */
body.theme-light .card-pill { color: #9A6B12; }
body.theme-light .cta-card h3 { color: #14233A; }
body.theme-light .cta-card .signup-row input { background: #FFFFFF; color: #1F2733; border-color: rgba(20,35,58,0.18); }
body.theme-light .cta-card .signup-row input:focus { border-color: #9A6B12; }
body.theme-light .cta-card .signup-row input::placeholder { color: #8C8579; }
body.theme-light .cta-card .signup-row button { background: #14233A; color: #FFC854; }
body.theme-light .cta-card .signup-row button:hover { background: #1F3350; color: #FFD36B; }
body.theme-light .cta-card .card-foot { color: #6B6357; }
body.theme-light .cta-card .card-foot strong { color: #14233A; }
body.theme-light .cta-card .book-btn { background: #14233A; color: #FFC854; }
body.theme-light .cta-card .book-btn:hover { background: #1F3350; color: #FFD36B; }

/* --- section primitives --- */
body.theme-light section.surface { border-top-color: rgba(20,35,58,0.12); }
body.theme-light section.surface .section-eyebrow { color: #9A6B12; }
body.theme-light section.surface h2 { color: #14233A; }
body.theme-light section.surface .section-lede { color: #5C5346; }

/* --- publication grid (latest articles + news) --- */
body.theme-light .pub-col.articles { border-right-color: rgba(20,35,58,0.12); }
body.theme-light .pub-col .col-eyebrow { color: #9A6B12; }
body.theme-light .pub-col .empty { color: #6B6357; }
body.theme-light .article-item .a-title { color: #14233A; }
body.theme-light .article-item .a-link:hover .a-title { color: #9A6B12; }
body.theme-light .article-item .a-dek { color: #5C5346; }
body.theme-light .article-item .a-date { color: #6B6357; }
body.theme-light .news-item { border-bottom-color: rgba(20,35,58,0.12); }
body.theme-light .news-item .n-date { color: #6B6357; }
body.theme-light .news-item .n-title { color: #14233A; }
body.theme-light .news-item:hover .n-title { color: #9A6B12; }

/* --- shared type/level pills: bright gold was unreadable on white --- */
body.theme-light .pill-type { background: rgba(154,107,18,0.12); color: #7A540D; }
body.theme-light .pill-type:hover { background: rgba(154,107,18,0.20); color: #5C3D08; }
body.theme-light .pill-level-beginner { color: #2E7D52; }
body.theme-light .pill-level-intermediate { color: #9A6B12; }
body.theme-light .pill-level-advanced { color: #C0392B; }

/* --- subscribe section (flat soft-navy card; the old gold radial read yellow) --- */
body.theme-light .subscribe-card {
  background: #EAEEF4;
  border-color: rgba(20,35,58,0.10);
}
body.theme-light .subscribe-card .label { color: #9A6B12; }
body.theme-light .subscribe-card h3 { color: #14233A; }
body.theme-light .subscribe-card p { color: #5C5346; }
body.theme-light .signup-form { background: #FFFFFF; border-color: rgba(20,35,58,0.18); }
body.theme-light .signup-form input { color: #1F2733; }
body.theme-light .signup-form input::placeholder { color: #8C8579; }
body.theme-light .signup-form button { background: #14233A; color: #FFC854; }
body.theme-light .signup-form button:hover { background: #1F3350; color: #FFD36B; }
body.theme-light .signup-fine { color: #6B6357; }

/* signup status messages (hero cards + subscribe section) */
body.theme-light .signup-msg.ok { color: #2E7D52; }
body.theme-light .signup-msg.err { color: #C0392B; }

/* --- latest issue card --- */
body.theme-light .latest-issue { background: #EAEEF4; border-color: rgba(20,35,58,0.10); }
body.theme-light .latest-issue .eyebrow { color: #9A6B12; }
body.theme-light .latest-issue .archive-link { color: #5C5346; }
body.theme-light .latest-issue .archive-link:hover { color: #9A6B12; }
body.theme-light .latest-issue h3 { color: #14233A; }
body.theme-light .latest-issue ol li { border-top-color: rgba(20,35,58,0.10); }
body.theme-light .latest-issue ol li::before { color: #9A6B12; }
body.theme-light .latest-issue ol li a { color: #14233A; border-bottom-color: rgba(20,35,58,0.18); }
body.theme-light .latest-issue ol li a:hover { color: #9A6B12; border-bottom-color: #9A6B12; }

/* --- CTA bands --- */
body.theme-light .cta-band { border-top-color: rgba(20,35,58,0.12); }
body.theme-light .cta-band .label { color: #9A6B12; }
body.theme-light .cta-band h3 { color: #14233A; }
body.theme-light .cta-band p { color: #5C5346; }

/* primary CTA buttons -> navy fill + gold text (site-wide primary) */
body.theme-light .btn-pill.primary { background: #14233A; color: #FFC854; }
body.theme-light .btn-pill.primary:hover { background: #1F3350; color: #FFD36B; }
/* ghost CTA (the built-for-you band) */
body.theme-light .btn-pill.ghost { color: #5C5346; border-color: rgba(20,35,58,0.22); }
body.theme-light .btn-pill.ghost:hover { color: #14233A; border-color: #9A6B12; }

/* --- operator band stays a DARK island (keeps the var(--card) bg it is
   never given a light override; we only re-assert its text/border/button
   so the .cta-band light rules above don't bleed in and tank contrast) --- */
body.theme-light .cta-band.operator { border-top-color: rgba(242,233,216,0.12); border-bottom-color: rgba(242,233,216,0.12); }
body.theme-light .cta-band.operator .label { color: #EFB940; }
body.theme-light .cta-band.operator h3 { color: #F2E9D8; }
body.theme-light .cta-band.operator p { color: #D9CFB9; }
body.theme-light .cta-band.operator .btn-pill.primary { background: #EFB940; color: #0E1B2C; }
body.theme-light .cta-band.operator .btn-pill.primary:hover { background: #FFC854; color: #0E1B2C; }
