/*
 * Global button family — ported unchanged from the approved static build
 * (site.legacy.css). Loaded globally because .button/.button-small appears
 * in the header (Donate CTA) as well as on every converted page.
 */

.button {
    display: inline-flex;
    min-height: 54px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 24px;
    border: 1px solid transparent;
    border-radius: 999px;
    background: var(--navy);
    color: var(--white);
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    box-shadow: 0 10px 30px rgba(8,29,51,.14);
    transition: transform .3s var(--ease), box-shadow .3s var(--ease), background .3s;
    position: relative;
    overflow: hidden;
    isolation: isolate;
}
.button:hover { transform: translateY(-3px); box-shadow: 0 16px 38px rgba(8,29,51,.23); }
.button .icon { width: 19px; height: 19px; }
.button-small { min-height: 44px; padding: 12px 18px; font-size: .86rem; }
.button-light { background: var(--white); color: var(--navy); }
.button-ghost { border-color: rgba(255,255,255,.35); background: transparent; color: var(--white); box-shadow: none; }
.button-forest { background: var(--forest); }

.button::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: -2px auto -2px -45%;
    width: 34%;
    transform: skewX(-20deg);
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.44), transparent);
    transition: left .6s var(--ease);
}
.button:hover::before { left: 120%; }
.button:active { transform: translateY(0) scale(.97); }
.button:focus-visible { outline: 3px solid #7fc5f0; outline-offset: 4px; }
