/* Business hours - status line + weekly table. */
.bh-name { margin: 0 0 8px; font-weight: 650; font-size: 1.05em; overflow-wrap: anywhere; }
.bh-status {
    display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; padding: 10px 12px;
    border-radius: 10px; background: var(--e-surface); border: 1px solid var(--e-line);
}
.bh-badge {
    font-weight: 700; font-size: .9em; padding: 3px 10px; border-radius: 999px;
    border: 1.5px solid var(--e-bad); color: var(--e-bad);
}
.bh-badge::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: currentColor; margin-right: 6px; vertical-align: 1px; }
.bh-open .bh-badge { border-color: var(--e-ok); color: var(--e-ok); }
.bh-line { font-weight: 600; color: var(--e-ink); }
.bh-local { margin: 6px 0 0; font-size: .82em; color: var(--e-ink-3); }
.bh-local:empty { display: none; }
.bh-table { width: 100%; border-collapse: collapse; margin-top: 10px; font-size: .92em; font-variant-numeric: tabular-nums; }
.bh-cap { text-align: left; font-size: .8em; color: var(--e-ink-3); padding: 0 0 4px; caption-side: top; }
.bh-table th, .bh-table td { padding: 6px 8px; border-bottom: 1px solid var(--e-line); text-align: left; vertical-align: top; }
.bh-table th { font-weight: 600; color: var(--e-ink-2); white-space: nowrap; }
.bh-table td { text-align: right; overflow-wrap: anywhere; }
.bh-closed td { color: var(--e-ink-3); }
.bh-today th, .bh-today td { background: var(--e-surface); font-weight: 700; color: var(--e-ink); }
.bh-today th::after { content: " (today)"; font-weight: 400; font-size: .85em; color: var(--e-ink-3); }
