/* ============================================================
   VOS STYLES D'ORIGINE (CONSERVÉS)
   ============================================================ */
.admin-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 20px;
    padding-bottom: 20px;
}
.menu-bloc {
    border: 1px solid #ddd;
    border-radius: 4px;
    background: #fff;
    margin-bottom: 20px;
    overflow: hidden;
}
.menu-bloc-header {
    background-color: #428e9b; 
    color: white;
    padding: 10px;
    font-weight: bold;
}
.menu-bloc-body {
    padding: 10px;
}
.admin-link {
    display: block;
    text-decoration: none;
    color: #2c3e50;
    padding: 6px 0;
    font-size: 0.9em;
    transition: 0.2s;
    border-bottom: 1px solid #f9f9f9;
}
.admin-link i {
    color: #e58338;
    margin-right: 8px;
    width: 18px;
    text-align: center;
}

/* ============================================================
   VOTRE ENTÊTE DE MODULE DE GESTION (CORRIGÉ POUR LE CENTRAGE)
   ============================================================ */
.module-header-container {
    width: 1000px;
    margin: 20px auto 0 auto;
    background-color: #428e9b; /* Fond bleu canard */
    color: #ffffff;
    padding: 15px 20px;
    border-radius: 8px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.module-header-text {
    flex: 1;             /* FORCE le bloc de texte à occuper tout l'espace du milieu */
    text-align: center;  /* Centre tout ce qui est à l'intérieur */
}

.module-header-text h2 {
    margin: 0 0 5px 0;
    font-size: 1.4em;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-align: center;  /* Aligne le texte du titre au centre */
}

.module-header-text p {
    margin: 0;
    font-size: 0.9em;
    opacity: 0.9;
    font-style: italic;
    text-align: center;  /* Aligne le texte de la description au centre */
}
.btn-back-menu {
    display: inline-block;
    padding: 10px 18px;
    background-color: #e58338; /* Orange citrouille */
    color: #fff;
    text-decoration: none;
    border-radius: 4px;
    font-size: 0.9em;
    font-weight: bold;
    transition: background 0.2s;
    white-space: nowrap;
}
.btn-back-menu:hover {
    background-color: #2c3e50;
}

/* ============================================================
   STYLES POUR LES MENUS EN ESCARGOT (SPIRALE)
   ============================================================ */
.gm-star-container {
    position: relative;
    width: 700px;
    height: 700px;
    margin: 40px auto; /* Centre le menu dans la zone main */
}

.gm-item-star {
    position: absolute;
    width: 180px;
    height: 150px;
    background: white;
    border-bottom: 5px solid #ccc;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end; 
    text-decoration: none;
    color: #333;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    transition: transform 0.2s ease-in-out;
    padding-bottom: 8px; 
    overflow: hidden; 
}

.gm-item-star .icn-sousmenu { 
    font-size: 45px; 
    margin-bottom: 20px; 
}

.gm-item-star span { 
    font-size: 10px; 
    font-weight: bold; 
    text-align: center; 
    text-transform: uppercase;
    line-height: 1.2;
    padding: 0 5px;
}

/* Positions spécifiques des éléments de la spirale */
.pos-1 { top: 40%; left: 40%; border-bottom-color: #e91e63 !important; }
.pos-2 { top: 0%;  left: 40%; border-bottom-color: #e58338 !important; }
.pos-3 { top: 15%; left: 80%; border-bottom-color: #428e9b !important; }
.pos-4 { top: 43%; left: 85%; border-bottom-color: #9b59b6 !important; }
.pos-5 { top: 75%; left: 80%; border-bottom-color: #ff0000 !important; }
.pos-6 { top: 80%; left: 40%; border-bottom-color: #1abc9c !important; }
.pos-7 { top: 75%; left: 0%;  border-bottom-color: #f1c40f !important; }
.pos-8 { top: 43%; left: -5%; border-bottom-color: #007bff !important; }
.pos-9 { top: 15%; left: 0%;  border-bottom-color: #34495e !important; }

.gm-item-star:hover { 
    transform: scale(1.05); 
    box-shadow: 0 6px 12px rgba(0,0,0,0.15);
    z-index: 20;
}

.img-menu-spirale {
    width: 180px;           
    height: 120px;          
    object-fit: cover;     
    margin-bottom: 8px;
}