/* ===== Ajustes extra para móviles pequeños (REPONSIVE :3)===== */
@media (max-width: 768px) {
    .content {
        flex-direction: column;
        gap: 20px;
    }
    .img-content {
        order: -1;
        min-width: 100%;
        margin-bottom: 20px;
    }
    .main-content {
        min-width: 100%;
    }
    .about-us h2 {
        font-size: 2rem;
    }
    .about-us h3 {
        font-size: 1.5rem;
    }
    .about-us p {
        font-size: 1rem;
    }
    .about-us .stats-container {
        gap: 20px;
    }
    .about-us .stat-item {
        min-width: 120px;
    }
    .services h2 {
        font-size: 2rem;
    }
    .service-item {
        flex-direction: column;
        text-align: center;
        gap: 10px;
    }
    .service-icon {
        margin: 0 auto 10px;
    }
    .section-divider {
        width: 50px;
        height: 3px;
    }
    .btn--left,
    .btn--right {
        width: 40px;
        height: 40px;
        font-size: 1.2rem;
    }
    .contacto {
        padding: 30px 5px;
    }
    .contacto h2 {
        font-size: 2rem;
    }
    .contacto form {
        max-width: 100%;
        padding: 0 5px;
    }
    .contacto input,
    .contacto textarea {
        width: 100%;
        font-size: 0.95rem;
    }
}

@media (max-width: 480px) {
    .main-container,
    .container-content,
    .about-us,
    .services,
    .contacto {
        padding-left: 5px;
        padding-right: 5px;
    }
    h1, .testimonios h2, .about-us h2, .services h2, .contacto h2, .requisitos h2 {
        font-size: 1.9rem !important;
    }
    .requisitos p {
        padding: 0 20px !important;
        text-align: justify !important;
    }

    .requisitos img {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
    }
    .section-divider {
        width: 30px;
        height: 2px;
    }
    .btn--left,
    .btn--right {
        width: 32px;
        height: 32px;
        font-size: 1rem;
    }

}

@media (max-width: 900px) {
    .about-us{
        padding: 0 20px  !important;
        margin: 0 !important;

    }

    #slider-img {
        top: 0 !important;
        margin-top: -50px !important; 
        margin-bottom: -50px !important; 
    }
    .about-us > div[style*="flex: 2 1 600px"] {
        min-height: 140px !important; 
    }
}



@media (max-width: 680px) {
    .hero-premium {
        min-height: 75vh;
        padding: 30px 0;
    }
    
    .hero-content-container {
        padding: 0 2cqw;
    }
    
    .hero-cta-cards {
        flex-direction: column;
        align-items: center;
        gap: 20px;
        margin-top: 35px;
        margin-right: 2px;
        width: calc(100% -10px) ;
    }
    
    .cta-card {
        width: 90%;
        max-width: 350px;
        padding: 25px;
        margin: 0 auto;
    }
    
    .hero-text-wrapper {
        margin-bottom: 30px;
        padding: 0 10px;
    }
    
    .hero-main-title {
        font-size: 2rem;
        line-height: 1.3;
    }
    
    .hero-subheading {
        font-size: 1.1rem;
        line-height: 1.5;
    }
}



/* Responsive adjustments */
@media (max-width: 900px) {
    .about-us-flex {
        flex-direction: column;
        gap: 0;
        margin-top: 0;
        padding: 20px 10px 0;
    }
    .about-us-img-wrapper {
        max-width: none;
        width: calc(100% + 20px);
        margin: 0 -10px;
        aspect-ratio: 1 / 1;
        min-height: 0;
        flex: 1 1 100%;
    }
    .about-us-img-wrapper img {
        object-fit: contain;
    }
    .about-us-history {
        padding: 0;
    }
}

/* Testimonios */
/* Carrusel de testimonios: solo 1 video visible en móvil */
@media (max-width: 600px) {
    .testimonials-carousel-wrapper {
        gap: 0 !important;
        padding: 0 0px;
        max-width: 100vw;
        position: relative;
        justify-content: center;
        align-items: center;
        min-height: 320px;
    }
    .testimonials-carousel {
        overflow-x: hidden !important;
        scroll-snap-type: x mandatory;
        display: flex;
        flex-wrap: nowrap;
        gap: 0;
        width: 100vw;
    }
    .testimonial-item {
        min-width: 100vw !important;
        max-width: 100vw !important;
        scroll-snap-align: center;
        margin: 0;
        border-radius: 0;
        box-shadow: none;
    }
    .testimonial-media {
        padding-top: 56.25%; /* 16:9 ratio */
    }
    /* Dots y flechas en fila */
    .testimonial-controls {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 12px;
        margin-top: 12px;
        width: 100%;
    }
    .testimonial-nav {
        display: flex;
        align-items: center;
        gap: 8px;
        order: 1;
    }
    .testimonial-dots {
        display: flex;
        gap: 8px;
        align-items: center;
        justify-content: center;
        order: 1;
    }
    .nav-arrow {
        position: static;
        transform: none;
        z-index: 1;
        background: #fff;
        color: #314e91;
        border: 2px solid #e0e5ed;
        width: 40px !important;
        height: 40px !important;
        font-size: 1.2rem;
        margin: 0 4px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .prev-arrow {
        order: 0;
    }
    .next-arrow {
        order: 2;
    }
    /* Agrupa flechas y dots juntos */
    .testimonial-nav {
        flex-direction: row;
    }
    .testimonial-nav .prev-arrow,
    .testimonial-nav .next-arrow,
    .testimonial-nav .testimonial-dots {
        display: flex;
        align-items: center;
    }
    /* Quitar los <p> dentro de testimonios en móvil */
    .testimonial-item p {
        display: none !important;
    }
    /* Quitar testimonial-content en móvil */
    .testimonial-content {
        display: none !important;
    }
}

/* ======================== Nuestra historia ======================== */
@media (max-width: 900px) {
    .about-us-flex {
        flex-direction: column;
        gap: 0;
        margin-top: 0;
        padding: 20px 0 0;
    }
    .about-us-img-wrapper {
        position: relative;
        width: 100vw;
        max-width: none;
        height: 100vw;
        min-height: 0;
        flex: 0 0 auto;
        margin: 0 calc(50% - 50vw);
        aspect-ratio: auto;
    }
    .about-us-img-wrapper img {
        object-fit: contain;
        top:5px;
    }
    .about-us-history {
        padding: 0;
    }
    .about-us-history p {
        margin-bottom: 0;
    }
}