/* Holiday Schedule — the deck's list, grouped by month */

.hol{padding-block:0 clamp(2rem,4vw,3rem)}

/* header bar sits on the table's own width, not the narrower prose column */
.hol-head{display:flex;align-items:baseline;justify-content:space-between;
  gap:1rem;flex-wrap:wrap;width:100%;max-width:none;margin:0 0 1rem}
.hol-count{margin:0;font-size:.78rem;font-weight:800;letter-spacing:.09em;
  text-transform:uppercase;color:var(--gray-ink)}
.hol-dl{margin:0;max-width:none}

.hol-table{width:100%;border-collapse:separate;border-spacing:0;
  border:1px solid var(--sand-line);border-radius:var(--r-md);overflow:hidden;
  font-size:1rem;background:#fff}

.hol-table thead th{background:var(--sand);color:var(--teal-deep);
  font-size:.74rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;
  text-align:left;padding:.85rem 1.5rem}

/* month band introduces each group */
.hol-mrow th{background:var(--sand-50);color:var(--ink);
  font-size:.74rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;
  text-align:left;padding:.6rem 1.5rem;border-top:1px solid var(--sand-line);
  position:relative}
.hol-mrow th::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--orange)}
.hol-month:first-of-type .hol-mrow th{border-top:0}

.hol-table tbody td,
.hol-table tbody tr:not(.hol-mrow) th{padding:.9rem 1.5rem;
  border-top:1px solid var(--sand-line);vertical-align:baseline}
.hol-table tbody tr:not(.hol-mrow) th{text-align:left;font-weight:700;
  letter-spacing:-.01em;color:var(--ink);width:58%}
.hol-table tbody tr:not(.hol-mrow):hover th,
.hol-table tbody tr:not(.hol-mrow):hover td{background:var(--teal-50)}

.hol-dow{color:var(--gray-ink);font-weight:600}
.hol-date{font-weight:700;letter-spacing:-.01em;white-space:nowrap}

@media (max-width:640px){
  .hol-head{margin-bottom:.85rem}
  .hol-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .hol-table,.hol-table tbody,.hol-table tr,
  .hol-table tbody tr:not(.hol-mrow) th,.hol-table tbody td{display:block;width:auto}
  .hol-mrow th{display:block;padding:.55rem 1.15rem}
  .hol-table tbody tr:not(.hol-mrow){border-top:1px solid var(--sand-line);padding:.85rem 1.15rem}
  .hol-table tbody tr:not(.hol-mrow) th,.hol-table tbody td{border-top:0;padding:0;background:none}
  .hol-table tbody tr:not(.hol-mrow) th{margin-bottom:.15rem}
  .hol-table tbody tr:not(.hol-mrow):hover th,
  .hol-table tbody tr:not(.hol-mrow):hover td{background:none}
}

@media print{
  .hol-dl{display:none}
  .hol-table tbody tr:hover th,.hol-table tbody tr:hover td{background:none}
}
