.scan-section{margin-bottom:22px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.scan-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.scan-heading h4,.contrast-heading h4{font-size:16px;color:#213847;margin:0;font-weight:500}
.scan-editor{margin:0 0 14px;padding:16px;border:1px solid #d8e3e9;border-radius:12px;background:#fbfcfd}
.scan-wide{grid-column:1/-1}.scan-help,.scan-note{font-size:12px;line-height:1.6;color:#687d8a;margin:12px 0 0}
.scan-note{margin-top:10px}.scan-number{display:block;color:#6b7f8c;font-size:11px;margin-bottom:4px}
.saved-scan{padding:14px 0;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);margin-bottom:14px}
.saved-scan strong{font-size:14px;font-weight:500;line-height:1.5;display:block;color:#213847}
.scan-actions{display:flex;gap:12px;flex-shrink:0}.text-action{padding:4px 0;border:0;background:transparent;color:#064974;font:inherit;font-size:12px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.add-scan{display:inline-flex;align-items:center;gap:7px;border:1px solid #c3d5df;border-radius:9px;padding:10px 14px;background:#fff;color:#064974;font:inherit;font-size:14px;font-weight:500;cursor:pointer}
.add-scan:hover{background:#eef5f8}.add-scan span{font-size:20px;font-weight:400;line-height:16px}
.side-choice{border:0;padding:0;margin:0}.side-choice legend{font-size:12px;color:#6b7f8c;margin-bottom:7px;font-weight:500}
.side-options{display:flex;gap:6px;flex-wrap:wrap}.side-options label{position:relative;cursor:pointer;flex:1;min-width:65px}
.side-options input{position:absolute;opacity:0;width:1px;height:1px}
.side-options span{display:block;text-align:center;padding:10px 6px;border:1px solid #d5e1e7;border-radius:8px;font-size:12px;color:#294656;background:white}
.side-options input:checked+span{background:#eaf3f8;border-color:#064974;color:#064974}
.side-options input:focus-visible+span{outline:2px solid #064974;outline-offset:3px}
#scan-feedback:empty{display:none}#scan-feedback{font-size:12px;color:#815411;margin:10px 0 0}
#contrast-list{margin:20px 0 8px;border-bottom:1px solid var(--line);padding-bottom:16px}
.contrast-heading p{font-size:12px;color:var(--muted);margin:4px 0 12px}
.contrast-question{border:0;padding:0;margin:16px 0 0;min-width:0}
.contrast-question legend{font-size:12px;color:#516b7a;margin-bottom:9px;font-weight:500}
.contrast-answers{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.contrast-answers label{display:flex;align-items:center;gap:8px;cursor:pointer;border:1px solid #d7e2e9;border-radius:9px;padding:10px;font-size:12px;color:#294656;line-height:1.4}
.contrast-answers input{appearance:none;-webkit-appearance:none;width:17px;height:17px;flex:none;border:1.5px solid #a5b6c0;border-radius:5px;display:grid;place-content:center;background:#fff;margin:0}
.contrast-answers input:checked{background:#064974;border-color:#064974}
.contrast-answers input:checked:after{content:'';width:8px;height:5px;border-left:2px solid white;border-bottom:2px solid white;transform:translateY(-1px) rotate(-45deg)}
.contrast-answers label:has(input:checked){background:#edf5f9;border-color:#8baebf}
.contrast-answers input:focus-visible{outline:2px solid #064974;outline-offset:3px}

@media(max-width:450px){.scan-editor{padding:12px}.scan-actions{gap:9px}.saved-scan{align-items:flex-start}.preview-toolbar{align-items:flex-start}.contrast-answers{grid-template-columns:1fr}.scan-section .form-fields{grid-template-columns:1fr}}

/* Compact form: remove nested surfaces while preserving comfortable controls. */
.booking-card{box-shadow:0 8px 28px #153a5508}
.inline-booking-form{padding:10px 22px 18px}
.booking-alternative{margin-bottom:16px;font-size:13px}
.scan-section{margin-bottom:16px;padding-bottom:14px}
.scan-editor{padding:0;margin:0;border:0;border-radius:0;background:transparent}
.scan-heading{margin-bottom:8px}
.scan-heading h4,.contrast-heading h4{font-size:14px}
.add-scan{min-height:44px;margin:4px 0 0;padding:8px 0;border:0;border-radius:6px;background:transparent;font-size:13px;gap:6px}
.add-scan:hover{background:transparent;text-decoration:underline;text-underline-offset:3px}
.add-scan small{font-size:12px;font-weight:400;color:#617783}
.scan-note{margin:0;font-size:12px;line-height:1.5}
.saved-scan{margin-bottom:12px;padding:10px 0}
.scan-actions .text-action,.scan-heading .text-action{min-height:44px;min-width:44px}
.side-choice{min-width:0}
.side-choice legend{margin-bottom:5px}
.side-options{gap:4px;flex-wrap:nowrap}
.side-options label{min-width:0}
.side-options span{min-height:44px;display:flex;align-items:center;justify-content:center;padding:8px 3px;font-size:12px}
#contrast-list{margin:14px 0 2px;padding-bottom:14px}
.contrast-heading p{margin:4px 0 10px;line-height:1.5}
.contrast-question{margin-top:10px}
.contrast-answers{gap:7px}
.contrast-answers label{min-height:44px;padding:9px 10px}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0!important;margin:-1px!important;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.booking-screening{padding:7px 0}
.inline-booking-form .submit{background:#064974;color:white;border-color:#064974;min-height:46px;margin-top:12px}
.inline-booking-form .submit:hover{background:#053c60;border-color:#053c60}
.inline-booking-form .booking-confirmation{margin-bottom:0;font-size:11px;line-height:1.5}
@media(max-width:600px){
 .inline-booking-form{padding:10px 17px 17px}
 .scan-editor{padding:0}
 .side-choice{grid-column:1/-1}
 .contrast-answers{grid-template-columns:1fr 1fr}
 .contrast-answers label{font-size:12px;min-height:48px;padding:8px}
 .booking-screening summary{min-height:44px;padding:10px 0}
 .preview-toolbar{margin-top:16px}
}
@media(max-width:350px){.contrast-answers{grid-template-columns:1fr}}
.form-layout>.hero-booking{padding:0;min-width:0}.form-layout .booking-card{width:100%}

#confirmation .primary{border:0;background:var(--blue);color:#fff;border-radius:14px;min-height:54px;padding:14px 25px;font-size:16px;font-weight:500;transition:background .16s,transform .16s}
#confirmation .primary:hover{background:#043b5f}
#confirmation .primary:active{transform:scale(.985)}
#confirmation{border:1px solid #ffffffd9;border-radius:28px;padding:0;width:min(512px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;color:var(--ink);background:#fff;box-shadow:0 32px 100px #102b4030,0 4px 20px #102b4012}
#confirmation::backdrop{background:#17304442;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
#confirmation[open]{animation:none}
#confirmation .modal-header{display:flex;align-items:center;justify-content:space-between;padding:22px 22px 0 32px}
#confirmation .modal-header img{width:112px;height:auto}
#confirmation .close{width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:#6f818c}
#confirmation .close:hover{background:#f0f4f6;color:var(--ink)}
#confirmation .close svg{width:20px;height:20px}
#confirmation .modal-body{padding:18px 36px 30px;text-align:center}
#confirmation .success-icon{width:60px;height:60px;display:grid;place-items:center;border-radius:50%;background:#23834b;color:#fff;margin:0 auto 22px}
#confirmation .success-icon svg{width:34px;height:34px}
#confirmation h2{font-size:34px;line-height:1.15;letter-spacing:-.04em;font-weight:500;margin:0 0 12px}
#confirmation .intro{font-size:17px;line-height:1.55;color:var(--muted);margin:0 auto 25px;max-width:350px;text-wrap:pretty}
#confirmation .next-step{text-align:left;padding:21px 22px;border-radius:17px;background:#f0f6f9;margin-bottom:21px}
#confirmation .next-heading{display:flex;align-items:center;gap:10px;color:var(--blue);font-size:18px;line-height:1.35;font-weight:500;margin:0 0 7px;letter-spacing:-.015em}
#confirmation .next-heading svg{width:21px;height:21px;flex:none}
#confirmation .next-step p{font-size:14px;line-height:1.5;color:#4d6676;margin:0 0 15px;padding-left:0}
#confirmation .hours{font-size:12px;line-height:1.7;color:#596d79;border-top:1px solid #dce7ec;padding-top:12px;margin:0}
#confirmation .hours span{display:block}
#confirmation .status-note{font-size:14px;line-height:1.55;color:var(--muted);margin:0 0 25px;text-wrap:pretty}
#confirmation .status-note strong{display:block;color:var(--ink);font-weight:500;margin-bottom:3px}
#confirmation .done{width:100%;margin:0 0 16px}
#confirmation .call-intro{font-size:14px;line-height:1.5;color:var(--muted);margin:0 0 10px;text-align:center}
#confirmation .call-button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:54px;width:100%;border:1px solid #b8cbd7;border-radius:14px;background:#fff;color:var(--blue);text-decoration:none;font-size:18px;font-weight:500;line-height:1.4;padding:12px}
#confirmation .call-button:hover{background:#f0f6f9;text-decoration:none}
#confirmation .call-button svg{width:21px;height:21px;flex:none}
@media(max-width:540px){#confirmation{border-radius:25px}#confirmation .modal-header{padding:16px 15px 0 24px}#confirmation .modal-body{padding:14px 24px 25px}#confirmation h2{font-size:30px}#confirmation .intro{font-size:16px}#confirmation .next-step{padding:18px}}
#confirmation{margin:auto}#confirmation[open]{display:block}#confirmation .call-button{color:#064974}body:has(#confirmation[open]){overflow:hidden}

#confirmation .hours{display:block}
