/* ===================================================================
   Crépy Auto Services — Prise de RDV  (design premium, blindé thème)
   Clair épuré + accents rouge/noir. Tout en !important pour ne pas
   être écrasé par le thème du site.
=================================================================== */
.cas-rdv-wrap, .cas-rdv-wrap *{box-sizing:border-box !important}
.cas-rdv-wrap{
  --r:#d91415; --r2:#b30f10; --ink:#16181d; --line:#e8e8ec; --muted:#8a8a94;
  --bg:#ffffff; --soft:#f7f7f9;
  max-width:780px !important;margin:0 auto !important;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif !important;
  color:var(--ink) !important;background:var(--bg) !important;
  border-radius:24px !important;padding:38px 34px !important;
  box-shadow:0 18px 60px rgba(0,0,0,.10),0 2px 8px rgba(0,0,0,.04) !important;
  border:1px solid var(--line) !important;text-align:left !important;line-height:1.5 !important
}

/* Barre d'étapes */
.cas-rdv-steps{display:flex !important;gap:0 !important;margin:0 0 38px !important;padding:0 !important;list-style:none !important}
.cas-rdv-step{flex:1 !important;display:flex !important;flex-direction:column !important;align-items:center !important;gap:9px !important;position:relative !important;color:var(--muted) !important;background:none !important}
.cas-rdv-step-num{
  width:38px !important;height:38px !important;border-radius:50% !important;
  display:grid !important;place-items:center !important;
  background:#fff !important;border:2px solid var(--line) !important;
  font-weight:700 !important;font-size:.95rem !important;color:var(--muted) !important;
  transition:all .25s !important;z-index:2 !important;line-height:1 !important
}
.cas-rdv-step-lbl{font-size:.8rem !important;font-weight:600 !important;letter-spacing:.2px !important;color:inherit !important}
.cas-rdv-step::before{content:'' !important;position:absolute !important;top:19px !important;left:-50% !important;width:100% !important;height:2px !important;background:var(--line) !important;z-index:1 !important}
.cas-rdv-step:first-child::before{display:none !important}
.cas-rdv-step.active{color:var(--r) !important}
.cas-rdv-step.active .cas-rdv-step-num{border-color:var(--r) !important;background:var(--r) !important;color:#fff !important;box-shadow:0 0 0 5px rgba(217,20,21,.13) !important}
.cas-rdv-step.done{color:var(--ink) !important}
.cas-rdv-step.done .cas-rdv-step-num{border-color:var(--r) !important;background:#fff !important;color:var(--r) !important}
.cas-rdv-step.done::before{background:var(--r) !important}

/* Panneaux */
.cas-rdv-panel{display:none !important;animation:casRdvIn .35s ease !important}
.cas-rdv-panel.active{display:block !important}
@keyframes casRdvIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.cas-rdv-h{font-size:1.35rem !important;font-weight:800 !important;color:var(--ink) !important;margin:0 0 24px !important;text-align:center !important;letter-spacing:-.3px !important}

/* Catégories */
.cas-rdv-cats{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:16px !important}
.cas-rdv-cat{
  display:flex !important;flex-direction:column !important;align-items:center !important;gap:14px !important;
  padding:32px 18px !important;border:2px solid var(--line) !important;border-radius:18px !important;
  background:var(--soft) !important;cursor:pointer !important;transition:all .22s !important;width:100% !important;
  color:var(--ink) !important;text-align:center !important
}
.cas-rdv-cat:hover{border-color:var(--r) !important;background:#fff !important;transform:translateY(-5px) !important;box-shadow:0 14px 34px rgba(217,20,21,.16) !important}
.cas-rdv-cat-icon{font-size:2.7rem !important;line-height:1 !important;filter:none !important}
.cas-rdv-cat-label{font-weight:700 !important;font-size:1.05rem !important;color:var(--ink) !important}

/* Prestations */
.cas-rdv-presta-group{display:none !important;flex-direction:column !important;gap:12px !important}
.cas-rdv-presta-group.cas-rdv-grp-show{display:flex !important}
.cas-rdv-presta{
  display:flex !important;align-items:center !important;justify-content:space-between !important;gap:16px !important;
  padding:20px 24px !important;border:2px solid var(--line) !important;border-radius:14px !important;
  background:var(--soft) !important;cursor:pointer !important;transition:all .2s !important;text-align:left !important;width:100% !important;color:var(--ink) !important
}
.cas-rdv-presta:hover{border-color:var(--r) !important;background:#fff !important;transform:translateX(4px) !important;box-shadow:0 8px 22px rgba(217,20,21,.12) !important}
.cas-rdv-presta-name{font-weight:600 !important;font-size:1.05rem !important;color:var(--ink) !important}
.cas-rdv-presta-duree{font-size:.82rem !important;color:var(--r) !important;background:rgba(217,20,21,.08) !important;padding:5px 13px !important;border-radius:20px !important;white-space:nowrap !important;font-weight:600 !important}

/* Créneaux */
.cas-rdv-loading{color:var(--muted) !important;padding:30px !important;text-align:center !important;font-size:1rem !important}
.cas-rdv-day{margin-bottom:24px !important}
.cas-rdv-day-label{font-weight:700 !important;color:var(--ink) !important;font-size:1rem !important;margin-bottom:12px !important;text-transform:capitalize !important;display:flex !important;align-items:center !important;gap:8px !important}
.cas-rdv-day-label::before{content:'' !important;width:8px !important;height:8px !important;border-radius:50% !important;background:var(--r) !important;display:inline-block !important}
.cas-rdv-hours{display:flex !important;flex-wrap:wrap !important;gap:10px !important}
.cas-rdv-hour{
  padding:12px 20px !important;border:2px solid var(--line) !important;border-radius:11px !important;
  background:#fff !important;cursor:pointer !important;font-weight:600 !important;font-size:.95rem !important;color:var(--ink) !important;transition:all .16s !important
}
.cas-rdv-hour:hover{border-color:var(--r) !important;color:var(--r) !important;transform:translateY(-2px) !important;box-shadow:0 6px 14px rgba(217,20,21,.12) !important}
.cas-rdv-hour.sel{background:var(--r) !important;border-color:var(--r) !important;color:#fff !important}
.cas-rdv-empty{color:var(--muted) !important;padding:24px !important;text-align:center !important;font-style:italic !important;background:var(--soft) !important;border-radius:12px !important}

/* Coordonnées */
.cas-rdv-recap{background:rgba(217,20,21,.06) !important;border-left:4px solid var(--r) !important;padding:16px 20px !important;border-radius:10px !important;margin-bottom:22px !important;font-size:1rem !important;color:var(--ink) !important}
.cas-rdv-recap strong{color:var(--r) !important}
.cas-rdv-fields{display:flex !important;flex-direction:column !important;gap:13px !important}
.cas-rdv-row{display:flex !important;gap:13px !important}
.cas-rdv-row input{flex:1 !important}
.cas-rdv-fields input,.cas-rdv-fields textarea{
  padding:14px 17px !important;border:2px solid var(--line) !important;border-radius:11px !important;
  font-size:.96rem !important;font-family:inherit !important;width:100% !important;
  background:#fff !important;color:var(--ink) !important;transition:border .16s !important
}
.cas-rdv-fields input::placeholder,.cas-rdv-fields textarea::placeholder{color:var(--muted) !important}
.cas-rdv-fields input:focus,.cas-rdv-fields textarea:focus{outline:none !important;border-color:var(--r) !important;box-shadow:0 0 0 3px rgba(217,20,21,.1) !important}
.cas-rdv-actions{display:flex !important;justify-content:space-between !important;align-items:center !important;margin-top:24px !important;gap:14px !important}
.cas-rdv-back{background:none !important;border:none !important;color:var(--muted) !important;cursor:pointer !important;font-size:.92rem !important;font-weight:600 !important;padding:10px 4px !important;margin-top:16px !important;transition:color .15s !important}
.cas-rdv-back:hover{color:var(--r) !important}
.cas-rdv-msg{margin-top:18px !important;font-size:.98rem !important}
.cas-rdv-msg.ok{padding:18px !important;background:rgba(22,163,74,.1) !important;border-left:4px solid #16a34a !important;border-radius:10px !important;color:#15803d !important}
.cas-rdv-msg.err{padding:16px !important;background:rgba(217,20,21,.08) !important;border-left:4px solid var(--r) !important;border-radius:10px !important;color:var(--r2) !important}

@media(max-width:620px){
  .cas-rdv-wrap{padding:26px 18px !important}
  .cas-rdv-cats{grid-template-columns:1fr !important;gap:12px !important}
  .cas-rdv-cat{flex-direction:row !important;justify-content:flex-start !important;padding:20px 22px !important}
  .cas-rdv-cat-icon{font-size:2rem !important}
  .cas-rdv-row{flex-direction:column !important}
  .cas-rdv-step-lbl{font-size:.68rem !important}
  .cas-rdv-h{font-size:1.15rem !important}
}

/* ============ Créneaux : onglets de dates + heures (style Doctolib) ============ */
.cas-rdv-date-tabs{
  display:flex !important;gap:10px !important;overflow-x:auto !important;
  padding:4px 2px 14px !important;margin-bottom:18px !important;
  border-bottom:1px solid var(--line) !important;-webkit-overflow-scrolling:touch !important
}
.cas-rdv-date-tabs::-webkit-scrollbar{height:5px !important}
.cas-rdv-date-tabs::-webkit-scrollbar-thumb{background:var(--line) !important;border-radius:3px !important}
.cas-rdv-date-tab{
  flex:0 0 auto !important;min-width:86px !important;padding:12px 16px !important;
  border:2px solid var(--line) !important;border-radius:14px !important;background:#fff !important;
  cursor:pointer !important;font-weight:700 !important;font-size:.9rem !important;color:var(--ink) !important;
  text-align:center !important;line-height:1.35 !important;transition:all .18s !important
}
.cas-rdv-date-tab .cas-rdv-tab-num{font-weight:500 !important;font-size:.78rem !important;color:var(--muted) !important}
.cas-rdv-date-tab:hover{border-color:var(--r) !important;transform:translateY(-2px) !important}
.cas-rdv-date-tab.active{background:var(--r) !important;border-color:var(--r) !important;color:#fff !important;box-shadow:0 6px 16px rgba(217,20,21,.22) !important}
.cas-rdv-date-tab.active .cas-rdv-tab-num{color:rgba(255,255,255,.85) !important}
.cas-rdv-hours-zone{min-height:60px !important}
.cas-rdv-hours-zone .cas-rdv-hours{display:grid !important;grid-template-columns:repeat(auto-fill,minmax(92px,1fr)) !important;gap:10px !important}
.cas-rdv-hours-zone .cas-rdv-hour{text-align:center !important;padding:13px 0 !important}

/* Champ invalide */
.cas-rdv-fields input.cas-rdv-invalid,.cas-rdv-fields textarea.cas-rdv-invalid{
  border-color:var(--r) !important;background:rgba(217,20,21,.04) !important;
  box-shadow:0 0 0 3px rgba(217,20,21,.1) !important
}

/* Bouton premium */
.cas-rdv-submit{
  display:inline-flex !important;align-items:center !important;justify-content:center !important;gap:12px !important;
  background:linear-gradient(135deg,#e11618,#b30f10) !important;color:#fff !important;
  border:none !important;border-radius:12px !important;
  padding:17px 32px !important;min-height:0 !important;min-width:0 !important;height:auto !important;line-height:1.2 !important;
  font-size:1rem !important;font-weight:700 !important;cursor:pointer !important;
  letter-spacing:.4px !important;transition:all .22s !important;width:auto !important;
  box-shadow:0 6px 18px rgba(217,20,21,.24) !important;white-space:nowrap !important
}
.cas-rdv-submit:hover{transform:translateY(-3px) !important;box-shadow:0 14px 32px rgba(217,20,21,.4) !important}
.cas-rdv-submit:disabled{opacity:.6 !important;cursor:default !important;transform:none !important}
.cas-rdv-submit:active{transform:translateY(-1px) !important}
.cas-rdv-submit:disabled{opacity:.65 !important;transform:none !important;cursor:default !important;box-shadow:none !important}
.cas-rdv-submit-arrow{font-size:1.2rem !important;transition:transform .2s !important}
.cas-rdv-submit:hover .cas-rdv-submit-arrow{transform:translateX(4px) !important}

@media(max-width:620px){
  .cas-rdv-hours-zone .cas-rdv-hours{grid-template-columns:repeat(auto-fill,minmax(78px,1fr)) !important}
  .cas-rdv-submit{width:100% !important;justify-content:center !important}
}

/* ============ POPUP DE CONFIRMATION (premium) ============ */
.cas-rdv-modal{
  display:none !important;position:fixed !important;inset:0 !important;z-index:99999 !important;
  align-items:center !important;justify-content:center !important;padding:20px !important
}
.cas-rdv-modal.cas-rdv-modal-open{display:flex !important}
.cas-rdv-modal-overlay{
  position:absolute !important;inset:0 !important;background:rgba(15,16,20,.6) !important;
  backdrop-filter:blur(4px) !important;-webkit-backdrop-filter:blur(4px) !important;animation:casModalFade .25s ease !important
}
@keyframes casModalFade{from{opacity:0}to{opacity:1}}
.cas-rdv-modal-card{
  position:relative !important;background:#fff !important;border-radius:24px !important;
  padding:40px 38px 34px !important;max-width:430px !important;width:100% !important;text-align:center !important;
  box-shadow:0 30px 80px rgba(0,0,0,.45) !important;animation:casModalPop .4s cubic-bezier(.22,1,.36,1) !important;
  box-sizing:border-box !important;overflow:hidden !important
}
.cas-rdv-modal-card::before{
  content:'' !important;position:absolute !important;top:0 !important;left:0 !important;right:0 !important;
  height:6px !important;background:linear-gradient(90deg,#16a34a,#22c55e) !important
}
@keyframes casModalPop{from{opacity:0;transform:translateY(24px) scale(.95)}to{opacity:1;transform:none}}

/* Coche verte dans pastille */
.cas-rdv-check{
  width:90px !important;height:90px !important;margin:6px auto 24px !important;
  border-radius:50% !important;background:#eafaf0 !important;display:grid !important;place-items:center !important;
  animation:casCheckPulse .5s ease !important
}
@keyframes casCheckPulse{0%{transform:scale(.7);opacity:0}60%{transform:scale(1.05)}100%{transform:scale(1);opacity:1}}
.cas-rdv-check svg{width:52px !important;height:52px !important;display:block !important}
.cas-rdv-check-circle{stroke:#16a34a !important;stroke-width:3 !important;animation:casCircle .55s ease !important}
.cas-rdv-check-mark{stroke:#16a34a !important;stroke-width:4.5 !important;stroke-linecap:round !important;stroke-linejoin:round !important;animation:casMark .45s .25s ease both !important}
@keyframes casCircle{from{stroke-dasharray:151;stroke-dashoffset:151}to{stroke-dasharray:151;stroke-dashoffset:0}}
@keyframes casMark{from{stroke-dasharray:40;stroke-dashoffset:40}to{stroke-dasharray:40;stroke-dashoffset:0}}

.cas-rdv-modal-title{font-size:1.55rem !important;font-weight:800 !important;color:var(--ink) !important;margin:0 0 12px !important;letter-spacing:-.3px !important}
.cas-rdv-modal-text{font-size:.96rem !important;color:var(--muted) !important;margin:0 auto 24px !important;line-height:1.6 !important;max-width:340px !important}
.cas-rdv-modal-recap{
  background:var(--soft) !important;border:1px solid var(--line) !important;border-radius:16px !important;
  padding:6px 20px !important;margin-bottom:26px !important;text-align:left !important;font-size:.94rem !important
}
.cas-rdv-modal-recap .cas-rdv-recap-line{display:flex !important;justify-content:space-between !important;gap:12px !important;padding:13px 0 !important}
.cas-rdv-modal-recap .cas-rdv-recap-line:not(:last-child){border-bottom:1px solid var(--line) !important}
.cas-rdv-modal-recap .cas-rdv-recap-k{color:var(--muted) !important;font-weight:600 !important;flex-shrink:0 !important}
.cas-rdv-modal-recap .cas-rdv-recap-v{color:var(--ink) !important;font-weight:700 !important;text-align:right !important}
.cas-rdv-modal-close{
  background:var(--r) !important;color:#fff !important;border:none !important;border-radius:12px !important;
  padding:17px 44px !important;min-height:0 !important;height:auto !important;line-height:1.2 !important;
  font-size:1rem !important;font-weight:700 !important;cursor:pointer !important;letter-spacing:.4px !important;
  transition:all .2s !important
}
.cas-rdv-modal-close:hover{background:var(--r2) !important;transform:translateY(-2px) !important;box-shadow:0 6px 16px rgba(217,20,21,.28) !important}

@media(max-width:620px){
  .cas-rdv-submit{width:100% !important;justify-content:center !important}
  .cas-rdv-modal-card{padding:32px 22px 28px !important}
  .cas-rdv-modal-title{font-size:1.3rem !important}
}


/* ===== SCROLL_DATES_V1 : defilement horizontal des onglets de dates ===== */
.cas-rdv-date-tabs {
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  overflow-y: hidden;
  gap: 8px;
  padding-bottom: 10px;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}
.cas-rdv-date-tabs::-webkit-scrollbar { height: 7px; }
.cas-rdv-date-tabs::-webkit-scrollbar-track { background: #f0f0f0; border-radius: 4px; }
.cas-rdv-date-tabs::-webkit-scrollbar-thumb { background: #d91415; border-radius: 4px; }
.cas-rdv-date-tabs::-webkit-scrollbar-thumb:hover { background: #b01012; }
.cas-rdv-date-tab {
  flex: 0 0 auto !important;
  white-space: nowrap;
}
