
        body {
            font-family: 'Inter', sans-serif;
            /*background-color: #f8fafc;  Tailwind gray-50 */
            /*color: #006aff; /* Tailwind gray-700 */
        }
        .section-padding {
            padding: 4rem 1rem; /* py-16 px-4 */

        }


         body {
            font-family: 'Inter', sans-serif;
        }
        
        /* Estilos para el efecto de scroll */
        .section-padding {
            padding-top: 5rem;
            padding-bottom: 5rem;
        }

        /* Estilos para la animación de las secciones */
        .fade-in-section {
            opacity: 0;
            transform: translateY(20px);
            transition: opacity 1.5s ease-out, transform 1s ease-out;
        }
        
        .fade-in-section.is-visible {
            opacity: 1;
            transform: translateY(0);
        }

        /* Estilos para el botón "Volver Arriba" */
        #backToTopBtn {
            position: fixed;
            bottom: 20px;
            right: 20px;
            z-index: 99;
            width: 50px;
            height: 50px;
            background-color: #1e40af;
            color: white;
            border: none;
            border-radius: 50%;
            font-size: 24px;
            line-height: 50px;
            text-align: center;
            cursor: pointer;
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
            opacity: 0;
            visibility: hidden;
            transition: opacity 0.3s, visibility 0.3s;
        }

        #backToTopBtn.show {
            opacity: 1;
            visibility: visible;
        }
        
        @media (min-width: 768px) {
            .section-padding {
                padding: 6rem 2rem; /* md:py-24 md:px-8 */
            }
        }
        .container {
            max-width: 1200px;
            margin: 0 auto;
        }

        /* Estilos para la animación de revelado */
        .fade-in-section {
            opacity: 0;
            transform: translateY(20px);
            transition: opacity 0.8s ease-out, transform 0.8s ease-out;
        }

        .fade-in-section.is-visible {
            opacity: 1;
            transform: translateY(0);
        }
        
        /* Estilos de fondo de imagen para la sección de inicio */
        .hero-background {
            background-image: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url('imagenes/portada.png');
            background-size: cover;
            background-position: center;
        }

        /* Estilo para el fondo de la sección de ventajas */
        .ventajas-background {
            background-color: #012268; /* blue-900 */
        }

        .ventajas-background2 {
            background-color: #ffffff; /* blue-900 */
        }
        /* Estilos para los fondos de las tarjetas de ventajas */
        .card-background-1 {
            background-image: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url('imagenes/opcion1.png');
            background-size: cover;
            background-position: center;
            color: white;
        }
        .card-background-2 {
            background-image: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url('imagenes/opcion2.png');
            background-size: cover;
            background-position: center;
            color: white;
        }
        .card-background-3 {
            background-image: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url('imagenes/opcion3.png');
            background-size: cover;
            background-position: center;
            color: white;
        }

        /* Estilos para el botón "Volver Arriba" */
        #backToTopBtn {
            display: none; /* Oculto por defecto */
            position: fixed;
            bottom: 20px;
            right: 20px;
            z-index: 99;
            background-color: #2563eb; /* blue-600 */
            color: white;
            padding: 0.75rem 1rem;
            border-radius: 9999px; /* rounded-full */
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
            transition: background-color 0.3s ease, transform 0.2s ease, opacity 0.3s ease;
            cursor: pointer;
            font-size: 1.5rem; /* Para el icono de flecha */
            line-height: 1;
            text-align: center;
            opacity: 0;
        }

        #backToTopBtn.show {
            opacity: 1;
        }

        #backToTopBtn:hover {
            background-color: #1d4ed8; /* blue-700 */
            transform: translateY(-2px);
        }

        /*
         * Estilos del carrusel
         */
        .carousel-item {
            display: none;
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
        }
        .carousel-item.active {
            display: block;
            z-index: 10;
        }

        .dot {
            height: 10px;
            width: 10px;
            background-color: #d1d5db;
            border-radius: 50%;
            display: inline-block;
            margin: 0 4px;
            cursor: pointer;
            transition: background-color 0.3s ease;
        }
        .dot.active {
            background-color: #2563eb;
        }

        /* Estilos para el texto superpuesto en el carrusel */
        .image-carousel-text {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            display: flex;
            flex-direction: column;
            justify-content: flex-start;
            align-items: center;
            text-align: center;
            color: rgb(255, 255, 255);
            padding: 1rem;
            padding-top: 1rem;
        }
        
        /* Clase para hacer que las imágenes sean cuadradas de forma fiable */
        .square-image-container {
            width: 100%;
            padding-bottom: 100%;
            position: relative;
            overflow: hidden;
        }
        .square-image-container img {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        /* CORRECCIÓN: Ahora el contenedor tiene una altura que se ajusta a la imagen,
           pero con una transición para un efecto fluido */
        .carousel-container {
            transition: height 0.5s ease-in-out;
            position: relative;
        }

        /* AÑADIDO: El carrusel debe tener una altura inicial para evitar un colapso en la primera carga */
        #product-carousel {
            height: 400px;
        }
        .product-title {
            font-size: clamp(1.2rem, 3vw, 1.8rem); /* Tamaño mínimo, tamaño fluido, tamaño máximo */
            font-weight: 700;
            transition: font-size 0.3s ease-in-out; /* Transición para la animación */
        }