/* CSS Crítico */
/* CSS Crítico */
/* CSS Crítico */
.parallax-bg {
    background-image: url('https://images.unsplash.com/photo-1470770841072-f978cf4d019e?auto=format&fit=crop&w=640&q=80&fm=webp');
    position: absolute;
    /* Cambiado de fixed a absolute para control manual */
    top: 0;
    left: 0;
    width: 100%;
    height: 120%;
    /* Altura extra para movimiento parallax */
    z-index: -1;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    will-change: transform;
    /* Optimización Móvil */
}

@media (min-width: 768px) {
    .parallax-bg {
        background-image: url('https://images.unsplash.com/photo-1470770841072-f978cf4d019e?auto=format&fit=crop&w=1024&q=80&fm=webp');
    }
}

@media (min-width: 1024px) {
    .parallax-bg {
        background-image: url('https://images.unsplash.com/photo-1470770841072-f978cf4d019e?auto=format&fit=crop&w=1920&q=80&fm=webp');
    }
}

/* Ocultar barra de scroll en carrusel pero mantener funcionalidad */
.scrollbar-hide::-webkit-scrollbar {
    display: none;
}

.scrollbar-hide {
    -ms-overflow-style: none;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    /* Scroll nativo suave en iOS */
}

.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s ease-out;
}

.reveal.active {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 768px) {

    /* Optimización extra para animaciones en móvil */
    .review-card {
        will-change: transform, opacity;
        transform: translateZ(0);
        backdrop-filter: none;
        /* Desactivar blur costoso en móvil */
        background: rgba(30, 30, 30, 0.9);
        /* Fondo sólido semi-transparente */
    }
}

/* Pricing Cards Hover Effect */
.pricing-card {
    transition: all 0.3s ease;
}

.pricing-card-highlighted {
    border: 2px solid #f59e0b !important;
    transform: translateY(-1rem) !important;
    box-shadow: 0 20px 25px -5px rgba(245, 158, 11, 0.1), 0 10px 10px -5px rgba(245, 158, 11, 0.04) !important;
}

/* Booking Selection States */
.pricing-card-selected {
    border: 3px solid #f59e0b !important;
    box-shadow: 0 0 0 4px rgba(245, 158, 11, 0.3) !important;
}

.review-card {
    min-width: 300px;
    scroll-snap-align: center;
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 1rem;
    padding: 2rem;
    transition: transform 0.1s linear, opacity 0.1s linear;
    will-change: transform, opacity;
    /* Optimización para iOS */
    backface-visibility: hidden;
    /* Prevenir parpadeo */
    transform: translateZ(0);
    /* Activar aceleración por hardware */
}

.time-slot-selected {
    background: rgba(245, 158, 11, 0.4) !important;
    border: 2px solid #f59e0b !important;
    color: white !important;
    font-weight: bold !important;
}