/* Scoped onboarding presentation. Accounts owns validation and permissions. */
.jsf-registration-journey .jsf-age-notice {
    display: grid;
    grid-template-columns: minmax(180px, .75fr) minmax(0, 1.25fr);
    gap: 14px;
    margin: 14px 0;
    padding: 16px;
    border: 1px solid #b9cedd;
    border-radius: 12px;
    background: #f0f6fb;
    color: #18324c;
}
.jsf-registration-journey .jsf-age-notice label {
    display: grid;
    gap: 7px;
    align-content: start;
    font-weight: 700;
}
.jsf-registration-journey .jsf-age-notice input {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    min-height: 46px;
    padding: 10px;
    color: #18324c;
    background: #fff;
    border: 1px solid #8ca7ba;
    border-radius: 8px;
    font: inherit;
}
.jsf-registration-journey .jsf-age-notice p {
    margin: 0 0 8px;
    font-size: .875rem;
    line-height: 1.5;
}
.jsf-registration-journey .jsf-age-notice .jsf-age-status {
    margin-bottom: 0;
    font-weight: 700;
}
.jsf-registration-journey [data-age-band="under16"] .jsf-age-status {
    color: #8a271e;
}
.jsf-registration-journey .jsf-age-notice input:focus-visible {
    outline: 3px solid #e2bb3b;
    outline-offset: 2px;
}
body.jsv-age-check-228 .jsf-account-shell {
    display: block !important;
    width: min(100% - 32px, 860px);
    margin: 28px auto;
}
body.jsv-age-check-228 .jsf-account-shell > aside { display: none; }
body.jsv-age-check-228 .jsa-age-check {
    box-sizing: border-box;
    width: 100%;
    margin: 0 auto;
    padding: clamp(18px, 4vw, 32px);
    border: 1px solid #d6dfE6;
    border-radius: 16px;
    background: #fffdf8;
    color: #18324c;
}
body.jsv-age-check-228 main input:not([type="checkbox"]):not([type="hidden"]),
body.jsv-age-check-228 main select,
body.jsv-age-check-228 main textarea {
    box-sizing: border-box;
    max-width: 100%;
    min-height: 44px;
    padding: 10px 12px;
    border: 1px solid #8ca7ba;
    border-radius: 8px;
    background: #fff;
    color: #18324c;
    font: inherit;
}
body.jsv-age-check-228 main button {
    min-height: 44px;
    padding: 10px 18px;
    border: 1px solid #8ca7ba;
    border-radius: 8px;
    background: #d9ecfa;
    color: #18324c;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}
body.jsv-age-check-228 main [role="alert"] {
    padding: 12px 16px;
    border-left: 4px solid #ba5546;
    background: #fff0e9;
    color: #6b271d;
}
body.jsv-youth-safeguards-228 [data-jsv-youth-hidden] { display: none !important; }
body.jsv-youth-safeguards-228 .jsv-youth-policy-note {
    padding: 12px 14px;
    margin: 0 0 14px;
    border: 1px solid #b9cedd;
    border-radius: 8px;
    background: #f0f6fb;
    color: #18324c;
    font-size: 14px;
    line-height: 1.5;
}
body.jsv-age-check-228 .jsa-age-check form { display: grid; gap: 12px; margin: 24px 0; }
body.jsv-age-check-228 .jsa-age-check input[type="date"] { width: min(100%, 320px); }
body.jsv-age-check-228 .jsa-age-check label:has(input[type="checkbox"]) { display: flex; gap: 10px; align-items: flex-start; }
body.jsv-age-check-228 .jsa-age-check input[type="checkbox"] { flex: 0 0 auto; margin-top: 5px; width: 18px; height: 18px; }
body.jsv-age-check-228 .jsa-age-check nav { line-height: 1.9; }
@media (max-width: 600px) {
    .jsf-registration-journey .jsf-age-notice { grid-template-columns: minmax(0, 1fr); }
    body.jsv-age-check-228 .jsf-account-shell { margin-top: 16px; }
}
