html{background:#eef1f6}body{color:#121833;background:#eef1f6}body::before{display:none}.page{max-width:1040px;padding:24px 20px 56px}.back-btn{width:48px;height:48px;margin-bottom:20px;border:1px solid #dfe5ef;border-radius:15px;color:#121833;background:#fff;box-shadow:0 10px 28px rgba(18,24,51,.08)}.back-btn:hover{box-shadow:0 14px 34px rgba(18,24,51,.12)}
.rdv-heading{margin-bottom:22px}.rdv-kicker{display:inline-flex;align-items:center;gap:8px;color:#69748a;font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.rdv-kicker:before{content:"";width:22px;height:3px;border-radius:3px;background:#ffd21f}.main-title{margin:9px 0 8px;color:#121833;font-size:clamp(38px,6vw,58px);line-height:1;letter-spacing:-.035em}.main-title:after{display:none}.rdv-intro{max-width:670px;margin:0;color:#657087;font-size:16px;line-height:1.5;font-weight:650}
.steps{margin:0 0 18px;padding:16px 18px;border:1px solid #dfe5ef;border-radius:22px;gap:10px;background:#fff;box-shadow:0 12px 32px rgba(18,24,51,.055)}.step{width:38px;height:38px;border:0;color:#7a8498;background:#edf0f6;box-shadow:none;opacity:1}.step.active{color:#121833;border:0;background:#ffd21f;box-shadow:0 8px 20px rgba(255,210,31,.3)}.line{height:3px;background:#e5e9f0;opacity:1}
.card,.card.step-panel.active{padding:clamp(20px,4vw,34px);border:1px solid #dfe5ef;border-radius:28px;color:#121833;background:#fff;box-shadow:0 18px 48px rgba(18,24,51,.075);backdrop-filter:none}.label,.block-title{color:#121833}.hint,.terms-hint{color:#657087}.input,.date-native{min-height:52px;border:1px solid #dce2ec;border-radius:15px;color:#121833;background:#f3f5f9}.input::placeholder{color:#929bad}.input:focus{border-color:#121833;background:#fff;box-shadow:0 0 0 4px rgba(18,24,51,.08)}textarea.input{min-height:112px}
.btn{min-height:50px;padding:0 21px;border:1px solid #dce2ec;border-radius:15px;color:#121833;background:#f3f5f9;box-shadow:none;font-weight:900}.btn:hover{border-color:#cbd3df;background:#fff;box-shadow:none}.btn.primary{border-color:#ffd21f;color:#121833;background:#ffd21f;box-shadow:0 10px 22px rgba(255,210,31,.18)}.btn.primary:hover{background:#ffda43}.actions{margin-top:24px;gap:10px}
.code-toggle,.selected-slot-card,.total-box,.terms-box,.summary{border-color:#dfe5ef!important;color:#121833!important;background:#f5f7fa!important}.choice,.option-card,.date-card,.slot-chip-list li{border-color:#dfe5ef!important;color:#121833!important;background:#f5f7fa!important}.choice:hover,.option-card:hover,.date-card:hover,.slot-chip-list li:hover{border-color:#c7ceda!important;background:#fff!important;box-shadow:none!important}.choice.selected,.option-card.selected,.date-card.active,.slot-chip-list li.active{border-color:#ffd21f!important;color:#121833!important;background:#fff8d5!important;box-shadow:0 0 0 3px rgba(255,210,31,.18)!important}.modal{background:rgba(10,15,35,.68)}.modal-card{border:1px solid #dfe5ef;border-radius:26px;color:#121833;background:#fff;box-shadow:0 30px 80px rgba(0,0,0,.25)}.modal-text{color:#657087}.loader-box{border-radius:24px;color:#121833;background:#fff;box-shadow:0 25px 70px rgba(18,24,51,.2)}

/* Étapes 3 à 6 : surfaces claires et contraste uniforme. */
.split{align-items:start}
.block{
  border-color:#dfe5ef;
  color:#121833;
  background:#fff;
  box-shadow:none;
}
.block-title,.choice-main,.choice-price{color:#121833}
.choice-price{color:#d6a900}
.help{border-color:#dfe5ef;color:#121833;background:#f5f7fa;box-shadow:none}
.divider{background:#e2e7ef}
.counter{border-color:#dfe5ef;color:#121833;background:#f5f7fa}
#carnetStatus,#couponStatus{color:#657087}
.code-toggle:hover{border-color:#c7ceda;color:#121833;background:#fff;box-shadow:none}

.date-card,.selected-slot-card,.total-box,.summary,.terms-box,.pay-total{box-shadow:none}
.date-card-top,.date-card-month,.slot-list-title,.pill-label{color:#657087}
.date-card-number,.pill-value{color:#121833}
.date-card-arrow{box-shadow:none}
.slot-show-all{border-color:#cfd7e3;color:#121833;background:#fff}
.slot-show-all:hover{border-color:#ffd21f;background:#fff8d5}
.summary .muted{color:#657087}
.summary .divider{background:#dce2ec}
.terms-label{color:#121833}
.pay-total{
  border-color:#ffd21f;
  color:#121833;
  background:#fff8d5;
}
.pay-total span{color:#657087}
.pay-total b{color:#121833}
@media(max-width:600px){.page{padding:14px 12px 36px}.back-btn{width:44px;height:44px;margin-bottom:16px}.main-title{font-size:40px}.rdv-intro{font-size:14px}.steps{padding:12px 10px;gap:5px;border-radius:18px}.step{width:31px;height:31px;font-size:12px}.line{min-width:5px}.card,.card.step-panel.active{padding:20px 15px;border-radius:23px}.actions{display:grid;grid-template-columns:1fr 1fr}.actions .btn:only-child{grid-column:1/-1}.paybar{display:grid}.paybar .btn{width:100%}}
