/* Holiday closure notice - a card with a date list, or a one-line bar. */
.hc-ico { width: 20px; height: 20px; flex: none; }
.hc-top { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.hc-badge {
    display: grid; place-items: center; width: 40px; height: 40px; flex: none; border-radius: 12px;
    background: color-mix(in srgb, var(--e-warn) 13%, var(--e-bg)); color: var(--e-warn);
}
html.e-custom-accent .hc-badge { color: var(--e-accent-fg); background: color-mix(in srgb, var(--e-accent) 13%, var(--e-bg)); }
.hc-kicker { margin: 0; font-size: .76em; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--e-ink-3); }
.hc-name { margin: 1px 0 0; font-size: 1.15em; line-height: 1.25; font-weight: 750; letter-spacing: -.01em; overflow-wrap: anywhere; }

.hc-list { list-style: none; margin: 0; padding: 0; border: 1px solid var(--e-line); border-radius: var(--e-radius-sm); overflow: hidden; }
.hc-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 2px 14px; padding: 9px 12px; background: var(--e-bg); }
.hc-row + .hc-row { border-top: 1px solid var(--e-line); }
.hc-row.hc-is-today { background: var(--e-hero); box-shadow: inset 3px 0 0 var(--e-accent); }
.hc-date { display: inline-flex; align-items: center; gap: 8px; font-weight: 650; font-variant-numeric: tabular-nums; }
.hc-note { color: var(--e-ink-2); text-align: right; overflow-wrap: anywhere; min-width: 0; }
.hc-note.hc-closed { color: var(--e-bad); font-weight: 650; }
.hc-pill { display: inline-flex; align-items: center; padding: 1px 8px; border-radius: 999px; font-size: .78em; font-weight: 700; background: var(--e-surface-2); color: var(--e-ink-2); white-space: nowrap; }
.hc-pill-today { background: var(--e-accent); color: var(--e-accent-ink); }
.hc-none { margin: 0; padding: 12px; border-radius: var(--e-radius-sm); background: var(--e-surface); color: var(--e-ink-2); }
.hc-reopen { margin: 10px 0 0; font-weight: 600; }
.hc-contact { margin: 4px 0 0; font-size: .88em; color: var(--e-ink-2); }
.hc-contact a { color: var(--e-accent-fg); font-weight: 650; text-underline-offset: 2px; }

.hc-bar-in {
    display: flex; align-items: flex-start; gap: 10px; padding: 10px 14px; border-radius: var(--e-radius-sm);
    background: color-mix(in srgb, var(--e-warn) 9%, var(--e-bg)); border: 1px solid color-mix(in srgb, var(--e-warn) 26%, var(--e-line));
}
.hc-bar-in .hc-ico { color: var(--e-warn); margin-top: 1px; }
.hc-bar-text { margin: 0; font-size: .94em; line-height: 1.45; overflow-wrap: anywhere; }
.hc-bar-text .hc-pill { margin-right: 2px; }

@media (max-width: 360px) {
    .hc-row { flex-direction: column; }
    .hc-note { text-align: left; }
}
html[data-compact="1"] .hc-row { padding: 6px 10px; }
