
.ac-container {
    width: auto;
    text-align: left;
    overflow-y: auto;
    overflow-x: hidden;
    height: auto;
    font-family: 'Arial Narrow', Arial, sans-serif;
    border: 1px solid #ccc; /* bordure de la boîte entière */
    border-radius: 0; /* carrées */
    background-color: #f9f9f9; /* fond général gris très clair */
}

/* --- Labels principaux (titres groupes) --- */
div[id^="leaflet-control-accordion-layers"] > label {
    font-family: 'Arial Narrow', Arial, sans-serif;
    padding: 5px 20px;
    z-index: 20; /*modif*/
    display: flex;
    justify-content: space-between; 
    align-items: center;
    height: 30px;
    cursor: pointer;
    color: #333;
    line-height: 33px;
    font-size: 18px;
    background-color: #e0e0e0; 
    border-bottom: 1px solid #ccc; /* séparation nette */
    position: relative;
    box-sizing: content-box;
    width: auto;
    margin: 0;
}

/* --- Hover sur titre --- */
div[id^="leaflet-control-accordion-layers"] > label:hover {
    background-color: #d0d0d0;
}

/* --- Label actif (ouvert) --- */
.ac-container input.menu:checked + label {
    background-color: #e0e0e0; /* reste gris clair même ouvert */
    color: #000; /* texte noir quand actif */
}

/* --- Arrow icons toujours visibles --- */
div[id^="leaflet-control-accordion-layers"] > label:after {
    content: '\25BC'; /* flèche vers le bas */
    font-size: 14px;
    color: #555;
    transition: transform 0.3s;
    margin-left: 8px; /* espace entre texte et flèche */
}

/* flèche vers le haut quand actif */
.ac-container input.menu:checked + label:after {
    transform: rotate(180deg);
}

/* Contenu des sections accordéon */
.ac-container input.menu {
    display: none;
}

.ac-container article {
    background: rgba(255, 255, 255, 0.5);
    margin-top: -1px;
    overflow: hidden;
    height: 0px;
    padding: 0px;
    line-height: 0px;
    position: relative;
    z-index: 10;
    -webkit-transition: height 0.3s ease-in-out, box-shadow 0.6s linear;
    -moz-transition: height 0.3s ease-in-out, box-shadow 0.6s linear;
    -o-transition: height 0.3s ease-in-out, box-shadow 0.6s linear;
    -ms-transition: height 0.3s ease-in-out, box-shadow 0.6s linear;
    transition: height 0.3s ease-in-out, box-shadow 0.6s linear;
}

.ac-container input.menu:checked ~ article {
    -webkit-transition: height 0.5s ease-in-out, box-shadow 0.1s linear;
    -moz-transition: height 0.5s ease-in-out, box-shadow 0.1s linear;
    -o-transition: height 0.5s ease-in-out, box-shadow 0.1s linear;
    -ms-transition: height 0.5s ease-in-out, box-shadow 0.1s linear;
    transition: height 0.5s ease-in-out, box-shadow 0.1s linear;
}

.ac-container input.menu:checked ~ article.ac-large {
    height: auto;
    max-height: 100px;
    padding: 8px 0;
    overflow-y: auto;
    line-height: 18px;
}

/* Labels dans le contenu */
.ac-container article label {
    display: inline;
    cursor: pointer;
}

/* Options groupes */
.ac-container .group-toggle-container {
    text-align: right;
    margin-right: 3px;
    line-height: 0px;
    display: none;
    height: 20px;
}

.ac-container input.menu:checked ~ .group-toggle-container {
    display: block;
    line-height: 1em;
}

/* Styles checkbox/radio */
.menu-item-radio {
    font-family: 'Arial Narrow', Arial, sans-serif;
    font-size: 13px;
}

.menu-item-checkbox {
    font-family: 'Arial Narrow', Arial, sans-serif;
    font-size: 13px;
    vertical-align: middle;
  margin-right: 4px; 
}

/* Bouton supprimer */
.bt_delete {
    position: relative;
    float: right;
    background-image: url(images/delete.png);
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: 0 0;
    border: none;
    cursor: pointer;
    height: 16px;
    width: 16px;
    vertical-align: middle;
}

/* Styles contrôle Leaflet layers */
.leaflet-control-layers-expanded {
    padding: 5px;
}

.leaflet-control-layers:hover {
    box-shadow: 0 1px 5px rgba(0,0,0,0.4);
    background: #e0e3ec url(images/bgnoise_lg.jpg) repeat top left;
    border-radius: 5px;
}
.ac-container input.menu[type="checkbox"],
.ac-container input.menu[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 16px;
  height: 16px;
  border: 2px solid #555; /* contour gris */
  border-radius: 3px;
  position: relative;
  cursor: pointer;
  vertical-align: middle;
  margin-right: 6px;
  background-color: white;
  transition: background-color 0.3s, border-color 0.3s;
}

/* Cercle pour radio */
.ac-container input.menu[type="radio"] {
  border-radius: 50%;
}

/* Case cochée - fond et bord noir */
.ac-container input.menu[type="checkbox"]:checked,
.ac-container input.menu[type="radio"]:checked {
  background-color: #000;
  border-color: #000;
}

/* Ajouter un "check" (✓) blanc quand cochée (pour checkbox) */
.ac-container input.menu[type="checkbox"]:checked::after {
  content: "✓";
  color: white;
  position: absolute;
  left: 3px;
  top: 0px;
  font-size: 14px;
  font-weight: bold;
  user-select: none;
}

/* Point blanc au centre pour radio cochée */
.ac-container input.menu[type="radio"]:checked::after {
  content: "";
  position: absolute;
  width: 8px;
@ -202,5 +208,4 @@ div[id^="leaflet-control-accordion-layers"] > label:after {
  background: white;
  top: 3px;
  left: 3px;
  user-select: none;
}
