/* Menu styles */
.menu {
    list-style: none;
    padding: 0;
    display: flex;
    gap: 0.5rem;
    margin-left: auto;
    margin-right: -2rem;
}

.menu li {
    margin: 0;
}

.menu a {
    color: #d9d4b5;
    text-decoration: none;
    font-size: 1.2rem;
    padding: 1rem 0.8rem;
    text-transform: uppercase;
    transition: all 0.3s ease;
    font-weight: 500;
}

.menu a:hover {
    color: #f2e8c7;
    background-color: #992b1c;
    transform: scale(1.1);
}

/* Menu icon styles */
.menu-icon {
    display: none;
    cursor: pointer;
    font-size: 2rem;
    color: #d9d4b5;
    z-index: 1002;
    margin-left: auto;
    align-items: center;
    position: relative; /* non fissata allo schermo */
    top: auto;
    right: auto;
    background: #800000;
    padding: 0.5rem;
    border: 1px solid #d9d4b5;
}

.menu-icon i {
    display: block;
    transition: all 0.3s ease;
}

/* Desktop styles */
@media (min-width: 1025px) {
    nav {
        display: flex;
        align-items: center;
        padding: 1rem 2rem;
    }

    .logo {
        margin-right: 2rem;
    }

    .logo img {
        height: 90px;
    }

    .menu {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: relative;
        width: auto;
        height: auto;
        background: none;
        padding: 0;
        flex-direction: row;
        margin-left: auto;
    }

    .menu .logo {
        display: none;
    }

    .menu-close {
        display: none;
    }

    .menu li {
        opacity: 1;
        transform: none;
        width: auto;
    }

    .menu a {
        padding: 1rem 0.8rem;
        border: none;
        color: #d9d4b5;
    }

    .menu a:hover {
        color: #f2e8c7;
        background-color: #992b1c;
        transform: scale(1.1);
    }
}

/* Mobile menu styles */
@media (max-width: 1024px) {
    .menu {
        visibility: hidden;
        opacity: 0;
        position: fixed;
        top: 0;
        left: -100%; /* off-canvas */
        width: 100%;
        height: 100vh;
        background-color: #800000;
        z-index: 1001;
        padding-top: 5.6rem; /* più distacco tra logo e voci */
        overflow-y: auto;
        transition: left 0.35s ease, visibility 0.3s ease, opacity 0.3s ease;
        display: flex;
        flex-direction: column;
        justify-content: flex-start; /* voci subito sotto al logo */
        align-items: center;
    }

    .menu-icon {
        display: flex;
    }

    .menu.active {
        visibility: visible;
        opacity: 1;
        padding-top: 5.6rem; /* mantieni spazio per il logo quando aperto */
        left: 0; /* slide in from left */
    }

    .menu li {
        margin: 0.5rem 0; /* più spazio tra logo e HOME */
        width: 100%;
        text-align: center;
        opacity: 0;
        transform: translateY(20px);
        transition: opacity 0.3s ease, transform 0.3s ease;
    }

    .menu.active li {
        opacity: 1;
        transform: translateY(0);
    }

    .menu a {
        font-size: 1.2rem;
        padding: 1rem;
        display: block;
        width: 100%;
        color: #ffffff;
        border-bottom: 1px solid rgba(255,255,255,0.1);
    }

    .menu a:hover {
        background-color: rgba(255,255,255,0.1);
        transform: none;
    }

    .menu .logo {
        position: absolute;
        top: 0.5rem; /* logo in alto */
        left: 50%;
        transform: translateX(-50%);
        width: auto;
        padding: 0;
        margin: 0;
        background: transparent;
        z-index: 1002;
    }

    /* Nascondi l'icona hamburger quando il menu è aperto per evitare che resti fissa sopra l'overlay */
    body.menu-open .menu-icon {
        display: none;
    }

    .menu .logo img {
        height: 62px; /* logo coerente con index */
        margin: 0 auto;
        display: block;
    }

    body.menu-open {
        overflow: hidden;
        height: 100vh;
    }

    /* Stile per il pulsante di chiusura */
    .menu-close {
        position: absolute;
        top: 1rem;
        right: 1rem;
        color: #ffffff;
        font-size: 1.5rem;
        cursor: pointer;
        z-index: 1003;
    }
} 