.as-slider {
    position: relative;
    width: 100vw;
    height: 100vh;
    overflow: hidden;
    background: #000;
    font-family: 'Inter', sans-serif;
    color: #fff;
    --radius: 8px;
    --height: 220px;
    --active-height: 310px;
    --overlay: 0.75;
}

/* FONDOS ANIMADOS Y GRADIENTES */
.as-slider-background {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 0;
}
/* Gradiente oscuro a la izquierda para leer bien el texto */
.as-slider-background::after {
    content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background: linear-gradient(90deg, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.4) 40%, rgba(0,0,0,0) 100%);
    z-index: 3; pointer-events: none;
}
.as-slider-background img {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover;
    opacity: 0; transition: opacity 0.8s ease-in-out, transform 0.8s ease-in-out;
}
.as-slider-background img.currentForward,
.as-slider-background img.currentBackward { opacity: 1; z-index: 2; transform: scale(1); }
.as-slider-background img.prev { opacity: 1; z-index: 1; }

/* CONTENEDOR DE CONTENIDO SUPERPUESTO */
.as-slider-content-wrapper {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    z-index: 10; display: flex; align-items: center; justify-content: space-between;
    padding: 0 5%;
}

/* PAGINACIÓN IZQUIERDA */
.as-bar-container { width: 50px; }
.as-bar .dot { display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; margin-bottom: 20px; cursor: pointer; color: #fff; opacity: 0.5; transition: 0.3s; }
.as-bar .dot.active { opacity: 1; font-weight: bold; font-size: 1.2rem; }

/* TEXTOS ANIMADOS */
.as-changing-widget {
    flex: 1; position: relative; height: var(--h); transition: height 0.5s ease;
    margin-left: 50px;
}
.slide-text-item {
    position: absolute; top: 0; left: 0; opacity: 0; pointer-events: none;
    transition: all 0.6s ease; transform: translateY(50px);
}
.slide-text-item h2 { font-size: 4rem; font-family: 'Oswald', sans-serif; margin: 0 0 10px; text-transform: uppercase; }
.slide-text-item p { font-size: 1.2rem; margin: 0 0 30px; }

/* BOTONES */
.mghs-buttons-group { display: flex; gap: 15px; flex-wrap: wrap; pointer-events: auto; }
.mghs-btn { display: inline-block; background: #E3001B; color: #fff; padding: 12px 30px; text-decoration: none; border-radius: 4px; font-weight: bold; text-transform: uppercase; transition: 0.3s; }
.mghs-btn:hover { background: #b30015; color: #fff; }
.mghs-btn-outline { background: transparent; border: 2px solid #ffffff; color: #ffffff; }
.mghs-btn-outline:hover { background: #ffffff; color: #1a1a1a; }

/* Clases de estado para el texto */
.slide-text-item.currentUp, .slide-text-item.currentDown { opacity: 1; transform: translateY(0); pointer-events: auto; z-index: 2; }
.slide-text-item.prev { transform: translateY(-50px); }
.slide-text-item.next { transform: translateY(50px); }

/* --- SWIPER DERECHA (Miniaturas) --- */

/* Ajustamos las variables de tamaño para dar la forma vertical */
.as-slider {
    --radius: 8px;
    --height: 160px;         /* Alto de las tarjetas inactivas */
    --width: 220px;          /* Ancho de las tarjetas inactivas */
    --active-height: 380px;  /* Alto de la tarjeta activa (Formato vertical) */
    --active-width: 260px;   /* Ancho de la tarjeta activa */
    --overlay: 0.75;
}

.as-side-slider-wrapper { 
    width: 55%; 
    position: relative; 
    z-index: 99999 !important;
    pointer-events: auto !important;
    display: flex;
    flex-direction: column;
    align-items: flex-start; /* Alinea el contenido a la izquierda del contenedor */
}

.as-side-slider { 
    width: 100%;
    padding-bottom: 0; 
    overflow: hidden; 
}

.as-side-slider .swiper-wrapper { 
    display: flex; 
    align-items: center; /* Esto centra verticalmente las tarjetas pequeñas junto a la grande */
    height: var(--active-height); 
}

.as-side-slider .swiper-slide {
    position: relative; 
    width: var(--width) !important; /* Forzamos el ancho inactivo */
    height: var(--height); 
    border-radius: var(--radius);
    overflow: hidden; 
    transition: all 0.5s ease; /* Transición suave para el cambio de tamaño */
    cursor: pointer !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.4); 
    opacity: 0.4; /* Las inactivas se ven más tenues */
    pointer-events: auto !important;
}

/* Gradiente para las miniaturas inactivas */
.as-side-slider .swiper-slide::after {
    content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background: linear-gradient(20deg, rgba(0,0,0,var(--overlay)) 0%, rgba(0,0,0,0) 100%);
    z-index: 1; pointer-events: none;
    transition: opacity 0.5s ease;
}

/* LA TARJETA ACTIVA (Vertical) */
.as-side-slider .swiper-slide-active {
    height: var(--active-height); 
    width: var(--active-width) !important; /* Forzamos el ancho activo */
    opacity: 1;
    box-shadow: 0 15px 40px rgba(0,0,0,0.8);
}

/* Quitamos el gradiente oscuro de la tarjeta activa para que brille la foto */
.as-side-slider .swiper-slide-active::after {
    opacity: 0;
}

.as-side-slider .swiper-slide img { 
    position: relative; 
    z-index: 0; 
    width: 100%; 
    height: 100%; 
    object-fit: cover; 
}

/* --- NAV ARROWS (Posicionadas debajo de la tarjeta activa) --- */
.as-slider-nav { 
    display: flex; 
    gap: 15px; 
    margin-top: 25px; 
    width: var(--active-width); /* El contenedor de flechas mide lo mismo que la tarjeta activa */
    justify-content: center; /* Centramos las flechas en ese espacio */
    position: relative; 
    z-index: 99999 !important;
    pointer-events: auto !important; 
}

.as-slider-left, .as-slider-right { 
    width: 45px; 
    height: 45px; 
    border-radius: 50%; 
    background: rgba(255,255,255,0.2); 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    cursor: pointer !important; 
    transition: 0.3s; 
    pointer-events: auto !important;
}

.as-slider-left:hover, .as-slider-right:hover { 
    background: #E3001B; 
}
@media (max-width: 1024px) {
    .as-slider { --height: 180px; --active-height: 250px; }
    .slide-text-item h2 { font-size: 2.5rem; }
}
@media (max-width: 768px) {
    .as-slider { --height: 80px; --active-height: 120px; }
    .as-slider-content-wrapper { flex-direction: column; justify-content: flex-end; padding-bottom: 50px; }
    .as-bar-container { display: none; }
    .as-changing-widget { margin-left: 0; margin-bottom: 30px; text-align: center; }
    .mghs-buttons-group { justify-content: center; }
    .as-side-slider-wrapper { width: 100%; }
    .as-side-slider .swiper-slide { width: 150px; }
    .as-side-slider .swiper-slide-active { width: 200px; }
}

/* Asegurar que las flechas reciban clics */
.as-slider-nav { 
    display: flex; 
    gap: 15px; 
    margin-top: 20px; 
    justify-content: flex-end; 
    position: relative; 
    z-index: 50; /* Z-index alto para evitar bloqueos */
    pointer-events: auto; 
}

/* Asegurar que el slider de miniaturas reciba clics */
.as-side-slider-wrapper { 
    width: 45%; 
    position: relative; 
    z-index: 50; /* Z-index alto */
    pointer-events: auto;
}

/* --- ESCUDO ANTI-BLOQUEOS PARA CLICS --- */

/* Aseguramos que el fondo no atrape ningún clic por error */
.as-slider-background, 
.as-slider-background::after {
    pointer-events: none !important;
}

/* Elevamos la zona interactiva por encima de absolutamente todo */
.as-side-slider-wrapper,
.as-slider-nav {
    z-index: 99999 !important;
    pointer-events: auto !important;
}

/* Forzamos que el cursor sea la manito y reciba el clic */
.as-slider-left, 
.as-slider-right, 
.as-side-slider .swiper-slide {
    cursor: pointer !important;
    pointer-events: auto !important;
}