/* Reservation sheet: fixed header/actions, one scrollable field region. */
.app-ready #reservation-dialog{width:min(540px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:0;overflow:hidden;border-radius:28px}
#reservation-dialog[open]{display:flex;flex-direction:column}
#reservation-dialog .dialog-toolbar{position:relative;flex:0 0 auto;padding:19px 24px 16px;gap:16px;min-height:78px}
#reservation-dialog .dialog-toolbar h2{font-size:25px;line-height:1.25;margin-top:5px;outline:none}
#reservation-dialog .dialog-brand{font-size:9px;letter-spacing:1px;line-height:1.4}
#reservation-close{flex:0 0 42px;min-width:42px;width:42px;height:42px;font-size:25px}
#reservation-slot{display:flex;flex-direction:column;min-height:0;overflow:hidden}
#reservation-slot .booking-card{display:flex;flex-direction:column;min-height:0;width:100%;padding:0;border-radius:0;background:transparent}
#reservation-slot #booking-form{display:flex;flex-direction:column;min-height:0;overflow:hidden}
#reservation-slot #booking-form[hidden]{display:none}
#reservation-slot .booking-fields{min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:18px 24px 4px;scrollbar-width:none;scroll-padding-block:12px}
.booking-fields::-webkit-scrollbar{display:none;width:0;height:0}.booking-fields::-webkit-scrollbar-track{background:transparent}.booking-fields::-webkit-scrollbar-thumb{background:#b6c7b3;border-radius:10px}.booking-fields::-webkit-scrollbar-button{display:none;height:0}
#reservation-slot .service-select{margin:0 0 16px;padding:4px;border:0;gap:3px;background:#e9eee3}
#reservation-slot .service-select label span{display:flex;align-items:center;justify-content:center;min-height:42px;padding:9px 8px;font-size:12px;line-height:1.4}
#reservation-slot .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 14px}
#reservation-slot .form-grid label{min-width:0;gap:6px}
#reservation-slot .form-grid label>span{font-size:12px;line-height:1.4}
#reservation-slot .form-grid input,#reservation-slot .form-grid select,#reservation-slot .form-grid textarea{width:100%;min-width:0;max-width:100%;height:46px;min-height:46px;padding:10px 12px;border-radius:13px;font-size:16px;line-height:1.4;background:#ffffffb8;box-sizing:border-box}
#reservation-slot .form-grid input[type=date]{appearance:none;-webkit-appearance:none}
#reservation-slot .form-grid input[type=date]::-webkit-date-and-time-value{text-align:start}
#reservation-slot .form-grid textarea{height:auto;min-height:80px;resize:vertical}
#reservation-slot #phone-help{font-size:11px;line-height:1.5;margin:5px 0 0;color:#60705c}
#reservation-slot .note-disclosure{padding:2px 0 9px;margin:0;border-color:#dce3d5}
#reservation-slot .note-disclosure summary{font-size:12px;line-height:1.5;min-height:32px;display:flex;align-items:center;justify-content:space-between;gap:10px}
#reservation-slot .note-disclosure>label{margin-top:8px}
#reservation-slot .privacy-note{font-size:10px;line-height:1.6;margin:12px 0 8px;color:#65735f}
#reservation-slot .booking-actions{flex:0 0 auto;padding:12px 24px 16px;background:#f8faf5f5;border-top:1px solid #e0e7d9;box-shadow:0 -8px 22px #193d2c04;z-index:1}
#reservation-slot .submit{width:100%;min-height:48px;padding:12px 18px;font-size:12px;line-height:1.5;gap:12px;border-radius:18px}
#reservation-slot .submit>span:last-child{flex-shrink:0}
#reservation-slot .confirmation-note{font-size:10px;line-height:1.5;margin:8px 0 0;text-align:center}
#reservation-slot .form-message{font-size:11px;line-height:1.5;margin:6px 0 0;max-height:70px;overflow:auto}
#reservation-slot .form-message:empty{display:none}
#reservation-slot #booking-success{min-height:0;overflow:auto;padding:24px;scrollbar-width:thin;scrollbar-color:#b6c7b3 transparent}
#reservation-slot #booking-success .success-mark{width:52px;height:52px;font-size:28px;margin:0 auto 14px}
#reservation-slot #booking-success h3{font-size:25px;margin:12px auto;line-height:1.3}
#reservation-slot #booking-success .reference{margin:20px 0;padding:16px 0}
#reservation-slot input:focus-visible,#reservation-slot select:focus-visible,#reservation-slot textarea:focus-visible{outline:2px solid #709477;outline-offset:2px}
@media(max-width:800px){
 .app-ready #reservation-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 24px);margin:auto 10px max(10px,env(safe-area-inset-bottom));border-radius:26px}
 #reservation-dialog .dialog-toolbar{padding:23px 20px 14px;min-height:78px}
 #reservation-dialog .dialog-toolbar:before{top:9px;width:30px;height:3px;left:calc(50% - 15px)}
 #reservation-dialog .dialog-toolbar h2{font-size:23px}
 #reservation-slot .booking-fields{padding:16px 18px 2px}
 #reservation-slot .booking-actions{padding:11px 18px max(14px,env(safe-area-inset-bottom))}
 #reservation-slot .service-select{margin-bottom:14px}
 #reservation-slot .form-grid{gap:12px}
}
@media(max-height:640px){
 #reservation-dialog .dialog-toolbar{padding-block:14px 11px;min-height:66px}
 #reservation-dialog .dialog-toolbar h2{font-size:21px}
 #reservation-slot .booking-fields{padding-top:12px}
 #reservation-slot .service-select{margin-bottom:12px}
 #reservation-slot .booking-actions{padding-top:9px;padding-bottom:10px}
}
html[dir=rtl] #reservation-dialog .dialog-toolbar h2{line-height:1.35;font-size:24px}
html[dir=rtl] #reservation-slot .service-select label span{line-height:1.45}
html[dir=rtl] #reservation-slot .form-grid label>span{line-height:1.5}


