/* Readable controls and the account/request substeps. Brand tokens remain in brand.css. */
:root{--ui-text:18px;--ui-secondary:16px;--ui-control:52px}
.flow-content{gap:16px}.flow-heading h1{line-height:1.2}.flow-help,.flow-context{font-size:var(--ui-secondary)!important;line-height:1.45}
.flow-steps button{font-size:14px!important;min-height:54px;gap:5px}.flow-step-number{font-size:14px;width:30px;height:30px}.flow-steps:before{top:15px}
.flow-field>span:not(.password-input):not(.date-control){font-size:var(--ui-text)!important;line-height:1.4}
.flow-field input,.flow-field textarea,.flow-field select{font-size:var(--ui-text)!important;min-height:var(--ui-control);padding:12px;line-height:1.45}
.flow-actions{padding:12px;gap:10px}.flow-actions .flow-next{font-size:18px!important;min-height:54px;line-height:1.3;padding:12px 10px;gap:8px}.flow-actions .flow-back{font-size:16px!important;min-height:52px;padding:12px 10px;gap:6px}.flow-action-hint{font-size:16px}
.flow-text-button{font-size:16px;min-height:48px}.flow-secondary{font-size:18px;min-height:52px}
.date-choice{height:88px}.date-choice strong{font-size:18px!important}.date-choice span{font-size:16px!important}.date-shortcuts{gap:8px;margin-bottom:18px}.date-control{min-height:54px}.date-control>span{font-size:18px}.date-control input[type=date]{min-height:0}
.people-shortcuts button{font-size:18px;min-height:52px}.people-picker>button{width:54px;height:54px}.people-number>span:last-child,.flow-small{font-size:16px}.people-number input{font-size:48px}
.flow-shifts button{font-size:18px;min-height:52px}.flow-times button{font-size:18px;min-height:50px}.flow-pagination,.flow-pagination button{font-size:16px}.flow-pagination button{min-height:48px}
.flow-contact-preview strong{font-size:20px}.flow-contact-preview>span{font-size:18px}.flow-demo,.account-explanation,.password-rule{font-size:16px;line-height:1.5}
.flow-final-facts dt{font-size:16px}.flow-final-facts dd{font-size:18px}.flow-final-contact strong{font-size:18px}.flow-final-contact>span{font-size:16px;line-height:1.5}.flow-final-contact{padding-right:78px;min-height:76px}
.flow-error,.flow-warning{font-size:16px;line-height:1.45}.flow-register,.flow-login-info{font-size:16px}.password-input button{font-size:16px;min-width:78px}
.request-options{padding:0;margin:0;border:0;display:flex;flex-direction:column;gap:12px;min-width:0}
.request-check{display:flex;align-items:center;gap:14px;min-height:58px;padding:12px;border:1px solid var(--zon-control-border);border-radius:6px;background:var(--zon-surface);cursor:pointer;font-size:18px;line-height:1.45;min-width:0}
.request-check input{width:24px;height:24px;min-width:24px;min-height:24px;flex:0 0 24px;accent-color:var(--zon-navy);margin:0}.request-check:has(input:checked){border-color:var(--zon-navy);background:var(--zon-selection)}
.request-check:focus-within{outline:3px solid var(--zon-focus);outline-offset:2px}.request-check span{min-width:0}.request-check small{display:block;margin-top:4px;color:var(--zon-muted);font-size:16px;font-weight:400}
.request-warning{font-size:16px;line-height:1.5;color:var(--zon-navy);background:var(--zon-selection);padding:12px;margin:0;border-radius:6px}
.note-button{align-self:flex-start}.note-editor textarea{min-height:160px;height:auto;overflow:hidden;resize:none;font-size:18px;line-height:1.5}
.review-requests{padding-top:4px}.review-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.review-section-title h2{font-size:18px;line-height:1.4;margin:0;font-family:var(--zon-font-body);font-weight:600}.request-summary{margin:8px 0;padding-left:22px;font-size:18px;line-height:1.5}.request-summary li+li{margin-top:6px}.review-note{font-size:18px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0 0}.booking-confirmation{font-size:16px;line-height:1.5;color:var(--zon-muted);margin:0}
.account-explanation{margin:0;color:var(--zon-muted)}.account-explanation strong{color:var(--zon-navy);overflow-wrap:anywhere}.account-choices{display:flex;flex-direction:column;gap:14px}.account-choices .flow-next,.account-choices .flow-secondary{width:100%;min-height:58px;margin:0;justify-content:center;font-size:18px}
.account-fields,.registration-form{display:flex;flex-direction:column;gap:16px;margin:0}.registration-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.registration-grid.address-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.reg-field-70341{grid-column:1/-1}.registration-progress{font-size:16px;line-height:1.4;color:var(--zon-muted);margin:0}.password-rule{margin:0;color:var(--zon-muted)}
.privacy-dialog{width:min(760px,calc(100vw - 24px));max-height:85vh;max-height:85dvh;padding:0;border:1px solid var(--zon-line);border-radius:12px;background:var(--zon-surface);color:var(--zon-navy)}.privacy-dialog::backdrop{background:#00101dbb}.privacy-dialog header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid var(--zon-line);position:sticky;top:0;background:var(--zon-surface)}.privacy-dialog h2{font-family:var(--zon-font-heading);font-size:26px;margin:0}.privacy-dialog header button{min-height:48px;padding:10px 14px;border:1px solid var(--zon-control-border);background:var(--zon-surface);color:var(--zon-navy);border-radius:6px;font-size:16px}.privacy-dialog article{padding:20px;font-size:18px;line-height:1.6;white-space:pre-line;overflow-wrap:anywhere}.privacy-dialog>p{padding:0 20px 20px;font-size:16px}
.flow-card[data-review=note] .flow-context{display:none}.flow-card[data-review=summary] .flow-content{gap:14px}.flow-card:has(.account-fields) .flow-help{display:none}
@media(max-height:740px){.flow-content{padding-top:12px;padding-bottom:12px;gap:14px}.flow-heading{padding-top:12px;padding-bottom:12px}.date-choice{height:82px}.people-picker{margin-bottom:16px}.account-fields,.registration-form,.registration-grid{gap:14px}}
@media(max-width:350px){.flow-actions{padding:10px;gap:8px}.flow-actions .flow-back{padding-inline:8px}.flow-actions .flow-next{padding-inline:8px;gap:6px}.flow-steps{gap:2px}.flow-shifts{gap:6px}.flow-pagination{gap:6px}.flow-pagination button{padding-inline:8px;gap:4px}.flow-field input{padding-inline:10px}.request-check{padding:10px;gap:12px}}
@media(max-width:350px){.flow-content:has(.request-options){gap:10px}.request-options{gap:10px}.request-warning{padding:8px}}

.receipt-header,.receipt-facts span,.receipt .chip{font-size:16px}.receipt-facts strong{font-size:18px}.receipt-card>p,.receipt .small{font-size:16px;line-height:1.5}.receipt .intro,.receipt>p{font-size:18px;line-height:1.5}.receipt .button{font-size:18px;min-height:52px}
