/* DTA-1100: the Lobby sign-in and registration card. Colours meet WCAG AA contrast. */
/* Colours meet WCAG AA contrast (4.5:1 for text, 3:1 for borders and focus). */
:root {
    /* Jan 2026 brand kit: Leaf Green with dark ink text on it, charcoal, Roboto. */
    --lc-bg: #f3f3f3; --lc-surface: #fff; --lc-text: #2b2b25; --lc-muted: #5d5e5f;
    --lc-border: #858688; --lc-navy: #555549; --lc-navy-hover: #2b2b25;
    --lc-green: #81b84f; --lc-green-hover: #73a844; --lc-on-green: #2b2b25;
    --lc-green-text: #4d702d; --lc-green-soft: #f0f6ea; --lc-green-light: #c5deb0;
    --lc-link: #1a5fa8; --lc-error: #b42318; --lc-focus: #1a5fa8; --lc-radius: 8px;
}
*, *::before, *::after { box-sizing: border-box; }
.lc-body {
    margin: 0; min-height: 100vh; background: var(--lc-bg); color: var(--lc-text);
    font-family: Roboto, Arial, Helvetica, sans-serif; font-size: 16px; line-height: 1.45;
}
.lc-body .lc-skip { position: absolute; left: -9999px; top: 8px; z-index: 100; background: #fff; color: var(--lc-link); padding: 8px 12px; border-radius: 6px; }
.lc-body .lc-skip:focus { left: 8px; }
.lc-body .lc-sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.lc-body :focus-visible { outline: 3px solid var(--lc-focus); outline-offset: 2px; }
.lc-body .lc-header {
    display: flex; align-items: center; justify-content: space-between;
    padding: 14px clamp(16px, 5vw, 76px); background: var(--lc-surface);
    box-shadow: 0 1px 4px rgba(0,0,0,.08);
}
.lc-body .lc-brand img { height: 40px; width: auto; display: block; }
.lc-body .lc-help { display: inline-flex; align-items: center; gap: 8px; color: var(--lc-text); text-decoration: none; font-size: 17px; }
.lc-body .lc-help:hover span { text-decoration: underline; }
.lc-body .lc-help span { white-space: nowrap; }
@media (max-width: 480px) {
.lc-body .lc-header { padding: 10px 16px; gap: 12px; }
.lc-body .lc-brand img { height: 32px; }
.lc-body .lc-help { font-size: 15px; gap: 6px; }
}
.lc-body .lc-main { display: flex; flex-direction: column; align-items: center; padding: 24px 16px 32px; }
.lc-body .lc-card {
    width: 100%; max-width: 560px; background: var(--lc-surface); border-radius: var(--lc-radius);
    box-shadow: 0 2px 10px rgba(0,0,0,.08); padding: 24px 28px 26px;
}
@media (max-width: 480px) { .lc-body .lc-card { padding: 20px 18px; } }
.lc-body .lc-district {
    display: flex; align-items: center; justify-content: center; gap: 22px;
    padding-bottom: 20px; margin-bottom: 26px; border-bottom: 1px solid #e5e7eb;
}
.lc-body .lc-district-logo { max-height: 64px; max-width: 120px; border-radius: 4px; }
.lc-body .lc-district-logo + .lc-district-name { padding-left: 22px; border-left: 1px solid #e5e7eb; }
.lc-body .lc-district-name { margin: 0; font-size: 19px; font-weight: 600; color: var(--lc-navy); }
.lc-body .lc-title { margin: 0; text-align: center; font-size: 34px; line-height: 1.15; color: var(--lc-text); font-weight: 700; }
.lc-body .lc-subtitle { margin: 8px 0 24px; text-align: center; color: var(--lc-muted); font-size: 17px; }
.lc-body .lc-methods { display: flex; flex-direction: column; gap: 12px; margin-bottom: 12px; }
.lc-body .lobby-signin .signin-method { position: relative; }
.lc-body .lc-btn {
    display: flex; align-items: center; justify-content: center; gap: 14px; width: 100%;
    min-height: 52px; padding: 10px 18px; border-radius: 6px; border: 1px solid transparent;
    font: inherit; font-size: 18px; font-weight: 600; text-decoration: none; cursor: pointer;
    transition: background-color .15s, box-shadow .15s;
}
.lc-body .lc-btn--school { background: var(--lc-navy); color: #fff; }
.lc-body .lc-btn--school:hover { background: var(--lc-navy-hover); }
.lc-body .lc-btn-logo { display: inline-flex; align-items: center; justify-content: center; background: #fff; border-radius: 50%; width: 34px; height: 34px; flex: none; }
.lc-body .lc-btn-logo img { max-width: 28px; max-height: 28px; }
.lc-body .lc-btn-logo--wide { border-radius: 6px; width: auto; padding: 3px 8px; }
.lc-body .lc-btn-logo--wide img { max-width: 96px; max-height: 26px; }
.lc-body .lc-btn--google { background: #fff; color: #1f1f1f; border-color: #747775; font-family: Roboto, Arial, sans-serif; font-weight: 500; }
.lc-body .lc-btn--google:hover { background: #f8faff; box-shadow: 0 1px 2px rgba(60,64,67,.3), 0 1px 3px 1px rgba(60,64,67,.15); }
.lc-body .lc-google-logo { width: 24px; height: 24px; flex: none; }
.lc-body .lc-google-slot { display: flex; justify-content: center; min-height: 44px; }
.lc-body .lc-btn--primary { background: var(--lc-navy); color: #fff; }
.lc-body .lc-btn--primary:hover { background: var(--lc-navy-hover); }
.lc-body .lc-btn--small { width: auto; min-height: 44px; font-size: 16px; display: inline-flex; margin-top: 10px; }
.lc-body .lc-btn--submit { background: var(--lc-green); color: var(--lc-on-green); margin-top: 14px; }
.lc-body .lc-btn--submit:hover { background: var(--lc-green-hover); }
.lc-body .lc-btn[disabled] { opacity: .7; cursor: progress; }
.lc-body .last-used {
    position: absolute; top: -10px; right: -8px;
    background: #fff; color: var(--lc-green-text); border: 1px solid var(--lc-green-text);
    border-radius: 10px; padding: 0 8px; font-size: 12px; font-weight: 700; line-height: 18px;
}
.lc-body .lc-panel { margin: 4px 0 14px; padding: 14px 16px; border: 1px solid var(--lc-border); border-left: 4px solid var(--lc-navy); border-radius: 6px; background: #f7f7f4; }
.lc-body .lc-panel-message { margin: 0 0 4px; }
.lc-body .lc-note { margin: 8px 0 0; font-size: 14px; color: var(--lc-muted); }
.lc-body .lc-divider { display: flex; align-items: center; gap: 14px; margin: 22px 0 18px; color: var(--lc-muted); font-size: 16px; }
.lc-body .lc-divider::before, .lc-body .lc-divider::after { content: ""; flex: 1; height: 1px; background: #d1d5db; }
.lc-body .lc-label { display: block; margin: 14px 0 6px; font-weight: 600; font-size: 16px; }
.lc-body .lc-form .lc-label:first-of-type { margin-top: 0; }
.lc-body .lc-input {
    width: 100%; min-height: 52px; padding: 12px 16px; font: inherit; font-size: 17px; color: var(--lc-text);
    background: #fff; border: 1px solid var(--lc-border); border-radius: 6px;
}
.lc-body .lc-input::placeholder { color: #6b7280; }
.lc-body .lc-input:focus { border-color: var(--lc-focus); outline: 3px solid rgba(26,95,168,.35); outline-offset: 0; }
.lc-body .lc-password { position: relative; }
.lc-body .lc-password .lc-input { padding-right: 56px; }
.lc-body .lc-password-toggle {
    position: absolute; top: 50%; right: 6px; transform: translateY(-50%);
    width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center;
    background: transparent; border: 0; border-radius: 6px; color: #4b5563; cursor: pointer;
}
.lc-body .lc-password-toggle[aria-pressed="false"] .lc-eye-slash { display: none; }
.lc-body .lc-forgot { margin: 8px 0 0; text-align: right; }
.lc-body .lc-link { color: var(--lc-link); }
.lc-body .lc-forgot .lc-link, .lc-body .lc-create .lc-link { text-decoration: none; font-weight: 500; }
.lc-body .lc-forgot .lc-link:hover, .lc-body .lc-create .lc-link:hover { text-decoration: underline; }
.lc-body .lc-error { margin: 10px 0 0; color: var(--lc-error); font-weight: 600; }
.lc-body .lc-error:empty { display: none; }
.lc-body .lc-spinner { position: relative; width: 22px; height: 22px; display: none; }
.lc-body .lc-create { margin: 24px 0 0; padding-top: 20px; border-top: 1px solid #e5e7eb; text-align: center; font-size: 17px; }
.lc-body .lc-footer { margin-top: 26px; text-align: center; font-size: 14px; color: var(--lc-muted); }
.lc-body .lc-footer p { margin: 0 0 10px; }
.lc-body .lc-legal a { color: var(--lc-muted); }

@media (prefers-reduced-motion: reduce) { .lc-body .lc-btn { transition: none; } }

/* ---- Registration (DTA-1100) ---- */
.lc-body .lc-card--wide { max-width: 760px; }
.lc-body .lc-stepper { display: flex; justify-content: center; align-items: center; gap: 0; margin: 4px 0 6px; padding: 0; list-style: none; }
.lc-body .lc-stepper li { display: flex; align-items: center; }
.lc-body .lc-stepper li + li::before { content: ""; width: 44px; height: 2px; background: #d1d5db; margin: 0 6px; }
.lc-body .lc-stepper li.is-done + li::before, .lc-body .lc-stepper li.is-current::before { background: var(--lc-green); }
.lc-body .lc-step-dot {
    width: 38px; height: 38px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
    background: #e5e7eb; color: #374151; font-weight: 600; font-size: 16px;
}
.lc-body .is-done .lc-step-dot, .lc-body .is-current .lc-step-dot { background: var(--lc-green); color: var(--lc-on-green); }
.lc-body .lc-step-count { text-align: center; color: var(--lc-muted); margin: 0 0 18px; font-size: 16px; }
.lc-body .lc-help-text { margin: 6px 0 0; font-size: 14px; color: var(--lc-muted); }
.lc-body .lc-field-error { margin: 6px 0 0; font-size: 14px; color: var(--lc-error); font-weight: 600; }
.lc-body .lc-input[aria-invalid="true"] { border-color: var(--lc-error); }
.lc-body select.lc-input { appearance: auto; padding-right: 12px; }
.lc-body .lc-strength { width: 100%; height: 8px; margin-top: 8px; border-radius: 4px; overflow: hidden; background: #e5e7eb; }
.lc-body .lc-strength > span { display: block; height: 100%; background: var(--lc-green); transition: width .2s; }
.lc-body .lc-check { display: flex; align-items: center; gap: 10px; margin: 18px 0 4px; font-size: 17px; cursor: pointer; }
.lc-body .lc-check input { width: 20px; height: 20px; margin: 0; accent-color: var(--lc-green-text); }
.lc-body .lc-required-note { margin: 0 0 8px; font-size: 14px; color: var(--lc-muted); }
.lc-body .lc-section-title { margin: 22px 0 4px; padding-bottom: 8px; border-bottom: 1px solid #e5e7eb; font-size: 20px; color: var(--lc-text); }
.lc-body .lc-grid { display: grid; grid-template-columns: 1fr 1fr; column-gap: 24px; }
.lc-body .lc-grid--3 { grid-template-columns: 1fr 1fr 1fr; }
.lc-body .lc-grid > .lc-span-all { grid-column: 1 / -1; }
@media (max-width: 600px) { .lc-body .lc-grid, .lc-body .lc-grid--3 { grid-template-columns: 1fr; } }
.lc-body .lc-actions { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 24px; }
.lc-body .lc-actions .lc-btn { width: auto; min-width: 140px; }
.lc-body .lc-actions .lc-btn--submit { margin-top: 0; min-width: 240px; }
.lc-body .lc-btn--secondary { background: #fff; color: var(--lc-green-text); border-color: var(--lc-green-text); }
.lc-body .lc-btn--secondary:hover { background: var(--lc-green-soft); }
.lc-body .lc-btn--link { background: none; border: 0; color: var(--lc-link); font-weight: 500; min-height: 44px; width: auto; margin: 0 auto; display: flex; }
.lc-body .lc-btn--link:hover { text-decoration: underline; }
.lc-body .lc-icon-badge { width: 68px; height: 68px; border-radius: 50%; background: var(--lc-green-soft); color: var(--lc-green-text); display: flex; align-items: center; justify-content: center; margin: 4px auto 14px; }
.lc-body .lc-notice { display: flex; gap: 12px; align-items: flex-start; margin: 22px 0 6px; padding: 14px 16px; border-radius: 6px; background: #fff7e0; border: 1px solid #f2d27a; color: #5c4400; }
.lc-body .lc-notice svg { flex: none; color: #b7791f; }
.lc-body .lc-status { margin: 12px 0 0; color: var(--lc-green-text); font-weight: 600; text-align: center; }
.lc-body .lc-center { text-align: center; }
.lc-body .lc-support { margin: 22px 0 0; padding-top: 18px; border-top: 1px solid #e5e7eb; text-align: center; color: var(--lc-muted); }
.lc-body .lc-support strong { display: block; color: var(--lc-text); margin-bottom: 4px; }
.lc-body .lc-choices { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 18px; }
@media (max-width: 700px) { .lc-body .lc-choices { grid-template-columns: 1fr; } }
.lc-body .lc-choice {
    display: flex; flex-direction: column; gap: 8px; text-align: left; padding: 16px; min-height: 150px;
    background: #fff; border: 1px solid var(--lc-border); border-radius: 8px; font: inherit; color: var(--lc-text); cursor: pointer;
}
.lc-body .lc-choice:hover { border-color: var(--lc-navy); box-shadow: 0 1px 4px rgba(0,0,0,.08); }
.lc-body .lc-choice strong { font-size: 18px; color: var(--lc-navy); }
.lc-body .lc-choice > span { font-size: 15px; color: var(--lc-muted); }
.lc-body .lc-legacy { margin-top: 10px; }
.lc-body .lc-legacy::after { content: ""; display: block; clear: both; }
.lc-body .lc-fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.lc-body .lc-fieldset legend { width: 100%; }
.lc-body .lc-optional { font-weight: 400; color: var(--lc-muted); }
.lc-body .lc-actions--end { justify-content: flex-end; }
.lc-body .lc-field .lc-label { margin-top: 14px; }
.lc-body .lc-inline-link { background: none; border: 0; padding: 0; font: inherit; color: var(--lc-link); font-weight: 500; cursor: pointer; }
.lc-body .lc-inline-link:hover { text-decoration: underline; }
.lc-body .lc-status:empty { display: none; }
.lc-body .lc-choices--2 { grid-template-columns: 1fr 1fr; }
@media (max-width: 600px) { .lc-body .lc-choices--2 { grid-template-columns: 1fr; } }
.lc-body .lc-choice--center { align-items: center; text-align: center; cursor: default; padding: 22px 18px; gap: 6px; }
.lc-body .lc-choice--center:hover { border-color: var(--lc-border); box-shadow: none; }
.lc-body .lc-choice-icon { color: var(--lc-green-text); }
.lc-body .lc-choice-title { margin: 6px 0 0; font-size: 20px; color: var(--lc-text); }
.lc-body .lc-choice-text { margin: 0 0 10px; color: var(--lc-muted); font-size: 16px; }
.lc-body .lc-btn--compact { min-height: 48px; font-size: 16px; margin-top: auto; }
.lc-body .lc-skip-section { margin-top: 26px; padding-top: 22px; border-top: 1px solid #e5e7eb; }
.lc-body .lc-section-heading { margin: 0 0 4px; font-size: 20px; color: var(--lc-text); }
.lc-body .lc-help-text--md { font-size: 16px; }
.lc-body .lc-skip-link { margin-top: 12px; font-size: 17px; }
.lc-body .lc-back-row { margin-top: 22px; padding-top: 18px; border-top: 1px solid #e5e7eb; }
.lc-body .lc-back-row .lc-inline-link { display: inline-flex; align-items: center; gap: 8px; font-size: 17px; }
.lc-body .lc-protected { display: flex; gap: 16px; align-items: flex-start; margin: 22px 0 0; padding: 16px 18px; border-radius: 8px; background: var(--lc-green-soft); border: 1px solid var(--lc-green-light); }
.lc-body .lc-protected svg { flex: none; color: var(--lc-green-text); margin-top: 2px; }
.lc-body .lc-protected strong { display: block; color: var(--lc-text); font-size: 17px; }
.lc-body .lc-protected p { margin: 4px 0 0; color: var(--lc-muted); font-size: 15px; }
.lc-body .lc-skip-footer { margin-top: 22px; padding-top: 18px; border-top: 1px solid #e5e7eb; text-align: center; }
.lc-body .lc-skip-footer .lc-inline-link { font-size: 17px; }
.lc-body .lc-subtitle strong { color: #374151; font-weight: 600; }
.lc-body .funding-iframe { width: 100%; min-height: 560px; border: 1px solid #e5e7eb; border-radius: 8px; margin-top: 16px; }

/* ---- Older Lobby pages inside the card (login help, password set-up, terms, errors) ---- */
.lc-body .lc-card--legacy { max-width: 640px; }
.lc-body .lc-card--legacy .columns,
.lc-body .lc-legacy .columns,
.lc-body .lc-card--legacy .column,
.lc-body .lc-legacy .column {
    float: none !important; display: block; width: 100% !important;
    margin-left: 0 !important; margin-right: 0 !important; padding: 0 !important;
}
.lc-body .lc-card--legacy [class*="offset-by-"],
.lc-body .lc-legacy [class*="offset-by-"] { padding-left: 0 !important; margin-left: 0 !important; }
.lc-body .lc-card--legacy .borderBottom,
.lc-body .lc-legacy .borderBottom,
.lc-body .lc-card--legacy .border_bottom,
.lc-body .lc-legacy .border_bottom { border-bottom: 0 !important; }
.lc-body .lc-card--legacy .pgHeader,
.lc-body .lc-legacy .pgHeader {
    font-family: inherit; font-size: 30px; line-height: 1.2; font-weight: 700; color: var(--lc-text);
    text-align: center; margin: 0 0 6px;
}
.lc-body .lc-card--legacy .pgHeader2,
.lc-body .lc-legacy .pgHeader2 { display: block; text-align: center; font-family: inherit; font-size: 17px; color: var(--lc-muted); margin: 0 0 18px; }
.lc-body .lc-card--legacy .formLabel,
.lc-body .lc-legacy .formLabel {
    font-family: inherit; text-align: left !important; font-weight: 600; font-size: 16px; color: var(--lc-text);
    padding: 0 !important; margin: 16px 0 6px !important; white-space: normal;
}
.lc-body .lc-card--legacy .formDesc,
.lc-body .lc-legacy .formDesc { font-size: 14px; color: var(--lc-muted); margin-top: 6px; float: none; }
.lc-body .lc-card--legacy .formDesc > div,
.lc-body .lc-legacy .formDesc > div { float: none !important; padding: 0 !important; }
.lc-body .lc-card--legacy .row3,
.lc-body .lc-legacy .row3 { margin: 0 !important; height: auto !important; }
.lc-body .lc-card--legacy input[type="text"],
.lc-body .lc-legacy input[type="text"],
.lc-body .lc-card--legacy input[type="email"],
.lc-body .lc-legacy input[type="email"],
.lc-body .lc-card--legacy input[type="password"],
.lc-body .lc-legacy input[type="password"],
.lc-body .lc-card--legacy input[type="tel"],
.lc-body .lc-legacy input[type="tel"],
.lc-body .lc-card--legacy input[type="number"],
.lc-body .lc-legacy input[type="number"],
.lc-body .lc-card--legacy select,
.lc-body .lc-legacy select,
.lc-body .lc-card--legacy textarea,
.lc-body .lc-legacy textarea {
    width: 100% !important; min-height: 52px; padding: 12px 16px; margin: 0 !important;
    font: inherit; font-size: 17px; color: var(--lc-text); background: #fff;
    border: 1px solid var(--lc-border); border-radius: 6px; box-shadow: none;
}
.lc-body .lc-card--legacy textarea,
.lc-body .lc-legacy textarea { min-height: 120px; }
.lc-body .lc-card--legacy input:focus,
.lc-body .lc-legacy input:focus,
.lc-body .lc-card--legacy select:focus,
.lc-body .lc-legacy select:focus,
.lc-body .lc-card--legacy textarea:focus,
.lc-body .lc-legacy textarea:focus {
    border-color: var(--lc-focus); outline: 3px solid rgba(26,95,168,.35); outline-offset: 0;
}
.lc-body .lc-card--legacy input[type="submit"],
.lc-body .lc-legacy input[type="submit"],
.lc-body .lc-card--legacy button[type="submit"],
.lc-body .lc-legacy button[type="submit"],
.lc-body .lc-card--legacy .button,
.lc-body .lc-legacy .button,
.lc-body .lc-card--legacy button.Button-primary,
.lc-body .lc-legacy button.Button-primary {
    display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 52px;
    margin: 18px 0 0 !important; padding: 10px 18px; float: none !important;
    background: var(--lc-green); color: var(--lc-on-green) !important; border: 1px solid transparent; border-radius: 6px;
    font: inherit; font-size: 18px; font-weight: 600; text-decoration: none; cursor: pointer; box-shadow: none; text-shadow: none;
}
.lc-body .lc-card--legacy input[type="submit"]:hover,
.lc-body .lc-legacy input[type="submit"]:hover,
.lc-body .lc-card--legacy button[type="submit"]:hover,
.lc-body .lc-legacy button[type="submit"]:hover,
.lc-body .lc-card--legacy .button:hover,
.lc-body .lc-legacy .button:hover { background: var(--lc-green-hover); }
.lc-body .lc-card--legacy input[type="submit"][disabled],
.lc-body .lc-legacy input[type="submit"][disabled] { opacity: .7; cursor: progress; }
.lc-body .lc-card--legacy a:not(.button):not(.lc-btn),
.lc-body .lc-legacy a:not(.button):not(.lc-btn) { color: var(--lc-link); }
.lc-body .lc-card--legacy .error,
.lc-body .lc-legacy .error,
.lc-body .lc-card--legacy .login_error,
.lc-body .lc-legacy .login_error,
.lc-body .lc-card--legacy .parsley-errors-list,
.lc-body .lc-legacy .parsley-errors-list { color: var(--lc-error); font-weight: 600; font-size: 15px; margin-top: 6px; }
.lc-body .lc-card--legacy .parsley-errors-list,
.lc-body .lc-legacy .parsley-errors-list { list-style: none; padding: 0; }
.lc-body .lc-card--legacy input.error,
.lc-body .lc-legacy input.error,
.lc-body .lc-card--legacy input.parsley-error,
.lc-body .lc-legacy input.parsley-error { border-color: var(--lc-error); }
.lc-body .lc-card--legacy #spinner,
.lc-body .lc-legacy #spinner { display: none !important; }
.lc-body .lc-card--legacy .module-banner-container,
.lc-body .lc-legacy .module-banner-container { justify-content: center; margin-bottom: 18px; padding-bottom: 16px; border-bottom: 1px solid #e5e7eb; }
.lc-body .lc-card--legacy #logo-image-container,
.lc-body .lc-legacy #logo-image-container { width: auto !important; height: auto !important; }
.lc-body .lc-card--legacy #logo-image,
.lc-body .lc-legacy #logo-image { max-height: 64px !important; max-width: 120px !important; }
.lc-body .lc-card--legacy #banner-image-container,
.lc-body .lc-legacy #banner-image-container { display: none !important; }
.lc-body .lc-card--legacy label,
.lc-body .lc-legacy label { font-weight: 600; }
.lc-body .lc-card--legacy input[type="checkbox"],
.lc-body .lc-legacy input[type="checkbox"],
.lc-body .lc-card--legacy input[type="radio"],
.lc-body .lc-legacy input[type="radio"] { width: 20px; height: 20px; margin: 0 8px 0 0 !important; vertical-align: middle; accent-color: var(--lc-green-text); min-height: 0; }
.lc-body .lc-card--legacy hr,
.lc-body .lc-legacy hr { border: 0; border-top: 1px solid #e5e7eb; margin: 20px 0; }
.lc-body .lc-card--legacy div[style*="clear: both"],
.lc-body .lc-legacy div[style*="clear: both"] { height: 0 !important; }
.lc-body .lc-choice-list { display: flex; flex-direction: column; gap: 12px; margin: 8px 0 0; padding: 0; list-style: none; }
.lc-body .lc-choice-link {
    display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 60px; padding: 14px 18px;
    border: 1px solid var(--lc-border); border-radius: 8px; color: var(--lc-text) !important; text-decoration: none; font-size: 17px; font-weight: 600;
}
.lc-body .lc-choice-link:hover { border-color: var(--lc-navy); background: #f7f7f4; }
.lc-body .lc-choice-link svg { flex: none; color: var(--lc-green-text); }
/* Links inside running text need more than colour (WCAG 1.4.1). */
.lc-body .lc-support .lc-link, .lc-body .lc-subtitle .lc-link, .lc-body .lc-error .lc-link, .lc-body .lc-card--legacy p a, .lc-body .lc-card--legacy .formDesc a { text-decoration: underline; }
.lc-body .lc-title--sub { font-size: 30px; }
.lc-body .vdp-datepicker { width: 100%; }
.lc-body .vdp-datepicker .lc-input { width: 100%; }
.lc-body .lc-card--legacy a:not(.button):not(.lc-btn):not(.lc-choice-link):not(.lc-link), .lc-body .lc-legacy a:not(.button):not(.lc-btn):not(.lc-choice-link):not(.lc-link) { text-decoration: underline; }
.lc-body h1, .lc-body h2, .lc-body h3, .lc-body h4, .lc-body button, .lc-body input, .lc-body select, .lc-body textarea { font-family: inherit; }
.lc-body .lc-card--legacy .columns > div + div, .lc-body .lc-card--legacy form > div + div { margin-top: 10px; }
.lc-body .lc-card--legacy p { margin: 0 0 12px; }
/* Headings take focus on each step change; that focus is for screen readers, not a ring. */
.lc-body h1[tabindex="-1"]:focus { outline: none; }
.lc-body .lc-choice-title, .lc-body .lc-section-heading { font-weight: 700; }
.lc-body .lc-check span { font-size: 17px; font-weight: 400; }
