html, body {
    width: 100%;
    margin: 0;
    padding: 0;
    scroll-behavior: smooth;
    overflow-x: hidden;
}
.menu-categorias{
    display: flex;
    justify-content: center;
    gap: 55px;
    margin: 40px 0 40px;
}

.categoria{
    display: flex;
    flex-direction: column;
    align-items: center;
    cursor: pointer;
    color: #0f5f3d;
    transition: 0.3s;
}

.categoria i{
    color: #0f5f3d; /* verde Brassaõ */
}

.categoria span{
    margin-top: 2px;         /* 🔥 ajuste fino */
    line-height: 1.2;
}
.categoria.active {
    color: #cc1e2c; /* rojo Brassaõ */
}

.categoria.active i{
    color: #cc1e2c; /* rojo Brassaõ */
}
.icono{
    font-size: 2.4rem;       /* para <i> */
    width: 42px;             /* para SVG */
    height: 42px;
    margin-bottom: 5px;     /* 🔥 separación uniforme */
    display: block;
}
.menu-icon{

    /* 🎨 MISMO VERDE BRASSAO */
    filter: brightness(0) saturate(100%)
            invert(23%) sepia(29%)
            saturate(616%)
            hue-rotate(98deg)
            brightness(92%)
            contrast(92%);
}
.categoria.active .menu-icon {
    filter: brightness(0) saturate(100%)
            invert(19%) sepia(79%)
            saturate(3487%)
            hue-rotate(347deg)
            brightness(90%)
            contrast(95%);
}
.menu-contenido{
    max-width: 1200px;
    margin: 40px auto 80px;
    padding: 0 5%;
}

/* =========================
   SECCIONES
========================= */
.menu-seccion{
    display: none; /* oculto por defecto */
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 30px;
}

/* SOLO la activa se muestra */
.menu-seccion.active{
    display: grid;
}

/* =========================
   TITULO
========================= */
.menu-seccion h2{
    grid-column: 1 / -1; /* 🔥 ocupa todo el ancho */
    text-align: center;
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 3px;
    margin-bottom: 35px;
    color: #0f5f3d;
}

/* =========================
   ITEM
========================= */
.item{
    text-align: center;
    cursor: pointer;
    transition: 0.3s;
}

.item img{
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: 14px;
    transition: 0.3s;
}

.item span{
    display: block;
    margin-top: 10px;
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 1px;
    color: #1a1a1a;
}

/* =========================
   HOVER
========================= */
.item:hover img{
    transform: scale(1.05);
}

.item:hover span{
    color: #cc1e2c;
}
.loader-container{
    position: fixed;
    inset: 0;
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 2000;

    /* 🔥 SIN FONDO */
    background: transparent;
    pointer-events: none; /* no bloquea scroll ni clicks */
}

.picanha{
    width: 110px;
    animation: bounceDown 1s ease-in-out infinite;
}

@keyframes bounceDown{
    0%{
        transform: translateY(0);
    }
    40%{
        transform: translateY(50px);
    }
    60%{
        transform: translateY(50px);
    }
    100%{
        transform: translateY(0);
    }
}
.image-modal{
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.85);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 4000;
}

.image-modal img{
    max-width: 90%;
    max-height: 85%;
    border-radius: 18px;
    box-shadow: 0 20px 50px rgba(0,0,0,0.5);
    animation: zoomIn 0.3s ease;
}

.close-image{
    position: absolute;
    top: 25px;
    right: 30px;
    font-size: 2rem;
    color: #fff;
    cursor: pointer;
}

@keyframes zoomIn{
    from{
        transform: scale(0.9);
        opacity: 0;
    }
    to{
        transform: scale(1);
        opacity: 1;
    }
}
@media (max-width: 768px){
    .menu-categorias{
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 30px;
        padding: 0 20px;
    }

    .categoria{
        justify-content: center;
    }
}

@media (max-width: 480px){
    .menu-categorias{
        grid-template-columns: repeat(2, 1fr);
        gap: 25px;
    }

    .icono{
        font-size: 2rem;
        width: 36px;
        height: 36px;
    }

    .categoria span{
        font-size: 0.7rem;
    }
    .menu-seccion{
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    .item img{
        height: 160px;
    }
    .loader-container{
        align-items: flex-start;   /* en vez de center */
        padding-top: 70vh;         /* 🔥 más abajo */
    }
    .picanha{
        width: 90px;
    }
}
