@charset "utf-8";
    /* Tema de colores naranja, blanco y negro con navbar y footer naranja, activo verde */
        :root {
            --primary-color: #ff8c00; /* Naranja */
            --secondary-color: #434343; /* Negro */
            --light-color: #ffffff; /* Blanco */
            --active-link-color: #9ac137; /* Verde */
            --fondo1-color:#bbc64c;
            --clic-color: #d8ffff; /* Blanco */
        }

        body {
            font-family: 'Lato', sans-serif;
            font-style: normal;
            color: var(--secondary-color);
            background-color: var(--fondo1-color);
        }
        

        .navbar {
            background-color: var(--primary-color) !important;
        }
        /* 1. Estilos base para el botón y eliminación de bordes/sombras */
        .navbar-toggler {
            border: none; /* Elimina el borde por defecto */
            padding: 0.25rem 0.5rem; /* Ajusta el padding si es necesario */
        }

        .navbar-toggler:focus {
             box-shadow: none; /* Elimina la sombra azul al hacer clic */
        }

/* 2. Contenedor de nuestro ícono personalizado */
        .toggler-icon {
           width: 30px;
           height: 22px;
           position: relative;
           margin: 0 auto;
           transform: rotate(0deg);
           transition: .5s ease-in-out;
           cursor: pointer;
        }

/* 3. Estilo de las 3 líneas (los spans) - ESTADO POR DEFECTO (HAMBURGUESA) */
        .toggler-icon span {
           display: block;
           position: absolute;
           height: 3px; /* Grosor de la línea */
           width: 100%;
           background: #ffffff; /* Color de las líneas (blanco para navbar-dark) */
           border-radius: 9px;
           opacity: 1;
           left: 0;
           transform: rotate(0deg);
           transition: .25s ease-in-out;
        }

/* Posición inicial de cada línea (estado hamburguesa) */
.toggler-icon span:nth-child(1) {
    top: 0px;
}

.toggler-icon span:nth-child(2) {
    top: 9px; /* Espacio entre la primera y la segunda línea */
}

.toggler-icon span:nth-child(3) {
    top: 18px; /* Espacio para la tercera línea */
}

/* 4. Animación al estado "X" */
/* Esta regla se aplica CUANDO el menú está ABIERTO. */
/* Bootstrap REMUEVE la clase `.collapsed` cuando el menú se abre. */
/* Alternativamente, podrías usar .navbar-toggler[aria-expanded="true"] */

.navbar-toggler:not(.collapsed) .toggler-icon span:nth-child(1) {
    top: 9px;
    transform: rotate(135deg);
}

.navbar-toggler:not(.collapsed) .toggler-icon span:nth-child(2) {
    opacity: 0;
    left: -60px; /* Asegura que la segunda línea desaparezca completamente */
}

.navbar-toggler:not(.collapsed) .toggler-icon span:nth-child(3) {
    top: 9px;
    transform: rotate(-135deg);
}
        .producto {
            background-color: var(--light-color);
        }

        .navbar-brand {
            color: var(--light-color) !important;
            z-index: 1;
        }

        .navbar-nav .nav-link {
            color: var(--light-color) !important;
        }

        .navbar-nav .nav-link:hover {
            color: var(--clic-color) !important;
            opacity: 0.8; /* Ligeramente más oscuro al pasar el mouse */
        }

        .active1 {
            background-color: var(--active-link-color) !important;
            font-weight: bold; /* Opcional: hacer el enlace activo más resaltado */
            border-radius: 0.75rem;
        }

        .dropdown-menu {
            background-color: var(--primary-color);
            border: 1px solid rgba(232, 219, 219, 0.15);
        }

        .dropdown-item {
            color: var(--light-color);
        }

        .dropdown-item:hover {
            background-color: #e9ecef; /* Un gris claro al pasar el mouse */
            color: var(--secondary-color);
        }

        .legend-section {
            background-color: var(--light-color);
            padding: 20px 0;
            text-align: center;
            color:#434343;
            font-family: 'Inter', sans-serif;
        }
          .noticia {
            background-color: var(--clic-color);
            padding: 20px 20;
            text-align: justify;
            color: var(--secondary-color);
        }

        .btn-primary {
            background-color: var(--primary-color) !important;
            border-color: var(--primary-color) !important;
        }

        .btn-primary:hover {
            background-color: #e67e00 !important; /* Un tono más oscuro de naranja al pasar el mouse */
            border-color: #e67e00 !important;
        }

        .product-grid {
            margin-top: 20px;
        }

        .product-item {
            margin-bottom: 20px;
            border: 1px solid #ddd;
            border-radius: 5px;
            padding: 10px;
            text-align: center;
        }

        .product-item img {
            max-width: 100%;
            height: auto;
            margin-bottom: 10px;
        }

        .stats-section {
            background-color: var(--light-color);
            padding: 40px 0;
            text-align: center;
        }

        .stats-animation {
            display: flex;
            justify-content: center;
            gap: 30px;
            margin-top: 20px;
        }

        .stat-item {
            font-size: 1.8em;
            font-weight: bold;
        }

        .stat-number {
            display: inline-block;
        }

        .footer {
            background-color: var(--primary-color); /* Footer ahora es naranja */
            color: var(--light-color);
            padding: 30px 0;
        }

        .footer a {
            color: var(--light-color);
            text-decoration: none;
        }

        .footer a:hover {
            color: var(--secondary-color); /* Cambia a negro al pasar el mouse */
        }

        .footer-column {
            padding: 20px;
        }

        .footer-logo img {
            height: 50px; /* Ajusta la altura del logo en el footer */
            margin-bottom: 10px;
        }

        .footer-links ul {
            list-style: none;
            padding: 0;
            margin: 0;
        }

        .footer-links li {
            margin-bottom: 5px;
        }

        .footer-contact p {
            margin-bottom: 5px;
        }

        .social-icons a {
            font-size: 30px;
            margin: 0 10px;
        }

        .whatsapp-link {
            font-size: 24px;
            margin: 0 10px;
            color: #25D366; /* Color verde de WhatsApp */
        }
        .footer-links a {
            font-size: 11px;
            margin: 0 1px;
            font-weight: bold;
        }
        .footer-links p {
            font-size: 15px;
            font-weight: bold;
        }
        .footer-contact {
            font-size: 14px;            
        }
        
        /* Estilos para la cuadrícula de productos en diferentes dispositivos */
        @media (min-width: 992px) { /* Escritorio (lg) y superiores */
            .product-grid .col-lg-4 { /* 12 / 3 = 4 columnas para 3 imágenes por fila */
                width: 33.333333%;
            }
        }

        @media (max-width: 767px) { /* Móvil (hasta sm) */
            .product-grid .col-sm-6 { /* 12 / 2 = 6 columnas para 2 imágenes por fila */
                width: 50%;
            }
        }
        @media (max-width: 991.98px) {
             .navbar-nav .nav-item {
             margin-bottom: 10px; /* Espacio entre todos los elementos */
            }

             .navbar-nav .nav-item:first-child {
             margin-top: 20px; /* Ajusta este valor para bajar el primer enlace */
            }
        }
/*CARRUSEL*/
     #heroCarousel {
            min-height: auto; /* Altura mínima para asegurar visibilidad de la sección hero */
            overflow: hidden; /* Evita desbordamientos de contenido */
        }

        #heroCarousel .carousel-inner {
            /* La altura será determinada por el contenido de la imagen */
            height: auto;
        }

        #heroCarousel .carousel-item {
            /* La altura será determinada por el contenido de la imagen */
            height: auto;
            background-color: #000; /* Fondo de respaldo si las imágenes no cargan */
            position: relative; /* Asegura que los captions se posicionen con respecto a este */
        }

        /* Ajuste de imágenes dentro del Picture para mostrar la imagen completa */
        #heroCarousel .carousel-item picture,
        #heroCarousel .carousel-item picture img {
            width: 100%; /* Asegura que la imagen y el picture ocupen el 100% del ancho del item */
            height: auto; /* Permite que la altura se adapte a la relación de aspecto de la imagen */
            object-fit: contain; /* Muestra la imagen completa sin recortar, pudiendo dejar espacio vacío */
            
        }

        /* --- Personalización de los Captions --- */

        /* Estilos base para todos los captions, anulan los valores por defecto de Bootstrap */
        .carousel-caption {
            position: absolute; /* Esencial para el posicionamiento personalizado */
            left: 0;
            right: 0;
            bottom: auto; /* Anula el 'bottom' por defecto de Bootstrap */
            top: auto; /* Anula el 'top' por defecto de Bootstrap */
            padding: 1.5rem; /* Padding base para el contenido del caption */
            color: #fff; /* Color de texto por defecto */
            text-shadow: 0 0 8px rgba(0, 0, 0, 0.7); /* Sombra para mejor legibilidad */
            background: linear-gradient(to top, rgba(0, 0, 0, 0.2), transparent); /* Gradiente sutil en móvil */
            border-radius: 0.75rem; /* Bordes redondeados */
            margin: 1rem; /* Margen general para no pegar a los bordes */
        }

        .carousel-caption h5 {
            font-weight: 650;
            margin-bottom: 0.5rem;
        }

        .carousel-caption p {
            font-weight: 400;
            margin-bottom: 1rem;
        }

        .carousel-caption .btn {
            font-weight: 500;
            padding: 0.75rem 1.5rem;
            border-radius: 0.5rem;
            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
            transition: all 0.3s ease;
        }

        .carousel-caption .btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 15px rgba(0, 0, 0, 0.4);
        }

        /* --- MEDIA QUERIES PARA POSICIONAMIENTO ESPECÍFICO --- */

        /* Desktop (Pantallas >= 992px - breakpoint 'lg') */
        @media (min-width: 992px) {
            .carousel-caption {
                background: none; /* Sin fondo en desktop */
                text-align: left;
                padding: 0; /* No padding adicional si el texto es posicionado con left/top */
                text-shadow: 0 0 10px rgba(0, 0, 0, 0.6);
            }

            /* Primer caption: Arriba a la izquierda */
            .caption-slide-1 {
                top: 20%;
                left: 8%;
                width: 40%; /* Ancho del bloque de texto */
            }
            .caption-slide-1 h5 { font-size: 3.3rem; color: #e67e00;}
            .caption-slide-1 p { font-size: 1.3rem; }

            /* Segundo caption: Abajo a la derecha */
            .caption-slide-2 {
                top: 20%;
                bottom: 20%;
                right: 20%;
                width: 35%;
                left: 8%;
                text-align: left;
            }
            .caption-slide-2 h5 { font-size: 3rem; }
            .caption-slide-2 p { font-size: 1.15rem; }

            /* Tercer caption: Centrado horizontalmente, ligeramente abajo */
            .caption-slide-3 {
                top: 20%;
                bottom: 20%;
                right: 20%;
                width: 35%;
                left: 8%;
                text-align: left;
            }
            .caption-slide-3 h5 { font-size: 3.2rem; }
            .caption-slide-3 p { font-size: 1.25rem; }
        }

        /* Tablet (Pantallas >= 768px y < 992px - breakpoint 'md') */
        @media (min-width: 768px) and (max-width: 991.98px) {
            /* La altura del carrusel se adapta automáticamente a la imagen */
            .carousel-caption {
                background: linear-gradient(to top, rgba(0, 0, 0, 0.4), transparent);
                text-align: center;
                padding: 1rem;
            }

            /* Primer caption: Arriba centrado */
            .caption-slide-1 {
                top: 50%;
                left: 50%;
                transform: translateX(-50%);
                width: 80%;
            }
            .caption-slide-1 h5 { font-size: 2.1rem; color: #e67e00;}
            .caption-slide-1 p { font-size: 1.1rem; }

            /* Segundo caption: Abajo centrado */
            .caption-slide-2 {
                top: 60%;
                left: 50%;
                transform: translateX(-50%);
                width: 90%;
            }
            .caption-slide-2 h5 { font-size: 2.1rem; }
            .caption-slide-2 p { font-size: 1rem; }

            /* Tercer caption: Ligeramente arriba y centrado */
            .caption-slide-3 {
                top: 60%;
                left: 50%;
                transform: translate(-50%);
                width: 90%;
            }
            .caption-slide-3 h5 { font-size: 2.1rem; }
            .caption-slide-3 p { font-size: 1.05rem; }
        }

        /* Móvil (Pantallas < 768px - breakpoints 'sm' y 'xs') */
        @media (max-width: 767.98px) {
            /* La altura del carrusel se adapta automáticamente a la imagen */
            .carousel-caption {
                background: rgba(0, 0, 0, 0.6); /* Fondo más opaco para mejor legibilidad */
                padding: 1rem;
                width: 70%;
                margin: 0 auto; /* Centrado horizontal */
                left: 50%;
                transform: translateX(-50%); /* Asegura centrado para left/right 0 */
                text-align: center;
            }

            .carousel-caption p {
                /* Ocultar descripciones largas en móvil para mantener la simplicidad */
                display: none;
            }

            /* Primer caption: Centrado y ligeramente arriba */
            .caption-slide-1 {
                top: 60%;
            }
            .caption-slide-1 h5 { font-size: 1.3rem; }

            /* Segundo caption: En la parte inferior */
            .caption-slide-2 {
                top: 60%;
            }
            .caption-slide-2 h5 { font-size: 1.3rem; }

            /* Tercer caption: Centrado verticalmente */
            .caption-slide-3 {
                top: 60%;

            }
            .caption-slide-3 h5 { font-size: 1.3rem; }
        }
         