.required:after{
    content:" *";
    color:red;
}

.flex-between-center {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}

.flex-center-center {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

form .flex-between-center > *, form .flex-center-center > *{
    margin: 0 !important;
}

.cursor-pointer{cursor:pointer}

.handle{
    cursor: grab !important;
}

label[for] {
    cursor: pointer;
}

.js-autocompleteArea{position:relative}
.js-autocompleteSearch{}
.js-autocompleteList {
    display: none;
    padding:0;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 100;
    width: 100%;
    max-height: 150px;
    overflow-x: auto;
    background: white;
    border: 1px solid;
    list-style:none;
    line-height: 13px;
}
.js-autocompleteList li{
    padding:10px;
    cursor: pointer;
}
.js-autocompleteList li:hover{
    background: #eee;
}

figure {
  display: flex;
  flex-flow: column;
  padding: 5px;
  margin: auto;
}

figcaption {
  background-color: #222;
  color: #fff;
  font: italic smaller sans-serif;
  padding: 3px;
  text-align: center;
}

body.no-scroll {
  overflow: hidden;
  height: 100vh; /* pour éviter un léger décalage sur mobile */
}