/* LRG V2 BASE — Design tokens (all posts) + typography/element styles (legacy only)
   Loaded on ALL single posts. Typography rules exclude V2 articles
   so they render exactly as the prod pilot. */

/* === DESIGN TOKENS (all posts, V2 components use these) === */
body.single-post{
 --v2-navy:#0e2347;--v2-navy2:#183960;--v2-red:#c8102e;--v2-ink:#24344d;
 --v2-muted:#56657a;--v2-border:#dfe6ee;--v2-surface:#f4f7fb;
 --v2-paper:#ffffff;--v2-warm:#fff7f4;
}

/* === BREADCRUMB GUTTER (all posts, pilot had this for 10470) === */
body.single-post .rl-breadcrumb{width:min(1180px,calc(100% - 38px));margin-inline:auto;padding:14px 0 0}

/* === AUTHOR BIO SECTION (all posts, pilot had this for 10470) === */
body.single-post section.rl-author{width:min(1180px,calc(100% - 38px))!important;max-width:1180px!important;margin-inline:auto!important;box-sizing:border-box}

/* ================================================================
   LEGACY-ONLY RULES — everything below is :not(.lrg-v2-article)
   so V2 articles are governed solely by components CSS + pilot rules.
   ================================================================ */

/* === DIVI H1 HEADING — V2 typography for legacy posts === */
body.single-post:not(.lrg-v2-article) .et_pb_heading_0_tb_body h1{
  font-family:Fraunces,Georgia,serif!important;font-weight:750!important;
  color:var(--v2-navy)!important;letter-spacing:-.035em;
  font-size:clamp(36px,3.4vw,52px)!important;line-height:1.12!important;
  margin:0 0 12px!important
}
@media(max-width:760px){
  body.single-post:not(.lrg-v2-article) .et_pb_heading_0_tb_body h1{font-size:34px!important}
}

/* === TYPOGRAPHY === */
body.single-post:not(.lrg-v2-article) .et_pb_post_content :is(h1,h2,h3,h4){
  color:var(--v2-navy)!important;letter-spacing:-.035em;overflow-wrap:break-word
}
body.single-post:not(.lrg-v2-article) .et_pb_post_content :is(h1,h2){
  font-family:Fraunces,Georgia,serif!important;font-weight:750!important
}
body.single-post:not(.lrg-v2-article) .et_pb_post_content h1{
  font-size:clamp(36px,3.4vw,52px)!important;line-height:1.12!important;margin:0 0 12px!important
}
body.single-post:not(.lrg-v2-article) .et_pb_post_content h2{
  font-size:clamp(30px,3.1vw,39px)!important;line-height:1.2!important;margin:0 0 13px!important
}
body.single-post:not(.lrg-v2-article) .et_pb_post_content h3{
  font-family:Inter,'Source Sans 3',system-ui,sans-serif!important;
  font-size:19px!important;line-height:1.3!important;font-weight:780!important;margin:0 0 10px!important
}
body.single-post:not(.lrg-v2-article) .et_pb_post_content h4{
  font-family:Inter,'Source Sans 3',system-ui,sans-serif!important;
  font-size:16px!important;line-height:1.35!important;font-weight:750!important;margin:0 0 8px!important
}
body.single-post:not(.lrg-v2-article) .et_pb_post_content p{
  color:var(--v2-muted)!important;font-size:16px;line-height:1.75;margin:0 0 16px!important
}
body.single-post:not(.lrg-v2-article) .et_pb_post_content strong{color:var(--v2-ink)}
body.single-post:not(.lrg-v2-article) .et_pb_post_content a{
  color:#225999;text-decoration:underline;text-underline-offset:3px;font-weight:630
}
body.single-post:not(.lrg-v2-article) .et_pb_post_content a:hover{color:var(--v2-red)}
body.single-post:not(.lrg-v2-article) .et_pb_post_content a:focus-visible,
body.single-post:not(.lrg-v2-article) .et_pb_post_content button:focus-visible,
body.single-post:not(.lrg-v2-article) .et_pb_post_content input:focus-visible,
body.single-post:not(.lrg-v2-article) .et_pb_post_content summary:focus-visible{
  outline:3px solid #ca536c;outline-offset:3px
}

/* === LISTS === */
body.single-post:not(.lrg-v2-article) .et_pb_post_content ul,
body.single-post:not(.lrg-v2-article) .et_pb_post_content ol{
  color:var(--v2-muted);font-size:16px;line-height:1.75;
  margin:0 0 16px;padding-left:24px
}
body.single-post:not(.lrg-v2-article) .et_pb_post_content li{margin-bottom:6px}
body.single-post:not(.lrg-v2-article) .et_pb_post_content li::marker{color:var(--v2-navy)}

/* === TABLES === */
body.single-post:not(.lrg-v2-article) .et_pb_post_content table{
  border-collapse:collapse!important;width:100%;font-size:14px!important;
  border:1px solid var(--v2-border)!important;margin:18px 0
}
body.single-post:not(.lrg-v2-article) .et_pb_post_content th{
  background:var(--v2-navy)!important;color:white!important;
  text-transform:uppercase;letter-spacing:.055em;font-size:11px!important;
  font-weight:800;border:none!important;padding:14px!important;text-align:left
}
body.single-post:not(.lrg-v2-article) .et_pb_post_content td{
  border-bottom:1px solid #e6eaf1!important;color:#43536a!important;
  padding:14px!important;vertical-align:top
}
body.single-post:not(.lrg-v2-article) .et_pb_post_content tbody tr:nth-child(even){background:#f8faff}
@media(max-width:760px){
  body.single-post:not(.lrg-v2-article) .et_pb_post_content table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
}

/* === BLOCKQUOTES === */
body.single-post:not(.lrg-v2-article) .et_pb_post_content blockquote{
  border-left:4px solid var(--v2-red);padding:16px 20px;margin:20px 0;
  background:var(--v2-surface);border-radius:0 13px 13px 0;
  font-style:italic;color:var(--v2-ink)
}
body.single-post:not(.lrg-v2-article) .et_pb_post_content blockquote p{
  color:var(--v2-ink)!important;margin-bottom:0!important
}

/* === IMAGES + CAPTIONS === */
body.single-post:not(.lrg-v2-article) .et_pb_post_content img{max-width:100%;height:auto;border-radius:10px}
body.single-post:not(.lrg-v2-article) .et_pb_post_content .wp-caption{max-width:100%;margin:18px 0}
body.single-post:not(.lrg-v2-article) .et_pb_post_content .wp-caption-text,
body.single-post:not(.lrg-v2-article) .et_pb_post_content figcaption{
  font-size:13px;color:var(--v2-muted);margin-top:8px;text-align:center;line-height:1.45
}
body.single-post:not(.lrg-v2-article) .et_pb_post_content .alignleft{float:left;margin:0 20px 16px 0}
body.single-post:not(.lrg-v2-article) .et_pb_post_content .alignright{float:right;margin:0 0 16px 20px}
body.single-post:not(.lrg-v2-article) .et_pb_post_content .aligncenter{display:block;margin:18px auto}

/* === EMBEDS / IFRAMES === */
body.single-post:not(.lrg-v2-article) .et_pb_post_content iframe{max-width:100%;border-radius:10px}
body.single-post:not(.lrg-v2-article) .et_pb_post_content .wp-block-embed,
body.single-post:not(.lrg-v2-article) .et_pb_post_content .fluid-width-video-wrapper{max-width:100%;margin:18px 0}

/* === FORMS (legacy) === */
body.single-post:not(.lrg-v2-article) .et_pb_post_content input[type="text"],
body.single-post:not(.lrg-v2-article) .et_pb_post_content input[type="email"],
body.single-post:not(.lrg-v2-article) .et_pb_post_content input[type="tel"],
body.single-post:not(.lrg-v2-article) .et_pb_post_content select,
body.single-post:not(.lrg-v2-article) .et_pb_post_content textarea{
  font-family:inherit;font-size:16px;padding:10px 14px;
  border:1px solid var(--v2-border);border-radius:8px;width:100%;max-width:400px
}

/* === RESPONSIVE (legacy only) === */
@media(max-width:760px){
  body.single-post:not(.lrg-v2-article) .et_pb_post_content h1{font-size:34px!important}
  body.single-post:not(.lrg-v2-article) .et_pb_post_content h2{font-size:29px!important}
  body.single-post:not(.lrg-v2-article) .et_pb_post_content .alignleft,
  body.single-post:not(.lrg-v2-article) .et_pb_post_content .alignright{float:none;margin:18px 0}
}

/* === LEGACY SIDEBAR (TOC + CTA) — V2 card styling ===
   Applies to all posts EXCEPT V2 articles (which hide the sidebar entirely).
   Does not change markup, shortcode output, or hrefs. CSS only. */
body.single-post:not(.lrg-v2-article) .et_pb_column_1_tb_body{
  font-family:Inter,'Source Sans 3',system-ui,sans-serif
}
body.single-post:not(.lrg-v2-article) .et_pb_column_1_tb_body .et_pb_text{
  background:var(--v2-paper);
  border:1px solid var(--v2-border);
  border-top:3px solid var(--v2-red);
  border-radius:15px;
  padding:19px;
  box-shadow:0 10px 28px rgba(14,35,71,.04)
}
body.single-post:not(.lrg-v2-article) .rss-toc-title{
  font-family:Inter,'Source Sans 3',system-ui,sans-serif!important;
  font-size:12px!important;font-weight:800!important;
  letter-spacing:.1em;text-transform:uppercase;
  color:var(--v2-muted)!important;margin:0 0 10px!important
}
/* TOC links: <ul> sibling of .rss-toc-title, links have no class */
body.single-post:not(.lrg-v2-article) .rss-toc-title ~ ul a{
  font-family:Inter,'Source Sans 3',system-ui,sans-serif;
  font-size:13px;color:var(--v2-ink);display:block;
  padding:7px 9px;border-radius:7px;text-decoration:none;font-weight:500
}
body.single-post:not(.lrg-v2-article) .rss-toc-title ~ ul a:hover{
  background:var(--v2-surface);color:var(--v2-red)
}
body.single-post:not(.lrg-v2-article) .rss-toc-cta-heading{
  font-family:Fraunces,Georgia,serif!important;
  font-size:18px!important;font-weight:750!important;
  color:var(--v2-navy)!important;line-height:1.25!important;
  margin:16px 0 6px!important
}
body.single-post:not(.lrg-v2-article) .rss-cta-line3{
  font-size:13px!important;color:var(--v2-muted)!important;margin:0 0 12px!important
}
/* CTA button: a.rss-toc-cta inside .rss-toc-cta-wrap */
body.single-post:not(.lrg-v2-article) a.rss-toc-cta{
  display:inline-flex!important;align-items:center;justify-content:center;
  background:var(--v2-navy)!important;color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  text-decoration:none!important;font-weight:700;
  padding:12px 18px;border-radius:9px;font-size:13px;line-height:1.3;
  border:1px solid var(--v2-navy)
}
body.single-post:not(.lrg-v2-article) a.rss-toc-cta:hover{
  background:var(--v2-navy2)!important;color:#fff!important
}

/* === REDUCED MOTION (legacy only) === */
@media(prefers-reduced-motion:reduce){
  body.single-post:not(.lrg-v2-article) .et_pb_post_content *,
  body.single-post:not(.lrg-v2-article) .et_pb_post_content *:before,
  body.single-post:not(.lrg-v2-article) .et_pb_post_content *:after{
    scroll-behavior:auto!important;transition:none!important
  }
}
