/* Lewis Venue Profile — Public display */

.lvh-hours-wrap {
    font-size: 15px;
    line-height: 1.5;
}

/* ── Service block ── */
.lvh-service-block {
    margin-bottom: 20px;
}
.lvh-service-block + .lvh-service-block {
    padding-top: 16px;
    border-top: 1px solid rgba(0,0,0,.1);
}

.lvh-service-label {
    font-size: .7em;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .1em;
    opacity: .55;
    margin: 0 0 8px;
}

/* ── Hours table ── */
.lvh-table {
    width: 100%;
    border-collapse: collapse;
    border: none;
}
.lvh-table tr + tr td {
    border: none;
}
.lvh-table td {
    padding: 6px 0;
    vertical-align: middle;
    border: none;
}
.lvh-day {
    font-weight: 600;
    padding-right: 16px;
    white-space: nowrap;
}
.lvh-time {
    text-align: right;
    white-space: nowrap;
}
/* Split service (two sittings) — too long to hold on one line in a
   narrow column, so allow it to wrap. */
.lvh-time--split {
    white-space: normal;
}
.lvh-closed {
    opacity: .45;
    font-style: italic;
}

/* ── Today highlight ── */
.lvh-row--today .lvh-day {
    color: currentColor;
}
.lvh-row--today {
    font-weight: 700;
}
.lvh-row--today .lvh-day::after {
    content: ' ·';
    opacity: .4;
}

/* ── Open/closed badge ── */
.lvh-badge {
    display: inline-block;
    font-size: .78em;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    padding: 3px 10px;
    border-radius: 20px;
    margin-bottom: 12px;
}
.lvh-badge--open {
    background: #dcfce7;
    color: #15803d;
}
.lvh-badge--closed {
    background: #fee2e2;
    color: #b91c1c;
}

/* ── Closure banner ── */
.lvh-closure-banner {
    background: #fef9c3;
    border-left: 4px solid #ca8a04;
    color: #713f12;
    padding: 12px 16px;
    border-radius: 4px;
    font-weight: 500;
}

/* ── Inline layout ── */
.lvh-inline {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px 24px;
    font-size: 14px;
    line-height: 1.4;
}
.lvh-inline-item {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
}
.lvh-inline-icon {
    font-size: .85em;
    opacity: .7;
}
.lvh-inline-day {
    font-weight: 600;
}
.lvh-inline-time {
    font-weight: 400;
}

/* ── Text layout ── */
.lvh-text {
    font-size: 15px;
    line-height: 1.6;
}
.lvh-text-line {
    white-space: nowrap;
}

/* ── Public holidays section ── */
.lvh-holidays .lvh-service-label { opacity: .45; }
.lvh-ph-date { font-size: .85em; opacity: .65; }
