/* -------------------------------------- */
/* Sección Principal */
/* -------------------------------------- */
.mantenimientos-qr-section {
    background-color: white; 
    padding: 100px 5%;
    position: relative; /* Importante para la curva de fondo si deseas añadirla aquí */
}

.qr-content-wrapper {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    gap: 40px;
    align-items: center;
    position: relative;
}

/* Curva de Fondo a la Izquierda (Asegúrate de tener la ruta correcta) */
.mantenimientos-qr-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: -20%; /* Ajusta para que solo se vea la parte del borde */
    height: 100%;
    width: 600px;
    /* Esto simula la curva, pero es mejor usar una imagen PNG con transparencia */
    /* Si usas la imagen, puedes usar un pseudo-elemento con background-image o usar una etiqueta <img> */
    /* Si usas la imagen: */
    /* background: url('img/curva-fondo.png') no-repeat center center;
    background-size: contain; */
    z-index: 1; 
}


/* -------------------------------------- */
/* Bloque Izquierdo: Texto */
/* -------------------------------------- */
.qr-text-content {
    flex: 1;
    max-width: 45%;
    z-index: 5;
    text-align: left;
}

.qr-text-content h1 {
    font-size: 44px;
    font-weight: bold;
    line-height: 1.1;
    margin-bottom: 20px;
    color: #0E1524;  
    font-family: Helvetica, sans-serif;

}

.qr-text-content h3 {
    display: block !important;
    width: fit-content !important;
    margin: 0 auto !important;
    font-size: 1.4em;
    color: #0E1524;
    padding: 0 !important; 
    font-weight: normal;
    line-height: 1.5;
    word-wrap: break-word;
    white-space: normal;
  

}

/* -------------------------------------- */
/* Bloque Derecho: Carrusel y Teléfono */
/* -------------------------------------- */
.qr-visual-content {
    flex: 1;
    position: relative; 
    height: 350px; /* Altura para el carrusel */
    overflow: hidden; /* Oculta las imágenes que salen de la vista */
    padding-left: 20px; /* Espacio para que el carrusel no se pegue al texto */
    z-index: 2;
}

/* Contenedor de las imágenes del Carrusel */
.image-carousel-qr {
    display: flex;
    position: absolute;
    bottom: 0; /* Lo mantiene en la parte inferior del contenedor visual */
    left: 0;
    /* La suma del ancho de todas las imágenes + gap */
    width: 2000px; 
    animation: slide-images 30s linear infinite; /* Aplica la animación */
}

.image-carousel-qr img {
    width: 250px; 
    height: 250px;
    object-fit: cover;
    border-radius: 8px;
    margin-right: 20px; /* Simula el gap */
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    flex-shrink: 0; 
}

/* Animación de movimiento horizontal del carrusel */
@keyframes slide-images {
    0% { transform: translateX(0); }
    100% { transform: translateX(-30%); } /* Mueve la mitad del carrusel */
}


/* Teléfono Mockup (Superpuesto en el centro-derecha) */
.mobile-mockup-qr {
    position: absolute;
    top: 50%;
    right: 20%; 
    transform: translate(50%, -50%); /* Centrado vertical y ajustado a la derecha */
    width: 350px; /* Controla el tamaño del mock-up */
    height: auto;
    z-index: 10;
    border-radius: 30px; /* Para simular el borde del teléfono */
    overflow: hidden;
}

.mobile-mockup-qr .phone-image {
    width: 100%;
    height: auto;
    display: block;
}

/* RESPONSIVO EL CODIGO */

/* ==================================================== */
/* MEDIA QUERIES PARA SECCIÓN MANTENIMIENTOS QR (CARRUSEL) */
/* ==================================================== */

/* Dispositivos Grandes (Tablets, hasta 1024px) */
@media (max-width: 1024px) {
    .qr-text-content {
        max-width: 50%; /* Permite que el texto ocupe un poco más */
    }
    .qr-text-content h1 {
        font-size: 36px;
    }
    .qr-text-content h3 {
        font-size: 1.2em;
    }
    
    .mobile-mockup-qr {
        width: 300px; /* Reduce ligeramente el tamaño del teléfono */
    }
}


/* Dispositivos Móviles (Móviles y Tablets Pequeñas, hasta 768px) */
@media (max-width: 768px) {
    .mantenimientos-qr-section {
        padding: 50px 5%; /* Reduce el padding vertical */
        overflow: visible; /* CRUCIAL: permite que el teléfono sobresalga un poco si es necesario */
    }

    .qr-content-wrapper {
        flex-direction: column; /* Apila el texto y el carrusel/teléfono */
        gap: 30px;
    }
    
    /* 1. Bloque de Texto */
    .qr-text-content {
        max-width: 100%; /* Ocupa todo el ancho */
        text-align: center; /* Centra el texto */
        order: 2; /* Mueve el texto debajo de la imagen */
    }

    .qr-text-content h1 {
        font-size: 32px;
        margin-bottom: 10px;
    }
    
    .qr-text-content h3 {
        font-size: 1em;
    }

    /* 2. Bloque Visual (Carrusel y Teléfono) */
    .qr-visual-content {
        order: 1; /* Mueve el visual arriba del texto */
        padding-left: 0;
        height: 300px; /* Altura manejable */
        width: 100%;
        max-width: 450px; /* Limita el ancho del carrusel */
        margin: 0 auto;
    }
    
    .image-carousel-qr img {
        width: 150px; /* Reduce el tamaño de las miniaturas del carrusel */
        height: 150px;
        margin-right: 10px;
    }

    /* 3. Teléfono Mockup */
    .mobile-mockup-qr {
        /* Reajuste de posición para centrarlo sobre el carrusel en el centro de la pantalla */
        position: absolute; /* Mantenemos absoluto respecto a .mantenimientos-qr-section si se movió globalmente */
        top: 50%;
        left: 50%; 
        right: auto; /* Anulamos la propiedad 'right' */
        transform: translate(-50%, -50%); /* Centra el elemento en X y Y */
        width: 250px; /* Reduce drásticamente el tamaño del teléfono */
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
    }
}


/* Móviles Pequeños (Hasta 480px) */
@media (max-width: 480px) {
    
    .qr-text-content h1 {
        font-size: 28px;
    }
    
    .qr-visual-content {
        height: 250px; /* Reduce aún más la altura del carrusel */
        width: 95%;
    }
    
    .image-carousel-qr img {
        width: 120px;
        height: 120px;
    }

    .mobile-mockup-qr {
        width: 200px; /* Tamaño mínimo del teléfono */
    }
}