
.rac-booking{font-family:inherit;max-width:900px;margin:auto;color:#101828}
.rac-steps{display:flex;gap:12px;justify-content:center;margin-bottom:22px;flex-wrap:wrap}
.rac-steps span{padding:8px 12px;border-radius:999px;background:#eef2f6;color:#667085;font-size:14px}
.rac-steps span.is-active{background:#e8f1ff;color:#1769e0;font-weight:700}
.rac-panel{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:24px;box-shadow:0 8px 30px rgba(16,24,40,.06)}
.rac-panel h3{margin-top:0}
.rac-panel label{display:block;font-weight:600;margin:12px 0}
.rac-panel input[type=text],.rac-panel input[type=email],.rac-panel input[type=tel],.rac-panel input[type=date],.rac-panel select{width:100%;box-sizing:border-box;border:1px solid #d0d5dd;border-radius:10px;padding:12px;margin-top:7px;background:#fff}
.rac-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}
.rac-grid label:last-child{grid-column:1/-1}
.rac-service-summary,.rac-selected-summary{margin:12px 0;padding:12px 14px;border-radius:10px;background:#f8fafc;border:1px solid #e5e7eb;color:#344054}
.rac-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:22px}
.rac-slot,.rac-btn{font:inherit;cursor:pointer}
.rac-slot{appearance:none;-webkit-appearance:none;display:flex;align-items:center;justify-content:center;min-height:56px;padding:9px 12px;border:2px solid #d8d8d8;border-radius:4px;background:#fff;color:#111827;font-size:21px;font-weight:500;letter-spacing:.01em;box-shadow:none;transition:background-color .18s ease,border-color .18s ease,transform .12s ease}
.rac-slot.is-selected{background:#ececec;border-color:#cfcfcf;color:#111827}
.rac-slot:hover{border-color:#000;background:#000;color:#fff;transform:translateY(-1px)}
.rac-btn{border:0;border-radius:10px;padding:12px 16px;background:#1769e0;color:white;font-weight:700;margin-top:14px}
.rac-btn[disabled]{opacity:.6;cursor:wait}
.rac-check{font-weight:400!important}
.rac-card{padding:14px;border:1px solid #d0d5dd;border-radius:10px;background:#fff}
.rac-alert{padding:12px 14px;border-radius:10px;margin-bottom:14px;background:#ecfdf3;color:#027a48}
.rac-alert.is-error{background:#fef3f2;color:#b42318}
.rac-success{text-align:center}
.rac-success-icon{width:52px;height:52px;border-radius:50%;background:#12b76a;color:#fff;display:grid;place-items:center;font-size:28px;margin:0 auto 14px}
@media(max-width:780px){.rac-slots{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}}
@media(max-width:600px){.rac-grid{grid-template-columns:1fr}.rac-grid label:last-child{grid-column:auto}.rac-slots{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rac-slot{min-height:52px;font-size:18px;padding:8px 8px}.rac-panel{padding:18px}}
@media(max-width:340px){.rac-slots{grid-template-columns:1fr}}
.rac-options-wrap{margin:18px 0}
.rac-options-wrap h4{margin:0 0 10px;font-size:16px}
.rac-options-list{display:grid;gap:10px}
.rac-option-row{display:flex!important;align-items:center;gap:12px;margin:0!important;padding:12px 14px;border:1px solid #d8d8d8;border-radius:8px;background:#fff;font-weight:400!important;cursor:pointer}
.rac-option-row:hover{border-color:#a8a8a8;background:#fafafa}
.rac-option-row input{width:18px;height:18px;margin:0;flex:0 0 auto}
.rac-option-main{display:flex;justify-content:space-between;align-items:center;gap:14px;width:100%}
.rac-option-name{font-weight:500;color:#111827}
.rac-option-extra{font-size:14px;color:#667085;white-space:nowrap}
.rac-total-summary{margin:12px 0;padding:12px 14px;border-radius:8px;background:#f8fafc;border:1px solid #e5e7eb;font-weight:600;color:#111827}
@media(max-width:520px){.rac-option-main{align-items:flex-start;flex-direction:column;gap:3px}.rac-option-extra{white-space:normal}}

.rac-option-price{font-weight:500;color:#111827}.rac-option-time{color:#667085}.rac-total-summary{font-size:16px}.rac-total-summary::before{content:'Total sélectionné — ';font-weight:500}
/* Empêche notamment Safari/iOS de donner au champ date une largeur intrinsèque supérieure à son conteneur. */
.rac-booking,.rac-booking *{box-sizing:border-box}
.rac-step-1 label{min-width:0;max-width:100%}
.rac-panel input.rac-date{display:block;width:100%!important;max-width:100%!important;min-width:0!important;inline-size:100%!important;max-inline-size:100%!important;min-inline-size:0!important;font-size:16px}
@media(max-width:600px){.rac-panel input.rac-date{width:100%!important;max-width:100%!important;min-width:0!important}}

