:root {
    --header-yellow: #FFFE0E;
    --header-black: #000000;
    --font-base: 'druk-super', sans-serif;
}

body {
    font-family: 'druk-super', sans-serif;
}


/* Header desktop Styles */

.header-desktop {
    background-color: #FFFE03;
    width: 100vw;
}

.header-top {
    padding: 10px 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.header-logo {
    display: block;
    text-decoration: none;
}

.header-logo img {
    max-height: 60px;
    /* Adjust as needed */
    display: block;
}

/* Bottom Section: Black + Menu */
.header-bottom {
    background-color: black;
    padding: 15px 0;
}

.header-menu {
    display: flex;
    justify-content: center;
    gap: 10vw;
    list-style: none;
    margin: 0;
    padding: 0;
    margin-left: 5vw;
    margin-right: 5vw;
    flex-wrap: wrap;
}

.header-menu li {
    margin: 0;
}

.header-menu a {
    color: white !important;
    text-decoration: none;
    font-family: 'druk-super', sans-serif;
    font-weight: 900;
    text-transform: uppercase;
    font-size: 1.5vw;
    padding: 0.2vw 1.5vw;
    border-radius: 0.2vw;
    background-color: #FFFE03;
    -webkit-text-stroke: 0.4rem black;
    paint-order: stroke fill;
    /* Black border around text */
    display: inline-block;
    transition: transform 0.2s ease;
}

.header-menu a:hover,
.header-menu a.active {
    transform: scale(1.05);
}








/* =========================
   HEADER MOBILE (CONTENITORE)
   ========================= */

.header-mobile {
    display: none;
    position: sticky;
    width: 100vw;
    height: 10vh;

    background-color: #FFFE03;
    z-index: 1000;

    transition: height 0.3s ease;
}

.header-mobile.active {
    height: 100vh;
    display: flex;
    /* Assicurati che sia flex */
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    /* Il contenuto parte dall'alto */
}




/* =========================
   TOP BAR (LOGO + HAMBURGER)
   ========================= */

.header-top-mobile {
    height: 10vh;
    width: 100%;

    display: flex;
    align-items: center;
    /* CENTRO VERTICALE */
    justify-content: space-between;
    /* LOGO SX – HAMBURGER DX */

    padding-left: 2vw;
    padding-right: 10vw;
}


/* =========================
   LOGO
   ========================= */

.header-logo-mobile {
    display: flex;
    align-items: center;
    line-height: 0;
}

.header-logo-mobile img {
    width: clamp(120px, 25vw, 100px);
    height: auto;
    display: block;
}


/* =========================
   HAMBURGER ICON FIXED
   ========================= */

.menu-icon {
    width: 30px;
    height: 22px;
    /* Ridotto leggermente per bilanciare lo spazio */
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    cursor: pointer;
    z-index: 1100;
    position: relative;
    /* Importante per il posizionamento dei figli */
}

.menu-icon span {
    width: 100%;
    /* Portato al 100% per evitare asimmetrie */
    height: 4px;
    background-color: #333;
    transition: all 0.3s ease-in-out;
    border-radius: 5px;
    transform-origin: center;
    /* Assicura che la rotazione avvenga dal centro */
}

/* Animazione X Perfetta */
.menu-icon.active span:nth-child(1) {
    /* Calcolo preciso: (altezza totale / 2) - (metà altezza riga) */
    transform: translateY(9px) rotate(45deg);
}

.menu-icon.active span:nth-child(2) {
    opacity: 0;
    transform: translateX(-10px);
    /* Aggiunge un effetto di uscita laterale */
}

.menu-icon.active span:nth-child(3) {
    transform: translateY(-9px) rotate(-45deg);
}



/* =========================
   MENU
   ========================= */

.menu {
    display: none;
    padding: 4rem 5%;
    background-color: blue;
}

.header-mobile.active .menu {
    display: flex;
    flex-grow: 1;
    /* Occupa tutto lo spazio verticale rimanente */
    width: 100%;
    /* Occupa tutta la larghezza */
    align-items: center;
    /* Centra verticalmente i link nel menu */
    justify-content: center;
    /* Centra orizzontalmente i link */
    padding: 0;
    /* Rimuovi padding che sballano la centratura */
    background-color: transparent;
    /* Rimuovi il blu se non ti serve */

}


/* =========================
   LISTA LINK
   ========================= */

.header-pag-mobile {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7vh;
    /* Ridotto leggermente per farlo stare in schermi piccoli */
    width: 100%;
    margin-bottom: 20vh;
}

.header-pag-mobile h1 {
    margin: 0;
    text-align: center;
    width: 100%;
}

.header-pag-mobile li {
    text-align: center;

}

.header-pag-mobile a {
    font-size: 7vw;
    text-decoration: none;
    color: #000;
}

@media screen and (max-width: 1220px) {
    .header-menu {
        gap: 5vw;
    }

    .header-menu a {
        color: white !important;
        text-decoration: none;
        font-family: 'druk-super', sans-serif;
        font-weight: 900;
        text-transform: uppercase;
        font-size: 1.5vw;
        padding: 0.2vw 1.5vw;
        border-radius: 0.2vw;
        background-color: #FFFE03;
        -webkit-text-stroke: 0.3rem black;
        paint-order: stroke fill;
        /* Black border around text */
        display: inline-block;
        transition: transform 0.2s ease;
        align-items: center;
        justify-content: center;
    }


}



@media screen and (max-width: 768px) {

    .header-desktop {
        display: none;
    }


    .header-mobile {
        display: flex;
    }


}