body {
            background-color: #ffffff;
            color: #ffffff;
            font-family: 'Inter', sans-serif;
            margin: 0;
            padding: 0;
            overflow-x: hidden; /* Evita el scroll horizontal */
        }
        
        /* Contenedor del encabezado */
        .header {
            width: 100%;
            height: 80px;
            background-color: hsla(0, 0%, 0%, 0); 
            position: fixed;
            top: 0;
            left: 0;
            z-index: 10;
            display: flex;
            justify-content: center;
            align-items: center;
            transition: background-color 0.5s ease;
        }

        .header:hover {
            background-color: #E2E2E2;
            transition: background-color 0.5s ease;
        }

        .header-content {
            width: 100%;
            max-width: 1920px;
            padding: 0 20px;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .header-logo {
            transition: transform 0.3s ease-in-out;
            cursor: pointer;
        }

        .header-logo:hover {
            transform: scale(1.1);
        }

        .logoimg { 
            width: 150px;
        }

        .header-nav, .header-icons {
            opacity: 1;
            visibility: visible;
            transition: opacity 0.5s ease-in-out, visibility 0.5s ease-in-out;
        }

        /* Ensure horizontal alignment for the main navigation items */
        .header-nav .nav-list {
            display: flex;
            list-style: none;
            padding: 0;
            margin: 0;
            align-items: center;
        }
        
        .header-nav .nav-item {
            position: relative;
            margin: 0 15px;
        }

        .header-nav .nav-item > a {
            color: #ffffff;
            text-decoration: none;
            font-family: 'Helvetica', sans-serif;
            text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8);
            font-size: 0.9rem;
            font-weight: 500;
            letter-spacing: 1px;
            cursor: pointer;
            transition: color 0.3s ease-in-out, transform 0.3s ease-in-out;
        }

        .header-nav .nav-item > a:hover {
            color: #000000;
            text-shadow: none;
            transform: scale(1.1);
        }

        .dropdown-menu {
            display: none;
            position: absolute;
            top: 100%;
            left: 50%;
            transform: translateX(-50%);
            background-color: #E2E2E2;
            padding: 10px;
            /* Removed border-radius for square corners */
            z-index: 20;
            border-radius: 0%;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);

        }

        .nav-item:hover .dropdown-menu {
            display: block;
        }

        .dropdown-menu a {
            color: #707070;
            padding: 5px 10px;
            text-decoration: none;
            display: block;
            /* Set font to Helvetica */
            font-family: 'Helvetica', sans-serif;
            transition: color 0.3s ease, background-color 0.3s ease;
        }

        .dropdown-menu a:hover {
            background-color: #d8d8d8;
            color: black;
        }
        
        .header-icons .icon {
            color: #ffffff;
            margin-left: 20px;
            font-size: 1.1rem;
            cursor: pointer;
            transition: color 0.3s ease-in-out, transform 0.3s ease-in-out;
        }

        .header-icons .icon:hover {
            color: #212121;
            transform: scale(1.1);
        }

        
          /* --- Layout Principal con Filtro --- */
        .store-layout {
            display: flex;
            flex-direction: row; /* Contenido y filtro en la misma fila */
            padding-top: 80px; /* Espacio para el header fijo */
            min-height: 100%;
            width: 100%;
        }
        
        .product-gallery-container {
            flex-grow: 1; /* Ocupa el espacio restante */
            transition: margin-right 0.4s ease-in-out; /* Animación para el ajuste de contenido */
            padding: 20px 40px;
            max-width: 100%; /* Asegura que no se desborde inicialmente */
        }
        
        .filter-open .product-gallery-container {
            margin-right: 150px; /* Reduce el ancho del contenido cuando el filtro está abierto */
            /* En pantallas grandes (>=992px), restamos el ancho del filtro */
            width: calc(100% - 150px);
        }
        
        /* Contenedor de la Galería (el que contiene los rows de productos) */
        .gallery-wrap {
            padding: 0 50px;
        }

        /* --- Panel de Filtro Lateral --- */
        .filter-sidebar {
            width: 200px; /* Ancho fijo solicitado */
            background-color: #f7f7f7; /* Un color ligeramente diferente para distinguirlo */
            position: fixed;
            top: 0;
            right: 0;
            height: 100%;
            padding: 80px 10px 20px 10px; /* Padding top para no superponerse al header */
            box-shadow: -2px 0 10px rgba(0, 0, 0, 0.1);
            transform: translateX(100%); /* Oculto por defecto */
            transition: transform 0.4s ease-in-out; /* Animación de despliegue */
            z-index: 999;
            overflow-y: auto;
            border-left: 1px solid #ddd;
        }

        .filter-sidebar.active {
            transform: translateX(0); /* Muestra el panel */
        }

        /* --- Botón de Filtro --- */
        #filterToggleButton {
            position: fixed;
            right: 0;
            top: 93%;
            transform: translateY(-50%);
            z-index: 1001;
            background-color: black;
            color: white;
            border: none;
            padding: 15px;
            cursor: pointer;
            border-radius: 5px 0 0 5px;
            display: flex;
            align-items: center;
            font-weight: bold;
            font-size: 0.9rem;
            box-shadow: 0 2px 10px rgba(0,0,0,0.2);
            transition: right 0.4s ease-in-out;
        }

        #filterToggleButton .fa-filter {
            margin-right: 5px;
        }

        .filter-open #filterToggleButton {
            /* Cuando el filtro está abierto, el botón debe moverse para no quedar oculto */
            right: 150px; 
            border-radius: 0 5px 5px 0;
        }

        /* Estilos dentro del Filtro */
        .filter-group {
            margin-bottom: 20px;
            border-bottom: 1px solid #ddd;
            padding-bottom: 15px;
        }
        
        .filter-group:last-child {
            border-bottom: none;
        }

        .filter-group h6 {
            font-size: 0.9rem;
            font-weight: bold;
            margin-bottom: 10px;
            color: #333;
        }

        .filter-option label {
            display: block;
            font-size: 0.85rem;
            color: #555;
            cursor: pointer;
            margin-bottom: 5px;
        }

        /* Estilos de los Productos */
        .product-card {
            transition: box-shadow 0.3s;
            cursor: pointer;
        }

        .product-card:hover {
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
        }

        .image-container {
            background-color: none;
        }

        .product-col {
            padding-left: 10px;
            padding-right: 10px;
        }

        .badge.sale-badge {
            background-color: rgb(255, 255, 255);
        }
        
        .card-body {
            background-color: transparent !important;
        }

        .card {
            background-color: transparent;
            border-radius: 0; 
        }

        .content-padding {
            padding-top: 100px; /* Ajuste para el header */
        }

        .row{ 
            margin-left: -15px; /* Ajuste de Bootstrap row margin */
            margin-right: -15px; /* Ajuste de Bootstrap row margin */
        }
        
        /* Media Queries para responsividad */
        @media (max-width: 991px) {
            /* En móvil, el filtro no desplaza el contenido, solo se superpone */
            .filter-sidebar {
                width: 100%; 
                max-width: 250px;
                padding-top: 60px;
            }
            .filter-open .product-gallery-container {
                margin-right: 0;
                width: 100%;
            }
            #filterToggleButton.filter-active {
                 right: 250px;
            }
        }
        
        /* Estilos de fondo (manteniéndolos) */
        .background-text-container {
            position: fixed;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            z-index: -1;
            display: flex;
            justify-content: center;
            align-items: center;
            width: 100%;
            height: 100%;
            pointer-events: none;
        }
        
        .background-text {
            font-size: 12rem;
            color: rgb(71, 71, 71);
            white-space: nowrap;
            margin: 0 1rem;
        }

        #rawStyle{
            color: #f7f7f7;
            margin-top: 6rem;
            font-size: 6rem;
        }

        #realPresence{
            color: #f7f7f7;
            margin-top: 40px;
            font-size: 10rem;
        }

        /* Ocultar el texto de fondo en pantallas pequeñas */
        @media (max-width: 768px) {
            .background-text-container {
                display: none;
            }
        }
        
        .footer {
            width: 100%;
            max-width: 1920px; /* Ancho máximo para el footer */
            min-height: 300px; /* Altura mínima para el footer, ajustada a tu solicitud */
            background-color: #E2E2E2;
            color: #707070;
            font-family: 'Helvetica', sans-serif;
            padding: 50px 20px;
            margin: 0 auto; /* Centrar el footer */
            display: flex;
            justify-content: space-around;
            align-items: flex-start;
            flex-wrap: wrap; /* Permite que las columnas se envuelvan en pantallas pequeñas */
        }

        .footer-column {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            margin-bottom: 20px; /* Espacio entre columnas en pantallas pequeñas */
        }

        .footer-column h4 {
            font-weight: bold;
            color: #707070;
            margin-bottom: 20px;
            text-transform: uppercase;
        }

        .footer-column a, .footer-column p {
            color: #707070;
            text-decoration: none;
            margin-bottom: 10px;
            font-size: 0.9rem;
        }

        .footer-column a:hover {
            text-decoration: underline;
        }

        .footer-social-icons .icon {
            font-size: 1.2rem;
            color: #707070;
            margin-right: 15px;
        }

        .footer-middle-content {
            display: flex;
            flex-direction: column;
            justify-content: flex-start;
            height: 100%;
        }

        .footer-middle-content p {
            margin: 0;
        }

        /* Se ha eliminado margin-top: auto; para que el texto de copyright no baje tanto */
        .footer-middle-content .copyright { /* Se ha ajustado el margen superior para un mejor equilibrio */
            font-size: 0.8rem;
            align-self: flex-start; /* Alinea el texto a la izquierda */
        }

        .footer-newsletter-form {
            display: flex;
            flex-direction: column;
            width: 100%;
            max-width: 300px;
            margin-top: 10px;
        }

        .footer-newsletter-form input {
            padding: 10px;
            border: 1px solid #707070;
            background-color: transparent;
            color: #707070;
            margin-bottom: 10px;
        }

        .footer-newsletter-form input::placeholder {
            color: #999;
        }

        .footer-newsletter-form button {
            padding: 10px;
            border: 1px solid #707070;
            background-color: transparent;
            color: #707070;
            font-weight: bold;
            cursor: pointer;
            transition: background-color 0.3s, color 0.3s;
        }

        .footer-newsletter-form button:hover {
            background-color: #707070;
            color: #E2E2E2;
        }