/*
Theme Name: EMOFC Impact
Theme URI: https://emofc.org/
Author: EMOFC
Author URI: https://emofc.org/
Description: A polished, accessible, lightweight nonprofit theme with flexible homepage sections and Gutenberg support.
Version: 1.0.0
Requires at least: 6.2
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: emofc-impact
Tags: nonprofit, charity, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, accessibility-ready, blog, block-styles, wide-blocks
*/

:root{--ink:#10231d;--muted:#5d6d67;--green:#0d6b50;--green-dark:#084b39;--lime:#d8f06b;--cream:#f5f1e8;--white:#fff;--line:#dce5e0;--shadow:0 18px 50px rgba(16,35,29,.11);--radius:22px;--wrap:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--white);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:17px;line-height:1.65}img{max-width:100%;height:auto}a{color:var(--green);text-underline-offset:3px}a:hover{color:var(--green-dark)}button,input,textarea,select{font:inherit}.wrap{width:min(calc(100% - 40px),var(--wrap));margin-inline:auto}.site-main{min-height:45vh}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.screen-reader-text:focus{clip:auto!important;width:auto;height:auto;top:8px;left:8px;padding:12px 18px;background:#fff;color:#000;z-index:100000}.skip-link{font-weight:700}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(220,229,224,.8);backdrop-filter:blur(12px)}.header-inner{min-height:82px;display:flex;align-items:center;gap:28px}.site-branding{display:flex;align-items:center;margin-right:auto}.custom-logo{display:block;max-height:54px;width:auto}.site-title{font-weight:850;font-size:1.3rem;letter-spacing:-.03em;text-decoration:none;color:var(--ink)}.site-description{margin:0;color:var(--muted);font-size:.78rem}.primary-menu{list-style:none;display:flex;align-items:center;gap:25px;margin:0;padding:0}.primary-menu a{text-decoration:none;color:var(--ink);font-weight:650;font-size:.95rem}.primary-menu a:hover,.primary-menu .current-menu-item>a{color:var(--green)}.header-donate,.button,.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:var(--green);color:#fff!important;padding:12px 22px;font-weight:750;text-decoration:none;transition:.2s ease}.header-donate:hover,.button:hover,.wp-block-button__link:hover{background:var(--green-dark);transform:translateY(-1px)}.button-light{background:#fff;color:var(--green)!important}.button-outline{background:transparent;color:var(--ink)!important;border:1px solid var(--ink)}.menu-toggle{display:none;border:0;background:transparent;padding:9px;color:var(--ink)}.menu-toggle span{display:block;width:25px;height:2px;background:currentColor;margin:5px}
.hero{position:relative;overflow:hidden;background:var(--cream);padding:104px 0 90px}.hero:after{content:"";position:absolute;width:520px;height:520px;border-radius:50%;right:-120px;top:-180px;background:var(--lime);opacity:.75}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.12fr .88fr;gap:70px;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--green);font-size:.78rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.eyebrow:before{content:"";width:28px;height:2px;background:currentColor}.hero h1{font-size:clamp(3rem,6vw,5.7rem);line-height:.98;letter-spacing:-.06em;margin:18px 0 25px;max-width:820px}.hero-copy{font-size:1.18rem;color:#44564f;max-width:650px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.impact-card{position:relative;background:var(--green-dark);color:#fff;padding:42px;border-radius:32px;box-shadow:var(--shadow)}.impact-card:before{content:"";position:absolute;inset:18px;border:1px solid rgba(255,255,255,.17);border-radius:23px}.impact-card>*{position:relative}.impact-number{font-weight:900;font-size:clamp(3.6rem,7vw,6rem);line-height:1;color:var(--lime);letter-spacing:-.06em}.impact-card h2{font-size:1.65rem;margin:13px 0 6px}.impact-card p{color:#d8e8e2;margin:0}.impact-list{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:38px;padding-top:26px;border-top:1px solid rgba(255,255,255,.2)}.impact-list strong{display:block;font-size:1.4rem}.impact-list span{font-size:.83rem;color:#bcd3ca}
.section{padding:94px 0}.section-alt{background:#f7faf8}.section-dark{background:var(--ink);color:#fff}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:42px}.section-heading h2{font-size:clamp(2.2rem,4vw,3.6rem);line-height:1.08;letter-spacing:-.045em;margin:10px 0 0;max-width:700px}.section-heading p{max-width:470px;color:var(--muted);margin:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:.25s ease}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.card-media{display:grid;place-items:center;aspect-ratio:16/10;background:linear-gradient(135deg,var(--green),#63a35e);color:rgba(255,255,255,.9)}.card:nth-child(2) .card-media{background:linear-gradient(135deg,#d88436,#f2bd5c)}.card:nth-child(3) .card-media{background:linear-gradient(135deg,#345d78,#6facc4)}.card-icon{font-size:3rem}.card-body{padding:28px}.card h3{font-size:1.35rem;margin:0 0 8px}.card p{color:var(--muted);margin:0 0 17px}.text-link{font-weight:750;text-decoration:none}.story-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.story-art{min-height:500px;border-radius:32px;background:linear-gradient(155deg,var(--green-dark) 0 50%,var(--lime) 50%);position:relative}.story-art:after{content:"Community starts with care.";position:absolute;left:34px;right:34px;bottom:34px;padding:25px;border-radius:18px;background:#fff;color:var(--ink);font-weight:850;font-size:1.45rem;box-shadow:var(--shadow)}.story-copy h2{font-size:clamp(2.3rem,4vw,3.8rem);line-height:1.06;letter-spacing:-.045em;margin:12px 0 22px}.checks{list-style:none;margin:25px 0 32px;padding:0}.checks li{margin:11px 0;padding-left:32px;position:relative}.checks li:before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:900}.cta-band{background:var(--lime);border-radius:32px;padding:55px;display:flex;justify-content:space-between;align-items:center;gap:40px}.cta-band h2{font-size:clamp(2rem,4vw,3.4rem);line-height:1.05;letter-spacing:-.04em;margin:0;max-width:670px}.cta-band p{margin:10px 0 0}.post-card .card-media{aspect-ratio:16/9}.post-meta{font-size:.78rem;text-transform:uppercase;letter-spacing:.09em;font-weight:800;color:var(--green);margin-bottom:9px}
.page-hero{padding:80px 0;background:var(--cream)}.page-hero h1{font-size:clamp(2.8rem,5vw,4.8rem);letter-spacing:-.05em;line-height:1;margin:12px 0}.page-hero p{max-width:700px;color:var(--muted);font-size:1.15rem}.content-area{padding:70px 0}.content-narrow{max-width:790px;margin:auto}.entry-content>*{max-width:790px;margin-left:auto;margin-right:auto}.entry-content>.alignwide{max-width:var(--wrap)}.entry-content>.alignfull{max-width:none}.entry-content h2,.entry-content h3{line-height:1.15;letter-spacing:-.025em}.entry-content h2{font-size:2.2rem}.entry-content blockquote{border-left:4px solid var(--lime);padding-left:25px;font-size:1.25rem}.entry-content input,.entry-content textarea{width:100%;padding:12px;border:1px solid #b9c8c1;border-radius:8px}.post-navigation,.posts-navigation{margin-top:40px}.pagination{margin-top:40px}.error-404{text-align:center;padding:110px 0}.error-404 h1{font-size:5rem;margin:0}
.site-footer{background:var(--ink);color:#d5e0dc;padding:70px 0 25px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:45px}.footer-brand{color:#fff;font-size:1.5rem;font-weight:850}.site-footer h2{font-size:.84rem;color:#fff;text-transform:uppercase;letter-spacing:.1em}.site-footer a{color:#d5e0dc;text-decoration:none}.site-footer a:hover{color:var(--lime)}.footer-menu{list-style:none;padding:0;margin:0}.footer-menu li{margin:9px 0}.footer-bottom{margin-top:52px;padding-top:23px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:20px;font-size:.85rem}.social-links{display:flex;gap:14px}
@media(max-width:900px){.menu-toggle{display:block}.header-donate{display:none}.main-navigation{position:absolute;left:0;right:0;top:82px;background:#fff;border-bottom:1px solid var(--line);display:none;padding:15px 20px 25px}.main-navigation.toggled{display:block}.primary-menu{display:block}.primary-menu li{border-bottom:1px solid var(--line)}.primary-menu a{display:block;padding:12px}.hero{padding:70px 0}.hero-grid,.story-grid{grid-template-columns:1fr;gap:40px}.impact-card{max-width:630px}.cards{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.cta-band{display:block}.cta-band .button{margin-top:25px}}
@media(max-width:600px){.wrap{width:min(calc(100% - 28px),var(--wrap))}.section{padding:66px 0}.cards{grid-template-columns:1fr}.section-heading{display:block}.section-heading p{margin-top:16px}.hero h1{font-size:3.2rem}.impact-card{padding:29px}.story-art{min-height:350px}.cta-band{padding:33px 25px}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.footer-bottom .social-links{margin-top:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
/* ===== EMOFC FINAL HEADER FIX ===== */

.site-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	background: #fff;
	border-bottom: 1px solid rgba(220,229,224,.8);
}

#masthead .header-inner {
	min-height: 90px;
	display: flex;
	align-items: center;
	gap: 28px;
	padding-top: 8px;
	padding-bottom: 8px;
}

#masthead .site-branding {
	width: 190px;
	max-width: 190px;
	flex: 0 0 190px;
	margin-right: auto;
}

#masthead .site-logo-link {
	display: block;
	line-height: 0;
}

#masthead .site-logo-image {
	display: block;
	width: 190px;
	height: 75px;
	max-width: 100%;
	object-fit: contain;
}

#masthead .main-navigation {
	margin-left: auto;
}

#masthead .primary-menu {
	display: flex;
	align-items: center;
	gap: 30px;
	margin: 0;
	padding: 0;
	list-style: none;
}

#masthead .header-donate {
	flex-shrink: 0;
	white-space: nowrap;
}


/* ===== MOBILE HEADER ===== */

@media (max-width: 900px) {

	html,
	body {
		overflow-x: hidden;
	}

	#masthead .header-inner {
		width: 100%;
		max-width: 100%;
		min-height: 105px;
		padding: 10px 20px;
		display: flex;
		align-items: center;
		justify-content: space-between;
		flex-wrap: nowrap;
		box-sizing: border-box;
	}

	#masthead .site-branding {
		width: 155px;
		max-width: 155px;
		flex: 0 0 155px;
		margin: 0;
	}

	#masthead .site-logo-image {
		width: 155px;
		height: auto;
		max-height: 80px;
		object-fit: contain;
	}

	#masthead .menu-toggle {
		display: block;
		flex: 0 0 auto;
		margin-left: auto;
		border: 0;
		background: transparent;
		padding: 8px;
		z-index: 1002;
	}

	#masthead .menu-toggle span:not(.screen-reader-text) {
		display: block;
		width: 28px;
		height: 2px;
		margin: 6px 0;
		background: var(--ink);
	}

	#masthead .header-donate {
		display: none;
	}

	#masthead .main-navigation {
		display: none;
		position: absolute;
		left: 0;
		right: 0;
		top: 100%;
		width: 100%;
		max-width: 100%;
		margin: 0;
		padding: 8px 20px 20px;
		background: #fff;
		border-bottom: 1px solid var(--line);
		box-sizing: border-box;
		z-index: 1001;
		overflow-x: hidden;
	}

	/* Works with the theme navigation.js */
	#masthead .main-navigation.toggled,
	#masthead .menu-toggle[aria-expanded="true"] + .main-navigation {
		display: block;
	}

	#masthead .primary-menu {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		width: 100%;
		max-width: 100%;
		gap: 0;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	#masthead .primary-menu li {
		display: block;
		width: 100%;
		margin: 0;
		padding: 0;
	}

	#masthead .primary-menu a {
		display: block;
		width: 100%;
		padding: 13px 4px;
		box-sizing: border-box;
		text-align: left;
		white-space: normal;
		border-bottom: 1px solid var(--line);
	}

}
/* ===== MOBILE MENU DROPDOWN FINAL ===== */
@media (max-width: 900px) {

    #masthead .header-inner {
        position: relative !important;
        flex-wrap: nowrap !important;
        overflow: visible !important;
    }

    #masthead .main-navigation {
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        right: 0 !important;

        width: 100% !important;
        max-width: 100% !important;

        background: #ffffff !important;
        padding: 10px 20px 18px !important;
        margin: 0 !important;

        z-index: 9999 !important;
        box-shadow: 0 12px 25px rgba(16,35,29,.10);
    }

    #masthead .menu-toggle[aria-expanded="false"] + .main-navigation {
        display: none !important;
    }

    #masthead .menu-toggle[aria-expanded="true"] + .main-navigation {
        display: block !important;
    }

    #masthead .primary-menu {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #masthead .primary-menu li {
        width: 100% !important;
    }

    #masthead .primary-menu a {
        display: block !important;
        width: 100% !important;
        padding: 13px 6px !important;
        text-align: left !important;
    }
}