/* Mise en page de base */
.booksy-columns-container {
  --booksy-gap: clamp(16px, 3vw, 50px);
  display: flex;
  flex-wrap: wrap;
  gap: var(--booksy-gap);
  align-items: flex-start;
}
.booksy-column {
  min-width: 280px;
  flex: 1 1 0%;
  transition: flex-basis .25s ease, max-width .25s ease, margin .25s ease, transform .25s ease;
}

/* Largeur fixe selon le nombre de colonnes (desktop) */
.booksy-columns-container.booksy-cols-1 .booksy-column { flex: 0 0 100% !important; max-width: 100% !important; min-width: 0; }
.booksy-columns-container.booksy-cols-2 .booksy-column { flex: 0 0 calc((100% - var(--booksy-gap)) / 2) !important;  max-width: calc((100% - var(--booksy-gap)) / 2) !important;  min-width: 0; }
.booksy-columns-container.booksy-cols-3 .booksy-column { flex: 0 0 calc((100% - 2*var(--booksy-gap)) / 3) !important; max-width: calc((100% - 2*var(--booksy-gap)) / 3) !important; min-width: 0; }
.booksy-section { margin-top: 40px; }
.booksy-services { margin: 0; }
.booksy-services li { gap: 12px; }
.booksy-services li .infos { display: inline-block; text-align: right; }

/* Tablette: resserrer l'espacement, favoriser 2 colonnes grâce au min-width */
@media screen and (max-width: 1024px) {
  .booksy-columns-container { --booksy-gap: 28px; gap: var(--booksy-gap); }
  .booksy-section { margin-top: 32px !important; }
}

/* Mobile: forcer 1 colonne, empiler le nom/prix/durée et alléger les espacements */
@media screen and (max-width: 767px) {
  .booksy-columns-container { flex-direction: column !important; --booksy-gap: 20px; gap: var(--booksy-gap); }
  .booksy-column { min-width: 0; flex: 1 1 auto !important; max-width: 100% !important; }
  /* Forcer 1 colonne pleine largeur, quelles que soient les classes de colonnes */
  .booksy-columns-container.booksy-cols-1 .booksy-column,
  .booksy-columns-container.booksy-cols-2 .booksy-column,
  .booksy-columns-container.booksy-cols-3 .booksy-column {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }
  .booksy-section { margin-top: 24px !important; }
  .booksy-services { line-height: 28px !important; padding: 8px !important; border-radius: 20px !important; }
  .booksy-services li { flex-direction: column !important; align-items: flex-start !important; justify-content: flex-start !important; padding: 10px 8px !important; gap: 6px; }
  .booksy-services li .infos { text-align: left !important; }
}

/* Très petit mobile: compacter encore un peu */
@media screen and (max-width: 420px) {
  .booksy-columns-container { --booksy-gap: 16px; gap: var(--booksy-gap); }
  .booksy-services { line-height: 26px !important; }
}

/* Centrage de la colonne survolée (desktop) */
.booksy-columns-container.centered { justify-content: center !important; }
.booksy-columns-container.centered .booksy-column { flex: 0 1 320px !important; }
.booksy-columns-container.centered .booksy-column.is-center {
  flex: 0 1 min(100%, 760px) !important;
  margin-left: auto;
  margin-right: auto;
}

/* Désactiver l'effet de centrage sur mobile */
@media screen and (max-width: 767px) {
  .booksy-columns-container.centered .booksy-column,
  .booksy-columns-container.centered .booksy-column.is-center {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}
