.deposit-device{margin:12px 0;border:1px solid #ffffff30;border-radius:12px;background:#101114bb;padding:0 16px}.deposit-device-title{margin:0;padding:15px 0;font-weight:700;font-size:1rem;line-height:1.45}.deposit-device-fields{padding:0 0 16px;display:grid;gap:12px}.deposit-services{min-width:0;padding:0;border:0;margin:0}.deposit-services legend{font-weight:600;margin-bottom:6px}.deposit-service{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:start;gap:9px;padding:10px 0;border-bottom:1px solid #ffffff15;font-size:1rem;line-height:1.4;cursor:pointer}.deposit-service input{width:18px;min-width:18px;height:18px;margin:3px 0 0;accent-color:#e62a40}.deposit-service strong{white-space:nowrap;font-size:.95rem}.deposit-service:last-child{border-bottom:0}.deposit-estimate{margin:20px 0;padding:18px;border:1px solid #ef314b66;border-radius:12px;background:#111215ed}.deposit-estimate h3{margin:0 0 12px}.deposit-total{font-size:1.22rem;font-weight:750;margin:16px 0}.deposit-subtotal{border-bottom:1px solid #ffffff25;padding:9px 0}.deposit-subtotal summary{cursor:pointer;font-weight:600}.deposit-subtotal p{font-size:.96rem;margin:7px 0}.deposit-remove{justify-self:start;background:none;border:0;color:#ff9aa7;text-decoration:underline;min-height:44px;cursor:pointer}.deposit-device :focus-visible,.deposit-estimate :focus-visible{outline:2px solid #ff5369;outline-offset:3px}.deposit-device input,.deposit-device select,.deposit-device textarea{max-width:100%;box-sizing:border-box}.deposit-device[hidden],[data-context-booking][hidden]{display:none!important}@media(max-width:600px){.deposit-device{padding:0 12px}.deposit-estimate{padding:14px}.deposit-service{font-size:.96rem;gap:7px}.deposit-device-title{font-size:1rem}.deposit-total{font-size:1.12rem}}

/* Final booking action: centered, readable and touch-friendly. */
#rdv-form .booking-final-action{text-align:center;margin:1.75rem auto 0;max-width:46rem;display:flex;flex-direction:column;align-items:center;gap:1rem}#rdv-form .booking-final-action #bookingSubmit{align-self:center;justify-content:center;min-height:60px;padding:1rem 2rem;font-size:1.12rem!important;width:auto;max-width:100%;white-space:normal}#rdv-form .booking-final-action .form-help{text-align:center;margin:0;max-width:42rem;font-size:1rem;line-height:1.6}@media(max-width:600px){#rdv-form .booking-final-action #bookingSubmit{width:100%;padding:1rem;font-size:1.05rem!important}}

/* Private booking management: secondary link and compact native controls. */
.booking-manage{max-width:900px}.booking-manage .form-card{width:100%}.manage-appointment{border-top:1px solid #ffffff35;margin-top:1.5rem;padding-top:1.5rem}.booking-manage fieldset{border:1px solid #ffffff35;border-radius:12px;margin:1rem 0;padding:1rem;min-width:0}.booking-manage legend{font-weight:700}.booking-manage .manage-confirm{display:flex;align-items:flex-start;gap:.65rem;margin:1rem 0;line-height:1.5}.manage-confirm input{width:20px!important;min-width:20px;height:20px;accent-color:#e00026;margin-top:2px}.manage-time-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:.5rem}.manage-time-grid label{position:relative}.manage-time-grid input{position:absolute;opacity:0}.manage-time-grid span{display:block;padding:.7rem;text-align:center;border:1px solid #ffffff45;border-radius:8px}.manage-time-grid input:checked+span{background:#aa001f;color:#fff;border-color:#ff3655}.manage-time-grid input:focus-visible+span{outline:2px solid #fff;outline-offset:3px}@media(max-width:700px){.booking-manage .form-card{padding:1.15rem}}
