/* Scoped additions for the sod cost article and its archive entry. */
.sod-cost-hero h1 { max-width: 760px; }
.sod-cost-hero p { max-width: 670px; }
.sod-cost-hero .section-label { color: var(--color-primary-light); font-size: .85rem; }
.sod-cost-hero .btn--primary,
.sod-cost-guide .cta-section .btn--primary { color: var(--color-secondary); }
.sod-cost-hero .btn--primary:hover,
.sod-cost-guide .cta-section .btn--primary:hover { background: #4a7025; border-color: #4a7025; color: #fff; }
.sod-cost-article { margin-inline: auto; }
.sod-cost-article .blog-meta { flex-wrap: wrap; gap: 6px 18px; }
.sod-cost-article h2 { margin-top: 38px; }
.sod-cost-article .cost-guide-summary h2 { margin-top: 0; }
.sod-cost-article [id] { scroll-margin-top: 100px; }
.sod-budget-breakdown { margin: 26px 0; border-top: 1px solid var(--color-border); }
.sod-budget-breakdown > div {
  display: grid;
  grid-template-columns: minmax(0, .65fr) minmax(0, 1.35fr);
  gap: 28px;
  padding: 24px 0;
  border-bottom: 1px solid var(--color-border);
}
.sod-budget-breakdown dt { font-size: 1.1rem; font-weight: 700; }
.sod-budget-breakdown dd { margin: 0; }
.sod-cost-featured { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sod-cost-card { border-top: 5px solid var(--color-primary); background: var(--color-primary-light); }
.sod-cost-card .card-body { display: flex; flex-direction: column; height: 100%; padding: 28px 24px; }
.sod-cost-card .section-label { color: #4a7025; margin-bottom: 24px; }
.sod-cost-card .card-link { margin-top: auto; padding-top: 12px; }
.blog-archive-disclosure { margin-top: 42px; border-top: 1px solid var(--color-border); }
.blog-archive-disclosure summary {
  padding: 24px 0;
  cursor: pointer;
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--color-secondary);
}
.blog-archive-disclosure summary:hover { color: #4a7025; }
.blog-archive-disclosure summary:focus-visible { outline: 3px solid var(--color-primary-dark); outline-offset: 3px; }
.blog-archive-disclosure .blog-index-grid { padding-top: 12px; }
@media (max-width: 768px) {
  .sod-cost-featured { grid-template-columns: minmax(0, 1fr); }
  .sod-budget-breakdown > div { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .sod-cost-guide .blog-meta { font-size: .85rem; }
}
@media (prefers-reduced-motion: reduce) {
  .sod-cost-guide *, .sod-cost-card * { transition: none !important; }
}
