/* Blog post pattern: new-theme shell on top of homepage.css.
   Article/FAQ/CTA markup and text are untouched; only colors and type are tuned here. */

/* ---- photo hero (reuses the .hp-hero system) ---- */
.bp-hero .hp-hero-inner { padding-top: 84px; padding-bottom: 64px; }
.bp-crumb { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 22px; }
.bp-crumb a { color: rgba(255,255,255,.75); text-decoration: none; }
.bp-crumb a:hover { color: #a9df59; }
.bp-crumb span { color: rgba(255,255,255,.55); }
.bp-crumb span:last-child { color: #fff; text-transform: none; letter-spacing: 0; font-size: 13px; font-weight: 600; }
.bp-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.bp-chips span { display: inline-block; background: rgba(169,223,89,.16); color: #a9df59; border: 1px solid rgba(169,223,89,.5); padding: 6px 12px; font-size: 11.5px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; border-radius: 999px; }
.bp-byline { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; font-size: 12.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.85); border-top: 1px solid rgba(255,255,255,.25); padding-top: 20px; max-width: 640px; }
.bp-byline-av { width: 36px; height: 36px; background: var(--hp-lime); color: var(--hp-dark); display: inline-flex; align-items: center; justify-content: center; font-size: 15px; font-weight: 800; border-radius: 9px; }
.bp-byline span[aria-hidden="true"] { color: rgba(255,255,255,.5); }

/* ---- recolor the old orange theme variables to the new palette (content sections only) ---- */
.bp-scope {
  --primary: #5f8a1d;
  --primary-foreground: #ffffff;
  --background: #ffffff;
  --foreground: #172207;
  --card: #ffffff;
  --card-foreground: #172207;
  --muted: #f4f8e8;
  --muted-foreground: #55603f;
  --accent: #f4f8e8;
  --accent-foreground: #3f6212;
  --border: #d9e8bd;
  --ring: #a9df59;
}
/* global.css resets --primary on .bg-primary elements themselves, so override directly */
.bp-scope .bg-primary { background-color: #5f8a1d; }
.bp-scope .bg-primary:hover, .bp-scope .hover\:bg-orange-800:hover { background-color: #4d6b12; }
.bp-scope .text-primary { color: #5f8a1d; }
.bp-scope .bg-primary\/20.text-primary { color: #5f8a1d; }
.bp-scope .border-primary { border-color: #5f8a1d; }
.bp-scope .hover\:border-primary:hover { border-color: #5f8a1d; }
.bp-scope .hover\:text-primary:hover { color: #5f8a1d; }

/* ---- article typography (the headings carry no classes in the markup) ---- */
.bp-scope .blog-article h2 { font-size: 28px; line-height: 1.25; font-weight: 800; letter-spacing: -0.01em; color: var(--hp-dark); margin: 44px 0 14px; }
.bp-scope .blog-article h2:first-child { margin-top: 0; }
.bp-scope .blog-article h3 { font-size: 22px; line-height: 1.3; font-weight: 800; color: var(--hp-dark); margin: 32px 0 10px; }
.bp-scope .blog-article p { font-size: 17px; line-height: 1.75; color: #333d29; margin: 0 0 16px; }
.bp-scope .blog-article ul, .bp-scope .blog-article ol { margin: 0 0 18px; padding-left: 22px; }
.bp-scope .blog-article li { font-size: 16.5px; line-height: 1.7; color: #333d29; margin-bottom: 10px; }
.bp-scope .blog-article li::marker { color: #5f8a1d; font-weight: 700; }
.bp-scope .blog-article a { color: #4d6b12; font-weight: 700; text-decoration: none; }
.bp-scope .blog-article a:hover { text-decoration: underline; }
.bp-scope .blog-article strong { color: var(--hp-dark); }

/* ---- TOC sidebar active link ---- */
.bp-scope aside a.blog-toc-link.is-active { color: #5f8a1d; }

/* ---- FAQ + CTA sections ---- */
.bp-faq { background: #f4f8e8; }
.bp-faq details { background: #fff; }
@media (max-width: 640px) {
  .bp-hero .hp-hero-inner { padding-top: 64px; padding-bottom: 48px; }
  .bp-scope .blog-article h2 { font-size: 24px; margin-top: 36px; }
  .bp-scope .blog-article h3 { font-size: 20px; }
}

.bp-article-wrap { max-width: 720px; margin-left: auto; margin-right: auto; }
