.booking-dialog{position:fixed;width:min(calc(100% - 32px),1120px);max-width:1120px;max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid var(--color-border);border-radius:4px;color:var(--color-navy);background:var(--color-white)}.booking-dialog::backdrop{background:rgb(4 50 81 / 80%)}.booking-dialog-inner{padding:clamp(24px,4vw,48px)}.booking-dialog h2{font-size:clamp(28px,3vw,38px);padding-right:36px}.booking-close{position:absolute;top:12px;right:12px;min-width:44px;min-height:44px;background:var(--color-white);border:1px solid var(--color-border);font-size:28px}.booking-intro{color:var(--color-muted);max-width:730px}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,330px);gap:32px;align-items:start}.booking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}.booking-fields label{display:grid;gap:7px;font-size:16px;font-weight:700}.booking-fields input,.booking-fields select,.booking-fields textarea{width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--color-muted);border-radius:2px;background:var(--color-white);color:var(--color-navy);font-size:16px}.booking-fields input[readonly]{background:var(--color-light-blue);border-color:var(--color-border)}.booking-fields [aria-invalid=true]{border-color:var(--color-error)}.field-error{display:block;color:var(--color-error);font-size:14px;font-weight:400}.booking-grid .wide{grid-column:1/-1}.services-fieldset{border:1px solid var(--color-border);padding:16px;margin:0;min-width:0}.services-fieldset legend{padding:0 6px;font-size:16px;font-weight:700}.services{display:grid;gap:8px}.service-choice{display:grid!important;grid-template-columns:24px minmax(0,1fr) 62px;align-items:center;gap:10px;min-height:48px;font-size:14px!important;padding-block:8px;border-bottom:1px solid var(--color-border)}.service-choice>input:first-child{width:22px;height:22px;min-height:22px;margin:0}.service-choice>input:last-child{padding:6px}.service-choice small{display:block;font-weight:400;font-size:14px;color:var(--color-muted)}.booking-summary{padding:24px;border-top:3px solid var(--color-blue);background:var(--color-light-blue)}.booking-summary h3{font-size:24px}.booking-summary dl div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--color-border);font-size:14px}.booking-summary dt{color:var(--color-muted)}.booking-summary dd{margin:0;max-width:65%;text-align:right;overflow-wrap:anywhere;font-weight:700}.booking-summary p,.booking-summary small{font-size:14px}.booking-summary button{width:100%;margin:8px 0 12px}#bookingPrice{font-size:20px}#bookingMessage{margin:16px 0 0}#bookingMessage.error{color:var(--color-error)}.booking-success{padding:40px 0;text-align:center}.booking-success h3{font-size:30px;color:var(--color-success)}.booking-success p{max-width:600px;margin:0 auto 24px}.availability-skeleton{display:block;padding:16px 0;color:var(--color-muted)}.manual-approval-note{padding-block:12px;border-top:1px solid var(--color-border)}
@media(max-width:800px){.booking-layout{grid-template-columns:1fr}}@media(max-width:480px){.booking-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px)}.booking-dialog-inner{padding:24px 16px}.booking-grid{grid-template-columns:1fr}.booking-summary{padding:20px}.service-choice{grid-template-columns:24px minmax(0,1fr) 54px}.booking-success h3{font-size:26px}}
