#appointmentForm [hidden],#emailAuthForm [hidden]{display:none!important}
.simple-booking{grid-column:1/-1;min-width:0;display:grid;gap:var(--sto-spacing-3)}
.booking-search{display:grid;gap:var(--sto-spacing-2)}
.booking-search input{width:100%;min-width:0;min-height:44px;font-size:16px}
.booking-service-group,.booking-promotion,.booking-vehicle-details{border:1px solid var(--sto-border);border-radius:var(--sto-radius-panel);background:var(--sto-surface);padding:var(--sto-spacing-3);margin-block:var(--sto-spacing-2)}
.booking-service-group summary,.booking-promotion summary,.booking-vehicle-details>summary{cursor:pointer;min-height:44px;display:list-item;align-content:center;font-weight:600;overflow-wrap:anywhere}
.booking-service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sto-spacing-2)}
.booking-service-option{display:flex!important;align-items:flex-start;gap:var(--sto-spacing-3);min-height:44px;padding:var(--sto-spacing-2);cursor:pointer;overflow-wrap:anywhere}
.booking-service-option input[type=checkbox]{flex:0 0 22px;width:22px;height:22px;min-height:22px;margin-top:2px;accent-color:var(--sto-accent)}
.booking-service-option>span{min-width:0}
.portal-page #appointmentForm .booking-service-option{font-size:16px;line-height:1.5}
.booking-service-option:has(input:checked){background:var(--sto-muted);border-radius:var(--sto-radius-control)}
.booking-service-option:has(input:checked) .booking-promotion-badge{color:var(--sto-text-primary)}
.booking-service-option:focus-within{outline:2px solid var(--sto-focus);outline-offset:2px}
.booking-promotion-badge{display:inline-block;margin-inline-end:var(--sto-spacing-2);font-size:var(--sto-font-size-small,14px);color:var(--sto-accent-text);font-weight:700}
.booking-promotion p{white-space:pre-line;overflow-wrap:anywhere}
.booking-vehicle-details fieldset{margin-top:var(--sto-spacing-3)}
.email-auth-actions{display:flex;flex-wrap:wrap;gap:var(--sto-spacing-2)}
.email-auth-actions [aria-pressed=true]{border-color:var(--sto-accent);color:var(--sto-accent-text);background:var(--sto-muted)}
input:user-invalid{border-color:var(--sto-danger,var(--red))}
@media(max-width:600px){.booking-service-list{grid-template-columns:minmax(0,1fr)}.email-auth-actions button{flex:1 1 auto}.booking-service-group,.booking-promotion{padding:var(--sto-spacing-2)}}

.booking-optional-details{grid-column:1/-1;min-width:0}.booking-optional-details>summary{cursor:pointer;min-height:44px;align-content:center}.booking-optional-details>label{margin-block:var(--sto-spacing-3)}
