/* ===== Base / Theme ===== */
:root {
    --orange: #fe600f; /* brand accent */
    --ink: #111111; /* headings/nav */
    --text: #2b2b2b; /* body copy */
}

html, body {
    font-family: "Wix Madefor Text",system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
    color: var(--text);
}

h1, h2, h3, h4, h5, h6 {
    font-family: "Wix Madefor Display","Wix Madefor Text",system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
    color: var(--ink);
    letter-spacing: .1px;
}

/* ===== Header / Nav ===== */
.header-logo {
    width: 69px;
    height: 69px;
    object-fit: contain;
}

.header-logo-lg {
    width: 144px;
    height: 144px;
    object-fit: contain;
}

.site-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--orange);
    line-height: 1.2;
}

.nav .nav-link {
    font-weight: 700;
    text-transform: capitalize;
    letter-spacing: .02em;
    padding: .25rem .6rem;
    color: #212529;
    font-size: 1.25rem;
}

    .nav .nav-link:hover,
    .nav .nav-link.active {
        color: var(--orange) !important;
        text-decoration: none !important;
        font-weight: 800;
    }

header, .navbar, .site-header {
    border: none !important;
    box-shadow: none !important;
}

.nav-main {
    align-items: center;
}

/* Header utilities */
.nav-utilities {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: -4px;
}

    .nav-utilities .donate-btn {
        font-size: .9rem;
        padding: .35rem .8rem;
        border-radius: 999px;
        line-height: 1.2;
    }

.login-link {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    font-weight: 600;
    color: #1a73e8;
}

    .login-link:hover {
        text-decoration: underline;
        text-underline-offset: 3px;
    }

.login-icon {
    width: 28px;
    height: 28px;
    display: inline-block;
}



/* ===== Buttons ===== */
.btn-pill {
    border-radius: 999px;
}

/* Solid Orange Button */
.btn-orange {
    background: var(--orange);
    color: #fff;
    border: 3px solid var(--orange);
    border-radius: 999px;
    padding: .55rem 1.25rem;
    font-weight: 800;
    transition: all 0.2s ease-in-out;
}

    .btn-orange:hover,
    .btn-orange:focus {
        background: #fff;
        color: var(--orange);
        border-color: var(--orange);
        text-decoration: none;
    }

/* Outline Orange Button */
.btn-outline-orange {
    border: 3px solid var(--orange);
    color: var(--orange);
    border-radius: 999px;
    font-weight: 800;
    padding: .55rem 1.25rem;
    background: transparent;
    transition: all 0.2s ease-in-out;
}

    .btn-outline-orange:hover,
    .btn-outline-orange:focus {
        background: var(--orange);
        border-color: var(--orange);
        color: #fff;
        text-decoration: none;
        opacity: 1;
    }

/* Outline White Button */
.btn-outline-white {
    border: 4px solid #fff;
    color: #fff;
    border-radius: 999px;
    padding: .6rem 1.4rem;
    font-weight: 800;
    transition: all 0.2s ease-in-out;
}

    .btn-outline-white:hover,
    .btn-outline-white:focus {
        background: #fff;
        color: var(--orange);
        border-color: #fff;
        opacity: 1;
        text-decoration: none;
    }

/* ===== Hero (Homepage + shared) ===== */
.hero, .chalco-hero {
    position: relative;
    border-radius: 0;
    overflow: hidden;
}

.hero-img, .chalco-hero-img {
    width: 100%;
    height: auto;
    object-fit: contain;
    display: block;
}

.hero-overlay, .chalco-hero-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    text-align: center;
    padding-bottom: 5%;
    background: none;
}

.hero h1, .chalco-hero-title {
    font-weight: 800;
    color: #fff;
    text-shadow: 0 2px 16px rgba(0,0,0,.45);
}

.chalco-hero-title {
    font-size: clamp(1.25rem,4vw,2rem);
}

.hero-overlay-content {
    width: 100%;
    max-width: 900px;
}

/* Hero carousel */
#heroCarousel .carousel-item img {
    height: 35vh;
    min-height: 250px;
    object-fit: cover;
    width: 100%;
}

/* Reduce carousel image title font size by 15% */
#heroCarousel .hero-overlay-content h1 {
    font-size: 212.5% !important; /* 250% * 0.85 = 212.5% */
}

/* ===== About (home card) ===== */
.bg-orange {
    background: var(--orange);
}

.card.bg-orange {
    border-radius: 0px;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 2rem;
}

    .card.bg-orange h2, .card.bg-orange p {
        text-align: center;
    }

/* ===== Programs grid (home tiles) ===== */
.program-card {
    border: 0;
    box-shadow: 0 1px 6px rgba(0,0,0,.06);
    border-radius: 14px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

    .program-card .program-icon {
        width: 100%;
        height: 200px;
        object-fit: cover;
        display: block;
    }

    .program-card h3 {
        margin-top: .75rem;
        padding: 0 .5rem;
        text-align: center;
    }



/* ===== Get Involved (home band) ===== */
.get-involved {
    background: var(--orange);
    color: #fff;
}

    .get-involved .container {
        padding: 1.5rem 0;
    }

@media (min-width:992px) {
    .get-involved .container {
        padding: 2rem 0;
    }
}

.gi-eyebrow, .gi-title, .gi-card-title {
    color: #fff;
    font-weight: 800;
}

.gi-eyebrow {
    font-size: clamp(1.75rem,3vw,2.5rem);
}

.gi-title {
    font-size: clamp(1.5rem,3vw,2rem);
    margin-top: .25rem;
}

.gi-card-title {
    font-size: clamp(1.25rem,2.2vw,1.75rem);
    margin-bottom: .5rem;
}

.gi-card-text {
    color: #fff;
    opacity: .95;
    max-width: 42ch;
    margin: 0 auto .75rem;
    font-size: clamp(1rem,1.2vw,1.125rem);
}

.gi-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

/* ===== Footer ===== */
.footer-modern {
    background: #fff;
    padding: 0 10%;
}

.ein-number {
    font-size: 1.25rem;
    color: #6b6f74;
    letter-spacing: .5px;
    white-space: nowrap;
}

.footer-legal-copy {
    color: #6b6f74;
    max-width: 46ch;
}

.footer-address {
    font-style: normal;
    color: #2b2b2b;
}

.social-link {
    color: #111;
    font-size: 1.25rem;
    display: inline-flex;
    transition: color .2s;
}

    .social-link:hover {
        color: var(--orange);
    }

.footer-legal-links a {
    color: #2b2b2b;
}

    .footer-legal-links a:hover {
        color: var(--orange);
    }



/* ===== Emphasis helpers ===== */
.highlight-strong {
    font-family: "Wix Madefor Display","Wix Madefor Text",system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
    font-weight: 900;
    font-size: 1.15em;
    color: #fff;
    text-shadow: 0 1px 3px rgba(0,0,0,.35);
}

.cta-subtitle {
    font-size: .9rem;
    font-weight: 900;
    text-align: center;
    margin: 1rem 0 1.5rem;
    color: #fff;
}

.text-orange {
    color: #e57200; /* Adjust to your brand orange */
}

.btn-pill {
    border-radius: 50rem !important;
}
.toast-container .toast {
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
    border-radius: 0.75rem;
    opacity: 0.95;
}

.toast .toast-body {
    font-weight: 500;
}


/* Escape Razor's @ with @@ */
@media (min-width: 768px) {
    .event-card__img {
        height: 240px;
    }
}

@media (max-width: 767.98px) {
    .header-logo-lg {
        width: 114px;
        height: 114px;
    }
}

/* Show hamburger menu button on mobile and style icon */
.navbar-toggler {
    border: none;
    background: transparent;
    padding: 0.25rem 0.75rem;
    font-size: 1.5rem;
    line-height: 1;
    box-shadow: none;
}

.navbar-toggler:focus {
    outline: none;
    box-shadow: none;
}

.navbar-toggler-icon {
    display: inline-block;
    width: 2em;
    height: 2em;
    vertical-align: middle;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.7%29' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
}

/* 50% larger header logo */
.header-logo-lg {
    width: 144px;
    height: 144px;
    object-fit: contain;
}

@media (max-width: 767.98px) {
    .header-logo-lg {
        width: 114px;
        height: 114px;
    }
}

/* ===== Plan Review Caption ===== */
.planreview-caption {
    bottom: 0;
    left: 0;
    z-index: 2;
    pointer-events: none;
}

.planreview-caption span {
    color: #fff;
    text-shadow: 0 1px 4px rgba(0,0,0,0.7);
    background: rgba(0,0,0,0.15);
    display: inline-block;
    padding: 2px 8px;
    font-size: 0.92rem;
    pointer-events: auto;
}

@media (max-width: 767.98px) {
    .planreview-caption span {
        font-size: 0.85rem;
        padding: 2px 4px;
    }
}