/* 1. VARIABLES (Se mantienen tus colores suave/derecha a izquierda) */
:root {
    --color-primario: #ffffff; 
    --color-secundario: #00A859;
    --color-secundario-claro: #48c9b0;
    --color-naranja: #ff8800;
    --color-naranja-claro: #ffb347;
    --azul-ejido: #005599;
}

/* 2. CONTENEDOR PRINCIPAL */
.mySwiper {
    width: 100% !important;
    max-width: 100% !important;
    height: 200px !important; /* Altura fija */
    border-radius: 12px;
    margin: 0 auto !important;
    overflow: hidden;
    box-sizing: border-box;
}

/* 3. FORZAR ALTO AL WRAPPER (Esto suele ser el culpable) */
.swiper-wrapper {
    height: 100% !important;
    display: flex !important;
    align-items: stretch !important; /* Estira los slides al alto total */
}

/* 4. CENTRADO VERTICAL ABSOLUTO DEL SLIDE */
.swiper-slide {
    height: 100% !important; /* Obligatorio para centrar respecto al padre */
    display: flex !important;
    flex-direction: column !important; /* Permite usar justify-content para el eje vertical */
    justify-content: center !important; /* CENTRA VERTICALMENTE TODO EL CONTENIDO */
    align-items: flex-start !important; /* Mantiene el contenido a la izquierda horizontalmente */
    color: white;
    padding: 0 80px;
    box-sizing: border-box;
}

.slide-content {
    display: flex !important;
    align-items: center !important; /* Centra el icono con el texto entre sí */
    width: 100%;
    max-width: 900px;
    gap: 30px;
}

/* 4. ICONOS */
.icon-container {
    flex: 0 0 80px; 
    display: flex;
    justify-content: center;
    align-items: center;
}

.icon-container i {
    font-size: 3rem; /* Tamaño ajustado para 200px de altura */
}

/* 5. TEXTOS */
.text-container {
    flex: 0 1 auto; /* No crece más de lo necesario para mantenerse centrado */
    min-width: 0;
}

.text-container h2 {
    font-size: 1.4rem;
    margin: 0 0 5px 0;
    font-weight: 700;
}

.text-container p {
    font-size: 0.9rem;
    line-height: 1.2;
    margin: 0 0 10px 0;
}

/* 6. GRADIENTES (Débiles y derecha a izquierda) */
.slide-gradient-blue { 
    background: #155E75 !important; 
    border: 1px solid #eee;
}

.slide-gradient-orange { 
    background: linear-gradient(to left, var(--color-naranja) 0%, var(--color-naranja-claro) 100%) !important; 
}

.slide-gradient-green { 
    background: linear-gradient(to left, var(--color-secundario) 0%, var(--color-secundario-claro) 100%) !important; 
}

/* 7. BOTONES */
.btn-slide {
    display: inline-block;
    padding: 6px 16px;
    background: white;
    color: #333;
    text-decoration: none !important;
    border-radius: 4px;
    font-weight: bold;
    font-size: 0.8rem;
}

.slide-gradient-blue .btn-slide {
    background: var(--azul-ejido);
    color: white;
}

@media (max-width: 768px) {
    /* 1. Subimos ligeramente la altura para que el texto respire */
    .mySwiper { 
        height: 180px !important; 
    }

    /* 2. Reducimos el padding lateral para ganar ancho de pantalla */
    .swiper-slide { 
        padding: 0 15px !important; 
        justify-content: center !important;
    }

    /* 3. El contenido debe ocupar todo el ancho disponible */
    .slide-content {
        gap: 12px !important;
        max-width: 100% !important;
        align-items: center !important;
    }

    /* 4. El icono debe ser mucho más pequeño para no empujar el texto fuera */
    .icon-container { 
        flex: 0 0 50px !important; /* Ancho fijo pequeño */
        height: 50px !important;
        padding: 5px !important;
    }

    .icon-container i { 
        font-size: 1.5rem !important; 
    }

    /* 5. Aseguramos que el contenedor de texto no se desborde */
    .text-container {
        flex: 1 !important;
        min-width: 0 !important; /* Truco de Flexbox para que el texto no empuje */
    }

    .text-container h2 { 
        font-size: 1rem !important; 
        margin-bottom: 4px !important;
        white-space: normal !important; /* Permite que el título salte de línea si es largo */
        line-height: 1.2 !important;
    }

    /* 6. Si el texto "p" sigue desapareciendo, lo limitamos a 2 líneas en lugar de borrarlo */
    .text-container p { 
        display: -webkit-box !important;
        -webkit-line-clamp: 2; /* Máximo 2 líneas */
        -webkit-box-orient: vertical;
        overflow: hidden;
        font-size: 0.8rem !important; 
        line-height: 1.1 !important;
        margin: 0 !important;
        opacity: 0.9 !important;
    }

    /* 7. Botón más pequeño para que no empuje el contenido hacia arriba */
    .button-group {
        margin-top: 8px !important;
    }

    .btn-slide {
        padding: 4px 10px !important;
        font-size: 0.75rem !important;
    }
}

/* Ajuste para pantallas muy pequeñas (iPhone SE, etc) */
@media (max-width: 380px) {
    .text-container p {
        display: none !important; /* En pantallas minúsculas sí ocultamos el párrafo */
    }
    .mySwiper {
        height: 140px !important;
    }
}