/* Estilos base */
.contenedor-reservas {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    max-width: 1200px;
    margin: 2rem auto;
    padding: 1rem;
}

/* Calendario */
.flatpickr-calendar {
    width: 100% !important;
    max-width: 400px;
    margin: 10px auto !important;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

/* Horarios */
.lista-horarios {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 0.75rem;
}

.btn-horario {
    padding: 0.75rem;
    border: 2px solid #3498db;
    background: #e8f4fc;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.3s;
}

.btn-horario.seleccionado {
    background: #3498db;
    color: white;
}

.btn-horario.ocupado {
    background: #ffebee;
    border-color: #e74c3c;
    cursor: not-allowed;
}

/* Botón siguiente */
#btnSiguiente {
    background: #2ecc71;
    color: white;
    padding: 0.75rem 1.5rem;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    margin-top: 1rem;
}

#btnSiguiente:disabled {
    background: #95a5a6;
    cursor: not-allowed;
}

/* Mensajes de error */
.error-message {
    background: #ffebee;
    color: #e74c3c;
    padding: 1rem;
    margin-bottom: 1rem;
    border-radius: 4px;
}