/**
 * WCF Members Portal — Public Styles
 */

:root {
    --wcf-navy: #1a1f3c;
    --wcf-navy-2: #182736;
    --wcf-gold: #c9a84c;
    --wcf-gold-2: #d9b76f;
    --wcf-text: #1f2933;
    --wcf-muted: #64748b;
    --wcf-border: #e5e9ef;
    --wcf-bg-soft: #f8fafc;

    --wcf-fs-xs: 11px;
    --wcf-fs-sm: 13px;
    --wcf-fs-md: 14px;
    --wcf-fs-base: 16px;
    --wcf-fs-lg: 18px;
    --wcf-fs-xl: 22px;
    --wcf-fs-2xl: 28px;
    --wcf-fs-3xl: 40px;
}

body {
    margin: 0;
}
/* Base */

.wcf-portal-frontpage,
.wcf-portal-login,
.wcf-portal-forms-list,
.wcf-portal-questionnaire,
.wcf-portal-thank-you,
.wcf-portal-privacy {
    font-family: inherit;
    color: var(--wcf-text);
}

.wcf-portal-wrap {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 20px;
}

.wcf-portal-narrow {
    max-width: 860px;
}

/* Public nav — WCF shared style */

.wcf-public-nav {
    background: #ffffff;
    position: sticky;
    top: 0;
    z-index: 1001;
    border-bottom: 1px solid rgba(18, 35, 52, 0.08);
    box-shadow: 0 2px 6px rgba(0,0,0,0.06);
}

.wcf-nav-inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 20px;
    min-height: 96px;
    display: flex;
    align-items: center;
    gap: 24px;
}

.wcf-nav-logo {
    display: inline-flex;
    align-items: center;
    margin-right: auto;
    text-decoration: none;
}

.wcf-nav-logo-img {
    width: 72px;
    height: auto;
    display: block;
}

.wcf-nav-links {
    display: flex;
    align-items: center;
    gap: 28px;
}

.wcf-nav-link {
    color: #0f172a;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    padding: 8px 0;
}

.wcf-nav-link:hover,
.wcf-nav-link.wcf-nav-active {
    color: #c9a84c;
    background: transparent;
}


.wcf-nav-switch {
    color: #1a1f3c;
    border: 1px solid rgba(201, 168, 76, 0.45);
    border-radius: 999px;
    padding: 8px 14px;
}

.wcf-nav-switch:hover {
    color: #1a1f3c;
    background: rgba(201, 168, 76, 0.12);
}

.wcf-nav-btn {
    background: #1a1f3c;
    color: #ffffff;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    padding: 9px 16px;
    border-radius: 8px;
}

.wcf-nav-btn:hover {
    background: #252c54;
    color: #ffffff;
}

.wcf-nav-ham {
    display: none;
    flex-direction: column;
    gap: 4px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px;
    margin-left: auto;
}

.wcf-nav-ham span {
    display: block;
    width: 22px;
    height: 2px;
    background: #1a1f3c;
    border-radius: 2px;
}

.wcf-nav-drawer {
    display: none;
    flex-direction: column;
    background: #ffffff;
    padding: 8px 20px 18px;
    border-top: 1px solid rgba(18, 35, 52, 0.08);
}

.wcf-nav-drawer .wcf-nav-link {
    color: #0f172a;
    padding: 11px 0;
}

.wcf-nav-drawer.is-open {
    display: flex;
}

/* Breadcrumb */

.wcf-breadcrumb {
    font-size: var(--wcf-fs-sm);
    margin-bottom: 14px;
    color: rgba(255,255,255,.72);
}

.wcf-breadcrumb a {
    text-decoration: none;
    color: #fff;
    font-weight: 600;
}

.wcf-breadcrumb a:hover {
    text-decoration: underline;
}

.wcf-breadcrumb .wcf-sep {
    margin: 0 6px;
    color: rgba(255,255,255,.45);
}

/* Hero */

.wcf-portal-hero {
    position: sticky;
    top: 96px;
    z-index: 1000;
    min-height: 180px;
    display: flex;
    align-items: center;
    background: linear-gradient(90deg, rgba(18,35,52,.86), rgba(18,35,52,.54));
    color: #fff;
    overflow: hidden;
}

.wcf-portal-hero-inner {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    padding: 28px 20px;
}

.wcf-portal-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
    font-size: var(--wcf-fs-sm);
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--wcf-gold-2);
}

.wcf-portal-hero h1 {
    margin: 0 0 14px;
    max-width: 760px;
    font-size: clamp(26px, 3vw, 38px);
    line-height: 1.12;
    font-weight: 800;
    color: #fff;
}

.wcf-portal-hero p {
    margin: 0;
    max-width: 680px;
    font-size: var(--wcf-fs-base);
    line-height: 1.55;
    color: rgba(255,255,255,.9);
}

.wcf-portal-questionnaire-hero,
.wcf-portal-forms-list .wcf-portal-hero,
.wcf-portal-thank-hero {
    min-height: 220px;
}

/* Sections */

.wcf-portal-section {
    padding: 34px 0;
}

.wcf-portal-section-title {
    margin: 0 0 18px;
    font-size: 24px;
    line-height: 1.25;
    font-weight: 800;
    color: var(--wcf-navy-2);
}

.wcf-portal-section-lead {
    margin: -8px 0 24px;
    max-width: 760px;
    color: var(--wcf-muted);
    font-size: var(--wcf-fs-base);
    line-height: 1.6;
}

/* Grid / cards */

.wcf-portal-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.wcf-portal-card {
    background: #fff;
    border: 1px solid var(--wcf-border);
    border-radius: 18px;
    padding: 20px;
    box-shadow: 0 10px 28px rgba(18,35,52,.08);
}

.wcf-portal-card h2,
.wcf-portal-card h3 {
    margin: 0 0 10px;
    color: var(--wcf-navy-2);
    font-size: var(--wcf-fs-lg);
    line-height: 1.25;
    font-weight: 800;
}

.wcf-portal-card p {
    margin: 0;
    color: #5f6f7f;
    font-size: var(--wcf-fs-md);
    line-height: 1.6;
}

.wcf-portal-card-link {
    display: inline-flex;
    margin-top: 16px;
    color: var(--wcf-navy-2);
    font-size: var(--wcf-fs-md);
    font-weight: 800;
    text-decoration: none;
}

.wcf-portal-card-link:hover {
    color: var(--wcf-gold);
}

/* Study groups */

.wcf-study-group {
    margin-bottom: 34px;
}

.wcf-study-group-head {
    margin: 0 0 16px;
    padding: 18px 20px;
    background: var(--wcf-bg-soft);
    border: 1px solid var(--wcf-border);
    border-radius: 18px;
}

.wcf-study-group-head h3 {
    margin: 0 0 6px;
    color: var(--wcf-navy-2);
    font-size: 20px;
    line-height: 1.25;
    font-weight: 800;
}

.wcf-study-group-head p {
    margin: 0;
    color: var(--wcf-muted);
    font-size: var(--wcf-fs-md);
    line-height: 1.6;
}

/* Buttons */

.wcf-portal-actions {
    margin-top: 24px;
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.wcf-portal-btn,
.wcf-portal-card a.wcf-portal-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 22px;
    border-radius: 10px;
    background: var(--wcf-navy);
    color: #fff;
    text-decoration: none;
    font-size: var(--wcf-fs-md);
    font-weight: 700;
    border: 0;
    cursor: pointer;
}

.wcf-portal-btn:hover,
.wcf-portal-card a.wcf-portal-btn:hover {
    background: #252c54;
    color: #fff;
}

.wcf-portal-btn-secondary {
    background: rgba(255,255,255,.14);
    color: #fff;
}

.wcf-portal-btn-secondary:hover {
    background: rgba(255,255,255,.22);
    color: #fff;
}

.wcf-btn-outline {
    background: #fff;
    color: var(--wcf-navy);
    border: 1.5px solid #d8d4cc;
}

/* Login / register */

.wcf-login-wrapper {
    display: flex;
    min-height: 100vh;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: linear-gradient(90deg, rgba(18,35,52,.92), rgba(18,35,52,.76));
}

.wcf-login-card {
    background: #fff;
    border-radius: 18px;
    width: 340px;
    padding: 24px;
    box-shadow: 0 18px 40px rgba(18,35,52,.22);
}

.wcf-register-card {
    width: 380px;
}

.wcf-login-title {
    font-size: var(--wcf-fs-xl);
    margin-bottom: 6px;
    color: var(--wcf-navy-2);
    font-weight: 800;
}

.wcf-login-sub {
    font-size: var(--wcf-fs-sm);
    color: var(--wcf-muted);
    margin-bottom: 16px;
}

.wcf-login-alt-btn,
.wcf-input {
    width: 100%;
    padding: 11px;
    border-radius: 10px;
    border: 1px solid var(--wcf-border);
    margin-bottom: 10px;
    background: #fff;
    font-size: var(--wcf-fs-sm);
    color: var(--wcf-navy-2);
    box-sizing: border-box;
}

.wcf-login-alt-btn {
    cursor: pointer;
}

.wcf-login-alt-btn:hover {
    border-color: var(--wcf-navy-2);
}

.wcf-login-submit {
    width: 100%;
    padding: 12px;
    border-radius: 10px;
    border: 0;
    background: var(--wcf-navy-2);
    color: #fff;
    cursor: pointer;
    font-size: var(--wcf-fs-md);
    font-weight: 800;
}

.wcf-login-submit:hover {
    background: #24384d;
}

.wcf-divider {
    text-align: center;
    margin: 14px 0;
    font-size: var(--wcf-fs-xs);
    color: #94a3b8;
}

.wcf-login-footer-link {
    margin-top: 14px;
    text-align: center;
    font-size: var(--wcf-fs-sm);
    color: var(--wcf-muted);
}

.wcf-login-footer-link a {
    color: var(--wcf-navy-2);
    font-weight: 800;
    text-decoration: none;
}

.wcf-error {
    background: #fef2f2;
    color: #991b1b;
    padding: 9px 10px;
    border-radius: 10px;
    margin-bottom: 12px;
    font-size: 12px;
}

/* Forms / questionnaire */

.wcf-portal-form-box {
    background: #fff;
    border: 1px solid var(--wcf-border);
    border-radius: 18px;
    padding: 24px;
    box-shadow: 0 10px 28px rgba(18,35,52,.08);
}

.wcf-language-toggle {
    display: inline-flex;
    gap: 6px;
    padding: 5px;
    border-radius: 999px;
    background: #eef2f6;
    margin-bottom: 22px;
}

.wcf-language-toggle a,
.wcf-language-toggle button {
    border: 0;
    border-radius: 999px;
    padding: 8px 14px;
    background: transparent;
    color: #425466;
    font-size: var(--wcf-fs-sm);
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
}

.wcf-language-toggle a.is-active,
.wcf-language-toggle button.is-active {
    background: var(--wcf-navy-2);
    color: #fff;
}

.wcf-question-card {
    background: #fff;
    border: 1.5px solid #e8e4db;
    border-radius: 12px;
    padding: 20px 18px 16px;
    margin-bottom: 16px;
}

.wcf-question-number {
    margin-bottom: 8px;
    color: var(--wcf-gold);
    font-size: var(--wcf-fs-xs);
    font-weight: 700;
    letter-spacing: .6px;
    text-transform: uppercase;
}

.wcf-question-title {
    margin: 0 0 14px;
    color: var(--wcf-navy);
    font-size: 17px;
    line-height: 1.5;
    font-weight: 600;
}

.wcf-question-hint {
    margin: -6px 0 12px;
    color: #888;
    font-size: 12px;
    font-style: italic;
}

.wcf-passage-ref {
    color: var(--wcf-gold);
    font-size: var(--wcf-fs-md);
    margin-top: 6px;
}

.wcf-preview-badge {
    background: rgba(201,168,76,.2);
    color: var(--wcf-gold);
    font-size: 10px;
    padding: 2px 8px;
    border-radius: 10px;
    margin-left: 8px;
}

.wcf-options-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.wcf-option-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border: 1.5px solid #e8e4db;
    border-radius: 10px;
    cursor: pointer;
    transition: .15s;
    background: #fafaf8;
    color: #334155;
}

.wcf-option-row:hover {
    border-color: var(--wcf-gold);
    background: #fdf8ec;
}

.wcf-option-row:has(input:checked) {
    border-color: var(--wcf-navy);
    background: #f0eef9;
}

.wcf-option-row input {
    display: none;
}

.wcf-option-letter {
    width: 30px;
    height: 30px;
    min-width: 30px;
    border-radius: 8px;
    background: #f0ede6;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--wcf-fs-sm);
    font-weight: 700;
    color: #555;
}

.wcf-option-row:has(input:checked) .wcf-option-letter {
    background: var(--wcf-navy);
    color: #fff;
}

.wcf-option-text {
    font-size: var(--wcf-fs-md);
    color: var(--wcf-navy);
    line-height: 1.45;
}

.wcf-portal-submit {
    width: 100%;
    margin-top: 8px;
    padding: 14px;
    background: var(--wcf-navy);
    color: #fff;
    border: none;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: .15s;
}

.wcf-portal-submit:hover {
    background: #252c54;
}

/* Notices / error pages */

.wcf-portal-notice {
    padding: 14px 16px;
    border-radius: 14px;
    background: var(--wcf-bg-soft);
    border: 1px solid var(--wcf-border);
    color: #334155;
}

.wcf-portal-notice.success {
    background: #f0fdf4;
    border-color: #bbf7d0;
    color: #166534;
}

.wcf-portal-notice.error {
    background: #fef2f2;
    border-color: #fecaca;
    color: #991b1b;
}

.wcf-error-page {
    max-width: 520px;
    margin: 60px auto;
    padding: 0 20px;
    text-align: center;
}

.wcf-error-page h1 {
    font-size: 26px;
    color: var(--wcf-navy);
    margin-bottom: 12px;
}

.wcf-error-page p {
    color: var(--wcf-muted);
}

.wcf-submitted-score {
    font-size: 20px;
    font-weight: 700;
    color: var(--wcf-navy);
    margin: 16px 0;
}

/* Dashboard */

.wcf-dashboard-list {
    display: grid;
    gap: 12px;
}

.wcf-dashboard-row {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
    background: #fff;
    border: 1px solid var(--wcf-border);
    border-radius: 16px;
    padding: 16px 18px;
    box-shadow: 0 8px 22px rgba(18,35,52,.06);
}

.wcf-dashboard-row strong {
    display: block;
    color: var(--wcf-navy-2);
    font-size: 15px;
    margin-bottom: 4px;
}

.wcf-dashboard-row span {
    color: var(--wcf-muted);
    font-size: var(--wcf-fs-sm);
}

.wcf-dashboard-score {
    text-align: right;
    color: var(--wcf-navy-2);
    font-weight: 800;
    white-space: nowrap;
}

.wcf-dashboard-score span {
    display: block;
    margin-top: 4px;
    color: var(--wcf-gold-2);
    font-weight: 800;
}

/* Thank-you / results */

.wcf-portal-center {
    display: flex;
    justify-content: center;
}

.wcf-portal-thank-card {
    max-width: 420px;
    text-align: center;
}

.wcf-portal-thank-icon {
    font-size: 42px;
    margin-bottom: 10px;
    color: var(--wcf-gold-2);
}

.wcf-score-reveal {
    border-radius: 14px;
    padding: 28px 20px;
    text-align: center;
    margin-bottom: 28px;
}

.wcf-score-high {
    background: linear-gradient(135deg, #EAF3DE, #c8e6b0);
    border: 1px solid #C0DD97;
}

.wcf-score-mid {
    background: linear-gradient(135deg, #FAEEDA, #f5d9a0);
    border: 1px solid #FAC775;
}

.wcf-score-low {
    background: linear-gradient(135deg, #f5f3ef, #ede9df);
    border: 1px solid #d8d4cc;
}

.wcf-score-big {
    font-size: 42px;
    font-weight: 800;
    color: var(--wcf-navy);
    line-height: 1;
}

.wcf-score-pct {
    font-size: var(--wcf-fs-xl);
    font-weight: 700;
    color: #444;
    margin: 4px 0;
}

.wcf-score-label {
    font-size: 15px;
    color: #555;
    margin-top: 8px;
}

.wcf-results-heading {
    font-size: 20px;
    font-weight: 700;
    color: var(--wcf-navy);
    margin: 0 0 16px;
}

.wcf-result-card {
    border-radius: 12px;
    border: 1.5px solid #e8e4db;
    padding: 16px;
    margin-bottom: 12px;
    background: #fff;
}

.wcf-result-correct {
    border-color: #C0DD97;
    background: #f8fdf3;
}

.wcf-result-wrong {
    border-color: #F7C1C1;
    background: #fff8f8;
}

.wcf-result-qnum {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .5px;
    margin-bottom: 8px;
    color: #555;
}

.wcf-result-icon {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 700;
}

.wcf-result-correct .wcf-result-icon {
    background: #3B6D11;
    color: #fff;
}

.wcf-result-wrong .wcf-result-icon {
    background: #A32D2D;
    color: #fff;
}

.wcf-result-qtext {
    font-size: var(--wcf-fs-md);
    font-weight: 600;
    color: var(--wcf-navy);
    margin-bottom: 12px;
    line-height: 1.4;
}

.wcf-result-options {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.wcf-result-opt {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 12px;
    border-radius: 8px;
    background: #f5f3ef;
    font-size: var(--wcf-fs-sm);
    color: #444;
}

.wcf-opt-correct {
    background: #EAF3DE;
    color: #27500A;
    font-weight: 500;
}

.wcf-opt-wrong {
    background: #FCEBEB;
    color: #A32D2D;
    font-weight: 500;
}

.wcf-opt-letter {
    font-weight: 700;
    min-width: 18px;
}

.wcf-opt-text {
    flex: 1;
}

.wcf-opt-tag {
    font-size: 10px;
    font-weight: 600;
    padding: 2px 7px;
    border-radius: 8px;
    text-transform: uppercase;
    letter-spacing: .4px;
    margin-left: auto;
    white-space: nowrap;
}

.wcf-tag-correct {
    background: #C0DD97;
    color: #27500A;
}

.wcf-tag-wrong {
    background: #F7C1C1;
    color: #A32D2D;
}

.wcf-result-explanation {
    margin-top: 10px;
    padding: 8px 12px;
    background: #fdf8ec;
    border-left: 3px solid var(--wcf-gold);
    border-radius: 0 6px 6px 0;
    font-size: 12px;
    color: #555;
    line-height: 1.5;
}

.wcf-thank-actions {
    display: flex;
    gap: 10px;
    margin-top: 24px;
    flex-wrap: wrap;
}

/* Mobile */

@media (max-width: 900px) {
    .wcf-portal-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .wcf-nav-links {
        display: none;
    }

    .wcf-nav-ham {
        display: flex;
    }

    .wcf-portal-hero {
        top: 64px;
        min-height: 170px;
    }

    .wcf-nav-inner {
        min-height: 64px;
    }

    .wcf-nav-logo-img {
        width: 56px;
    }

    .wcf-portal-hero-inner {
        padding: 36px 18px;
    }

    .wcf-portal-hero h1 {
        font-size: clamp(24px, 7vw, 34px);
        line-height: 1.15;
    }

    .wcf-portal-hero p {
        font-size: 15px;
    }

    .wcf-portal-section {
        padding: 30px 0;
    }

    .wcf-portal-grid {
        grid-template-columns: 1fr;
    }

    .wcf-portal-card,
    .wcf-portal-form-box {
        border-radius: 16px;
        padding: 18px;
    }

    .wcf-question-card {
        padding: 18px 16px;
    }

    .wcf-option-row {
        padding: 12px;
    }

    .wcf-option-letter {
        width: 26px;
        height: 26px;
        min-width: 26px;
        font-size: 12px;
    }

    .wcf-dashboard-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .wcf-dashboard-score {
        text-align: left;
    }

    .wcf-score-big {
        font-size: 32px;
    }

    .wcf-thank-actions {
        flex-direction: column;
    }

    .wcf-portal-btn {
        text-align: center;
    }

    .wcf-result-card {
        padding: 12px;
    }

    .wcf-login-card,
    .wcf-register-card {
        width: 100%;
        max-width: 380px;
    }
}
/* Workspace selector */
.wcf-workspace-page .wcf-login-wrapper {
    padding: 120px 20px;
}

.wcf-workspace-card {
    width: min(720px, 100%);
    background: #ffffff;
    border-radius: 18px;
    box-shadow: 0 20px 55px rgba(0,0,0,0.16);
    padding: 28px;
}

.wcf-workspace-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 24px;
}

.wcf-workspace-option {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-height: 170px;
    padding: 20px;
    border: 1px solid var(--wcf-border);
    border-radius: 16px;
    color: var(--wcf-text);
    text-decoration: none;
    background: #ffffff;
}

.wcf-workspace-option:hover {
    border-color: var(--wcf-gold);
    box-shadow: 0 12px 28px rgba(0,0,0,0.08);
}

.wcf-workspace-primary {
    border-color: rgba(26,31,60,0.22);
    background: #f8fafc;
}

.wcf-workspace-kicker {
    color: var(--wcf-gold);
    font-size: var(--wcf-fs-xs);
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.wcf-workspace-option strong {
    color: var(--wcf-navy);
    font-size: var(--wcf-fs-xl);
}

.wcf-workspace-option span:not(.wcf-workspace-kicker) {
    color: var(--wcf-muted);
    line-height: 1.45;
}

.wcf-workspace-option em {
    margin-top: auto;
    color: var(--wcf-navy);
    font-style: normal;
    font-weight: 800;
}

.wcf-member-admin-switch {
    border: 1px solid rgba(201,168,76,.35);
    background: #fffdf6;
}

@media (max-width: 720px) {
    .wcf-workspace-options {
        grid-template-columns: 1fr;
    }

    .wcf-workspace-card {
        padding: 22px;
    }
}

/* Member dashboard v2 — mobile-first, simple member experience */
.wcf-member-dashboard-v2 {
    font-family: inherit;
    color: var(--wcf-text);
    background: #f7f8fb;
    min-height: 100vh;
}

.wcf-member-hero {
    padding: 30px 0 0;
    background: linear-gradient(135deg, #08162f, #0b1d3a, #12305f);
}

.wcf-member-hero .wcf-breadcrumb,
.wcf-member-hero .wcf-breadcrumb a,
.wcf-member-hero .wcf-breadcrumb span {
    color: rgba(255,255,255,0.78);
}

.wcf-member-hero-card {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    align-items: center;
    margin-top: 18px;
    padding: 28px;
    border-radius: 24px;
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.18);
    box-shadow: 0 24px 60px rgba(0,0,0,0.22);
}

.wcf-member-hero-card .wcf-portal-kicker {
    color: #d9b76f;
}

.wcf-member-hero-card h1 {
    margin: 8px 0 10px;
    color: #ffffff;
    font-size: clamp(28px, 5vw, 44px);
    line-height: 1.08;
}

.wcf-member-hero-card p {
    margin: 0;
    max-width: 620px;
    color: rgba(255,255,255,0.82);
    font-size: 17px;
    line-height: 1.55;
}

.wcf-member-hero-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
}


.wcf-member-dashboard-v2 main.wcf-portal-section {
    padding-top: 58px;
}

.wcf-member-ready-section,
.wcf-member-more-section,
.wcf-member-results-section,
.wcf-member-account-section {
    margin-bottom: 28px;
}

.wcf-member-section-head {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: flex-end;
    margin-bottom: 14px;
}

.wcf-member-section-head h2 {
    margin: 4px 0 0;
    color: var(--wcf-navy);
    font-size: clamp(22px, 4vw, 30px);
}

.wcf-member-small-link {
    color: var(--wcf-navy);
    font-weight: 800;
    text-decoration: none;
}

.wcf-member-feature-card,
.wcf-member-empty-card {
    display: flex;
    gap: 18px;
    align-items: flex-start;
    border: 1px solid rgba(18,35,52,0.08);
    border-radius: 24px;
    background: #ffffff;
    padding: 24px;
    box-shadow: 0 16px 44px rgba(18,35,52,0.08);
}

.wcf-member-feature-card {
    border-color: rgba(201,168,76,0.28);
}

.wcf-member-feature-icon {
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    flex: 0 0 58px;
    border-radius: 18px;
    background: #fff8e8;
    font-size: 28px;
}

.wcf-member-feature-main {
    flex: 1;
    min-width: 0;
}

.wcf-member-badge-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 8px;
}

.wcf-member-type-badge,
.wcf-member-status-badge,
.wcf-member-result-type {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 5px 10px;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .02em;
}

.wcf-member-type-badge,
.wcf-member-result-type {
    color: #5c4513;
    background: #fff3d1;
}

.wcf-member-status-badge {
    color: #334155;
    background: #eef2f7;
}

.wcf-member-feature-card h3,
.wcf-member-empty-card h3,
.wcf-member-account-card h3 {
    margin: 0 0 8px;
    color: var(--wcf-navy);
    font-size: clamp(22px, 4vw, 30px);
    line-height: 1.15;
}

.wcf-member-feature-card p,
.wcf-member-empty-card p,
.wcf-member-account-card p {
    margin: 0 0 14px;
    color: var(--wcf-muted);
    line-height: 1.55;
}

.wcf-member-passage {
    color: var(--wcf-navy) !important;
    font-weight: 800;
}

.wcf-member-feature-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.wcf-member-progress-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 28px 0;
}

.wcf-member-stat-card,
.wcf-member-account-card,
.wcf-member-mini-card {
    border: 1px solid rgba(18,35,52,0.08);
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 12px 30px rgba(18,35,52,0.06);
}

.wcf-member-stat-card {
    padding: 18px;
}

.wcf-member-stat-card span {
    color: var(--wcf-muted);
    font-size: 13px;
    font-weight: 800;
}

.wcf-member-stat-card strong {
    display: block;
    margin: 6px 0 2px;
    color: var(--wcf-navy);
    font-size: 34px;
    line-height: 1;
}

.wcf-member-stat-card p {
    margin: 0;
    color: var(--wcf-muted);
    font-size: 13px;
}

.wcf-member-activity-list {
    display: grid;
    gap: 12px;
}

.wcf-member-mini-card {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 14px;
    align-items: center;
    padding: 16px;
}

.wcf-member-mini-icon {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 14px;
    background: #f7f0df;
    font-size: 22px;
}

.wcf-member-mini-card span,
.wcf-member-mini-card em {
    display: block;
    color: var(--wcf-muted);
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
}

.wcf-member-mini-card strong {
    display: block;
    color: var(--wcf-navy);
    font-size: 16px;
}

.wcf-member-mini-card a {
    color: var(--wcf-navy);
    font-weight: 900;
    text-decoration: none;
    white-space: nowrap;
}

.wcf-member-results-list .wcf-dashboard-row {
    box-shadow: 0 12px 30px rgba(18,35,52,0.06);
}

.wcf-member-account-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.wcf-member-account-card {
    padding: 20px;
}

@media (max-width: 860px) {
    .wcf-member-hero-card {
        align-items: flex-start;
        flex-direction: column;
    }

    .wcf-member-hero-actions {
        justify-content: flex-start;
    }

    .wcf-member-progress-grid,
    .wcf-member-account-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .wcf-member-hero {
        padding-top: 20px;
    }

    .wcf-member-hero-card {
        padding: 22px;
        border-radius: 22px;
    }

    .wcf-member-dashboard-v2 main.wcf-portal-section {
        padding-top: 52px;
    }

    .wcf-member-section-head {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .wcf-member-feature-card,
    .wcf-member-empty-card {
        flex-direction: column;
        padding: 20px;
    }

    .wcf-member-feature-icon {
        width: 52px;
        height: 52px;
        flex-basis: 52px;
    }

    .wcf-member-feature-actions .wcf-portal-btn,
    .wcf-member-feature-actions .wcf-portal-btn-secondary {
        width: 100%;
        justify-content: center;
        text-align: center;
    }

    .wcf-member-mini-card {
        grid-template-columns: auto 1fr;
    }

    .wcf-member-mini-card a {
        grid-column: 1 / -1;
        display: inline-flex;
        justify-content: center;
        border-radius: 12px;
        padding: 10px 12px;
        background: var(--wcf-navy);
        color: #ffffff;
    }
}

/* =========================================================
   QUIZ PAGE — CLEAN FINAL LAYOUT
   Replaces Pass 5B / 5C toolbar and submit overrides
   ========================================================= */

/* Main quiz layout */
.wcf-portal-questionnaire,
.wcf-portal-questionnaire .wcf-portal-section,
.wcf-portal-questionnaire .wcf-portal-wrap,
.wcf-portal-questionnaire .wcf-portal-narrow,
.wcf-portal-questionnaire .wcf-portal-form-box {
    overflow: visible !important;
}

.wcf-portal-questionnaire .wcf-portal-hero {
    position: relative;
    top: auto;
    z-index: 1;
}

.wcf-portal-questionnaire .wcf-portal-narrow {
    max-width: 1040px;
}

.wcf-portal-form-box.wcf-quiz-form {
    padding: 28px;
}

/* Quiz toolbar */
.wcf-quiz-toolbar {
    position: sticky;
    top: 96px;
    z-index: 999;
    display: flex;
    align-items: center;
    gap: 14px;
    max-width: 1040px;
    margin: 0 auto 20px;
    padding: 10px 14px;
    background: rgba(255,255,255,.98);
    border: 1px solid rgba(226,232,240,.95);
    border-radius: 0 0 18px 18px;
    box-shadow: 0 10px 24px rgba(18,35,52,.08);
    backdrop-filter: blur(10px);
}

body.admin-bar .wcf-quiz-toolbar {
    top: 128px;
}

/* Language toggle */
.wcf-quiz-toolbar .wcf-language-toggle {
    flex: 0 0 auto;
    display: inline-flex;
    gap: 4px;
    margin: 0;
    padding: 4px;
    border-radius: 999px;
    background: #eef2f7;
}

.wcf-quiz-toolbar .wcf-language-toggle a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 74px;
    padding: 8px 12px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
    color: #425466;
    text-decoration: none;
}

.wcf-quiz-toolbar .wcf-language-toggle a.is-active {
    background: var(--wcf-navy-2);
    color: #fff;
}

/* Progress strip */
.wcf-quiz-progress-card {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    background: #fff;
    color: var(--wcf-navy);
}

.wcf-quiz-progress-card > div:first-child {
    display: flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}

.wcf-quiz-progress-label {
    display: inline;
    margin: 0;
    color: #64748b;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.wcf-quiz-progress-card strong {
    display: inline;
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    white-space: nowrap;
}

.wcf-quiz-progress-bar {
    flex: 0 1 150px;
    width: 150px;
    height: 7px;
    margin: 0;
    overflow: hidden;
    border-radius: 999px;
    background: #e9eef5;
}

.wcf-quiz-progress-bar span {
    display: block;
    width: 0%;
    height: 100%;
    border-radius: inherit;
    background: var(--wcf-navy);
    transition: width .18s ease;
}

.wcf-quiz-save-status,
.wcf-quiz-time-spent {
    display: inline-flex;
    align-items: center;
    margin: 0;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    white-space: nowrap;
}

.wcf-quiz-save-status.is-saving {
    color: #92400e;
}

.wcf-quiz-save-status.is-saved {
    color: #166534;
}

.wcf-quiz-save-status.is-error {
    color: #991b1b;
}

.wcf-quiz-time-spent {
    gap: 4px;
    color: #64748b;
}

.wcf-quiz-time-spent::before {
    content: '⏱';
    font-size: 13px;
}

/* Question cards */
.wcf-question-card {
    padding: 24px;
    margin-bottom: 18px;
    border-radius: 18px;
    box-shadow: 0 8px 22px rgba(18,35,52,.06);
}

.wcf-question-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.wcf-question-header .wcf-question-number {
    margin-bottom: 0;
}


.wcf-question-title {
    font-size: 18px;
    line-height: 1.45;
}

.wcf-option-row {
    padding: 14px 16px;
    border-radius: 14px;
}

.wcf-option-row.is-selected {
    border-color: var(--wcf-navy);
    background: #f0eef9;
    box-shadow: inset 0 0 0 1px rgba(11,29,58,.12);
}

.wcf-option-row.is-selected .wcf-option-letter {
    background: var(--wcf-navy);
    color: #fff;
}

/* Validation */
.wcf-quiz-inline-error {
    margin: 12px 0 16px;
    padding: 12px 14px;
    border: 1px solid #fecaca;
    border-radius: 14px;
    background: #fff1f2;
    color: #991b1b;
    font-weight: 800;
}

.wcf-question-error {
    margin: -4px 0 12px;
    padding: 10px 12px;
    border-radius: 12px;
    background: #fef2f2;
    color: #991b1b;
    font-size: 13px;
    font-weight: 700;
}

.wcf-question-card.is-missing {
    border-color: #ef4444;
    box-shadow: 0 0 0 3px rgba(239,68,68,.08), 0 10px 28px rgba(18,35,52,.08);
}

/* Submit panel */
.wcf-quiz-submit-panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 24px;
    padding: 18px 20px;
    border: 1px solid var(--wcf-border);
    border-radius: 18px;
    background: #f8fafc;
    box-shadow: 0 10px 24px rgba(18,35,52,.06);
}

.wcf-quiz-submit-summary {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    min-width: 0;
    color: #64748b;
}

.wcf-quiz-submit-summary strong,
.wcf-quiz-submit-save,
.wcf-quiz-submit-summary span {
    margin: 0;
    line-height: 1.3;
}

.wcf-quiz-submit-summary strong {
    color: var(--wcf-navy);
    font-size: 16px;
    white-space: nowrap;
}

.wcf-quiz-submit-save {
    color: #15803d;
    font-weight: 800;
    white-space: nowrap;
}

.wcf-quiz-submit-panel .wcf-portal-submit {
    flex: 0 0 auto;
    width: auto;
    min-width: 210px;
    margin: 0;
    padding: 14px 22px;
}

/* Tablet/mobile */
@media (max-width: 760px) {
    html,
    body {
        overflow-x: clip;
    }

    .wcf-public-nav {
        position: sticky;
        top: 0;
        z-index: 1001;
    }

    .wcf-nav-inner {
        min-height: 64px;
        padding: 0 14px;
    }

    .wcf-nav-logo-img {
        width: 48px;
    }

    .wcf-nav-links {
        display: none !important;
    }

    .wcf-nav-ham {
        display: flex !important;
    }

    .wcf-portal-questionnaire .wcf-portal-hero,
    .wcf-portal-questionnaire-hero {
        position: relative;
        top: auto;
        min-height: auto;
    }

    .wcf-portal-questionnaire .wcf-portal-hero-inner {
        padding: 22px 16px 24px;
    }

    .wcf-portal-questionnaire .wcf-breadcrumb {
        display: none;
    }

    .wcf-portal-questionnaire .wcf-portal-hero h1 {
        font-size: 24px;
        line-height: 1.18;
    }

    .wcf-portal-questionnaire .wcf-portal-hero p,
    .wcf-portal-questionnaire .wcf-passage-ref {
        font-size: 14px;
        line-height: 1.45;
    }

    .wcf-portal-questionnaire .wcf-portal-section {
        padding: 16px 0 34px;
    }

    .wcf-portal-questionnaire .wcf-portal-wrap,
    .wcf-portal-questionnaire .wcf-portal-narrow {
        width: 100%;
        max-width: none;
        padding-right: 10px;
        padding-left: 10px;
        box-sizing: border-box;
    }

    .wcf-portal-form-box.wcf-quiz-form {
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    .wcf-quiz-toolbar {
        top: 64px;
        gap: 8px;
        margin: 0 -10px 14px;
        padding: 7px 8px;
        border-radius: 0 0 14px 14px;
    }

    body.admin-bar .wcf-quiz-toolbar {
        top: 110px;
    }

    .wcf-quiz-toolbar .wcf-language-toggle {
        flex: 0 0 auto;
        padding: 3px;
    }

    .wcf-quiz-toolbar .wcf-language-toggle a {
        min-width: 54px;
        padding: 8px 9px;
        font-size: 12px;
    }

    .wcf-quiz-progress-card {
        flex: 1 1 auto;
        min-width: 0;
        gap: 7px;
        padding: 7px 8px;
    }

    .wcf-quiz-progress-label,
    .wcf-quiz-save-status,
    .wcf-quiz-time-spent {
        display: none;
    }

    .wcf-quiz-progress-card > div:first-child {
        min-width: 78px;
    }

    .wcf-quiz-progress-card strong {
        font-size: 12px;
    }

    .wcf-quiz-progress-bar {
        flex: 1 1 auto;
        width: auto;
        min-width: 45px;
    }

    .wcf-question-card {
        padding: 18px 14px 16px;
        margin-bottom: 14px;
        border-radius: 16px;
    }

    .wcf-question-header {
        align-items: flex-start;
    }

    .wcf-question-title {
        font-size: 17px;
        line-height: 1.45;
    }

    .wcf-options-list {
        gap: 10px;
    }

    .wcf-option-row {
        align-items: flex-start;
        min-height: 58px;
        padding: 14px 12px;
        border-radius: 14px;
        background: #ffffff;
    }

    .wcf-option-letter {
        width: 34px;
        height: 34px;
        min-width: 34px;
        border-radius: 10px;
        font-size: 14px;
    }

    .wcf-option-text {
        flex: 1;
        min-width: 0;
        font-size: 16px;
        line-height: 1.45;
        overflow-wrap: anywhere;
    }

    .wcf-quiz-submit-panel {
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 16px;
    }

    .wcf-quiz-submit-summary {
        display: grid;
        grid-template-columns: 1fr;
        gap: 5px;
    }

    .wcf-quiz-submit-panel .wcf-portal-submit {
        width: 100%;
        min-width: 0;
        padding: 15px 16px;
        border-radius: 14px;
        font-size: 16px;
    }
}

@media (max-width: 420px) {
    .wcf-quiz-toolbar {
        gap: 6px;
        padding: 6px 7px;
    }

    .wcf-quiz-toolbar .wcf-language-toggle a {
        min-width: 50px;
        padding: 8px 7px;
        font-size: 12px;
    }

    .wcf-quiz-progress-card {
        gap: 6px;
        padding: 7px;
    }

    .wcf-quiz-progress-card > div:first-child {
        min-width: 72px;
    }

    .wcf-quiz-progress-card strong {
        font-size: 11px;
    }

    .wcf-question-title {
        font-size: 16px;
    }

    .wcf-option-text {
        font-size: 15px;
    }
}

/* Final bottom submit card: accessible text comes from questionnaire.php */
.wcf-portal-questionnaire .wcf-quiz-submit-summary {
    display: grid !important;
    gap: 3px !important;
}

.wcf-portal-questionnaire .wcf-quiz-submit-title {
    display: block !important;
    color: var(--wcf-navy) !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
}

.wcf-portal-questionnaire .wcf-quiz-submit-progress,
.wcf-portal-questionnaire .wcf-quiz-submit-save,
.wcf-portal-questionnaire .wcf-quiz-submit-help {
    display: none !important;
}

.wcf-portal-questionnaire .wcf-quiz-submit-panel {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
}

@media (max-width: 760px) {
    .wcf-portal-questionnaire .wcf-quiz-submit-panel {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        text-align: center !important;
        justify-items: center !important;
        align-items: center !important;
    }

    .wcf-portal-questionnaire .wcf-quiz-submit-title {
        text-align: center !important;
    }

    .wcf-portal-questionnaire .wcf-quiz-submit-panel .wcf-portal-submit {
        max-width: 320px !important;
        margin: 0 auto !important;
    }
}

/* Final: keep quiz toolbar sticky while scrolling */
.wcf-portal-questionnaire .wcf-quiz-toolbar {
    position: sticky !important;
    top: 96px !important;
    z-index: 1000 !important;
}

body.admin-bar .wcf-portal-questionnaire .wcf-quiz-toolbar {
    top: 128px !important;
}

@media (max-width: 760px) {
    .wcf-portal-questionnaire .wcf-quiz-toolbar {
        position: sticky !important;
        top: 64px !important;
        z-index: 1000 !important;
    }

    body.admin-bar .wcf-portal-questionnaire .wcf-quiz-toolbar {
        top: 110px !important;
    }
}

/* Final quiz width and question layout cleanup */

/* Keep the quiz readable on desktop, not too wide */
.wcf-portal-questionnaire .wcf-portal-narrow {
    max-width: 980px !important;
}

/* Keep the form/card within the same frame */
.wcf-portal-questionnaire .wcf-quiz-form {
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Question cards should fill the quiz frame cleanly */
.wcf-portal-questionnaire .wcf-question-card {
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Option rows should fill card width and wrap text naturally */
.wcf-portal-questionnaire .wcf-option-row {
    width: 100% !important;
    box-sizing: border-box !important;
}

.wcf-portal-questionnaire .wcf-option-text {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
}

/* Desktop: comfortable but not too huge */
@media (min-width: 761px) {
    .wcf-portal-questionnaire .wcf-portal-section {
        padding-top: 30px !important;
    }

    .wcf-portal-questionnaire .wcf-quiz-form {
        padding: 24px !important;
    }

    .wcf-portal-questionnaire .wcf-question-card {
        padding: 22px !important;
        margin-bottom: 18px !important;
    }

    .wcf-portal-questionnaire .wcf-option-row {
        min-height: 54px !important;
        padding: 13px 16px !important;
    }
}

/* Mobile: use screen width efficiently */
@media (max-width: 760px) {
    .wcf-portal-questionnaire .wcf-portal-wrap,
    .wcf-portal-questionnaire .wcf-portal-narrow {
        width: 100% !important;
        max-width: none !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
        box-sizing: border-box !important;
    }

    .wcf-portal-questionnaire .wcf-quiz-form {
        padding: 0 !important;
    }

    .wcf-portal-questionnaire .wcf-question-card {
        padding: 16px 14px 14px !important;
        margin-bottom: 12px !important;
        border-radius: 16px !important;
    }

    .wcf-portal-questionnaire .wcf-question-title {
        font-size: 16px !important;
        line-height: 1.45 !important;
        margin-bottom: 12px !important;
    }

    .wcf-portal-questionnaire .wcf-options-list {
        gap: 8px !important;
    }

    .wcf-portal-questionnaire .wcf-option-row {
        min-height: 52px !important;
        padding: 12px !important;
        border-radius: 14px !important;
    }

    .wcf-portal-questionnaire .wcf-option-letter {
        width: 32px !important;
        height: 32px !important;
        min-width: 32px !important;
    }

    .wcf-portal-questionnaire .wcf-option-text {
        font-size: 15px !important;
        line-height: 1.45 !important;
    }
}

/* Final shared quiz/result width and typography cleanup */

/* Same readable frame for quiz and result pages */
.wcf-portal-questionnaire .wcf-portal-narrow,
.wcf-portal-thank-you .wcf-portal-narrow {
    max-width: 980px !important;
}

/* Keep result card width aligned with question card width */
.wcf-portal-thank-you .wcf-portal-form-box,
.wcf-portal-thank-you .wcf-score-reveal,
.wcf-portal-thank-you .wcf-result-card,
.wcf-portal-questionnaire .wcf-question-card {
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Desktop readability */
@media (min-width: 761px) {
    .wcf-portal-questionnaire .wcf-question-title,
    .wcf-portal-thank-you .wcf-result-qtext {
        font-size: 18px !important;
        line-height: 1.5 !important;
    }

    .wcf-portal-questionnaire .wcf-option-text,
    .wcf-portal-thank-you .wcf-opt-text {
        font-size: 15px !important;
        line-height: 1.45 !important;
    }

    .wcf-portal-thank-you .wcf-result-card {
        padding: 22px !important;
        border-radius: 18px !important;
        margin-bottom: 18px !important;
    }

    .wcf-portal-thank-you .wcf-result-opt {
        padding: 13px 16px !important;
        border-radius: 12px !important;
        min-height: 48px !important;
    }

    .wcf-portal-questionnaire .wcf-question-card {
        padding: 22px !important;
        border-radius: 18px !important;
    }

    .wcf-portal-questionnaire .wcf-option-row {
        padding: 13px 16px !important;
        min-height: 52px !important;
    }
}

/* Make explanation box align better with answers */
.wcf-portal-thank-you .wcf-result-explanation {
    margin-top: 12px !important;
    padding: 12px 14px !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
}

/* Mobile stays compact and readable */
@media (max-width: 760px) {
    .wcf-portal-questionnaire .wcf-portal-wrap,
    .wcf-portal-questionnaire .wcf-portal-narrow,
    .wcf-portal-thank-you .wcf-portal-wrap,
    .wcf-portal-thank-you .wcf-portal-narrow {
        max-width: none !important;
        width: 100% !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
        box-sizing: border-box !important;
    }

    .wcf-portal-thank-you .wcf-result-card {
        padding: 16px 14px !important;
        border-radius: 16px !important;
    }

    .wcf-portal-thank-you .wcf-result-opt {
        padding: 11px 12px !important;
        border-radius: 12px !important;
    }

    .wcf-portal-thank-you .wcf-result-qtext {
        font-size: 16px !important;
        line-height: 1.45 !important;
    }

    .wcf-portal-thank-you .wcf-opt-text {
        font-size: 15px !important;
        line-height: 1.45 !important;
    }

    .wcf-portal-thank-you .wcf-result-explanation {
        font-size: 13px !important;
    }
}
/* =========================================================
   PASS 5D — Result page cleanup
   Clearer score summary, answer review cards and actions
   ========================================================= */
.wcf-portal-thank-you .wcf-portal-hero {
    position: relative !important;
    top: auto !important;
}

.wcf-portal-thank-you .wcf-portal-narrow {
    max-width: 980px !important;
}

.wcf-result-summary-card {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 22px;
    align-items: center;
    margin-bottom: 28px;
    padding: 24px;
    border-radius: 24px;
    border: 1px solid rgba(18,35,52,0.08);
    box-shadow: 0 16px 44px rgba(18,35,52,0.08);
}

.wcf-result-summary-main h2 {
    margin: 10px 0 8px;
    color: var(--wcf-navy);
    font-size: clamp(24px, 3vw, 34px);
    line-height: 1.12;
}

.wcf-result-type-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 11px;
    border-radius: 999px;
    background: rgba(255,255,255,0.72);
    color: #4b3b13;
    font-size: 13px;
    font-weight: 900;
}

.wcf-result-passage {
    margin: 0;
    color: #475569;
    font-weight: 800;
}

.wcf-result-score-box {
    min-width: 190px;
    padding: 18px;
    border-radius: 20px;
    background: rgba(255,255,255,0.72);
    text-align: center;
}

.wcf-results-heading {
    margin: 6px 0 16px !important;
    font-size: 24px !important;
    color: var(--wcf-navy) !important;
}

.wcf-result-card {
    border-radius: 18px !important;
    padding: 22px !important;
    margin-bottom: 18px !important;
    box-shadow: 0 10px 28px rgba(18,35,52,.06);
}

.wcf-result-qnum {
    justify-content: flex-start;
    margin-bottom: 12px !important;
}

.wcf-result-status-text {
    display: inline-flex;
    align-items: center;
    padding: 3px 8px;
    border-radius: 999px;
    background: #eef2f7;
    color: #334155;
    font-size: 11px;
    letter-spacing: 0;
    text-transform: none;
}

.wcf-result-correct .wcf-result-status-text {
    background: #dcfce7;
    color: #166534;
}

.wcf-result-wrong .wcf-result-status-text {
    background: #fee2e2;
    color: #991b1b;
}

.wcf-result-qtext {
    font-size: 18px !important;
    line-height: 1.5 !important;
    margin-bottom: 14px !important;
}

.wcf-result-options {
    gap: 8px !important;
}

.wcf-result-opt {
    min-height: 50px;
    padding: 13px 16px !important;
    border-radius: 13px !important;
}

.wcf-opt-letter {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    min-width: 28px;
    border-radius: 9px;
    background: rgba(15,23,42,0.07);
}

.wcf-result-explanation {
    display: grid;
    gap: 5px;
    margin-top: 14px !important;
    padding: 13px 15px !important;
    border-left: 4px solid var(--wcf-gold) !important;
    border-radius: 0 12px 12px 0 !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
}

.wcf-result-explanation strong {
    color: var(--wcf-navy);
    font-size: 13px;
}

.wcf-thank-actions {
    align-items: center;
    justify-content: center;
    margin-top: 28px !important;
}

.wcf-portal-thank-card .wcf-portal-thank-icon {
    color: var(--wcf-navy);
}

@media (max-width: 760px) {
    .wcf-result-summary-card {
        grid-template-columns: 1fr;
        gap: 16px;
        padding: 20px;
        border-radius: 20px;
    }

    .wcf-result-score-box {
        min-width: 0;
        width: 100%;
        box-sizing: border-box;
    }

    .wcf-results-heading {
        font-size: 22px !important;
    }

    .wcf-result-card {
        padding: 16px 14px !important;
        border-radius: 16px !important;
    }

    .wcf-result-qtext {
        font-size: 16px !important;
        line-height: 1.45 !important;
    }

    .wcf-result-opt {
        align-items: flex-start;
        padding: 11px 12px !important;
        border-radius: 12px !important;
    }

    .wcf-opt-text {
        font-size: 15px !important;
        line-height: 1.45 !important;
    }

    .wcf-opt-tag {
        font-size: 9px;
        white-space: normal;
        text-align: center;
    }

    .wcf-result-explanation {
        font-size: 13px !important;
    }

    .wcf-thank-actions {
        display: grid !important;
        grid-template-columns: 1fr;
    }

    .wcf-thank-actions .wcf-portal-btn {
        width: 100%;
        box-sizing: border-box;
    }
}

/* Pass 5D.2 — Member dashboard simplification and list pages */

.wcf-member-dashboard-v2 main.wcf-portal-section {
    padding-top: 34px;
}

.wcf-member-hero:not(.wcf-member-hero-simple) {
    padding-bottom: 28px;
}

.wcf-member-progress-grid-compact {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.wcf-member-stat-card-link {
    display: block;
    color: inherit;
    text-decoration: none;
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.wcf-member-stat-card-link:hover {
    transform: translateY(-1px);
    border-color: rgba(201,168,76,.38);
    box-shadow: 0 16px 36px rgba(18,35,52,0.10);
}

.wcf-member-stat-card.is-disabled {
    opacity: .82;
}

.wcf-member-list-page .wcf-member-hero {
    padding-bottom: 30px;
}

.wcf-member-list-page .wcf-member-hero-card {
    margin-bottom: 0;
}

.wcf-member-list-cards {
    gap: 14px;
}

.wcf-member-list-card {
    grid-template-columns: auto 1fr auto;
}

.wcf-member-list-card em + em {
    margin-top: 2px;
}

@media (max-width: 760px) {
    .wcf-member-dashboard-v2 main.wcf-portal-section {
        padding-top: 28px;
    }

    .wcf-member-hero:not(.wcf-member-hero-simple) {
        padding-bottom: 24px;
    }

    .wcf-member-progress-grid-compact {
        grid-template-columns: 1fr;
    }

    .wcf-member-list-card {
        grid-template-columns: auto 1fr;
    }

    .wcf-member-list-card a {
        grid-column: 1 / -1;
        display: inline-flex;
        justify-content: center;
        border-radius: 12px;
        padding: 10px 12px;
        background: var(--wcf-navy);
        color: #ffffff;
    }
}


/* PASS 5D.3 — Member dashboard/result visual consistency cleanup */
.wcf-member-dashboard-v2 .wcf-member-hero {
    padding: 24px 0 22px;
    background: linear-gradient(135deg, #08162f, #0b1d3a, #12305f);
}

.wcf-member-dashboard-v2 .wcf-member-hero-card {
    margin-top: 16px;
    padding: 24px 26px;
    border-radius: 24px;
}

.wcf-member-dashboard-v2 .wcf-member-hero-card h1 {
    font-size: clamp(30px, 4vw, 42px);
    letter-spacing: -0.03em;
}

.wcf-member-dashboard-v2 .wcf-member-hero-card p {
    font-size: 16px;
}

.wcf-member-list-page .wcf-member-hero,
.wcf-member-result-page .wcf-member-hero {
    padding-bottom: 28px;
}

.wcf-member-result-page .wcf-portal-section,
.wcf-member-list-page .wcf-portal-section {
    padding-top: 30px;
}

.wcf-member-results-list .wcf-dashboard-row {
    align-items: center;
}

.wcf-member-results-list .wcf-dashboard-row strong,
.wcf-member-list-card strong,
.wcf-member-feature-card h3,
.wcf-member-account-card h3 {
    letter-spacing: -0.02em;
}

.wcf-member-result-type,
.wcf-member-type-badge {
    color: var(--wcf-navy);
    background: #eef2ff;
}

.wcf-member-status-badge {
    color: #274060;
    background: #eaf2ff;
}

.wcf-member-dashboard-v2 .wcf-portal-btn,
.wcf-member-dashboard-v2 .wcf-member-mini-card a,
.wcf-portal-thank-you .wcf-portal-btn {
    background: var(--wcf-navy);
    color: #ffffff;
}

.wcf-member-dashboard-v2 .wcf-portal-btn:hover,
.wcf-member-dashboard-v2 .wcf-member-mini-card a:hover,
.wcf-portal-thank-you .wcf-portal-btn:hover {
    background: #252c54;
    color: #ffffff;
}

.wcf-member-dashboard-v2 .wcf-portal-btn-secondary,
.wcf-portal-thank-you .wcf-portal-btn-secondary,
.wcf-portal-thank-you .wcf-btn-outline {
    background: #eef2ff;
    color: var(--wcf-navy);
    border: 1px solid #d8e0f2;
}

.wcf-member-dashboard-v2 .wcf-portal-btn-secondary:hover,
.wcf-portal-thank-you .wcf-portal-btn-secondary:hover,
.wcf-portal-thank-you .wcf-btn-outline:hover {
    background: #e0e7ff;
    color: var(--wcf-navy);
}

.wcf-result-summary-card,
.wcf-score-high,
.wcf-score-mid,
.wcf-score-low {
    background: linear-gradient(135deg, #f8fbff, #eef4ff) !important;
    border-color: #d8e0f2 !important;
}

.wcf-result-type-pill,
.wcf-result-score-box {
    background: #ffffff !important;
    color: var(--wcf-navy) !important;
}

.wcf-result-score-box .wcf-score-big,
.wcf-result-score-box .wcf-score-pct {
    color: var(--wcf-navy) !important;
}

.wcf-opt-correct {
    background: #EAF3DE !important;
    color: #27500A !important;
}

.wcf-opt-wrong {
    background: #FCEBEB !important;
    color: #A32D2D !important;
}

@media (max-width: 760px) {
    .wcf-member-dashboard-v2 .wcf-member-hero {
        padding: 14px 0 18px;
    }

    .wcf-member-dashboard-v2 .wcf-breadcrumb {
        margin-bottom: 10px;
    }

    .wcf-member-dashboard-v2 .wcf-member-hero-card {
        margin-top: 10px;
        padding: 18px 20px;
        border-radius: 22px;
        gap: 14px;
    }

    .wcf-member-dashboard-v2 .wcf-member-hero-card h1 {
        font-size: 28px;
        line-height: 1.1;
        margin-bottom: 8px;
    }

    .wcf-member-dashboard-v2 .wcf-member-hero-card p {
        font-size: 15px;
        line-height: 1.45;
    }

    .wcf-member-result-page .wcf-member-hero,
    .wcf-member-list-page .wcf-member-hero {
        padding-bottom: 18px;
    }

    .wcf-member-result-page .wcf-member-hero-actions,
    .wcf-member-list-page .wcf-member-hero-actions {
        width: 100%;
    }

    .wcf-member-result-page .wcf-member-hero-actions .wcf-portal-btn,
    .wcf-member-list-page .wcf-member-hero-actions .wcf-portal-btn {
        width: 100%;
    }

    .wcf-member-dashboard-v2 main.wcf-portal-section,
    .wcf-member-result-page .wcf-portal-section,
    .wcf-member-list-page .wcf-portal-section {
        padding-top: 24px;
    }

    .wcf-member-results-list .wcf-dashboard-row {
        gap: 12px;
    }
}

/* PASS 5D.4 — member visual consistency and sticky quiz hero */
:root {
    --wcf-blue-soft: #eef4ff;
    --wcf-blue-border: #d8e4f7;
    --wcf-blue-muted: #274060;
}

/* Fix list-page action buttons so they do not overflow or inherit odd sizing. */
.wcf-member-list-card > a,
.wcf-member-results-list .wcf-dashboard-row a.wcf-portal-card-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 118px !important;
    max-width: 180px !important;
    padding: 10px 14px !important;
    border-radius: 12px !important;
    background: var(--wcf-navy) !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

.wcf-member-list-card > a:hover,
.wcf-member-results-list .wcf-dashboard-row a.wcf-portal-card-link:hover {
    background: #252c54 !important;
    color: #ffffff !important;
}

/* Align list cards with the blue member theme. */
.wcf-member-list-card,
.wcf-member-results-list .wcf-dashboard-row {
    border-color: var(--wcf-blue-border) !important;
    background: #ffffff !important;
}

.wcf-member-list-card .wcf-member-mini-icon,
.wcf-member-results-list .wcf-member-result-type,
.wcf-member-type-badge {
    background: var(--wcf-blue-soft) !important;
    color: var(--wcf-navy) !important;
}

/* Quiz page hero should use the same navy/blue family as member pages. */
.wcf-portal-questionnaire .wcf-portal-hero {
    background: linear-gradient(135deg, #08162f, #0b1d3a, #12305f) !important;
}

@media (min-width: 761px) {
    .wcf-portal-questionnaire .wcf-portal-hero {
        position: sticky !important;
        top: 96px !important;
        z-index: 998 !important;
        min-height: 190px !important;
        border-bottom: 1px solid rgba(255,255,255,0.08) !important;
    }

    body.admin-bar .wcf-portal-questionnaire .wcf-portal-hero {
        top: 128px !important;
    }

    .wcf-portal-questionnaire .wcf-portal-section {
        padding-top: 28px !important;
    }
}

/* Keep mobile hero compact; the quiz toolbar remains the always-visible control. */
@media (max-width: 760px) {
    .wcf-portal-questionnaire .wcf-portal-hero {
        position: relative !important;
        top: auto !important;
        min-height: auto !important;
    }

    .wcf-portal-questionnaire .wcf-portal-hero-inner {
        padding-top: 18px !important;
        padding-bottom: 18px !important;
    }

    .wcf-portal-questionnaire .wcf-portal-kicker,
    .wcf-member-dashboard-v2 .wcf-portal-kicker {
        font-size: 11px !important;
    }

    .wcf-portal-questionnaire .wcf-portal-hero h1 {
        font-size: 23px !important;
        margin-bottom: 6px !important;
    }

    .wcf-portal-questionnaire .wcf-portal-hero p,
    .wcf-portal-questionnaire .wcf-passage-ref {
        font-size: 14px !important;
    }
}

/* Keep neutral result cards blue/white; use green/red only for state markers and answer rows. */
.wcf-result-card {
    background: #ffffff !important;
    border-color: var(--wcf-blue-border) !important;
}

.wcf-result-card.wcf-result-correct {
    border-left: 5px solid #5fa51c !important;
}

.wcf-result-card.wcf-result-wrong {
    border-left: 5px solid #d44b4b !important;
}

.wcf-result-qnum {
    color: var(--wcf-blue-muted) !important;
}

.wcf-result-correct .wcf-result-icon,
.wcf-result-correct .wcf-result-status-text,
.wcf-tag-correct {
    background: #e4f4d4 !important;
    color: #27500A !important;
}

.wcf-result-wrong .wcf-result-icon,
.wcf-result-wrong .wcf-result-status-text,
.wcf-tag-wrong {
    background: #fde2e2 !important;
    color: #A32D2D !important;
}

.wcf-result-icon {
    color: inherit !important;
}

.wcf-result-explanation {
    background: var(--wcf-blue-soft) !important;
    border-left-color: var(--wcf-navy) !important;
    color: var(--wcf-blue-muted) !important;
}

/* Quiz selected answer remains navy/blue; correctness remains green/red only on result page. */
.wcf-portal-questionnaire .wcf-option-row.is-selected {
    border-color: var(--wcf-navy) !important;
    background: #f1f4ff !important;
}

@media (max-width: 760px) {
    .wcf-member-list-card > a,
    .wcf-member-results-list .wcf-dashboard-row a.wcf-portal-card-link {
        max-width: none !important;
        width: 100% !important;
    }
}

/* Quiz hero dashboard action alignment */
.wcf-quiz-hero-actions {
    margin-top: 18px !important;
}

.wcf-quiz-hero-actions .wcf-portal-btn-secondary {
    background: rgba(255,255,255,.16) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255,255,255,.28) !important;
}

.wcf-quiz-hero-actions .wcf-portal-btn-secondary:hover {
    background: rgba(255,255,255,.24) !important;
    color: #ffffff !important;
}

@media (max-width: 760px) {
    .wcf-quiz-hero-actions {
        margin-top: 12px !important;
    }

    .wcf-quiz-hero-actions .wcf-portal-btn {
        padding: 9px 14px !important;
        font-size: 13px !important;
    }
}

/* PASS 5D.5 — Member hero/header framework cleanup */
:root {
    --wcf-member-hero-top-desktop: 96px;
    --wcf-member-hero-top-mobile: 64px;
}

/* One consistent member hero family for dashboard, list and result pages. */
.wcf-member-dashboard-v2 .wcf-member-hero {
    background: linear-gradient(135deg, #08162f, #0b1d3a, #12305f) !important;
}

@media (min-width: 761px) {
    .wcf-member-dashboard-v2 .wcf-member-hero,
    .wcf-member-list-page .wcf-member-hero,
    .wcf-member-result-page .wcf-member-hero {
        position: sticky !important;
        top: var(--wcf-member-hero-top-desktop) !important;
        z-index: 990 !important;
        padding: 22px 0 22px !important;
        box-shadow: 0 16px 34px rgba(8, 22, 47, 0.16) !important;
    }

    body.admin-bar .wcf-member-dashboard-v2 .wcf-member-hero,
    body.admin-bar .wcf-member-list-page .wcf-member-hero,
    body.admin-bar .wcf-member-result-page .wcf-member-hero {
        top: 128px !important;
    }

    .wcf-member-dashboard-v2 .wcf-member-hero-card,
    .wcf-member-list-page .wcf-member-hero-card,
    .wcf-member-result-page .wcf-member-hero-card {
        margin-top: 12px !important;
        padding: 22px 26px !important;
        min-height: 112px !important;
        border-radius: 22px !important;
        background: rgba(255,255,255,0.11) !important;
        border: 1px solid rgba(255,255,255,0.18) !important;
    }

    .wcf-member-dashboard-v2 .wcf-member-hero-card h1,
    .wcf-member-list-page .wcf-member-hero-card h1,
    .wcf-member-result-page .wcf-member-hero-card h1 {
        margin-bottom: 8px !important;
        font-size: clamp(30px, 3vw, 42px) !important;
        line-height: 1.08 !important;
    }

    .wcf-member-dashboard-v2 .wcf-member-hero-card p,
    .wcf-member-list-page .wcf-member-hero-card p,
    .wcf-member-result-page .wcf-member-hero-card p {
        font-size: 16px !important;
        line-height: 1.45 !important;
    }

    .wcf-member-dashboard-v2 main.wcf-portal-section,
    .wcf-member-list-page main.wcf-portal-section,
    .wcf-member-result-page .wcf-portal-section {
        padding-top: 34px !important;
    }
}

/* Mobile: hero is compact and scrolls away; main action/navigation is through dashboard cards. */
@media (max-width: 760px) {
    .wcf-member-dashboard-v2 .wcf-member-hero,
    .wcf-member-list-page .wcf-member-hero,
    .wcf-member-result-page .wcf-member-hero {
        position: relative !important;
        top: auto !important;
        z-index: 1 !important;
        padding: 12px 0 16px !important;
        box-shadow: none !important;
    }

    .wcf-member-dashboard-v2 .wcf-member-hero-card,
    .wcf-member-list-page .wcf-member-hero-card,
    .wcf-member-result-page .wcf-member-hero-card {
        margin-top: 8px !important;
        padding: 16px 18px !important;
        border-radius: 20px !important;
        min-height: 0 !important;
    }

    .wcf-member-dashboard-v2 .wcf-member-hero-card h1,
    .wcf-member-list-page .wcf-member-hero-card h1,
    .wcf-member-result-page .wcf-member-hero-card h1 {
        font-size: 26px !important;
        line-height: 1.12 !important;
        margin-bottom: 8px !important;
    }

    .wcf-member-dashboard-v2 .wcf-member-hero-card p,
    .wcf-member-list-page .wcf-member-hero-card p,
    .wcf-member-result-page .wcf-member-hero-card p {
        font-size: 14px !important;
        line-height: 1.42 !important;
    }

    .wcf-member-list-page .wcf-member-hero-actions,
    .wcf-member-result-page .wcf-member-hero-actions {
        margin-top: 6px !important;
    }

    .wcf-member-dashboard-v2 main.wcf-portal-section,
    .wcf-member-list-page main.wcf-portal-section,
    .wcf-member-result-page .wcf-portal-section {
        padding-top: 22px !important;
    }
}

/* Quiz page keeps its own banner, but matches the member hero language. */
@media (min-width: 761px) {
    .wcf-portal-questionnaire .wcf-portal-hero {
        background: linear-gradient(135deg, #08162f, #0b1d3a, #12305f) !important;
        box-shadow: 0 14px 30px rgba(8, 22, 47, 0.14) !important;
    }
}

/* Make dashboard/back buttons consistent inside heroes. */
.wcf-member-hero-actions .wcf-portal-btn,
.wcf-quiz-hero-actions .wcf-portal-btn {
    white-space: nowrap !important;
}

/* PASS 5D.6 — Member hero/action consistency, result score in hero, activities alignment */

/* Activities list now uses the same member hero framework as dashboard/list/result pages. */
.wcf-member-activities-page .wcf-member-hero {
    background: linear-gradient(135deg, #08162f, #0b1d3a, #12305f) !important;
}

/* Result page: hero score is primary; summary remains as a CSS-fallback if hero class is missing. */
.wcf-member-result-page.has-hero-score .wcf-result-summary-card {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.wcf-member-hero-meta {
    margin-top: 8px !important;
    color: rgba(255,255,255,0.88) !important;
    font-weight: 800 !important;
}

.wcf-result-hero-actions {
    align-items: center !important;
    gap: 12px !important;
}

.wcf-result-hero-score {
    display: grid !important;
    place-items: center !important;
    min-width: 146px !important;
    padding: 14px 18px !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,0.96) !important;
    color: var(--wcf-navy) !important;
    box-shadow: 0 12px 30px rgba(8,22,47,0.18) !important;
}

.wcf-result-hero-score strong {
    display: block !important;
    color: var(--wcf-navy) !important;
    font-size: 34px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
}

.wcf-result-hero-score span {
    display: block !important;
    margin-top: 4px !important;
    color: var(--wcf-navy) !important;
    font-size: 18px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
}

.wcf-result-hero-score em {
    display: block !important;
    margin-top: 8px !important;
    color: #64748b !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-style: normal !important;
    font-weight: 700 !important;
}

/* Keep hero dashboard/back buttons consistent and not oversized. */
.wcf-member-hero-actions .wcf-portal-btn,
.wcf-quiz-hero-actions .wcf-portal-btn {
    min-width: 120px !important;
    padding: 12px 18px !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,0.16) !important;
    border: 1px solid rgba(255,255,255,0.28) !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 900 !important;
}

.wcf-member-hero-actions .wcf-portal-btn:hover,
.wcf-quiz-hero-actions .wcf-portal-btn:hover {
    background: rgba(255,255,255,0.24) !important;
    color: #ffffff !important;
}

/* Activity cards: align with the same blue/white card language and support many activities. */
.wcf-member-activities-page .wcf-portal-section {
    background: #f7f8fb !important;
}

.wcf-member-activities-page .wcf-study-group-head,
.wcf-member-activities-page .wcf-portal-card {
    border-color: var(--wcf-blue-border) !important;
    background: #ffffff !important;
    box-shadow: 0 12px 30px rgba(18,35,52,0.06) !important;
}

.wcf-member-activities-page .wcf-portal-card-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 128px !important;
    padding: 10px 14px !important;
    border-radius: 12px !important;
    background: var(--wcf-navy) !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
}

.wcf-member-activities-page .wcf-portal-card-link:hover {
    background: #252c54 !important;
    color: #ffffff !important;
}

.wcf-member-activities-page .wcf-portal-grid {
    align-items: stretch !important;
}

.wcf-member-activities-page .wcf-portal-card {
    display: flex !important;
    flex-direction: column !important;
}

.wcf-member-activities-page .wcf-portal-card .wcf-portal-card-link {
    margin-top: auto !important;
    align-self: flex-start !important;
}

/* Result review: neutral/blue page, green/red only for correctness state. */
.wcf-member-result-page .wcf-results-heading {
    color: var(--wcf-navy) !important;
}

.wcf-member-result-page .wcf-result-card {
    background: #ffffff !important;
    border-color: var(--wcf-blue-border) !important;
}

.wcf-member-result-page .wcf-result-correct {
    border-left-color: #5fa51c !important;
}

.wcf-member-result-page .wcf-result-wrong {
    border-left-color: #d44b4b !important;
}

/* Desktop heroes stay useful while scrolling; mobile heroes stay compact and scroll away. */
@media (min-width: 761px) {
    .wcf-member-activities-page .wcf-member-hero,
    .wcf-member-result-page .wcf-member-hero,
    .wcf-member-list-page .wcf-member-hero,
    .wcf-member-dashboard-v2 .wcf-member-hero {
        position: sticky !important;
        top: var(--wcf-member-hero-top-desktop) !important;
        z-index: 990 !important;
    }

    body.admin-bar .wcf-member-activities-page .wcf-member-hero,
    body.admin-bar .wcf-member-result-page .wcf-member-hero,
    body.admin-bar .wcf-member-list-page .wcf-member-hero,
    body.admin-bar .wcf-member-dashboard-v2 .wcf-member-hero {
        top: 128px !important;
    }

    .wcf-member-result-page .wcf-member-hero-card,
    .wcf-member-activities-page .wcf-member-hero-card {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 26px !important;
    }
}

@media (max-width: 760px) {
    .wcf-member-activities-page .wcf-member-hero,
    .wcf-member-result-page .wcf-member-hero,
    .wcf-member-list-page .wcf-member-hero,
    .wcf-member-dashboard-v2 .wcf-member-hero {
        position: relative !important;
        top: auto !important;
        padding: 10px 0 14px !important;
        box-shadow: none !important;
    }

    .wcf-result-hero-actions {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .wcf-result-hero-score {
        width: 100% !important;
        min-width: 0 !important;
        padding: 12px 14px !important;
        border-radius: 16px !important;
        box-shadow: none !important;
    }

    .wcf-result-hero-score strong {
        font-size: 30px !important;
    }

    .wcf-result-hero-score span {
        font-size: 17px !important;
    }

    .wcf-result-hero-score em {
        margin-top: 6px !important;
        font-size: 12px !important;
    }

    .wcf-member-hero-actions .wcf-portal-btn,
    .wcf-quiz-hero-actions .wcf-portal-btn {
        width: 100% !important;
        min-width: 0 !important;
        padding: 11px 14px !important;
        font-size: 13px !important;
    }

    .wcf-member-activities-page .wcf-portal-grid {
        grid-template-columns: 1fr !important;
    }

    .wcf-member-activities-page .wcf-portal-card-link {
        width: 100% !important;
    }

    .wcf-member-result-page .wcf-portal-section {
        padding-top: 18px !important;
    }

    .wcf-member-result-page .wcf-result-card {
        margin-bottom: 14px !important;
    }
}

/* PASS 5D.7 — Final hero/toolbar alignment and compact mobile content */

/* Desktop quiz toolbar belongs inside the quiz hero. The mobile toolbar remains sticky below the site nav. */
@media (min-width: 761px) {
    .wcf-portal-questionnaire .wcf-portal-questionnaire-hero {
        position: sticky !important;
        top: var(--wcf-member-hero-top-desktop, 96px) !important;
        z-index: 990 !important;
        min-height: 300px !important;
        display: flex !important;
        align-items: center !important;
        background: linear-gradient(135deg, #08162f, #0b1d3a, #12305f) !important;
    }

    body.admin-bar .wcf-portal-questionnaire .wcf-portal-questionnaire-hero {
        top: 128px !important;
    }

    .wcf-portal-questionnaire .wcf-portal-questionnaire-hero .wcf-portal-hero-inner {
        padding-top: 28px !important;
        padding-bottom: 28px !important;
    }

    .wcf-portal-questionnaire .wcf-quiz-toolbar-desktop {
        position: static !important;
        top: auto !important;
        z-index: auto !important;
        display: flex !important;
        max-width: 920px !important;
        margin: 18px 0 0 !important;
        padding: 8px 10px !important;
        border-radius: 18px !important;
        border: 1px solid rgba(255,255,255,0.22) !important;
        background: rgba(255,255,255,0.96) !important;
        box-shadow: 0 14px 30px rgba(8,22,47,0.22) !important;
        backdrop-filter: blur(10px) !important;
    }

    .wcf-portal-questionnaire .wcf-quiz-toolbar-mobile {
        display: none !important;
    }
}

@media (max-width: 760px) {
    .wcf-portal-questionnaire .wcf-quiz-toolbar-desktop {
        display: none !important;
    }

    .wcf-portal-questionnaire .wcf-quiz-toolbar-mobile {
        display: flex !important;
        position: sticky !important;
        top: 64px !important;
        z-index: 1000 !important;
    }

    body.admin-bar .wcf-portal-questionnaire .wcf-quiz-toolbar-mobile {
        top: 110px !important;
    }
}

/* Keep all member/list/result/activity heroes in the same visual size family. */
@media (min-width: 761px) {
    .wcf-member-dashboard-v2 .wcf-member-hero-card,
    .wcf-member-list-page .wcf-member-hero-card,
    .wcf-member-result-page .wcf-member-hero-card,
    .wcf-member-activities-page .wcf-member-hero-card {
        min-height: 150px !important;
        padding: 26px 30px !important;
        box-sizing: border-box !important;
    }

    .wcf-member-dashboard-v2 .wcf-member-hero-card h1,
    .wcf-member-list-page .wcf-member-hero-card h1,
    .wcf-member-result-page .wcf-member-hero-card h1,
    .wcf-member-activities-page .wcf-member-hero-card h1 {
        font-size: clamp(32px, 3vw, 42px) !important;
        line-height: 1.08 !important;
    }
}

/* Mobile heroes should be smaller than the content cards and should scroll away. */
@media (max-width: 760px) {
    .wcf-member-dashboard-v2 .wcf-member-hero,
    .wcf-member-list-page .wcf-member-hero,
    .wcf-member-result-page .wcf-member-hero,
    .wcf-member-activities-page .wcf-member-hero {
        position: relative !important;
        top: auto !important;
        padding: 8px 0 12px !important;
    }

    .wcf-member-dashboard-v2 .wcf-member-hero-card,
    .wcf-member-list-page .wcf-member-hero-card,
    .wcf-member-result-page .wcf-member-hero-card,
    .wcf-member-activities-page .wcf-member-hero-card {
        padding: 14px 16px !important;
        border-radius: 18px !important;
        min-height: 0 !important;
    }

    .wcf-member-dashboard-v2 .wcf-member-hero-card h1,
    .wcf-member-list-page .wcf-member-hero-card h1,
    .wcf-member-result-page .wcf-member-hero-card h1,
    .wcf-member-activities-page .wcf-member-hero-card h1 {
        font-size: 24px !important;
        line-height: 1.12 !important;
        margin-bottom: 6px !important;
    }

    .wcf-member-dashboard-v2 .wcf-member-hero-card p,
    .wcf-member-list-page .wcf-member-hero-card p,
    .wcf-member-result-page .wcf-member-hero-card p,
    .wcf-member-activities-page .wcf-member-hero-card p {
        font-size: 13px !important;
        line-height: 1.38 !important;
    }
}

/* Result hero score: stacked and readable on mobile */
@media (max-width: 760px) {
    .wcf-result-hero-actions {
        gap: 8px !important;
    }

    .wcf-result-hero-score {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        padding: 14px 16px !important;
        border-radius: 16px !important;
        text-align: center !important;
        box-sizing: border-box !important;
        white-space: normal !important;
    }

    .wcf-result-hero-score strong {
        display: block !important;
        font-size: 32px !important;
        line-height: 1 !important;
        margin: 0 0 5px !important;
    }

    .wcf-result-hero-score span {
        display: block !important;
        margin: 0 0 5px !important;
        font-size: 19px !important;
        line-height: 1.15 !important;
    }

    .wcf-result-hero-score em {
        display: block !important;
        margin: 0 !important;
        color: var(--wcf-muted) !important;
        font-size: 13px !important;
        line-height: 1.35 !important;
        font-style: normal !important;
        font-weight: 700 !important;
        white-space: normal !important;
    }
}

/* Mobile dashboard/content cards should not feel larger than the hero. */
@media (max-width: 760px) {
    .wcf-member-feature-card,
    .wcf-member-empty-card,
    .wcf-member-account-card,
    .wcf-member-stat-card,
    .wcf-member-mini-card,
    .wcf-member-activities-page .wcf-portal-card {
        border-radius: 18px !important;
        padding: 16px !important;
    }

    .wcf-member-feature-card h3,
    .wcf-member-empty-card h3,
    .wcf-member-account-card h3,
    .wcf-member-activities-page .wcf-portal-card h3 {
        font-size: 21px !important;
        line-height: 1.18 !important;
    }

    .wcf-member-feature-card p,
    .wcf-member-empty-card p,
    .wcf-member-account-card p,
    .wcf-member-activities-page .wcf-portal-card p {
        font-size: 14px !important;
        line-height: 1.45 !important;
    }

    .wcf-member-feature-icon {
        width: 46px !important;
        height: 46px !important;
        flex-basis: 46px !important;
        border-radius: 14px !important;
        font-size: 24px !important;
    }

    .wcf-member-feature-main > p:not(.wcf-member-passage) {
        display: -webkit-box !important;
        -webkit-line-clamp: 3 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
    }
}

/* Activities page: keep it as a library page, but make series groups compact and scalable. */
.wcf-member-activities-page .wcf-study-group-head {
    padding: 16px 20px !important;
    border-radius: 18px !important;
}

.wcf-member-activities-page .wcf-study-group-head h3 {
    margin-bottom: 2px !important;
}

@media (min-width: 1000px) {
    .wcf-member-activities-page .wcf-portal-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}


/* Pass 5D.8 — Compact quiz instructions/resubmission notice */
.wcf-portal-questionnaire .wcf-quiz-resubmit-note {
    margin: 0 0 12px !important;
    padding: 10px 14px !important;
    border-radius: 14px !important;
    border-color: rgba(37, 99, 235, 0.18) !important;
    background: #f8fbff !important;
    color: #334155 !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    box-shadow: none !important;
}

@media (min-width: 761px) {
    .wcf-portal-questionnaire .wcf-quiz-resubmit-note {
        max-width: 980px !important;
        margin-right: auto !important;
        margin-left: auto !important;
    }
}

@media (max-width: 760px) {
    .wcf-portal-questionnaire .wcf-quiz-resubmit-note {
        padding: 9px 12px !important;
        font-size: 13px !important;
        line-height: 1.4 !important;
    }
}

/* Pass 5D.9 — Desktop quiz hero alignment and compact resubmission note */
@media (min-width: 761px) {
    .wcf-portal-questionnaire .wcf-portal-questionnaire-hero {
        min-height: 245px !important;
        align-items: center !important;
    }

    .wcf-portal-questionnaire .wcf-portal-questionnaire-hero .wcf-portal-hero-inner {
        max-width: 980px !important;
        padding-top: 22px !important;
        padding-bottom: 22px !important;
    }

    .wcf-portal-questionnaire .wcf-portal-questionnaire-hero .wcf-breadcrumb {
        margin-bottom: 10px !important;
    }

    .wcf-portal-questionnaire .wcf-portal-questionnaire-hero .wcf-portal-kicker {
        margin-bottom: 8px !important;
    }

    .wcf-quiz-hero-title-row {
        display: flex !important;
        align-items: flex-start !important;
        justify-content: space-between !important;
        gap: 24px !important;
    }

    .wcf-quiz-hero-copy {
        min-width: 0 !important;
        flex: 1 1 auto !important;
    }

    .wcf-portal-questionnaire .wcf-portal-questionnaire-hero h1 {
        margin-bottom: 8px !important;
        font-size: clamp(30px, 2.5vw, 38px) !important;
        line-height: 1.12 !important;
    }

    .wcf-portal-questionnaire .wcf-portal-questionnaire-hero .wcf-passage-ref {
        margin: 0 !important;
        font-size: 15px !important;
        line-height: 1.4 !important;
    }

    .wcf-portal-questionnaire .wcf-quiz-hero-actions {
        flex: 0 0 auto !important;
        margin: 3px 0 0 !important;
        display: flex !important;
        justify-content: flex-end !important;
    }

    .wcf-portal-questionnaire .wcf-quiz-hero-actions .wcf-portal-btn {
        min-width: 138px !important;
        padding: 11px 18px !important;
    }

    .wcf-portal-questionnaire .wcf-quiz-toolbar-desktop {
        max-width: 980px !important;
        margin: 16px 0 0 !important;
        padding: 7px 9px !important;
        box-sizing: border-box !important;
    }

    .wcf-portal-questionnaire .wcf-quiz-resubmit-note {
        max-width: 980px !important;
        margin-top: -4px !important;
        margin-bottom: 12px !important;
        padding: 8px 12px !important;
        font-size: 13px !important;
        line-height: 1.35 !important;
    }
}

@media (max-width: 760px) {
    .wcf-quiz-hero-title-row {
        display: block !important;
    }

    .wcf-portal-questionnaire .wcf-quiz-resubmit-note {
        font-size: 13px !important;
    }
}


/* PASS 5E Audit cleanup */
.wcf-nav-drawer {
    position: relative;
    z-index: 1002;
}

.wcf-nav-drawer.is-open {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    z-index: 1002;
    background: #ffffff;
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.16);
}

.wcf-nav-drawer-close {
    align-self: flex-end;
    border: 0;
    background: transparent;
    color: var(--wcf-navy);
    font-size: 26px;
    line-height: 1;
    padding: 6px 0 10px;
    cursor: pointer;
}

.wcf-portal-questionnaire,
.wcf-portal-forms-list,
.wcf-portal-thank-you {
    min-height: 100vh;
}

.wcf-portal-questionnaire .wcf-option-text,
.wcf-portal-thank-you .wcf-opt-text {
    color: var(--wcf-text) !important;
}

.wcf-score-label,
.wcf-result-hero-score em {
    color: var(--wcf-muted) !important;
}

@media (max-width: 760px) {
    .wcf-score-label,
    .wcf-result-hero-score em {
        display: block !important;
        margin-top: 4px !important;
        white-space: normal !important;
    }
}

/* Mobile result hero: keep score/button fully inside outer card */
@media (max-width: 760px) {
    .wcf-member-result-page .wcf-member-hero-card {
        overflow: hidden !important;
    }

    .wcf-member-result-page .wcf-result-hero-actions,
    .wcf-member-result-page .wcf-member-hero-actions {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .wcf-member-result-page .wcf-result-hero-score,
    .wcf-member-result-page .wcf-member-hero-actions .wcf-portal-btn {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .wcf-member-result-page .wcf-member-hero-actions .wcf-portal-btn {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        margin: 0 !important;
    }
}

/* PASS 6A.1 — Quiz validation warning scroll landing */
.wcf-portal-questionnaire .wcf-quiz-inline-error {
    scroll-margin-top: 340px;
}

@media (max-width: 760px) {
    .wcf-portal-questionnaire .wcf-quiz-inline-error {
        scroll-margin-top: 125px;
    }
}


/* Quiz validation warning: desktop aligned below hero, mobile compact */
.wcf-portal-questionnaire .wcf-quiz-inline-error {
    scroll-margin-top: 340px;
    margin: 0 auto 14px;
    max-width: 980px;
    box-sizing: border-box;
    border: 1px solid #fecaca;
    border-radius: 14px;
    background: #fff1f2;
    color: #991b1b;
    font-size: 16px;
    font-weight: 900;
    line-height: 1.35;
    padding: 14px 16px;
    box-shadow: 0 12px 28px rgba(153, 27, 27, 0.12);
}

@media (max-width: 760px) {
    .wcf-portal-questionnaire .wcf-quiz-inline-error {
        scroll-margin-top: 125px;
        font-size: 14px;
        padding: 12px 14px;
    }
}

/* PASS 7E.3 — Activity-specific member preview mode */
.wcf-member-preview-notice {
    display: grid;
    gap: 4px;
    margin: 0 auto 14px;
    max-width: 980px;
    box-sizing: border-box;
    padding: 12px 14px;
    border: 1px solid rgba(37, 99, 235, 0.22);
    border-radius: 14px;
    background: #f8fbff;
    color: #274060;
    font-size: 14px;
    line-height: 1.4;
}

.wcf-member-preview-notice strong {
    color: var(--wcf-navy);
    font-size: 14px;
    font-weight: 900;
}

.wcf-member-preview-notice span {
    color: #475569;
}

@media (max-width: 760px) {
    .wcf-member-preview-notice {
        padding: 11px 12px;
        font-size: 13px;
    }
}

/* PASS 7.9 — member desktop typography/layout cleanup; keep mobile readable */
@media (min-width: 761px) {
    .wcf-member-dashboard-v2 main.wcf-portal-section {
        padding-top: 38px !important;
    }

    .wcf-member-ready-section,
    .wcf-member-more-section,
    .wcf-member-results-section,
    .wcf-member-account-section {
        margin-bottom: 24px !important;
    }

    .wcf-member-section-head h2 {
        font-size: 24px !important;
        line-height: 1.2 !important;
        letter-spacing: -0.02em;
    }

    .wcf-member-feature-card,
    .wcf-member-empty-card {
        gap: 16px !important;
        padding: 22px 24px !important;
        border-radius: 20px !important;
    }

    .wcf-member-feature-icon {
        width: 48px !important;
        height: 48px !important;
        flex-basis: 48px !important;
        border-radius: 16px !important;
        font-size: 22px !important;
    }

    .wcf-member-feature-card h3,
    .wcf-member-empty-card h3,
    .wcf-member-account-card h3 {
        font-size: 22px !important;
        line-height: 1.2 !important;
        margin-bottom: 8px !important;
    }

    .wcf-member-feature-card p,
    .wcf-member-empty-card p,
    .wcf-member-account-card p {
        font-size: 15px !important;
        line-height: 1.5 !important;
    }

    .wcf-member-passage {
        font-size: 16px !important;
        margin-bottom: 10px !important;
    }

    .wcf-member-draft-progress {
        font-size: 15px !important;
    }

    .wcf-member-feature-actions {
        margin-top: 14px !important;
    }

    .wcf-member-progress-grid {
        margin: 24px 0 !important;
    }

    .wcf-member-stat-card {
        padding: 16px 18px !important;
        border-radius: 16px !important;
    }

    .wcf-member-stat-card strong {
        font-size: 26px !important;
    }

    .wcf-member-account-grid {
        grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr) !important;
    }

    .wcf-member-account-card {
        padding: 18px 20px !important;
        border-radius: 18px !important;
    }

    .wcf-member-results-list .wcf-dashboard-row strong,
    .wcf-member-list-card strong,
    .wcf-member-mini-card strong {
        font-size: 16px !important;
    }

    .wcf-member-results-list .wcf-dashboard-row,
    .wcf-member-list-card {
        padding: 18px 20px !important;
        border-radius: 18px !important;
    }
}

/* PASS 8.5 — shared member typography scale */
:root {
    --wcf-member-font-xs: 0.75rem;
    --wcf-member-font-sm: 0.84rem;
    --wcf-member-font-base: 0.94rem;
    --wcf-member-font-md: 1rem;
    --wcf-member-font-lg: 1.2rem;
    --wcf-member-font-xl: 1.55rem;
    --wcf-member-font-hero: clamp(2rem, 3vw, 2.65rem);
}
.wcf-member-section-title,
.wcf-member-page-title,
.wcf-member-list-title {
    font-size: var(--wcf-member-font-xl) !important;
    line-height: 1.18 !important;
    letter-spacing: -0.025em !important;
}
.wcf-member-feature-card h3,
.wcf-member-empty-card h3,
.wcf-member-account-card h3,
.wcf-member-list-card strong,
.wcf-member-mini-card strong {
    font-size: var(--wcf-member-font-lg) !important;
    line-height: 1.25 !important;
}
.wcf-member-feature-card p,
.wcf-member-empty-card p,
.wcf-member-account-card p,
.wcf-member-list-card p,
.wcf-member-mini-card p {
    font-size: var(--wcf-member-font-base) !important;
    line-height: 1.55 !important;
}
.wcf-member-btn,
.wcf-member-feature-actions a,
.wcf-member-account-card a {
    min-height: 40px !important;
    border-radius: 12px !important;
    font-size: var(--wcf-member-font-sm) !important;
    font-weight: 800 !important;
}

/* PASS 8.6 — shared correctness colours across member and preview result views */
:root {
    --wcf-success: #15803d;
    --wcf-success-soft: #ecfdf5;
    --wcf-success-border: #bbf7d0;
    --wcf-danger: #b91c1c;
    --wcf-danger-soft: #fef2f2;
    --wcf-danger-border: #fecaca;
}

.wcf-opt-correct,
.wcf-result-correct {
    border-color: var(--wcf-success-border) !important;
    background: var(--wcf-success-soft) !important;
}

.wcf-opt-wrong,
.wcf-result-wrong {
    border-color: var(--wcf-danger-border) !important;
    background: var(--wcf-danger-soft) !important;
}

.wcf-tag-correct,
.wcf-result-correct .wcf-result-icon,
.wcf-result-correct .wcf-result-status-text {
    color: var(--wcf-success) !important;
}

.wcf-tag-wrong,
.wcf-result-wrong .wcf-result-icon,
.wcf-result-wrong .wcf-result-status-text {
    color: var(--wcf-danger) !important;
}

.wcf-tag-correct {
    background: #ffffff !important;
    border-color: var(--wcf-success-border) !important;
}

.wcf-tag-wrong {
    background: #ffffff !important;
    border-color: var(--wcf-danger-border) !important;
}

/* Pass 9.0 — member onboarding */
.wcf-onboarding-panel { max-width: 980px; margin: 0 auto; }
.wcf-onboarding-form { background: #fff; border: 1px solid rgba(15, 23, 42, .08); border-radius: 24px; padding: 24px; box-shadow: 0 18px 50px rgba(15, 23, 42, .08); display: grid; gap: 16px; }
.wcf-form-grid.two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.wcf-onboarding-form label { display: grid; gap: 7px; font-weight: 700; color: #172554; }
.wcf-onboarding-form .wcf-input { width: 100%; border: 1px solid rgba(15,23,42,.16); border-radius: 14px; padding: 11px 12px; font-size: 14px; background: #fff; }
.wcf-onboarding-minor, .wcf-terms-box { border: 1px solid rgba(15,23,42,.08); background: #f8fafc; border-radius: 18px; padding: 16px; }
.wcf-onboarding-minor h3, .wcf-terms-box h3 { margin: 0 0 8px; font-size: 16px; }
.wcf-checkline { display: flex !important; grid-template-columns: auto 1fr; align-items: flex-start; gap: 10px !important; font-weight: 600 !important; color: #334155 !important; margin-top: 8px; }
.wcf-checkline input { margin-top: 3px; }
.wcf-helper-text { font-size: 13px; color: #64748b; margin: 0 0 8px; }
.wcf-error-msg { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; border-radius: 14px; padding: 10px 12px; margin-bottom: 8px; }
@media (max-width: 720px) { .wcf-form-grid.two { grid-template-columns: 1fr; } .wcf-onboarding-form { padding: 16px; border-radius: 18px; } }


/* Pass 9.3 — member dashboard cleanup for loaded quiz lists */
.wcf-member-dashboard-v2 main.wcf-portal-section {
    padding-top: 26px !important;
}
.wcf-member-dashboard-v2 .wcf-member-progress-grid-compact {
    margin: 0 0 24px !important;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}
.wcf-member-dashboard-v2 .wcf-member-stat-card {
    min-height: 104px;
    border-radius: 18px;
    border: 1px solid rgba(15, 23, 42, .08);
    background: #fff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .05);
}
.wcf-member-dashboard-v2 .wcf-member-ready-section,
.wcf-member-dashboard-v2 .wcf-member-more-section,
.wcf-member-dashboard-v2 .wcf-member-results-section,
.wcf-member-dashboard-v2 .wcf-member-account-section {
    margin-top: 26px !important;
}
.wcf-member-dashboard-v2 .wcf-member-section-head {
    align-items: center;
    margin-bottom: 14px;
}
.wcf-member-dashboard-v2 .wcf-member-section-head h2 {
    font-size: 24px !important;
    line-height: 1.2;
    margin: 2px 0 0;
}
.wcf-member-dashboard-v2 .wcf-member-feature-card {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 18px;
    padding: 24px !important;
    border-radius: 22px !important;
}
.wcf-member-dashboard-v2 .wcf-member-feature-main h3 {
    font-size: 22px !important;
    margin: 8px 0 8px !important;
}
.wcf-member-dashboard-v2 .wcf-member-feature-main p {
    font-size: 14px !important;
    line-height: 1.55;
    max-width: 760px;
}
.wcf-member-dashboard-v2 .wcf-member-feature-actions {
    gap: 10px;
    flex-wrap: wrap;
}
.wcf-member-dashboard-v2 .wcf-member-activity-list {
    display: grid;
    gap: 12px;
}
.wcf-member-dashboard-v2 .wcf-member-mini-card {
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    padding: 16px 18px !important;
    border-radius: 16px !important;
    min-height: 78px;
}
.wcf-member-dashboard-v2 .wcf-member-mini-card strong {
    display: block;
    font-size: 15px !important;
    line-height: 1.25;
    color: #0b1d3a;
}
.wcf-member-dashboard-v2 .wcf-member-mini-card span,
.wcf-member-dashboard-v2 .wcf-member-mini-card em {
    font-size: 12px !important;
    color: #64748b;
}
.wcf-member-dashboard-v2 .wcf-member-mini-card a {
    min-width: 112px;
    text-align: center;
    white-space: nowrap;
}
.wcf-member-dashboard-v2 .wcf-member-small-link,
.wcf-member-dashboard-v2 .wcf-portal-card-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 800;
    color: #12305f !important;
    text-decoration: none !important;
}
.wcf-member-dashboard-v2 .wcf-member-results-list .wcf-dashboard-row {
    border-radius: 14px;
    border: 1px solid rgba(15, 23, 42, .08);
    background: #fff;
    padding: 14px 16px;
}
@media (max-width: 760px) {
    .wcf-member-dashboard-v2 .wcf-member-progress-grid-compact { grid-template-columns: 1fr; }
    .wcf-member-dashboard-v2 .wcf-member-feature-card { grid-template-columns: 1fr; }
    .wcf-member-dashboard-v2 .wcf-member-mini-card { grid-template-columns: 40px minmax(0, 1fr); }
    .wcf-member-dashboard-v2 .wcf-member-mini-card a { grid-column: 1 / -1; width: 100%; }
}

/* Pass 9.4 — member dashboard button and list polish */
.wcf-member-dashboard-v2 main.wcf-portal-section {
    padding-top: 36px !important;
}
.wcf-member-dashboard-v2 .wcf-member-section-head {
    display: flex;
    justify-content: space-between;
    gap: 16px;
}
.wcf-member-dashboard-v2 .wcf-member-small-link,
.wcf-member-dashboard-v2 .wcf-portal-card-link {
    font-size: 13px !important;
    line-height: 1.2 !important;
    padding: 8px 0 !important;
    white-space: nowrap;
}
.wcf-member-dashboard-v2 .wcf-portal-btn,
.wcf-member-dashboard-v2 .wcf-member-mini-card a.wcf-portal-btn,
.wcf-member-dashboard-v2 .wcf-member-feature-actions a {
    min-height: 38px !important;
    padding: 9px 16px !important;
    border-radius: 11px !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    border: 1px solid #172554 !important;
    background: #172554 !important;
    color: #fff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .08) !important;
}
.wcf-member-dashboard-v2 .wcf-portal-btn:hover,
.wcf-member-dashboard-v2 .wcf-member-mini-card a.wcf-portal-btn:hover,
.wcf-member-dashboard-v2 .wcf-member-feature-actions a:hover {
    background: #0b1d3a !important;
    border-color: #0b1d3a !important;
    color: #fff !important;
}
.wcf-member-dashboard-v2 .wcf-portal-btn-secondary,
.wcf-member-dashboard-v2 .wcf-member-feature-actions .wcf-portal-btn-secondary {
    background: #eef4ff !important;
    border-color: #c7d7f5 !important;
    color: #0b1d3a !important;
    box-shadow: none !important;
}
.wcf-member-dashboard-v2 .wcf-portal-btn-secondary:hover,
.wcf-member-dashboard-v2 .wcf-member-feature-actions .wcf-portal-btn-secondary:hover {
    background: #dbeafe !important;
    border-color: #9db7e8 !important;
    color: #0b1d3a !important;
}
.wcf-member-dashboard-v2 .wcf-member-feature-actions {
    margin-top: 14px !important;
}
.wcf-member-dashboard-v2 .wcf-member-feature-card {
    margin-top: 4px;
}
.wcf-member-dashboard-v2 .wcf-member-feature-main h3 {
    font-size: 20px !important;
}
.wcf-member-dashboard-v2 .wcf-member-badge-row .wcf-member-type-badge {
    display: none !important;
}
.wcf-member-dashboard-v2 .wcf-member-mini-card > div:nth-child(2) > span {
    display: none !important;
}
.wcf-member-dashboard-v2 .wcf-member-mini-card {
    min-height: 84px !important;
    padding: 17px 20px !important;
}
.wcf-member-dashboard-v2 .wcf-member-mini-card a.wcf-portal-btn {
    min-width: 96px !important;
}
.wcf-member-dashboard-v2 .wcf-member-results-section {
    padding-bottom: 36px;
}
@media (max-width: 760px) {
    .wcf-member-dashboard-v2 .wcf-member-section-head {
        align-items: flex-start;
        flex-direction: column;
    }
    .wcf-member-dashboard-v2 .wcf-member-small-link { white-space: normal; }
}

/* Release 11.7 candidate: premium Member Area dashboard and banner image */
.wcf-member-dashboard-v3 {
    --wcf-member-navy: #071936;
    --wcf-member-navy-2: #0b2552;
    --wcf-member-blue: #1f5be7;
    --wcf-member-gold: #f3b642;
    --wcf-member-soft: #f6f8fc;
    --wcf-member-border: rgba(15, 35, 75, 0.12);
    --wcf-member-shadow: 0 18px 45px rgba(8, 22, 47, 0.13);
    background: linear-gradient(180deg, #f5f8fd 0%, #ffffff 100%);
    min-height: 100vh;
}

.wcf-member-dashboard-v3 .wcf-member-hero,
.wcf-member-dashboard-v2 .wcf-member-hero:not(.wcf-member-hero-simple),
.wcf-member-list-page .wcf-member-hero,
.wcf-member-result-page .wcf-member-hero {
    background:
        linear-gradient(90deg, rgba(8, 22, 47, 0.97) 0%, rgba(8, 22, 47, 0.86) 42%, rgba(8, 22, 47, 0.36) 100%),
        url('/wp-content/uploads/2026/05/banner.png') center right / cover no-repeat !important;
    color: #fff;
}

.wcf-member-dashboard-v3 .wcf-member-hero {
    padding: 38px 0 118px;
    min-height: 330px;
    position: relative;
    overflow: hidden;
}

.wcf-member-dashboard-v3 .wcf-member-hero::after {
    content: '';
    position: absolute;
    inset: auto 0 0 0;
    height: 105px;
    background: linear-gradient(180deg, rgba(246, 248, 252, 0), #f6f8fc 88%);
    pointer-events: none;
}

.wcf-member-dashboard-v3 .wcf-member-hero .wcf-portal-wrap {
    position: relative;
    z-index: 1;
}

.wcf-member-dashboard-v3 .wcf-breadcrumb,
.wcf-member-dashboard-v3 .wcf-breadcrumb a,
.wcf-member-dashboard-v3 .wcf-breadcrumb span {
    color: rgba(255, 255, 255, 0.82) !important;
}

.wcf-member-dashboard-v3 .wcf-member-hero-card {
    max-width: 720px;
    padding: 28px 0 0;
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
}

.wcf-member-dashboard-v3 .wcf-member-hero-card .wcf-portal-kicker {
    color: var(--wcf-member-gold);
    letter-spacing: 0.13em;
}

.wcf-member-dashboard-v3 .wcf-member-hero-card h1 {
    color: #fff;
    font-size: clamp(2.1rem, 4vw, 4rem);
    line-height: 1.04;
    margin: 8px 0 10px;
    letter-spacing: -0.045em;
    text-shadow: 0 12px 35px rgba(0, 0, 0, 0.26);
}

.wcf-member-dashboard-v3 .wcf-member-hero-card p {
    color: rgba(255, 255, 255, 0.9);
    font-size: 1.08rem;
    max-width: 620px;
}

.wcf-member-hero-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}

.wcf-member-hero-pills span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 999px;
    color: #fff;
    background: rgba(5, 15, 35, 0.48);
    border: 1px solid rgba(255, 255, 255, 0.14);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
    backdrop-filter: blur(10px);
    font-weight: 800;
    font-size: 0.88rem;
}

.wcf-member-dashboard-v3 main.wcf-portal-section {
    margin-top: -92px;
    padding-top: 0 !important;
    position: relative;
    z-index: 2;
}

.wcf-member-dashboard-grid,
.wcf-member-main-grid,
.wcf-member-lower-grid {
    display: grid;
    gap: 18px;
}

.wcf-member-overview-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(270px, 1.55fr);
    align-items: stretch;
    margin-bottom: 18px;
}

.wcf-member-stat-card,
.wcf-member-progress-card,
.wcf-member-panel {
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid var(--wcf-member-border);
    border-radius: 22px;
    box-shadow: var(--wcf-member-shadow);
}

.wcf-member-stat-card {
    min-height: 146px;
    padding: 22px;
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.wcf-stat-icon {
    width: 44px;
    height: 44px;
    border-radius: 16px;
    display: inline-grid;
    place-items: center;
    font-size: 1.25rem;
    color: #fff;
    flex: 0 0 auto;
    box-shadow: 0 12px 24px rgba(20, 42, 90, 0.18);
}

.wcf-stat-blue .wcf-stat-icon { background: linear-gradient(135deg, #2f7cff, #1451ce); }
.wcf-stat-gold .wcf-stat-icon { background: linear-gradient(135deg, #ffbe42, #ed8f12); }
.wcf-stat-green .wcf-stat-icon { background: linear-gradient(135deg, #35b76a, #158145); }
.wcf-stat-purple .wcf-stat-icon { background: linear-gradient(135deg, #a257d8, #7432b1); }

.wcf-member-stat-card span:not(.wcf-stat-icon) {
    display: block;
    color: #233352;
    font-weight: 900;
    font-size: 0.9rem;
    margin-top: 4px;
}

.wcf-member-stat-card strong {
    display: block;
    color: #071936;
    font-size: 2.1rem;
    line-height: 1;
    margin: 8px 0 8px;
    letter-spacing: -0.04em;
}

.wcf-member-stat-card small {
    color: #63708b;
    font-weight: 700;
    font-size: 0.78rem;
}

.wcf-member-progress-card {
    padding: 22px;
}

.wcf-member-progress-card h2,
.wcf-member-panel h2 {
    margin: 4px 0 0;
    color: #071936;
    font-size: 1.15rem;
    letter-spacing: -0.025em;
}

.wcf-member-donut-wrap {
    display: grid;
    grid-template-columns: 122px 1fr;
    align-items: center;
    gap: 18px;
    margin-top: 14px;
}

.wcf-member-donut {
    width: 116px;
    height: 116px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background:
        radial-gradient(circle at center, #fff 0 54%, transparent 55%),
        conic-gradient(#1f5be7 0 var(--wcf-progress), #eef2f8 var(--wcf-progress) 100%);
    box-shadow: inset 0 0 0 1px rgba(10, 31, 68, 0.06);
}

.wcf-member-donut strong {
    color: #071936;
    font-size: 1.45rem;
    letter-spacing: -0.045em;
}

.wcf-member-donut-wrap ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 10px;
    color: #33415f;
    font-size: 0.88rem;
    font-weight: 700;
}

.wcf-member-donut-wrap li {
    display: flex;
    align-items: center;
    gap: 8px;
}

.wcf-member-donut-wrap li strong {
    margin-left: auto;
    color: #071936;
}

.wcf-dot {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    display: inline-block;
}
.wcf-dot-blue { background: #1f5be7; }
.wcf-dot-gold { background: #f7a51e; }
.wcf-dot-soft { background: #c5cfdd; }

.wcf-member-main-grid {
    grid-template-columns: minmax(0, 1.1fr) minmax(360px, 1.4fr);
    margin-bottom: 18px;
}

.wcf-member-lower-grid {
    grid-template-columns: minmax(0, 1.55fr) minmax(320px, 0.95fr);
    margin-bottom: 18px;
}

.wcf-member-panel {
    padding: 22px;
}

.wcf-panel-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
}

.wcf-panel-head > a,
.wcf-member-text-link {
    color: #1f5be7;
    text-decoration: none;
    font-weight: 900;
    font-size: 0.86rem;
    white-space: nowrap;
}

.wcf-panel-menu {
    color: #768199;
    letter-spacing: 2px;
    font-weight: 900;
}

.wcf-member-panel p {
    color: #596782;
    margin: 0 0 14px;
    line-height: 1.55;
}

.wcf-member-progress-line {
    height: 8px;
    border-radius: 999px;
    background: #e8edf5;
    overflow: hidden;
    margin: 14px 0 8px;
}

.wcf-member-progress-line span {
    display: block;
    height: 100%;
    min-width: 8px;
    border-radius: inherit;
    background: linear-gradient(90deg, #1c55d8, #2f7cff);
}

.wcf-member-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 16px;
    align-items: center;
    justify-content: space-between;
    color: #52617b;
    font-size: 0.82rem;
    font-weight: 800;
    margin: 8px 0 16px;
}

.wcf-member-dashboard-v3 .wcf-portal-btn {
    min-height: 44px;
    border-radius: 13px;
    padding: 0 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: linear-gradient(135deg, #09224d, #0f3473);
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 12px 24px rgba(8, 29, 68, 0.22);
    text-decoration: none;
    font-weight: 900;
}

.wcf-member-dashboard-v3 .wcf-portal-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 16px 30px rgba(8, 29, 68, 0.28);
}

.wcf-member-dashboard-v3 .wcf-portal-btn-secondary {
    background: rgba(255, 255, 255, 0.1);
    color: #fff !important;
    border-color: rgba(255, 255, 255, 0.25);
}

.wcf-series-feature {
    display: grid;
    grid-template-columns: 190px 1fr;
    gap: 18px;
    align-items: stretch;
}

.wcf-series-art {
    min-height: 160px;
    border-radius: 18px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 18px;
    text-align: center;
    overflow: hidden;
    background:
        linear-gradient(180deg, rgba(6, 20, 48, 0.12), rgba(6, 20, 48, 0.88)),
        url('/wp-content/uploads/2026/05/banner.png') center / cover no-repeat;
    color: #fff;
    font-weight: 950;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.12);
}

.wcf-series-copy h3 {
    margin: 0 0 6px;
    color: #071936;
    font-size: 1.05rem;
}

.wcf-member-quiz-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.wcf-member-quiz-card {
    border: 1px solid rgba(15, 35, 75, 0.1);
    border-radius: 18px;
    padding: 18px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(8, 22, 47, 0.08);
    display: grid;
    gap: 10px;
}

.wcf-member-dashboard-v3 .wcf-portal-kicker {
    color: #c9912c;
    font-size: 0.72rem;
    font-weight: 950;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.wcf-member-quiz-card h3 {
    margin: 0;
    color: #071936;
    font-size: 1rem;
    line-height: 1.3;
}

.wcf-member-quiz-card p {
    font-size: 0.86rem;
    margin-bottom: 0;
}

.wcf-member-status-pill {
    justify-self: start;
    padding: 6px 10px;
    border-radius: 999px;
    background: #e6f7ec;
    color: #177442;
    font-weight: 900;
    font-size: 0.76rem;
}

.wcf-member-result-list-v3 {
    display: grid;
    gap: 10px;
}

.wcf-member-result-row {
    display: grid;
    grid-template-columns: 38px 1fr auto;
    gap: 12px;
    align-items: center;
    padding: 10px;
    border-radius: 14px;
    color: inherit;
    text-decoration: none;
    background: #f8fafd;
    border: 1px solid rgba(15, 35, 75, 0.06);
}

.wcf-member-result-row:hover {
    background: #eef4ff;
}

.wcf-result-icon {
    width: 34px;
    height: 34px;
    border-radius: 12px;
    background: #fff;
    display: grid;
    place-items: center;
    color: #071936;
    border: 1px solid rgba(15, 35, 75, 0.12);
}

.wcf-member-result-row strong,
.wcf-member-result-row small {
    display: block;
}

.wcf-member-result-row strong {
    color: #071936;
    font-size: 0.9rem;
}

.wcf-member-result-row small {
    color: #6a768d;
    font-size: 0.76rem;
    margin-top: 2px;
}

.wcf-member-result-row b {
    color: #071936;
    font-size: 1rem;
}

.wcf-member-empty-text {
    padding: 18px;
    border: 1px dashed rgba(15, 35, 75, 0.18);
    border-radius: 16px;
    background: #f8fafd;
    color: #63708b;
    font-weight: 750;
}

.wcf-member-encouragement {
    border-radius: 22px;
    padding: 18px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    color: #fff;
    background:
        linear-gradient(90deg, rgba(8, 29, 68, 0.98), rgba(12, 53, 116, 0.94)),
        url('/wp-content/uploads/2026/05/banner.png') center / cover no-repeat;
    box-shadow: 0 20px 45px rgba(8, 29, 68, 0.22);
}

.wcf-member-encouragement strong,
.wcf-member-encouragement span {
    display: block;
}

.wcf-member-encouragement strong {
    font-size: 1.05rem;
    margin-bottom: 4px;
}

.wcf-member-encouragement span {
    color: rgba(255, 255, 255, 0.82);
}

@media (max-width: 1180px) {
    .wcf-member-overview-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .wcf-member-progress-card {
        grid-column: span 2;
    }

    .wcf-member-main-grid,
    .wcf-member-lower-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .wcf-member-dashboard-v3 .wcf-member-hero,
    .wcf-member-dashboard-v2 .wcf-member-hero:not(.wcf-member-hero-simple),
    .wcf-member-list-page .wcf-member-hero,
    .wcf-member-result-page .wcf-member-hero {
        background:
            linear-gradient(180deg, rgba(8, 22, 47, 0.96) 0%, rgba(8, 22, 47, 0.86) 62%, rgba(8, 22, 47, 0.64) 100%),
            url('/wp-content/uploads/2026/05/banner.png') center right / cover no-repeat !important;
    }

    .wcf-member-dashboard-v3 .wcf-member-hero {
        min-height: 300px;
        padding: 24px 0 96px;
    }

    .wcf-member-dashboard-v3 main.wcf-portal-section {
        margin-top: -76px;
    }

    .wcf-member-dashboard-v3 .wcf-member-hero-card h1 {
        font-size: 2rem;
    }

    .wcf-member-dashboard-v3 .wcf-member-hero-card p {
        font-size: 0.98rem;
    }

    .wcf-member-overview-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .wcf-member-stat-card {
        min-height: 116px;
        padding: 14px;
        gap: 10px;
        border-radius: 18px;
    }

    .wcf-stat-icon {
        width: 36px;
        height: 36px;
        border-radius: 13px;
        font-size: 1rem;
    }

    .wcf-member-stat-card strong {
        font-size: 1.65rem;
    }

    .wcf-member-stat-card small {
        display: none;
    }

    .wcf-member-progress-card {
        grid-column: 1 / -1;
    }

    .wcf-member-donut-wrap {
        grid-template-columns: 100px 1fr;
    }

    .wcf-member-donut {
        width: 96px;
        height: 96px;
    }

    .wcf-member-panel {
        padding: 16px;
        border-radius: 18px;
    }

    .wcf-series-feature {
        grid-template-columns: 84px 1fr;
        gap: 12px;
    }

    .wcf-series-art {
        min-height: 86px;
        border-radius: 14px;
        padding: 10px;
        font-size: 0.66rem;
    }

    .wcf-member-quiz-grid {
        grid-template-columns: 1fr;
    }

    .wcf-member-encouragement {
        align-items: stretch;
        flex-direction: column;
        padding: 18px;
    }

    .wcf-member-encouragement .wcf-portal-btn {
        width: 100%;
    }
}

@media (max-width: 420px) {
    .wcf-member-overview-grid {
        grid-template-columns: 1fr 1fr;
    }

    .wcf-member-stat-card {
        flex-direction: column;
    }

    .wcf-panel-head {
        align-items: flex-start;
    }
}

/* Release 11.7.1 — member dashboard polish from review notes */
.wcf-member-dashboard-v3 .wcf-member-hero,
.wcf-member-dashboard-v2 .wcf-member-hero:not(.wcf-member-hero-simple),
.wcf-member-list-page .wcf-member-hero,
.wcf-member-result-page .wcf-member-hero {
    background:
        linear-gradient(90deg, rgba(8, 22, 47, 0.94) 0%, rgba(8, 22, 47, 0.78) 38%, rgba(8, 22, 47, 0.18) 100%),
        url('/wp-content/uploads/2026/05/banner.png') center 58% / cover no-repeat !important;
}

.wcf-member-dashboard-v3 .wcf-member-hero {
    min-height: 365px;
    padding: 34px 0 142px;
}

.wcf-member-dashboard-v3 .wcf-member-hero::after {
    height: 72px;
    background: linear-gradient(180deg, rgba(246, 248, 252, 0), rgba(246, 248, 252, 0.88) 95%);
}

.wcf-member-dashboard-v3 .wcf-member-hero-card h1 {
    font-size: clamp(1.85rem, 3.2vw, 3.25rem);
    max-width: 650px;
}

.wcf-member-hero-pills a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 999px;
    color: #fff !important;
    background: rgba(5, 15, 35, 0.46);
    border: 1px solid rgba(255, 255, 255, 0.16);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
    backdrop-filter: blur(10px);
    font-weight: 850;
    font-size: 0.86rem;
    text-decoration: none;
    transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

.wcf-member-hero-pills a:hover,
.wcf-member-hero-pills a:focus-visible {
    transform: translateY(-1px);
    background: rgba(18, 50, 105, 0.66);
    border-color: rgba(243, 182, 66, 0.65);
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.24), 0 0 0 3px rgba(243, 182, 66, 0.12);
}

.wcf-member-dashboard-v3 main.wcf-portal-section {
    margin-top: -98px;
}

.wcf-member-overview-grid {
    align-items: stretch;
}

.wcf-member-stat-card {
    min-height: 118px;
    padding: 17px 18px;
    align-items: center;
    gap: 13px;
}

.wcf-stat-icon {
    width: 40px;
    height: 40px;
    border-radius: 14px;
    font-size: 1.08rem;
}

.wcf-member-stat-card span:not(.wcf-stat-icon) {
    margin-top: 0;
    font-size: 0.84rem;
}

.wcf-member-stat-card strong {
    font-size: 1.85rem;
    margin: 6px 0 5px;
}

.wcf-member-stat-card small {
    font-size: 0.74rem;
}

.wcf-member-progress-card {
    padding: 17px 18px;
    min-height: 118px;
    display: grid;
    align-content: center;
}

.wcf-member-progress-card h2,
.wcf-member-panel h2 {
    font-size: 1.08rem;
}

.wcf-member-donut-wrap {
    grid-template-columns: 104px 1fr;
    gap: 14px;
    margin-top: 10px;
}

.wcf-member-donut {
    width: 100px;
    height: 100px;
}

.wcf-member-donut strong {
    font-size: 1.22rem;
}

.wcf-member-donut-wrap ul {
    gap: 7px;
    font-size: 0.82rem;
}

.wcf-member-main-grid-single {
    grid-template-columns: 1fr;
}

.wcf-member-main-grid-single .wcf-member-panel {
    max-width: none;
}

.wcf-series-feature,
.wcf-series-feature-text {
    display: block;
}

.wcf-series-art,
.wcf-panel-menu {
    display: none !important;
}

.wcf-series-copy h3 {
    font-size: 1.16rem;
    margin-bottom: 8px;
}

.wcf-series-copy .wcf-portal-btn {
    margin-top: 2px;
}

.wcf-member-quiz-card.is-in-progress {
    border-color: rgba(243, 182, 66, 0.44);
    background: linear-gradient(180deg, #ffffff 0%, #fffaf0 100%);
}

.wcf-member-status-progress {
    background: #fff4d7;
    color: #9a6410;
}

.wcf-member-card-progress {
    margin: 4px 0 0;
}

.wcf-member-quiz-card .wcf-member-card-meta {
    margin: -2px 0 4px;
    font-size: 0.76rem;
}

.wcf-member-results-panel .wcf-member-empty-text {
    padding: 12px 14px;
    font-size: 0.86rem;
    font-weight: 650;
    line-height: 1.45;
}

.wcf-member-scripture-strip {
    padding: 16px 20px;
    align-items: center;
}

.wcf-member-scripture-strip strong {
    font-size: 1rem;
    line-height: 1.35;
    margin-bottom: 3px;
}

.wcf-member-scripture-strip span {
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: .03em;
    color: rgba(255, 255, 255, 0.82);
}

/* Polished mobile member menu */
.wcf-nav-ham {
    width: 42px;
    height: 42px;
    border-radius: 13px;
    border: 1px solid rgba(15, 23, 42, 0.1);
    background: #fff;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.08);
}

.wcf-nav-drawer.is-open {
    left: 12px;
    right: 12px;
    top: calc(100% + 8px);
    padding: 14px;
    border: 1px solid rgba(15, 35, 75, 0.1);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 22px 55px rgba(8, 22, 47, 0.20);
    gap: 5px;
}

.wcf-nav-drawer-close {
    width: 38px;
    height: 38px;
    padding: 0;
    margin-left: auto;
    margin-bottom: 4px;
    border-radius: 12px;
    background: #f3f6fb;
    color: #071936;
    font-size: 24px;
    display: inline-grid;
    place-items: center;
}

.wcf-nav-drawer .wcf-nav-link {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 0 13px;
    border-radius: 14px;
    color: #13213a;
    font-size: 0.95rem;
    font-weight: 850;
}

.wcf-nav-drawer .wcf-nav-link:hover,
.wcf-nav-drawer .wcf-nav-link:focus-visible,
.wcf-nav-drawer .wcf-nav-link.wcf-nav-active {
    color: #0b2552;
    background: #eef4ff;
}

.wcf-nav-drawer .wcf-nav-switch {
    justify-content: center;
    margin: 4px 0;
    border-color: rgba(201, 168, 76, 0.46);
    background: #fffaf0;
}

@media (max-width: 760px) {
    .wcf-member-dashboard-v3 .wcf-member-hero,
    .wcf-member-dashboard-v2 .wcf-member-hero:not(.wcf-member-hero-simple),
    .wcf-member-list-page .wcf-member-hero,
    .wcf-member-result-page .wcf-member-hero {
        background:
            linear-gradient(180deg, rgba(8, 22, 47, 0.95) 0%, rgba(8, 22, 47, 0.78) 54%, rgba(8, 22, 47, 0.48) 100%),
            url('/wp-content/uploads/2026/05/banner.png') 62% 62% / cover no-repeat !important;
    }

    .wcf-member-dashboard-v3 .wcf-member-hero {
        min-height: 322px;
        padding: 22px 0 104px;
    }

    .wcf-member-dashboard-v3 main.wcf-portal-section {
        margin-top: -76px;
    }

    .wcf-member-dashboard-v3 .wcf-member-hero-card h1 {
        font-size: clamp(1.7rem, 7vw, 2.15rem);
    }

    .wcf-member-hero-pills {
        gap: 8px;
        margin-top: 16px;
    }

    .wcf-member-hero-pills a {
        padding: 8px 11px;
        font-size: 0.78rem;
    }

    .wcf-member-stat-card {
        min-height: 102px;
        padding: 12px;
        gap: 8px;
    }

    .wcf-stat-icon {
        width: 34px;
        height: 34px;
        border-radius: 12px;
        font-size: 0.95rem;
    }

    .wcf-member-stat-card span:not(.wcf-stat-icon) {
        font-size: 0.76rem;
    }

    .wcf-member-stat-card strong {
        font-size: 1.48rem;
        margin: 5px 0 0;
    }

    .wcf-member-progress-card {
        padding: 14px;
    }

    .wcf-member-donut-wrap {
        grid-template-columns: 86px 1fr;
        gap: 12px;
    }

    .wcf-member-donut {
        width: 82px;
        height: 82px;
    }

    .wcf-member-donut strong {
        font-size: 1.05rem;
    }

    .wcf-member-donut-wrap ul {
        font-size: 0.78rem;
        gap: 6px;
    }

    .wcf-member-scripture-strip {
        padding: 15px 16px;
    }
}

/* Release 11.7.2 — dashboard refinement and series detail flow */
.wcf-member-dashboard-v3 .wcf-member-hero,
.wcf-member-dashboard-v2 .wcf-member-hero:not(.wcf-member-hero-simple),
.wcf-member-list-page .wcf-member-hero,
.wcf-member-result-page .wcf-member-hero {
    background:
        linear-gradient(90deg, rgba(8, 22, 47, 0.95) 0%, rgba(8, 22, 47, 0.78) 42%, rgba(8, 22, 47, 0.20) 100%),
        url('/wp-content/uploads/2026/05/banner.png') center 64% / cover no-repeat !important;
}

.wcf-member-dashboard-v3 .wcf-member-hero {
    min-height: 330px;
    padding: 30px 0 118px;
}

.wcf-member-dashboard-v3 .wcf-member-hero-card {
    padding-top: 22px;
}

.wcf-member-dashboard-v3 .wcf-member-hero-card h1 {
    font-size: clamp(1.8rem, 2.9vw, 3rem);
    margin-bottom: 8px;
}

.wcf-member-dashboard-v3 .wcf-member-hero-verse {
    margin: 0;
    max-width: 560px;
    color: rgba(255,255,255,.9);
    line-height: 1.48;
}

.wcf-member-dashboard-v3 .wcf-member-hero-verse span,
.wcf-member-dashboard-v3 .wcf-member-hero-verse strong {
    display: block;
}

.wcf-member-dashboard-v3 .wcf-member-hero-verse strong {
    margin-top: 4px;
    color: var(--wcf-member-gold);
    font-size: .82rem;
    font-weight: 950;
    letter-spacing: .04em;
}

.wcf-member-dashboard-v3 main.wcf-portal-section {
    margin-top: -86px;
}

.wcf-dot-purple { background: #8f42cf; }

.wcf-member-main-grid {
    align-items: stretch;
}

.wcf-member-main-grid .wcf-member-panel,
.wcf-member-lower-grid .wcf-member-panel {
    display: flex;
    flex-direction: column;
}

.wcf-member-continue-card .wcf-portal-btn,
.wcf-member-series-panel .wcf-portal-btn,
.wcf-member-quiz-card .wcf-portal-btn {
    align-self: flex-start;
    margin-top: auto;
}

.wcf-member-series-panel .wcf-member-card-meta {
    justify-content: flex-start;
    gap: 16px 28px;
}

.wcf-member-series-panel .wcf-member-card-meta strong {
    margin-left: 0;
}

.wcf-member-series-panel .wcf-series-copy h3,
.wcf-member-continue-card h2,
.wcf-member-quiz-card h3 {
    font-size: 1rem;
    line-height: 1.32;
}

.wcf-member-series-panel .wcf-series-copy p,
.wcf-member-continue-card > p,
.wcf-member-quiz-card p {
    font-size: .9rem;
}

.wcf-member-empty-text {
    font-size: .86rem;
    line-height: 1.45;
}

.wcf-member-status-complete {
    background: #eaf2ff;
    color: #1555bf;
}

.wcf-portal-footer {
    width: 100%;
    padding: 18px 16px 24px;
    text-align: center;
    color: #647086;
    font-size: .84rem;
    font-weight: 600;
    background: transparent;
}

.wcf-admin-portal-footer {
    margin-top: 26px;
}

.wcf-member-series-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 18px;
}

.wcf-member-series-detail-panel {
    margin-bottom: 18px;
}

.wcf-member-series-session-list {
    display: grid;
    gap: 12px;
    margin-top: 18px;
}

.wcf-member-session-card {
    display: grid;
    grid-template-columns: 90px minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 14px;
    padding: 14px;
    border: 1px solid rgba(15,35,75,.10);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 25px rgba(8,22,47,.06);
}

.wcf-session-index {
    color: #c9912c;
    font-size: .76rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.wcf-session-main h3 {
    margin: 0 0 4px;
    color: #071936;
    font-size: .98rem;
    line-height: 1.3;
}

.wcf-session-main p {
    margin: 0;
    color: #63708b;
    font-size: .84rem;
}

.wcf-session-main .wcf-member-progress-line {
    max-width: 360px;
    margin: 10px 0 0;
}

.wcf-portal-btn-disabled {
    opacity: .55;
    cursor: not-allowed;
    box-shadow: none !important;
}

/* More polished glass mobile menu */
.wcf-nav-drawer.is-open {
    background: linear-gradient(180deg, rgba(255,255,255,.86), rgba(246,249,255,.78));
    border: 1px solid rgba(255,255,255,.68);
    box-shadow: 0 24px 70px rgba(8, 22, 47, 0.30), inset 0 1px 0 rgba(255,255,255,.72);
    backdrop-filter: blur(22px) saturate(150%);
    -webkit-backdrop-filter: blur(22px) saturate(150%);
}

.wcf-nav-drawer .wcf-nav-link {
    border: 1px solid transparent;
    transition: background .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.wcf-nav-drawer .wcf-nav-link:hover,
.wcf-nav-drawer .wcf-nav-link:focus-visible,
.wcf-nav-drawer .wcf-nav-link.wcf-nav-active {
    background: rgba(255,255,255,.82);
    border-color: rgba(31, 91, 231, .18);
    box-shadow: 0 10px 22px rgba(8, 22, 47, .08);
    transform: translateY(-1px);
}

.wcf-nav-drawer .wcf-nav-switch {
    background: rgba(255, 250, 240, .86);
    border-color: rgba(201, 168, 76, 0.52);
}

@media (max-width: 760px) {
    .wcf-member-dashboard-v3 .wcf-member-hero,
    .wcf-member-dashboard-v2 .wcf-member-hero:not(.wcf-member-hero-simple),
    .wcf-member-list-page .wcf-member-hero,
    .wcf-member-result-page .wcf-member-hero {
        background:
            linear-gradient(180deg, rgba(8, 22, 47, 0.95) 0%, rgba(8, 22, 47, 0.80) 54%, rgba(8, 22, 47, 0.54) 100%),
            url('/wp-content/uploads/2026/05/banner.png') 48% 64% / auto 106% no-repeat !important;
        background-color: #071936 !important;
    }

    .wcf-member-dashboard-v3 .wcf-member-hero {
        min-height: 268px;
        padding: 16px 0 78px;
    }

    .wcf-member-dashboard-v3 .wcf-member-hero-card {
        padding-top: 14px;
    }

    .wcf-member-dashboard-v3 .wcf-member-hero-card h1 {
        font-size: clamp(1.45rem, 6vw, 1.8rem);
        line-height: 1.1;
        margin: 7px 0 7px;
    }

    .wcf-member-dashboard-v3 .wcf-member-hero-card .wcf-portal-kicker {
        font-size: .68rem;
    }

    .wcf-member-dashboard-v3 .wcf-member-hero-verse {
        font-size: .86rem;
        line-height: 1.38;
        max-width: 310px;
    }

    .wcf-member-dashboard-v3 .wcf-member-hero-verse strong {
        font-size: .68rem;
    }

    .wcf-member-dashboard-v3 .wcf-breadcrumb {
        font-size: .78rem;
        margin-bottom: 8px;
    }

    .wcf-member-hero-pills {
        margin-top: 12px;
    }

    .wcf-member-dashboard-v3 main.wcf-portal-section {
        margin-top: -58px;
    }

    .wcf-member-overview-grid {
        gap: 10px;
    }

    .wcf-member-stat-card {
        min-height: 96px;
        padding: 12px 13px;
    }

    .wcf-member-stat-card small {
        display: block;
        font-size: .66rem;
        line-height: 1.25;
    }

    .wcf-member-progress-card {
        padding: 14px;
        border-radius: 20px;
    }

    .wcf-member-panel {
        padding: 16px 18px;
    }

    .wcf-member-series-panel .wcf-series-copy h3,
    .wcf-member-continue-card h2,
    .wcf-member-quiz-card h3 {
        font-size: .98rem;
        line-height: 1.34;
    }

    .wcf-member-series-panel .wcf-series-copy p,
    .wcf-member-continue-card > p,
    .wcf-member-quiz-card p {
        font-size: .84rem;
        line-height: 1.45;
    }

    .wcf-member-series-panel .wcf-member-card-meta,
    .wcf-member-card-meta {
        gap: 6px 12px;
        justify-content: flex-start;
        font-size: .74rem;
    }

    .wcf-member-series-panel .wcf-portal-btn,
    .wcf-member-continue-card .wcf-portal-btn,
    .wcf-member-quiz-card .wcf-portal-btn {
        width: 100%;
    }

    .wcf-member-series-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .wcf-member-session-card {
        grid-template-columns: 1fr;
        align-items: start;
        gap: 10px;
    }

    .wcf-member-session-card .wcf-portal-btn,
    .wcf-member-session-card .wcf-portal-btn-disabled {
        width: 100%;
    }

    .wcf-portal-footer {
        padding-top: 14px;
        font-size: .78rem;
    }
}

/* Release 11.7.6 — dashboard polish, top dropdown mobile menu, quiz/series KPI clarity */
.wcf-member-dashboard-v3 .wcf-member-hero-pills a,
.wcf-member-hero-pills a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 999px;
    color: #fff !important;
    background: rgba(5, 15, 35, 0.48);
    border: 1px solid rgba(255, 255, 255, 0.16);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
    backdrop-filter: blur(10px);
    text-decoration: none !important;
    font-weight: 900;
    font-size: 0.88rem;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.wcf-member-dashboard-v3 .wcf-member-hero-pills a:hover,
.wcf-member-dashboard-v3 .wcf-member-hero-pills a:focus-visible,
.wcf-member-hero-pills a:hover,
.wcf-member-hero-pills a:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(243, 182, 66, .52);
    background: rgba(10, 32, 76, .62);
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.24), 0 0 0 3px rgba(243, 182, 66, .08);
}

.wcf-member-dashboard-v3 .wcf-member-stat-card {
    align-items: center;
    min-height: 124px;
}

.wcf-member-dashboard-v3 .wcf-member-stat-card small {
    max-width: 128px;
    line-height: 1.25;
}

.wcf-member-dashboard-v3 .wcf-member-lower-grid {
    align-items: start;
}

.wcf-member-results-panel-empty {
    min-height: 0 !important;
}

.wcf-member-results-panel-empty .wcf-member-empty-text {
    padding: 13px 14px;
    font-size: .82rem;
    line-height: 1.35;
    font-weight: 700;
}

.wcf-member-quiz-card.is-in-progress {
    background: linear-gradient(180deg, #fffaf0, #ffffff 70%);
    border-color: rgba(201, 168, 76, .48);
    box-shadow: 0 12px 32px rgba(184, 128, 30, .10);
}

.wcf-member-status-progress {
    background: #fff2cc !important;
    color: #9a6500 !important;
}

.wcf-member-main-grid .wcf-member-panel {
    min-height: 220px;
}

.wcf-member-continue-card .wcf-panel-head,
.wcf-member-series-panel .wcf-panel-head {
    margin-bottom: 12px;
}

.wcf-member-continue-card .wcf-portal-btn,
.wcf-member-series-panel .wcf-portal-btn,
.wcf-member-quiz-card .wcf-portal-btn {
    box-sizing: border-box;
    max-width: 100%;
}

.wcf-member-series-panel .wcf-member-card-meta {
    display: grid;
    grid-template-columns: repeat(4, max-content);
    justify-content: start;
    gap: 14px 26px;
}

/* Option 6 style mobile menu: top-bar dropdown/mega panel */
@media (max-width: 760px) {
    .wcf-public-nav {
        position: sticky;
        top: 0;
        z-index: 1200;
        overflow: visible;
    }

    .wcf-nav-inner {
        min-height: 66px;
        padding: 0 16px;
    }

    .wcf-nav-logo-img {
        max-width: 58px;
    }

    .wcf-nav-ham {
        width: 44px;
        height: 44px;
        border-radius: 14px;
        border: 1px solid rgba(15, 23, 42, .12);
        background: linear-gradient(180deg, #ffffff, #f8fafc);
        box-shadow: 0 10px 24px rgba(15, 23, 42, .10);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin-left: auto;
    }

    .wcf-nav-ham span {
        width: 22px;
        height: 2px;
        background: #0b1d3a;
    }

    .wcf-nav-drawer {
        display: none;
    }

    .wcf-nav-drawer.is-open {
        position: absolute;
        left: 16px;
        right: 16px;
        top: calc(100% + 8px);
        z-index: 1300;
        display: block;
        padding: 14px;
        border-radius: 22px;
        background: rgba(255, 255, 255, .98);
        border: 1px solid rgba(15, 35, 75, .10);
        box-shadow: 0 26px 70px rgba(8, 22, 47, .24);
        backdrop-filter: blur(18px) saturate(150%);
        -webkit-backdrop-filter: blur(18px) saturate(150%);
    }

    .wcf-nav-drawer-top {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 8px;
        padding: 0 2px 4px;
    }

    .wcf-nav-drawer-top strong {
        color: #071936;
        font-size: .8rem;
        letter-spacing: .08em;
        text-transform: uppercase;
    }

    .wcf-nav-drawer-close {
        width: 36px;
        height: 36px;
        margin: 0;
        border: 0;
        border-radius: 12px;
        display: inline-grid;
        place-items: center;
        background: #f3f6fb;
        color: #071936;
        font-size: 22px;
        line-height: 1;
        box-shadow: none;
    }

    .wcf-nav-drawer-links {
        display: grid;
        gap: 8px;
    }

    .wcf-nav-drawer .wcf-nav-link {
        display: grid;
        grid-template-columns: 24px 1fr;
        align-items: center;
        gap: 10px;
        min-height: 44px;
        padding: 0 13px;
        border-radius: 14px;
        color: #13213a;
        font-size: .9rem;
        font-weight: 900;
        text-decoration: none;
        border: 1px solid transparent;
        background: transparent;
        pointer-events: auto;
    }

    .wcf-nav-ico {
        width: 24px;
        height: 24px;
        display: inline-grid;
        place-items: center;
        color: #1f5be7;
        font-size: 1rem;
    }

    .wcf-nav-drawer .wcf-nav-link:hover,
    .wcf-nav-drawer .wcf-nav-link:focus-visible,
    .wcf-nav-drawer .wcf-nav-link.wcf-nav-active {
        background: #eef4ff;
        border-color: rgba(31, 91, 231, .14);
        box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .82);
        color: #071936;
        transform: none;
    }

    .wcf-nav-drawer .wcf-nav-switch {
        grid-template-columns: 24px 1fr;
        justify-content: start;
        text-align: left;
        background: #fffaf0;
        border-color: rgba(201, 168, 76, .58);
        color: #071936;
        margin: 0;
    }

    .wcf-nav-drawer .wcf-nav-logout {
        margin-top: 6px;
        padding-top: 10px;
        border-top: 1px solid rgba(15, 35, 75, .08);
        color: #b42318;
        border-radius: 0;
        min-height: 42px;
    }

    .wcf-nav-drawer .wcf-nav-logout .wcf-nav-ico {
        color: #dc2626;
    }

    .wcf-member-dashboard-v3 .wcf-member-hero,
    .wcf-member-dashboard-v2 .wcf-member-hero:not(.wcf-member-hero-simple),
    .wcf-member-list-page .wcf-member-hero,
    .wcf-member-result-page .wcf-member-hero {
        background:
            linear-gradient(180deg, rgba(8, 22, 47, 0.96) 0%, rgba(8, 22, 47, 0.80) 52%, rgba(8, 22, 47, 0.48) 100%),
            url('/wp-content/uploads/2026/05/banner.png') 34% 66% / auto 100% no-repeat !important;
        background-color: #071936 !important;
    }

    .wcf-member-dashboard-v3 .wcf-member-hero {
        min-height: 262px;
        padding: 15px 0 74px;
    }

    .wcf-member-dashboard-v3 main.wcf-portal-section {
        margin-top: -54px;
    }

    .wcf-member-dashboard-v3 .wcf-member-hero-card h1 {
        font-size: clamp(1.38rem, 5.8vw, 1.72rem);
    }

    .wcf-member-dashboard-v3 .wcf-member-hero-verse {
        max-width: 300px;
    }

    .wcf-member-overview-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .wcf-member-dashboard-v3 .wcf-member-stat-card {
        min-height: 118px;
        align-items: center;
    }

    .wcf-member-dashboard-v3 .wcf-member-stat-card small {
        max-width: 96px;
        font-size: .66rem;
        line-height: 1.22;
    }

    .wcf-member-progress-card {
        grid-column: 1 / -1;
    }

    .wcf-member-dashboard-v3 .wcf-member-panel {
        padding: 16px 18px;
        border-radius: 20px;
    }

    .wcf-member-main-grid .wcf-member-panel {
        min-height: 0;
    }

    .wcf-member-continue-card .wcf-portal-btn,
    .wcf-member-series-panel .wcf-portal-btn,
    .wcf-member-quiz-card .wcf-portal-btn {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        align-self: stretch;
        margin-left: 0;
        margin-right: 0;
    }

    .wcf-member-series-panel .wcf-member-card-meta {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px 12px;
        font-size: .74rem;
    }

    .wcf-member-card-meta {
        justify-content: flex-start;
        gap: 6px 12px;
    }

    .wcf-member-quiz-grid {
        grid-template-columns: 1fr;
    }

    .wcf-member-results-panel-empty .wcf-member-empty-text {
        font-size: .78rem;
        padding: 12px;
    }
}

/* Release 11.7.7 — KPI icon/click polish and series part row states */
.wcf-member-dashboard-v3 .wcf-member-stat-card,
.wcf-member-series-dashboard .wcf-member-stat-card {
    text-decoration: none;
    color: inherit;
}

.wcf-member-dashboard-v3 .wcf-member-overview-grid > .wcf-member-stat-card,
.wcf-member-series-dashboard .wcf-member-series-summary > .wcf-member-stat-card {
    min-height: 104px;
    padding: 18px 20px;
    align-items: center;
    gap: 16px;
    border-radius: 20px;
    position: relative;
    overflow: hidden;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

.wcf-member-dashboard-v3 .wcf-member-overview-grid > .wcf-member-stat-card::after,
.wcf-member-series-dashboard .wcf-member-series-summary > .wcf-member-stat-card::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(135deg, rgba(255,255,255,.78), rgba(255,255,255,0));
}

.wcf-member-stat-card-link {
    cursor: pointer;
}

.wcf-member-stat-card-link:hover,
.wcf-member-stat-card-link:focus-visible {
    transform: translateY(-3px);
    border-color: rgba(43, 92, 230, .24);
    box-shadow: 0 22px 44px rgba(8, 22, 47, .14);
    outline: none;
}

.wcf-member-stat-card-link:active {
    transform: translateY(-1px);
}

.wcf-member-stat-card .wcf-stat-icon {
    flex: 0 0 auto;
    width: 46px;
    height: 46px;
    border-radius: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    box-shadow: 0 16px 28px rgba(8, 22, 47, .16);
    font-size: 0;
    position: relative;
    z-index: 1;
}

.wcf-member-stat-card .wcf-stat-icon svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.wcf-member-stat-card > div {
    position: relative;
    z-index: 1;
    min-width: 0;
}

.wcf-member-stat-card span:not(.wcf-stat-icon) {
    display: block;
    color: #1b2740;
    font-size: .85rem;
    font-weight: 850;
    line-height: 1.1;
}

.wcf-member-stat-card strong {
    display: block;
    margin: 5px 0 3px;
    color: #071936;
    font-size: 1.75rem;
    line-height: .95;
    font-weight: 800;
}

.wcf-member-stat-card small {
    display: block;
    color: #64708a;
    font-size: .76rem;
    line-height: 1.25;
    font-weight: 760;
}

.wcf-member-session-card {
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

.wcf-member-session-card:hover,
.wcf-member-session-card:focus-within {
    transform: translateY(-2px);
    border-color: rgba(43, 92, 230, .24);
    box-shadow: 0 16px 34px rgba(8, 22, 47, .10);
}

.wcf-member-session-card.is-available {
    border-color: rgba(34, 160, 88, .18);
    background: linear-gradient(90deg, rgba(34, 160, 88, .055), rgba(255,255,255,.98) 34%);
}

.wcf-member-session-card.is-in-progress {
    border-color: rgba(218, 147, 0, .30);
    background: linear-gradient(90deg, rgba(218, 147, 0, .08), rgba(255,255,255,.98) 36%);
}

.wcf-member-session-card.is-completed {
    border-color: rgba(43, 92, 230, .20);
    background: linear-gradient(90deg, rgba(43, 92, 230, .065), rgba(255,255,255,.98) 34%);
}

.wcf-member-session-card.is-scheduled {
    border-color: rgba(100, 112, 138, .13);
    background: linear-gradient(90deg, rgba(100, 112, 138, .055), rgba(255,255,255,.94) 38%);
}

.wcf-member-session-card.is-scheduled .wcf-session-main h3,
.wcf-member-session-card.is-scheduled .wcf-session-main p,
.wcf-member-session-card.is-scheduled .wcf-session-index {
    opacity: .78;
}

.wcf-member-session-card .wcf-portal-btn {
    transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
}

.wcf-member-session-card .wcf-portal-btn:not(.wcf-portal-btn-disabled):hover,
.wcf-member-session-card .wcf-portal-btn:not(.wcf-portal-btn-disabled):focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 13px 24px rgba(8, 22, 47, .18);
}

@media (max-width: 900px) {
    .wcf-member-dashboard-v3 .wcf-member-overview-grid > .wcf-member-stat-card,
    .wcf-member-series-dashboard .wcf-member-series-summary > .wcf-member-stat-card {
        min-height: 118px;
        padding: 17px 16px;
        gap: 12px;
    }

    .wcf-member-stat-card .wcf-stat-icon {
        width: 42px;
        height: 42px;
        border-radius: 14px;
    }

    .wcf-member-stat-card .wcf-stat-icon svg {
        width: 20px;
        height: 20px;
    }
}

/* Release 11.7.8 — member wording and visual alignment polish */
.wcf-member-dashboard-v3 .wcf-member-hero-pills {
    display: none !important;
}

/* Keep the Bible/open book more visible after the thinner hero layout. */
.wcf-member-dashboard-v3 .wcf-member-hero,
.wcf-member-dashboard-v2 .wcf-member-hero:not(.wcf-member-hero-simple),
.wcf-member-list-page .wcf-member-hero,
.wcf-member-result-page .wcf-member-hero {
    background:
        linear-gradient(90deg, rgba(8, 22, 47, 0.96) 0%, rgba(8, 22, 47, 0.78) 42%, rgba(8, 22, 47, 0.18) 100%),
        url('/wp-content/uploads/2026/05/banner.png') 44% 66% / auto 112% no-repeat !important;
    background-color: #071936 !important;
}

/* Compact, premium KPI tiles. */
.wcf-member-dashboard-v3 .wcf-member-overview-grid > .wcf-member-stat-card,
.wcf-member-series-dashboard .wcf-member-series-summary > .wcf-member-stat-card {
    min-height: 92px !important;
    padding: 16px 18px !important;
    gap: 14px !important;
    align-items: center !important;
}

.wcf-member-dashboard-v3 .wcf-member-overview-grid > .wcf-member-stat-card .wcf-stat-icon,
.wcf-member-series-dashboard .wcf-member-series-summary > .wcf-member-stat-card .wcf-stat-icon {
    width: 44px;
    height: 44px;
    border-radius: 15px;
}

.wcf-member-dashboard-v3 .wcf-member-overview-grid > .wcf-member-stat-card span:not(.wcf-stat-icon),
.wcf-member-series-dashboard .wcf-member-series-summary > .wcf-member-stat-card span:not(.wcf-stat-icon) {
    font-size: .82rem;
    letter-spacing: -.01em;
}

.wcf-member-dashboard-v3 .wcf-member-overview-grid > .wcf-member-stat-card strong,
.wcf-member-series-dashboard .wcf-member-series-summary > .wcf-member-stat-card strong {
    font-size: 1.64rem;
    margin: 4px 0 2px;
}

.wcf-member-dashboard-v3 .wcf-member-overview-grid > .wcf-member-stat-card small,
.wcf-member-series-dashboard .wcf-member-series-summary > .wcf-member-stat-card small {
    font-size: .72rem;
    max-width: 150px;
}

/* Align the Bible Studies listing page with the newer dashboard cards. */
.wcf-member-list-page .wcf-portal-section {
    background: linear-gradient(180deg, #f5f8fd 0%, #ffffff 100%);
}

.wcf-member-list-page .wcf-member-list-cards {
    display: grid;
    gap: 14px;
}

.wcf-member-list-page .wcf-member-list-card {
    display: grid !important;
    grid-template-columns: 46px minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    min-height: 92px !important;
    padding: 18px !important;
    border-radius: 20px !important;
    border: 1px solid rgba(15, 35, 75, .10) !important;
    background: rgba(255, 255, 255, .96) !important;
    box-shadow: 0 14px 32px rgba(8, 22, 47, .08) !important;
}

.wcf-member-list-page .wcf-member-mini-icon {
    width: 42px !important;
    height: 42px !important;
    border-radius: 15px !important;
    display: inline-grid !important;
    place-items: center !important;
    background: linear-gradient(135deg, #2f7cff, #1451ce) !important;
    color: #fff !important;
    box-shadow: 0 14px 26px rgba(8,22,47,.14) !important;
}

.wcf-member-list-page .wcf-member-list-card span {
    display: block;
    color: #c9912c;
    font-size: .72rem !important;
    font-weight: 950;
    line-height: 1.15;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.wcf-member-list-page .wcf-member-list-card strong {
    display: block;
    color: #071936;
    font-size: 1rem !important;
    line-height: 1.28 !important;
    margin: 3px 0 4px !important;
    font-weight: 900;
}

.wcf-member-list-page .wcf-member-list-card em {
    display: inline-block;
    margin-right: 8px;
    color: #63708b;
    font-size: .82rem !important;
    line-height: 1.35;
    font-style: normal;
    font-weight: 750;
}

.wcf-member-list-page .wcf-member-list-card .wcf-portal-btn,
.wcf-member-list-page .wcf-member-list-card > a {
    min-height: 42px !important;
    padding: 0 16px !important;
    border-radius: 13px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    color: #fff !important;
    background: linear-gradient(135deg, #09224d, #0f3473) !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    box-shadow: 0 12px 24px rgba(8, 29, 68, .18) !important;
    text-decoration: none !important;
    font-size: .84rem !important;
    font-weight: 900 !important;
    white-space: nowrap;
}

.wcf-member-list-page .wcf-member-list-card .wcf-portal-btn:hover,
.wcf-member-list-page .wcf-member-list-card > a:hover {
    transform: translateY(-1px);
    box-shadow: 0 15px 28px rgba(8, 29, 68, .24) !important;
}

.wcf-member-list-page .wcf-member-empty-card {
    border-radius: 22px !important;
    border: 1px solid rgba(15, 35, 75, .10) !important;
    box-shadow: 0 14px 32px rgba(8, 22, 47, .08) !important;
}

/* Series dashboard wording/style alignment. */
.wcf-member-series-dashboard .wcf-member-series-detail-panel .wcf-panel-head h2,
.wcf-member-list-page .wcf-member-hero-card h1 {
    letter-spacing: -.035em;
}

.wcf-member-session-card .wcf-portal-btn,
.wcf-member-session-card .wcf-portal-btn-disabled {
    min-width: 128px;
    white-space: nowrap;
}

.wcf-member-results-panel-empty {
    align-self: start;
}

.wcf-member-results-panel-empty .wcf-panel-head {
    margin-bottom: 8px;
}

.wcf-member-results-panel-empty .wcf-member-empty-text {
    margin: 0;
    padding: 11px 12px !important;
    min-height: 0;
}

/* Mobile polish: menu, cards, hero crop and typography. */
@media (max-width: 760px) {
    .wcf-public-nav .wcf-nav-inner {
        min-height: 60px;
        padding-inline: 14px;
    }

    .wcf-nav-ham {
        width: 42px;
        height: 42px;
        border-radius: 14px;
    }

    .wcf-nav-drawer.is-open {
        top: calc(100% + 6px);
        left: 12px;
        right: 12px;
        padding: 12px;
        border-radius: 20px;
    }

    .wcf-nav-drawer .wcf-nav-link {
        min-height: 42px;
        font-size: .88rem;
    }

    .wcf-member-dashboard-v3 .wcf-member-hero,
    .wcf-member-dashboard-v2 .wcf-member-hero:not(.wcf-member-hero-simple),
    .wcf-member-list-page .wcf-member-hero,
    .wcf-member-result-page .wcf-member-hero {
        background:
            linear-gradient(180deg, rgba(8, 22, 47, 0.96) 0%, rgba(8, 22, 47, 0.80) 52%, rgba(8, 22, 47, 0.46) 100%),
            url('/wp-content/uploads/2026/05/banner.png') 24% 66% / auto 94% no-repeat !important;
        background-color: #071936 !important;
    }

    .wcf-member-dashboard-v3 .wcf-member-hero {
        min-height: 250px;
        padding: 14px 0 66px;
    }

    .wcf-member-dashboard-v3 main.wcf-portal-section {
        margin-top: -48px;
    }

    .wcf-member-dashboard-v3 .wcf-member-overview-grid > .wcf-member-stat-card,
    .wcf-member-series-dashboard .wcf-member-series-summary > .wcf-member-stat-card {
        min-height: 106px !important;
        padding: 13px !important;
        gap: 9px !important;
        flex-direction: column;
        align-items: flex-start !important;
    }

    .wcf-member-dashboard-v3 .wcf-member-overview-grid > .wcf-member-stat-card .wcf-stat-icon,
    .wcf-member-series-dashboard .wcf-member-series-summary > .wcf-member-stat-card .wcf-stat-icon {
        width: 36px;
        height: 36px;
        border-radius: 13px;
    }

    .wcf-member-dashboard-v3 .wcf-member-overview-grid > .wcf-member-stat-card strong,
    .wcf-member-series-dashboard .wcf-member-series-summary > .wcf-member-stat-card strong {
        font-size: 1.42rem;
        margin: 3px 0 1px;
    }

    .wcf-member-dashboard-v3 .wcf-member-overview-grid > .wcf-member-stat-card small,
    .wcf-member-series-dashboard .wcf-member-series-summary > .wcf-member-stat-card small {
        font-size: .65rem;
        line-height: 1.2;
    }

    .wcf-member-list-page .wcf-member-list-card {
        grid-template-columns: 40px minmax(0, 1fr);
        gap: 12px;
        padding: 16px !important;
        border-radius: 19px !important;
    }

    .wcf-member-list-page .wcf-member-list-card .wcf-portal-btn,
    .wcf-member-list-page .wcf-member-list-card > a {
        grid-column: 1 / -1;
        width: 100%;
        min-height: 42px !important;
        box-sizing: border-box;
    }

    .wcf-member-list-page .wcf-member-list-card strong,
    .wcf-member-session-card h3,
    .wcf-member-quiz-card h3,
    .wcf-member-series-panel .wcf-series-copy h3 {
        font-size: .96rem !important;
        line-height: 1.32 !important;
    }

    .wcf-member-list-page .wcf-member-list-card em,
    .wcf-member-session-card p,
    .wcf-member-quiz-card p,
    .wcf-member-series-panel .wcf-series-copy p {
        font-size: .82rem !important;
        line-height: 1.42 !important;
    }

    .wcf-member-session-card .wcf-portal-btn,
    .wcf-member-session-card .wcf-portal-btn-disabled {
        min-width: 0;
        width: 100%;
        box-sizing: border-box;
    }
}

/* Release 11.7.9 — member listing alignment, series list and hero crop separation */
@media (min-width: 761px) {
    .wcf-member-dashboard-v3 .wcf-member-hero,
    .wcf-member-dashboard-v2 .wcf-member-hero:not(.wcf-member-hero-simple),
    .wcf-member-list-page .wcf-member-hero,
    .wcf-member-result-page .wcf-member-hero {
        background:
            linear-gradient(90deg, rgba(8, 22, 47, 0.95) 0%, rgba(8, 22, 47, 0.78) 42%, rgba(8, 22, 47, 0.20) 100%),
            url('/wp-content/uploads/2026/05/banner.png') center right / cover no-repeat !important;
        background-color: #071936 !important;
    }
}

@media (max-width: 760px) {
    .wcf-member-dashboard-v3 .wcf-member-hero,
    .wcf-member-dashboard-v2 .wcf-member-hero:not(.wcf-member-hero-simple),
    .wcf-member-list-page .wcf-member-hero,
    .wcf-member-result-page .wcf-member-hero {
        background:
            linear-gradient(180deg, rgba(8, 22, 47, 0.96) 0%, rgba(8, 22, 47, 0.80) 52%, rgba(8, 22, 47, 0.46) 100%),
            url('/wp-content/uploads/2026/05/banner.png') 22% 66% / auto 92% no-repeat !important;
        background-color: #071936 !important;
    }
}

.wcf-member-bible-studies-page .wcf-portal-section,
.wcf-member-series-list-page .wcf-portal-section {
    background: linear-gradient(180deg, #f5f8fd 0%, #ffffff 100%) !important;
}

.wcf-member-bible-studies-panel,
.wcf-member-series-list-panel {
    margin-bottom: 22px;
}

.wcf-member-study-list,
.wcf-member-series-list {
    display: grid;
    gap: 12px;
    margin-top: 18px;
}

.wcf-member-study-row,
.wcf-member-series-row {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 14px;
    padding: 14px;
    border: 1px solid rgba(15,35,75,.10);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 25px rgba(8,22,47,.06);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

.wcf-member-series-row {
    grid-template-columns: 112px minmax(0, 1fr) auto;
    align-items: center;
}

.wcf-member-study-row:hover,
.wcf-member-study-row:focus-within,
.wcf-member-series-row:hover,
.wcf-member-series-row:focus-within {
    transform: translateY(-2px);
    border-color: rgba(43, 92, 230, .24);
    box-shadow: 0 16px 34px rgba(8, 22, 47, .10);
}

.wcf-member-study-row.is-available,
.wcf-member-series-row {
    border-color: rgba(34, 160, 88, .18);
    background: linear-gradient(90deg, rgba(34, 160, 88, .045), rgba(255,255,255,.98) 34%);
}

.wcf-member-study-row.is-in-progress {
    border-color: rgba(218, 147, 0, .30);
    background: linear-gradient(90deg, rgba(218, 147, 0, .08), rgba(255,255,255,.98) 36%);
}

.wcf-member-study-row.is-completed {
    border-color: rgba(43, 92, 230, .20);
    background: linear-gradient(90deg, rgba(43, 92, 230, .065), rgba(255,255,255,.98) 34%);
}

.wcf-member-study-row.is-scheduled {
    border-color: rgba(100, 112, 138, .13);
    background: linear-gradient(90deg, rgba(100, 112, 138, .055), rgba(255,255,255,.94) 38%);
}

.wcf-study-index {
    color: #c9912c;
    font-size: .74rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.wcf-study-main h3 {
    margin: 0 0 4px;
    color: #071936;
    font-size: .98rem;
    line-height: 1.3;
    font-weight: 850;
}

.wcf-study-main p,
.wcf-study-main small {
    margin: 0;
    color: #63708b;
    font-size: .84rem;
    line-height: 1.4;
    font-weight: 650;
}

.wcf-study-main .wcf-member-progress-line {
    max-width: 420px;
    margin: 10px 0 6px;
}

.wcf-member-study-row .wcf-portal-btn,
.wcf-member-study-row .wcf-portal-btn-disabled,
.wcf-member-series-row .wcf-portal-btn {
    min-width: 150px !important;
    min-height: 46px !important;
    padding: 0 18px !important;
    border-radius: 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    background: linear-gradient(135deg, #09224d, #0f3473) !important;
    color: #fff !important;
    font-size: .86rem !important;
    font-weight: 900 !important;
    text-decoration: none !important;
    white-space: nowrap;
    box-shadow: 0 12px 24px rgba(8,29,68,.18) !important;
}

.wcf-member-study-row .wcf-portal-btn-disabled {
    background: #8390aa !important;
    color: #fff !important;
    box-shadow: none !important;
}

.wcf-member-study-row .wcf-portal-btn:not(.wcf-portal-btn-disabled):hover,
.wcf-member-series-row .wcf-portal-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 15px 28px rgba(8,29,68,.24) !important;
}

.wcf-member-bible-studies-page .wcf-portal-grid,
.wcf-member-bible-studies-page .wcf-portal-card {
    display: none !important;
}

.wcf-member-series-list-page .wcf-member-card-meta {
    margin: 8px 0 0;
    justify-content: flex-start;
    gap: 12px 18px;
}

.wcf-member-series-list-page .wcf-member-card-meta strong {
    margin-left: auto;
}

@media (max-width: 900px) {
    .wcf-member-study-row,
    .wcf-member-series-row {
        grid-template-columns: 86px minmax(0, 1fr);
        align-items: start;
    }

    .wcf-member-study-row .wcf-member-status-pill,
    .wcf-member-study-row .wcf-portal-btn,
    .wcf-member-study-row .wcf-portal-btn-disabled,
    .wcf-member-series-row .wcf-portal-btn {
        grid-column: 1 / -1;
    }

    .wcf-member-study-row .wcf-portal-btn,
    .wcf-member-study-row .wcf-portal-btn-disabled,
    .wcf-member-series-row .wcf-portal-btn {
        width: 100%;
        box-sizing: border-box;
    }

    .wcf-member-series-list-page .wcf-member-card-meta strong {
        margin-left: 0;
    }
}

@media (max-width: 760px) {
    .wcf-member-study-row,
    .wcf-member-series-row {
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 16px !important;
        border-radius: 19px !important;
    }

    .wcf-study-index {
        font-size: .68rem;
    }

    .wcf-study-main h3 {
        font-size: .96rem !important;
        line-height: 1.32 !important;
    }

    .wcf-study-main p,
    .wcf-study-main small {
        font-size: .82rem !important;
        line-height: 1.42 !important;
    }

    .wcf-member-bible-studies-page .wcf-member-hero-actions,
    .wcf-member-series-list-page .wcf-member-hero-actions {
        width: 100%;
        margin-top: 8px;
    }

    .wcf-member-bible-studies-page .wcf-member-hero-actions .wcf-portal-btn,
    .wcf-member-series-list-page .wcf-member-hero-actions .wcf-portal-btn {
        width: 100%;
    }
}


/* Release 11.8.0 — internal member pages use compact hero; mobile dashboard crop only */

/* Only the main dashboard keeps the large fluid hero. Member sub-pages use a compact internal hero. */
@media (min-width: 761px) {
    .wcf-member-list-page .wcf-member-hero,
    .wcf-member-series-dashboard .wcf-member-hero,
    .wcf-member-result-page .wcf-member-hero,
    .wcf-member-activities-page .wcf-member-hero {
        position: relative !important;
        top: auto !important;
        z-index: auto !important;
        min-height: 0 !important;
        padding: 26px 0 24px !important;
        background:
            linear-gradient(90deg, rgba(8,22,47,.96) 0%, rgba(8,22,47,.84) 50%, rgba(8,22,47,.48) 100%),
            url('/wp-content/uploads/2026/05/banner.png') center right / cover no-repeat !important;
        background-color: #071936 !important;
        box-shadow: 0 18px 42px rgba(8,22,47,.16) !important;
    }

    body.admin-bar .wcf-member-list-page .wcf-member-hero,
    body.admin-bar .wcf-member-series-dashboard .wcf-member-hero,
    body.admin-bar .wcf-member-result-page .wcf-member-hero,
    body.admin-bar .wcf-member-activities-page .wcf-member-hero {
        top: auto !important;
    }

    .wcf-member-list-page .wcf-member-hero-card,
    .wcf-member-series-dashboard .wcf-member-hero-card,
    .wcf-member-result-page .wcf-member-hero-card,
    .wcf-member-activities-page .wcf-member-hero-card {
        min-height: 116px !important;
        margin-top: 14px !important;
        padding: 24px 28px !important;
        border-radius: 22px !important;
        background: rgba(255,255,255,.10) !important;
        border: 1px solid rgba(255,255,255,.18) !important;
        box-shadow: 0 18px 42px rgba(0,0,0,.18) !important;
        backdrop-filter: blur(7px) !important;
    }

    .wcf-member-list-page .wcf-member-hero-card h1,
    .wcf-member-series-dashboard .wcf-member-hero-card h1,
    .wcf-member-result-page .wcf-member-hero-card h1,
    .wcf-member-activities-page .wcf-member-hero-card h1 {
        font-size: clamp(30px, 2.45vw, 38px) !important;
        line-height: 1.08 !important;
        margin: 8px 0 8px !important;
    }

    .wcf-member-list-page main.wcf-portal-section,
    .wcf-member-series-dashboard main.wcf-portal-section,
    .wcf-member-result-page .wcf-portal-section,
    .wcf-member-activities-page .wcf-portal-section {
        margin-top: 0 !important;
        padding-top: 30px !important;
    }

    /* Main dashboard only: keep the full-width fluid hero crop restored. */
    .wcf-portal-dashboard.wcf-member-dashboard-v3:not(.wcf-member-list-page) .wcf-member-hero {
        background:
            linear-gradient(90deg, rgba(8,22,47,.95) 0%, rgba(8,22,47,.78) 42%, rgba(8,22,47,.20) 100%),
            url('/wp-content/uploads/2026/05/banner.png') center right / cover no-repeat !important;
        background-color: #071936 !important;
    }
}

/* Mobile tuning applies to the main dashboard hero only; sub-pages remain compact. */
@media (max-width: 760px) {
    .wcf-portal-dashboard.wcf-member-dashboard-v3:not(.wcf-member-list-page) .wcf-member-hero {
        background:
            linear-gradient(180deg, rgba(8,22,47,.96) 0%, rgba(8,22,47,.80) 52%, rgba(8,22,47,.46) 100%),
            url('/wp-content/uploads/2026/05/banner.png') 47% 66% / auto 88% no-repeat !important;
        background-color: #071936 !important;
    }

    .wcf-member-list-page .wcf-member-hero,
    .wcf-member-series-dashboard .wcf-member-hero,
    .wcf-member-result-page .wcf-member-hero,
    .wcf-member-activities-page .wcf-member-hero {
        background:
            linear-gradient(180deg, rgba(8,22,47,.96) 0%, rgba(8,22,47,.84) 100%),
            url('/wp-content/uploads/2026/05/banner.png') center right / cover no-repeat !important;
        background-color: #071936 !important;
        padding: 10px 0 14px !important;
        min-height: 0 !important;
    }
}

/* Bring all member list/card views into the same row/list visual language. */
.wcf-member-list-page .wcf-member-list-cards {
    display: grid !important;
    gap: 12px !important;
}

.wcf-member-list-page .wcf-member-list-card {
    display: grid !important;
    grid-template-columns: 52px minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 14px !important;
    border: 1px solid rgba(15,35,75,.10) !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 10px 25px rgba(8,22,47,.06) !important;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}

.wcf-member-list-page .wcf-member-list-card:hover,
.wcf-member-list-page .wcf-member-list-card:focus-within {
    transform: translateY(-2px) !important;
    border-color: rgba(43,92,230,.24) !important;
    box-shadow: 0 16px 34px rgba(8,22,47,.10) !important;
}

.wcf-member-list-page .wcf-member-list-card .wcf-member-mini-icon {
    width: 42px !important;
    height: 42px !important;
    border-radius: 14px !important;
    display: grid !important;
    place-items: center !important;
    background: linear-gradient(135deg, #2b5ce6, #1847b8) !important;
    color: #fff !important;
    box-shadow: 0 12px 24px rgba(43,92,230,.20) !important;
}

.wcf-member-list-page .wcf-member-list-card span {
    color: #c9912c !important;
    font-size: .72rem !important;
    font-weight: 950 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

.wcf-member-list-page .wcf-member-list-card strong {
    display: block !important;
    margin: 4px 0 !important;
    color: #071936 !important;
    font-size: .98rem !important;
    line-height: 1.3 !important;
    font-weight: 850 !important;
}

.wcf-member-list-page .wcf-member-list-card em {
    display: block !important;
    color: #63708b !important;
    font-size: .84rem !important;
    line-height: 1.4 !important;
    font-style: normal !important;
    font-weight: 650 !important;
}

.wcf-member-list-page .wcf-member-list-card .wcf-portal-btn {
    min-width: 150px !important;
    min-height: 46px !important;
    padding: 0 18px !important;
    border-radius: 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: linear-gradient(135deg, #09224d, #0f3473) !important;
    color: #fff !important;
    font-size: .86rem !important;
    font-weight: 900 !important;
    text-decoration: none !important;
    box-shadow: 0 12px 24px rgba(8,29,68,.18) !important;
}

@media (max-width: 900px) {
    .wcf-member-list-page .wcf-member-list-card {
        grid-template-columns: 44px minmax(0,1fr) !important;
    }
    .wcf-member-list-page .wcf-member-list-card .wcf-portal-btn {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }
}

@media (max-width: 760px) {
    .wcf-member-list-page .wcf-member-list-card {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        padding: 16px !important;
        border-radius: 19px !important;
    }

    .wcf-member-list-page .wcf-member-list-card .wcf-member-mini-icon {
        width: 38px !important;
        height: 38px !important;
        border-radius: 13px !important;
    }

    .wcf-member-list-page .wcf-member-list-card strong {
        font-size: .96rem !important;
        line-height: 1.32 !important;
    }

    .wcf-member-list-page .wcf-member-list-card em {
        font-size: .82rem !important;
        line-height: 1.42 !important;
    }
}


/* Release 11.8.1: compact internal member page heroes.
   Keep the main WCF Member Area dashboard hero image untouched; internal pages use a regular aligned inner banner. */
.wcf-member-dashboard-v3.wcf-member-list-page .wcf-member-hero,
.wcf-member-dashboard-v3.wcf-member-series-dashboard .wcf-member-hero,
.wcf-member-dashboard-v3.wcf-member-result-page .wcf-member-hero {
    background: linear-gradient(135deg, #08162f 0%, #0b1d3a 54%, #12305f 100%) !important;
    color: #fff !important;
    min-height: 0 !important;
    padding: 26px 0 28px !important;
    overflow: visible !important;
    position: relative !important;
}

.wcf-member-dashboard-v3.wcf-member-list-page .wcf-member-hero::after,
.wcf-member-dashboard-v3.wcf-member-series-dashboard .wcf-member-hero::after,
.wcf-member-dashboard-v3.wcf-member-result-page .wcf-member-hero::after {
    display: none !important;
    content: none !important;
}

.wcf-member-dashboard-v3.wcf-member-list-page .wcf-member-hero-card,
.wcf-member-dashboard-v3.wcf-member-series-dashboard .wcf-member-hero-card,
.wcf-member-dashboard-v3.wcf-member-result-page .wcf-member-hero-card {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;
    margin: 12px 0 0 !important;
    padding: 26px 28px !important;
    border-radius: 24px !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    background:
        linear-gradient(135deg, rgba(255,255,255,.12), rgba(255,255,255,.055)),
        linear-gradient(135deg, rgba(13,38,84,.76), rgba(8,22,47,.54)) !important;
    box-shadow: 0 20px 50px rgba(0,0,0,.18) !important;
    backdrop-filter: blur(14px) !important;
}

.wcf-member-dashboard-v3.wcf-member-list-page .wcf-member-hero-card h1,
.wcf-member-dashboard-v3.wcf-member-series-dashboard .wcf-member-hero-card h1,
.wcf-member-dashboard-v3.wcf-member-result-page .wcf-member-hero-card h1 {
    color: #fff !important;
    font-size: clamp(2rem, 3.4vw, 3.1rem) !important;
    line-height: 1.05 !important;
    margin: 10px 0 8px !important;
    letter-spacing: -.045em !important;
    text-shadow: none !important;
}

.wcf-member-dashboard-v3.wcf-member-list-page .wcf-member-hero-card p,
.wcf-member-dashboard-v3.wcf-member-series-dashboard .wcf-member-hero-card p,
.wcf-member-dashboard-v3.wcf-member-result-page .wcf-member-hero-card p {
    margin: 0 !important;
    color: rgba(255,255,255,.84) !important;
    font-size: 1rem !important;
    line-height: 1.55 !important;
    max-width: 720px !important;
}

.wcf-member-dashboard-v3.wcf-member-list-page .wcf-member-hero-card .wcf-portal-kicker,
.wcf-member-dashboard-v3.wcf-member-series-dashboard .wcf-member-hero-card .wcf-portal-kicker,
.wcf-member-dashboard-v3.wcf-member-result-page .wcf-member-hero-card .wcf-portal-kicker {
    color: #f3b642 !important;
    letter-spacing: .12em !important;
    font-size: .76rem !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
}

.wcf-member-dashboard-v3.wcf-member-list-page .wcf-member-hero-actions,
.wcf-member-dashboard-v3.wcf-member-series-dashboard .wcf-member-hero-actions,
.wcf-member-dashboard-v3.wcf-member-result-page .wcf-member-hero-actions {
    margin: 0 !important;
    flex: 0 0 auto !important;
}

.wcf-member-dashboard-v3.wcf-member-list-page .wcf-member-hero-actions .wcf-portal-btn,
.wcf-member-dashboard-v3.wcf-member-series-dashboard .wcf-member-hero-actions .wcf-portal-btn,
.wcf-member-dashboard-v3.wcf-member-result-page .wcf-member-hero-actions .wcf-portal-btn {
    min-width: 160px !important;
    min-height: 52px !important;
    border-radius: 14px !important;
    background: rgba(255,255,255,.92) !important;
    color: #08162f !important;
    border: 1px solid rgba(255,255,255,.68) !important;
    box-shadow: 0 14px 32px rgba(0,0,0,.12) !important;
}

.wcf-member-dashboard-v3.wcf-member-list-page main.wcf-portal-section,
.wcf-member-dashboard-v3.wcf-member-series-dashboard main.wcf-portal-section,
.wcf-member-dashboard-v3.wcf-member-result-page main.wcf-portal-section {
    margin-top: 0 !important;
    padding-top: 28px !important;
}

.wcf-member-dashboard-v3.wcf-member-series-dashboard .wcf-member-series-summary {
    margin-top: 0 !important;
}

@media (max-width: 900px) {
    .wcf-member-dashboard-v3.wcf-member-list-page .wcf-member-hero,
    .wcf-member-dashboard-v3.wcf-member-series-dashboard .wcf-member-hero,
    .wcf-member-dashboard-v3.wcf-member-result-page .wcf-member-hero {
        padding: 18px 0 22px !important;
    }

    .wcf-member-dashboard-v3.wcf-member-list-page .wcf-member-hero-card,
    .wcf-member-dashboard-v3.wcf-member-series-dashboard .wcf-member-hero-card,
    .wcf-member-dashboard-v3.wcf-member-result-page .wcf-member-hero-card {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 18px !important;
        padding: 22px !important;
        border-radius: 21px !important;
    }

    .wcf-member-dashboard-v3.wcf-member-list-page .wcf-member-hero-actions,
    .wcf-member-dashboard-v3.wcf-member-series-dashboard .wcf-member-hero-actions,
    .wcf-member-dashboard-v3.wcf-member-result-page .wcf-member-hero-actions {
        width: 100% !important;
    }

    .wcf-member-dashboard-v3.wcf-member-list-page .wcf-member-hero-actions .wcf-portal-btn,
    .wcf-member-dashboard-v3.wcf-member-series-dashboard .wcf-member-hero-actions .wcf-portal-btn,
    .wcf-member-dashboard-v3.wcf-member-result-page .wcf-member-hero-actions .wcf-portal-btn {
        width: 100% !important;
        box-sizing: border-box !important;
    }
}

@media (max-width: 760px) {
    .wcf-member-dashboard-v3.wcf-member-list-page .wcf-member-hero-card h1,
    .wcf-member-dashboard-v3.wcf-member-series-dashboard .wcf-member-hero-card h1,
    .wcf-member-dashboard-v3.wcf-member-result-page .wcf-member-hero-card h1 {
        font-size: clamp(1.8rem, 9vw, 2.5rem) !important;
    }

    .wcf-member-dashboard-v3.wcf-member-list-page main.wcf-portal-section,
    .wcf-member-dashboard-v3.wcf-member-series-dashboard main.wcf-portal-section,
    .wcf-member-dashboard-v3.wcf-member-result-page main.wcf-portal-section {
        padding-top: 20px !important;
    }
}


/* Release 11.9.8 — Bible Studies listing uses compact internal hero, not dashboard image hero. */
.wcf-member-dashboard-v3 .wcf-member-bible-studies-hero,
.wcf-member-bible-studies-hero {
  position: relative !important;
  min-height: auto !important;
  padding: 28px 0 18px !important;
  background: linear-gradient(135deg, #071b3a 0%, #0b2b5a 58%, #123f7a 100%) !important;
  overflow: visible !important;
}
.wcf-member-dashboard-v3 .wcf-member-bible-studies-hero::after,
.wcf-member-bible-studies-hero::after { display: none !important; }
.wcf-member-dashboard-v3 .wcf-member-bible-studies-hero .wcf-member-hero-card,
.wcf-member-bible-studies-hero .wcf-member-hero-card {
  min-height: auto !important;
  padding: 24px !important;
  border-radius: 24px !important;
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  box-shadow: none !important;
}
.wcf-member-dashboard-v3 .wcf-member-bible-studies-hero .wcf-member-hero-card h1,
.wcf-member-bible-studies-hero .wcf-member-hero-card h1 {
  font-size: clamp(2rem, 3vw, 3rem) !important;
}

/* Release 12.0 polished auth screens */
.wcf-auth-page {
    min-height: 100vh;
    background:
        radial-gradient(circle at top left, rgba(14,165,164,.20), transparent 34%),
        radial-gradient(circle at bottom right, rgba(43,92,230,.22), transparent 34%),
        linear-gradient(135deg, #08162f 0%, #0b1d3a 46%, #12305f 100%);
    padding: clamp(22px, 4vw, 56px);
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}

.wcf-auth-shell {
    width: min(1080px, 100%);
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 460px);
    gap: clamp(18px, 3vw, 34px);
    align-items: stretch;
}

.wcf-auth-hero-panel,
.wcf-auth-card {
    border: 1px solid rgba(255,255,255,.18);
    box-shadow: 0 26px 80px rgba(0,0,0,.30);
    border-radius: 28px;
}

.wcf-auth-hero-panel {
    position: relative;
    overflow: hidden;
    min-height: 520px;
    padding: clamp(28px, 4vw, 52px);
    color: #fff;
    background:
        linear-gradient(135deg, rgba(8,22,47,.86), rgba(8,22,47,.58)),
        url('/wp-content/uploads/2026/05/banner.png') center / cover no-repeat;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.wcf-auth-hero-panel::before {
    content: '';
    position: absolute;
    inset: 18px;
    border: 1px solid rgba(255,255,255,.20);
    border-radius: 22px;
    pointer-events: none;
}

.wcf-auth-mark {
    position: absolute;
    top: clamp(28px, 4vw, 48px);
    left: clamp(28px, 4vw, 52px);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 13px;
    border-radius: 999px;
    background: rgba(255,255,255,.14);
    color: #eaf4ff;
    font-size: var(--wcf-fs-xs);
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
    backdrop-filter: blur(10px);
}

.wcf-auth-hero-panel h1 {
    position: relative;
    margin: 0 0 14px;
    max-width: 620px;
    color: #fff;
    font-size: clamp(2.45rem, 5vw, 4.6rem);
    line-height: .96;
    letter-spacing: -.05em;
    font-weight: 950;
}

.wcf-auth-hero-panel p {
    position: relative;
    max-width: 560px;
    margin: 0 0 22px;
    color: rgba(255,255,255,.84);
    font-size: clamp(1rem, 1.4vw, 1.18rem);
    line-height: 1.6;
}

.wcf-auth-verse {
    position: relative;
    max-width: 560px;
    padding: 18px 20px;
    border-radius: 20px;
    background: rgba(255,255,255,.13);
    border: 1px solid rgba(255,255,255,.18);
    color: #fff;
    font-weight: 750;
    backdrop-filter: blur(12px);
}

.wcf-auth-verse span {
    display: block;
    margin-top: 7px;
    color: rgba(255,255,255,.72);
    font-size: var(--wcf-fs-xs);
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.wcf-auth-mini-stats,
.wcf-auth-benefits {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
    padding: 0;
    list-style: none;
}

.wcf-auth-mini-stats span,
.wcf-auth-benefits li {
    display: inline-flex;
    align-items: center;
    padding: 9px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,.13);
    border: 1px solid rgba(255,255,255,.16);
    color: rgba(255,255,255,.86);
    font-size: var(--wcf-fs-xs);
    font-weight: 850;
}

.wcf-auth-card {
    background: rgba(255,255,255,.96);
    padding: clamp(22px, 3vw, 32px);
    align-self: center;
    backdrop-filter: blur(18px);
}

.wcf-auth-card-wide {
    align-self: stretch;
    overflow: auto;
    max-height: calc(100vh - 80px);
}

.wcf-auth-card-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.wcf-auth-kicker {
    display: inline-block;
    margin-bottom: 7px;
    color: #2b5ce6;
    font-size: var(--wcf-fs-xs);
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .13em;
}

.wcf-auth-card h2 {
    margin: 0 0 6px;
    color: var(--wcf-navy-2);
    font-size: clamp(1.75rem, 3vw, 2.35rem);
    letter-spacing: -.04em;
    line-height: 1;
}

.wcf-auth-card p,
.wcf-auth-subcopy {
    margin: 0;
    color: var(--wcf-muted);
    line-height: 1.55;
}

.wcf-sso-stack {
    display: grid;
    gap: 10px;
    margin: 18px 0;
}

.wcf-sso-btn {
    display: grid;
    grid-template-columns: 34px 1fr auto;
    align-items: center;
    gap: 10px;
    padding: 12px 13px;
    border-radius: 14px;
    border: 1px solid #dbe3ef;
    background: #fff;
    color: var(--wcf-navy-2);
    text-decoration: none;
    font-weight: 900;
    box-shadow: 0 10px 24px rgba(15,23,42,.06);
}

.wcf-sso-btn em {
    color: #64748b;
    font-size: 11px;
    font-style: normal;
    font-weight: 800;
}

.wcf-sso-btn.is-disabled {
    opacity: .82;
}

.wcf-sso-icon {
    display: inline-grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 10px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    font-weight: 950;
}

.wcf-sso-icon.is-ms {
    color: #2563eb;
}

.wcf-divider {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 18px 0;
    text-align: center;
    color: #94a3b8;
    font-size: var(--wcf-fs-xs);
    font-weight: 850;
}

.wcf-divider::before,
.wcf-divider::after {
    content: '';
    height: 1px;
    flex: 1;
    background: #e2e8f0;
}

.wcf-login-form label,
.wcf-register-form label:not(.wcf-auth-check) {
    display: block;
    margin-bottom: 10px;
}

.wcf-login-form label > span,
.wcf-register-form label > span {
    display: block;
    margin-bottom: 6px;
    color: #334155;
    font-size: var(--wcf-fs-xs);
    font-weight: 900;
}

.wcf-auth-page .wcf-input {
    min-height: 46px;
    margin-bottom: 0;
    border-radius: 13px;
    border-color: #dbe3ef;
    box-shadow: 0 1px 0 rgba(15,23,42,.02);
}

.wcf-auth-page .wcf-input:focus {
    outline: none;
    border-color: #2b5ce6;
    box-shadow: 0 0 0 4px rgba(43,92,230,.12);
}

.wcf-auth-page .wcf-login-submit {
    min-height: 48px;
    border-radius: 14px;
    background: linear-gradient(135deg, #0b1d3a, #2b5ce6);
    box-shadow: 0 14px 28px rgba(43,92,230,.22);
}

.wcf-auth-page .wcf-login-submit:hover {
    background: linear-gradient(135deg, #08162f, #1d4ed8);
    color: #fff;
}

.wcf-auth-link-row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-top: 16px;
    font-size: var(--wcf-fs-sm);
}

.wcf-auth-link-row a,
.wcf-auth-small-link {
    color: #1d4ed8;
    font-weight: 900;
    text-decoration: none;
}

.wcf-auth-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 12px;
}

.wcf-field-wide {
    grid-column: 1 / -1;
}

.wcf-auth-check {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 10px 0;
    padding: 12px;
    border-radius: 14px;
    background: #f8fafc;
    color: #334155;
    font-size: var(--wcf-fs-sm);
    line-height: 1.45;
}

.wcf-auth-check input {
    margin-top: 3px;
}

.wcf-auth-note {
    margin: 6px 0 12px;
    padding: 12px 14px;
    border-radius: 14px;
    background: #fff7ed;
    color: #9a3412;
    font-size: var(--wcf-fs-sm);
    line-height: 1.45;
}

.wcf-auth-success-icon {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    margin-bottom: 18px;
    border-radius: 18px;
    background: #dcfce7;
    color: #166534;
    font-size: 28px;
    font-weight: 950;
}

.wcf-auth-actions-row {
    margin-top: 22px;
}

@media (max-width: 900px) {
    .wcf-auth-page {
        padding: 16px;
        align-items: flex-start;
    }
    .wcf-auth-shell {
        grid-template-columns: 1fr;
    }
    .wcf-auth-hero-panel {
        min-height: 330px;
        padding: 26px;
        justify-content: flex-end;
    }
    .wcf-auth-card,
    .wcf-auth-card-wide {
        max-height: none;
        align-self: auto;
    }
}

@media (max-width: 560px) {
    .wcf-auth-page {
        padding: 10px;
    }
    .wcf-auth-hero-panel,
    .wcf-auth-card {
        border-radius: 22px;
    }
    .wcf-auth-hero-panel::before {
        inset: 12px;
        border-radius: 18px;
    }
    .wcf-auth-mark {
        top: 22px;
        left: 22px;
    }
    .wcf-auth-hero-panel h1 {
        font-size: 2.35rem;
    }
    .wcf-auth-card {
        padding: 20px;
    }
    .wcf-auth-grid {
        grid-template-columns: 1fr;
    }
    .wcf-auth-link-row,
    .wcf-auth-card-top {
        flex-direction: column;
        align-items: flex-start;
    }
    .wcf-sso-btn {
        grid-template-columns: 34px 1fr;
    }
    .wcf-sso-btn em {
        grid-column: 2;
    }
}

/* Release 12.0.1 — shared branding polish */
.wcf-nav-logo-img {
    width: auto;
    max-width: 220px;
    max-height: 70px;
    object-fit: contain;
}

.wcf-auth-mark {
    max-width: min(390px, calc(100% - 44px));
    padding: 8px 13px 8px 9px;
    letter-spacing: .08em;
    white-space: normal;
    text-align: left;
}

.wcf-auth-mark img {
    width: auto;
    height: 28px;
    max-width: 120px;
    object-fit: contain;
    border-radius: 6px;
}

.wcf-auth-mark span {
    display: inline-block;
    line-height: 1.15;
}

.wcf-auth-hero-panel h1 {
    font-size: clamp(2.75rem, 5.6vw, 5.15rem);
}

@media (max-width: 760px) {
    .wcf-nav-logo-img {
        max-width: 178px;
        max-height: 58px;
    }

    .wcf-auth-mark {
        max-width: calc(100% - 44px);
        gap: 7px;
        font-size: 9.5px;
    }

    .wcf-auth-mark img {
        height: 24px;
        max-width: 96px;
    }

    .wcf-auth-hero-panel h1 {
        font-size: clamp(2.55rem, 12vw, 3.45rem);
    }
}


/* Release 12.0.2 — auth hero typography and SSO button polish */
.wcf-auth-shell {
    width: min(1040px, 100%);
    grid-template-columns: minmax(0, 1fr) minmax(340px, 430px);
}

.wcf-auth-hero-panel {
    min-height: 500px;
    padding: clamp(30px, 4vw, 50px);
}

.wcf-auth-mark {
    top: clamp(28px, 4vw, 46px);
    left: clamp(28px, 4vw, 52px);
    max-width: calc(100% - 92px);
    width: max-content;
    gap: 10px;
    padding: 9px 16px 9px 10px;
    white-space: nowrap;
    border-radius: 999px;
    font-size: clamp(.68rem, .82vw, .78rem);
    letter-spacing: .055em;
    background: rgba(255,255,255,.15);
}

.wcf-auth-mark img {
    height: 34px;
    max-width: 58px;
    flex: 0 0 auto;
}

.wcf-auth-mark span {
    white-space: nowrap;
}

.wcf-auth-hero-panel h1 {
    margin-bottom: 12px;
    max-width: 520px;
    font-size: clamp(2.35rem, 4.2vw, 3.8rem);
    line-height: .98;
    letter-spacing: -.045em;
}

.wcf-auth-hero-panel p {
    max-width: 520px;
    margin-bottom: 18px;
    font-size: clamp(.98rem, 1.1vw, 1.08rem);
    line-height: 1.55;
}

.wcf-auth-verse {
    max-width: 500px;
    padding: 16px 18px;
    font-size: clamp(.98rem, 1.15vw, 1.12rem);
    line-height: 1.38;
}

.wcf-auth-mini-stats,
.wcf-auth-benefits {
    display: none !important;
}

.wcf-auth-card {
    padding: clamp(22px, 2.6vw, 30px);
}

.wcf-auth-kicker {
    margin-bottom: 6px;
    font-size: .68rem;
    letter-spacing: .12em;
}

.wcf-auth-card h2 {
    font-size: clamp(1.55rem, 2.4vw, 2.05rem);
    line-height: 1.05;
}

.wcf-auth-card p,
.wcf-auth-subcopy {
    font-size: .96rem;
}

.wcf-sso-stack {
    gap: 9px;
    margin: 16px 0 15px;
}

.wcf-sso-btn {
    grid-template-columns: 32px minmax(0, 1fr) auto;
    min-height: 52px;
    gap: 10px;
    padding: 9px 12px;
    border-radius: 13px;
    font-size: .98rem;
    line-height: 1.15;
    white-space: nowrap;
}

.wcf-sso-label {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.wcf-sso-btn em {
    font-size: .66rem;
    line-height: 1;
    white-space: nowrap;
}

.wcf-sso-icon {
    width: 32px;
    height: 32px;
    border-radius: 9px;
    background: #fff;
}

.wcf-sso-icon svg {
    width: 20px;
    height: 20px;
    display: block;
}

.wcf-divider {
    margin: 15px 0;
    font-size: .68rem;
}

.wcf-auth-page .wcf-input {
    min-height: 44px;
    border-radius: 12px;
}

.wcf-auth-page .wcf-login-submit {
    min-height: 46px;
    border-radius: 13px;
}

.wcf-auth-link-row {
    margin-top: 14px;
    font-size: .84rem;
}

@media (max-width: 900px) {
    .wcf-auth-shell {
        width: min(560px, 100%);
        gap: 14px;
    }

    .wcf-auth-hero-panel {
        min-height: 380px;
        padding: 26px;
    }

    .wcf-auth-mark {
        top: 22px;
        left: 22px;
        max-width: calc(100% - 44px);
        font-size: clamp(.58rem, 2.2vw, .72rem);
        padding: 7px 11px 7px 7px;
        gap: 7px;
    }

    .wcf-auth-mark img {
        height: 26px;
        max-width: 42px;
    }

    .wcf-auth-hero-panel h1 {
        font-size: clamp(2.05rem, 9vw, 2.8rem);
        max-width: 360px;
    }

    .wcf-auth-hero-panel p {
        font-size: .96rem;
        line-height: 1.48;
        margin-bottom: 16px;
    }

    .wcf-auth-verse {
        padding: 15px 16px;
        font-size: .98rem;
    }
}

@media (max-width: 560px) {
    .wcf-auth-page {
        padding: 10px 8px;
    }

    .wcf-auth-hero-panel {
        min-height: 370px;
        padding: 24px;
    }

    .wcf-auth-mark {
        font-size: .54rem;
        letter-spacing: .025em;
    }

    .wcf-auth-mark img {
        height: 23px;
        max-width: 36px;
    }

    .wcf-auth-hero-panel h1 {
        font-size: clamp(1.95rem, 10vw, 2.55rem);
    }

    .wcf-auth-card h2 {
        font-size: 1.55rem;
    }

    .wcf-sso-btn {
        grid-template-columns: 30px minmax(0, 1fr) auto;
        min-height: 48px;
        gap: 8px;
        padding: 8px 10px;
        font-size: .88rem;
    }

    .wcf-sso-icon {
        width: 30px;
        height: 30px;
    }

    .wcf-sso-icon svg {
        width: 18px;
        height: 18px;
    }

    .wcf-sso-btn em {
        font-size: .58rem;
    }
}

/* Release 12.0.3 — auth layout final polish and responsive legal modal */
.wcf-auth-card-wide {
    max-height: none;
    overflow: visible;
}

.wcf-login-page .wcf-auth-hero-panel,
.wcf-register-page .wcf-auth-hero-panel {
    justify-content: center;
    padding-top: clamp(96px, 9vw, 130px);
}

.wcf-auth-mark {
    gap: 11px;
    padding: 10px 18px 10px 11px;
    font-size: clamp(.75rem, .9vw, .86rem);
    letter-spacing: .045em;
    max-width: calc(100% - 84px);
}

.wcf-auth-mark img {
    height: 38px;
    max-width: 64px;
}

.wcf-auth-hero-panel h1 {
    max-width: 540px;
    font-size: clamp(2.1rem, 3.4vw, 3.25rem);
    line-height: 1.04;
    margin-bottom: 12px;
}

.wcf-login-page .wcf-auth-hero-panel h1 {
    font-size: clamp(2.25rem, 3.6vw, 3.35rem);
}

.wcf-register-page .wcf-auth-hero-panel h1 {
    font-size: clamp(2rem, 3.25vw, 3rem);
    max-width: 560px;
}

.wcf-auth-hero-panel p {
    max-width: 540px;
    font-size: clamp(.95rem, 1.05vw, 1.05rem);
}

.wcf-auth-verse {
    max-width: 520px;
}

.wcf-register-card-top {
    align-items: flex-start;
    margin-bottom: 16px;
}

.wcf-register-card-top .wcf-auth-small-link {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
    max-width: 150px;
    padding-top: 4px;
    font-size: .9rem;
    line-height: 1.25;
    text-align: right;
}

.wcf-register-card-top .wcf-auth-small-link strong {
    font-size: .96rem;
}

.wcf-sso-btn em {
    grid-column: auto !important;
}

.wcf-terms-link {
    appearance: none;
    padding: 0;
    border: 0;
    background: transparent;
    color: #1d4ed8;
    font: inherit;
    font-weight: 900;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
}

.wcf-legal-open {
    overflow: hidden;
}

.wcf-legal-modal {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: none;
}

.wcf-legal-modal.is-open {
    display: block;
}

.wcf-legal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(8, 22, 47, .72);
    backdrop-filter: blur(6px);
}

.wcf-legal-dialog {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: min(720px, calc(100vw - 32px));
    max-height: min(760px, calc(100vh - 48px));
    display: flex;
    flex-direction: column;
    padding: clamp(22px, 3vw, 32px);
    border-radius: 26px;
    background: #fff;
    box-shadow: 0 30px 90px rgba(0,0,0,.35);
    outline: none;
}

.wcf-legal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 38px;
    height: 38px;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    background: #f8fafc;
    color: #0f172a;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}

.wcf-legal-dialog h2 {
    margin: 0 44px 14px 0;
    color: var(--wcf-navy-2);
    font-size: clamp(1.45rem, 2.8vw, 2.05rem);
    line-height: 1.08;
    letter-spacing: -.035em;
}

.wcf-legal-body {
    overflow: auto;
    padding-right: 8px;
    color: #334155;
    line-height: 1.6;
}

.wcf-legal-body p {
    margin: 0 0 13px;
}

.wcf-legal-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid #e2e8f0;
}

.wcf-legal-actions a {
    color: #1d4ed8;
    font-weight: 900;
    text-decoration: none;
    font-size: .9rem;
}

.wcf-legal-actions .wcf-legal-accept {
    width: auto;
    min-width: 180px;
    padding: 0 18px;
}

@media (max-width: 900px) {
    .wcf-auth-shell {
        width: min(540px, 100%);
    }

    .wcf-login-page .wcf-auth-hero-panel,
    .wcf-register-page .wcf-auth-hero-panel {
        min-height: 330px;
        padding-top: 88px;
        justify-content: center;
    }

    .wcf-auth-mark {
        gap: 8px;
        padding: 8px 13px 8px 8px;
        font-size: clamp(.62rem, 2.4vw, .74rem);
        max-width: calc(100% - 42px);
    }

    .wcf-auth-mark img {
        height: 30px;
        max-width: 48px;
    }

    .wcf-auth-hero-panel h1,
    .wcf-login-page .wcf-auth-hero-panel h1,
    .wcf-register-page .wcf-auth-hero-panel h1 {
        font-size: clamp(1.9rem, 7.2vw, 2.55rem);
        max-width: 360px;
    }

    .wcf-register-card-top .wcf-auth-small-link {
        align-items: flex-start;
        text-align: left;
        max-width: none;
        padding-top: 0;
    }
}

@media (max-width: 560px) {
    .wcf-auth-page {
        padding: 8px;
    }

    .wcf-auth-shell {
        gap: 10px;
    }

    .wcf-login-page .wcf-auth-hero-panel,
    .wcf-register-page .wcf-auth-hero-panel {
        min-height: 320px;
        padding: 78px 20px 22px;
    }

    .wcf-auth-mark {
        top: 18px;
        left: 18px;
        max-width: calc(100% - 36px);
        gap: 6px;
        padding: 7px 10px 7px 7px;
        font-size: clamp(.5rem, 2.25vw, .61rem);
        letter-spacing: .015em;
    }

    .wcf-auth-mark img {
        height: 26px;
        max-width: 38px;
    }

    .wcf-auth-hero-panel h1,
    .wcf-login-page .wcf-auth-hero-panel h1,
    .wcf-register-page .wcf-auth-hero-panel h1 {
        font-size: clamp(1.65rem, 8.5vw, 2.15rem);
        line-height: 1.08;
    }

    .wcf-auth-hero-panel p {
        font-size: .9rem;
        line-height: 1.48;
    }

    .wcf-auth-verse {
        padding: 13px 14px;
        font-size: .9rem;
        border-radius: 17px;
    }

    .wcf-auth-card {
        padding: 20px 18px;
    }

    .wcf-auth-card h2 {
        font-size: 1.45rem;
    }

    .wcf-sso-btn {
        grid-template-columns: 30px minmax(0, 1fr) auto;
        font-size: .82rem;
    }

    .wcf-sso-btn em {
        font-size: .52rem;
    }

    .wcf-auth-link-row {
        gap: 10px;
    }

    .wcf-legal-dialog {
        left: 0;
        right: 0;
        top: auto;
        bottom: 0;
        transform: none;
        width: 100%;
        max-height: 90vh;
        border-radius: 24px 24px 0 0;
        padding: 22px 18px max(18px, env(safe-area-inset-bottom));
    }

    .wcf-legal-actions {
        position: sticky;
        bottom: 0;
        flex-wrap: wrap;
        justify-content: flex-start;
        background: #fff;
    }

    .wcf-legal-actions .wcf-legal-accept {
        width: 100%;
    }
}

/* Release 12.0.4 — auth equal-height layout and final scale tuning */
@media (min-width: 901px) {
    .wcf-auth-shell {
        width: min(1040px, 100%);
        grid-template-columns: minmax(0, 1fr) minmax(360px, 430px);
        align-items: stretch;
    }

    .wcf-login-page .wcf-auth-hero-panel,
    .wcf-login-page .wcf-auth-card {
        min-height: 520px;
    }

    .wcf-register-page .wcf-auth-hero-panel,
    .wcf-register-page .wcf-auth-card-wide {
        height: min(680px, calc(100vh - 150px));
        min-height: 610px;
    }

    .wcf-auth-card {
        align-self: stretch;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .wcf-register-page .wcf-auth-card-wide {
        overflow: hidden;
        justify-content: flex-start;
    }

    .wcf-register-page .wcf-register-form {
        min-height: 0;
        overflow-y: auto;
        overflow-x: hidden;
        padding-right: 8px;
        margin-right: -8px;
        scrollbar-gutter: stable;
    }

    .wcf-register-page .wcf-auth-card-top,
    .wcf-register-page .wcf-error {
        flex: 0 0 auto;
    }
}

.wcf-auth-mark {
    gap: 13px;
    padding: 11px 21px 11px 12px;
    font-size: clamp(.82rem, 1.02vw, .96rem);
    letter-spacing: .035em;
    max-width: calc(100% - 84px);
}

.wcf-auth-mark img {
    height: 44px;
    max-width: 74px;
}

.wcf-auth-mark span {
    white-space: nowrap;
}

.wcf-login-page .wcf-auth-hero-panel,
.wcf-register-page .wcf-auth-hero-panel {
    padding-top: clamp(92px, 8vw, 118px);
}

.wcf-login-page .wcf-auth-hero-panel h1 {
    font-size: clamp(2rem, 3.1vw, 2.9rem);
    transform: translateY(-8px);
}

.wcf-register-page .wcf-auth-hero-panel h1 {
    font-size: clamp(1.85rem, 3vw, 2.7rem);
    transform: translateY(-6px);
}

.wcf-auth-hero-panel p,
.wcf-auth-verse {
    transform: translateY(-8px);
}

.wcf-auth-card h2 {
    font-size: clamp(1.42rem, 2.05vw, 1.85rem);
}

.wcf-register-card-top {
    margin-bottom: 12px;
}

.wcf-register-card-top .wcf-auth-small-link {
    max-width: 130px;
    font-size: .82rem;
}

.wcf-register-card-top .wcf-auth-small-link strong {
    font-size: .9rem;
}

.wcf-register-form label:not(.wcf-auth-check) {
    margin-bottom: 8px;
}

.wcf-register-form label > span {
    margin-bottom: 5px;
}

.wcf-register-page .wcf-auth-grid {
    gap: 8px 10px;
}

.wcf-register-page .wcf-auth-note {
    margin: 4px 0 9px;
    padding: 10px 12px;
    font-size: .78rem;
}

.wcf-register-page .wcf-auth-check {
    margin: 8px 0;
    padding: 10px 11px;
    font-size: .8rem;
}

.wcf-register-page .wcf-login-submit {
    margin-top: 2px;
}

.wcf-legal-dialog {
    width: min(680px, calc(100vw - 36px));
    max-height: min(690px, calc(100vh - 48px));
    padding: clamp(20px, 2.4vw, 28px);
}

.wcf-legal-dialog h2 {
    font-size: clamp(1.25rem, 2.15vw, 1.65rem);
    line-height: 1.15;
    margin-bottom: 12px;
}

.wcf-legal-body {
    font-size: .92rem;
    line-height: 1.52;
}

.wcf-legal-body p {
    margin-bottom: 10px;
}

.wcf-legal-actions {
    margin-top: 14px;
    padding-top: 13px;
}

.wcf-legal-actions a {
    font-size: .82rem;
}

.wcf-legal-actions .wcf-legal-accept {
    min-width: 165px;
    min-height: 42px;
    font-size: .88rem;
}

@media (max-width: 900px) {
    .wcf-auth-mark {
        gap: 8px;
        padding: 8px 12px 8px 8px;
        font-size: clamp(.62rem, 2.15vw, .72rem);
    }

    .wcf-auth-mark img {
        height: 31px;
        max-width: 50px;
    }

    .wcf-login-page .wcf-auth-hero-panel,
    .wcf-register-page .wcf-auth-hero-panel {
        padding-top: 86px;
    }

    .wcf-auth-card {
        justify-content: flex-start;
    }
}

@media (max-width: 560px) {
    .wcf-auth-mark {
        gap: 6px;
        padding: 7px 9px 7px 7px;
        font-size: clamp(.48rem, 2.12vw, .58rem);
        max-width: calc(100% - 32px);
    }

    .wcf-auth-mark img {
        height: 26px;
        max-width: 40px;
    }

    .wcf-login-page .wcf-auth-hero-panel,
    .wcf-register-page .wcf-auth-hero-panel {
        min-height: 300px;
        padding-top: 74px;
    }

    .wcf-login-page .wcf-auth-hero-panel h1,
    .wcf-register-page .wcf-auth-hero-panel h1 {
        font-size: clamp(1.55rem, 7.6vw, 1.95rem);
        transform: translateY(-6px);
    }

    .wcf-auth-hero-panel p,
    .wcf-auth-verse {
        transform: translateY(-6px);
    }

    .wcf-legal-dialog h2 {
        font-size: 1.18rem;
    }

    .wcf-legal-body {
        font-size: .86rem;
        line-height: 1.48;
    }
}

/* Release 12.0.5 — auth mobile stacking and final card alignment */
.wcf-auth-mark {
    gap: 14px;
    padding: 12px 24px 12px 13px;
    font-size: clamp(.92rem, 1.14vw, 1.08rem);
    letter-spacing: .025em;
}

.wcf-auth-mark img {
    height: 52px;
    max-width: 86px;
}

.wcf-login-page .wcf-auth-hero-panel h1 {
    font-size: clamp(1.75rem, 2.55vw, 2.45rem);
    line-height: 1.08;
}

.wcf-register-page .wcf-auth-hero-panel h1 {
    font-size: clamp(1.7rem, 2.45vw, 2.35rem);
    line-height: 1.08;
}

@media (min-width: 901px) {
    .wcf-login-page .wcf-auth-hero-panel,
    .wcf-login-page .wcf-auth-card {
        height: 560px;
        min-height: 560px;
    }

    .wcf-register-page .wcf-auth-hero-panel,
    .wcf-register-page .wcf-auth-card-wide {
        height: 620px;
        min-height: 620px;
        max-height: 620px;
    }

    .wcf-register-page .wcf-auth-card-wide {
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }

    .wcf-register-page .wcf-register-form {
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: auto;
        overflow-x: hidden;
        padding-right: 8px;
        margin-right: -8px;
        scrollbar-gutter: stable;
    }
}

.wcf-legal-dialog {
    width: min(650px, calc(100vw - 36px));
    max-height: min(650px, calc(100vh - 48px));
}

.wcf-legal-dialog h2 {
    font-size: clamp(1.15rem, 1.8vw, 1.45rem);
    line-height: 1.18;
}

.wcf-legal-body {
    font-size: .84rem;
    line-height: 1.5;
}

.wcf-legal-body p {
    margin-bottom: 9px;
}

.wcf-legal-actions a {
    font-size: .78rem;
}

.wcf-legal-actions .wcf-legal-accept {
    min-height: 40px;
    font-size: .82rem;
}

@media (max-width: 900px) {
    .wcf-auth-page {
        display: block;
        min-height: auto;
        padding: 14px;
    }

    .wcf-auth-shell {
        display: flex;
        flex-direction: column;
        width: min(560px, 100%);
        gap: 16px;
        align-items: stretch;
        margin: 0 auto;
    }

    .wcf-auth-hero-panel {
        order: 1;
        width: 100%;
        display: flex;
        flex: none;
        min-height: 360px;
        margin: 0;
    }

    .wcf-auth-card,
    .wcf-auth-card-wide {
        order: 2;
        width: 100%;
        max-height: none;
        min-height: 0;
        margin: 0;
        align-self: stretch;
        overflow: visible;
    }

    .wcf-auth-mark {
        gap: 9px;
        padding: 9px 14px 9px 9px;
        font-size: clamp(.7rem, 2.45vw, .82rem);
        max-width: calc(100% - 42px);
    }

    .wcf-auth-mark img {
        height: 34px;
        max-width: 54px;
    }

    .wcf-login-page .wcf-auth-hero-panel h1,
    .wcf-register-page .wcf-auth-hero-panel h1 {
        font-size: clamp(1.55rem, 6.8vw, 2.05rem);
        transform: translateY(-4px);
    }

    .wcf-auth-hero-panel p,
    .wcf-auth-verse {
        transform: translateY(-4px);
    }
}

@media (max-width: 560px) {
    .wcf-auth-page {
        padding: 10px 8px 18px;
    }

    .wcf-auth-shell {
        gap: 14px;
    }

    .wcf-login-page .wcf-auth-hero-panel,
    .wcf-register-page .wcf-auth-hero-panel {
        min-height: 330px;
        padding: 82px 20px 22px;
    }

    .wcf-auth-mark {
        top: 18px;
        left: 18px;
        gap: 7px;
        padding: 8px 11px 8px 8px;
        font-size: clamp(.56rem, 2.65vw, .66rem);
        letter-spacing: .01em;
        max-width: calc(100% - 36px);
    }

    .wcf-auth-mark img {
        height: 30px;
        max-width: 46px;
    }

    .wcf-auth-card {
        padding: 20px 18px;
        border-radius: 22px;
    }

    .wcf-sso-btn {
        grid-template-columns: 30px minmax(0, 1fr) auto;
    }

    .wcf-legal-dialog h2 {
        font-size: 1.05rem;
    }

    .wcf-legal-body {
        font-size: .8rem;
        line-height: 1.46;
    }
}

/* Release 12.0.6 — auth proportional desktop cards and clean mobile stack */
@media (min-width: 901px) {
    .wcf-auth-shell {
        width: min(1040px, 100%);
        align-items: center;
    }

    .wcf-login-page .wcf-auth-hero-panel,
    .wcf-login-page .wcf-auth-card {
        height: 500px;
        min-height: 500px;
        max-height: 500px;
    }

    .wcf-register-page .wcf-auth-hero-panel,
    .wcf-register-page .wcf-auth-card-wide {
        height: 520px;
        min-height: 520px;
        max-height: 520px;
    }

    .wcf-login-page .wcf-auth-hero-panel,
    .wcf-register-page .wcf-auth-hero-panel {
        justify-content: center;
        padding-top: 108px;
        padding-bottom: 44px;
    }

    .wcf-auth-mark {
        gap: 14px;
        padding: 12px 25px 12px 13px;
        font-size: clamp(.98rem, 1.12vw, 1.08rem);
        letter-spacing: .025em;
    }

    .wcf-auth-mark img {
        height: 50px;
        max-width: 82px;
    }

    .wcf-login-page .wcf-auth-hero-panel h1 {
        font-size: clamp(1.7rem, 2.22vw, 2.2rem);
        transform: none;
        margin-bottom: 12px;
    }

    .wcf-register-page .wcf-auth-hero-panel h1 {
        font-size: clamp(1.65rem, 2.15vw, 2.08rem);
        transform: none;
        margin-bottom: 12px;
    }

    .wcf-auth-hero-panel p,
    .wcf-auth-verse {
        transform: none;
    }

    .wcf-auth-hero-panel p {
        font-size: .96rem;
        line-height: 1.48;
        max-width: 510px;
        margin-bottom: 18px;
    }

    .wcf-auth-verse {
        max-width: 500px;
        padding: 17px 20px;
        font-size: .96rem;
    }

    .wcf-register-page .wcf-auth-card-wide {
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }

    .wcf-register-page .wcf-register-form {
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: auto;
        overflow-x: hidden;
        padding-right: 8px;
        margin-right: -8px;
        scrollbar-gutter: stable;
    }
}

@media (max-width: 900px) {
    .wcf-auth-page {
        overflow-x: hidden;
        padding: 14px 12px 22px;
    }

    .wcf-auth-shell {
        width: min(560px, 100%);
        gap: 18px;
        box-sizing: border-box;
    }

    .wcf-login-page .wcf-auth-hero-panel,
    .wcf-register-page .wcf-auth-hero-panel {
        min-height: 350px;
        padding: 28px 20px 24px;
        justify-content: center;
        align-items: center;
        text-align: center;
        box-sizing: border-box;
    }

    .wcf-auth-mark {
        position: relative;
        top: auto;
        left: auto;
        align-self: center;
        margin: 0 auto 22px;
        max-width: 100%;
        gap: 10px;
        padding: 10px 15px 10px 10px;
        font-size: clamp(.8rem, 2.55vw, .96rem);
        letter-spacing: .015em;
        box-sizing: border-box;
    }

    .wcf-auth-mark img {
        height: 38px;
        max-width: 58px;
        flex: 0 0 auto;
    }

    .wcf-auth-mark span {
        min-width: 0;
        white-space: nowrap;
    }

    .wcf-login-page .wcf-auth-hero-panel h1,
    .wcf-register-page .wcf-auth-hero-panel h1 {
        max-width: 100%;
        font-size: clamp(2rem, 7vw, 2.55rem);
        line-height: 1.05;
        transform: none;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 12px;
    }

    .wcf-auth-hero-panel p {
        max-width: 100%;
        margin: 0 auto 16px;
        font-size: .98rem;
        line-height: 1.45;
        transform: none;
    }

    .wcf-auth-verse {
        width: 100%;
        max-width: 430px;
        margin-left: auto;
        margin-right: auto;
        padding: 14px 15px;
        font-size: .92rem;
        line-height: 1.35;
        text-align: left;
        transform: none;
        box-sizing: border-box;
    }

    .wcf-auth-card,
    .wcf-auth-card-wide {
        width: 100%;
        box-sizing: border-box;
        overflow: visible;
    }

    .wcf-register-page .wcf-register-form {
        overflow: visible;
        padding-right: 0;
        margin-right: 0;
    }

    .wcf-register-card-top {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
        margin-bottom: 16px;
    }

    .wcf-register-card-top .wcf-auth-small-link {
        display: block;
        align-self: flex-start;
        max-width: none;
        padding: 0;
        text-align: left;
        font-size: .9rem;
        line-height: 1.25;
    }

    .wcf-register-card-top .wcf-auth-small-link strong {
        display: inline;
        font-size: inherit;
    }
}

@media (max-width: 560px) {
    .wcf-auth-page {
        padding: 12px 8px 20px;
    }

    .wcf-auth-shell {
        gap: 16px;
    }

    .wcf-login-page .wcf-auth-hero-panel,
    .wcf-register-page .wcf-auth-hero-panel {
        min-height: 340px;
        padding: 24px 16px 22px;
        border-radius: 24px;
    }

    .wcf-auth-hero-panel::before {
        inset: 12px;
        border-radius: 19px;
    }

    .wcf-auth-mark {
        margin-bottom: 18px;
        gap: 8px;
        padding: 8px 11px 8px 8px;
        font-size: clamp(.66rem, 3.05vw, .78rem);
        max-width: 100%;
    }

    .wcf-auth-mark img {
        height: 34px;
        max-width: 50px;
    }

    .wcf-login-page .wcf-auth-hero-panel h1,
    .wcf-register-page .wcf-auth-hero-panel h1 {
        font-size: clamp(1.95rem, 8.6vw, 2.35rem);
    }

    .wcf-auth-hero-panel p {
        font-size: .92rem;
    }

    .wcf-auth-verse {
        font-size: .86rem;
        padding: 13px 14px;
    }

    .wcf-sso-btn {
        grid-template-columns: 30px minmax(0, 1fr);
        gap: 10px;
        padding: 11px 12px;
    }

    .wcf-sso-btn em {
        display: none;
    }

    .wcf-sso-label {
        min-width: 0;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .wcf-auth-card h2 {
        font-size: 1.35rem;
    }

    .wcf-register-card-top .wcf-auth-small-link {
        font-size: .86rem;
    }
}

/* Smaller, calmer privacy modal typography */
.wcf-legal-dialog h2 {
    font-size: clamp(1.05rem, 1.55vw, 1.32rem);
    line-height: 1.2;
}

.wcf-legal-body {
    font-size: .78rem;
    line-height: 1.45;
}

.wcf-legal-body p {
    margin-bottom: 8px;
}

.wcf-legal-actions a {
    font-size: .74rem;
}

.wcf-legal-actions .wcf-legal-accept {
    min-height: 38px;
    font-size: .78rem;
}

/* Release 12.0.7 — auth hero centering, desktop sizing, and mobile brand tuning */
@media (min-width: 901px) {
    .wcf-auth-shell {
        align-items: center;
    }

    .wcf-login-page .wcf-auth-shell {
        width: min(1040px, 100%);
        grid-template-columns: minmax(0, 1fr) minmax(360px, 430px);
    }

    .wcf-login-page .wcf-auth-hero-panel,
    .wcf-login-page .wcf-auth-card {
        height: 560px;
        min-height: 560px;
        max-height: 560px;
    }

    .wcf-register-page .wcf-auth-shell {
        width: min(1140px, 100%);
        grid-template-columns: minmax(0, 1fr) minmax(430px, 500px);
        gap: clamp(22px, 3vw, 36px);
    }

    .wcf-register-page .wcf-auth-hero-panel,
    .wcf-register-page .wcf-auth-card-wide {
        height: 540px;
        min-height: 540px;
        max-height: 540px;
    }

    .wcf-login-page .wcf-auth-hero-panel,
    .wcf-register-page .wcf-auth-hero-panel {
        align-items: center;
        text-align: center;
        padding: 112px clamp(28px, 4vw, 48px) 42px;
    }

    .wcf-auth-mark {
        left: 50%;
        top: 40px;
        transform: translateX(-50%);
        justify-content: center;
        width: max-content;
        max-width: calc(100% - 72px);
        margin: 0;
    }

    .wcf-auth-hero-panel h1,
    .wcf-auth-hero-panel p,
    .wcf-auth-verse {
        margin-left: auto;
        margin-right: auto;
        text-align: center;
    }

    .wcf-login-page .wcf-auth-hero-panel h1 {
        font-size: clamp(1.55rem, 2vw, 2rem);
    }

    .wcf-register-page .wcf-auth-hero-panel h1 {
        font-size: clamp(1.52rem, 1.95vw, 1.95rem);
    }

    .wcf-auth-hero-panel p {
        max-width: 500px;
    }

    .wcf-auth-verse {
        max-width: 480px;
    }

    .wcf-login-page .wcf-auth-card {
        justify-content: center;
        padding-top: 34px;
        padding-bottom: 34px;
    }

    .wcf-register-page .wcf-auth-card-wide {
        padding: 26px 30px 28px;
    }

    .wcf-register-page .wcf-register-form {
        overflow-y: auto;
        overflow-x: hidden;
        padding-right: 12px;
        margin-right: 0;
        scrollbar-gutter: stable;
    }

    .wcf-register-page .wcf-auth-grid {
        gap: 10px 12px;
    }

    .wcf-register-page .wcf-auth-grid > *,
    .wcf-register-page .wcf-input {
        min-width: 0;
        width: 100%;
        box-sizing: border-box;
    }
}

@media (max-width: 900px) {
    .wcf-auth-hero-panel {
        text-align: center;
    }

    .wcf-auth-mark {
        justify-content: center;
        margin-left: auto;
        margin-right: auto;
    }

    .wcf-auth-hero-panel h1,
    .wcf-auth-hero-panel p,
    .wcf-auth-verse {
        margin-left: auto;
        margin-right: auto;
        text-align: center;
    }

    .wcf-auth-verse {
        text-align: center;
    }
}

@media (max-width: 560px) {
    .wcf-login-page .wcf-auth-hero-panel,
    .wcf-register-page .wcf-auth-hero-panel {
        min-height: 330px;
        padding: 22px 16px 21px;
    }

    .wcf-auth-mark {
        gap: 9px;
        padding: 9px 13px 9px 9px;
        font-size: clamp(.72rem, 3.25vw, .86rem);
        max-width: calc(100% - 8px);
    }

    .wcf-auth-mark img {
        height: 40px;
        max-width: 60px;
    }

    .wcf-login-page .wcf-auth-hero-panel h1 {
        font-size: clamp(2rem, 8.8vw, 2.45rem);
        line-height: 1.06;
        margin-bottom: 10px;
    }

    .wcf-register-page .wcf-auth-hero-panel h1 {
        font-size: clamp(1.5rem, 6.7vw, 1.82rem);
        line-height: 1.08;
        margin-bottom: 10px;
    }

    .wcf-auth-hero-panel p {
        font-size: .9rem;
        line-height: 1.42;
        margin-bottom: 14px;
    }

    .wcf-auth-verse {
        max-width: 100%;
        padding: 12px 13px;
        font-size: .84rem;
        line-height: 1.32;
    }
}

/* Release 12.0.8 — register card width and desktop form-scroll correction */
@media (min-width: 901px) {
    .wcf-auth-hero-panel,
    .wcf-auth-card,
    .wcf-auth-card-wide {
        box-sizing: border-box;
    }

    .wcf-login-page .wcf-auth-shell {
        width: min(1040px, calc(100vw - 96px));
        grid-template-columns: minmax(0, 1fr) minmax(400px, 430px);
        align-items: stretch;
    }

    .wcf-login-page .wcf-auth-hero-panel,
    .wcf-login-page .wcf-auth-card {
        height: 560px;
        min-height: 560px;
        max-height: 560px;
        align-self: stretch;
    }

    .wcf-login-page .wcf-auth-card {
        justify-content: center;
        padding-top: 42px;
        padding-bottom: 42px;
    }

    .wcf-register-page .wcf-auth-shell {
        width: min(1180px, calc(100vw - 96px));
        grid-template-columns: minmax(500px, 1fr) minmax(520px, 560px);
        gap: clamp(28px, 3.4vw, 44px);
        align-items: stretch;
    }

    .wcf-register-page .wcf-auth-hero-panel,
    .wcf-register-page .wcf-auth-card-wide {
        height: 560px;
        min-height: 560px;
        max-height: 560px;
        align-self: stretch;
    }

    .wcf-register-page .wcf-auth-card-wide {
        width: 100%;
        max-width: none;
        padding: 26px 30px 28px;
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }

    .wcf-register-page .wcf-auth-card-top {
        flex: 0 0 auto;
        margin-bottom: 16px;
    }

    .wcf-register-page .wcf-register-form {
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: scroll;
        overflow-x: hidden;
        padding-right: 18px;
        margin-right: -12px;
        scrollbar-gutter: stable both-edges;
    }

    .wcf-register-page .wcf-register-form::-webkit-scrollbar {
        width: 10px;
    }

    .wcf-register-page .wcf-register-form::-webkit-scrollbar-track {
        background: rgba(226, 232, 240, .9);
        border-radius: 999px;
    }

    .wcf-register-page .wcf-register-form::-webkit-scrollbar-thumb {
        background: rgba(100, 116, 139, .65);
        border-radius: 999px;
    }

    .wcf-register-page .wcf-auth-grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 11px 14px;
    }

    .wcf-register-page .wcf-auth-grid label,
    .wcf-register-page .wcf-input,
    .wcf-register-page select.wcf-input,
    .wcf-register-page input.wcf-input {
        min-width: 0;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .wcf-register-page .wcf-auth-note,
    .wcf-register-page .wcf-auth-check,
    .wcf-register-page .wcf-login-submit {
        width: 100%;
        box-sizing: border-box;
    }
}

/* Release 12.0.9 — auth desktop height breathing-room polish */
@media (min-width: 901px) {
    .wcf-login-page .wcf-auth-shell {
        align-items: stretch;
    }

    .wcf-login-page .wcf-auth-hero-panel,
    .wcf-login-page .wcf-auth-card {
        height: 600px;
        min-height: 600px;
        max-height: 600px;
        align-self: stretch;
    }

    .wcf-login-page .wcf-auth-card {
        justify-content: center;
        padding-top: 46px;
        padding-bottom: 46px;
    }

    .wcf-login-page .wcf-auth-link-row {
        margin-top: 22px;
        padding-bottom: 2px;
    }

    .wcf-register-page .wcf-auth-shell {
        align-items: stretch;
    }

    .wcf-register-page .wcf-auth-hero-panel,
    .wcf-register-page .wcf-auth-card-wide {
        height: 590px;
        min-height: 590px;
        max-height: 590px;
        align-self: stretch;
    }

    .wcf-register-page .wcf-auth-card-wide {
        padding-top: 28px;
        padding-bottom: 30px;
    }
}

.wcf-auth-shell-single {
    max-width: 560px;
    grid-template-columns: 1fr;
}

.wcf-auth-card-narrow {
    min-height: auto;
    text-align: center;
}

.wcf-auth-success-icon.is-warning {
    background: #fff7ed;
    color: #c2410c;
}

.wcf-auth-note.is-warning {
    background: #fff7ed;
    border-color: #fed7aa;
    color: #9a3412;
}

.wcf-turnstile-wrap {
    display: flex;
    justify-content: center;
    margin: 12px 0 4px;
    max-width: 100%;
    overflow: hidden;
}

.wcf-turnstile-preview {
    overflow: visible;
}

.wcf-turnstile-preview-box {
    width: min(100%, 315px);
    min-height: 64px;
    display: grid;
    grid-template-columns: 34px 1fr;
    align-items: center;
    gap: 4px 10px;
    padding: 12px 14px;
    border: 1px solid #d8e2f3;
    border-radius: 14px;
    background: #fff;
    color: #1f2f46;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .06);
    font-size: 13px;
    font-weight: 800;
}

.wcf-turnstile-preview-check {
    width: 28px;
    height: 28px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    grid-row: span 2;
    background: #eef7ff;
    color: #2563eb;
    font-size: 16px;
    font-weight: 900;
}

.wcf-turnstile-preview-box small {
    display: block;
    color: #70819b;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.25;
}

@media (max-width: 420px) {
    .wcf-turnstile-wrap:not(.wcf-turnstile-preview) {
        transform: scale(.92);
        transform-origin: center;
        margin-left: -12px;
        margin-right: -12px;
    }

    .wcf-turnstile-preview-box {
        width: 100%;
    }
}

/* Release 12.1.2 — registration validation and password strength */
.wcf-auth-error-summary {
    border: 1px solid rgba(185, 28, 28, .22);
    background: #fff5f5;
    color: #7f1d1d;
    border-radius: 16px;
    padding: 12px 14px;
    margin: 0 0 14px;
    font-size: .86rem;
    line-height: 1.42;
}

.wcf-auth-error-summary strong {
    display: block;
    margin-bottom: 5px;
    font-weight: 800;
}

.wcf-auth-error-summary ul {
    margin: 0;
    padding-left: 18px;
}

.wcf-auth-error-summary li + li {
    margin-top: 3px;
}

.wcf-register-form label.is-invalid .wcf-input,
.wcf-register-form label.is-client-invalid .wcf-input,
.wcf-register-form .wcf-auth-check.is-invalid,
.wcf-register-form .wcf-auth-check.is-client-invalid {
    border-color: rgba(185, 28, 28, .55) !important;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, .10);
}

.wcf-field-error {
    display: block;
    margin-top: 6px;
    color: #b91c1c;
    font-size: .74rem;
    line-height: 1.32;
    font-weight: 700;
}

.wcf-password-help {
    border: 1px solid rgba(37, 99, 235, .14);
    background: rgba(239, 246, 255, .8);
    border-radius: 15px;
    padding: 10px 12px;
    margin: -2px 0 2px;
    color: #334155;
}

.wcf-password-help > span {
    display: block;
    font-size: .76rem;
    font-weight: 800;
    color: #1e3a8a;
    margin-bottom: 6px;
}

.wcf-password-help ul {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5px 9px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.wcf-password-help li {
    position: relative;
    padding-left: 17px;
    font-size: .72rem;
    line-height: 1.2;
    color: #64748b;
    font-weight: 700;
}

.wcf-password-help li::before {
    content: '○';
    position: absolute;
    left: 0;
    top: 0;
    color: #94a3b8;
    font-weight: 900;
}

.wcf-password-help li.is-met {
    color: #047857;
}

.wcf-password-help li.is-met::before {
    content: '✓';
    color: #059669;
}

.wcf-password-help li.is-missing {
    color: #64748b;
}

@media (max-width: 560px) {
    .wcf-password-help ul {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .wcf-auth-error-summary {
        font-size: .82rem;
        padding: 11px 12px;
    }
}

/* Release 12.1.3 — live registration validation polish */
.wcf-register-form label.is-client-invalid .wcf-input:focus,
.wcf-register-form .wcf-auth-check.is-client-invalid:focus-within {
    box-shadow: 0 0 0 4px rgba(239, 68, 68, .12);
}


/* Release 12.1.4 — activation success polish */
.wcf-activate-page .wcf-auth-card-narrow {
    align-items: center;
    padding: clamp(26px, 4vw, 44px);
}
.wcf-activate-page .wcf-login-submit-compact {
    width: auto !important;
    min-width: 170px;
    max-width: 240px;
    min-height: 44px;
    padding: 12px 24px;
    margin: 16px auto 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.wcf-activate-page .wcf-auth-subcopy {
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
}
@media (max-width: 640px) {
    .wcf-activate-page.wcf-auth-page {
        min-height: auto;
        padding: 22px 16px 28px;
        align-items: flex-start;
    }
    .wcf-activate-page .wcf-auth-shell-single {
        width: 100%;
    }
    .wcf-activate-page .wcf-auth-card-narrow {
        padding: 24px 18px;
        border-radius: 22px;
    }
    .wcf-activate-page .wcf-auth-success-icon {
        margin-left: auto;
        margin-right: auto;
    }
    .wcf-activate-page .wcf-login-submit-compact {
        width: auto !important;
        min-width: 150px;
        margin-top: 14px;
    }
}

/* Release 12.1.5 — activation issue card polish */
.wcf-activate-page .wcf-login-submit-compact,
.wcf-activate-page .wcf-auth-card-narrow .wcf-login-submit {
    width: auto !important;
    max-width: 230px !important;
    min-width: 150px !important;
    padding-left: 22px !important;
    padding-right: 22px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
@media (max-width: 640px) {
    .wcf-activate-page .wcf-auth-card-narrow {
        gap: 10px;
        min-height: 0;
    }
    .wcf-activate-page .wcf-auth-subcopy {
        margin-bottom: 6px;
    }
    .wcf-activate-page .wcf-auth-card-narrow .wcf-login-submit {
        min-width: 150px !important;
        max-width: 210px !important;
        min-height: 42px !important;
        margin-top: 10px !important;
    }
    body:has(.wcf-activate-page) .wcf-public-footer,
    body:has(.wcf-activate-page) footer {
        min-height: auto !important;
        padding: 18px 16px !important;
    }
}


/* Release 12.1.6 — activation issue screen final polish */
.wcf-activate-page .wcf-auth-card-narrow h2 {
    font-size: clamp(1.45rem, 2.6vw, 2rem) !important;
    line-height: 1.12 !important;
}
.wcf-activate-page .wcf-auth-subcopy {
    font-size: clamp(.94rem, 1.6vw, 1.05rem) !important;
    line-height: 1.5 !important;
}
.wcf-activate-page .wcf-login-submit-compact,
.wcf-activate-page .wcf-auth-card-narrow .wcf-login-submit {
    min-height: 38px !important;
    padding: 9px 18px !important;
    border-radius: 13px !important;
    font-size: .88rem !important;
    max-width: 210px !important;
}
@media (max-width: 640px) {
    body:has(.wcf-activate-page) {
        min-height: 100vh;
        display: flex;
        flex-direction: column;
    }
    body:has(.wcf-activate-page) .wcf-public-main,
    body:has(.wcf-activate-page) main {
        flex: 1 0 auto;
        background: #102447;
    }
    .wcf-activate-page.wcf-auth-page {
        min-height: calc(100vh - 150px) !important;
        padding: 24px 16px !important;
        display: flex !important;
        align-items: center !important;
    }
    .wcf-activate-page .wcf-auth-card-narrow {
        padding: 24px 18px !important;
        gap: 8px !important;
    }
    .wcf-activate-page .wcf-auth-card-narrow h2 {
        font-size: 1.45rem !important;
        line-height: 1.15 !important;
    }
    .wcf-activate-page .wcf-auth-subcopy {
        font-size: .95rem !important;
        line-height: 1.45 !important;
        margin-bottom: 4px !important;
    }
    .wcf-activate-page .wcf-auth-card-narrow .wcf-login-submit {
        min-width: 150px !important;
        max-width: 190px !important;
        min-height: 38px !important;
        padding: 9px 16px !important;
        margin-top: 8px !important;
    }
    body:has(.wcf-activate-page) .wcf-public-footer,
    body:has(.wcf-activate-page) footer {
        flex-shrink: 0;
        min-height: auto !important;
        padding: 16px !important;
        margin-top: auto !important;
    }
}


/* Release 12.1.7 — compact activation issue/state screens */
.wcf-activate-page .wcf-auth-success-icon.is-compact,
.wcf-activate-page .wcf-auth-success-icon.is-warning {
    width: 48px !important;
    height: 48px !important;
    border-radius: 16px !important;
    font-size: 1.55rem !important;
    margin-bottom: 10px !important;
}

.wcf-activate-page .wcf-auth-card-narrow {
    max-width: 560px !important;
    padding: 34px 40px !important;
    gap: 7px !important;
}

.wcf-activate-page .wcf-auth-card-narrow h2 {
    font-size: clamp(1.25rem, 2.1vw, 1.65rem) !important;
    line-height: 1.18 !important;
    margin: 2px 0 4px !important;
}

.wcf-activate-page .wcf-auth-subcopy {
    font-size: .94rem !important;
    line-height: 1.42 !important;
    max-width: 440px !important;
    margin-bottom: 6px !important;
}

.wcf-activate-page .wcf-login-submit-compact,
.wcf-activate-page .wcf-auth-card-narrow .wcf-login-submit {
    min-height: 36px !important;
    max-width: 210px !important;
    min-width: 170px !important;
    padding: 8px 18px !important;
    border-radius: 12px !important;
    font-size: .84rem !important;
    margin-top: 8px !important;
}

@media (max-width: 640px) {
    body:has(.wcf-activate-page) {
        min-height: 100vh !important;
        display: flex !important;
        flex-direction: column !important;
    }
    body:has(.wcf-activate-page) .wcf-public-main,
    body:has(.wcf-activate-page) main {
        flex: 1 1 auto !important;
        display: flex !important;
        flex-direction: column !important;
        background: #102447 !important;
    }
    .wcf-activate-page.wcf-auth-page {
        flex: 1 1 auto !important;
        min-height: auto !important;
        padding: 26px 16px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    .wcf-activate-page .wcf-auth-card-narrow {
        padding: 26px 18px !important;
        border-radius: 22px !important;
    }
    .wcf-activate-page .wcf-auth-success-icon.is-compact,
    .wcf-activate-page .wcf-auth-success-icon.is-warning {
        width: 42px !important;
        height: 42px !important;
        font-size: 1.35rem !important;
        margin-bottom: 8px !important;
    }
    .wcf-activate-page .wcf-auth-card-narrow h2 {
        font-size: 1.22rem !important;
    }
    .wcf-activate-page .wcf-auth-subcopy {
        font-size: .88rem !important;
        line-height: 1.38 !important;
        margin-bottom: 4px !important;
    }
    .wcf-activate-page .wcf-auth-card-narrow .wcf-login-submit {
        min-width: 170px !important;
        max-width: 210px !important;
        min-height: 36px !important;
        padding: 8px 16px !important;
        margin-top: 8px !important;
    }
    body:has(.wcf-activate-page) .wcf-public-footer,
    body:has(.wcf-activate-page) footer {
        flex: 0 0 auto !important;
        min-height: auto !important;
        padding: 16px !important;
        margin-top: 0 !important;
    }
}


/* Release 12.1.8 — check-email state alignment polish */
.wcf-register-page .wcf-auth-register-success {
    width: 100%;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 10px;
    padding: clamp(8px, 2vw, 18px) 0;
}

.wcf-register-page .wcf-auth-register-success .wcf-auth-success-icon {
    margin-left: auto;
    margin-right: auto;
}

.wcf-register-page .wcf-auth-register-success .wcf-auth-subcopy {
    max-width: 430px;
    margin-left: auto;
    margin-right: auto;
}

.wcf-register-page .wcf-auth-register-success .wcf-auth-note {
    width: min(100%, 430px);
    text-align: center;
}

.wcf-register-page .wcf-auth-register-success .wcf-auth-actions-row {
    justify-content: center;
    width: 100%;
}

.wcf-register-page .wcf-auth-register-success .wcf-login-submit-compact {
    width: auto !important;
    min-width: 150px !important;
    max-width: 220px !important;
    min-height: 38px !important;
    padding: 8px 18px !important;
    border-radius: 12px !important;
    font-size: .86rem !important;
}

@media (max-width: 640px) {
    .wcf-register-page .wcf-auth-register-success {
        justify-content: center;
        padding: 6px 0;
        gap: 9px;
    }
    .wcf-register-page .wcf-auth-register-success .wcf-auth-subcopy {
        font-size: .95rem;
        line-height: 1.42;
    }
}

/* Release 12.1.11 — unified workspace switcher with auth styling */
.wcf-workspace-page {
    min-height: calc(100vh - 70px);
}

.wcf-workspace-page .wcf-auth-shell {
    width: min(1040px, 100%);
    grid-template-columns: minmax(0, 1fr) minmax(360px, 500px);
}

.wcf-workspace-page .wcf-auth-hero-panel,
.wcf-workspace-page .wcf-workspace-card {
    height: 540px;
    min-height: 540px;
    max-height: 540px;
}

.wcf-workspace-page .wcf-auth-hero-panel {
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 112px clamp(28px, 4vw, 48px) 42px;
}

.wcf-workspace-page .wcf-auth-mark {
    left: 50%;
    top: 40px;
    transform: translateX(-50%);
    justify-content: center;
    width: max-content;
    max-width: calc(100% - 72px);
    margin: 0;
}

.wcf-workspace-page .wcf-auth-hero-panel h1 {
    font-size: clamp(1.65rem, 2.25vw, 2.25rem);
    line-height: 1.08;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.wcf-workspace-page .wcf-auth-hero-panel p,
.wcf-workspace-page .wcf-auth-verse {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.wcf-workspace-card {
    width: 100%;
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 28px;
    box-shadow: 0 26px 80px rgba(0,0,0,.30);
    padding: clamp(22px, 2.6vw, 30px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
    backdrop-filter: blur(18px);
}

.wcf-workspace-page .wcf-auth-card-top {
    margin-bottom: 18px;
}

.wcf-workspace-page .wcf-auth-card h2 {
    font-size: clamp(1.35rem, 1.9vw, 1.75rem);
}

.wcf-workspace-options {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 14px;
}

.wcf-workspace-option {
    min-height: 0;
    padding: 16px 18px;
    border: 1px solid #dbe3ef;
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(15,23,42,.04);
}

.wcf-workspace-option strong {
    font-size: 1.18rem;
    line-height: 1.15;
}

.wcf-workspace-option span:not(.wcf-workspace-kicker) {
    font-size: .92rem;
    line-height: 1.38;
}

.wcf-workspace-option em {
    margin-top: 2px;
    font-size: .93rem;
}

.wcf-workspace-signout {
    margin-top: 16px;
    text-align: center;
}

.wcf-workspace-signout a {
    color: #0b1d3a;
    font-weight: 900;
    text-decoration: none;
    font-size: .86rem;
}

@media (max-width: 900px) {
    .wcf-workspace-page .wcf-auth-shell {
        display: flex;
        flex-direction: column;
        width: min(560px, 100%);
        gap: 18px;
    }
    .wcf-workspace-page .wcf-auth-hero-panel,
    .wcf-workspace-page .wcf-workspace-card {
        width: 100%;
        height: auto;
        min-height: 0;
        max-height: none;
    }
    .wcf-workspace-page .wcf-auth-hero-panel {
        min-height: 330px;
        padding: 28px 20px 24px;
        align-items: center;
        text-align: center;
    }
    .wcf-workspace-page .wcf-auth-mark {
        position: relative;
        top: auto;
        left: auto;
        transform: none;
        margin: 0 auto 18px;
        max-width: 100%;
    }
    .wcf-workspace-card {
        padding: 20px 18px;
        border-radius: 22px;
    }
}

@media (max-width: 560px) {
    .wcf-workspace-page .wcf-auth-hero-panel {
        min-height: 310px;
        border-radius: 24px;
    }
    .wcf-workspace-page .wcf-auth-hero-panel h1 {
        font-size: clamp(1.65rem, 7vw, 2rem);
    }
    .wcf-workspace-option {
        padding: 14px 15px;
    }
}

/* Release 12.1.12 — workspace switcher alignment and mobile containment */
.wcf-workspace-page {
    overflow-x: hidden !important;
}

.wcf-workspace-page .wcf-auth-shell {
    align-items: stretch !important;
    gap: clamp(22px, 3vw, 34px) !important;
}

.wcf-workspace-page .wcf-auth-hero-panel,
.wcf-workspace-page .wcf-workspace-card {
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.wcf-workspace-page .wcf-auth-hero-panel h1,
.wcf-workspace-page .wcf-auth-hero-panel p,
.wcf-workspace-page .wcf-auth-verse {
    max-width: 100% !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}

.wcf-workspace-page .wcf-auth-hero-panel p {
    max-width: 48ch !important;
}

.wcf-workspace-page .wcf-auth-verse {
    width: min(100%, 520px) !important;
    white-space: normal !important;
}

@media (max-width: 900px) {
    .wcf-workspace-page .wcf-auth-shell {
        width: min(560px, calc(100vw - 24px)) !important;
        max-width: calc(100vw - 24px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
        gap: 20px !important;
    }
    .wcf-workspace-page .wcf-auth-hero-panel {
        width: 100% !important;
        min-height: 340px !important;
        padding: 26px 18px 22px !important;
        border-radius: 24px !important;
    }
    .wcf-workspace-page .wcf-auth-mark {
        max-width: min(100%, 330px) !important;
        padding: 9px 14px !important;
        gap: 9px !important;
    }
    .wcf-workspace-page .wcf-auth-mark img {
        width: 24px !important;
        height: 24px !important;
        flex: 0 0 24px !important;
    }
    .wcf-workspace-page .wcf-auth-mark span {
        font-size: .74rem !important;
        white-space: nowrap !important;
    }
    .wcf-workspace-page .wcf-auth-hero-panel h1 {
        font-size: clamp(1.5rem, 6.2vw, 1.95rem) !important;
        line-height: 1.12 !important;
        margin-bottom: 10px !important;
    }
    .wcf-workspace-page .wcf-auth-hero-panel p {
        max-width: 30ch !important;
        font-size: .95rem !important;
        line-height: 1.45 !important;
    }
    .wcf-workspace-page .wcf-auth-verse {
        width: 100% !important;
        max-width: 100% !important;
        padding: 14px 12px !important;
        font-size: .88rem !important;
        line-height: 1.35 !important;
    }
    .wcf-workspace-card {
        width: 100% !important;
        max-width: 100% !important;
    }
}


/* Release 12.1.19 — branding media, legal pages and auth spacing polish */
.wcf-legal-page-shell {
    min-height: calc(100vh - 140px);
    padding: clamp(42px, 7vw, 78px) 18px;
    background: linear-gradient(135deg, #07172d 0%, #0b1d3a 58%, #173a7a 100%);
    overflow-x: hidden;
}

.wcf-legal-page-hero,
.wcf-legal-page-card {
    width: min(940px, calc(100vw - 36px));
    margin-left: auto;
    margin-right: auto;
}

.wcf-legal-page-hero {
    color: #fff;
    margin-bottom: 20px;
    text-align: center;
}

.wcf-legal-page-eyebrow {
    margin-bottom: 10px;
    color: #d8b64d;
    font-size: .76rem;
    font-weight: 950;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.wcf-legal-page-hero h1 {
    margin: 0;
    color: #fff;
    font-size: clamp(2rem, 4vw, 3.2rem);
    letter-spacing: -.045em;
    line-height: 1.03;
}

.wcf-legal-page-card {
    box-sizing: border-box;
    background: rgba(255,255,255,.98);
    border: 1px solid rgba(226,232,240,.92);
    border-radius: 28px;
    box-shadow: 0 28px 80px rgba(3,10,24,.28);
    padding: clamp(26px, 5vw, 52px);
    color: #172033;
    font-size: 1rem;
    line-height: 1.75;
}

.wcf-legal-page-card h1,
.wcf-legal-page-card h2,
.wcf-legal-page-card h3 {
    color: #0f172a;
    letter-spacing: -.03em;
    line-height: 1.15;
}

.wcf-legal-page-card h1 { font-size: clamp(1.8rem, 3vw, 2.45rem); margin: 0 0 18px; }
.wcf-legal-page-card h2 { font-size: clamp(1.25rem, 2.2vw, 1.65rem); margin: 34px 0 12px; }
.wcf-legal-page-card h3 { font-size: 1.1rem; margin: 24px 0 10px; }
.wcf-legal-page-card p { margin: 0 0 16px; }
.wcf-legal-page-card ul,
.wcf-legal-page-card ol { margin: 0 0 18px 1.35rem; padding: 0; }
.wcf-legal-page-card li { margin: 6px 0; }
.wcf-legal-page-card em { color: #475569; }


.wcf-legal-page-shell + .wcf-portal-footer {
    background: #07172d;
    color: rgba(226,232,240,.88);
    padding: 16px 16px 22px;
}

.wcf-legal-actions {
    display: grid !important;
    grid-template-columns: auto auto minmax(220px, 1fr);
    align-items: center;
    gap: 14px;
}

.wcf-legal-actions a {
    white-space: nowrap;
}

.wcf-legal-actions .wcf-legal-accept {
    justify-self: stretch;
    min-width: 220px;
}

@media (max-width: 900px) {
    .wcf-login-page .wcf-auth-card .wcf-auth-kicker {
        margin-top: 6px;
    }

    .wcf-legal-page-shell {
        padding: 28px 14px 22px;
        min-height: auto;
    }

    .wcf-legal-page-hero,
    .wcf-legal-page-card {
        width: 100%;
        max-width: calc(100vw - 28px);
        margin-left: auto;
        margin-right: auto;
    }

    .wcf-legal-page-card {
        border-radius: 22px;
        padding: 22px 18px;
        font-size: .95rem;
        line-height: 1.68;
    }

    .wcf-legal-page-shell + .wcf-portal-footer {
        padding: 14px 16px 18px;
    }

    .wcf-legal-actions {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }

    .wcf-legal-actions .wcf-legal-accept {
        grid-column: 1 / -1;
        width: 100%;
        min-width: 0;
    }
}

@media (max-width: 460px) {
    .wcf-legal-page-shell {
        padding-left: 14px;
        padding-right: 14px;
    }

    .wcf-legal-page-hero,
    .wcf-legal-page-card {
        max-width: calc(100vw - 28px);
    }

    .wcf-legal-actions {
        grid-template-columns: 1fr;
    }
}

.wcf-member-dashboard-v3 .wcf-member-continue-card > .wcf-portal-btn,
.wcf-member-dashboard-v3 .wcf-member-continue-card > a.wcf-portal-btn,
.wcf-member-dashboard-v2 .wcf-member-continue-card > .wcf-portal-btn,
.wcf-member-dashboard-v2 .wcf-member-continue-card > a.wcf-portal-btn {
    align-self: flex-start;
    min-width: 0;
    width: auto;
    max-width: 100%;
    background: linear-gradient(135deg, #2b5ce6, #1d4ed8) !important;
    border-color: rgba(43, 92, 230, 0.35) !important;
    color: #ffffff !important;
    padding: 12px 18px !important;
    box-shadow: 0 14px 26px rgba(43, 92, 230, 0.22) !important;
}

.wcf-member-dashboard-v3 .wcf-member-continue-card > .wcf-portal-btn:hover,
.wcf-member-dashboard-v3 .wcf-member-continue-card > a.wcf-portal-btn:hover,
.wcf-member-dashboard-v2 .wcf-member-continue-card > .wcf-portal-btn:hover,
.wcf-member-dashboard-v2 .wcf-member-continue-card > a.wcf-portal-btn:hover {
    background: linear-gradient(135deg, #1d4ed8, #172554) !important;
    color: #ffffff !important;
}

@media (max-width: 640px) {
    .wcf-member-dashboard-v3 .wcf-member-continue-card > .wcf-portal-btn,
    .wcf-member-dashboard-v3 .wcf-member-continue-card > a.wcf-portal-btn,
    .wcf-member-dashboard-v2 .wcf-member-continue-card > .wcf-portal-btn,
    .wcf-member-dashboard-v2 .wcf-member-continue-card > a.wcf-portal-btn {
        width: 100%;
    }
}


.wcf-whatsapp-help {
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 9999;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 48px;
    padding: 8px 14px 8px 8px;
    border-radius: 999px;
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.10);
    color: #0f172a;
    font-size: 0.88rem;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    box-shadow: 0 18px 38px rgba(15, 23, 42, 0.18);
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.wcf-whatsapp-help:hover,
.wcf-whatsapp-help:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(34, 197, 94, 0.45);
    color: #0f172a;
    text-decoration: none;
    box-shadow: 0 22px 44px rgba(15, 23, 42, 0.22);
}

.wcf-whatsapp-help-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: #22c55e;
    color: #22c55e;
    flex: 0 0 auto;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.45);
}

.wcf-whatsapp-help-icon svg {
    display: block;
    width: 34px;
    height: 34px;
}

@media (max-width: 640px) {
    .wcf-whatsapp-help {
        right: 14px;
        bottom: 16px;
        min-height: 44px;
        padding: 7px;
    }

    .wcf-whatsapp-help-icon,
    .wcf-whatsapp-help-icon svg {
        width: 34px;
        height: 34px;
    }

    .wcf-whatsapp-help span {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }
}


.wcf-quiz-instructions-card {
    display: grid;
    gap: 8px;
    margin: 0 auto 18px;
    max-width: 980px;
    box-sizing: border-box;
    padding: 16px 18px;
    border: 1px solid rgba(180, 83, 9, 0.18);
    border-radius: 18px;
    background: #fffbeb;
    color: #334155;
    font-size: 15px;
    line-height: 1.55;
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.06);
}

.wcf-quiz-instructions-card strong {
    color: #92400e;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.wcf-quiz-instructions-card p {
    margin: 0 0 8px;
}

.wcf-quiz-instructions-card p:last-child {
    margin-bottom: 0;
}

@media (max-width: 760px) {
    .wcf-quiz-instructions-card {
        margin-bottom: 14px;
        padding: 14px;
        font-size: 14px;
        border-radius: 16px;
    }
}

.wcf-quiz-resources-card {
    margin: 0 0 22px;
    padding: 22px;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 22px;
    background: #ffffff;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.06);
}

.wcf-quiz-resources-head {
    display: grid;
    gap: 4px;
    margin-bottom: 14px;
}

.wcf-quiz-resources-head strong {
    color: #0b1d3a;
    font-size: 1rem;
}

.wcf-quiz-resources-head span {
    color: #64748b;
    font-size: 0.92rem;
}

.wcf-quiz-video-embed {
    position: relative;
    overflow: hidden;
    width: 100%;
    margin: 14px 0;
    border-radius: 18px;
    background: #0b1d3a;
    aspect-ratio: 16 / 9;
}

.wcf-quiz-video-embed iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.wcf-quiz-resource-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 8px 10px 8px 0;
    padding: 10px 14px;
    border: 1px solid rgba(43, 92, 230, 0.18);
    border-radius: 999px;
    background: #eff6ff;
    color: #1d4ed8;
    font-weight: 800;
    text-decoration: none;
}

.wcf-quiz-resource-link:hover,
.wcf-quiz-resource-link:focus {
    background: #dbeafe;
    color: #1e40af;
}

.wcf-quiz-resource-contact {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid rgba(15, 23, 42, 0.08);
    color: #475569;
}

.wcf-quiz-resource-contact strong {
    color: #0b1d3a;
}

.wcf-quiz-resource-contact a {
    color: #6b163d;
    font-weight: 800;
    text-decoration: none;
}

@media (max-width: 640px) {
    .wcf-quiz-resources-card {
        padding: 18px;
        border-radius: 18px;
    }

    .wcf-quiz-resource-link {
        width: 100%;
        justify-content: center;
        margin-right: 0;
    }
}

.wcf-member-quiz-card.is-retake-required,
.wcf-member-study-row.is-retake-required {
    border-color: rgba(185, 28, 28, 0.28);
    background: linear-gradient(180deg, #ffffff 0%, #fff7f7 100%);
}

.wcf-member-status-retake {
    background: #fee2e2;
    color: #991b1b;
}

/* Keep longer Tamil quiz status text inside the desktop/tablet progress container. */
@media (min-width: 761px) {
    .wcf-quiz-progress-card {
        flex-wrap: wrap;
        border-radius: 18px;
    }
    .wcf-quiz-progress-card > div:first-child {
        flex: 1 1 220px;
        min-width: 0;
        white-space: normal;
        flex-wrap: wrap;
    }
    .wcf-quiz-save-status,
    .wcf-quiz-time-spent {
        white-space: normal;
        overflow-wrap: anywhere;
    }
}

/* Member family / under-13 child self-service */
.wcf-member-family-panel {
  grid-column: 1 / -1;
}
.wcf-member-child-list {
  display: grid;
  gap: 10px;
  margin: 16px 0 18px;
}
.wcf-member-child-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid rgba(15, 118, 110, .14);
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(236, 253, 245, .9), rgba(255,255,255,.96));
}
.wcf-child-avatar {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #ecfdf5;
  color: #0f766e;
  font-weight: 900;
  flex: 0 0 auto;
}
.wcf-member-child-row strong {
  display: block;
  color: #0f172a;
}
.wcf-member-child-row small {
  display: block;
  color: #64748b;
  margin-top: 3px;
}
.wcf-member-child-form {
  margin-top: 18px;
  padding: 18px;
  border: 1px solid rgba(15, 118, 110, .14);
  border-radius: 20px;
  background: #fff;
}
.wcf-member-child-form-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.wcf-member-child-form label span,
.wcf-member-child-consent span {
  font-size: 13px;
  color: #475569;
  font-weight: 700;
}
.wcf-member-child-form input[type="text"],
.wcf-member-child-form input[type="number"] {
  width: 100%;
  margin-top: 6px;
  border: 1px solid rgba(15, 118, 110, .18);
  border-radius: 14px;
  padding: 12px 13px;
  font: inherit;
}
.wcf-member-child-consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 14px 0;
  padding: 12px;
  border-radius: 14px;
  background: #f8fafc;
}
.wcf-member-child-consent input {
  margin-top: 4px;
}
.wcf-member-notice {
  margin: 12px 0;
  padding: 12px 14px;
  border-radius: 14px;
  font-weight: 800;
}
.wcf-member-notice.success {
  background: #ecfdf5;
  color: #047857;
  border: 1px solid #bbf7d0;
}
.wcf-member-notice.error {
  background: #fef2f2;
  color: #991b1b;
  border: 1px solid #fecaca;
}
@media (max-width: 900px) {
  .wcf-member-child-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 620px) {
  .wcf-member-child-form-grid {
    grid-template-columns: 1fr;
  }
  .wcf-member-child-row {
    align-items: flex-start;
  }
}


/* Release 13.3.2 — guardian-managed child context UI. */
.wcf-member-managed-child-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 0 0 22px;
    padding: 16px 18px;
    border: 1px solid rgba(22, 101, 52, .18);
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(236, 253, 245, .92), rgba(255, 255, 255, .95));
    box-shadow: 0 16px 36px rgba(15, 23, 42, .06);
}
.wcf-member-managed-child-banner div {
    display: grid;
    gap: 4px;
}
.wcf-member-managed-child-banner strong {
    color: #064e3b;
    font-weight: 850;
}
.wcf-member-managed-child-banner span {
    color: #475569;
    font-size: 14px;
}
.wcf-member-child-row {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 14px;
}
.wcf-member-child-manage-btn {
    justify-self: end;
    white-space: nowrap;
}
@media (max-width: 700px) {
    .wcf-member-managed-child-banner,
    .wcf-member-child-row {
        grid-template-columns: 1fr;
        align-items: start;
    }
    .wcf-member-managed-child-banner {
        display: grid;
    }
    .wcf-member-child-manage-btn {
        justify-self: start;
    }
}


/* Release 13.3.3 — child dashboard button polish. */
.wcf-member-child-row strong {
    font-weight: 850;
}
.wcf-member-child-manage-btn,
.wcf-member-child-manage-btn:visited {
    background: #183a78 !important;
    border-color: #183a78 !important;
    color: #ffffff !important;
    box-shadow: 0 14px 28px rgba(24, 58, 120, .22) !important;
}
.wcf-member-child-manage-btn:hover,
.wcf-member-child-manage-btn:focus {
    background: #102b5c !important;
    border-color: #102b5c !important;
    color: #ffffff !important;
}

/* Release 13.3.4 — child dashboard banner wording/button polish. */
.wcf-member-child-back-btn,
.wcf-member-child-back-btn:visited {
    background: #183a78 !important;
    border-color: #183a78 !important;
    color: #ffffff !important;
    box-shadow: 0 14px 28px rgba(24, 58, 120, .22) !important;
}
.wcf-member-child-back-btn:hover,
.wcf-member-child-back-btn:focus {
    background: #102b5c !important;
    border-color: #102b5c !important;
    color: #ffffff !important;
}

/* Release 13.3.5 — Child Corner navigation and dashboard support. */
.wcf-child-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.wcf-child-add-panel { margin-top: 24px; }
.wcf-child-corner-page .wcf-member-quiz-card { min-width: 0; }
.wcf-child-corner-page .wcf-portal-alert { margin-bottom: 18px; }
.wcf-child-dashboard-back {
  max-width: var(--wcf-page-max, 1400px);
  margin: 18px auto 0;
  padding: 0 24px;
}
@media (max-width: 900px) {
  .wcf-child-card-grid { grid-template-columns: 1fr; }
}
