/* ===============================
   Sidebar principale
   =============================== */
.sidebar {
    width: 250px; /* Largeur pleine */
    background: var(--primary-color-gradient);
    color: white;
    height: 100%;
    overflow: hidden;
    transition: width 0.3s ease, left 0.3s ease; /* animation fluide */
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
}

/* Sidebar en mode mini (icônes seulement) */
.sidebar.sidebar-mini {
    width: 60px; /* largeur réduite pour icônes seulement */
}

/* Liste principale */
.sidebar ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

/* Item de la sidebar */
.sidebar-item {
    display: block;
}

/* Liens et titres des items */
.sidebar-link,
.sidebar-item-title {
    display: flex;
    align-items: center;
    padding: 12px 20px;
    color: white;
    text-decoration: none;
    font-weight: 500;
}

/* Hover */
.sidebar-link:hover,
.sidebar-item-title:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

/* Icones */
.sidebar-link i,
.sidebar-item-title i {
    width: 20px;
    text-align: center;
    margin-right: 10px;
}

/* Texte des labels */
.label {
    transition: opacity 0.3s, margin 0.3s;
}

/* Masquer texte en mode mini */
.sidebar.sidebar-mini .label {
    opacity: 0;
    pointer-events: none;
    margin-left: 0;
}

/* Sous-listes (sous-menus) */
.sidebar-sublist {
    display: block;
    padding-left: 20px;
}

.sidebar-sublist .sidebar-link {
    margin-left: 20px;
}

/* Cacher sous-menus en mode mini */
.sidebar.sidebar-mini .sidebar-sublist {
    display: none;
}

/* ===============================
   Main-wrapper (contenu principal)
   =============================== */
.main-wrapper {
    margin-left: 250px; /* marge par défaut = largeur sidebar pleine */
    width: calc(100% - 250px); /* largeur restante */
    transition: margin-left 0.3s ease, width 0.3s ease; /* animation fluide */
    flex: 1;
}

/* Synchronisation sidebar mini → main-wrapper */
body.sidebar-mini .main-wrapper {
    margin-left: 60px; /* largeur sidebar mini */
    width: calc(100% - 60px);
}

/* ===============================
   Responsive mobile
   =============================== */
@media (max-width: 768px) {
    .sidebar {
        left: -250px; /* cacher la sidebar par défaut */
        width: 250px;
        transition: left 0.3s ease;
    }
    .sidebar.active {
        left: 0; /* afficher la sidebar */
    }

    #sidebar-toggle {
        left: auto;
        right: 0; /* bouton à droite sur mobile */
    }

    .main-wrapper {
        margin-left: 0;
        width: 100%; /* contenu prend toute la largeur */
    }
}
