/* * 1. ESTILOS GLOBALES Y COMPENSACIÓN DE FIJACIÓN */
body {
    margin: 0;
    font-family: Arial, sans-serif;
    /* CLAVE: Compensación para el encabezado fijo. 30px (anuncio) + 70px (nav) = 100px. */
    padding-top: 100px;
}

/* * 2. BARRA DE ANUNCIO SUPERIOR (MORADA) */
.top-anuncio-bar {
    display: flex;
    justify-content: center;
    align-items: center;
    
    /* POSICIONAMIENTO FIJO */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 30px; /* Altura de la barra morada */
    
    /* DISEÑO VISUAL */
    background-color: #6a1b9a; /* Color Morado */
    color: white;
    font-size: 14px;
    font-weight: bold;
    text-transform: uppercase;
    z-index: 25; 
}

.anuncio-texto {
    /* Mantenemos margin: 0; */
    margin: 0; 
    
    /* Centrado Horizontal directo */
    text-align: center; 
    
    /* Eliminamos flex-grow y padding-right que causaban el desplazamiento */
    /* Lo mantenemos simple para que el contenedor lo centre */
    /* Puedes borrar la propiedad flex-grow si la tenías antes */
}

.anuncio-cerrar-btn {
    background: none;
    border: none;
    color: white;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 26;
}

/* * 3. BARRA DE NAVEGACIÓN PRINCIPAL (BLANCA) */
.main-header-bar-villarroel {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 70px;
    
    /* CAMBIO CLAVE: Fondo Blanco */
    background-color: white; /* O usa el código hexadecimal #ffffff */
    border-bottom: 1px solid #ccc; /* Añade un borde gris para separarla del contenido */
    padding: 0 15px;

    /* ... (resto del posicionamiento fijo) ... */
    position: fixed;
    top: 30px; 
    left: 0;
    z-index: 20; 
}

/* * 4. BOTÓN DE MENÚ HAMBURGUESA (FUNCIONALIDAD FORZADA) */
.menu-button {
    /* CLAVE: Posicionamiento absoluto y Z-Index máximo para asegurar el clic */
    position: absolute; 
    top: 50%; 
    left: 15px; 
    transform: translateY(-50%);
    z-index: 9999; /* ¡Z-Index Máximo para evitar conflictos! */
    
    width: 30px; 
    height: 30px;
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    padding: 0;
}

.bar {
    width: 100%;
    height: 2px;
    background-color: black;
    border-radius: 5px;
}

.logo-container-nuevo {
    /* Mantendremos position absolute para que el flex no lo fuerce demasiado */
    position: absolute; 
    
    /* ¡CLAVE PARA EL CENTRADO HORIZONTAL! */
    left: 50%; /* Lo mueve al 50% del ancho del padre */
    transform: translateX(-50%); /* Lo mueve hacia la izquierda la mitad de su propio ancho */
    
    height: 100%;
    display: flex;
    align-items: center;
    
    /* Aseguramos un z-index adecuado para que esté por encima de la barra */
    z-index: 100;
}

.logo-feastables {
    /* Ajusta la altura máxima para que la imagen se vea bien en la barra de 70px */
    max-height: 200%; 
    /* El logo es ancho, limitamos su ancho máximo para que quepa en móviles */
    max-width: 250px; 
    width: auto;
}

.carrito-icon-link {
    position: absolute;
    right: 15px; 
    top: 50%;
    transform: translateY(-50%);
    color: black;
    text-decoration: none;
    padding: 10px;
    z-index: 100;
}

.carrito-svg {
    width: 30px;
    height: 30px;
    stroke: black; 
}

.contador-carrito {
    position: absolute;
    top: 8px;
    right: 8px;
    font-size: 10px;
    font-weight: bold;
    color: black;
    line-height: 1;
}


/* * 6. MENÚ DESPLEGABLE LATERAL */
.nav-menu {
    position: fixed;
    top: 100px; /* Comienza justo debajo de ambas barras */
    left: 0;
    width: 80%; 
    max-width: 300px;
    height: calc(100vh - 100px); /* Altura restante de la vista */
    overflow-y: auto; 
    
    background-color: #fff;
    z-index: 100; 
    box-shadow: 4px 0 8px rgba(0,0,0,0.3);

    /* ESTADO CERRADO: Se oculta a la izquierda */
    transform: translateX(-100%); 
    transition: transform 0.4s ease-in-out; 
}

/* CLAVE: ESTADO ABIERTO */
.nav-menu.open {
    transform: translateX(0);
}

.menu-cerrar-btn {
    position: absolute;
    top: 5px; 
    left: 5px;
    background: none;
    border: none;
    color: #333; 
    font-size: 28px;
    font-weight: 300;
    cursor: pointer;
    padding: 10px;
    z-index: 101; 
}

.nav-menu ul {
    list-style: none;
    padding: 0;
    margin: 50px 0 0 0; /* Espacio para el botón 'X' */
}

.nav-menu li a {
    display: block;
    padding: 15px 20px;
    text-decoration: none;
    color: #333;
    font-size: 1.1em;
    border-bottom: 1px solid #eee; 
    transition: background-color 0.3s;
}

.nav-menu li a:hover {
    background-color: #f5f5f5;
}


/* * 7. ESTILOS DE LA TIENDA (Mantenidos) */

.store-container { padding: 0; max-width: 1200px; margin: 0 auto; }
.store-container h2 { text-align: center; margin: 20px 0 15px 0; font-size: 24px; color: #333; padding: 0 10px; }
.product-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; border-top: 1px solid #eee; }
.product-card { border: none; padding: 0; text-align: left; box-shadow: none; overflow: hidden; border-bottom: 1px solid #eee; border-right: 1px solid #eee; }
.product-card:nth-child(2n) { border-right: none; }
.product-image-container { position: relative; width: 100%; padding-top: 130%; height: 0; overflow: hidden; }
.product-image { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.discount-badge { position: absolute; bottom: 5px; left: 5px; background-color: rgba(220, 20, 60, 0.9); color: white; font-size: 12px; font-weight: bold; padding: 3px 6px; border-radius: 3px; z-index: 10; }
.product-info { padding: 5px 5px 8px 5px; }
.product-name { font-size: 14px; color: #333; margin: 0 0 0 0; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; height: 36px; }
.price-container { display: flex; align-items: baseline; gap: 2px; margin-top: 1px; margin-bottom: 0; }
.current-price { font-size: 16px; font-weight: bold; color: #cd0000; }
.original-price { font-size: 12px; color: #999; text-decoration: line-through; }
.add-to-cart { display: none; } 
.bottom-nav { position: fixed; bottom: 0; left: 0; right: 0; height: 55px; background-color: #fff; box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.1); z-index: 1000; display: flex; justify-content: space-around; align-items: center; border-top: 1px solid #eee; }
.nav-item { display: flex; flex-direction: column; align-items: center; text-decoration: none; color: #555; font-size: 10px; padding: 5px 0; flex-grow: 1; }
.nav-icon { font-size: 20px; line-height: 1; }
.nav-item.active { color: #007bff; font-weight: bold; }


/* * 8. MEDIA QUERY: OPTIMIZACIÓN PARA PC */
@media (min-width: 768px) {
    body { padding-top: 115px; /* Ajuste para PC */ }
    
    .top-anuncio-bar { height: 35px; font-size: 16px; z-index: 25; }
    .main-header-bar-villarroel { top: 35px; height: 80px; z-index: 20; }
    
    .product-grid { grid-template-columns: repeat(3, 1fr); }
    .product-card { padding: 8px; border-right: 1px solid #eee; }
    .product-card:nth-child(2n) { border-right: 1px solid #eee; }
    .product-card:nth-child(3n) { border-right: none; }
    .bottom-nav { display: none; }

    /* Ocultar la hamburguesa y menú lateral en PC */
    .menu-button { display: none; }
    .nav-menu, .nav-menu.open { max-height: 0 !important; overflow: hidden !important; }
}




































/* =========================================== */
/* ESTILOS DEL PIE DE PÁGINA LLAMATIVO (FOOTER) */
/* =========================================== */
.main-footer {
    background-color: #1c1c1c; /* Fondo más oscuro y moderno */
    color: #f0f0f0; /* Letras claras */
    padding-top: 30px;
    font-family: Arial, sans-serif;
}

.footer-container {
    display: flex;
    flex-wrap: wrap; /* Permite que las columnas se apilen en móvil */
    justify-content: space-around;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.footer-col {
    width: 100%; /* Ocupa todo el ancho en móvil */
    margin-bottom: 25px;
}

.footer-heading {
    font-size: 1.3em;
    margin-top: 0;
    margin-bottom: 15px;
    color: #ff007f; /* Color de acento llamativo (Fucsia) */
}

/* --- Estilos de Navegación y Contacto --- */
.footer-col ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-col ul li {
    margin-bottom: 8px;
}

.footer-col ul li a,
.footer-col-contact p a {
    color: #ccc; /* Gris claro para los enlaces */
    text-decoration: none;
    transition: color 0.3s;
}

.footer-col ul li a:hover,
.footer-col-contact p a:hover {
    color: #ff007f; /* Color llamativo al pasar el mouse */
}

/* --- Estilos de Iconos de Redes Sociales y Efecto de Movimiento --- */

.social-icons {
    display: flex;
    gap: 15px; /* Espacio entre iconos */
}

.social-icon-box {

    /* Estilos base del icono circular */

    display: inline-flex;

    justify-content: center;

    align-items: center;

    width: 40px;

    height: 40px;

    border: 2px solid white;

    border-radius: 50%; /* Forma circular */

    color: white;

    font-size: 20px;

    text-decoration: none;

    

    /* CLAVE DEL EFECTO: Transición suave */

    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);

}

/* AJUSTE DEL EFECTO HOVER */
.social-icon-box:hover {
    transform: scale(1.15); /* Zoom ligero */
    /* Mantenemos el box-shadow para que haya un efecto de "brillo" */
    box-shadow: 0 0 15px rgba(255, 255, 255, 0.8); 
    color: white; 
    /* ¡IMPORTANTE! Quita cualquier background-color de los :hover si lo tenías */
}

/* También puedes eliminar o comentar todas las reglas de .social-icon-box.instagram:hover, .facebook:hover, etc., si no quieres que cambien de color al hacer hover. */

/* Colores Individuales en Hover para un toque extra */
.social-icon-box.instagram:hover {
    background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285aeb 90%);
    border-color: #d6249f;
}

.social-icon-box.facebook:hover {
    background-color: #3b5998;
    border-color: #3b5998;
}

.social-icon-box.tiktok:hover {
    background-color: #000000;
    border-color: #000000;
}


/* --- Barra de derechos de autor (parte inferior) --- */
.footer-bottom {
    text-align: center;
    padding: 15px 20px;
    border-top: 1px solid #444;
    margin-top: 15px;
    background-color: #111; /* Un gris aún más oscuro */
}

.footer-bottom p {
    margin: 0;
    font-size: 0.85em;
    color: #aaa;
}


/* --- Media Query para Desktop --- */
@media (min-width: 768px) {
    .footer-col {
        width: 30%; /* Tres columnas en desktop */
    }
}


/* =========================================== */
/* NUEVOS ESTILOS: COLORES DE MARCA PERMANENTES */
/* =========================================== */

/* Estilos de fondo para los iconos en estado normal */
.social-icon-box.instagram {
    /* Gradiente que simula el logo de Instagram */
    background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
    border-color: transparent; /* Hacemos el borde transparente */
    color: white; /* El ícono interior es blanco para contraste */
}

.social-icon-box.facebook {
    background-color: #3b5998; /* Azul de Facebook */
    border-color: #3b5998;
    color: white;
}

.social-icon-box.tiktok {
    background-color: #000000; /* Negro de TikTok */
    border-color: #000000;
    color: white;
}
















/* =========================================== */
/* ESTILOS DEL BOTÓN DE WHATSAPP FLOTANTE - ¡APLICACIÓN FORZADA! */
/* =========================================== */
.whatsapp-float {
    position: fixed;
    width: 60px;
    height: 60px;
    bottom: 20px;
    right: 20px;
    background-color: #25d366; 
    color: #FFF;
    border-radius: 50px;
    text-align: center;
    font-size: 30px;
    
    /* Sombra Inicial para que destaque siempre */
    box-shadow: 0px 4px 12px rgba(0,0,0,0.4); 
    
    z-index: 9999 !important; /* Aseguramos la capa de apilamiento más alta */
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    
    /* CLAVE: Transición debe estar en el estado normal */
    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1) !important; 
}

.whatsapp-float:hover {
    /* MOVIMIENTO FORZADO */
    transform: scale(1.15) translateY(-8px) !important; /* Más grande y sube más */
    
    /* SOMBRA FORZADA */
    box-shadow: 0px 12px 25px rgba(0,0,0,0.5) !important; 
    
    background-color: #2fb960 !important; /* Ligeramente más claro al hacer hover */
}

/* Ajuste para dispositivos móviles (mantenido) */
@media (max-width: 767px) {
    .whatsapp-float {
        bottom: 75px; 
    }
}




/* ESTO ES LO QUE DEBES TENER PARA QUE EL EFECTO SE ACTIVE AL PASAR EL CURSOR: */
.whatsapp-float:hover {
    /* Aquí va el código del movimiento y sombra */
    transform: scale(1.15) translateY(-8px) !important;
    box-shadow: 0px 12px 25px rgba(0,0,0,0.5) !important;
    background-color: #2fb960 !important;
}
/* -------------------------------------------------------------------------- */


/* ASEGÚRATE DE QUE NO TENGAS NINGUNO DE ESTOS SELECTORES CON EL EFECTO: */
.whatsapp-float:active {
    /* SI EL CÓDIGO DEL MOVIMIENTO ESTÁ AQUÍ, ELIMÍNALO Y PONLO EN :hover */
}

.whatsapp-float:focus {
    /* SI EL CÓDIGO DEL MOVIMIENTO ESTÁ AQUÍ, ELIMÍNALO Y PONLO EN :hover */
}














