.bf-booking{max-width:1000px;margin:0 auto;padding:30px 15px;color:#555}.bf-booking-header{text-align:center;margin-bottom:40px}.bf-booking h1{color:#956850;font-size:36px}.bf-step,.bf-summary,.bf-bank{background:#fff;border-radius:12px;padding:28px;margin-bottom:25px;box-shadow:0 8px 25px rgba(0,0,0,.06)}.bf-booking h2{color:#956850;font-size:23px;margin:0 0 20px}.bf-workshops{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.bf-workshop{display:block;border:1px solid #eadfd8;border-radius:10px;padding:20px;cursor:pointer}.bf-workshop input,.bf-slot input{margin-right:8px}.bf-workshop-content span{display:block;margin-top:8px}.bf-workshop-content strong{font-size:19px;color:#956850}.bf-price{font-weight:700}.bf-booking select{width:100%;max-width:420px;padding:12px;border:1px solid #ddd;border-radius:6px;background:#fff}.bf-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.bf-slot{border:1px solid #eadfd8;border-radius:10px;padding:18px;cursor:pointer}.bf-slot span,.bf-slot small{display:block}.bf-slot small{margin-top:7px;opacity:.7}.bf-note{font-size:14px}.bf-summary{background:#faf0e8}.bf-submit{display:block;margin:25px auto 0;padding:14px 28px;font-size:16px}.bf-errors{background:#fff0f0;border:1px solid #e7baba;padding:15px;margin-bottom:20px}.bf-errors p{margin:4px 0;color:#a33}.bf-confirmation{text-align:center}.bf-confirmation-icon{font-size:45px;color:#6a9b6a}.bf-confirmation .bf-summary,.bf-confirmation .bf-bank{text-align:left;max-width:700px;margin-left:auto;margin-right:auto}.bf-bank{background:#faf0e8}@media(max-width:767px){.bf-workshops,.bf-slots{grid-template-columns:1fr}.bf-booking h1{font-size:30px}.bf-step,.bf-summary,.bf-bank{padding:20px}}


.bf-customer-fields { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.bf-field label { display:block; margin-bottom:6px; font-weight:600; }
.bf-field input { width:100%; box-sizing:border-box; }
@media (max-width:767px) { .bf-customer-fields { grid-template-columns:1fr; } }

.bf-payment-details{margin:20px 0;padding:18px;background:#fff;border:1px solid #eadfd8;border-radius:8px}
.bf-payment-details p{display:flex;justify-content:space-between;gap:20px;margin:9px 0;align-items:flex-start}
.bf-payment-details span{font-weight:600}
.bf-payment-details strong{text-align:right;word-break:break-word}
.bf-payment-instructions{white-space:pre-line}
@media(max-width:767px){.bf-payment-details p{display:block}.bf-payment-details strong{display:block;text-align:left;margin-top:4px}}


.bf-terms .js-terms {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  line-height: 1.5;
  cursor: pointer;
}
.bf-terms .js-terms input {
  margin-top: 4px;
  flex: 0 0 auto;
}
.bf-terms a {
  text-decoration: underline;
}

/* Conditions générales et politique de confidentialité en modale */
.bf-legal-check{display:flex;align-items:flex-start;gap:9px;line-height:1.5;margin:0 0 14px;cursor:pointer}
.bf-legal-check input{flex:0 0 auto;margin-top:4px}
.bf-legal-check a{text-decoration:underline}
.bf-legal-modal{display:none;position:fixed;inset:0;z-index:99999}
.bf-legal-modal.is-open{display:block}
.bf-legal-modal-overlay{position:absolute;inset:0;background:rgba(0,0,0,.65)}
.bf-legal-modal-dialog{position:relative;z-index:1;width:min(900px,calc(100% - 30px));height:min(760px,calc(100% - 40px));margin:20px auto;background:#fff;border-radius:8px;box-shadow:0 10px 40px rgba(0,0,0,.3);overflow:hidden}
.bf-legal-modal-dialog h2{margin:0;padding:18px 55px 16px 20px;border-bottom:1px solid #ddd}
.bf-legal-modal-close{position:absolute;top:7px;right:10px;z-index:2;width:40px;height:40px;border:0;background:transparent;font-size:32px;line-height:1;cursor:pointer}
.bf-legal-modal-body{height:calc(100% - 70px)}
.bf-legal-modal-body iframe{display:block;width:100%;height:100%;border:0}
body.bf-legal-modal-open{overflow:hidden}
@media(max-width:767px){.bf-legal-modal-dialog{width:calc(100% - 16px);height:calc(100% - 16px);margin:8px auto}.bf-legal-modal-dialog h2{font-size:20px}}
