/* =========================================================
   ALMA NEXUS · AJUSTES BOOKING COMPACTO + SESIÓN
   ========================================================= */

.nav-logout-link {
    position: relative;
    opacity: .76;
    font-size: 12px;
}

.nav-logout-link:hover {
    opacity: 1;
}

.nav-logout-link[hidden] {
    display: none !important;
}

/* Menos aire exterior sin perder jerarquía */
#booking.booking {
    padding-top: 78px;
    padding-bottom: 82px;
}

#booking .booking__grid {
    grid-template-columns:
        minmax(310px, .82fr)
        minmax(520px, 1.18fr);
    gap: clamp(42px, 5.5vw, 76px);
}

#booking .booking__intro h2 {
    font-size: clamp(46px, 4.3vw, 66px);
}

#booking .booking__intro > p {
    margin-top: 18px;
    line-height: 1.7;
}

#booking .booking__phase-note {
    margin-top: 26px;
    padding: 15px 17px;
}

/* Tarjeta principal */
#booking .booking-card {
    padding: 26px 28px 28px;
}

#booking .booking-form {
    gap: 13px;
}

#booking .booking-client-bar,
#booking .booking-professional-static {
    padding: 12px 14px;
}

#booking .booking-professional-static {
    gap: 12px;
}

#booking .booking-professional-static__photo {
    width: 52px;
    height: 52px;
    flex: 0 0 52px;
}

#booking .booking-fixed-hours {
    margin: 0;
    padding: 10px 12px;
    gap: 1px;
}

#booking .booking-fixed-hours small {
    line-height: 1.35;
}

/* Calendario mensual más compacto */
#booking .booking-calendar-ui {
    gap: 12px;
}

#booking .booking-calendar {
    padding: 14px 16px 15px;
}

#booking .booking-calendar__head {
    align-items: center;
}

#booking .booking-calendar__eyebrow {
    margin-bottom: 3px;
}

#booking .booking-calendar__month {
    font-size: 22px;
}

#booking .booking-calendar__nav button {
    width: 36px;
    height: 36px;
}

#booking .booking-calendar__weekdays {
    margin-top: 13px;
    padding-bottom: 6px;
}

#booking .booking-calendar__days {
    margin-top: 6px;
    gap: 3px;
}

#booking .booking-calendar-day,
#booking .booking-calendar-day--blank {
    min-height: 38px;
}

#booking .booking-calendar-day {
    aspect-ratio: 1 / .78;
    font-size: 12px;
}

#booking .booking-calendar-day.is-available i {
    bottom: 4px;
    width: 4px;
    height: 4px;
}

#booking .booking-calendar__legend {
    margin-top: 11px;
    gap: 12px;
}

/* Horarios: todos visibles, menos altura */
#booking .booking-time-picker {
    padding: 13px 16px 15px;
}

#booking .booking-time-picker__head strong {
    font-size: 20px;
}

#booking .booking-time-picker__slots {
    margin-top: 11px;
    gap: 6px;
}

#booking .booking-time-slot {
    min-height: 52px;
    padding: 7px 4px;
}

#booking .booking-time-slot span {
    font-size: 18px;
}

#booking .booking-time-slot small {
    font-size: 12px;
}

#booking .booking-time-picker__note {
    margin-top: 8px;
}

/* Resumen y CTA */
#booking .booking-summary {
    min-height: 50px;
    padding: 10px 13px;
}

#booking .booking-summary strong {
    font-size: 18px;
}

#booking .booking-submit {
    min-height: 48px;
}

/* Los videos mantienen la tarjeta, pero sin reservar recursos al inicio */
.testimonial-card__video video {
    width: 100%;
}

@media (max-width: 980px) {
    #booking.booking {
        padding-top: 66px;
        padding-bottom: 70px;
    }

    #booking .booking__grid {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    #booking .booking-card {
        width: 100%;
        max-width: 760px;
    }
}

@media (max-width: 620px) {
    #booking .booking-card {
        padding: 18px 16px 20px;
    }

    #booking .booking-calendar {
        padding: 12px;
    }

    #booking .booking-calendar-day,
    #booking .booking-calendar-day--blank {
        min-height: 34px;
    }

    #booking .booking-time-picker {
        padding: 12px;
    }

    #booking .booking-time-picker__slots {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}