/* Shared compact phone layout for every guided booking step. */
@media(max-width:800px) {
#termin.szm-guide { padding-bottom:calc(94px + env(safe-area-inset-bottom,0px))!important; }
#termin.szm-guide>.szm-customer-welcome.is-compact { display:flex; flex-wrap:wrap; align-items:center; gap:2px 10px; padding:7px 10px!important; margin-bottom:6px!important; }
#termin.szm-guide>.szm-customer-welcome.is-compact>p:first-child { font-size:13px!important; line-height:18px!important; margin:0!important; }
#termin.szm-guide>.szm-customer-welcome.is-compact .szm-order-card { border:0; padding:0!important; gap:4px!important; }
#termin.szm-guide>.szm-customer-welcome.is-compact .szm-order-card strong { font-size:13px!important; line-height:18px!important; }
#termin.szm-guide>.szm-guide-contact { font-size:12px; line-height:18px; margin:4px 0 8px; }
#termin.szm-guide>.szm-guide-contact>summary { cursor:pointer; width:fit-content; min-height:24px; color:#355576; }
#termin.szm-guide .szm-guide-contact .szm-guide-help { margin:4px 0; font-size:12px; gap:6px 14px; }
#termin.szm-guide .szm-guide-contact .szm-guide-help a { min-height:32px; }
#termin.szm-guide>.szm-address-choice { padding:10px!important; margin:0!important; }
#termin.szm-guide>.szm-address-choice>p { margin:0 0 7px!important; font-size:13px!important; line-height:18px!important; }
#termin.szm-guide .szm-address-choice form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px; align-items:end; }
#termin.szm-guide .szm-address-choice form .field { min-width:0; margin:0; }
#termin.szm-guide .szm-address-choice .field-label { font-size:12px; line-height:17px; }
#termin.szm-guide .szm-address-choice input { min-width:0; min-height:44px!important; padding:8px!important; }
#termin.szm-guide .szm-address-choice form>button { width:96px!important; min-height:44px!important; padding:6px!important; font-size:12px!important; line-height:16px; }
#termin.szm-guide .szm-address-choice .szm-guide-options { margin:8px 0 4px!important; gap:5px!important; }
#termin.szm-guide .szm-guide-options { margin:8px 0!important; gap:6px!important; }
#termin.szm-guide .szm-guide-options .booking-choice { min-height:56px!important; padding:9px 10px!important; gap:3px!important; }
#termin.szm-guide .szm-guide-options .booking-choice strong { font-size:15px!important; line-height:20px!important; }
#termin.szm-guide .szm-guide-options .booking-choice span { font-size:12px!important; line-height:17px!important; }
#termin.szm-guide>.szm-guide-options~p { font-size:12px!important; line-height:17px!important; margin:5px 0!important; }
#termin.szm-guide .szm-address-pagination { display:grid; grid-template-columns:40px minmax(0,1fr) 40px; gap:6px; align-items:center; margin:4px 0; text-align:center; font-size:12px; }
#termin.szm-guide .szm-address-pagination button { min-width:0; min-height:40px; padding:4px; border:1px solid #c8d6e7; border-radius:7px; background:#f0f5fc; color:#1b287f; font-size:22px; }
#termin.szm-guide .szm-address-pagination button:disabled { opacity:.4; }
#termin.szm-guide .address-attribution { font-size:10px; }
#termin.szm-guide .request-form { padding:10px!important; margin:6px 0!important; }
#termin.szm-guide .request-form .form-grid { gap:7px!important; }
#termin.szm-guide .request-form .field { gap:3px!important; margin:0!important; min-width:0; }
#termin.szm-guide .request-form .field-label { font-size:12px; line-height:17px; }
#termin.szm-guide .request-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
#termin.szm-guide .request-form select { min-height:42px!important; padding:8px!important; font-size:16px!important; }
#termin.szm-guide .request-form textarea { min-height:64px!important; height:64px; padding:8px!important; font-size:16px!important; }
#termin.szm-guide .request-form .booking-form-heading { font-size:20px!important; line-height:25px; margin:5px 0 9px!important; }
#termin.szm-guide .request-form .booking-progress { display:none!important; }
#termin.szm-guide .request-form .booking-step-count { margin:5px 0!important; font-size:12px!important; }
#termin.szm-guide .booking-wizard-top { margin:0!important; padding:0!important; font-size:12px; }
#termin.szm-guide .booking-wizard-top button { min-height:30px; padding:4px 7px; font-size:11px; }
#termin.szm-guide .booking-review { padding:10px!important; margin:6px 0!important; font-size:12px; line-height:18px; }
#termin.szm-guide .booking-review dl { margin:5px 0; gap:5px 10px; }
#termin.szm-guide .booking-review dl>div { padding:4px 0; }
#termin.szm-guide .booking-review dt { font-size:10px!important; }
#termin.szm-guide .booking-review dd { margin:2px 0 0!important; font-size:12px!important; overflow-wrap:anywhere; }
#termin.szm-guide .form-privacy,#termin.szm-guide .booking-review-notice { font-size:11px!important; line-height:16px!important; margin:6px 0!important; }
#termin.szm-guide .szm-guide-context { font-size:11px; line-height:16px; margin:4px 0; }
html.szm-booking-active #termin.szm-guide .booking-wizard-actions { position:fixed!important; inset:auto 0 0!important; z-index:120; display:flex!important; align-items:stretch; gap:8px!important; margin:0!important; padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px))!important; background:#fff; border-top:1px solid #d6dfec; box-shadow:0 -3px 14px #17345412; box-sizing:border-box; }
html.szm-booking-active #termin.szm-guide .booking-wizard-actions button { flex:1; min-width:0!important; min-height:44px!important; margin:0!important; padding:8px 12px!important; font-size:14px!important; line-height:20px!important; }
/* The final submit stays in its original form with all native consent checks. */
html.szm-booking-active #termin.szm-guide .request-form:has(.booking-review[aria-label="Ihre Buchungsübersicht"]) .booking-wizard-actions { padding-right:calc(50% + 4px)!important; }
html.szm-booking-active #termin.szm-guide .request-form .booking-review[aria-label="Ihre Buchungsübersicht"] .form-submit { position:fixed!important; z-index:121; bottom:calc(10px + env(safe-area-inset-bottom,0px)); right:16px; width:calc(50% - 20px)!important; min-width:0!important; min-height:60px!important; margin:0!important; padding:8px!important; font-size:13px!important; line-height:18px!important; white-space:normal; }
html.szm-booking-active #termin.szm-guide .request-form:has(.booking-review[aria-label="Ihre Buchungsübersicht"]) .booking-wizard-actions button { min-height:60px!important; }
}
