.bcnlip-hours { padding: 3.5rem 0; }
.bcnlip-hours--bcnlip    { background: var(--wp--preset--color--bcnlip-teal, var(--color-primary, #1B2A4A)); }
.bcnlip-hours--referencia { background: var(--wp--preset--color--bcnlip-navy-dark, var(--color-navy-dark, #0F1C35)); }

.bcnlip-hours .bcnlip-container { max-width: 1200px; margin: 0 auto; padding: 0 3rem; }

/* Asymmetric editorial grid: structure takes the lead, schedules become
   secondary metadata aligned to the same rhythm. Right column stretches
   to match the left's height so its content distributes evenly — no empty
   space, single composition. */
.bcnlip-hours__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.8fr) minmax(0, 1fr);
    column-gap: 3rem;
    row-gap: 0;
    align-items: stretch;
}
.bcnlip-hours__grid > :nth-child(2) {
    padding-top: 0.4rem;
    border-left: 1px solid currentColor;
    padding-left: 2rem;
    display: flex;
    flex-direction: column;
}
.bcnlip-hours--bcnlip .bcnlip-hours__grid > :nth-child(2),
.bcnlip-hours--referencia .bcnlip-hours__grid > :nth-child(2) { border-left-color: rgba(255,255,255,.12); }
.bcnlip-hours--cream .bcnlip-hours__grid > :nth-child(2),
.bcnlip-hours--white .bcnlip-hours__grid > :nth-child(2) { border-left-color: rgba(27,42,74,.12); }

/* Subordinate hierarchy on the right column */
.bcnlip-hours__grid > :nth-child(2) .bcnlip-hours__title {
    font-size: clamp(1.15rem, 1.8vw, 1.55rem);
    line-height: 1.15;
    margin-bottom: 0.85rem;
}
.bcnlip-hours__grid > :nth-child(2) .bcnlip-hours__title br { display: none; }
.bcnlip-hours__grid > :nth-child(2) .bcnlip-hours__title em { display: inline; margin-left: .3rem; }

.bcnlip-hours__label {
    font-family: 'Courier Prime', monospace;
    font-size: .62rem; letter-spacing: .3em; text-transform: uppercase;
    display: flex; align-items: center; gap: .7rem; margin-bottom: .7rem;
}
.bcnlip-hours--bcnlip .bcnlip-hours__label { color: var(--wp--preset--color--bcnlip-yellow, var(--color-secondary, #F2A900)); }
.bcnlip-hours--bcnlip .bcnlip-hours__label::after { content: ''; display: block; width: 46px; height: 1px; background: var(--wp--preset--color--bcnlip-yellow, var(--color-secondary, #F2A900)); }
.bcnlip-hours--referencia .bcnlip-hours__label { color: var(--wp--preset--color--bcnlip-yellow, var(--color-accent, #F2A900)); }
.bcnlip-hours--referencia .bcnlip-hours__label::after { content: ''; display: block; width: 46px; height: 1px; background: var(--wp--preset--color--bcnlip-yellow, var(--color-accent, #F2A900)); }

.bcnlip-hours__title {
    font-family: 'Courier Prime', monospace;
    font-size: clamp(1.9rem, 3.8vw, 2.9rem); font-weight: 700; line-height: 1.1; margin-bottom: 1.1rem;
}
.bcnlip-hours--bcnlip .bcnlip-hours__title { color: var(--wp--preset--color--bcnlip-yellow, var(--color-secondary, #F2A900)); }
.bcnlip-hours--bcnlip .bcnlip-hours__title em { color: var(--wp--preset--color--white, #ffffff); font-style: italic; }
.bcnlip-hours--referencia .bcnlip-hours__title { color: var(--wp--preset--color--bcnlip-yellow, var(--color-accent, #F2A900)); }
.bcnlip-hours--referencia .bcnlip-hours__title em { color: var(--wp--preset--color--white, #ffffff); font-style: italic; }

.bcnlip-hours__rows { display: flex; flex-direction: column; gap: .5rem; margin-top: 1.4rem; }
.bcnlip-hours__row {
    display: flex; align-items: center; gap: 1.2rem; padding: 0.7rem 1.1rem;
    position: relative; overflow: hidden; transition: all .3s;
}
.bcnlip-hours--bcnlip .bcnlip-hours__row { border: 1px solid rgba(235,181,36,.16); }
.bcnlip-hours--bcnlip .bcnlip-hours__row::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--wp--preset--color--bcnlip-yellow, var(--color-secondary, #F2A900)); }
.bcnlip-hours--bcnlip .bcnlip-hours__row:hover { border-color: rgba(235,181,36,.45); background: rgba(235,181,36,.04); }
.bcnlip-hours--referencia .bcnlip-hours__row { border: 1px solid rgba(255,255,255,.15); }
.bcnlip-hours--referencia .bcnlip-hours__row::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--wp--preset--color--bcnlip-yellow, var(--color-accent, #F2A900)); }

.bcnlip-hours__n {
    font-family: 'Courier Prime', monospace;
    font-size: 1.9rem; font-weight: 900; line-height: 1; min-width: 3rem;
}
.bcnlip-hours--bcnlip .bcnlip-hours__n { color: var(--wp--preset--color--bcnlip-yellow, var(--color-secondary, #F2A900)); }
.bcnlip-hours--referencia .bcnlip-hours__n { color: var(--wp--preset--color--bcnlip-yellow, var(--color-accent, #F2A900)); }

.bcnlip-hours__info h4 {
    font-size: .72rem; letter-spacing: .13em; text-transform: uppercase; margin-bottom: .18rem; color: var(--wp--preset--color--white, #ffffff);
}
.bcnlip-hours__info p { font-size: .78rem; color: rgba(255,255,255,.6); }

/* Dark scheme AA fixes — contrast was failing at .6 and .45 */
.bcnlip-hours--bcnlip .bcnlip-hours__info p,
.bcnlip-hours--referencia .bcnlip-hours__info p { color: rgba(255,255,255,.85); }
.bcnlip-hours--bcnlip .bcnlip-hours__note,
.bcnlip-hours--referencia .bcnlip-hours__note { color: rgba(255,255,255,.7); }

/* Footnote — color por scheme (legibilidad sobre fondos oscuros/claros) */
.bcnlip-hours__footnote { color: rgba(27,42,74,.72); }
.bcnlip-hours--bcnlip .bcnlip-hours__footnote,
.bcnlip-hours--referencia .bcnlip-hours__footnote { color: rgba(249,245,236,.72); }
.bcnlip-hours--cream .bcnlip-hours__footnote,
.bcnlip-hours--white .bcnlip-hours__footnote { color: rgba(27,42,74,.72); }

/* HighlightBox — color por scheme */
.bcnlip-hours__highlight-box { color: rgba(27,42,74,.85); }
.bcnlip-hours--bcnlip .bcnlip-hours__highlight-box,
.bcnlip-hours--referencia .bcnlip-hours__highlight-box { color: rgba(249,245,236,.92); }
.bcnlip-hours--cream .bcnlip-hours__highlight-box,
.bcnlip-hours--white .bcnlip-hours__highlight-box { color: rgba(27,42,74,.85); }

/* Section header (intro de sección unificada) — color por scheme */
.bcnlip-hours__section-title { color: var(--wp--preset--color--bcnlip-navy-dark, #0F1C35); }
.bcnlip-hours__section-title em { font-style: italic; color: var(--wp--preset--color--bcnlip-yellow-dark, #C8860A); }
.bcnlip-hours__section-intro { color: rgba(27,42,74,.78); }
.bcnlip-hours--bcnlip .bcnlip-hours__section-title,
.bcnlip-hours--referencia .bcnlip-hours__section-title { color: var(--wp--preset--color--bcnlip-yellow, #F2A900); }
.bcnlip-hours--bcnlip .bcnlip-hours__section-title em,
.bcnlip-hours--referencia .bcnlip-hours__section-title em { color: var(--wp--preset--color--white, #ffffff); }
.bcnlip-hours--bcnlip .bcnlip-hours__section-intro,
.bcnlip-hours--referencia .bcnlip-hours__section-intro { color: rgba(249,245,236,.78); }

/* Cream scheme — light background overrides */
.bcnlip-hours--cream { background: var(--wp--preset--color--bcnlip-cream, var(--color-cream, #F9F5EC)); }
.bcnlip-hours--cream .bcnlip-hours__label { color: var(--wp--preset--color--bcnlip-teal, var(--color-primary, #1B2A4A)); }
.bcnlip-hours--cream .bcnlip-hours__label::after { content: ''; display: block; width: 46px; height: 1px; background: var(--wp--preset--color--bcnlip-teal, var(--color-primary, #1B2A4A)); }
.bcnlip-hours--cream .bcnlip-hours__title { color: var(--wp--preset--color--bcnlip-teal, var(--color-primary, #1B2A4A)); }
.bcnlip-hours--cream .bcnlip-hours__title em { color: var(--wp--preset--color--bcnlip-red, var(--color-red, #C1262C)); font-style: italic; }
.bcnlip-hours--cream .bcnlip-hours__row { border: 1px solid rgba(27,42,74,.15); }
.bcnlip-hours--cream .bcnlip-hours__row::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--wp--preset--color--bcnlip-teal, var(--color-primary, #1B2A4A)); }
.bcnlip-hours--cream .bcnlip-hours__row:hover { border-color: rgba(27,42,74,.3); background: rgba(27,42,74,.04); }
.bcnlip-hours--cream .bcnlip-hours__n { color: var(--wp--preset--color--bcnlip-teal, var(--color-primary, #1B2A4A)); }
.bcnlip-hours--cream .bcnlip-hours__info h4,
.bcnlip-hours--cream .bcnlip-hours__label { color: var(--wp--preset--color--bcnlip-teal, var(--color-primary, #1B2A4A)); }
.bcnlip-hours--cream .bcnlip-hours__info p { color: var(--color-text-mid, #57534e); }
.bcnlip-hours--cream .bcnlip-hours__pill { color: var(--wp--preset--color--bcnlip-teal, var(--color-primary, #1B2A4A)); border: 1px solid rgba(27,42,74,.25); }
.bcnlip-hours--cream .bcnlip-hours__note { color: rgba(27,42,74,.7); }

/* White scheme — analogous to cream */
.bcnlip-hours--white { background: var(--wp--preset--color--white, #ffffff); }
.bcnlip-hours--white .bcnlip-hours__label { color: var(--wp--preset--color--bcnlip-teal, var(--color-primary, #1B2A4A)); }
.bcnlip-hours--white .bcnlip-hours__label::after { content: ''; display: block; width: 46px; height: 1px; background: var(--wp--preset--color--bcnlip-teal, var(--color-primary, #1B2A4A)); }
.bcnlip-hours--white .bcnlip-hours__title { color: var(--wp--preset--color--bcnlip-teal, var(--color-primary, #1B2A4A)); }
.bcnlip-hours--white .bcnlip-hours__title em { color: var(--wp--preset--color--bcnlip-red, var(--color-red, #C1262C)); font-style: italic; }
.bcnlip-hours--white .bcnlip-hours__row { border: 1px solid rgba(27,42,74,.15); }
.bcnlip-hours--white .bcnlip-hours__row::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--wp--preset--color--bcnlip-teal, var(--color-primary, #1B2A4A)); }
.bcnlip-hours--white .bcnlip-hours__row:hover { border-color: rgba(27,42,74,.3); background: rgba(27,42,74,.04); }
.bcnlip-hours--white .bcnlip-hours__n { color: var(--wp--preset--color--bcnlip-teal, var(--color-primary, #1B2A4A)); }
.bcnlip-hours--white .bcnlip-hours__info h4,
.bcnlip-hours--white .bcnlip-hours__label { color: var(--wp--preset--color--bcnlip-teal, var(--color-primary, #1B2A4A)); }
.bcnlip-hours--white .bcnlip-hours__info p { color: var(--color-text-mid, #57534e); }
.bcnlip-hours--white .bcnlip-hours__pill { color: var(--wp--preset--color--bcnlip-teal, var(--color-primary, #1B2A4A)); border: 1px solid rgba(27,42,74,.25); }
.bcnlip-hours--white .bcnlip-hours__note { color: rgba(27,42,74,.7); }

/* Pills become vertical session cards that stretch to fill the column
   height — mirrors the left column's row rhythm and absorbs dead space. */
.bcnlip-hours__pills {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    margin: 0 0 .9rem;
    flex: 1 1 auto;
    min-height: 0;
}
.bcnlip-hours__pill {
    font-family: 'Courier Prime', monospace;
    font-size: 1.05rem; font-weight: 700;
    padding: .7rem 1rem;
    display: flex; align-items: center; justify-content: center;
    flex: 1 1 0;
    transition: all .3s;
}
.bcnlip-hours--bcnlip .bcnlip-hours__pill { color: var(--wp--preset--color--bcnlip-yellow, var(--color-secondary, #F2A900)); border: 1px solid rgba(235,181,36,.3); }
.bcnlip-hours--referencia .bcnlip-hours__pill { color: var(--wp--preset--color--white, #ffffff); border: 1px solid rgba(255,255,255,.25); }

.bcnlip-hours__note { font-size: .76rem; font-style: italic; line-height: 1.55; color: rgba(255,255,255,.72); margin: 0; }

@media (max-width: 768px) {
    .bcnlip-hours__grid { grid-template-columns: 1fr; gap: 2rem; }
    .bcnlip-hours .bcnlip-container { padding: 0 1.4rem; }
}

/* F-M007 P1: cualquier elemento horizontalmente expansivo dentro del
   bloque (filas con varias columnas, tablas embebidas) recibe scroll
   horizontal en mobile en vez de desbordar. */
@media (max-width: 639px) {
    .bcnlip-hours__rows,
    .bcnlip-hours__table-wrap {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
    }
}
