.cmc-booking{--cmc-red:#b00f0d;--cmc-text:#4c555c;--cmc-soft:#f2f2f2;--cmc-border:#d1d4d8;--cmc-placeholder:#929292;--cmc-focus:#f9f9f9;width:calc(100% - 32px)!important;max-width:960px!important;min-width:0!important;margin:32px auto!important;padding:48px 52px!important;background:var(--cmc-soft)!important;color:var(--cmc-text)!important;border-radius:20px!important;overflow:hidden!important;box-shadow:0 18px 45px rgba(76,85,92,.16)!important;font-family:inherit!important;font-size:16px!important;line-height:1.5!important}

.cmc-booking{min-height:920px!important}
.cmc-booking *:before,.cmc-booking *:after{box-sizing:border-box!important}
.cmc-booking .cmc-progress{position:relative!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:0!important;width:100%!important;margin:0 0 42px!important;padding:0 8px!important}
.cmc-booking .cmc-progress:before{content:""!important;display:block!important;position:absolute!important;left:10%!important;right:10%!important;top:17px!important;height:2px!important;background:#d1d4d8!important;z-index:0!important}
.cmc-booking .cmc-progress-item{position:relative!important;z-index:1!important;display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important;color:#929292!important}
.cmc-booking .cmc-progress-item span{display:flex!important;align-items:center!important;justify-content:center!important;width:34px!important;height:34px!important;margin:0 auto 7px!important;border:2px solid #d1d4d8!important;border-radius:50%!important;background:#f2f2f2!important;color:#737e86!important;font-size:14px!important;font-weight:700!important}
.cmc-booking .cmc-progress-item small{display:block!important;color:inherit!important;font-size:12px!important;line-height:1.2!important;font-weight:600!important;white-space:normal!important}
.cmc-booking .cmc-progress-item.is-done span,.cmc-booking .cmc-progress-item.is-current span{border-color:var(--cmc-red)!important;background:var(--cmc-red)!important;color:#fff!important}
.cmc-booking .cmc-progress-item.is-current small{color:var(--cmc-red)!important;font-weight:700!important}
.cmc-booking .cmc-step{min-height:700px!important}
.cmc-booking,.cmc-booking *{box-sizing:border-box!important;min-width:0}.cmc-booking *{font-family:inherit!important}.cmc-booking:before,.cmc-booking:after,.cmc-booking .cmc-step:before,.cmc-booking .cmc-step:after{content:none!important;display:none!important}.cmc-booking .cmc-step{display:none!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;overflow:visible!important}.cmc-booking .cmc-step.is-active{display:block!important}
.cmc-booking h2{max-width:100%!important;margin:0 0 12px!important;padding:0!important;color:var(--cmc-text)!important;font-size:36px!important;line-height:1.16!important;font-weight:700!important;letter-spacing:0!important;overflow-wrap:anywhere!important;word-break:normal!important}.cmc-booking h3{margin:0 0 18px!important;padding:0!important;color:var(--cmc-text)!important;font-size:20px!important;line-height:1.3!important;font-weight:700!important;overflow-wrap:anywhere!important}.cmc-booking p{max-width:100%!important;color:var(--cmc-text)!important;overflow-wrap:anywhere!important;white-space:normal!important}.cmc-booking .cmc-kicker{margin:0 0 6px!important;color:var(--cmc-red)!important;font-size:16px!important;font-weight:600!important}.cmc-booking .cmc-lead{margin:0 0 30px!important;color:var(--cmc-text)!important;font-size:18px!important;line-height:1.5!important}
.cmc-booking label{display:block!important;width:100%!important;max-width:100%!important;margin:20px 0!important;color:var(--cmc-text)!important;font-size:16px!important;font-weight:600!important;line-height:1.35!important}.cmc-booking input,.cmc-booking select{display:block!important;width:100%!important;max-width:100%!important;height:60px!important;margin:9px 0 0!important;padding:0 20px!important;border:1px solid var(--cmc-border)!important;border-radius:20px!important;background:#fff!important;color:var(--cmc-text)!important;font:400 16px/60px inherit!important;outline:0!important;box-shadow:none!important;appearance:auto!important}.cmc-booking input::placeholder{color:var(--cmc-placeholder)!important}.cmc-booking input:focus,.cmc-booking select:focus{background:var(--cmc-focus)!important;border-color:var(--cmc-red)!important;box-shadow:none!important}
.cmc-booking .cmc-primary,.cmc-booking .cmc-next{display:block!important;float:none!important;width:100%!important;max-width:100%!important;min-height:58px!important;margin:30px 0 0!important;padding:15px 24px!important;border:0!important;border-radius:20px!important;background:var(--cmc-red)!important;color:#fff!important;font-size:16px!important;line-height:1.25!important;font-weight:700!important;text-align:center!important;text-transform:none!important;white-space:normal!important;overflow-wrap:anywhere!important;box-shadow:none!important;cursor:pointer!important}.cmc-booking .cmc-next:disabled{opacity:.42!important;cursor:not-allowed!important}.cmc-booking .cmc-back{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:52px!important;margin:0!important;padding:12px 20px!important;border:0!important;border-radius:20px!important;background:#fff!important;color:var(--cmc-red)!important;font-size:16px!important;font-weight:700!important;box-shadow:none!important;cursor:pointer!important}.cmc-booking .cmc-actions{display:flex!important;width:100%!important;max-width:100%!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;margin-top:28px!important}.cmc-booking .cmc-actions .cmc-next{width:auto!important;max-width:62%!important;margin:0!important;padding-left:26px!important;padding-right:26px!important}
.cmc-booking .cmc-city-results{position:relative!important;width:100%!important;max-width:100%!important;margin-top:-8px!important;border:1px solid var(--cmc-border)!important;border-radius:20px!important;overflow:hidden!important;max-height:300px!important;overflow-y:auto!important;background:#fff!important}.cmc-booking .cmc-city-results[hidden]{display:none!important}.cmc-booking .cmc-city-results button{display:flex!important;width:100%!important;max-width:100%!important;justify-content:space-between!important;gap:16px!important;padding:14px 18px!important;border:0!important;border-bottom:1px solid #ececec!important;border-radius:0!important;background:#fff!important;color:var(--cmc-text)!important;text-align:left!important;white-space:normal!important;cursor:pointer!important}.cmc-booking .cmc-city-results button:hover{background:var(--cmc-focus)!important;color:var(--cmc-red)!important}.cmc-booking .cmc-city-results small{color:#737e86!important}
.cmc-booking .cmc-counter{display:flex!important;align-items:center!important;justify-content:center!important;gap:28px!important;margin:30px 0!important}.cmc-booking .cmc-counter button{display:flex!important;align-items:center!important;justify-content:center!important;width:60px!important;height:50px!important;margin:0!important;padding:0!important;border:1px solid var(--cmc-border)!important;border-radius:25px!important;background:#fff!important;color:var(--cmc-red)!important;font-size:25px!important;line-height:1!important;font-weight:700!important;box-shadow:none!important}.cmc-booking .cmc-counter strong{min-width:44px!important;color:var(--cmc-text)!important;font-size:32px!important;line-height:1!important;text-align:center!important}.cmc-booking .cmc-participant-card,.cmc-booking .cmc-info{width:100%!important;max-width:100%!important;margin:18px 0!important;padding:22px 24px!important;border-radius:16px!important;background:#fff!important;color:var(--cmc-text)!important;overflow:hidden!important;overflow-wrap:anywhere!important}.cmc-booking .cmc-participant-card strong{display:block!important;margin-bottom:5px!important;color:var(--cmc-text)!important;font-size:20px!important}.cmc-booking .cmc-info{border:1px solid rgba(176,15,13,.25)!important;background:#fff!important}.cmc-booking .cmc-info strong{color:var(--cmc-red)!important}
.cmc-booking .cmc-slot,.cmc-booking .cmc-summary{display:block!important;width:100%!important;max-width:100%!important;margin:22px 0!important;padding:28px 30px!important;border:0!important;border-radius:16px!important;background:#fff!important;overflow:hidden!important}.cmc-booking .cmc-grid{display:grid!important;width:100%!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:0 24px!important}.cmc-booking .cmc-grid>*{width:100%!important;max-width:100%!important;min-width:0!important}.cmc-booking .cmc-summary dl{display:grid!important;width:100%!important;grid-template-columns:minmax(140px,.75fr) minmax(0,1.25fr)!important;gap:0 28px!important;margin:0!important;color:var(--cmc-text)!important}.cmc-booking .cmc-summary dt,.cmc-booking .cmc-summary dd{margin:0!important;padding:12px 0!important;border-bottom:1px solid #e4e4e4!important;overflow-wrap:anywhere!important}.cmc-booking .cmc-summary dt{font-weight:700!important}.cmc-booking .cmc-summary dd{text-align:right!important;color:var(--cmc-text)!important}.cmc-booking .cmc-summary dt:nth-last-of-type(1),.cmc-booking .cmc-summary dd:last-child{border-bottom:0!important}
.cmc-booking .cmc-price-summary{width:100%!important;max-width:100%!important;margin:22px 0!important;padding:28px 30px!important;border-radius:16px!important;background:#4c555c!important;color:#fff!important;overflow:hidden!important}.cmc-booking .cmc-price-summary strong{display:block!important;margin-bottom:10px!important;color:#fff!important;font-size:28px!important;line-height:1.25!important;overflow-wrap:anywhere!important}.cmc-booking .cmc-price-summary span{display:block!important;margin-top:6px!important;color:#fff!important;overflow-wrap:anywhere!important}.cmc-booking .cmc-payment-disabled{width:100%!important;max-width:100%!important;padding:18px 20px!important;border:1px dashed var(--cmc-border)!important;border-radius:20px!important;background:#fff!important;color:var(--cmc-text)!important;overflow-wrap:anywhere!important}.cmc-booking .cmc-error{max-width:100%!important;color:var(--cmc-red)!important;font-weight:700!important;overflow-wrap:anywhere!important}
@media(max-width:760px){.cmc-booking{width:calc(100% - 20px)!important;margin:10px auto!important;padding:30px 22px!important;border-radius:18px!important}.cmc-booking h2{font-size:30px!important}.cmc-booking .cmc-grid{grid-template-columns:1fr!important;gap:0!important}.cmc-booking .cmc-slot,.cmc-booking .cmc-summary,.cmc-booking .cmc-price-summary{padding:22px 20px!important;border-radius:16px!important}.cmc-booking .cmc-actions{align-items:stretch!important}.cmc-booking .cmc-actions .cmc-next{max-width:68%!important}.cmc-booking .cmc-summary dl{grid-template-columns:1fr!important;gap:0!important}.cmc-booking .cmc-summary dt{padding-bottom:2px!important;border-bottom:0!important}.cmc-booking .cmc-summary dd{padding-top:2px!important;text-align:left!important}.cmc-booking .cmc-price-summary strong{font-size:24px!important}}
@media(max-width:430px){.cmc-booking{width:100%!important;margin:0!important;padding:26px 18px!important;border-radius:16px!important}.cmc-booking h2{font-size:27px!important}.cmc-booking .cmc-lead{font-size:16px!important}.cmc-booking .cmc-actions{flex-direction:column-reverse!important}.cmc-booking .cmc-actions .cmc-next,.cmc-booking .cmc-back{width:100%!important;max-width:100%!important}.cmc-booking .cmc-counter{gap:18px!important}}

@media(max-width:760px){.cmc-booking{min-height:860px!important}.cmc-booking .cmc-step{min-height:650px!important}.cmc-booking .cmc-progress{margin-bottom:30px!important;padding:0!important}.cmc-booking .cmc-progress-item small{font-size:10px!important}.cmc-booking .cmc-progress-item span{width:30px!important;height:30px!important}.cmc-booking .cmc-progress:before{top:15px!important}}
@media(max-width:430px){.cmc-booking{min-height:820px!important}.cmc-booking .cmc-progress-item small{display:none!important}.cmc-booking .cmc-progress{margin-bottom:26px!important}}

/* v0.5: neutralise les décorations injectées par le thème autour du tunnel */
.cmc-booking:before,.cmc-booking:after,.cmc-booking .cmc-step:before,.cmc-booking .cmc-step:after{content:none!important;display:none!important;border:0!important;background:none!important}
.cmc-booking .cmc-pay{margin-top:18px!important}
.cmc-booking .cmc-payment-note{margin:18px 4px 0!important}

/* v0.6 — les champs techniques cachés ne doivent jamais hériter du style Betheme */
.cmc-booking input[type="hidden"]{display:none!important;width:0!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;visibility:hidden!important}
.cmc-confirm{min-height:0!important;text-align:center!important;padding-top:58px!important;padding-bottom:58px!important}
.cmc-confirm .cmc-confirm-icon{display:flex!important;align-items:center!important;justify-content:center!important;width:86px!important;height:86px!important;margin:0 auto 26px!important;border-radius:50%!important;background:var(--cmc-red)!important;color:#fff!important;font-size:48px!important;font-weight:700!important}
.cmc-confirm h2{text-align:center!important}.cmc-confirm .cmc-confirm-lead{max-width:700px!important;margin:0 auto 26px!important;text-align:center!important;font-size:18px!important}
.cmc-confirm .cmc-confirm-card{max-width:720px!important;margin:0 auto 28px!important;padding:26px 30px!important;border-radius:16px!important;background:#fff!important;text-align:left!important}.cmc-confirm .cmc-confirm-card>strong{display:block!important;margin-bottom:10px!important;color:var(--cmc-text)!important;font-size:21px!important}.cmc-confirm .cmc-home{max-width:720px!important;margin:0 auto!important;text-decoration:none!important}


/* v0.7 — écran de confirmation CMC, totalement isolé des styles Betheme */
.cmc-booking.cmc-confirm{min-height:0!important;padding:58px 64px 64px!important;text-align:center!important;overflow:hidden!important}
.cmc-booking.cmc-confirm *{text-shadow:none!important}
.cmc-booking.cmc-confirm *:before,.cmc-booking.cmc-confirm *:after{content:none!important;display:none!important}
.cmc-booking.cmc-confirm .cmc-success-icon{display:flex!important;align-items:center!important;justify-content:center!important;width:82px!important;height:82px!important;margin:0 auto 24px!important;padding:0!important;border:0!important;border-radius:50%!important;background:var(--cmc-red)!important;color:#fff!important;font-family:Arial,Helvetica,sans-serif!important;font-size:46px!important;font-weight:700!important;line-height:1!important;box-shadow:none!important}
.cmc-booking.cmc-confirm h2{display:block!important;width:auto!important;max-width:100%!important;margin:0 auto 12px!important;padding:0!important;border:0!important;background:transparent!important;color:var(--cmc-text)!important;font-size:38px!important;line-height:1.2!important;font-weight:700!important;text-align:center!important;box-shadow:none!important;text-decoration:none!important}
.cmc-booking.cmc-confirm .cmc-confirm-lead{display:block!important;max-width:720px!important;margin:0 auto 34px!important;padding:0!important;border:0!important;background:transparent!important;color:var(--cmc-text)!important;font-size:18px!important;line-height:1.65!important;text-align:center!important;box-shadow:none!important}
.cmc-booking.cmc-confirm .cmc-confirm-card{display:block!important;width:100%!important;max-width:760px!important;margin:0 auto 30px!important;padding:0!important;border:0!important;border-radius:16px!important;background:#fff!important;color:var(--cmc-text)!important;text-align:left!important;overflow:hidden!important;box-shadow:0 8px 24px rgba(76,85,92,.07)!important}
.cmc-booking.cmc-confirm .cmc-confirm-card-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:20px!important;padding:22px 28px!important;border-bottom:1px solid #e6e7e8!important;background:#fff!important}
.cmc-booking.cmc-confirm .cmc-confirm-badge{display:block!important;margin:0!important;padding:0!important;background:transparent!important;color:var(--cmc-red)!important;font-size:18px!important;line-height:1.4!important;font-weight:700!important;box-shadow:none!important}
.cmc-booking.cmc-confirm .cmc-confirm-ref{display:block!important;margin:0!important;padding:7px 12px!important;border-radius:10px!important;background:var(--cmc-soft)!important;color:var(--cmc-text)!important;font-size:14px!important;line-height:1.3!important;font-weight:700!important;white-space:nowrap!important;box-shadow:none!important}
.cmc-booking.cmc-confirm .cmc-confirm-details{display:block!important;padding:10px 28px!important;background:#fff!important}
.cmc-booking.cmc-confirm .cmc-confirm-details>div{display:grid!important;grid-template-columns:150px minmax(0,1fr)!important;gap:24px!important;align-items:center!important;padding:13px 0!important;border-bottom:1px solid #ececec!important;background:transparent!important}
.cmc-booking.cmc-confirm .cmc-confirm-details>div:last-child{border-bottom:0!important}
.cmc-booking.cmc-confirm .cmc-confirm-details span,.cmc-booking.cmc-confirm .cmc-confirm-details strong{display:block!important;margin:0!important;padding:0!important;background:transparent!important;color:var(--cmc-text)!important;line-height:1.45!important;box-shadow:none!important}
.cmc-booking.cmc-confirm .cmc-confirm-details span{font-size:15px!important;font-weight:600!important}.cmc-booking.cmc-confirm .cmc-confirm-details strong{text-align:right!important;font-size:16px!important;font-weight:700!important}
.cmc-booking.cmc-confirm .cmc-confirm-payment{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:20px!important;margin:8px 28px 0!important;padding:20px 22px!important;border-radius:14px!important;background:#4c555c!important;color:#fff!important}
.cmc-booking.cmc-confirm .cmc-confirm-payment span,.cmc-booking.cmc-confirm .cmc-confirm-payment strong{display:block!important;margin:0!important;padding:0!important;background:transparent!important;color:#fff!important;box-shadow:none!important}.cmc-booking.cmc-confirm .cmc-confirm-payment span{font-size:16px!important}.cmc-booking.cmc-confirm .cmc-confirm-payment strong{font-size:24px!important;line-height:1.2!important}
.cmc-booking.cmc-confirm .cmc-confirm-next{display:block!important;margin:0!important;padding:24px 28px 28px!important;border:0!important;background:#fff!important;color:var(--cmc-text)!important;font-size:16px!important;line-height:1.65!important;text-align:left!important;box-shadow:none!important}.cmc-booking.cmc-confirm .cmc-confirm-next strong{background:transparent!important;color:var(--cmc-text)!important;box-shadow:none!important}
.cmc-booking.cmc-confirm .cmc-home{display:block!important;width:100%!important;max-width:760px!important;margin:0 auto!important;padding:17px 24px!important;background:var(--cmc-red)!important;color:#fff!important;text-decoration:none!important;border-radius:20px!important;box-shadow:none!important}
@media(max-width:760px){.cmc-booking.cmc-confirm{padding:42px 22px 48px!important}.cmc-booking.cmc-confirm h2{font-size:31px!important}.cmc-booking.cmc-confirm .cmc-confirm-lead{font-size:16px!important}.cmc-booking.cmc-confirm .cmc-confirm-card-head{align-items:flex-start!important;flex-direction:column!important;padding:20px!important}.cmc-booking.cmc-confirm .cmc-confirm-details{padding:8px 20px!important}.cmc-booking.cmc-confirm .cmc-confirm-details>div{grid-template-columns:1fr!important;gap:3px!important}.cmc-booking.cmc-confirm .cmc-confirm-details strong{text-align:left!important}.cmc-booking.cmc-confirm .cmc-confirm-payment{margin:8px 20px 0!important}.cmc-booking.cmc-confirm .cmc-confirm-next{padding:22px 20px 24px!important}}
\n\n/* v0.8 — finition confirmation + cache-busting assets */
.cmc-booking.cmc-confirm .cmc-confirm-card-head{padding:24px 30px!important}
.cmc-booking.cmc-confirm .cmc-confirm-ref{display:flex!important;align-items:center!important;gap:7px!important}
.cmc-booking.cmc-confirm .cmc-confirm-ref em{font-style:normal!important;font-weight:600!important;color:#737e86!important}
.cmc-booking.cmc-confirm .cmc-confirm-details{padding:14px 30px!important}
.cmc-booking.cmc-confirm .cmc-confirm-details>div{padding:15px 0!important;line-height:1.55!important}
.cmc-booking.cmc-confirm .cmc-confirm-details span{font-size:16px!important;line-height:1.55!important}
.cmc-booking.cmc-confirm .cmc-confirm-details strong{font-size:16px!important;line-height:1.55!important}
.cmc-booking.cmc-confirm .cmc-confirm-payment{margin:12px 30px 0!important;padding:20px 24px!important}
.cmc-booking.cmc-confirm .cmc-confirm-next{margin:0!important;padding:26px 30px 30px!important;line-height:1.75!important}
@media(max-width:760px){.cmc-booking.cmc-confirm .cmc-confirm-card-head{padding:22px!important}.cmc-booking.cmc-confirm .cmc-confirm-details{padding:12px 22px!important}.cmc-booking.cmc-confirm .cmc-confirm-details>div{padding:13px 0!important}.cmc-booking.cmc-confirm .cmc-confirm-payment{margin:10px 22px 0!important}.cmc-booking.cmc-confirm .cmc-confirm-next{padding:24px 22px 28px!important}}


/* v0.10 — finition responsive mobile sans changement fonctionnel */
.cmc-booking .cmc-money{white-space:nowrap!important;color:inherit!important;font:inherit!important}
.cmc-booking .cmc-price-summary b.cmc-money{display:inline!important;margin:0!important;padding:0!important;background:transparent!important;font-weight:inherit!important}
@media(max-width:760px){
  .cmc-booking .cmc-summary dl{display:block!important}
  .cmc-booking .cmc-summary dt,.cmc-booking .cmc-summary dd{display:block!important;width:100%!important;max-width:100%!important}
  .cmc-booking .cmc-summary dt{white-space:nowrap!important;padding:13px 0 3px!important}
  .cmc-booking .cmc-summary dd{padding:0 0 13px!important;text-align:left!important;overflow-wrap:anywhere!important}
  .cmc-booking .cmc-summary dd:last-child{padding-bottom:0!important}
  .cmc-booking .cmc-price-summary strong{line-height:1.35!important}
  .cmc-booking.cmc-confirm .cmc-confirm-ref{width:100%!important;max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important}
  .cmc-booking.cmc-confirm .cmc-confirm-ref em{flex:0 0 auto!important}
  .cmc-booking.cmc-confirm .cmc-confirm-payment{align-items:center!important;gap:14px!important}
  .cmc-booking.cmc-confirm .cmc-confirm-payment span{min-width:0!important}
  .cmc-booking.cmc-confirm .cmc-confirm-payment strong{flex:0 0 auto!important;white-space:nowrap!important;font-size:22px!important}
  .cmc-booking.cmc-confirm .cmc-confirm-next{overflow-wrap:anywhere!important}
}
@media(max-width:430px){
  .cmc-booking .cmc-summary{padding:20px 18px!important}
  .cmc-booking .cmc-summary dt{font-size:15px!important}
  .cmc-booking .cmc-summary dd{font-size:15px!important}
  .cmc-booking .cmc-price-summary{padding:22px 20px!important}
  .cmc-booking .cmc-price-summary strong{font-size:23px!important}
  .cmc-booking .cmc-price-summary>span{font-size:15px!important;line-height:1.55!important}
  .cmc-booking.cmc-confirm .cmc-confirm-ref{display:block!important;padding:10px 12px!important;line-height:1.55!important}
  .cmc-booking.cmc-confirm .cmc-confirm-ref em{display:block!important;margin-bottom:2px!important}
  .cmc-booking.cmc-confirm .cmc-confirm-payment{padding:18px!important}
  .cmc-booking.cmc-confirm .cmc-confirm-payment strong{font-size:21px!important}
}
.cmc-booking .cmc-city-loading{padding:14px 16px;color:#4c555c;background:#fff;font-size:14px;line-height:1.45}
