/* ============================================================
   Business Hours
   All values are driven by Style tab fields via CSS variables
   set inline in module.html. Fallbacks below match the field
   defaults, so the module renders correctly even if a variable
   is ever missing.
============================================================ */
.business-hours {
    background-color: var(--business-hours-bg, #FFFFFF);
}

.business-hours__wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--business-hours-top-spacing, 72px) 32px var(--business-hours-bottom-spacing, 72px);
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 56px;
    align-items: start;
}

/* Intro column */
.business-hours__eyebrow {
    font-family: var(--business-hours-eyebrow-font, "Roboto Mono"), monospace;
    font-size: var(--business-hours-eyebrow-size, 12px);
    font-weight: var(--business-hours-eyebrow-weight, 500);
    font-style: var(--business-hours-eyebrow-style, normal);
    text-transform: uppercase;
    letter-spacing: .14em;
    color: var(--business-hours-eyebrow-color, #E8610A);
}

.business-hours__heading {
    margin: 14px 0 0;
    font-family: var(--business-hours-heading-font, "Barlow Condensed"), sans-serif;
    font-size: var(--business-hours-heading-size, 34px);
    font-weight: var(--business-hours-heading-weight, 700);
    font-style: var(--business-hours-heading-style, normal);
    line-height: 1.1;
    color: var(--business-hours-heading-color, #1B4F72);
}

.business-hours__lead {
    margin: 18px 0 24px;
    max-width: 380px;
    font-family: var(--business-hours-lead-font, "Inter"), sans-serif;
    font-size: var(--business-hours-lead-size, 16px);
    font-weight: var(--business-hours-lead-weight, 400);
    font-style: var(--business-hours-lead-style, normal);
    line-height: 1.65;
    color: var(--business-hours-lead-color, #3D3D3D);
}

.business-hours__status {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--business-hours-status-font, "Roboto Mono"), monospace;
    font-size: var(--business-hours-status-size, 12px);
    font-weight: var(--business-hours-status-weight, 500);
    font-style: var(--business-hours-status-style, normal);
    letter-spacing: .04em;
    color: var(--business-hours-status-color, #1E8E5A);
}

.business-hours__dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--business-hours-status-dot, #1E8E5A);
    box-shadow: 0 0 0 3px rgba(30, 142, 90, .18);
}

/* Hours table */
.business-hours__table {
    border: 1px solid var(--business-hours-border, #D9E2EC);
    border-radius: var(--business-hours-radius, 8px);
    overflow: hidden;
}

.business-hours__cap {
    font-family: var(--business-hours-caption-font, "Roboto Mono"), monospace;
    font-size: var(--business-hours-caption-size, 11px);
    font-weight: var(--business-hours-caption-weight, 500);
    font-style: var(--business-hours-caption-style, normal);
    text-transform: uppercase;
    letter-spacing: .1em;
    color: var(--business-hours-caption-color, #1B4F72);
    background: var(--business-hours-caption-bg, #F5F5F0);
    padding: 14px 22px;
    border-bottom: 1px solid var(--business-hours-border, #D9E2EC);
}

.business-hours__row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 22px;
    border-bottom: 1px solid var(--business-hours-border, #D9E2EC);
}

.business-hours__row:last-child {
    border-bottom: none;
}

.business-hours__row.is-today {
    background: var(--business-hours-today-bg, #E7EEF5);
}

.business-hours__day {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: var(--business-hours-day-font, "Inter"), sans-serif;
    font-size: var(--business-hours-day-size, 15px);
    font-weight: var(--business-hours-day-weight, 500);
    font-style: var(--business-hours-day-style, normal);
    color: var(--business-hours-day-color, #3D3D3D);
}

.business-hours__now {
    font-family: var(--business-hours-time-font, "Roboto Mono"), monospace;
    font-size: 10px;
    letter-spacing: .08em;
    color: var(--business-hours-badge-text, #FFFFFF);
    background: var(--business-hours-badge-bg, #E8610A);
    padding: 2px 7px;
    border-radius: 3px;
}

.business-hours__time {
    font-family: var(--business-hours-time-font, "Roboto Mono"), monospace;
    font-size: var(--business-hours-time-size, 14px);
    font-weight: var(--business-hours-time-weight, 400);
    font-style: var(--business-hours-time-style, normal);
    color: var(--business-hours-time-color, #1B4F72);
}

.business-hours__time.is-closed {
    color: var(--business-hours-closed-text, #6B7280);
}

@media (max-width: 1023px) {
    .business-hours__wrap {
        grid-template-columns: 1fr;
        gap: 32px;
    }
}

@media (max-width: 767px) {
    .business-hours__wrap {
        padding-left: 20px;
        padding-right: 20px;
    }

    .business-hours__heading {
        font-size: 28px;
    }
}
