/* CSS globale */
body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    max-width: 100%;
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
}

.text-gradient {
    background: linear-gradient(135deg, #0d6efd, #6610f2);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* html {overflow-x: hidden;} */
/* overflow-x: hidden; */
/* Assicura che il corpo non superi la finestra */

/* O il tuo colore preferito */

/* Fix per hover menu desktop */
@media all and (min-width: 992px) {
    .navbar .nav-item .dropdown-menu {
        display: none;
        margin-top: 0;
    }

    .navbar .nav-item:hover .dropdown-menu {
        display: block;
    }
}

/* --- CSS PER IL BOTTONE TOGGLE --- */
/* Di base (quando è chiuso), nascondi il testo "Nascondi" */
.btn-toggle[aria-expanded="false"] .text-hide {
    display: none;
}

.btn-toggle[aria-expanded="false"] .text-show {
    display: inline;
}

/* Quando è aperto (aria-expanded="true"), nascondi il testo "Visualizza" */
.btn-toggle[aria-expanded="true"] .text-show {
    display: none;
}

.btn-toggle[aria-expanded="true"] .text-hide {
    display: inline;
}


.navbar-nav .nav-link.active {
    font-weight: bold !important;
    /* text-decoration: underline;         */
    /* text-underline-offset: 5px;        */
    /* color: #fff !important;       */
}

/* --- STILI GENERALI (consolidated above) --- */

.bg-custom {
    background-color: #0d6efd;
}

/* Blu Bootstrap */


/* --- ANIMAZIONE MENU A TENDINA (Solo Desktop) --- */
/* --- 1. ANIMAZIONE DESKTOP (Hover + Slide) --- */
@media all and (min-width: 992px) {
    .navbar .nav-item .dropdown-menu {
        display: block;
        /* Necessario per l'animazione hover */
        opacity: 0;
        /* Invisibile */
        visibility: hidden;
        /* Non cliccabile */
        transform: translateY(-20px);
        /* Spostato in alto */
        transition: all 0.3s ease;
        margin-top: 0;
    }

    .navbar .nav-item:hover .dropdown-menu {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }
}

/* --- ANIMAZIONE MOBILE (Fisarmonica Fluida) --- */
@media all and (max-width: 991.98px) {

    /* 1. Stato Base: Sempre presente nel DOM, ma schiacciato a zero */
    .navbar .navbar-nav .dropdown-menu {
        display: block !important;
        /* Sovrascrive il display:none di Bootstrap */

        /* Nascondiamo il contenuto */
        max-height: 0;
        opacity: 0;
        overflow: hidden;
        /* Fondamentale: nasconde ciò che non ci sta */

        /* Rimuoviamo bordi e padding per evitare spessori visibili da chiuso */
        padding: 0 !important;
        border: none;
        margin: 0;

        /* La magia: animiamo l'altezza */
        transition: max-height 0.3s linear, opacity 0.3s linear, padding 0.2s linear, transform 0.3s ease-in;

        /* Assicuriamo che non copra nulla */
        transform: translateY(-10px);
    }

    /* 2. Stato Aperto: Quando Bootstrap aggiunge la classe .show */
    .navbar .navbar-nav .dropdown-menu.show {
        /* Diamo un'altezza massima sufficiente a contenere tutto */
        /* Nota: non si può usare "auto" nelle transizioni, usa un numero alto */
        max-height: 1000px;

        opacity: 1;

        /* Ripristiniamo padding e bordi originali di Bootstrap */
        padding: 0.5rem 0;
        border: 1px solid rgba(0, 0, 0, .15);

        transform: translateY(0);
    }
}

html {
    scroll-behavior: smooth;
}

/* Opzionale: Se hai una navbar fissa in alto, serve questo per non coprire il titolo quando ci clicchi */
:target {
    scroll-margin-top: 80px;
    /* Altezza della tua navbar + un po' di spazio */
}

.navbar {
    /* Z-INDEX ALTO: Vince su tutto il resto della pagina */
    z-index: 1030;
}