/* 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); }

/* Optional additions (2026-10): countdown, special-date note and list, contact buttons.
   Every rule below targets a class that only exists when its preset is set,
   so the default widget renders exactly as before. */
.bh-count { margin: 8px 0 0; display: inline-flex; align-items: center; gap: 6px; font-size: .86em; font-weight: 650; color: var(--e-ink-2); padding: 3px 10px; border-radius: 999px; background: var(--e-surface-2); font-variant-numeric: tabular-nums; }
.bh-count:empty { display: none; }
.bh-snote { margin: 8px 0 0; padding: 7px 10px; border-radius: 10px; font-size: .86em; font-weight: 600; color: var(--e-warn); background: color-mix(in srgb, var(--e-warn) 9%, var(--e-bg)); border: 1px solid color-mix(in srgb, var(--e-warn) 28%, transparent); overflow-wrap: anywhere; }
.bh-snote:empty { display: none; }
.bh-ctas { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.bh-cta {
    flex: 1 1 96px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 42px; padding: 8px 12px;
    border-radius: 999px; border: 1px solid var(--e-line-strong); background: var(--e-bg); color: var(--e-ink); text-decoration: none; font-weight: 650; font-size: .9em;
}
.bh-cta:hover { border-color: var(--e-accent); color: var(--e-accent-fg); }
.bh-cta-main { background: linear-gradient(135deg, var(--e-accent) 0%, var(--e-accent-2) 100%); border-color: transparent; color: var(--e-accent-ink); }
.bh-cta-main:hover { color: var(--e-accent-ink); filter: brightness(1.05); }
html.e-custom-accent .bh-cta-main { background: var(--e-accent); }
.bh-i { width: 17px; height: 17px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.bh-special-wrap { margin-top: 12px; }
.bh-special-cap { margin: 0; }
.bh-special { list-style: none; margin: 0; padding: 0; font-size: .92em; }
.bh-sp { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0 10px; padding: 6px 8px; border-bottom: 1px solid var(--e-line); font-variant-numeric: tabular-nums; }
.bh-sp-day { font-weight: 600; color: var(--e-ink-2); display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.bh-sp-hrs { text-align: right; overflow-wrap: anywhere; }
.bh-sp-label { grid-column: 1 / -1; font-size: .88em; color: var(--e-ink-3); overflow-wrap: anywhere; }
.bh-sp.bh-closed .bh-sp-hrs { color: var(--e-ink-3); }
.bh-sp-today { background: var(--e-surface); }
.bh-sp-today .bh-sp-day { color: var(--e-ink); font-weight: 700; }
.bh-sp-now { font-size: .78em; font-weight: 700; padding: 1px 7px; border-radius: 999px; background: var(--e-accent); color: var(--e-accent-ink); }
.bh-issues { margin: 10px 0 0; padding-left: 26px; }
