/* Residential snow cost guide: additions to the existing editorial system. */
.snow-cost-guide .snow-cost-photo { margin: 32px 0; }
.snow-cost-guide .snow-cost-photo img { display: block; width: 100%; height: auto; margin: 0 0 10px; }
.snow-cost-guide figcaption { color: var(--color-text-muted); font-size: .875rem; }
.snow-cost-guide .snow-price-methods { margin: 24px 0; border-top: 1px solid var(--color-border); }
.snow-cost-guide .snow-price-methods > div { padding: 20px 0; border-bottom: 1px solid var(--color-border); }
.snow-cost-guide dt { font-family: var(--font-heading); font-weight: 600; font-size: 1.25rem; color: var(--color-primary-dark); margin-bottom: 8px; }
.snow-cost-guide dd { margin: 0; }
.snow-cost-guide .snow-cost-table-wrap { max-width: 100%; overflow-x: auto; margin: 24px 0; border: 1px solid var(--color-border); border-radius: var(--radius-lg); }
.snow-cost-guide .snow-cost-table { width: 100%; border-collapse: collapse; font-size: .9375rem; }
.snow-cost-guide caption { padding: 16px; text-align: left; font-size: .875rem; color: var(--color-text-muted); }
.snow-cost-guide th, .snow-cost-guide td { padding: 16px; text-align: left; border-top: 1px solid var(--color-border); }
.snow-cost-guide thead { background: var(--color-primary); color: #fff; }
.snow-cost-guide tbody tr:nth-child(even) { background: var(--color-bg); }
.snow-cost-guide .snow-cost-faq { border-bottom: 1px solid var(--color-border); padding-bottom: 8px; }
@media (max-width: 600px) {
  .snow-cost-guide .snow-cost-table { font-size: .875rem; }
  .snow-cost-guide th, .snow-cost-guide td { padding: 12px 10px; }
}
