/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Jun 13 2026 | 21:46:32 */
/* ============================================================
   BrightLeaf Giving — FAQ pages stylesheet
   ------------------------------------------------------------
   Covers:
     /faq/                            (hub, post 11166)
     /nonprofit/scholarship/faq/      (post 11160)
     /nonprofit/support/faq/          (post 11162)
     /nonprofit/campaigns/faq/        (post 11164)
     /dashboard/help/                 (post 11168)

   All five pages share the .bl-faq-page class on the main
   element. Everything below scopes under .bl-faq-page so
   the stylesheet is page-safe even if URL routing changes.

   Constraints: no direct-child combinators (KSES on REST
   writes encodes them), no box-shadow (KSES strips), no
   quoted font-family, no -webkit prefixes.
   ============================================================ */

.bl-faq-page {
    /* ----- BLG forest+lime tokens ----- */
    --bl-green:        #2F7E4B;
    --bl-green-hover:  #25663D;
    --bl-green-deep:   #1F5A35;
    --bl-green-soft:   rgba(47, 126, 75, 0.08);
    --bl-lime:         #A8C64A;
    --bl-lime-soft:    #DDE9B5;
    --bl-navy:         #0b2a4a;

    --bl-ink:          #1F2A26;
    --bl-ink-2:        #2A3833;
    --bl-muted:        #56645F;
    --bl-muted-2:      #8A958F;

    --bl-white:        #ffffff;
    --bl-surface:      #F7F9F6;
    --bl-surface-2:    #F1F4F0;
    --bl-border:       #DEE4E1;
    --bl-border-soft:  #E8EDE9;

    --bl-radius-sm:    8px;
    --bl-radius-md:    12px;
    --bl-radius-lg:    16px;

    --bl-tx:           180ms ease;

    --bl-font:         'Nunito Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

    display: block;
    max-width: 920px;
    margin: 0 auto;
    padding: 24px 18px 64px;
    font-family: var(--bl-font);
    color: var(--bl-ink);
    line-height: 1.6;
}

/* ============================================================
   HERO
   ============================================================ */

.bl-faq-page .bl-dash-formpage__hero {
    display: block;
    margin: 0 0 36px;
    padding: 24px 0 28px;
    border-bottom: 1px solid var(--bl-border);
}

.bl-faq-page .bl-eyebrow {
    display: inline-block;
    margin: 0 0 12px;
    padding: 4px 10px;
    background: var(--bl-green-soft);
    color: var(--bl-green-deep);
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.bl-faq-page .bl-dash-formpage__title {
    margin: 0 0 14px;
    font-size: clamp(1.6rem, 4.2vw, 2.4rem);
    font-weight: 700;
    line-height: 1.18;
    letter-spacing: -0.01em;
    color: var(--bl-navy);
}

.bl-faq-page .bl-dash-formpage__lede {
    margin: 0;
    font-size: 1.02rem;
    line-height: 1.6;
    color: var(--bl-muted);
    max-width: 68ch;
}

/* ============================================================
   PROGRAM SHORTCUT GRID (.bl-pitch on the hub page)
   ============================================================ */

.bl-faq-page .bl-pitch {
    display: block;
    margin: 0 0 40px;
    padding: 0;
}

.bl-faq-page .bl-pitch__heading {
    margin: 0 0 18px;
    font-size: clamp(1.25rem, 3vw, 1.55rem);
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -0.005em;
    color: var(--bl-navy);
}

.bl-faq-page .bl-pitch__grid {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin: 0;
    padding: 0;
}

.bl-faq-page .bl-pitch__card {
    display: block;
    flex: 1 1 calc(33.333% - 10px);
    min-width: 220px;
    padding: 20px 18px;
    background: var(--bl-white);
    border: 1px solid var(--bl-border);
    border-left: 3px solid var(--bl-green);
    border-radius: var(--bl-radius-md);
    color: var(--bl-ink);
    text-decoration: none;
    transition: border-color var(--bl-tx), background var(--bl-tx), transform var(--bl-tx);
}

.bl-faq-page .bl-pitch__card:hover {
    border-color: var(--bl-green);
    border-left-color: var(--bl-green-deep);
    background: var(--bl-surface);
    transform: translateY(-1px);
}

.bl-faq-page .bl-pitch__icon {
    display: block;
    margin: 0 0 10px;
    font-size: 1.8rem;
    line-height: 1;
}

.bl-faq-page .bl-pitch__card-title {
    margin: 0 0 8px;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--bl-navy);
}

.bl-faq-page .bl-pitch__card-body {
    margin: 0;
    font-size: 0.92rem;
    line-height: 1.55;
    color: var(--bl-muted);
}

/* ============================================================
   FAQ SECTIONS (.bl-faq)
   ============================================================ */

.bl-faq-page .bl-faq {
    display: block;
    margin: 0 0 36px;
    padding: 0;
}

.bl-faq-page .bl-faq__heading {
    margin: 0 0 14px;
    padding: 0 0 10px;
    border-bottom: 1px solid var(--bl-border-soft);
    font-size: clamp(1.2rem, 2.8vw, 1.45rem);
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -0.005em;
    color: var(--bl-navy);
}

.bl-faq-page .bl-faq__item {
    display: block;
    margin: 0 0 8px;
    padding: 0;
    background: var(--bl-white);
    border: 1px solid var(--bl-border);
    border-radius: var(--bl-radius-sm);
    overflow: hidden;
    transition: border-color var(--bl-tx), background var(--bl-tx);
}

.bl-faq-page .bl-faq__item[open] {
    border-color: var(--bl-green);
    background: var(--bl-surface);
}

.bl-faq-page .bl-faq__q {
    display: block;
    position: relative;
    padding: 14px 44px 14px 16px;
    cursor: pointer;
    list-style: none;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.4;
    color: var(--bl-ink);
    transition: color var(--bl-tx);
}

.bl-faq-page .bl-faq__q::-webkit-details-marker {
    display: none;
}

.bl-faq-page .bl-faq__q::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 16px;
    width: 22px;
    height: 22px;
    margin-top: -11px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--bl-green);
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 1;
    transition: transform var(--bl-tx), color var(--bl-tx);
}

.bl-faq-page .bl-faq__item[open] .bl-faq__q::after {
    content: "−";
    color: var(--bl-green-deep);
}

.bl-faq-page .bl-faq__q:hover {
    color: var(--bl-green-deep);
}

.bl-faq-page .bl-faq__a {
    display: block;
    padding: 0 16px 16px;
    font-size: 0.96rem;
    line-height: 1.6;
    color: var(--bl-ink-2);
    border-top: 1px solid var(--bl-border-soft);
}

.bl-faq-page .bl-faq__a p {
    margin: 12px 0 0;
}

.bl-faq-page .bl-faq__a p:first-child {
    margin-top: 12px;
}

.bl-faq-page .bl-faq__a ul,
.bl-faq-page .bl-faq__a ol {
    margin: 12px 0 0;
    padding-left: 22px;
}

.bl-faq-page .bl-faq__a li {
    margin: 0 0 6px;
    line-height: 1.55;
}

.bl-faq-page .bl-faq__a strong {
    color: var(--bl-ink);
    font-weight: 700;
}

.bl-faq-page .bl-faq__a a {
    color: var(--bl-green);
    text-decoration: underline;
    text-decoration-color: rgba(47, 126, 75, 0.4);
    text-underline-offset: 3px;
    transition: color var(--bl-tx);
}

.bl-faq-page .bl-faq__a a:hover {
    color: var(--bl-green-deep);
    text-decoration-color: var(--bl-green-deep);
}

/* ============================================================
   CTA (.bl-pf-cta)
   ============================================================ */

.bl-faq-page .bl-pf-cta {
    display: block;
    margin: 40px 0 0;
    padding: 0;
}

.bl-faq-page .bl-pf-cta__inner {
    display: block;
    padding: 28px 22px;
    background: linear-gradient(180deg, var(--bl-lime-soft) 0%, var(--bl-white) 80%);
    border: 1px solid var(--bl-border);
    border-left: 3px solid var(--bl-green);
    border-radius: var(--bl-radius-md);
    text-align: left;
}

.bl-faq-page .bl-pf-cta__eyebrow {
    display: inline-block;
    margin: 0 0 8px;
    padding: 3px 9px;
    background: var(--bl-green);
    color: var(--bl-white);
    border-radius: 999px;
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.bl-faq-page .bl-pf-cta__title {
    margin: 0 0 10px;
    font-size: clamp(1.25rem, 3vw, 1.55rem);
    font-weight: 700;
    line-height: 1.25;
    color: var(--bl-navy);
}

.bl-faq-page .bl-pf-cta__body {
    margin: 0 0 16px;
    font-size: 0.98rem;
    line-height: 1.55;
    color: var(--bl-ink-2);
    max-width: 60ch;
}

.bl-faq-page .bl-pf-cta__button {
    display: inline-block;
    padding: 11px 22px;
    background: var(--bl-green);
    color: var(--bl-white);
    border: 1px solid var(--bl-green);
    border-radius: var(--bl-radius-sm);
    font-size: 0.98rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    letter-spacing: 0.01em;
    transition: background var(--bl-tx), border-color var(--bl-tx), transform var(--bl-tx);
}

.bl-faq-page .bl-pf-cta__button:hover {
    background: var(--bl-green-deep);
    border-color: var(--bl-green-deep);
    color: var(--bl-white);
    transform: translateY(-1px);
}

.bl-faq-page .bl-pf-cta__or {
    margin: 14px 0 0;
    font-size: 0.9rem;
    color: var(--bl-muted);
}

.bl-faq-page .bl-pf-cta__or a {
    color: var(--bl-green);
    text-decoration: underline;
    text-decoration-color: rgba(47, 126, 75, 0.4);
    text-underline-offset: 3px;
}

.bl-faq-page .bl-pf-cta__or a:hover {
    color: var(--bl-green-deep);
}

/* ============================================================
   MOBILE TWEAKS (≤ 640px)
   ============================================================ */

@media (max-width: 640px) {
    .bl-faq-page {
        padding: 16px 14px 48px;
    }

    .bl-faq-page .bl-dash-formpage__hero {
        margin-bottom: 28px;
        padding: 16px 0 22px;
    }

    .bl-faq-page .bl-pitch__grid {
        gap: 10px;
    }

    .bl-faq-page .bl-pitch__card {
        flex: 1 1 100%;
        min-width: 0;
        padding: 16px 14px;
    }

    .bl-faq-page .bl-faq__q {
        padding: 12px 40px 12px 14px;
        font-size: 0.96rem;
    }

    .bl-faq-page .bl-faq__a {
        padding: 0 14px 14px;
        font-size: 0.92rem;
    }

    .bl-faq-page .bl-pf-cta__inner {
        padding: 22px 16px;
    }
}

/* ============================================================
   TABLET — 2-up shortcut grid (≤ 900px)
   ============================================================ */

@media (max-width: 900px) and (min-width: 641px) {
    .bl-faq-page .bl-pitch__card {
        flex: 1 1 calc(50% - 7px);
    }
}
