/* US federal holidays - next-holiday card, year switcher, dated list. */
.ufh-next { margin-bottom: 12px; }
.ufh-next strong { font-size: 1.3em; overflow-wrap: anywhere; }
.ufh-when { font-size: .88em; color: var(--e-ink-2); font-weight: 600; }
.ufh-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0 0 6px; }
.ufh-title { margin: 0; font-size: 1em; font-weight: 750; text-align: center; flex: 1; }
.ufh-nav { min-width: 40px; min-height: 40px; padding: 0 10px; font-size: 1.2em; line-height: 1; }
.ufh-list { list-style: none; margin: 0; padding: 0; }
.ufh-item { display: flex; align-items: center; gap: 12px; padding: 8px 2px; border-bottom: 1px solid var(--e-line); }
.ufh-item:last-child { border-bottom: 0; }
.ufh-date { flex: 0 0 auto; display: grid; place-items: center; width: 46px; padding: 4px 0; border-radius: var(--e-radius-sm); background: var(--e-surface); border: 1px solid var(--e-line); line-height: 1.05; }
.ufh-date small { font-size: .68em; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--e-accent-fg); }
.ufh-date b { font-size: 1.2em; font-weight: 750; font-variant-numeric: tabular-nums; }
.ufh-body { flex: 1; min-width: 0; display: grid; gap: 1px; }
.ufh-body strong { font-size: .95em; font-weight: 700; overflow-wrap: anywhere; }
.ufh-day { font-size: .82em; color: var(--e-ink-2); }
.ufh-meta { font-size: .76em; color: var(--e-ink-3); }
.ufh-item .e-pill { flex: 0 0 auto; }
.ufh-dc .ufh-date { border-style: dashed; }
.ufh-src a { color: var(--e-accent-fg); }
.ufh-compact .ufh-item { padding: 5px 2px; }
.ufh-compact .ufh-date { width: 40px; }
@media (max-width: 340px) {
    .ufh-item { gap: 8px; }
    .ufh-item .e-pill { display: none; }
}
.ufh-past .ufh-date { opacity: .5; }
