/* Elena A. Miranda Foundation — site components (eam-site mu-plugin) */
:root {
	--eam-blue: #a5b5eb;
	--eam-blue-soft: #eef1fc;
	--eam-indigo: #4b5694;
	--eam-ink: #3d4677;
	--eam-text: #667199;
	--eam-green: #def1d0;
	--eam-green-deep: #cfe9bb;
	--eam-font: var(--awb-typography1-font-family, "Mulish"), "Mulish", system-ui, sans-serif;
}

/* ---------- shared ---------- */
.eam-kicker {
	margin: 0;
	font-family: var(--eam-font);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .16em;
	line-height: 1.4;
	text-transform: uppercase;
	color: #6a78c4;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.eam-ico { width: 20px; height: 20px; flex: none; }
.eam-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.eam-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	min-height: 48px;
	padding: 12px 26px;
	border: 0;
	border-radius: 999px;
	font-family: var(--eam-font);
	font-size: 14px;
	font-weight: 800;
	letter-spacing: .06em;
	line-height: 1.2;
	text-transform: uppercase;
	text-decoration: none !important;
	cursor: pointer;
	transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease;
}
.eam-btn .eam-ico { width: 19px; height: 19px; }
.eam-btn:hover { transform: translateY(-1px); }
.eam-btn:focus-visible { outline: 3px solid var(--eam-indigo); outline-offset: 3px; }
.eam-btn-primary { background: var(--eam-indigo); color: #fff !important; box-shadow: 0 12px 26px -12px rgba(75, 86, 148, .9); }
.eam-btn-primary:hover { background: var(--eam-ink); }
.eam-btn-ghost { background: transparent; color: var(--eam-ink) !important; box-shadow: inset 0 0 0 2px var(--eam-blue); }
.eam-btn-ghost:hover { box-shadow: inset 0 0 0 2px var(--eam-indigo); }
.eam-btn-light { background: var(--eam-green); color: #2f3a66 !important; }
.eam-btn-light:hover { background: var(--eam-green-deep); }
.eam-btn-lg { min-height: 56px; padding: 15px 32px; font-size: 15px; }
.eam-facts { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.eam-facts li { display: flex; gap: 12px; align-items: flex-start; margin: 0; padding: 0; font-size: 16px; line-height: 1.5; color: var(--eam-ink); }
.eam-facts li::before { content: none; }
.eam-facts .eam-ico { margin-top: 2px; color: #7f8fd8; }
.eam-facts strong { display: block; font-weight: 800; }
.eam-facts a { color: var(--eam-text); text-decoration: underline; text-underline-offset: 3px; }
.eam-facts a:hover { color: var(--eam-ink); }

/* ---------- home hero H1 (keeps the original hero look) ---------- */
h1.eam-hero-h1,
.fusion-text h1.eam-hero-h1 {
	margin: 0 !important;
	padding: 0;
	font-family: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	font-style: inherit !important;
	line-height: inherit !important;
	letter-spacing: inherit !important;
	text-transform: inherit !important;
	color: inherit;
}
.eam-hero-h1 > .l { display: block; margin: 0 0 20px; }
.eam-hero-h1 > .l:last-child { margin-bottom: 0; }

/* ---------- single posts (event announcements + news) ---------- */
.eam-post #content .fusion-title,
.eam-post #content .fusion-content-tb { max-width: 880px; margin-left: auto; margin-right: auto; }
.eam-post #content .fusion-title { --awb-text-color: var(--eam-ink); margin-top: clamp(8px, 3vw, 36px); margin-bottom: 26px !important; }
.eam-post #content .fusion-title-heading {
	color: var(--eam-ink) !important;
	font-size: clamp(32px, 4.4vw, 50px) !important;
	line-height: 1.12 !important;
	letter-spacing: -.01em;
}
.eam-article { font-size: 18px; line-height: 1.75; color: #4f5885; }
.eam-article p { margin: 0 0 1.15em; }
.eam-article h2, .eam-article h3 { color: var(--eam-ink); line-height: 1.25; }
.eam-article img { border-radius: 16px; }
.eam-article a:not(.fusion-button):not(.eam-btn) { color: var(--eam-indigo); text-decoration: underline; text-underline-offset: 3px; }
.eam-article .fusion-builder-row { max-width: 100% !important; }
.eam-lede { font-size: 1.2em; line-height: 1.55; color: var(--eam-ink); font-weight: 600; }
.eam-callout { margin: 30px 0; padding: 22px 26px; border-radius: 18px; background: var(--eam-blue-soft); border-left: 5px solid var(--eam-blue); }
.eam-callout p { margin: 0; color: var(--eam-ink); }
.eam-hosts { display: flex; flex-wrap: wrap; gap: 8px; margin: 6px 0 22px; padding: 0; list-style: none; }
.eam-hosts li { margin: 0; padding: 7px 14px; border-radius: 999px; background: #fff; box-shadow: inset 0 0 0 1px rgba(165, 181, 235, .7); font-size: 14px; font-weight: 700; color: var(--eam-ink); }
.eam-hosts li::before { content: none; }

/* event card */
.eam-event {
	display: grid;
	grid-template-columns: 1fr;
	margin: 0 0 44px;
	border-radius: 24px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 24px 60px -28px rgba(61, 70, 119, .45), 0 0 0 1px rgba(165, 181, 235, .45);
}
.eam-event.has-flyer { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); }
.eam-flyer { display: block; background: var(--eam-blue-soft); }
.eam-flyer img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 0 !important; }
.eam-event-body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 20px;
	padding: 32px 34px;
	background: radial-gradient(120% 90% at 100% 0%, rgba(222, 241, 208, .65) 0%, rgba(222, 241, 208, 0) 55%), linear-gradient(165deg, #f4f6fe 0%, #fff 60%);
}
.eam-event-top { display: flex; align-items: center; gap: 16px; }
.eam-datebadge {
	flex: none;
	width: 76px;
	overflow: hidden;
	border-radius: 16px;
	background: #fff;
	text-align: center;
	font-family: var(--eam-font);
	box-shadow: 0 0 0 1px rgba(165, 181, 235, .7), 0 8px 18px -10px rgba(61, 70, 119, .5);
}
.eam-datebadge span { display: block; }
.eam-datebadge .m { padding: 5px 0; background: var(--eam-indigo); color: #fff; font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.eam-datebadge .d { padding-top: 6px; font-size: 32px; font-weight: 800; line-height: 1.05; color: var(--eam-ink); }
.eam-datebadge .w { padding: 2px 0 8px; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--eam-text); }
.eam-event.is-past .eam-datebadge .m { background: #929aa3; }
.eam-event.is-past .eam-flyer img { filter: saturate(.7); }

/* support + share */
.eam-support {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin: 56px 0 18px;
	padding: 36px 38px;
	border-radius: 26px;
	color: #fff;
	background: radial-gradient(110% 140% at 100% 0%, rgba(222, 241, 208, .55) 0%, rgba(222, 241, 208, 0) 45%), linear-gradient(135deg, #4b5694 0%, #7d8cd6 100%);
}
.eam-support-copy { flex: 1 1 340px; }
.eam-support .eam-kicker { color: var(--eam-green); }
.eam-support h2 { margin: 6px 0 8px; color: #fff; font-size: clamp(24px, 2.6vw, 32px); line-height: 1.2; text-transform: none; }
.eam-support p { margin: 0; max-width: 520px; font-size: 16px; line-height: 1.6; color: rgba(255, 255, 255, .92); }
.eam-support .eam-btn-primary { background: #fff; color: var(--eam-ink) !important; box-shadow: 0 12px 26px -14px rgba(0, 0, 0, .5); }
.eam-share { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 48px; font-family: var(--eam-font); font-size: 13px; }
.eam-share span { margin-right: 6px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--eam-text); }
.eam-share a, .eam-share button {
	padding: 8px 15px;
	border: 0;
	border-radius: 999px;
	background: var(--eam-blue-soft);
	color: var(--eam-ink) !important;
	font: inherit;
	font-weight: 700;
	text-decoration: none !important;
	cursor: pointer;
	transition: background-color .15s;
}
.eam-share a:hover, .eam-share button:hover { background: #dfe5fa; }

/* ---------- Spread Joy Toy Drive section ---------- */
.eam-toy {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding: clamp(60px, 8vw, 104px) 20px;
	background: linear-gradient(135deg, #eef1fc 0%, #dde4fa 48%, #e6f4dc 100%);
	font-family: var(--eam-font);
}
.eam-toy-snow {
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image: radial-gradient(rgba(255, 255, 255, .95) 2px, transparent 2.6px), radial-gradient(rgba(165, 181, 235, .45) 1.5px, transparent 2px);
	background-size: 52px 52px, 31px 31px;
	background-position: 0 0, 15px 21px;
	-webkit-mask-image: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, .25) 100%);
	mask-image: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, .25) 100%);
}
.eam-toy-inner {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
	gap: clamp(28px, 5vw, 64px);
	align-items: center;
	max-width: 1180px;
	margin: 0 auto;
}
.eam-toy h2 {
	margin: 12px 0 18px;
	font-family: var(--eam-font);
	font-size: clamp(38px, 5.4vw, 64px);
	font-weight: 800;
	line-height: 1.02;
	letter-spacing: -.015em;
	text-transform: none;
	color: var(--eam-ink);
}
.eam-toy h2 span { display: block; color: #6a78c4; }
.eam-toy-lede { margin: 0 0 24px; max-width: 560px; font-size: 18px; line-height: 1.65; color: #4f5885; }
.eam-toy-steps { display: grid; gap: 12px; margin: 0 0 30px; padding: 0; list-style: none; }
.eam-toy-steps li { display: flex; align-items: center; gap: 14px; margin: 0; padding: 0; font-size: 16px; font-weight: 600; color: var(--eam-ink); }
.eam-toy-steps li::before { content: none; }
.eam-toy-steps b {
	display: grid;
	place-items: center;
	flex: none;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: #fff;
	color: var(--eam-indigo);
	font-size: 14px;
	font-weight: 800;
	box-shadow: 0 6px 14px -8px rgba(61, 70, 119, .6);
}
.eam-toy-fine { margin: 14px 0 0; font-size: 13px; color: var(--eam-text); }
.eam-toy-art svg { display: block; width: 100%; max-width: 440px; height: auto; margin: 0 auto; overflow: visible; }
.eam-gift { animation: eam-bob 5s ease-in-out infinite; transform-origin: center bottom; }
.eam-gift-b { animation-delay: -2.5s; }
.eam-stars { animation: eam-twinkle 3.2s ease-in-out infinite; }
@keyframes eam-bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
@keyframes eam-twinkle { 0%, 100% { opacity: 1; } 50% { opacity: .45; } }

/* ---------- FAQ ---------- */
.eam-faq { max-width: 880px; margin: 0 auto; padding: clamp(56px, 7vw, 92px) 20px; font-family: var(--eam-font); text-align: center; }
.eam-faq h2 { margin: 10px 0 30px; color: var(--awb-color3, #a5b5eb); font-size: clamp(30px, 4vw, 44px); line-height: 1.15; }
.eam-faq-list { text-align: left; border-top: 1px solid rgba(165, 181, 235, .55); }
.eam-faq details { border-bottom: 1px solid rgba(165, 181, 235, .55); }
.eam-faq summary {
	position: relative;
	padding: 22px 48px 22px 0;
	list-style: none;
	cursor: pointer;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.4;
	color: var(--eam-ink);
}
.eam-faq summary::-webkit-details-marker { display: none; }
.eam-faq summary::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 6px;
	width: 26px;
	height: 26px;
	margin-top: -13px;
	border-radius: 50%;
	background: var(--eam-blue-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234b5694' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center/14px no-repeat;
	transition: transform .2s ease;
}
.eam-faq details[open] summary::after { transform: rotate(45deg); }
.eam-faq summary:focus-visible { outline: 3px solid var(--eam-indigo); outline-offset: 2px; border-radius: 6px; }
.eam-faq details p { margin: -6px 0 22px; padding-right: 40px; font-size: 16px; line-height: 1.7; color: var(--eam-text); }

/* ---------- next-event pop-up ---------- */
html.eam-pop-lock { overflow: hidden; }
.eam-pop { position: fixed; inset: 0; z-index: 100000; display: grid; place-items: center; padding: 16px; font-family: var(--eam-font); }
.eam-pop[hidden] { display: none; }
.eam-pop-backdrop { position: absolute; inset: 0; background: rgba(30, 35, 66, .58); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); opacity: 0; transition: opacity .3s ease; }
.eam-pop.is-open .eam-pop-backdrop { opacity: 1; }
.eam-pop-card {
	position: relative;
	display: grid;
	grid-template-columns: 1fr;
	width: min(880px, 100%);
	max-height: calc(100vh - 32px);
	max-height: calc(100dvh - 32px);
	overflow: auto;
	border-radius: 26px;
	background: #fff;
	box-shadow: 0 34px 90px -24px rgba(16, 20, 48, .6);
	opacity: 0;
	transform: translateY(18px) scale(.98);
	transition: transform .4s cubic-bezier(.2, .8, .2, 1), opacity .3s ease;
}
.eam-pop.is-open .eam-pop-card { opacity: 1; transform: none; }
.eam-pop-card.has-img { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); }
.eam-pop-media { background: #2b2f4a; }
.eam-pop-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.eam-pop-body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 16px;
	padding: 40px 36px 30px;
	background: radial-gradient(120% 80% at 100% 0%, rgba(222, 241, 208, .7) 0%, rgba(222, 241, 208, 0) 55%), #fff;
}
.eam-pop-body h2 { margin: 0; font-family: var(--eam-font); font-size: clamp(26px, 3.2vw, 36px); font-weight: 800; line-height: 1.12; text-transform: none; color: var(--eam-ink); }
.eam-pop-note { margin: 0; font-size: 14px; line-height: 1.5; color: var(--eam-text); }
.eam-pop-close {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 2;
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, .94);
	color: var(--eam-ink);
	cursor: pointer;
	box-shadow: 0 4px 14px rgba(0, 0, 0, .16);
}
.eam-pop-close:focus-visible, .eam-pop-later:focus-visible { outline: 3px solid var(--eam-indigo); outline-offset: 2px; }
.eam-pop-later { align-self: flex-start; padding: 4px 0; border: 0; background: none; color: var(--eam-text); font: inherit; font-size: 14px; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }

/* ---------- responsive ---------- */
@media (max-width: 800px) {
	.eam-event.has-flyer { grid-template-columns: 1fr; }
	.eam-event-body { padding: 24px 20px 26px; }
	.eam-article { font-size: 17px; }
	.eam-support { padding: 28px 22px; }
	.eam-support .eam-actions, .eam-event .eam-actions { width: 100%; }
	.eam-support .eam-btn, .eam-event .eam-btn { flex: 1 1 100%; }
	.eam-toy-inner { grid-template-columns: 1fr; }
	.eam-toy-art { order: -1; }
	.eam-toy-art svg { max-width: 250px; }
	.eam-toy .eam-btn-lg { width: 100%; }
	.eam-faq summary { font-size: 17px; }
}
@media (max-width: 720px) {
	.eam-pop { place-items: end center; padding: 0; }
	.eam-pop-card { width: 100%; max-height: 92vh; max-height: 92dvh; border-radius: 24px 24px 0 0; transform: translateY(40px); }
	.eam-pop-card.has-img { grid-template-columns: 1fr; }
	.eam-pop-media { height: 34vh; height: 34dvh; overflow: hidden; }
	.eam-pop-media img { object-position: top center; }
	.eam-pop-body { padding: 22px 20px 26px; gap: 13px; }
	.eam-pop .eam-actions .eam-btn { flex: 1 1 auto; }
}
@media (prefers-reduced-motion: reduce) {
	.eam-gift, .eam-stars { animation: none; }
	.eam-pop-card, .eam-pop-backdrop, .eam-btn { transition: none; }
}
.eam-faq.eam-faq-bare { padding-top: 8px; padding-bottom: 24px; }

/* ---------- post cards (News & Events page, home news) ---------- */
.fusion-post-cards .post-card > .fusion-column-wrapper.fusion-content-layout-column {
	overflow: hidden;
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 22px 50px -30px rgba(61, 70, 119, .5), 0 0 0 1px rgba(165, 181, 235, .4);
	transition: transform .2s ease, box-shadow .2s ease;
}
.fusion-post-cards .post-card:hover > .fusion-column-wrapper.fusion-content-layout-column {
	transform: translateY(-3px);
	box-shadow: 0 28px 60px -30px rgba(61, 70, 119, .6), 0 0 0 1px rgba(165, 181, 235, .6);
}
.fusion-post-cards .post-card .fusion-content-layout-row img { border-radius: 10px; }
@media (prefers-reduced-motion: reduce) {
	.fusion-post-cards .post-card > .fusion-column-wrapper { transition: none; }
}

/* ---------- readability fixes ---------- */
/* Contact page starts under the overlay header */
body.page-id-3334 #main { padding-top: clamp(96px, 9vw, 120px) !important; }
/* Theme link color is pale green; make in-content text links readable on white */
#main .fusion-text a:not([class]),
#main .fusion-text a.fusion-one-page-text-link { color: var(--eam-indigo); text-decoration: underline; text-underline-offset: 3px; }
#main .fusion-text a:not([class]):hover { color: var(--eam-ink); }

/* ---------- brand gradient: header + footer ---------- */
:root {
	--eam-gradient: radial-gradient(110% 140% at 100% 0%, rgba(222, 241, 208, .55) 0%, rgba(222, 241, 208, 0) 45%), linear-gradient(135deg, #4b5694 0%, #7d8cd6 100%);
	--eam-gradient-bar: radial-gradient(40% 260% at 100% 0%, rgba(222, 241, 208, .45) 0%, rgba(222, 241, 208, 0) 60%), linear-gradient(100deg, rgba(75, 86, 148, .94) 0%, rgba(125, 140, 214, .9) 100%);
}

/* Header: gradient bar, slimmer on laptop/desktop */
.fusion-tb-header > .fusion-fullwidth:first-child {
	background: var(--eam-gradient-bar) !important;
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	box-shadow: 0 10px 30px -18px rgba(30, 35, 66, .55);
}
@media (min-width: 1025px) {
	.fusion-tb-header > .fusion-fullwidth:first-child { padding-top: 12px !important; padding-bottom: 12px !important; }
	.fusion-tb-header .awb-menu { --awb-height: 50px; }
	.fusion-tb-header .awb-menu__main-a { min-height: 50px; }
	.fusion-tb-header .fusion-imageframe img { max-height: 44px; width: auto; }
}
.fusion-tb-header .awb-menu__main-a_button .fusion-button,
.fusion-tb-header .awb-menu__main-a_button:hover .fusion-button { color: #2f3a66 !important; }

/* Footer: gradient main area, deep ink bottom bar */
.fusion-tb-footer .fusion-footer-widget-area > .fusion-fullwidth:first-child { background: var(--eam-gradient) !important; }
.fusion-tb-footer .fusion-footer-widget-area > .fusion-fullwidth:last-child { background: #2c3260 !important; }
.fusion-tb-footer .fusion-footer-widget-area > .fusion-fullwidth:last-child,
.fusion-tb-footer .fusion-footer-widget-area > .fusion-fullwidth:last-child p { color: rgba(255, 255, 255, .78) !important; }

/* ---------- home hero: show the whole video, below the header ---------- */
.home .post-content > .fusion-fullwidth:first-child {
	margin-top: var(--eam-header-offset, 0px) !important;
}
@media (min-width: 768px) {
	.home .post-content > .fusion-fullwidth:first-child {
		min-height: calc(100vw * 394 / 746); /* the video's own shape, so nothing is cropped */
		padding-top: 48px !important;
		padding-bottom: 48px !important;
		align-items: center;
	}
}
.home h1.eam-hero-h1 { margin-bottom: 34px !important; }
@media (max-width: 767px) {
	.home h1.eam-hero-h1 { margin-bottom: 26px !important; }
}
@media (max-width: 1024px) {
	.home .post-content > .fusion-fullwidth:first-child .fusion-button { margin-bottom: 12px; }
}
