/* Central account access uses the existing public identity. */
.wisdomhouse-section.wisdomhouse-section-boxed:has(.wh-account-access) > .wisdomhouse-container,
:is(.wisdomhouse-section, .wisdomhouse-column, .wisdomhouse-widget, .wisdomhouse-widget-container, .wisdomhouse-shortcode):has(.wh-account-access),
.wisdomhouse-column:has(.wh-account-access) > .wisdomhouse-widget-wrap { width: 100%; max-width: none; }
.wisdomhouse-section:has(.wh-account-access) { padding-inline: 0; }
.wh-account-access { min-height: 100vh; background: #fff; }
.wh-account-form { width: min(620px, 100%); margin-inline: auto; padding: 48px 24px 64px; }
.wh-account-access .wh-account-form h1 { font-size: 34px; }
.wh-account-form label { display: block; font-weight: 700; margin-bottom: 8px; }
.wh-account-form input:not([type="checkbox"]):not([type="hidden"]):not([type="submit"]) { width: 100%; min-height: 48px; padding: 10px 12px; border: 1px solid #aeb7c2; border-radius: 4px; font: inherit; background: #fff; color: #242931; }
.wh-account-form :is(button, input[type="submit"]) { max-width: 100%; min-height: 48px; padding: 12px 20px; border: 0; border-radius: 6px; background: #406ab3; color: #fff; font: inherit; font-weight: 700; white-space: normal; cursor: pointer; }
.wh-account-form form { margin-bottom: 28px; }
.wh-account-form .wh-account-feedback { padding: 16px; border-left: 4px solid; font-size: 15px; }
.wh-account-form .wh-account-feedback--success { border-color: #406ab3; background: #edf3fc; }
.wh-account-form .wh-account-feedback--error { border-color: #b3261e; background: #fff2f1; }
.wh-account-form input[type="checkbox"] { width: 18px; height: 18px; vertical-align: middle; accent-color: #406ab3; }
.wh-account-trap { display: none; }
@media (max-width: 600px) {
    .wh-account-form { padding: 32px 20px; }
    .wh-account-access .wh-account-form h1 { font-size: 28px; }
}

/* Let the dashboard navigation scroll without widening its grid track. */
.whi-shell > * { min-width: 0; }
.whi-panel__header { flex-wrap: wrap; }

/* Shared public identity, isolated from Elementor's document typography. */
:is(.wh-public, .wh-public-block) {
    --wh-blue: #406ab3;
    --wh-orange: #ec7f4d;
    --wh-mint: #53c9a9;
    --wh-ink: #242931;
    --wh-muted: #596472;
    --wh-line: #d0d5db;
    --wh-surface: #f2f3f4;
    color: var(--wh-ink);
    font-family: "Nunito Sans", "Arial", sans-serif;
    font-size: 16px;
    line-height: 1.65;
    letter-spacing: 0;
    overflow-wrap: anywhere;
}
:is(.wh-public, .wh-public-block) *, :is(.wh-public, .wh-public-block) *::before, :is(.wh-public, .wh-public-block) *::after { box-sizing: border-box; letter-spacing: 0; }
:is(.wh-public, .wh-public-block) h1 { font-size: 48px; line-height: 1.12; font-weight: 800; margin: 16px 0 24px; }
:is(.wh-public, .wh-public-block) h2 { font-size: 30px; line-height: 1.25; font-weight: 800; margin: 0 0 24px; }
:is(.wh-public, .wh-public-block) h3 { font-size: 21px; line-height: 1.35; font-weight: 700; margin: 12px 0; }
:is(.wh-public, .wh-public-block) p { margin: 0 0 18px; font-size: 16px; }
:is(.wh-public, .wh-public-block) a { color: var(--wh-blue); text-underline-offset: 4px; }
:is(.wh-public, .wh-public-block) a:hover { text-decoration: underline; }
:is(.wh-public, .wh-public-block) :focus-visible { outline: 3px solid var(--wh-blue); outline-offset: 4px; }
:is(.wh-public, .wh-public-block) dl, :is(.wh-public, .wh-public-block) dd { margin: 0; }
:is(.wh-public, .wh-public-block) .wh-public-eyebrow { font-size: 12px; text-transform: uppercase; font-weight: 800; color: var(--wh-blue); margin-bottom: 14px; }
:is(.wh-public, .wh-public-block) .wh-public-note { color: var(--wh-muted); font-size: 14px; font-weight: 400; line-height: 1.6; }
.wh-public-wrap { width: min(1320px, 100%); margin-inline: auto; padding-inline: 48px; }
.wh-public-section { padding-block: 56px; }
.wh-public-band { background: var(--wh-surface); }
.wh-public-band--funding { background: #fff; border-bottom: 1px solid var(--wh-line); padding-block: 42px; }
.wh-public-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 64px; }
.wh-public-hero { position: relative; isolation: isolate; background: var(--wh-surface); }
.wh-public-hero--photo { background: #242931; color: #fff; }
.wh-public-hero--photo::after { content: ""; position: absolute; inset: 0; background: #151b238c; z-index: -1; }
.wh-public-hero__photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 40%; z-index: -2; }
.wh-public-hero__content { padding-block: 36px 48px; }
.wh-public-hero h1 { max-width: 900px; color: inherit; }
.wh-public-hero .wh-public-intro { max-width: 720px; }
.wh-public-hero .wh-public-back { display: inline-block; margin-bottom: 28px; font-size: 14px; }
.wh-public-hero--photo :is(.wh-public-back, .wh-public-eyebrow) { color: #fff; }
.wh-public-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-block: 12px; }
.wh-public-tag { display: inline-block; border-radius: 4px; background: #e8eef8; color: #294d88; font-size: 12px; line-height: 1.4; font-weight: 700; padding: 7px 10px; }
.wh-public-tag--status { color: #164737; background: #c9f1e5; }
.wh-public .wh-public-button, :is(.wh-public .wh-donations-form, .wh-public.wh-donations-form) button { display: inline-flex; align-items: center; justify-content: center; background: var(--wh-orange); border: 1px solid var(--wh-orange); border-radius: 6px; color: #242931; min-height: 48px; padding: 12px 20px; font-size: 15px; font-weight: 800; text-decoration: none; }
.wh-public .wh-public-button { margin-top: 18px; }
.wh-public-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; padding-block: 4px 24px; }
.wh-public-metrics dt, .wh-public-action-figures dt { font-size: 13px; color: var(--wh-muted); margin-bottom: 8px; }
.wh-public-metrics dd { font-size: 24px; font-weight: 800; line-height: 1.3; }
:is(.wh-public, .wh-public-block) dd.wh-public-unit { color: var(--wh-muted); font-size: 13px; font-weight: 400; margin-top: 4px; }
.wh-public-progress-label { display: block; font-size: 14px; font-weight: 700; margin-bottom: 16px; }
.wh-public-progress-label progress { display: block; appearance: none; width: 100%; height: 8px; margin-top: 10px; border: 0; border-radius: 4px; background: var(--wh-surface); accent-color: var(--wh-blue); overflow: hidden; }
.wh-public-progress-label progress::-webkit-progress-bar { background: var(--wh-surface); }
.wh-public-progress-label progress::-webkit-progress-value { background: var(--wh-blue); }
.wh-public-progress-label progress::-moz-progress-bar { background: var(--wh-blue); }
.wh-public-story { max-width: 1056px; }
.wh-public-story img { max-width: 100%; height: auto; }
.wh-public-contribute { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 80px; scroll-margin-top: 40px; }
:is(.wh-public .wh-donations-form, .wh-public.wh-donations-form) { min-width: 0; margin: 0; padding: 0; background: transparent; border: 0; box-shadow: none; }
:is(.wh-public .wh-donations-form, .wh-public.wh-donations-form) form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; }
:is(.wh-public .wh-donations-form, .wh-public.wh-donations-form) form > p { grid-column: 1 / -1; }
:is(.wh-public .wh-donations-form, .wh-public.wh-donations-form) label { font-size: 15px; font-weight: 700; }
:is(.wh-public .wh-donations-form, .wh-public.wh-donations-form) :is(input:not([type="checkbox"]):not([type="hidden"]), select, textarea) { width: 100%; max-width: 100%; min-height: 46px; border: 1px solid var(--wh-line); border-radius: 4px; padding: 10px 12px; background: #fff; color: var(--wh-ink); font-family: inherit; font-size: 16px; }
:is(.wh-public .wh-donations-form, .wh-public.wh-donations-form) input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--wh-blue); vertical-align: middle; margin-right: 8px; }
:is(.wh-public .wh-donations-form, .wh-public.wh-donations-form) small { display: block; font-size: 13px; color: var(--wh-muted); margin-top: 7px; }
.wh-public .wh-donations-success, .wh-public .wh-public-notice { padding: 20px; border-left: 4px solid var(--wh-mint); background: #eff9f6; font-size: 15px; }
.wh-public .wh-donations-errors { padding: 16px; border-left: 4px solid #ba3940; background: #fff1f1; }
.wh-public-related-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.wh-public-related-item { min-width: 0; }
.wh-public-related-image { aspect-ratio: 1.6; margin-bottom: 20px; }
.wh-public-related-image img { width: 100%; height: 100%; object-fit: cover; }
.wh-public-related-item h3 a { color: var(--wh-ink); }
.wh-public-heading { max-width: 820px; margin-bottom: 32px; }
.wh-public-heading h2 { font-size: 38px; }
.wh-public-totals { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; padding-block: 12px 28px; }
.wh-public-total { padding: 24px 0 12px; border-top: 4px solid var(--wh-blue); }
.wh-public-total--1 { border-color: var(--wh-orange); }
.wh-public-total--2 { border-color: var(--wh-mint); }
.wh-public-total dt { font-size: 15px; font-weight: 700; }
.wh-public-total dd { font-size: 34px; line-height: 1.4; font-weight: 800; margin-block: 10px; }
.wh-public-action-row { border-top: 1px solid var(--wh-line); padding-block: 28px; }
.wh-public-action-title { display: flex; gap: 24px; align-items: center; margin-bottom: 24px; }
.wh-public-action-title > img { width: 110px; height: 88px; object-fit: cover; flex-shrink: 0; border-radius: 4px; }
.wh-public-action-title h3 a { color: var(--wh-ink); }
.wh-public-action-figures { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 20px; }
.wh-public-action-figures dd { font-size: 17px; font-weight: 700; line-height: 1.4; }
.wh-public-breakdowns { border-top: 1px solid var(--wh-line); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; }
.wh-public-breakdowns h2 { font-size: 22px; }
.wh-public-ledger > div { display: flex; gap: 20px; justify-content: space-between; border-bottom: 1px solid var(--wh-line); padding-block: 14px; }
.wh-public-ledger dd { flex-shrink: 0; font-weight: 700; }
.wh-public.wh-actions-archive { max-width: 1320px; padding: 48px; margin: 0 auto; }
.wh-public .wh-actions-archive__header { background: none; border: 0; border-radius: 0; padding: 0 0 24px; }
.wh-public .wh-action-card { border: 1px solid var(--wh-line); border-radius: 6px; box-shadow: none; background: #fff; }
.wh-public .wh-action-card__body { padding: 24px; }
.wh-public .wh-action-card__title { font-size: 23px; }
.wh-public .wh-action-card__image { width: 100%; aspect-ratio: 1.5; object-fit: cover; }
.wh-public .wh-action-pill { background: #e8eef8; color: #294d88; border-radius: 4px; font-size: 12px; }
.wh-public .wh-action-pill--alt { background: #c9f1e5; color: #164737; }
@media (max-width: 900px) {
    .wh-public-wrap { padding-inline: 28px; }
    .wh-public-columns { gap: 32px; }
    .wh-public-contribute { grid-template-columns: 1fr; gap: 24px; }
    .wh-public-action-figures { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .wh-public-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .wh-public-breakdowns { grid-template-columns: 1fr; gap: 28px; }
}
@media (max-width: 600px) {
    .wh-public-wrap { padding-inline: 20px; }
    :is(.wh-public, .wh-public-block) h1 { font-size: 32px; }
    :is(.wh-public, .wh-public-block) h2 { font-size: 26px; }
    .wh-public-hero__content { padding-block: 24px 32px; }
    .wh-public-hero .wh-public-back { margin-bottom: 16px; }
    .wh-public-section { padding-block: 36px; }
    .wh-public-columns { grid-template-columns: 1fr; gap: 32px; }
    .wh-public-metrics { gap: 16px; }
    .wh-public-metrics dd { font-size: 20px; }
    .wh-public-totals { grid-template-columns: 1fr; gap: 8px; }
    .wh-public-total { padding-block: 16px; }
    .wh-public-total dd { font-size: 28px; }
    .wh-public-related-grid { grid-template-columns: 1fr; }
    .wh-public-action-title { gap: 16px; align-items: flex-start; }
    .wh-public-action-title > img { width: 72px; height: 72px; }
    .wh-public-action-figures { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .wh-public.wh-actions-archive { padding: 28px 20px; }
}
