/* --- 1. Reset e Stili Base --- */
body {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
    background-color: #f4f4f4; /* Sfondo generale molto chiaro */
    color: #333;
    max-width: 1200px;
    margin: 0 auto;
}

h1 {
    color: #0056b3; /* Blu scuro */
    border-bottom: 2px solid #ccc;
    padding-bottom: 10px;
}

h2 {
    color: #0056b3;
}

.page-content {
    padding: 20px;
    background-color: #ffffff;
    margin-top: 20px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.cta-button {
    display: inline-block;
    background-color: #4CAF50; /* Verde */
    color: white;
    padding: 10px 20px;
    text-decoration: none;
    border-radius: 5px;
    font-weight: bold;
    margin-top: 15px;
    transition: background-color 0.3s;
}

.cta-button:hover {
    background-color: #45a049;
}

/* --- 2. Stili Header, Logo e Login --- */

.main-header {
    background-color: #ffffff;
    padding: 10px 20px;
    border-bottom: 2px solid #0056b3;
    display: flex;
    flex-wrap: wrap; 
    align-items: center;
    justify-content: space-between; /* Spazia gli elementi */
}

.logo-area {
    display: flex;
    align-items: center;
    flex-basis: auto; /* Lasciato a auto per lavorare con menu-toggle */
}

.site-logo {
    width: 150px; /* Dimensione fissa per il logo */
    height: auto;
    margin-right: 10px;
}

.tagline {
    font-size: 0.9em;
    color: #666;
    margin: 0;
}

.access-login {
    flex-basis: auto; 
    text-align: right;
    order: 3; /* Sposto la login in fondo all'header sul mobile per dare spazio al logo e all'icona */
}

/* REGOLA: Nascondi il testo (span) */
.login-btn span {
    display: none;
}

.login-btn img {
    /* CORREZIONE FINALE: Icona tripla (80px * 3) = 240px */
    width: 240px; 
    height: auto;
    display: block;
    margin-left: auto; /* Allinea a destra l'icona */
}


/* --- 3. NUOVO: ICONA HAMBURGER PER MOBILE --- */
.menu-toggle {
    display: block; /* Visualizza l'icona solo su mobile */
    font-size: 30px;
    cursor: pointer;
    order: 2; /* Posizionalo tra logo e login-area nell'header */
    padding: 5px;
    color: #0056b3;
    flex-basis: auto;
    text-align: center;
    /* Rende l'area del tocco più facile */
    height: 44px; 
    line-height: 44px;
    margin-right: 15px; 
}


/* --- 4. Menu di Navigazione --- */
.main-nav {
    display: none; /* <--- NASCONDE IL MENU DI DEFAULT SUL MOBILE */
    width: 100%; 
    flex-basis: 100%; /* Forza il menu ad occupare la riga sotto */
    background-color: #0056b3; /* Sfondo blu per il menu */
    order: 4; /* Lo metto dopo tutti gli elementi dell'header */
}

/* Mostra il menu quando la classe 'active' è aggiunta via JavaScript */
.main-nav.active {
    display: block;
}

.main-nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column; /* Colonna sul mobile */
    text-align: center;
}

.main-nav li a {
    text-decoration: none;
    color: white;
    font-weight: bold;
    padding: 12px 0;
    display: block;
    border-top: 1px solid #004085;
    transition: background-color 0.3s;
}

.main-nav li a:hover {
    background-color: #004085;
}

/* --- 5. Stili Contenuto e Footer --- */

.hero-section {
    padding: 40px 20px;
    text-align: center;
    background-color: #fff;
    margin-bottom: 20px;
}

.hero-section h2 {
    color: #4CAF50;
    font-size: 2em;
    margin-bottom: 5px;
}

.slogan {
    font-size: 1.2em;
    color: #333;
    margin-top: 0;
}

.visit-thanks {
    text-align: center;
    padding: 20px;
    font-style: italic;
    color: #666;
}

.site-footer {
    background-color: #333;
    color: white;
    text-align: center;
    padding: 15px;
    font-size: 0.8em;
}

.site-footer a {
    color: #ffd700;
    text-decoration: none;
}

/* --- 6. MEDIA QUERY: Layout Desktop (Breakpoint a 768px) --- */
@media (min-width: 768px) {
    
    .main-header {
        padding: 15px 40px;
    }
    
    .logo-area {
        flex-basis: auto;
        order: 1;
    }
    
    .access-login {
        flex-basis: auto;
        order: 3;
    }

    /* Nasconde l'icona hamburger su schermi grandi */
    .menu-toggle {
        display: none; 
    }
    
    /* CORRETTO: Mantengo la dimensione ingrandita e nascondo il testo anche su desktop */
    .login-btn img {
        margin: 0;
        width: 240px; /* Icona a 240px anche su desktop */
    }
    .login-btn span {
        display: none;
    }
    
    /* Forza la visualizzazione del menu su desktop e annulla 'display: none' del mobile */
    .main-nav {
        display: flex !important; /* Forza la visualizzazione del menu su desktop */
        width: auto;
        flex-grow: 1; 
        order: 2;
        background-color: transparent; 
        margin-left: auto; 
        flex-basis: auto;
    }
    
    .main-nav ul {
        flex-direction: row; 
        justify-content: center; 
        gap: 30px;
    }
    
    .main-nav li a {
        color: #0056b3; 
        padding: 0 5px;
        border-top: none;
        transition: color 0.3s;
    }

    .main-nav li a:hover {
        background-color: transparent;
        color: #4CAF50; 
    }
    
    .main-content {
        padding: 0 40px;
    }
}

/* --- 7. STILI COOKIE BANNER --- */

#cookieConsentBanner {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: #333; 
    color: white;
    padding: 15px 20px;
    text-align: center;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.5);
    z-index: 1000; 
    font-size: 14px;
    line-height: 1.4;
}

#cookieConsentBanner p {
    margin: 0 0 10px 0;
    display: inline; 
}

#cookieConsentBanner a {
    color: #ffd700; 
    text-decoration: underline;
    margin-left: 5px;
}

#cookieConsentBanner button {
    background-color: #4CAF50; 
    color: white;
    border: none;
    padding: 8px 15px;
    cursor: pointer;
    border-radius: 4px;
    font-weight: bold;
    margin-left: 20px;
    transition: background-color 0.3s;
}

#cookieConsentBanner button:hover {
    background-color: #45a049;
}

/* Regola l'allineamento su schermi piccoli */
@media (max-width: 600px) {
    #cookieConsentBanner {
        text-align: left;
    }
    #cookieConsentBanner p {
        display: block;
        margin-bottom: 10px;
    }
    #cookieConsentBanner button {
        display: block;
        width: 100%;
        margin: 10px 0 0 0;
    }
}