span.fa {
  color: var(--gin-color-primary) !important;
}

/* Dans un bouton primaire (fond coloré), l'icône doit hériter la couleur du texte (blanc). */
.button--primary span.fa,
.button--danger span.fa {
  color: inherit !important;
}

.badge {
  display: inline-block;
  background: var(--gin-color-primary);
  color: white;
  padding: 0.2em 0.5em;
  border-radius: 10px;
  margin: 1px;
  font-size: 0.8em;
  border: transparent 1px solid;
}

.badge-primary span.fa {
  color: white !important;
}

.badge-secondary {
  background: var(--gin-color-primary-light);
  color: var(--gin-color-primary);
}

a:hover .badge-primary,
.badge-negative {
  background: transparent;
  color: var(--gin-color-primary) !important;
  border: var(--gin-color-primary) 1px solid;
}

.page-title .badge {
  font-size: 0.5em;
}

.page-title .admin-list {
  font-size: 0.5em;
  margin-top: -10px;
  margin-bottom: 10px;
}



.padding {
  padding: 1em;
}

.border {
  border: lightGrey 1px solid;
}

.border-bottom {
  border-bottom: lightGrey 1px solid;
}

.rounded {
  border-radius: 5px;
}

.rounded-pill {
  border-radius: 50px / 50%;
}

.badge a {
  color: white;
}

.text-PRI {
  color: #A00;
}

.text-RES {
  color: #C60;
}

.text-PUB {
  color: #0A0;
}

.text-success {
  color: green !important;
}

.text-danger {
  color: red !important;
}

.text-disabled {
  opacity: 0.6 !important;
}

.text-warning {
  color: orange !important;
}

.text-right {
  text-align: right;
}

.text-center {
  text-align: center;
}

table tr:hover {
  background: var(--gin-color-primary-light) !important;
}


form h4.label {
  font-size: 1.2em;
}


small {
  font-size: 0.7em;
}

img {
  border-radius: 10%;
}

/*
 * Classes générales spécifiques
 */

span.lent-YES {
  color: rgba(125, 80, 0, 1);
}

span.lent-NO {
  color: rgba(0, 100, 0, 1);
}

span.lent-LATE {
  color: rgba(100, 0, 0, 1);
}

span.membership-OK {
  color: rgba(0, 100, 0, 1);
}

span.membership-PARTIAL,
span.membership-UNPAID {
  color: rgba(125, 80, 0, 1);
}

span.membership-NONE {
  color: rgba(100, 0, 0, 1);
}

span.payment-OK {
  color: rgba(0, 100, 0, 1);
}

span.payment-PARTIAL {
  color: rgba(125, 80, 0, 1);
}

span.payment-NONE {
  color: rgba(100, 0, 0, 1);
}


span.condition-NEW {
  color: rgba(0, 240, 0, 1);
}

span.condition-GOO {
  color: rgba(0, 170, 120, 1);
}

span.condition-COR {
  color: rgba(0, 0, 220, 1);
}

span.condition-BAD {
  color: rgba(200, 100, 0, 1);
}

span.condition-FIX {
  color: rgba(220, 0, 0, 1);
}

span.condition-TRA {
  color: rgba(0, 0, 0, 1);
}

span.complete-INC {
  color: rgba(220, 0, 0, 1);
}

img.lang {
  width: 20px;
  height: 20px;
}


header.region {
  margin: 30px 0;
}

.tabs.tabs--primary {
  padding-bottom: 30px;
}



/******************************************************************
 * Formulaires
 * ****************************************************************/

/*
 *  Adhésions
 */

form.membership-form .field--type-payment .fieldset-wrapper {
  clear: both;
}

form.membership-form .field--type-payment .form-type-date,
form.membership-form .field--type-payment .form-type-number {
  display: block;
  width: 40%;
  float: left;
}


/******************************************************************
 * Pages contenu
 * ****************************************************************/

/*
 * Page jeu
 */

.boardgame-page .field--name-boardgame_users_infos {
  display: inline-block;
  border: rgba(0, 0, 0, 0.2) 1px solid;
  background: rgba(0, 0, 0, 0.1);
  border-radius: 5px;
  padding: 10px;
  font-size: 1.1em;
}

.boardgame-page .field--name-boardgame_expansions ul,
.boardgame-page .field--name-boardgame_variants ul {
  padding-left: 0;
}

.boardgame-page .field--name-boardgame_expansions ul li,
.boardgame-page .field--name-boardgame_variants ul li {
  list-style-type: none;
}

.boardgame-page .field--name-expansion {
  border: rgba(0, 0, 0, 0.6) 1px solid;
  border-radius: 5px;
  padding: 10px;
}

.boardgame-page .field--name-description {
  background: rgba(0, 0, 0, 0.1);
  border: rgba(0, 0, 0, 0.6) 1px solid;
  border-left-width: 5px;
  padding: 10px;
}

.field--name-philibert-btn {
  text-align: center;
}

.field--name-philibert-btn .label {
  display: block;
  font-size: 1em;
}

.field--name-philibert-btn img {
  height: 50px;
}

/*
 * Page exemplaire
 */

.copy-page #col-copy {
  background: rgba(0, 0, 0, 0.1);
  padding: 15px;
}

.copy-page #col-boardgame {
  text-align: center;
}

.copy-page #col-boardgame {
  text-align: center;
}

.copy-page #col-boardgame .field--name-pictures img {
  margin: auto;
}

.copy-page #col-boardgame .field--name-bg-id {
  border: rgba(0, 0, 0, 0.1) 2px solid;
  padding: 15px;
}

.copy-page #col-lent .field--name-lents,
.copy-page #col-lent .field--name-availability {
  border: rgba(0, 0, 0, 0.1) 2px solid;
  padding: 15px;
}

/*
 * Page partie
 */

.game-page .boardgame-infos {
  border: rgba(0, 0, 0, 0.2) 1px solid;
  border-radius: 5px;
  padding: 10px;
  text-align: center;
}

.game-page .boardgame-infos .field--name-boardgame_profile {
  font-size: 1.2em;
  padding: 10px 5px;
}


/******************************************************************
 * Vues
 * ****************************************************************/

/*
 * Homepage
 */

.homepage h2 {
  border-left: var(--gin-color-primary) 5px solid;
  border-bottom: var(--gin-color-primary) 1px solid;
  padding: 5px 15px 5px 20px;
}

.homepage h3 {
  border-top: rgba(0, 0, 255, 0.1) 1px solid;
  text-align: center;
}

.view-homepage-last-games,
.view-homepage-last-boardgames {
  /*background: rgba(0,0,255,0.1);*/
  padding: 10px;
  border-radius: 3px;
}

.homepage .jcarousel-wrapper {
  height: 350px;
}

.homepage .jcarousel-wrapper .jcarousel {
  height: 350px;
}

.homepage ul.jcarousel-container-horizontal {
  list-style-type: none;
  padding: 20px 10px;
}

.homepage ul.jcarousel-container-horizontal>li {
  margin: 20px;
}

.view-homepage-last-lents ul.row>li,
.view-homepage-last-games ul.row>li,
.view-homepage-last-boardgames ul.row>li {
  text-align: center;
  padding: 15px;
}

.view-homepage-last-boardgames ul.row>li h3 {
  font-size: 1.2em;
  height: 2em;
}

.view-homepage-last-boardgames ul li .views-field-age,
.view-homepage-last-lents ul li .views-field-pictures-target-id,
.view-homepage-last-games ul li .views-field-pictures-target-id,
.view-homepage-last-boardgames ul li .views-field-pictures-target-id,
.view-homepage-last-boardgames ul li .views-field-players__from,
.view-homepage-last-boardgames ul li .views-field-time__from {
  display: inline-block;
}

.view-homepage-last-boardgames ul li .views-field-age,
.view-homepage-last-boardgames ul li .views-field-players__from,
.view-homepage-last-boardgames ul li .views-field-time__from {
  padding: 1px 3px;
}



/*
 * Header
 */



.view-header {
  text-align: center;
}


/*
 * Filtres
 */
.views-exposed-form fieldset {
  border-color: var(--gin-color-primary) !important;
  background: var(--gin-color-primary-light) !important;
}

.views-exposed-form fieldset.filled {
  border-color: var(--gin-color-primary) !important;
  background: var(--gin-color-primary-light) !important;
}

.views-exposed-form fieldset .fieldset__label {
  color: var(--gin-color-primary)
}

.views-exposed-form fieldset.filled .fieldset__label {
  color: var(--gin-color-primary)
}

.views-exposed-form fieldset.filled .filled {
  background: var(--gin-color-primary) !important;
  color: white !important;
}


/*
 * Pagination
 */
ul.pager__items li.is-active a {
  background: var(--gin-color-primary);
  color: white;
  border-color: var(--gin-color-primary);
}


/*
 * Liste des exemplaires
 */

tr.lent-YES {
  background: rgba(180, 130, 0, 0.15) !important;
}

tr.lent-YES .storage {
  text-decoration: line-through;
}

tr.lent-LATE {
  background: rgba(255, 0, 0, 0.15) !important;
}

tr.lent-LATE .storage {
  text-decoration: line-through;
}

.view-copies-list .condition,
.view-copies-list .complete {
  padding: 2px 5px;
  font-size: 1.2em;
}

.view-copies-list .title {
  font-size: 1.2em;
  font-variant: small-caps;
  font-weight: bold;
}

.view-copies-list .languages {
  padding-top: 10px;
}

.views-field-nothing-1,
.views-field-nothing-2 .languages,
.views-field-nothing-2 .infos {
  font-size: 0.8em;
}

/*
 * Liste des adhérents
 */

tr.membership-OK {
  background: rgba(0, 255, 0, 0.15) !important;
}

tr.membership-PARTIAL,
tr.membership-UNPAID {
  background: rgba(180, 130, 0, 0.15) !important;
}

tr.membership-NONE {
  background: rgba(255, 0, 0, 0.15) !important;
}

/*
 * Liste des adhésions
 */

tr.payment-OK {
  background: rgba(0, 255, 0, 0.15) !important;
}

tr.payment-PARTIAL {
  background: rgba(180, 130, 0, 0.15) !important;
}

tr.payment-NONE {
  background: rgba(255, 0, 0, 0.15) !important;
}



/*
 * Liste des mécanismes / thèmes
 */

.view-mechanisms-list ul,
.view-themes-list ul {
  list-style-type: none;
  padding: 20px 10px;
}

.view-mechanisms-list ul li,
.view-themes-list ul li {
  margin: 0;
}

.view-mechanisms-list ul li a,
.view-themes-list ul li a {
  display: block;
  padding: 3px 8px;
}

.view-mechanisms-list ul li a:hover,
.view-themes-list ul li a:hover {
  display: block;
  background: var(--gin-color-primary);
  color: white;
  border-radius: 3px;
}

/*
 * Wishlist
 */

.view-wishlist h2 {
  border: var(--gin-color-primary) 1px solid;
  background: var(--gin-color-primary);
  color: white;
  padding: 5px 25px 5px 40px;
  border-radius: 25px 0 0 25px;
}

.view-wishlist h2::before {
  display: block;
  background: red;
  height: 50px;
  width: 10px;
  border: red 1px dotted;
}

.view-wishlist ul {
  list-style-type: none;
  padding: 20px 10px;
}

.view-wishlist ul li {
  margin: 0;
}

.view-wishlist ul.row>li {
  text-align: center;
  padding: 15px;
}

.view-wishlist ul.row>li .row-content {
  border: var(--gin-color-primary) 1px solid;
  padding: 10px;
  border-radius: 3px;
}

.view-wishlist ul.row>li h3 {
  font-size: 1.2em;
  height: 2em;
}

.view-wishlist ul li .views-field-age,
.view-wishlist ul li .views-field-pictures-target-id,
.view-wishlist ul li .views-field-players__from,
.view-wishlist ul li .views-field-time__from {
  display: inline-block;
}

.view-wishlist ul li .views-field-age,
.view-wishlist ul li .views-field-players__from,
.view-wishlist ul li .views-field-time__from {
  padding: 1px 3px;
}

.view-wishlist .views-field-my-bgm-actions {
  position: relative;
  margin-top: 1em;
}

.view-wishlist .dropbutton-wrapper {
  position: absolute;
  min-width: 100%;
}

/******************************************************************
 * Formulaires
 * ****************************************************************/

input,
select,
textarea {
  border: var(--gin-color-primary) 1px solid !important;
}

.field--type-datetime label.label {
  font-size: 1em;
}

ul.ui-autocomplete li a {
  display: block;
  padding: 3px;
}

ul.ui-autocomplete li a:hover {
  background: var(--gin-color-primary-light);
  border: transparent 1px solid;
}

/* ============================================================
 * Gin sidebar – section de navigation BGM custom
 * ============================================================ */

/* Icônes FontAwesome pour les items BGM de la sidebar Gin.
 * Le Kit FA (ml_gin.libraries.yml) convertit les <span class="fa fa-xxx">
 * en SVG. On désactive le sprite SVG de Gin (::before mask-image) pour
 * éviter les doublons d'icônes ; les icônes FA sont injectées directement
 * dans le template via menu-region--middle.html.twig.
 * Correspondances (depuis MenuBlock + TwigExtension::getIconByType()) :
 *   ml.clubs        → fa-user-circle
 *   ml.libraries    → fa-cubes
 *   ml.database     → fa-database
 *   ml.translation  → fa-globe-europe
 *   ml.home         → fa-home
 */
.toolbar-link--ml-clubs::before,
.toolbar-link--ml-libraries::before,
.toolbar-link--ml-database::before,
.toolbar-link--ml-translation::before,
.toolbar-link--ml-home::before {
  content: none;
}

/* Taille et couleur des icônes FA dans la sidebar Gin */
.toolbar-link--ml-clubs .fa,
.toolbar-link--ml-libraries .fa,
.toolbar-link--ml-database .fa,
.toolbar-link--ml-translation .fa,
.toolbar-link--ml-home .fa {
  width: 20px;
  min-width: 20px;
  font-size: 15px;
  color: var(--color-gray-800);
  text-align: center;
  flex-shrink: 0;
}

/* Marge à droite en mode sidebar étendue (identique au sprite Gin) */
.admin-toolbar-expanded .toolbar-link--ml-clubs .fa,
.admin-toolbar-expanded .toolbar-link--ml-libraries .fa,
.admin-toolbar-expanded .toolbar-link--ml-database .fa,
.admin-toolbar-expanded .toolbar-link--ml-translation .fa,
.admin-toolbar-expanded .toolbar-link--ml-home .fa {
  margin-inline-end: 10px;
}

/* Séparateur visuel entre la section BGM et la section admin. */
.toolbar-block__content--ml-navigation {
  border-bottom: 1px solid var(--gin-border-color-secondary, rgba(0, 0, 0, .12));
  padding-bottom: 0.25rem;
  margin-bottom: 0.25rem;
}

/* ============================================================
 * Gin sidebar – sous-menus BGM toujours dépliés
 *
 * La classe .toolbar-menu__item--expanded est gérée par le JS de Gin
 * (navigation.js) qui peut la retirer via closeAllSubmenus().
 * On force ici l'état déplié via CSS :has() pour les items BGM
 * uniquement, sans toucher au comportement Gin sur les autres items.
 *
 * Classes des boutons (plugin_id → str_replace('.','_') → clean_class) :
 *   ml.home           → ml_home           → toolbar-link--ml-home
 *   ml.clubs          → ml_clubs          → toolbar-link--ml-clubs
 *   ml.libraries      → ml_libraries      → toolbar-link--ml-libraries
 *   ml.database       → ml_database       → toolbar-link--ml-database
 *
 * La règle n'est active que si la sidebar est étendue (.admin-toolbar-expanded)
 * car afficher un sous-menu en mode icône-seule n'a pas de sens.
 * ============================================================ */

/* Styles visuels de l'état "déplié" sur le <li> */
.admin-toolbar-expanded .toolbar-menu__item:has(> a.toolbar-link--ml-home),
.admin-toolbar-expanded .toolbar-menu__item:has(> a.toolbar-link--ml-clubs),
.admin-toolbar-expanded .toolbar-menu__item:has(> a.toolbar-link--ml-libraries),
.admin-toolbar-expanded .toolbar-menu__item:has(> a.toolbar-link--ml-database) {
  background-color: var(--gin-color-primary-light);
  font-weight: 700;
  flex-wrap: wrap;
}

/* Forcer l'affichage du sous-menu quelle que soit la classe --expanded */
.admin-toolbar-expanded .toolbar-menu__item:has(> a.toolbar-link--ml-home)>.toolbar-menu__submenu,
.admin-toolbar-expanded .toolbar-menu__item:has(> a.toolbar-link--ml-clubs)>.toolbar-menu__submenu,
.admin-toolbar-expanded .toolbar-menu__item:has(> a.toolbar-link--ml-libraries)>.toolbar-menu__submenu,
.admin-toolbar-expanded .toolbar-menu__item:has(> a.toolbar-link--ml-database)>.toolbar-menu__submenu {
  display: block;
}

.toolbar-menu__item--level-1.ml-nav-link {
  border: 1px solid var(--gin-color-primary-light);
  margin: 2px 0;
}

/* Espace sous le header logo pour les non-admins.
   Sans la section "Créer" (menu_top), le premier item du menu colle trop au logo. */
.ml-gin--no-admin .admin-toolbar__content .admin-toolbar__header {
  margin-bottom: 1rem;
}

.toolbar-menu__item--level-1.ml-nav-link>a {
  font-weight: bold;
}

.toolbar-menu__item--level-1.ml-nav-link.is-active-trail>a,
.toolbar-menu__item--level-2.ml-nav-link.is-active-trail>a {
  background-color: var(--gin-color-primary-light-hover);
  color: var(--gin-color-primary);
}

/* ==========================================================================
   Surcharges de densité de mise en page pour ml_gin.
   Facteurs : default ×1.2 | Compact (medium) ×0.8 | Narrow (small) ×0.4
   Base Gin : xxs=4 | xs=8 | s=12 | m=16 | l=24 | xl=32 | xxl=48 | xxxl=64
   ========================================================================== */

/* Default (×1.2) — surcharge :root car Gin y définit le mode default */
:root,
[data-gin-layout-density=default] {
  --gin-spacing-density-xxs: 0.3rem;
  /* 4.8px  (Gin: 4px)  */
  --gin-spacing-density-xs: 0.6rem;
  /* 9.6px  (Gin: 8px)  */
  --gin-spacing-density-s: 0.9rem;
  /* 14.4px (Gin: 12px) */
  --gin-spacing-density-m: 1.2rem;
  /* 19.2px (Gin: 16px) */
  --gin-spacing-density-l: 1.8rem;
  /* 28.8px (Gin: 24px) */
  --gin-spacing-density-xl: 2.4rem;
  /* 38.4px (Gin: 32px) */
  --gin-spacing-density-xxl: 3.6rem;
  /* 57.6px (Gin: 48px) */
  --gin-spacing-density-xxxl: 4.8rem;
  /* 76.8px (Gin: 64px) */
}

/* Compact (×0.8) */
[data-gin-layout-density=medium] {
  --gin-spacing-density-xxs: 0.2rem;
  /* 3.2px  (Gin: 3px)  */
  --gin-spacing-density-xs: 0.4rem;
  /* 6.4px  (Gin: 6px)  */
  --gin-spacing-density-s: 0.6rem;
  /* 9.6px  (Gin: 9px)  */
  --gin-spacing-density-m: 0.8rem;
  /* 12.8px (Gin: 12px) */
  --gin-spacing-density-l: 1.2rem;
  /* 19.2px (Gin: 18px) */
  --gin-spacing-density-xl: 1.6rem;
  /* 25.6px (Gin: 24px) */
  --gin-spacing-density-xxl: 2.4rem;
  /* 38.4px (Gin: 36px) */
  --gin-spacing-density-xxxl: 3.2rem;
  /* 51.2px (Gin: 48px) */
}

/* Narrow (×0.4) */
[data-gin-layout-density=small] {
  --gin-spacing-density-xxs: 0.1rem;
  /* 1.6px  (Gin: 2.5px) */
  --gin-spacing-density-xs: 0.2rem;
  /* 3.2px  (Gin: 5px)   */
  --gin-spacing-density-s: 0.3rem;
  /* 4.8px  (Gin: 7.5px) */
  --gin-spacing-density-m: 0.4rem;
  /* 6.4px  (Gin: 10px)  */
  --gin-spacing-density-l: 0.6rem;
  /* 9.6px  (Gin: 15px)  */
  --gin-spacing-density-xl: 0.8rem;
  /* 12.8px (Gin: 20px)  */
  --gin-spacing-density-xxl: 1.2rem;
  /* 19.2px (Gin: 30px)  */
  --gin-spacing-density-xxxl: 1.6rem;
  /* 25.6px (Gin: 40px)  */
}

/* ==========================================================================
   Navigation mobile – sidebar Gin sur petits écrans (< 61em / ~976px)

   Deux éléments assurent le toggle :
   1. .mlgin-mobile-burger  : bouton fixe injecté via PHP, visible quand
      la sidebar est FERMÉE (display:none). Ouvre la sidebar.
   2. .admin-toolbar__logo .toolbar-link--gin-home : lien home dans la
      sidebar, visible quand la sidebar est OUVERTE (overlay). Sur mobile,
      son icône est remplacée par un hamburger et son clic ferme la sidebar.
   ========================================================================== */

/* Burger externe : caché sur desktop et quand la sidebar est ouverte. */
.mlgin-mobile-burger {
  display: none;
}

@media (max-width: 60.99em) {

  /* Cacher le tray classique Drupal sur mobile. */
  .gin--navigation #toolbar-administration {
    display: none !important;
  }

  /* Supprimer le padding réservé au classic toolbar (on le cache sur mobile).
     --gin-toolbar-y-offset est utilisé par region-sticky (inset-block-start) :
     le remettre à 0 colle le sticky tout en haut comme sur desktop. */
  body.gin--navigation {
    padding-block-start: 0 !important;
    padding-inline-start: 0 !important;
    --gin-toolbar-y-offset: 0px;
  }

  /* ---- Burger externe (sidebar fermée) ---- */
  .mlgin-mobile-burger {
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 700;
    width: 56px;
    /* même largeur que la sidebar collapsed Gin */
    height: 56px;
    padding: 0;
    background: var(--gin-color-primary, #0678BE);
    color: #fff;
    border: none;
    border-radius: 0 0 4px 0;
    cursor: pointer;
    box-shadow: 2px 2px 6px rgba(0, 0, 0, .25);
  }

  /* Masquer le burger externe quand la sidebar est étendue. */
  html.admin-toolbar-expanded .mlgin-mobile-burger {
    display: none !important;
  }

  /* ---- Logo home → hamburger (sidebar ouverte en overlay) ---- */
  /* Sur mobile, remplace l'icône Drupal du logo par une icône hamburger. */
  .admin-toolbar__logo .toolbar-link--gin-home::before {
    --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect y='4' width='24' height='2.5' rx='1'/%3E%3Crect y='10.75' width='24' height='2.5' rx='1'/%3E%3Crect y='17.5' width='24' height='2.5' rx='1'/%3E%3C/svg%3E");
  }

  /* ---- Sidebar Gin en overlay quand étendue ---- */
  html.admin-toolbar-expanded body.gin--navigation .admin-toolbar {
    display: flex !important;
    position: fixed;
    z-index: 600;
    inset-block-start: 0;
    inset-inline-start: 0;
    height: 100vh;
    width: 264px;
    overflow-y: auto;
  }

  /* Fond semi-transparent derrière la sidebar. */
  html.admin-toolbar-expanded body.gin--navigation::after {
    content: '';
    position: fixed;
    inset: 0;
    z-index: 599;
    background: rgba(0, 0, 0, 0.4);
  }

  /* ---- Titre de page : marge gauche pour éviter le chevauchement avec le burger ---- */
  /* Le burger fait 56px de large, on réserve au moins cet espace. */
  .region-sticky__items__inner {
    padding-inline-start: 60px;
  }

  /* ---- Boutons d'action : taille réduite, sensible à la densité utilisateur ---- */
  /* Les variables --gin-spacing-density-* sont définies par [data-gin-layout-density]
     sur <html> (réglage ml_gin "layout_density") → compact/medium/comfortable.
     On les réutilise pour que les boutons suivent le choix de l'utilisateur. */
  .region-sticky .button,
  .region-sticky .button:not(:focus),
  .region-sticky .local-actions__item .button,
  .region-sticky .dropbutton__item:first-of-type>*,
  .region-sticky .dropbutton__toggle {
    font-size: var(--gin-font-size-s);
    padding-block: var(--gin-spacing-density-xs);
    padding-inline: var(--gin-spacing-density-s);
  }

  /* ---- Bouton Collapse/Expand : masqué sur mobile (le burger en tient lieu) ---- */
  .admin-toolbar .toolbar-link--sidebar-toggle {
    display: none !important;
  }
}

/* ==========================================================================
   Boutons d'action locale (.button-action) — remplacement de l'icône "+".

   Le CSS core (system/themes) ajoute un "+" via .button-action::before { content: "+"; }.
   ml_gin_preprocess_menu_local_action() injecte l'icône FontAwesome correcte
   dans le titre du lien via TwigExtension::getIconByLabel(). On supprime donc
   ici le "+" générique pour ne pas le doubler.
   ========================================================================== */
.button--action::before,
[dir="rtl"] .button--action::before {
  content: none;
}

/* ==========================================================================
   Barre secondaire Gin (top bar) – masquée dans tous les modes.

   .gin-secondary-toolbar contient le lien "Retour au site" (breadcrumb Gin)
   et la région gin_secondary_toolbar (toolbar classique avec user menu).
   Ces éléments sont remplacés par le menu utilisateur en tête de sidebar.
   ========================================================================== */
body.gin--navigation .gin-secondary-toolbar {
  display: none !important;
}

/* Le toolbar-administration-secondary (classic toolbar secondary) est aussi
   rendu par Drupal hors de .gin-secondary-toolbar — on le masque aussi. */
#toolbar-administration-secondary {
  display: none !important;
}
