body {
  font-family: 'Ropa Sans', sans-serif!important;
  font-weight:normal!important;
  padding: 0px!important;
  background-image: url(/public/img/theme/general/fond-bleu.jpg);
  background-repeat: no-repeat;
  background-position: top;
  background-attachment: fixed;
}

#loader {
  z-index: 1200!important;
}

.cookieText {
  padding: 5px;
  color: #fff;
  background-color: #333;
  border:none;
}
.modal.show {
  display: block!important;
  background-color: rgba(0,0,0,0.8);
}

.filiale-group {
  opacity: 0;
  transform: translateY(-8px);
  transition: all 0.3s ease;
}
.filiale-group.show {
  opacity: 1;
  transform: translateY(0);
}

.cardAccount {
  margin-left: auto;
  margin-right: auto;
  max-width: 600px;
  width: 100%;
  display: flex;
  flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: border-box;
  border: 1px solid rgba(0,0,0,.125);
  border-radius: .25rem;
}

.card-footer {
  margin-top: 20px;
  text-align: center;
}

.auth-header {
  padding: .5rem 1rem;
  background-color: indianred!important;
  color: white;
  font-size: 22px;
  text-align: center;
}

/*//////////////////////////////////////////////////////////////////////////////
///////////////////       ADD PARTICIPANT       /////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
Le bouton doit être positionné comme conteneur pour les éléments flottants */
#btn-add-libre-previsionnel { position: relative; overflow: visible; }

/* Badge compteur collé au bouton */
.click-counter-badge{
  position: absolute;
  top: -8px; right: -8px;
  min-width: 22px; height: 22px;
  padding: 0 6px;
  border-radius: 999px;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 12px; font-weight: 700;
  background: #198754; color: #fff; box-shadow: 0 2px 6px rgba(0,0,0,.2);
  transform-origin: center; transition: transform .12s ease;
}
.click-counter-badge.pop{ animation: pop .18s ease; }
@keyframes pop{ 0%{transform: scale(.6)} 100%{transform: scale(1)} }

.click-counter-badge.shake{ animation: shake .35s ease; }
@keyframes shake{
  0%,100%{ transform: translateX(0) }
  20%{ transform: translateX(-3px) }
  40%{ transform: translateX(3px) }
  60%{ transform: translateX(-2px) }
  80%{ transform: translateX(2px) }
}

/* "+1" qui s’envole */
.float-plus{
  position: absolute; left: 50%; top: 0;
  transform: translate(-50%, -10px);
  font-weight: 700;
  pointer-events: none;
  animation: rise .6s ease-out forwards;
}
@keyframes rise{
  0%{ opacity: 0; transform: translate(-50%, 4px) scale(.9); }
  20%{ opacity: 1; }
  100%{ opacity: 0; transform: translate(-50%, -22px) scale(1.05); }
}

.perso-toolbar{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}
.perso-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;margin-top:1rem}
.perso-card{border:1px solid var(--bs-border-color);border-radius:1rem;padding:1rem;background:var(--bs-body-bg);transition:transform .12s,box-shadow .12s}
.perso-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.08)}
.perso-card .head{display:flex;align-items:center;gap:.75rem}
.perso-avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-weight:700;border:1px solid var(--bs-border-color)}
.perso-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.perso-chip{padding:.25rem .5rem;border-radius:999px;font-size:.8rem;border:1px solid var(--bs-border-color)}
.perso-pill{padding:.25rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600}
.perso-divider{height:1px;background:var(--bs-border-color);margin:.75rem 0}

.modal-detail .card {
    border-radius: 0.5rem;
}
.modal-detail .card-header {
    font-weight: 600;
    letter-spacing: .03em;
}
.modal-detail .card-body p {
    margin-bottom: .25rem;
}
.modal-detail span {
    color: #212529;
}