html.holiday-calendar-document { scroll-behavior: auto; }
/* B12: keep the public editorial layout and make the reading tables reflow. */
.holiday-calendar-page main,
.holiday-calendar-page main > *,
.holiday-calendar-page .holiday-month { min-width: 0; }
.holiday-calendar-page .holiday-month-nav,
.holiday-calendar-page .holiday-related-links { display: flex; flex-wrap: wrap; gap: .65rem 1rem; }
.holiday-calendar-page .holiday-month-nav a,
.holiday-calendar-page .holiday-related-links a { display: inline-flex; align-items: center; min-height: 44px; padding: .35rem .65rem; }
.holiday-calendar-page main a,
.holiday-calendar-page .holiday-month h3 { scroll-margin-top: 180px; scroll-margin-bottom: 24px; }
.holiday-calendar-page main a:focus-visible,
.holiday-calendar-page .holiday-month h3:focus { outline: 3px solid var(--lux-espresso, #30271f); outline-offset: 4px; }
.holiday-calendar-page .holiday-month { margin-top: 2.25rem; }
.holiday-calendar-page .holiday-table { width: 100%; table-layout: fixed; border-collapse: collapse; font-size: 1rem; }
.holiday-calendar-page .holiday-table caption { text-align: left; font-weight: 600; padding: .75rem 0; color: var(--lux-text, #30271f); }
.holiday-calendar-page .holiday-table th,
.holiday-calendar-page .holiday-table td { padding: .75rem .5rem; border-bottom: 1px solid var(--lux-border, #d7d0c7); text-align: left; vertical-align: top; overflow-wrap: anywhere; word-break: normal; }
.holiday-calendar-page .holiday-table .holiday-date-column { width: 32%; }
.holiday-calendar-page .holiday-table .holiday-type-column { width: 24%; }
.holiday-calendar-page .holiday-table time { white-space: normal; }
.holiday-calendar-page .holiday-sundays { line-height: 1.9; overflow-wrap: anywhere; }
.holiday-calendar-page .holiday-summary,
.holiday-calendar-page .holiday-metadata { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: .65rem 1rem; }
.holiday-calendar-page .holiday-summary dt,
.holiday-calendar-page .holiday-metadata dt { font-weight: 600; }
.holiday-calendar-page .holiday-summary dd,
.holiday-calendar-page .holiday-metadata dd { margin: 0; overflow-wrap: anywhere; }
.holiday-calendar-page .holiday-state { border-left: 3px solid var(--lux-espresso, #30271f); padding-left: 1rem; }
@media (max-width: 480px) {
  .holiday-calendar-page .holiday-table th,
  .holiday-calendar-page .holiday-table td { padding: .65rem .3rem; }
  .holiday-calendar-page .holiday-table { font-size: .95rem; }
  .holiday-calendar-page .holiday-metadata { grid-template-columns: minmax(0, 1fr); gap: .3rem; }
  .holiday-calendar-page .holiday-metadata dd { margin-bottom: .65rem; }
}
body.holiday-calendar-page .hero-band { grid-template-columns: minmax(0, 1fr); }
