.availability {
    background: var(--availability-bg);
    color: var(--availability-text);
}

.availability-inner {
    align-items: center;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5rem;
}

.eyebrow-light {
    color: var(--availability-accent);
}

.availability h2 {
    font-size: clamp(2.5rem, 4vw, 4rem);
}

/* En modo oscuro, el azul del <em> se pierde sobre el fondo azul */
:root[data-theme="dark"] .availability h2 em {
    color: var(--availability-accent);
}

/* English headline is longer: smaller type and a tighter gap */
.availability-inner:lang(en) {
    gap: 3.5rem;
}

.availability h2:lang(en) {
    font-size: clamp(2rem, 3vw, 3rem);
}

.availability-info {
    border-left: .08rem solid var(--availability-line);
    padding-left: 2rem;
}

/* Estado "Disponible ahora / Fuera de horario": punto + texto (no depende solo del color) */
.availability-info .availability-status {
    align-items: center;
    background: rgba(255, 255, 255, .45);
    border: .08rem solid var(--availability-line);
    border-radius: 999rem;
    color: var(--availability-text);
    display: inline-flex;
    font-family: "Manrope", sans-serif;
    font-size: .8125rem;
    font-weight: 700;
    gap: .55rem;
    margin: 0 0 1rem;
    max-width: 100%;
    padding: .45rem .9rem;
}

:root[data-theme="dark"] .availability-info .availability-status {
    background: rgba(255, 255, 255, .08);
}

.availability-status .status-dot {
    flex-shrink: 0;
}

.availability-line {
    align-items: center;
    display: flex;
    gap: .7rem;
}

.status-dot {
    background: #55d87c;
    border-radius: 50%;
    box-shadow: 0 0 0 .3rem rgba(85, 216, 124, .16);
    height: .6rem;
    width: .6rem;
}

.status-dot.is-closed {
    background: #f05b5b;
    box-shadow: 0 0 0 .3rem rgba(240, 91, 91, .16);
}

.availability-line strong {
    color: var(--availability-accent);
    font-family: "Manrope", sans-serif;
    font-size: 1.15rem;
}

.availability-info p {
    color: var(--availability-copy);
    font-size: 1.05rem;
    margin: 1.2rem 0 1.5rem;
    max-width: 29rem;
}

.availability-info p.response-time {
    color: var(--availability-muted);
    font-size: .8125rem;
    margin: -.8rem 0 1.5rem;
}

