/* Current calendar controls; existing background and primary design are preserved. */
.current-calendar-nav { display:flex; flex-wrap:wrap; gap:10px; margin:18px 0; }
.current-calendar-nav a { display:inline-block; padding:9px 14px; border:1px solid #c9bbaa; border-radius:5px; text-decoration:none; font-size:15px; }
.current-calendar-nav a:hover { background:#f2e7d7; color:#6b0a1b !important; }
.calendar-filter select { display:block; width:100%; min-height:46px; padding:10px; border:1px solid #856c50; border-radius:4px; background:#fffaf2; color:#1d0209; font:inherit; margin:6px 0 14px; }
.calendar-filter input { margin-bottom:14px; }
.availability-note { display:block; font-size:13px; line-height:1.4; margin:5px 0 8px; font-weight:400; }
.previous-reference { margin:30px 0 10px; padding:16px; background:#f2e7d7; border:1px solid #c9bbaa; border-radius:8px; min-width:0; }
.previous-reference > summary { font-size:17px; font-weight:600; cursor:pointer; }
.previous-reference > p { font-size:15px; }
.preserved-archive { min-width:0; margin-top:20px; }
.preserved-archive .reference-table { min-width:590px; }
.preserved-archive .table-scroll { max-width:100%; }
.deluxe-page-shell td, .deluxe-page-shell th { vertical-align:top; }
.year-jump-grid { position:relative; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:28px; }
.year-jump-grid a { display:block; padding:16px; border:1px solid rgba(216,176,90,.5); border-radius:6px; background:rgba(16,0,6,.55); text-decoration:none; }
.year-jump-grid strong { display:block; font-family:Georgia,serif; font-size:29px; color:#fff8ee; }
.year-jump-grid span { display:block; font-size:13px; margin-top:6px; }
.calendar-year-section { scroll-margin-top:24px; margin-top:30px; }
@media(max-width:760px) {
  .previous-reference { padding:12px; }
  .current-calendar-nav a { padding:9px 12px; }
  .year-jump-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
