/* XoXo — nouveau design : gabarit booking (vues booking · contact). Mobile first.
   Valeurs reprises des styles inline de designs/Booking Contact.dc.html ; le DOM Bookly et
   Forminator est habillé sans être modifié (classes d'origine conservées). */

/* ═══════════════════════════ BOOKING ═══════════════════════════ */
.xd-page-booking .xd-bk{padding:clamp(100px,11vw,116px) var(--xd-gutter) clamp(48px,6vw,100px)}
.xd-page-booking .xd-bk-head{display:flex;flex-direction:column;gap:14px;margin-bottom:40px;max-width:760px}
.xd-page-booking .xd-bk-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:start}
.xd-page-booking .xd-bk-main{display:flex;flex-direction:column;gap:48px;min-width:0}
.xd-page-booking .xd-bk-step{min-width:0}

/* En-tête d'étape */
.xd-page-booking .xd-bk-sh{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.xd-page-booking .xd-bk-dot{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:600;font-size:16px;background:rgba(255,255,255,.12);color:#fff;flex-shrink:0;transition:background .2s}
.xd-page-booking .is-done>.xd-bk-dot,.xd-page-booking .xd-bk-sh.is-done .xd-bk-dot{background:linear-gradient(135deg,#9d5ce6,#7f45cc)}
.xd-page-booking .xd-bk-h2{margin:0;font-weight:400;font-size:clamp(22px,2.6vw,28px);color:#fff;line-height:1.15}

/* Barre de progression (étapes 2–4, au-dessus du formulaire Bookly) */
.xd-page-booking .xd-bk-steps{display:flex;gap:8px;margin-bottom:22px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.xd-page-booking .xd-bk-steps::-webkit-scrollbar{display:none}
.xd-page-booking .xd-bk-steps-it{display:inline-flex;align-items:center;gap:10px;padding:6px 14px 6px 6px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03);font-size:14px;font-weight:500;color:var(--xd-t4);white-space:nowrap;flex-shrink:0;transition:border-color .2s,color .2s,background-color .2s}
.xd-page-booking .xd-bk-steps-it .xd-bk-dot{width:28px;height:28px;font-size:13px}
.xd-page-booking .xd-bk-steps-it.is-current{color:#fff;border-color:rgba(190,140,255,.7);background:rgba(157,92,230,.2)}
.xd-page-booking .xd-bk-steps-it.is-done{color:#fff}

/* Étape 1 : sélecteur d'hôtesses */
.xd-page-booking .xd-bk-picks{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 4px 12px;margin:0 -4px;scrollbar-width:none}
.xd-page-booking .xd-bk-picks::-webkit-scrollbar{display:none}
.xd-page-booking .xd-bk-picks>*{flex:0 0 min(44%,150px);scroll-snap-align:start}
.xd-page-booking .xd-bk-pick{display:flex;flex-direction:column;gap:8px;color:#fff;text-align:left;min-width:0}
.xd-page-booking .xd-bk-pick:hover{color:#fff}
.xd-page-booking .xd-bk-pick-media{position:relative;display:block;aspect-ratio:2/3;border-radius:16px;overflow:hidden;background:var(--xd-ph);outline:3px solid transparent;outline-offset:2px;transition:outline-color .2s}
.xd-page-booking .xd-bk-pick:hover .xd-bk-pick-media{outline-color:rgba(181,123,240,.5)}
.xd-page-booking .xd-bk-pick.is-selected .xd-bk-pick-media{outline-color:#b57bf0}
.xd-page-booking .xd-bk-pick-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}
.xd-page-booking .xd-bk-pick-noimg{position:absolute;inset:0;display:grid;place-items:center;font-size:40px;font-weight:600;color:var(--xd-t5)}
.xd-page-booking .xd-bk-pick-tag{position:absolute;top:8px;left:8px;font-size:10px;padding:4px 8px;pointer-events:none}
.xd-page-booking .xd-bk-pick-soon{position:absolute;left:0;right:0;bottom:0;padding:22px 8px 8px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#f3e6b8;background:linear-gradient(180deg,rgba(23,11,34,0),rgba(23,11,34,.85));pointer-events:none}
.xd-page-booking .xd-bk-pick-check{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#9d5ce6,#7f45cc);display:grid;place-items:center;pointer-events:none}
.xd-page-booking .xd-bk-pick-text{display:flex;flex-direction:column;gap:1px;padding:0 2px;min-width:0}
.xd-page-booking .xd-bk-pick-name{font-size:16px;font-weight:600;letter-spacing:.04em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.xd-page-booking .xd-bk-pick-place{font-size:13px;color:var(--xd-t4)}
@media (min-width:760px){
  .xd-page-booking .xd-bk-picks{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(44%,150px),1fr));overflow:visible;padding:4px;margin:-4px;scroll-snap-type:none}
  .xd-page-booking .xd-bk-picks>*{flex:none}
}

/* Hôtesse choisie (?d=) */
.xd-page-booking .xd-bk-chosen{display:flex;gap:18px;align-items:flex-start}
.xd-page-booking .xd-bk-chosen .xd-bk-pick{flex:0 0 min(38%,150px)}
.xd-page-booking .xd-bk-chosen .xd-bk-pick-text{display:none}
.xd-page-booking .xd-bk-chosen-txt{display:flex;flex-direction:column;gap:6px;min-width:0;padding-top:4px}
.xd-page-booking .xd-bk-chosen-name{font-size:clamp(22px,3vw,28px);font-weight:600;letter-spacing:.04em;color:#fff;line-height:1.1}
.xd-page-booking .xd-bk-chosen-meta{font-size:15px;color:var(--xd-t4)}
.xd-page-booking .xd-bk-chosen-status{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--xd-t2)}
.xd-page-booking .xd-bk-chosen-status i{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.xd-page-booking .xd-bk-chosen-links{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:8px}
.xd-page-booking .xd-bk-link{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:var(--xd-v3)}
.xd-page-booking .xd-bk-link:hover{color:#fff}
.xd-page-booking .xd-bk-link-btn{all:unset;cursor:pointer;color:var(--xd-link);font-weight:500}
.xd-page-booking .xd-bk-link-btn:hover{color:var(--xd-link-h)}
.xd-page-booking .xd-bk-notice{margin-top:18px;padding:14px 16px;border-radius:12px;background:rgba(224,69,143,.1);border:1px solid rgba(224,69,143,.35);font-size:15px;line-height:1.5;color:var(--xd-t2)}
.xd-page-booking .xd-bk-notice strong{display:block;color:#fff;font-weight:600;margin-bottom:2px}
.xd-page-booking .xd-bk-note{margin:14px 0 0;font-size:14px;color:var(--xd-t5);line-height:1.5}
.xd-page-booking .xd-bk-note a{color:var(--xd-v3)}
.xd-page-booking .xd-bk-note-hours{display:flex;align-items:center;gap:8px;color:var(--xd-t4)}

/* Carte glass du formulaire */
.xd-page-booking .xd-bk-form{padding:clamp(18px,3vw,28px);min-height:140px;position:relative}
.xd-page-booking .xd-bk-form.no-hostess{border-color:rgba(255,255,255,.08)}
.xd-page-booking #xoxo-pbd-note{margin:0 0 18px!important;padding:12px 16px!important;border-radius:12px!important;background:rgba(224,180,74,.1)!important;border:1px solid rgba(224,180,74,.4)!important;color:var(--xd-t1)!important;font-size:14px!important;line-height:1.5!important}
.xd-page-booking #xoxo-pbd-note strong{color:#fff}

/* ── Bookly : socle ───────────────────────────────────────────────── */
body.xd .xd-page-booking .bookly-css-root,body.xd .xd-page-booking .bookly-form{font-family:var(--xd-font)!important;color:var(--xd-t1)!important;font-size:16px!important;line-height:1.5!important}
body.xd .xd-page-booking .bookly-form{--bookly-main-color:#9d5ce6;--bookly-color:#9d5ce6}
body.xd .xd-page-booking .bookly-form>div[style*="text-align: center"]{padding:24px 0}
body.xd .xd-page-booking .bookly-form img[alt="Chargement..."]{opacity:.6;filter:invert(1) hue-rotate(180deg)}
body.xd .xd-page-booking .bookly-form .bookly-box{padding:0!important;margin:0 0 18px!important;color:var(--xd-t2)!important;font-size:15px!important;line-height:1.55!important;max-width:none!important}
body.xd .xd-page-booking .bookly-form .bookly-box.bookly-bold{font-weight:400!important;color:var(--xd-t4)!important}
body.xd .xd-page-booking .bookly-form .bookly-box:empty{display:none!important}
body.xd .xd-page-booking .bookly-form .bookly-box.bookly-label-error:empty{margin:0!important}
body.xd .xd-page-booking .bookly-form .bookly-label-error{color:#ff9d9d!important;font-size:13px!important;margin-top:6px!important}
body.xd .xd-page-booking .bookly-form .bookly-table{display:block!important}
body.xd .xd-page-booking .bookly-form .bookly-left,body.xd .xd-page-booking .bookly-form .bookly-right{float:none!important}
body.xd .xd-page-booking .bookly-form .bookly-mobile-float-none{float:none!important}

/* Masque date / jours de la semaine / plage horaire (repris de la page 54672) */
.xd-page-booking .bookly-form .bookly-week-days,
.xd-page-booking .bookly-form .bookly-week-day-container,
.xd-page-booking .bookly-form .bookly-week-day-buttons,
.xd-page-booking .bookly-form .bookly-day-buttons,
.xd-page-booking .bookly-form .bookly-time-range,
.xd-page-booking .bookly-form .bookly-time-from,
.xd-page-booking .bookly-form .bookly-time-to,
.xd-page-booking .bookly-form .bookly-day-from,
.xd-page-booking .bookly-form .bookly-date-from,
.xd-page-booking .bookly-form .bookly-available-date,
.xd-page-booking .bookly-form .ui-datepicker-trigger,
.xd-page-booking .bookly-form input[name="date_from"],
.xd-page-booking .bookly-form input[name="time_from"],
.xd-page-booking .bookly-form input[name="time_to"],
.xd-page-booking .bookly-hide-by-script{display:none!important}
.xd-page-booking .bookly-form .bookly-js-mobile-step-2>.bookly-box:first-child{display:none!important}

/* Étape service : chaîne de sélecteurs (catégorie / service / hôtesse) */
body.xd .xd-page-booking .bookly-form .bookly-js-chain{display:flex;flex-direction:column;gap:16px}
body.xd .xd-page-booking .bookly-form .bookly-form-group{display:flex!important;flex-direction:column;gap:8px;padding:0!important;margin:0!important;width:100%!important;float:none!important}
body.xd .xd-page-booking .bookly-form .bookly-form-group>label,body.xd .xd-page-booking .bookly-form label{font-size:14px!important;font-weight:500!important;color:var(--xd-t2)!important;margin:0!important;line-height:1.3!important;text-transform:none!important;letter-spacing:normal!important}
body.xd .xd-page-booking .bookly-form .bookly-form-group>label:empty{display:none}
body.xd .xd-page-booking .bookly-form .bookly-form-group>div{width:100%}
body.xd .xd-page-booking .bookly-form select,
body.xd .xd-page-booking .bookly-form input[type=text],
body.xd .xd-page-booking .bookly-form input[type=tel],
body.xd .xd-page-booking .bookly-form input[type=email],
body.xd .xd-page-booking .bookly-form input[type=number],
body.xd .xd-page-booking .bookly-form input[type=password],
body.xd .xd-page-booking .bookly-form textarea{height:52px!important;min-height:0!important;padding:0 16px!important;border-radius:12px!important;border:1px solid rgba(255,255,255,.16)!important;background:rgba(255,255,255,.06)!important;background-color:rgba(255,255,255,.06)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font-family:var(--xd-font)!important;font-size:16px!important;width:100%!important;max-width:none!important;box-sizing:border-box!important;box-shadow:none!important;margin:0!important;outline:none!important;color-scheme:dark;line-height:1.3!important;transition:border-color .2s,background-color .2s}
body.xd .xd-page-booking .bookly-form textarea{height:auto!important;min-height:120px!important;padding:14px 16px!important;line-height:1.5!important;resize:vertical}
body.xd .xd-page-booking .bookly-form select{appearance:none;-webkit-appearance:none;padding-right:44px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%23c99bff' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 16px center!important;cursor:pointer}
body.xd .xd-page-booking .bookly-form select option{color:#fff;background-color:#1a0f2a}
body.xd .xd-page-booking .bookly-form select:focus,body.xd .xd-page-booking .bookly-form input:focus,body.xd .xd-page-booking .bookly-form textarea:focus{border-color:#9d5ce6!important;box-shadow:0 0 0 3px rgba(157,92,230,.25)!important}
body.xd .xd-page-booking .bookly-form input::placeholder,body.xd .xd-page-booking .bookly-form textarea::placeholder{color:var(--xd-t6)!important;opacity:1!important}
body.xd .xd-page-booking .bookly-form input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #251538 inset!important;-webkit-text-fill-color:#fff!important}
/* Les pills de durée (générées par booking.js) remplacent visuellement le select service */
.xd-page-booking .bookly-form-group[data-type="service"].xd-has-pills>label,.xd-page-booking .bookly-form-group[data-type="service"].xd-has-pills>div:not(.bookly-label-error),.xd-page-booking .bookly-form-group[data-type="service"].xd-has-pills>select{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;opacity:0!important;pointer-events:none!important;margin:-1px!important}
.xd-page-booking .xd-bk-durs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(44%,180px),1fr));gap:14px;width:100%;margin-bottom:18px}
.xd-page-booking .xd-bk-durs:empty,.xd-page-booking .xd-bk-durs[hidden]{display:none}
body.xd .xd-page-booking .xd-bk-dur{text-align:left;font-family:inherit;cursor:pointer;padding:18px 20px;border-radius:18px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.03);color:#fff;display:flex;flex-direction:column;gap:4px;min-width:0;transition:border-color .2s,background-color .2s;box-shadow:none;margin:0;line-height:1.2;text-transform:none;letter-spacing:normal;height:auto;min-height:0}
body.xd .xd-page-booking .xd-bk-dur:hover{border-color:rgba(190,140,255,.5)}
body.xd .xd-page-booking .xd-bk-dur.is-active{border-color:rgba(190,140,255,.8);background:rgba(157,92,230,.35)}
.xd-page-booking .xd-bk-dur-l{font-size:22px;font-weight:500;overflow:hidden;text-overflow:ellipsis}
.xd-page-booking .xd-bk-dur-p{font-size:16px;color:var(--xd-v3);font-weight:600}
.xd-page-booking .xd-bk-dur-p:empty{display:none}
@media (min-width:760px){.xd-page-booking .xd-bk-dur{padding:22px}.xd-page-booking .xd-bk-dur-l{font-size:24px}}

/* Étape créneaux */
body.xd .xd-page-booking .bookly-form .bookly-time-step{margin:0!important;padding:0!important;background:transparent!important}
body.xd .xd-page-booking .bookly-form .bookly-columnizer-wrap{overflow:hidden}
body.xd .xd-page-booking .bookly-form .bookly-columnizer{display:flex;gap:10px;align-items:flex-start}
body.xd .xd-page-booking .bookly-form .bookly-column{display:flex;flex-direction:column;gap:8px;margin:0 0 10px!important;padding:0!important}
body.xd .xd-page-booking .bookly-form button.bookly-day{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:68px;padding:10px 4px!important;margin:0 0 4px!important;border-radius:16px!important;border:1px solid rgba(190,140,255,.6)!important;background:rgba(157,92,230,.25)!important;color:#fff!important;font-family:var(--xd-font)!important;font-size:13px!important;font-weight:600!important;letter-spacing:.06em;text-transform:uppercase;line-height:1.25!important;box-shadow:none!important;width:100%!important;cursor:default;text-shadow:none!important}
body.xd .xd-page-booking .bookly-form button.bookly-hour{display:flex!important;align-items:center;justify-content:center;height:46px!important;min-height:0!important;padding:0 8px!important;margin:0!important;border-radius:12px!important;border:1px solid rgba(255,255,255,.12)!important;background:rgba(255,255,255,.03)!important;color:#fff!important;font-family:var(--xd-font)!important;font-size:15px!important;font-weight:500!important;line-height:1!important;box-shadow:none!important;width:100%!important;cursor:pointer;text-transform:none!important;letter-spacing:normal!important;transition:border-color .2s,background-color .2s;text-shadow:none!important}
body.xd .xd-page-booking .bookly-form button.bookly-hour:hover{border-color:rgba(190,140,255,.8)!important;background:rgba(157,92,230,.4)!important}
body.xd .xd-page-booking .bookly-form button.bookly-hour.booked,body.xd .xd-page-booking .bookly-form button.bookly-hour[disabled]{color:#5d4f73!important;border-color:rgba(255,255,255,.06)!important;background:transparent!important;cursor:not-allowed}
body.xd .xd-page-booking .bookly-form button.bookly-hour .bookly-hour-icon{display:none!important}
body.xd .xd-page-booking .bookly-form button.bookly-hour .bookly-time-main{display:inline-flex;align-items:baseline;gap:6px;font-weight:500!important}
body.xd .xd-page-booking .bookly-form button.bookly-hour .bookly-time-additional{font-size:12px!important;color:var(--xd-t4)!important}
body.xd .xd-page-booking .bookly-form .bookly-not-time-screen{padding:32px 20px!important;text-align:center;border-radius:16px;border:1px dashed rgba(200,160,255,.3);color:var(--xd-t3)!important;font-size:16px!important;margin:0 0 18px!important}
body.xd .xd-page-booking .bookly-form .bookly-slot-calendar{margin:0 0 18px!important;width:100%!important;max-width:320px}

/* Étape coordonnées */
body.xd .xd-page-booking .bookly-form .bookly-details-step .bookly-box.bookly-table{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:16px}
body.xd .xd-page-booking .bookly-form .bookly-details-step .bookly-box.bookly-table .bookly-form-group:has(textarea){grid-column:1/-1}
body.xd .xd-page-booking .bookly-form .bookly-guest{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
body.xd .xd-page-booking .bookly-form .iti{width:100%!important;display:block!important}
body.xd .xd-page-booking .bookly-form .iti input{padding-left:92px!important}
body.xd .xd-page-booking .bookly-form .iti__flag-container{padding:0 0 0 6px!important}
body.xd .xd-page-booking .bookly-form .iti__selected-flag{background:transparent!important;color:var(--xd-t2)}
body.xd .xd-page-booking .bookly-form .iti__arrow{border-top-color:var(--xd-t4)}
body.xd .xd-page-booking .bookly-form .iti__country-list{background:#1a0f2a!important;border:1px solid rgba(200,160,255,.25)!important;border-radius:12px!important;color:#fff!important;box-shadow:0 20px 50px rgba(0,0,0,.5)}
body.xd .xd-page-booking .bookly-form .iti__country{color:#fff!important;background:transparent!important}
body.xd .xd-page-booking .bookly-form .iti__country.iti__highlight,body.xd .xd-page-booking .bookly-form .iti__country:hover{background:rgba(157,92,230,.25)!important}
body.xd .xd-page-booking .bookly-form .iti__dial-code{color:var(--xd-t4)!important}
body.xd .xd-page-booking .bookly-form .bookly-checkbox-group{display:flex;align-items:center;gap:10px}
body.xd .xd-page-booking .bookly-form .bookly-checkbox-group label.bookly-checkbox{width:24px!important;height:24px!important;border-radius:7px!important;border:1px solid rgba(255,255,255,.25)!important;background:rgba(255,255,255,.06)!important;margin:0!important}
body.xd .xd-page-booking .bookly-form button.xoxo-lien-connexion{background:var(--xd-grad)!important;color:#fff!important;border-radius:10px!important;padding:10px 16px!important}

/* Étape paiement */
body.xd .xd-page-booking .bookly-form .bookly-payment-nav .bookly-list{display:flex;flex-direction:column;gap:10px;padding:0!important}
body.xd .xd-page-booking .bookly-form .bookly-payment-nav label{display:flex!important;align-items:center;gap:12px;padding:14px 16px!important;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03);color:#fff!important;font-size:15px!important;font-weight:500!important;cursor:pointer}
body.xd .xd-page-booking .bookly-form .bookly-payment-nav label:has(input:checked){border-color:rgba(190,140,255,.8);background:rgba(157,92,230,.3)}
body.xd .xd-page-booking .bookly-form .bookly-payment-nav input[type=radio]{accent-color:#9d5ce6;width:18px;height:18px;margin:0}
body.xd .xd-page-booking .bookly-form .bookly-payment-nav .bookly-box.bookly-list span{color:var(--xd-t2)!important}

/* Boutons Bookly */
body.xd .xd-page-booking .bookly-form .bookly-nav-steps{display:flex!important;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:22px 0 0!important;padding:0!important}
body.xd .xd-page-booking .bookly-form .bookly-nav-steps>div{display:flex;flex-wrap:wrap;gap:10px;margin-left:auto}
body.xd .xd-page-booking .bookly-form .bookly-btn,body.xd .xd-page-booking .bookly-form button.bookly-btn{display:inline-flex!important;align-items:center;justify-content:center;gap:8px;height:52px!important;min-height:0!important;padding:0 26px!important;margin:0!important;border-radius:12px!important;border:0!important;background:var(--xd-grad)!important;background-color:#9d5ce6!important;color:#fff!important;font-family:var(--xd-font)!important;font-size:16px!important;font-weight:600!important;line-height:1!important;letter-spacing:normal!important;text-transform:none!important;box-shadow:var(--xd-shadow-cta)!important;cursor:pointer;float:none!important;width:auto!important;text-shadow:none!important;transition:transform .2s,box-shadow .2s,background-color .2s,border-color .2s}
body.xd .xd-page-booking .bookly-form .bookly-btn:hover{transform:translateY(-1px);box-shadow:0 14px 44px rgba(157,92,230,.45)!important;color:#fff!important}
body.xd .xd-page-booking .bookly-form .bookly-btn .ladda-label{color:#fff!important;font-weight:600!important}
body.xd .xd-page-booking .bookly-form .bookly-btn.bookly-js-back-step,body.xd .xd-page-booking .bookly-form .bookly-btn.bookly-js-mobile-prev-step,body.xd .xd-page-booking .bookly-form .bookly-btn.bookly-time-prev,body.xd .xd-page-booking .bookly-form .bookly-btn.bookly-time-next,body.xd .xd-page-booking .bookly-form .bookly-btn.bookly-js-login-show,body.xd .xd-page-booking .bookly-form .bookly-btn.bookly-js-start-over,body.xd .xd-page-booking .bookly-form .bookly-btn.bookly-js-add-to-calendar,body.xd .xd-page-booking .bookly-form .bookly-btn.bookly-js-download-ics{background:transparent!important;background-color:transparent!important;border:1px solid rgba(255,255,255,.35)!important;box-shadow:none!important;font-weight:500!important;padding:0 20px!important}
body.xd .xd-page-booking .bookly-form .bookly-btn.bookly-js-back-step:hover,body.xd .xd-page-booking .bookly-form .bookly-btn.bookly-time-next:hover,body.xd .xd-page-booking .bookly-form .bookly-btn.bookly-time-prev:hover,body.xd .xd-page-booking .bookly-form .bookly-btn.bookly-js-login-show:hover{border-color:rgba(200,160,255,.7)!important;background:rgba(157,92,230,.12)!important;transform:none}
body.xd .xd-page-booking .bookly-form .bookly-btn.bookly-none{display:none!important}
body.xd .xd-page-booking .bookly-form .bookly-btn[disabled],body.xd .xd-page-booking .bookly-form .bookly-btn.ladda-button[data-loading]{opacity:.55;pointer-events:none}
body.xd .xd-page-booking .bookly-form .bookly-progress-tracker,body.xd .xd-page-booking .bookly-form .bookly-stepper{display:none!important}
body.xd .xd-page-booking .bookly-form .bookly-js-timezone-switcher,body.xd .xd-page-booking .bookly-form .bookly-time-zone-switcher{color:var(--xd-t4)!important;font-size:13px!important}
/* Fenêtre de connexion Bookly */
body.xd .bookly-js-login .bookly-modal-content{background:#1a0f2a!important;border:1px solid rgba(200,160,255,.25)!important;border-radius:20px!important;box-shadow:0 30px 70px rgba(0,0,0,.55)!important;font-family:var(--xd-font)!important}
body.xd .bookly-js-login .bookly-modal-header div{font-size:20px!important;font-weight:500!important}
body.xd .bookly-js-login .bookly-form input[type=text],body.xd .bookly-js-login .bookly-form input[type=password]{height:48px!important;border-radius:12px!important;background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.16)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;padding:0 14px!important;width:100%!important;box-sizing:border-box!important}
body.xd .bookly-js-login .bookly-btn{border-radius:12px!important;background:var(--xd-grad)!important;color:#fff!important;border:0!important;height:46px!important;padding:0 20px!important;font-weight:600!important}
body.xd .bookly-js-login .bookly-btn-cancel{background:transparent!important;border:1px solid rgba(255,255,255,.3)!important;color:#fff!important}

/* ── Récapitulatif ────────────────────────────────────────────────── */
.xd-page-booking .xd-bk-aside{padding:24px;border-radius:22px;background:linear-gradient(160deg,rgba(163,95,232,.3),rgba(30,16,48,.95) 70%);border:1px solid rgba(190,140,255,.45);box-shadow:0 30px 80px rgba(0,0,0,.4);display:flex;flex-direction:column;gap:16px}
.xd-page-booking .xd-bk-sum{display:flex;flex-direction:column;gap:16px}
.xd-page-booking .xd-bk-sum[hidden],.xd-page-booking .xd-bk-done[hidden]{display:none}
.xd-page-booking .xd-bk-rows{display:flex;flex-direction:column}
.xd-page-booking .xd-bk-row{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.xd-page-booking .xd-bk-k{font-size:15px;color:var(--xd-t4);flex-shrink:0}
.xd-page-booking .xd-bk-v{font-size:15px;font-weight:500;color:#fff;text-align:right;min-width:0;overflow-wrap:anywhere}
.xd-page-booking .xd-bk-v.is-muted{color:#7d6e94;font-weight:400}
.xd-page-booking .xd-bk-total{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.xd-page-booking .xd-bk-total span{font-size:15px;color:var(--xd-t2)}
.xd-page-booking .xd-bk-total strong{font-size:28px;font-weight:600;color:#fff}
.xd-page-booking .xd-bk-discount{font-size:14px;color:var(--xd-v3)}
.xd-page-booking .xd-bk-discount[hidden]{display:none}
body.xd .xd-page-booking .xd-bk-cta{height:56px;border:0;border-radius:12px;background:var(--xd-grad);color:#fff;font-family:inherit;font-size:17px;font-weight:600;cursor:pointer;box-shadow:var(--xd-shadow-cta);transition:transform .2s,box-shadow .2s,opacity .2s;margin:0;padding:0 20px;width:100%;line-height:1;text-transform:none;letter-spacing:normal}
body.xd .xd-page-booking .xd-bk-cta:hover{transform:translateY(-1px);box-shadow:0 14px 44px rgba(157,92,230,.45)}
body.xd .xd-page-booking .xd-bk-cta[disabled]{background:rgba(255,255,255,.1);box-shadow:none;cursor:not-allowed;transform:none;opacity:1}
.xd-page-booking .xd-bk-hint{font-size:13px;color:var(--xd-t5);text-align:center;line-height:1.45}
.xd-page-booking .xd-bk-done{display:flex;flex-direction:column;gap:12px}
.xd-page-booking .xd-bk-done h3{margin:0;font-size:26px;font-weight:500;color:#fff}
.xd-page-booking .xd-bk-done p{margin:0;font-size:16px;line-height:1.6;color:var(--xd-t2)}
.xd-page-booking .xd-bk-again{height:48px;border:1px solid rgba(255,255,255,.3);border-radius:12px;background:transparent;color:#fff;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:500}
.xd-page-booking .xd-bk-again:hover{color:#fff;border-color:rgba(200,160,255,.7)}

@media (min-width:1100px){
  .xd-page-booking .xd-bk-grid{grid-template-columns:minmax(0,1.9fr) minmax(340px,1fr)}
  .xd-page-booking .xd-bk-aside{position:sticky;top:96px;padding:28px}
}

/* ═══════════════════════════ CONTACT ═══════════════════════════ */
.xd-page-booking .xd-ct-hero{min-height:clamp(480px,64vh,640px);align-items:flex-end}
.xd-page-booking .xd-ct-hero .xd-hero-bg img{object-position:center 40%}
.xd-page-booking .xd-ct-hero .xd-hero-bg::after{background:radial-gradient(ellipse 70% 75% at 50% 52%,rgba(6,4,12,.42) 0%,rgba(6,4,12,.2) 50%,rgba(6,4,12,0) 100%),linear-gradient(180deg,rgba(4,3,8,.5) 0%,rgba(4,3,8,.12) 32%,rgba(6,4,10,.45) 70%,var(--xd-bg) 100%)}
.xd-page-booking .xd-ct-hero-in{max-width:1000px;margin:0 auto;padding:clamp(120px,14vw,170px) var(--xd-gutter) clamp(56px,8vw,90px);align-items:center;text-align:center;gap:22px}
.xd-page-booking .xd-ct-h1{font-size:clamp(40px,6vw,72px);line-height:1.05}
.xd-page-booking .xd-ct-lead{font-size:clamp(17px,2vw,21px);line-height:1.6;color:var(--xd-t1);max-width:680px;text-wrap:pretty}
.xd-page-booking .xd-ct-ctas{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.xd-page-booking .xd-ct-ctas-left{justify-content:flex-start}
.xd-page-booking .xd-ct-ctas .xd-btn-secondary{padding:16px 24px}
.xd-page-booking .xd-ct-infos{padding-top:24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px}
.xd-page-booking .xd-ct-info{padding:26px 28px;display:flex;flex-direction:column;gap:6px}
.xd-page-booking .xd-ct-info-v{font-size:20px;font-weight:500;color:#fff;line-height:1.3}
.xd-page-booking .xd-ct-info-d{font-size:15px;line-height:1.5;color:var(--xd-t3)}
.xd-page-booking .xd-ct-main{padding-top:clamp(48px,7vw,72px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:24px;align-items:stretch}
.xd-page-booking .xd-ct-col{display:flex;flex-direction:column;gap:20px;min-width:0}
.xd-page-booking .xd-ct-head{display:flex;flex-direction:column;gap:10px}
.xd-page-booking .xd-ct-form{padding:clamp(22px,4vw,32px);border-radius:22px;background:var(--xd-panel);border:1px solid rgba(200,160,255,.2);box-shadow:0 30px 70px rgba(0,0,0,.4)}
.xd-page-booking .xd-ct-form.is-sent .xd-ct-form-in{display:none}
.xd-page-booking .xd-ct-sent[hidden]{display:none}
.xd-page-booking .xd-ct-sent{display:flex;flex-direction:column;gap:10px;padding:8px 0}
.xd-page-booking .xd-ct-sent h3{margin:0;font-size:26px;font-weight:500;color:#fff}
.xd-page-booking .xd-ct-sent p{margin:0;font-size:16px;color:var(--xd-t3)}
.xd-page-booking .xd-ct-map{flex:1;min-height:380px;border-radius:22px;overflow:hidden;border:1px solid rgba(255,255,255,.1);background:var(--xd-ph)}
.xd-page-booking .xd-ct-map iframe{display:block;width:100%;height:100%;min-height:380px;border:0;filter:invert(.9) hue-rotate(200deg) saturate(.6)}
.xd-page-booking .xd-ct-values-wrap{padding-top:clamp(56px,8vw,88px)}
.xd-page-booking .xd-ct-values{padding:clamp(24px,4vw,32px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:28px}
.xd-page-booking .xd-ct-value{display:flex;flex-direction:column;gap:8px}
.xd-page-booking .xd-ct-value h3{margin:0;font-size:22px;font-weight:500;color:#fff}
.xd-page-booking .xd-ct-value p{margin:0;color:var(--xd-t3);line-height:1.6;font-size:16px}

/* ── Forminator (formulaire 76676) ────────────────────────────────── */
body.xd .xd-page-booking .forminator-ui.forminator-custom-form{font-family:var(--xd-font)!important;display:flex;flex-direction:column;gap:18px;margin:0!important}
body.xd .xd-page-booking .forminator-ui.forminator-custom-form .forminator-row{display:grid!important;grid-template-columns:1fr;gap:16px;margin:0!important}
body.xd .xd-page-booking .forminator-ui.forminator-custom-form .forminator-row:empty{display:none!important}
body.xd .xd-page-booking .forminator-ui.forminator-custom-form .forminator-col{margin:0!important;padding:0!important;width:100%!important;max-width:none!important;flex:none!important}
body.xd .xd-page-booking .forminator-ui.forminator-custom-form .forminator-field{display:flex;flex-direction:column;gap:8px;margin:0!important}
body.xd .xd-page-booking .forminator-ui.forminator-custom-form .forminator-label{font-size:14px!important;font-weight:500!important;color:var(--xd-t2)!important;margin:0!important;line-height:1.3!important;font-family:var(--xd-font)!important}
body.xd .xd-page-booking .forminator-ui.forminator-custom-form .forminator-required{color:var(--xd-pink)!important}
body.xd .xd-page-booking .forminator-ui.forminator-custom-form .forminator-input,
body.xd .xd-page-booking .forminator-ui.forminator-custom-form input.forminator-input,
body.xd .xd-page-booking .forminator-ui.forminator-custom-form .forminator-textarea{height:52px!important;min-height:0!important;padding:0 16px!important;border-radius:12px!important;border:1px solid rgba(255,255,255,.16)!important;background:rgba(255,255,255,.06)!important;background-color:rgba(255,255,255,.06)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font-family:var(--xd-font)!important;font-size:16px!important;width:100%!important;box-sizing:border-box!important;box-shadow:none!important;margin:0!important;outline:none!important;color-scheme:dark;line-height:1.3!important;transition:border-color .2s,box-shadow .2s}
body.xd .xd-page-booking .forminator-ui.forminator-custom-form .forminator-textarea{height:auto!important;min-height:140px!important;padding:14px 16px!important;line-height:1.5!important;resize:vertical}
body.xd .xd-page-booking .forminator-ui.forminator-custom-form .forminator-input:focus,body.xd .xd-page-booking .forminator-ui.forminator-custom-form .forminator-textarea:focus{border-color:#9d5ce6!important;box-shadow:0 0 0 3px rgba(157,92,230,.25)!important}
body.xd .xd-page-booking .forminator-ui.forminator-custom-form .forminator-input::placeholder,body.xd .xd-page-booking .forminator-ui.forminator-custom-form .forminator-textarea::placeholder{color:var(--xd-t6)!important;opacity:1!important}
body.xd .xd-page-booking .forminator-ui.forminator-custom-form .forminator-input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #251538 inset!important;-webkit-text-fill-color:#fff!important}
body.xd .xd-page-booking .forminator-ui.forminator-custom-form .forminator-button-submit,
body.xd .xd-page-booking .forminator-ui.forminator-custom-form button.forminator-button{display:flex!important;align-items:center;justify-content:center;width:100%!important;height:56px!important;min-height:0!important;padding:0 24px!important;margin:0!important;border:0!important;border-radius:12px!important;background:var(--xd-grad)!important;background-color:#9d5ce6!important;color:#fff!important;font-family:var(--xd-font)!important;font-size:17px!important;font-weight:600!important;line-height:1!important;letter-spacing:normal!important;text-transform:none!important;box-shadow:var(--xd-shadow-cta)!important;cursor:pointer;transition:transform .2s,box-shadow .2s;text-shadow:none!important}
body.xd .xd-page-booking .forminator-ui.forminator-custom-form .forminator-button-submit:hover{transform:translateY(-1px);box-shadow:0 14px 44px rgba(157,92,230,.45)!important;color:#fff!important}
body.xd .xd-page-booking .forminator-ui.forminator-custom-form .forminator-response-message{margin:0!important;padding:14px 16px!important;border-radius:12px!important;font-size:15px!important;line-height:1.5!important;font-family:var(--xd-font)!important}
body.xd .xd-page-booking .forminator-ui.forminator-custom-form .forminator-response-message[aria-hidden="true"]:empty,body.xd .xd-page-booking .forminator-ui.forminator-custom-form .forminator-response-message:empty{display:none!important}
body.xd .xd-page-booking .forminator-ui.forminator-custom-form .forminator-response-message.forminator-success{background:rgba(60,192,122,.12)!important;border:1px solid rgba(60,192,122,.45)!important;color:#d9f5e5!important}
body.xd .xd-page-booking .forminator-ui.forminator-custom-form .forminator-response-message.forminator-error{background:rgba(224,69,143,.1)!important;border:1px solid rgba(224,69,143,.4)!important;color:#ffd6e6!important}
body.xd .xd-page-booking .forminator-ui.forminator-custom-form .forminator-error-message{color:#ff9d9d!important;font-size:13px!important;margin:0!important}
body.xd .xd-page-booking .forminator-ui.forminator-custom-form .forminator-field.forminator-has_error .forminator-input,body.xd .xd-page-booking .forminator-ui.forminator-custom-form .forminator-field.forminator-has_error .forminator-textarea{border-color:rgba(224,69,143,.7)!important}
body.xd .xd-page-booking .forminator-ui.forminator-custom-form .forminator-description{font-size:13px!important;color:var(--xd-t5)!important}
body.xd .xd-page-booking .forminator-ui.forminator-custom-form .forminator-response-message p,body.xd .xd-page-booking .forminator-ui.forminator-custom-form .forminator-response-message span{color:inherit!important;margin:0!important}

/* ═══════════════ Parcours natif (étapes 2–4) ═══════════════ */
.xd-page-booking .xd-bk.is-waiting .xd-bk-step-n{opacity:.55}
.xd-page-booking .xd-bk-step-n .xd-bk-dot{transition:background .2s,box-shadow .2s}
.xd-page-booking .xd-bk-step-n.is-current .xd-bk-dot{box-shadow:0 0 0 4px rgba(157,92,230,.25)}
.xd-page-booking .xd-bk-dot.is-done{background:linear-gradient(135deg,#9d5ce6,#7f45cc)}
.xd-page-booking .xd-bk-wait{margin:0;font-size:15px;color:var(--xd-t5);padding:18px 20px;border-radius:14px;border:1px dashed rgba(200,160,255,.25)}
.xd-page-booking .xd-bk-loading{animation:xdbkpulse 1.2s ease-in-out infinite}
@keyframes xdbkpulse{0%,100%{opacity:1}50%{opacity:.5}}
.xd-page-booking .xd-bk-group{margin-bottom:18px}
.xd-page-booking .xd-bk-group-l{display:block;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--xd-t4);margin-bottom:10px}
.xd-page-booking .xd-bk-durs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(44%,180px),1fr));gap:14px}
.xd-page-booking .xd-bk-dur{text-align:left;cursor:pointer;padding:22px;border-radius:18px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:#fff;display:flex;flex-direction:column;gap:4px;transition:border-color .2s,background .2s,box-shadow .2s}
.xd-page-booking .xd-bk-dur:hover{border-color:rgba(190,140,255,.6)}
.xd-page-booking .xd-bk-dur.is-on{border-color:transparent;background:linear-gradient(135deg,#9d5ce6,#7f45cc);box-shadow:0 10px 30px rgba(157,92,230,.35)}
.xd-page-booking .xd-bk-dur-l{font-size:24px;font-weight:500;line-height:1.1}
.xd-page-booking .xd-bk-dur-p{font-size:16px;color:var(--xd-v3);font-weight:600}
.xd-page-booking .xd-bk-dur.is-on .xd-bk-dur-p{color:#fff}
.xd-page-booking .xd-bk-dur-p s{font-weight:400;color:rgba(255,255,255,.55);margin-left:4px}
.xd-page-booking .xd-bk-chosen-promo{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--xd-v3);margin-top:2px}
.xd-page-booking .xd-bk-days{display:flex;gap:10px;overflow-x:auto;padding:2px 2px 10px;margin-bottom:18px;scrollbar-width:none;scroll-snap-type:x proximity}
.xd-page-booking .xd-bk-days::-webkit-scrollbar{display:none}
.xd-page-booking .xd-bk-day{flex-shrink:0;width:76px;padding:14px 0;border-radius:16px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;scroll-snap-align:center;transition:border-color .2s,background .2s}
.xd-page-booking .xd-bk-day:hover:not(:disabled){border-color:rgba(190,140,255,.6)}
.xd-page-booking .xd-bk-day.is-on{border-color:transparent;background:linear-gradient(135deg,#9d5ce6,#7f45cc)}
.xd-page-booking .xd-bk-day.is-off{opacity:.35;cursor:not-allowed}
.xd-page-booking .xd-bk-day-dow{font-size:12px;font-weight:600;letter-spacing:.12em;color:var(--xd-t4)}
.xd-page-booking .xd-bk-day.is-on .xd-bk-day-dow,.xd-page-booking .xd-bk-day.is-on .xd-bk-day-m{color:#fff}
.xd-page-booking .xd-bk-day-n{font-size:24px;font-weight:600;line-height:1.1}
.xd-page-booking .xd-bk-day-m{font-size:12px;color:var(--xd-t3)}
.xd-page-booking .xd-bk-slots-t{display:block;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--xd-t4);margin:14px 0 10px}
.xd-page-booking .xd-bk-slots-t:first-child{margin-top:0}
.xd-page-booking .xd-bk-slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:10px}
.xd-page-booking .xd-bk-slot{height:46px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:#fff;font-size:15px;font-weight:500;cursor:pointer;transition:border-color .2s,background .2s}
.xd-page-booking .xd-bk-slot:hover{border-color:rgba(190,140,255,.6)}
.xd-page-booking .xd-bk-slot.is-on{border-color:transparent;background:linear-gradient(135deg,#9d5ce6,#7f45cc)}
.xd-page-booking .xd-bk-slot.is-night{border-style:dashed}
.xd-page-booking .xd-bk-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:0}
.xd-page-booking .xd-bk-field{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:500;color:var(--xd-t2)}
.xd-page-booking .xd-bk-field-wide{grid-column:1/-1}
.xd-page-booking .xd-bk-field-opt{font-weight:400;color:var(--xd-t5);margin-left:6px}
.xd-page-booking .xd-bk-field input{height:52px;padding:0 16px;border-radius:12px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);color:#fff;font-family:inherit;font-size:16px;outline-color:#9d5ce6;color-scheme:dark;width:100%;box-sizing:border-box;margin:0;box-shadow:none}
.xd-page-booking .xd-bk-field input:focus{border-color:transparent;outline:2px solid #9d5ce6}
.xd-page-booking .xd-bk-field input[readonly]{opacity:.7}
.xd-page-booking .xd-bk-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.xd-page-booking .xd-bk-err{margin:0;font-size:14px;line-height:1.5;color:#ffb3c7;background:rgba(224,69,143,.14);border:1px solid rgba(224,69,143,.4);border-radius:12px;padding:10px 14px}
.xd-page-booking .xd-bk-err[hidden]{display:none}
.xd-page-booking .xd-bk-cta:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.xd-page-booking .xd-bk-fallback{margin-top:8px;border-top:1px solid rgba(255,255,255,.08);padding-top:18px}
.xd-page-booking .xd-bk-fallback summary{cursor:pointer;font-size:14px;color:var(--xd-t5);list-style:none;display:inline-flex;align-items:center;gap:8px}
.xd-page-booking .xd-bk-fallback summary::-webkit-details-marker{display:none}
.xd-page-booking .xd-bk-fallback summary::before{content:"▸";font-size:12px;transition:transform .2s}
.xd-page-booking .xd-bk-fallback[open] summary::before{transform:rotate(90deg)}
.xd-page-booking .xd-bk-fallback .xd-bk-form{margin-top:16px}
/* Barre de confirmation collante (mobile / tablette) : au-dessus de la barre d'action du site */
.xd-page-booking .xd-bk-bar{position:fixed;left:12px;right:12px;bottom:calc(var(--xd-mbar) + 10px);z-index:44;display:flex;align-items:center;gap:12px;padding:10px 10px 10px 16px;border-radius:16px;background:rgba(26,15,42,.96);border:1px solid rgba(190,140,255,.45);box-shadow:0 18px 50px rgba(0,0,0,.5);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.xd-page-booking .xd-bk-bar[hidden]{display:none}
.xd-page-booking .xd-bk-bar-txt{display:flex;flex-direction:column;min-width:0;flex:1}
.xd-page-booking .xd-bk-bar-txt strong{font-size:18px;font-weight:600;color:#fff;line-height:1.2}
.xd-page-booking .xd-bk-bar-txt span{font-size:12px;color:var(--xd-t4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.xd-page-booking .xd-bk-bar-cta{height:46px;padding:0 18px;font-size:15px;flex-shrink:0;width:auto}
.xd-page-booking .xd-bk-main{padding-bottom:70px}
@media (min-width:1100px){.xd-page-booking .xd-bk-bar{display:none!important}.xd-page-booking .xd-bk-main{padding-bottom:0}}
@media (min-width:1280px){.xd-page-booking .xd-bk-bar{bottom:16px}}
body.xd .xd-page-booking .xd-bk-bar-cta{width:auto;flex:0 0 auto;height:46px;padding:0 18px;font-size:15px}
.xd-page-booking .xd-bk-bar-txt strong{font-size:16px;white-space:nowrap}
/* Étape 4 : profil reconnu / connexion */
.xd-page-booking .xd-bk-profile{display:flex;align-items:center;gap:14px;padding:16px 18px;margin-bottom:18px}
.xd-page-booking .xd-bk-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#9d5ce6,#7f45cc);display:grid;place-items:center;font-size:18px;font-weight:600;color:#fff;flex-shrink:0}
.xd-page-booking .xd-bk-profile-txt{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.xd-page-booking .xd-bk-profile-txt strong{display:inline-flex;align-items:center;gap:6px;font-size:15px;color:#fff}
.xd-page-booking .xd-bk-profile-txt span{font-size:14px;color:var(--xd-t4);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.xd-page-booking .xd-bk-login{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.xd-page-booking .xd-bk-login-hint{font-size:14px;color:var(--xd-t5);flex:1;min-width:240px;line-height:1.5}
.xd-page-booking .xd-bk-login-panel{padding:clamp(16px,3vw,24px);margin-bottom:22px}
.xd-page-booking .xd-bk-login-panel[hidden]{display:none}
.xd-page-booking .xd-bk-login-panel .xme,.xd-page-booking .xd-bk-login-panel .xoxo-me-carte{display:none}
.xd-page-booking .xd-bk-login-panel h1,.xd-page-booking .xd-bk-login-panel h2{font-size:22px;color:#fff;margin:0 0 10px}
.xd-page-booking .xd-bk-login-panel input[type=text],.xd-page-booking .xd-bk-login-panel input[type=tel],.xd-page-booking .xd-bk-login-panel input[type=email]{height:50px;border-radius:12px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);color:#fff;font-family:inherit;box-shadow:none;width:100%;box-sizing:border-box}
.xd-page-booking .xd-bk-login-panel button{font-family:inherit}
.xd-page-booking .xd-bk-login-panel .xoxo-portal{min-height:0;padding:0;font-family:inherit}
.xd-page-booking .xd-bk-login-panel .xoxo-portal-box{max-width:520px;background:transparent;border:0;box-shadow:none;padding:8px 0}
