/* Menu */
#btn-top {
    margin-top: 5px;
    background: url(../img/bg-pattern.png) bottom -75% center repeat-x;
}
#btn-top .container-fix {
    max-width: 1340px;
    margin-left: auto;
    margin-right: auto;
}
#btn-top .btn-flex-container {
    padding: 0;
    margin: 0;
    list-style: none;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-flow: row no-wrap;
    -webkit-flex-flow: row no-wrap;
    justify-content: space-between;
}
#btn-top .btn-flex-item {
    display: flex;
    width: 160px;
    height: 160px;
    color: white;
    text-align: center;
    margin-top: 40px;
    -webkit-border-radius: 7px;
    -moz-border-radius: 7px;
    border-radius: 7px;
    -moz-box-shadow: 0 0 15px rgba(0, 0, 0, 0.5);
    -webkit-box-shadow: 0 0 15px rgba(0, 0, 0, 0.5);
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.5);
    text-transform: uppercase;
    font-weight: 700;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    cursor: pointer;
}
#btn-top .btn-flex-item li a {
    display: block;
    width: 100%;
    height: 100%;
}
#btn-top .btn-flex-item img {
    max-height: 75px;
    display: block;
    margin-bottom: 15px;
}
#btn-top .btn-flex-item:hover img {
    max-height: 85px;
}
#btn-top .btn-flex-item img.small {
    max-height: 60px;
}
#btn-top .btn-flex-item:hover img.small {
    max-height: 70px;
}
#btn-top .btn-flex-item a, .btn-flex-item a:hover {
    color: #FFFFFF !important;
    text-decoration: none;
}
#btn-top .bg-crisp, #btn-top-mobile .bg-crisp {
    background-color: #5A5BB8;
}
#btn-top .bg-equipe, #btn-top-mobile .bg-equipe{
    background-color: #885C97;
}
#btn-top .bg-ressources, #btn-top-mobile .bg-ressources {
    background-color: #d56ec8;
}
#btn-top .bg-catalogue, #btn-top-mobile .bg-catalogue {
    background-color: #D95B5C;
}
#btn-top .bg-suivre, #btn-top-mobile .bg-suivre {
    background-color: #EB7538;
}
/* bg AW VP DP in custom theme css... */

#btn-top .btn-flex-item-rounded {
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
}

/*Banner 
**********/
#icon-page-banner.titre-general {
    padding-top: 20px;
    padding-bottom: 20px;
    background: url(../img/bg-pattern.png) top center repeat;
    color: #FFFFFF;
    text-align: center;
    margin-top: 5px;
}

#icon-page-banner.titre-general .table {
    width: auto;
    margin: 0 auto;
}

#icon-page-banner.titre-general .table>tbody>tr:first-child>td {
    border-top: none;
}

#icon-page-banner.titre-general img {
    max-height: 65px;
    margin-right: 20px;
}

#icon-page-banner.titre-general .titre-banner {
    padding-top: 15px;
    margin: 0;
    font-size: 30px;
    line-height: 36px;
    font-weight: 700;
    text-transform: uppercase;
}


/* Mobile 
************/
/* Conteneur menu */
#btn-top-mobile {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 3px;
    width: 100%;
    box-sizing: border-box;
    padding: 0 6px;
}

/* Ligne pour items + toggle */
#btn-top-mobile .menu-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
}

/* Colonne icônes */
#btn-top-mobile .items-col {
    display: flex;
    flex-wrap: wrap;
    gap: 3px;
    flex: 1 1 auto;
}

/* Menu items */
#btn-top-mobile .menu-item {
    display: flex;
    align-items: center;
    padding: 6px;
    border-radius: 7px;
    text-decoration: none;
    color: inherit;
    transition: all 0.3s ease;
    /* transition pour padding, gap, etc. */
}

/* Texte caché en mode collapse */
#btn-top-mobile .menu-item .label {
    display: inline-block;
    color: white;
    font-size: 16px;
    opacity: 0;
    max-width: 0;
    overflow: hidden;
    white-space: nowrap;
    /* margin-left: 8px; */
    transition: all 0.3s ease;
}

/* Arrondis spécifiques (optionnels) */
#btn-top-mobile .menu-item.rounded {
    border-radius: 25px;
    padding-top: 6px;
}

/* Images */
#btn-top-mobile .menu-item img {
    max-width: 34px;
    width: 100%;
    height: auto;
    display: block;
}

/* Toggle fixe à droite */
#btn-top-mobile .toggle-col {
    display: flex;
    align-items: flex-start;
    flex: 0 0 auto;
    /* largeur fixe */
    margin-left: auto;
}

/* Toggle */
#btn-top-mobile .menu-toggle {
    margin-left: auto;
    flex: 0 0 auto;
    padding: 11px 4px;
    font-size: 12px;
    border: none;
    background-color: #09b9d3;
    border-radius: 5px;
    color: white;
    /* pousse le toggle à la fin de la ligne */
    flex-shrink: 0;
    /* ne rétrécit pas */
    cursor: pointer;
}

/* Deuxième ligne horizontale */
#btn-top-mobile .second-row {
    display: flex;
    gap: 3px;
    margin-top: 6px;
    /* espace par défaut */
}

/* ---- SEULEMENT SI écran > ---- */
@media (min-width: 429px) {
    #btn-top-mobile .second-row {
        margin-top: 0;
        flex-wrap: nowrap;
        /* tout sur la même ligne horizontale */
    }
}


/* ---------- Mode expanded ---------- */
#btn-top-mobile.expanded {
    flex-direction: column;
    align-items: flex-start;
}

#btn-top-mobile.expanded .items-col {
    flex-direction: column;
    width: 100%;
    margin: 0px 6px;
}
#btn-top-mobile.expanded .second-row {
    flex-direction: column;
    width: 100%;
}

/* Items vertical avec texte */
#btn-top-mobile.expanded .menu-item {
    justify-content: flex-start;
    gap: 10px;
    padding: 8px 10px;
}

/* Texte qui glisse */
#btn-top-mobile.expanded .menu-item .label {
    opacity: 1;
    max-width: 200px;
    /* largeur max pour animation */
}

/* Toggle reste aligné à droite du premier item */
#btn-top-mobile.expanded .menu-toggle {
    align-self: flex-end;
    margin-top: 0;
}

