/* Form-only styling: the existing government header and layout stay unchanged. */
#covidVaccinationForm { --vf-accent:#24714c; --vf-ink:#223a30; --vf-muted:#67776e; color:var(--vf-ink); font-size:15px; line-height:1.6; padding-bottom:36px; }
#covidVaccinationForm .vf-intro { margin:22px 0 20px; max-width:760px; }
#covidVaccinationForm .vf-kicker { color:var(--vf-accent); letter-spacing:.14em; font-size:.72rem; font-weight:700; }
#covidVaccinationForm .vf-intro h2 { font-size:clamp(1.5rem,3vw,2.1rem); font-weight:700; letter-spacing:-.025em; margin:5px 0 9px; }
#covidVaccinationForm .vf-intro p { color:var(--vf-muted); margin:0; }
#covidVaccinationForm .vf-progress { list-style:none; display:flex; gap:24px; padding:0; margin:0 0 26px; flex-wrap:wrap; font-size:.85rem; font-weight:600; color:#52685a; }
#covidVaccinationForm .vf-progress li { display:flex; align-items:center; gap:8px; }
#covidVaccinationForm .vf-progress span { display:grid; place-items:center; width:27px; height:27px; border-radius:50%; background:#e8f1eb; color:var(--vf-accent); }
#covidVaccinationForm .lwz_block { background:#fff; border:1px solid #dfe7e1; border-radius:14px; padding:24px; margin-bottom:14px; box-shadow:0 3px 18px #1e392b05; }
#covidVaccinationForm .vf-section-heading { display:flex; align-items:flex-start; gap:13px; margin-bottom:18px; }
#covidVaccinationForm .vf-step { display:grid; place-items:center; flex:0 0 39px; height:39px; background:#eef5f0; color:var(--vf-accent); font-size:.8rem; font-weight:700; border-radius:11px; }
#covidVaccinationForm .vf-section-heading h4 { margin:0 0 3px; font-size:1.15rem; font-weight:700; }
#covidVaccinationForm .vf-section-heading p { margin:0; color:var(--vf-muted); font-size:.85rem; }
#covidVaccinationForm #patientenDatenSingle .row { row-gap:14px; }
#covidVaccinationForm .form-control { min-height:44px; border-color:#cddbd2; border-radius:8px; color:#253d31; background:#fff; box-shadow:none; }
#covidVaccinationForm .form-control:focus { border-color:#32815b; box-shadow:0 0 0 3px #32815b1c; }
#covidVaccinationForm .form-control::placeholder { color:#89968d; }
#covidVaccinationForm .k-dropdown .k-dropdown-wrap { min-height:44px; background:#fff; border-color:#cddbd2; border-radius:8px; display:flex; align-items:center; }
#covidVaccinationForm .k-dropdown .k-input { padding:9px 12px; height:auto; }
#covidVaccinationForm .k-dropdown .k-select { min-height:42px; border-radius:0 8px 8px 0; background:#f0f5f1; display:flex; align-items:center; justify-content:center; }
#covidVaccinationForm .spanBlock { color:var(--vf-muted); font-size:.76rem; }
#covidVaccinationForm .btn { border-radius:8px; min-height:40px; padding:9px 16px; font-weight:600; }
#covidVaccinationForm .btn-success { background:var(--vf-accent); border-color:var(--vf-accent); }
#covidVaccinationForm #submitButton { min-width:180px; min-height:48px; font-size:1rem; }
#covidVaccinationForm .vf-alternative { margin:18px 0 24px; border:1px solid #dce6df; border-radius:12px; background:#fff; }
#covidVaccinationForm .vf-alternative>summary { padding:17px 20px; color:#456350; cursor:pointer; font-weight:600; }
#covidVaccinationForm .vf-alternative[open]>summary { border-bottom:1px solid #e8ede9; margin-bottom:12px; }
#covidVaccinationForm .vf-alternative>.lwz_block { border:0; box-shadow:none; }
#covidVaccinationForm .tab { border:0; background:#f2f6f3; padding:6px; border-radius:10px; }
#covidVaccinationForm .tabbutton { border:0; border-radius:7px; color:#466151; padding:11px 14px; height:auto; width:100%; background:transparent; font-size:.87rem; }
#covidVaccinationForm .tabbutton.active { background:#fff; color:var(--vf-accent); box-shadow:0 2px 8px #24432f0d; }
#covidVaccinationForm .lwz_checkbox { border-radius:8px; }
@media(max-width:600px) {
 #covidVaccinationForm .lwz_block { padding:18px 14px; border-radius:12px; }
 #covidVaccinationForm .vf-progress { gap:12px; font-size:.74rem; }
 #covidVaccinationForm .vf-progress span { width:23px; height:23px; }
 #covidVaccinationForm .vf-intro { margin-top:12px; }
 #covidVaccinationForm #submitButton { width:100%; }
}
/* Four-step slider and persistent information rail. */
.vf-page-header { padding:26px 0 28px; margin-bottom:12px; border-bottom:1px solid #dae5dd; color:#243f30; }
.vf-page-eyebrow { display:block; font-size:.88rem; font-weight:650; color:#347653; margin-bottom:9px; }
.vf-page-header h1 { font-size:clamp(1.65rem,3vw,2.55rem); font-weight:750; letter-spacing:-.035em; line-height:1.18; max-width:900px; margin:0 0 12px; }
.vf-page-header>p { color:#687a6c; font-size:.98rem; margin:0; }
.vf-workspace { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:28px; align-items:start; }
.vf-main { min-width:0; }
.vf-sidebar { position:sticky; top:90px; max-height:calc(100vh - 110px); overflow-y:auto; scrollbar-width:thin; padding:0 3px 10px; }
.vf-side-card { border:1px solid #dce7df; border-radius:13px; background:#fff; padding:20px; margin-bottom:14px; color:#344c3d; font-size:.87rem; line-height:1.65; }
.vf-side-card .vf-kicker { font-size:.67rem; font-weight:700; letter-spacing:.12em; color:#5d7c64; }
.vf-side-card h2 { font-size:1.12rem; font-weight:700; margin:6px 0 14px; }
.vf-side-card h3 { font-size:.85rem; font-weight:700; margin:10px 0 7px; }
.vf-info-panel { background:#f8faf7; }
.vf-info-panel .alert { line-height:1.65 !important; border:0; border-left:3px solid #a8bfac; border-radius:7px; margin-bottom:10px !important; padding:12px; font-size:.84rem; overflow-wrap:anywhere; }
.vf-info-panel .alert h1,.vf-info-panel .alert h2,.vf-info-panel .alert h3,.vf-info-panel .alert h4 { font-size:1rem; margin:0 0 8px; }
.vf-info-panel .alert-warning { background:#fff5dc; border-left-color:#d5a23f; color:#6b5121; }
.vf-info-panel .alert-danger { background:#fdf0ec; border-left-color:#c5735c; color:#784334; }
.vf-info-panel .alert-success { background:#eaf4ec; border-left-color:#5b976d; }
.vf-info-panel>br { display:none; }
.vf-help { display:none; border-top:1px solid #e1e8e2; padding-top:15px; margin:15px 0 0; color:#657667; }
.vf-live-message { border-left:4px solid #c48e36; background:#fff9eb; }
.vf-live-message h3 { font-size:.95rem; margin-top:0; }
.vf-calendar-state { background:#f0f6f2; color:#42674b; }
.vf-missing-group { padding-bottom:10px; margin-bottom:10px; border-bottom:1px solid #edf0eb; }
.vf-missing-group:last-child { border-bottom:0; padding-bottom:0; margin-bottom:0; }
.vf-missing-link { display:block; border:0; border-left:2px solid #e2c99c; background:transparent; color:#7b6440; font:inherit; text-align:left; padding:2px 0 2px 9px; margin:6px 0; cursor:pointer; width:100%; }
.vf-missing-link:hover { color:#385e42; text-decoration:underline; }
.vf-complete { color:#286a43; padding:10px 0; margin:0; }
#covidVaccinationForm .vf-stepper { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; padding:7px; border:1px solid #dde7df; border-radius:13px; background:#f4f7f3; margin:0 0 24px; }
#covidVaccinationForm .vf-stepper button { display:flex; align-items:center; gap:9px; text-align:left; border:1px solid transparent; border-radius:9px; padding:12px 9px; background:transparent; color:#627969; cursor:pointer; font:inherit; min-width:0; }
#covidVaccinationForm .vf-stepper strong { display:block; font-size:.78rem; overflow-wrap:anywhere; }
#covidVaccinationForm .vf-stepper small { display:block; font-size:.64rem; font-weight:400; margin-top:3px; }
#covidVaccinationForm .vf-step-number { flex:0 0 28px; height:28px; display:grid; place-items:center; background:#e6ede6; color:#677f6d; border-radius:50%; font-size:.8rem; font-weight:700; }
#covidVaccinationForm .vf-stepper .vf-step-active { background:#fff; border-color:#ccdcd0; box-shadow:0 2px 6px #1d42250a; color:#2f6040; }
#covidVaccinationForm .vf-step-active .vf-step-number { color:#fff; background:#32754a; }
#covidVaccinationForm .vf-step-complete:not(.vf-step-active) .vf-step-number { background:#dceee0; color:#33794c; }
#covidVaccinationForm .vf-step-incomplete small { color:#a55136; }
#covidVaccinationForm [data-wizard-step][hidden], #covidVaccinationForm #bookingState, .vf-sidebar [hidden] { display:none !important; }
#covidVaccinationForm .vf-slide:not([hidden]) { animation:vf-slide-in .23s ease-out; }
#covidVaccinationForm .vf-slide-title { font-size:1.4rem; font-weight:700; letter-spacing:-.015em; margin:0 0 20px; }
#covidVaccinationForm .vf-slide-title:focus { outline:none; }
#covidVaccinationForm .vf-wizard-footer { display:flex; gap:14px; align-items:center; justify-content:space-between; padding:17px 0; margin-top:14px; border-top:1px solid #e0e8e0; background:#fff; }
#covidVaccinationForm #vfPosition { margin-left:auto; color:#708273; font-size:.82rem; }
#covidVaccinationForm [data-vf-invalid] { border-color:#bf765a !important; box-shadow:0 0 0 2px #bf765a14; }
#covidVaccinationForm .vf-field-error { display:block; color:#a05238; margin-top:5px; font-size:.76rem; line-height:1.45; }
#covidVaccinationForm .vf-summary-intro { color:#647766; font-size:.92rem; }
#covidVaccinationForm .vf-summary-card { border:1px solid #dee7de; border-radius:12px; padding:20px; background:#fff; margin:14px 0; }
#covidVaccinationForm .vf-summary-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:13px; }
#covidVaccinationForm .vf-summary-heading h3 { margin:0; font-size:1rem; font-weight:700; }
#covidVaccinationForm .vf-summary-edit { background:none; border:0; color:#2e7448; font-size:.8rem; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
#covidVaccinationForm .vf-summary-card dl { display:grid; grid-template-columns:130px minmax(0,1fr); gap:9px 18px; font-size:.86rem; margin:0; }
#covidVaccinationForm .vf-summary-card dt { color:#718274; font-weight:400; }
#covidVaccinationForm .vf-summary-card dd { margin:0; overflow-wrap:anywhere; }
#covidVaccinationForm #vfStep4 .lwz_checkbox { font-size:.83rem; line-height:1.65; }
.vf-sidebar .frc-captcha { margin-top:12px; max-width:100%; }
.vf-workspace button:focus-visible { outline:3px solid #367fa4; outline-offset:3px; }
@keyframes vf-slide-in { from { opacity:0; transform:translateX(14px); } to { opacity:1; transform:translateX(0); } }
@media(max-width:1050px) { .vf-workspace { grid-template-columns:minmax(0,1fr) 265px; gap:18px; } #covidVaccinationForm .vf-stepper button { flex-direction:column; align-items:flex-start; gap:6px; } }
@media(max-width:800px) {
 .vf-workspace { display:flex; flex-direction:column; gap:20px; }
 .vf-main { width:100%; }
 .vf-sidebar { position:sticky; top:68px; order:-1; width:100%; max-height:27vh; background:#f8faf7; border:1px solid #dce7df; border-radius:12px; padding:10px; z-index:2; }
 .vf-side-card { margin-bottom:8px; padding:14px; }
 .vf-side-card h2 { margin-bottom:8px; }
 .vf-missing-group { display:inline-block; vertical-align:top; margin-right:18px; max-width:100%; }
 .vf-page-header { padding:18px 0 22px; }
}
@media(max-width:500px) {
 #covidVaccinationForm .vf-stepper { gap:3px; padding:5px; }
 #covidVaccinationForm .vf-stepper button { padding:8px 4px; }
 #covidVaccinationForm .vf-stepper strong { font-size:.65rem; }
 #covidVaccinationForm .vf-stepper small { font-size:.6rem; }
 #covidVaccinationForm .vf-step-number { flex-basis:auto; width:25px; height:25px; }
 #covidVaccinationForm .vf-summary-card dl { grid-template-columns:1fr; gap:3px; }
 #covidVaccinationForm .vf-summary-card dd { margin-bottom:10px; }
 #covidVaccinationForm .vf-wizard-footer .btn { font-size:.8rem; padding:8px 10px; }
 #covidVaccinationForm #vfPosition { font-size:.7rem; }
}
@media(prefers-reduced-motion:reduce) { #covidVaccinationForm .vf-slide:not([hidden]) { animation:none; } }
/* Notices stay at the top of the rail; long checklists scroll independently. */
.vf-sidebar .vf-checklist { max-height:34vh; overflow-y:auto; scrollbar-width:thin; }
.vf-sidebar .vf-info-panel { max-height:40vh; overflow-y:auto; scrollbar-width:thin; }
#vfLiveMessages:empty { display:none; }
#vfLiveMessages { max-height:27vh; overflow-y:auto; scrollbar-width:thin; }
@media(max-width:800px) { .vf-sidebar .vf-info-panel, .vf-sidebar .vf-checklist { max-height:none; } }
/* Outer information rail uses the full space below the unchanged government header. */
.vf-workspace { grid-template-columns:minmax(0,1fr) clamp(340px,25vw,410px); gap:32px; }
.vf-main { width:100%; max-width:1180px; justify-self:center; }
.vf-sidebar { top:var(--vf-rail-top,100px); height:calc(100vh - var(--vf-rail-top,100px)); height:calc(100dvh - var(--vf-rail-top,100px)); max-height:none; padding:26px 22px 32px; margin:0; background:#f5f8f4; border-left:1px solid #d9e4da; border-radius:0; overflow-y:auto; overscroll-behavior:contain; }
.vf-sidebar .vf-info-panel, .vf-sidebar .vf-checklist, #vfLiveMessages { max-height:none; overflow:visible; }
#covidVaccinationForm #vfBack { color:#263b50; background:#e5ebf2; border:1px solid #a8b8c9; font-weight:650; }
#covidVaccinationForm #vfBack:hover { color:#182e43; background:#d5e0ed; border-color:#7e96af; }
#covidVaccinationForm #vfBack:focus-visible { outline:3px solid #367fa4; outline-offset:3px; }
#covidVaccinationForm [hidden] { display:none !important; }
#covidVaccinationForm .vf-birthday-card label { display:block; font-weight:650; margin-bottom:8px; }
#covidVaccinationForm .vf-birthday-card #birthday { max-width:300px; }
#covidVaccinationForm .vf-birthday-hint { margin:10px 0 0; color:#65796a; font-size:.85rem; }
@media(max-width:1100px) and (min-width:901px) { .vf-workspace { grid-template-columns:minmax(0,1fr) 340px; gap:22px; } .vf-sidebar { padding:24px 16px; } }
@media(max-width:900px) {
 #lwz_blur { padding-right:16px; }
 .vf-workspace { display:flex; flex-direction:column; gap:18px; }
 .vf-main { max-width:none; }
 .vf-sidebar { order:-1; width:100%; top:var(--vf-rail-top,0px); height:auto; max-height:28vh; border:1px solid #d9e4da; border-radius:12px; padding:12px; z-index:2; }
 .vf-page-header { padding-top:12px; }
}
/* Keep completeness beside the form, independently of the information rail. */
.vf-workspace { display:grid; grid-template-columns:220px minmax(0,1fr) clamp(340px,24vw,410px); grid-template-areas:"missing main info"; gap:24px; }
.vf-completeness { grid-area:missing; position:sticky; top:var(--vf-rail-top,100px); height:calc(100dvh - var(--vf-rail-top,100px)); overflow-y:auto; scrollbar-width:thin; padding-top:26px; }
.vf-completeness .vf-checklist { margin-bottom:0; padding:17px; }
.vf-completeness .vf-side-card h2 { font-size:1.05rem; }
.vf-main { grid-area:main; min-width:0; }
.vf-sidebar { grid-area:info; min-width:0; }
#covidVaccinationForm .vf-birthday-review-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-bottom:9px; }
#covidVaccinationForm .vf-birthday-review-heading label { margin:0; font-weight:650; }
#covidVaccinationForm #birthdayDisplay { max-width:300px; background:#edf1f4; color:#526270; border-color:#d6dfe6; opacity:1; cursor:not-allowed; }
#covidVaccinationForm .vf-contact-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:20px; margin-left:0; margin-right:0; }
#covidVaccinationForm .vf-contact-field { min-width:0; width:100%; padding:0; }
#covidVaccinationForm .vf-contact-field>label { display:block; margin:0 0 8px; }
#covidVaccinationForm .vf-contact-field>.spanBlock { display:block; min-height:24px; margin-bottom:5px; }
#covidVaccinationForm .vf-contact-field:has(#email)>label { padding-bottom:29px; }
#covidVaccinationForm .iti, #covidVaccinationForm .intl-tel-input { display:block; width:100%; max-width:100%; min-width:0; box-sizing:border-box; }
#covidVaccinationForm #phone, #covidVaccinationForm #email { width:100%; max-width:100%; min-width:0; box-sizing:border-box; }
#covidVaccinationForm .form-control:-webkit-autofill { -webkit-text-fill-color:#253d31; }
@media(max-width:1100px) {
 .vf-workspace { display:flex; flex-direction:column; gap:18px; }
 .vf-completeness { order:-2; width:100%; height:auto; max-height:23vh; padding:0; z-index:3; background:#fff; border-radius:12px; }
 .vf-completeness .vf-checklist { border-color:#b8cdbd; }
 .vf-main { order:0; width:100%; }
 .vf-sidebar { order:2; position:static; width:100%; height:auto; max-height:none; border-radius:12px; border:1px solid #d9e4da; }
}
@media(max-width:650px) {
 #covidVaccinationForm .vf-contact-row { grid-template-columns:minmax(0,1fr); gap:18px; }
 #covidVaccinationForm .vf-contact-field:has(#email)>label { padding-bottom:0; }
}

/* Title belongs to the existing top banner only on pages defining PageBanner. */
.lwz_site_header.vf-top-banner { display:grid; grid-template-columns:260px minmax(0,1fr) auto; align-items:center; gap:22px; height:auto; min-height:116px;  }
.vf-top-banner .lwz_site_logo { float:none; }
.vf-banner-title { min-width:0; padding:8px 0; color:#fff; }
.vf-banner-eyebrow { display:block; color:#fff; font-size:.9rem; font-weight:550; margin-bottom:6px; background:rgba(0,0,0,.15); padding:3px 8px; border-radius:4px; width:fit-content; }
.vf-banner-title h1 { color:#fff; font-size:clamp(1.35rem,2.1vw,2rem); font-weight:700; letter-spacing:-.025em; line-height:1.2; margin:0; overflow-wrap:anywhere; }
.vf-top-banner .lwz_systemname, .vf-top-banner .lwz_help { display:none;position:static; right:auto; top:auto; max-width:210px; font-size:.9rem; }
.vf-top-banner .lwz_help a { font-size:.95rem; }
.vf-main>#covidVaccinationForm { padding-top:24px; }

/* Message theme is on the card itself, not on a nested alert. */
.vf-sidebar .vf-notice { --notice-bg:#eaf5fb; --notice-text:#24556d; --notice-border:#6ba5bf; background:var(--notice-bg); color:var(--notice-text); border:1px solid var(--notice-border); border-left-width:4px; line-height:1.65; padding:16px; margin-bottom:12px !important; }
.vf-sidebar .vf-notice.alert-primary { --notice-bg:#eaf1ff; --notice-text:#214478; --notice-border:#6d90c5; }
.vf-sidebar .vf-notice.alert-secondary { --notice-bg:#f0f2f4; --notice-text:#424c56; --notice-border:#9aa5b0; }
.vf-sidebar .vf-notice.alert-success { --notice-bg:#eaf6ee; --notice-text:#245a39; --notice-border:#65a87b; }
.vf-sidebar .vf-notice.alert-danger { --notice-bg:#fff0ed; --notice-text:#8b332b; --notice-border:#cb7468; }
.vf-sidebar .vf-notice.alert-warning { --notice-bg:#fff6df; --notice-text:#6c5019; --notice-border:#d0a546; }
.vf-sidebar .vf-notice.alert-info { --notice-bg:#eaf5fb; --notice-text:#24556d; --notice-border:#6ba5bf; }
.vf-sidebar .vf-notice.alert-light { --notice-bg:#fafbfc; --notice-text:#4a5661; --notice-border:#c5cdd4; }
.vf-sidebar .vf-notice.alert-dark { --notice-bg:#e5e9ed; --notice-text:#27343f; --notice-border:#7c8996; }
.vf-sidebar .vf-notice h1, .vf-sidebar .vf-notice h2, .vf-sidebar .vf-notice h3, .vf-sidebar .vf-notice h4 { color:inherit; font-size:1rem; line-height:1.4; margin:0 0 8px; }
.vf-sidebar .vf-notice p:last-child { margin-bottom:0; }
.vf-sidebar>br { display:none; }
@media(max-width:800px) {
    #vfCompleteness { display:none !important; }
    .lwz_site_header.vf-top-banner { grid-template-columns:minmax(0,1fr) auto; gap:14px; min-height:104px; padding:14px 18px; }
    .vf-top-banner .lwz_site_logo, .vf-top-banner .lwz_systemname { display:none; }
    .vf-banner-title { padding:0; }
    .vf-banner-eyebrow { font-size:.8rem; }
    .vf-banner-title h1 { font-size:clamp(1.2rem,4.7vw,1.5rem); }
}

/* Keep the existing logo flush with the banner's top edge. */
.lwz_site_header.vf-top-banner { padding-top:0; padding-bottom:0; }
.vf-top-banner .lwz_site_logo { align-self:start; margin-top:0; background-position:left top; }

/* Labels share one grid row, so wrapping never shifts either control down. */
#covidVaccinationForm .vf-identity-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); grid-template-areas:"gender-label svnr-label" "gender-field svnr-field" ". svnr-none"; align-items:start; gap:8px 22px; margin-top:18px; }
#covidVaccinationForm .vf-gender-label { grid-area:gender-label; }
#covidVaccinationForm .vf-svnr-label { grid-area:svnr-label; }
#covidVaccinationForm .vf-identity-row>label:not(.lwz_checkbox) { align-self:end; margin:0; }
#covidVaccinationForm .vf-identity-row>#gender { grid-area:gender-field; }
#covidVaccinationForm .vf-identity-row>#svnr { grid-area:svnr-field; }
#covidVaccinationForm .vf-identity-row>.form-control { height:44px; min-width:0; width:100%; box-sizing:border-box; }
#covidVaccinationForm .vf-no-svnr { grid-area:svnr-none; margin:0; }
#covidVaccinationForm .vf-svnr-lookup { grid-column:2; grid-row:4; }
#covidVaccinationForm .vf-svnr-hint { color:#a23f35; font-size:.76rem; }
@media(max-width:600px) {
    #covidVaccinationForm .vf-identity-row { grid-template-columns:minmax(0,1fr); grid-template-areas:"gender-label" "gender-field" "svnr-label" "svnr-field" "svnr-none"; }
    #covidVaccinationForm .vf-svnr-lookup { grid-column:1; grid-row:6; }
    #covidVaccinationForm .vf-svnr-label { margin-top:8px !important; }
}

/* The plugin measures a clone outside the form when step 3 is hidden.
   Keep its flag intrinsically sized there, avoiding page-wide input padding. */
.iti--separate-dial-code .iti__selected-flag { display:inline-flex; width:max-content; max-width:none; }
#covidVaccinationForm .vf-contact-field>.iti, #covidVaccinationForm .vf-contact-field>.intl-tel-input { width:100%; max-width:360px; min-width:0; }
#covidVaccinationForm #phone { width:100%; max-width:360px; min-width:0; box-sizing:border-box; }
#covidVaccinationForm #vfNext:disabled { background:#e6ece8; color:#65736a; border-color:#cbd5ce; cursor:not-allowed; opacity:1; }

/* Registration errors are visible in the viewport, including on mobile. */
.vf-error-dialog { position:fixed; inset:0; margin:auto; width:calc(100vw - 32px); max-width:460px; max-height:calc(100dvh - 32px); overflow:auto; box-sizing:border-box; padding:30px; border:1px solid #e0d2cd; border-radius:16px; background:#fff; color:#223a30; box-shadow:0 20px 80px #162b3040; font-size:15px; line-height:1.65; text-align:center; }
.vf-error-dialog::backdrop { background:rgba(22,35,29,.42); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
.vf-error-icon { display:grid; place-items:center; width:48px; height:48px; margin:0 auto 18px; border-radius:50%; background:#fff0ed; color:#963d2d; font-size:26px; font-weight:700; }
.vf-error-dialog h2 { font-size:1.3rem; font-weight:700; line-height:1.3; margin:0 0 14px; }
.vf-error-content { color:#963d2d; overflow-wrap:anywhere; margin-bottom:24px; }
.vf-error-content a { color:#24556d; text-decoration:underline; }
.vf-error-dismiss { display:block; width:100%; min-height:44px; border:1px solid #24714c; border-radius:8px; padding:10px 18px; background:#24714c; color:#fff; font:inherit; font-weight:600; cursor:pointer; }
.vf-error-dismiss:hover { background:#195b3b; }
.vf-error-dialog button:focus-visible,.vf-error-dialog a:focus-visible { outline:3px solid #367fa4; outline-offset:3px; }
