/* =========================================================================
   YMEU Theme — main.css
   Brand palette is exposed via CSS variables (overridden in the Customizer).
   ========================================================================= */

:root {
	--ymeu-navy:  #0a2756;
	--ymeu-navy-2:#0e3271;
	--ymeu-gold:  #f5b800;
	--ymeu-red:   #c8102e;
	--ymeu-light: #f5f6f8;
	--ymeu-ink:   #1c2433;
	--ymeu-muted: #5b6577;
	--ymeu-line:  #e3e6ec;
	--ymeu-white: #ffffff;

	--ymeu-font-sans:  "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	--ymeu-font-serif: "Playfair Display", Georgia, "Times New Roman", serif;

	--ymeu-radius:    10px;
	--ymeu-radius-lg: 18px;
	--ymeu-shadow:    0 6px 24px rgba(10, 39, 86, 0.08);
	--ymeu-shadow-lg: 0 12px 40px rgba(10, 39, 86, 0.12);

	--ymeu-container: 1440px;
}

/* ---------- BASE ---------- */
body {
	font-family: var(--ymeu-font-sans);
	color: var(--ymeu-ink);
	background: var(--ymeu-white);
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--ymeu-navy); }

h1, h2, h3, h4, h5, h6 { margin: 0 0 0.6em; font-weight: 700; line-height: 1.2; color: var(--ymeu-navy); }
p { margin: 0 0 1em; }

.screen-reader-text {
	position: absolute !important;
	clip: rect(1px,1px,1px,1px);
	width: 1px; height: 1px;
	overflow: hidden;
}
.skip-link {
	position: absolute; top: -100px; left: 0;
	background: var(--ymeu-navy); color: #fff; padding: 10px 16px; z-index: 10000;
}
.skip-link:focus { top: 0; }

.ymeu-container {
	max-width: var(--ymeu-container);
	margin: 0 auto;
	padding: 0 20px;
}

/* ---------- BUTTONS ---------- */
.ymeu-btn {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 12px 22px;
	border-radius: 6px;
	font-weight: 600; font-size: 15px;
	text-decoration: none;
	border: 2px solid transparent;
	transition: transform .15s ease, box-shadow .15s ease, background .15s ease, color .15s ease, border-color .15s ease;
	cursor: pointer;
	line-height: 1;
}
.ymeu-btn:hover { transform: translateY(-1px); box-shadow: var(--ymeu-shadow); }
.ymeu-btn--primary       { background: var(--ymeu-gold); color: var(--ymeu-navy); }
.ymeu-btn--primary:hover { background: #e3a900; color: var(--ymeu-navy); }
.ymeu-btn--primary-dark       { background: var(--ymeu-navy); color: #fff; }
.ymeu-btn--primary-dark:hover { background: var(--ymeu-navy-2); color: #fff; }
.ymeu-btn--ghost {
	background: transparent; color: #fff; border-color: rgba(255,255,255,0.4);
}
.ymeu-btn--ghost:hover { background: rgba(255,255,255,0.1); color: #fff; }
.ymeu-btn--ghost-light {
	background: #fff; color: var(--ymeu-navy); border-color: #fff;
}
.ymeu-btn--ghost-light:hover { background: var(--ymeu-light); color: var(--ymeu-navy); }
.ymeu-btn--donate {
	background: var(--ymeu-red); color: #fff;
	padding: 10px 22px; font-weight: 700; letter-spacing: 0.04em;
	border-radius: 6px;
}
.ymeu-btn--donate:hover { background: #a40c25; color: #fff; }

.ymeu-link {
	display: inline-flex; align-items: center; gap: 6px;
	color: var(--ymeu-navy);
	text-decoration: none;
	font-weight: 600;
	font-size: 14px;
}
.ymeu-link:hover { color: var(--ymeu-gold); }

/* ---------- EMERGENCY BAR ---------- */
.ymeu-emergency-bar {
	background: var(--ymeu-red);
	color: #fff;
	font-size: 14px;
	padding: 8px 0;
}
.ymeu-emergency-bar .ymeu-container {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 24px;
	flex-wrap: wrap;
}
.ymeu-emergency-bar__item { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; }
.ymeu-emergency-bar__divider { opacity: 0.6; }

/* ---------- HEADER ---------- */
.ymeu-header {
	background: #fff;
	border-bottom: 1px solid var(--ymeu-line);
	position: relative;
	z-index: 50;
}
.ymeu-header__inner {
	display: flex; align-items: center; gap: 24px;
	padding: 14px 20px;
}
.ymeu-header__brand { display: flex; align-items: center; gap: 14px; flex-shrink: 0; }
.ymeu-header__brand img,
.custom-logo { max-height: 60px; width: auto; }
.ymeu-header__logo-fallback,
.ymeu-header__logo-mark {
	display: inline-flex; align-items: center; justify-content: center;
	width: 56px; height: 56px; border-radius: 50%;
	background: var(--ymeu-navy); color: var(--ymeu-gold);
	font-size: 26px; text-decoration: none;
}
.ymeu-header__wordmark {
	font-family: var(--ymeu-font-serif);
	font-weight: 700;
	color: var(--ymeu-navy);
	text-decoration: none;
	letter-spacing: 0.04em;
	font-size: 18px;
	line-height: 1.1;
	max-width: 320px;
}

.ymeu-nav { flex: 1; }
.ymeu-nav__menu {
	list-style: none; margin: 0; padding: 0;
	display: flex; justify-content: center; gap: 28px;
	flex-wrap: wrap;
}
.ymeu-nav__menu > li > a {
	color: var(--ymeu-ink);
	text-decoration: none;
	font-weight: 500;
	font-size: 15px;
	padding: 6px 0;
	border-bottom: 2px solid transparent;
	white-space: nowrap;
}
.ymeu-nav__menu .current-menu-item > a,
.ymeu-nav__menu > li > a:hover {
	color: var(--ymeu-navy);
	border-bottom-color: var(--ymeu-gold);
}
.ymeu-nav__menu .ymeu-submenu {
	display: none;
	position: absolute;
	background: #fff;
	box-shadow: var(--ymeu-shadow);
	padding: 8px 0;
	list-style: none;
	margin: 0;
	min-width: 200px;
	border-radius: var(--ymeu-radius);
}
.ymeu-nav__menu li:hover > .ymeu-submenu { display: block; }
.ymeu-nav__menu .ymeu-submenu a { display: block; padding: 8px 16px; text-decoration: none; color: var(--ymeu-ink); }
.ymeu-nav__menu .ymeu-submenu a:hover { background: var(--ymeu-light); }

.ymeu-nav-toggle {
	display: none;
	background: transparent;
	border: 0; padding: 8px; cursor: pointer;
	margin-left: auto;
}
.ymeu-nav-toggle__bar {
	display: block; width: 26px; height: 3px;
	background: var(--ymeu-navy); margin: 5px 0; border-radius: 2px;
	transition: transform .2s ease;
}

/* ---------- HERO ---------- */
.ymeu-hero {
	background: var(--ymeu-navy);
	color: #fff;
	overflow: hidden;
	position: relative;
}
.ymeu-hero__inner {
	max-width: var(--ymeu-container);
	margin: 0 auto;
	display: grid;
	grid-template-columns: 5fr 7fr;
	gap: 0;
	align-items: stretch;
	min-height: 460px;
}
.ymeu-hero__copy {
	padding: 60px 40px 60px 20px;
	position: relative;
}
.ymeu-hero__copy::after {
	content: "";
	position: absolute;
	top: 0; right: -60px; bottom: 0;
	width: 120px;
	background: var(--ymeu-navy);
	clip-path: polygon(0 0, 100% 0, 50% 100%, 0 100%);
	z-index: 1;
}
.ymeu-hero__title {
	font-family: var(--ymeu-font-serif);
	color: #fff;
	font-size: clamp(2.2rem, 4.4vw, 3.6rem);
	line-height: 1.05;
	margin: 0 0 24px;
	font-weight: 700;
}
.ymeu-hero__divider {
	width: 70px; height: 3px; background: var(--ymeu-gold);
	margin-bottom: 22px;
}
.ymeu-hero__lede { font-size: 17px; max-width: 380px; margin-bottom: 8px; color: rgba(255,255,255,0.92); }
.ymeu-hero__tag  { color: var(--ymeu-gold); font-size: 15px; margin-bottom: 28px; }
.ymeu-hero__ctas { display: flex; gap: 12px; flex-wrap: wrap; }

.ymeu-hero__image { position: relative; min-height: 460px; background: #0a2756; }
.ymeu-hero__image img {
	width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0;
}
.ymeu-hero__image-placeholder {
	width: 100%; height: 100%;
	display: flex; align-items: center; justify-content: center;
	background: linear-gradient(135deg, #1c4079, #0a2756);
	color: rgba(255,255,255,0.4);
	font-size: 180px;
}

/* Gold accent slash between copy and image, matches the mockup */
.ymeu-hero__inner::before {
	content: "";
	position: absolute;
	top: 0; bottom: 0;
	left: calc(5 / 12 * 100%);
	width: 8px;
	background: var(--ymeu-gold);
	z-index: 2;
	transform: skewX(-12deg);
}

/* ---------- SECTIONS ---------- */
.ymeu-section { padding: 64px 0; }
.ymeu-eyebrow {
	text-align: center;
	font-family: var(--ymeu-font-serif);
	font-weight: 700;
	letter-spacing: 0.18em;
	font-size: 14px;
	color: var(--ymeu-navy);
	text-transform: uppercase;
	margin-bottom: 36px;
	position: relative;
	display: flex; align-items: center; justify-content: center; gap: 14px;
}
.ymeu-eyebrow::before,
.ymeu-eyebrow::after {
	content: ""; height: 2px; width: 32px; background: var(--ymeu-gold);
}
.ymeu-eyebrow--left { display: inline-flex; }
.ymeu-eyebrow--left::after { display: none; }
.ymeu-eyebrow--left::before { width: 32px; }

/* ---------- QUICK ACCESS ---------- */
.ymeu-quickaccess { padding-top: 48px; padding-bottom: 24px; }
.ymeu-quickaccess__grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 16px;
}
.ymeu-quickaccess__card {
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	padding: 28px 12px;
	background: #fff;
	border-radius: var(--ymeu-radius);
	box-shadow: var(--ymeu-shadow);
	text-decoration: none;
	color: var(--ymeu-ink);
	transition: transform .15s ease, box-shadow .15s ease;
	min-height: 130px;
}
.ymeu-quickaccess__card:hover { transform: translateY(-3px); box-shadow: var(--ymeu-shadow-lg); }
.ymeu-quickaccess__icon { font-size: 30px; margin-bottom: 12px; }
.ymeu-quickaccess__card--navy .ymeu-quickaccess__icon { color: var(--ymeu-navy); }
.ymeu-quickaccess__card--red  .ymeu-quickaccess__icon { color: var(--ymeu-red); }
.ymeu-quickaccess__card--gold .ymeu-quickaccess__icon { color: var(--ymeu-gold); }
.ymeu-quickaccess__label { font-weight: 600; font-size: 14px; color: var(--ymeu-navy); text-align: center; }

/* ---------- ABOUT ---------- */
.ymeu-about__inner {
	display: grid;
	grid-template-columns: 5fr 6fr;
	gap: 40px;
	align-items: center;
}
.ymeu-about__media {
	border-radius: var(--ymeu-radius-lg);
	overflow: hidden;
	min-height: 320px;
	background: var(--ymeu-light);
}
.ymeu-about__media img { width: 100%; height: 100%; object-fit: cover; }
.ymeu-about__media-placeholder {
	display: flex; align-items: center; justify-content: center;
	height: 320px; font-size: 120px; color: var(--ymeu-navy); opacity: 0.2;
}
.ymeu-about__title {
	font-family: var(--ymeu-font-serif);
	font-size: clamp(1.8rem, 3vw, 2.4rem);
	margin: 8px 0 18px;
}
.ymeu-about__body { color: var(--ymeu-muted); margin-bottom: 24px; }

/* ---------- SERVICES ---------- */
.ymeu-services { background: #fff; }
.ymeu-services__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}
.ymeu-service-card {
	background: #fff;
	border-radius: var(--ymeu-radius);
	box-shadow: var(--ymeu-shadow);
	overflow: hidden;
	display: flex; flex-direction: column;
	transition: transform .15s ease, box-shadow .15s ease;
}
.ymeu-service-card:hover { transform: translateY(-4px); box-shadow: var(--ymeu-shadow-lg); }
.ymeu-service-card__media {
	height: 180px;
	background-color: var(--ymeu-navy);
	background-image: linear-gradient(135deg, var(--ymeu-navy), var(--ymeu-navy-2));
	background-size: cover;
	background-position: center;
	display: flex; align-items: center; justify-content: center;
	position: relative;
	/* overflow stays visible so the bottom half of the circular icon
	   (positioned at bottom:-28px) isn't clipped at the media boundary */
}
/* When a photo background is supplied, override the gradient with the photo and
   add a subtle dark vignette at the bottom so the circular icon (and its white
   border) sits cleanly against any image. */
.ymeu-service-card__media--has-image {
	background-image: none; /* overridden by inline style on the element */
}
.ymeu-service-card__media--has-image::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: 0; height: 60%;
	background: linear-gradient(to top, rgba(10,39,86,0.45), rgba(10,39,86,0));
	pointer-events: none;
}
.ymeu-service-card__icon {
	width: 56px; height: 56px; border-radius: 50%;
	background: var(--ymeu-navy); color: var(--ymeu-gold);
	display: inline-flex; align-items: center; justify-content: center;
	font-size: 22px;
	position: absolute; bottom: -28px; left: 50%; transform: translateX(-50%);
	border: 4px solid #fff;
	box-shadow: var(--ymeu-shadow);
	z-index: 2;
}
.ymeu-service-card__body { padding: 40px 20px 24px; text-align: center; }
.ymeu-service-card__title { font-size: 17px; margin-bottom: 10px; }
.ymeu-service-card__desc { font-size: 14px; color: var(--ymeu-muted); min-height: 60px; }

/* ---------- DUAL CTA ---------- */
.ymeu-dualcta { padding: 32px 0 64px; }
.ymeu-dualcta__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}
.ymeu-dualcta__card {
	display: flex; align-items: center; gap: 24px;
	padding: 32px;
	border-radius: var(--ymeu-radius-lg);
	position: relative;
	overflow: hidden;
}
.ymeu-dualcta__card--navy  { background: var(--ymeu-navy); color: #fff; }
.ymeu-dualcta__card--light { background: var(--ymeu-light); color: var(--ymeu-ink); }
.ymeu-dualcta__icon {
	width: 72px; height: 72px; border-radius: 50%;
	background: rgba(255,255,255,0.1); border: 2px solid rgba(255,255,255,0.25);
	display: inline-flex; align-items: center; justify-content: center;
	font-size: 30px; color: #fff;
	flex-shrink: 0;
}
.ymeu-dualcta__icon--navy {
	background: var(--ymeu-navy); border-color: var(--ymeu-navy); color: #fff;
}
.ymeu-dualcta__title { font-family: var(--ymeu-font-serif); font-size: 1.6rem; margin-bottom: 8px; color: #fff; }
.ymeu-dualcta__title--navy { color: var(--ymeu-navy); }
.ymeu-dualcta__card--navy p { color: rgba(255,255,255,0.85); margin-bottom: 18px; }
.ymeu-dualcta__card--light p { color: var(--ymeu-muted); margin-bottom: 18px; }

/* ---------- OUTREACH ---------- */
.ymeu-outreach { background: var(--ymeu-light); padding-top: 48px; padding-bottom: 48px; }
.ymeu-outreach__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
.ymeu-outreach__item {
	display: flex; align-items: flex-start; gap: 16px;
	padding: 12px 20px;
	border-right: 1px solid var(--ymeu-line);
}
.ymeu-outreach__item:last-child { border-right: 0; }
.ymeu-outreach__icon {
	display: inline-flex; align-items: center; justify-content: center;
	width: 48px; height: 48px; border-radius: 50%;
	background: var(--ymeu-navy); color: var(--ymeu-gold);
	font-size: 20px;
	flex-shrink: 0;
}
.ymeu-outreach__title { font-size: 16px; margin-bottom: 4px; }
.ymeu-outreach__desc  { font-size: 14px; color: var(--ymeu-muted); margin: 0; }

/* ---------- EVENTS ---------- */
.ymeu-events { padding-top: 48px; padding-bottom: 80px; }
.ymeu-events__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
.ymeu-event-card {
	display: grid;
	grid-template-columns: 60px 120px 1fr;
	gap: 14px;
	align-items: stretch;
	background: #fff;
	border-radius: var(--ymeu-radius);
	box-shadow: var(--ymeu-shadow);
	overflow: hidden;
}
.ymeu-event-card__date {
	background: var(--ymeu-navy);
	color: #fff;
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	padding: 12px 4px;
}
.ymeu-event-card__month { font-size: 11px; font-weight: 700; letter-spacing: 0.1em; color: var(--ymeu-gold); }
.ymeu-event-card__day   { font-size: 22px; font-weight: 700; }
.ymeu-event-card__media {
	background: var(--ymeu-light);
	overflow: hidden;
}
.ymeu-event-card__media img { width: 100%; height: 100%; object-fit: cover; }
.ymeu-event-card__media--placeholder {
	display: flex; align-items: center; justify-content: center;
	color: var(--ymeu-navy); opacity: 0.3; font-size: 36px;
}
.ymeu-event-card__body { padding: 14px 16px 14px 0; }
.ymeu-event-card__title { font-size: 15px; line-height: 1.25; margin-bottom: 6px; }
.ymeu-event-card__excerpt { font-size: 13px; color: var(--ymeu-muted); margin-bottom: 8px; }

/* ---------- FOOTER ---------- */
.ymeu-footer {
	background: var(--ymeu-navy);
	color: rgba(255,255,255,0.85);
	padding-top: 48px;
	margin-top: 0;
}
.ymeu-footer__inner {
	display: grid;
	grid-template-columns: 1.2fr 1.6fr 1fr 1fr;
	gap: 32px;
	padding-bottom: 32px;
}
.ymeu-footer__brand { display: flex; align-items: flex-start; gap: 14px; }
.ymeu-footer__logo img { max-height: 64px; }
.ymeu-footer__logo-fallback {
	width: 56px; height: 56px; border-radius: 50%;
	background: var(--ymeu-gold); color: var(--ymeu-navy);
	display: inline-flex; align-items: center; justify-content: center; font-size: 24px;
}
.ymeu-footer__brand-text { font-family: var(--ymeu-font-serif); color: #fff; font-size: 18px; line-height: 1.2; }
.ymeu-footer__contact { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 20px; }
.ymeu-footer__contact-item { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; }
.ymeu-footer__contact-item i { color: var(--ymeu-gold); margin-top: 3px; }
.ymeu-footer__contact-item a { color: #fff; text-decoration: none; }
.ymeu-footer__contact-item small { display: block; color: rgba(255,255,255,0.55); font-size: 12px; }

.ymeu-footer__heading {
	color: var(--ymeu-gold);
	font-family: var(--ymeu-font-sans);
	font-size: 13px; letter-spacing: 0.12em; text-transform: uppercase;
	margin-bottom: 16px;
}
.ymeu-footer__menu { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; font-size: 14px; }
.ymeu-footer__menu a { color: rgba(255,255,255,0.85); text-decoration: none; }
.ymeu-footer__menu a:hover { color: var(--ymeu-gold); }

.ymeu-footer__social-icons { display: flex; gap: 10px; margin-bottom: 14px; }
.ymeu-social {
	display: inline-flex; align-items: center; justify-content: center;
	width: 36px; height: 36px; border-radius: 50%;
	color: #fff; text-decoration: none; font-size: 16px;
	transition: transform .15s ease;
}
.ymeu-social:hover { transform: translateY(-2px); }
.ymeu-social--fb { background: #1877f2; }
.ymeu-social--ig { background: linear-gradient(135deg, #f58529, #dd2a7b, #515bd4); }
.ymeu-social--yt { background: #ff0000; }
.ymeu-footer__tagline { color: var(--ymeu-gold); font-size: 14px; margin: 0; }

.ymeu-footer__bottom {
	border-top: 1px solid rgba(255,255,255,0.12);
	padding: 16px 0;
	font-size: 13px;
}
.ymeu-footer__bottom-inner {
	display: flex; justify-content: space-between; align-items: center; gap: 16px;
}
.ymeu-footer__legal a { color: rgba(255,255,255,0.7); text-decoration: none; margin: 0 6px; }
.ymeu-footer__legal a:hover { color: var(--ymeu-gold); }

/* ---------- BLOG / PAGES ---------- */
.ymeu-page { padding: 48px 0; }
.ymeu-page__container { max-width: 860px; }
.ymeu-page-header { margin-bottom: 32px; }
.ymeu-page-header__title { font-family: var(--ymeu-font-serif); font-size: clamp(1.8rem, 3vw, 2.5rem); }
.ymeu-page__content { font-size: 17px; color: var(--ymeu-ink); }

.ymeu-archive { padding: 48px 0; }
.ymeu-post-list { display: grid; gap: 24px; }
.ymeu-post-card {
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: 20px;
	background: #fff;
	border-radius: var(--ymeu-radius);
	box-shadow: var(--ymeu-shadow);
	overflow: hidden;
}
.ymeu-post-card__media img { width: 100%; height: 100%; object-fit: cover; }
.ymeu-post-card__body { padding: 18px 20px; }
.ymeu-post-card__title { font-size: 1.25rem; }
.ymeu-post-card__title a { color: var(--ymeu-navy); text-decoration: none; }
.ymeu-post-card__title a:hover { color: var(--ymeu-gold); }
.ymeu-post-card__meta { color: var(--ymeu-muted); font-size: 13px; margin-bottom: 10px; }
.ymeu-post-card__excerpt { color: var(--ymeu-muted); margin-bottom: 12px; }

.ymeu-single { padding: 48px 0 64px; }
.ymeu-single__container { max-width: 820px; }
.ymeu-single__title { font-family: var(--ymeu-font-serif); font-size: clamp(2rem, 3.6vw, 3rem); }
.ymeu-single__meta { color: var(--ymeu-muted); display: flex; gap: 10px; font-size: 14px; margin-bottom: 24px; }
.ymeu-single__media { margin-bottom: 24px; border-radius: var(--ymeu-radius-lg); overflow: hidden; }
.ymeu-single__content { font-size: 17px; line-height: 1.7; }

.ymeu-404 { padding: 80px 0; text-align: center; }
.ymeu-404__icon { font-size: 80px; color: var(--ymeu-gold); margin-bottom: 16px; }
.ymeu-404__title { font-family: var(--ymeu-font-serif); font-size: 2.5rem; }
.ymeu-404__desc { color: var(--ymeu-muted); max-width: 520px; margin: 0 auto 24px; }
.ymeu-404__search { max-width: 420px; margin: 24px auto 0; }

/* ---------- SEARCH FORM ---------- */
.ymeu-searchform { display: flex; gap: 6px; }
.ymeu-searchform__input {
	flex: 1; padding: 10px 14px;
	border: 1px solid var(--ymeu-line); border-radius: 6px;
	font: inherit;
}
.ymeu-searchform__btn {
	background: var(--ymeu-navy); color: #fff; border: 0;
	padding: 0 14px; border-radius: 6px; cursor: pointer;
}

/* ---------- ELEMENTOR PAGE TEMPLATES ---------- */
.ymeu-elementor-full-width .ymeu-fullwidth,
.ymeu-elementor-full-width .ymeu-main { padding: 0; }
.ymeu-elementor-canvas .ymeu-site,
.ymeu-canvas .ymeu-site { display: contents; }

/* ---------- COMMENTS ---------- */
.ymeu-comments { margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--ymeu-line); }
.ymeu-comments__list { list-style: none; padding: 0; }
.ymeu-comments__list .children { list-style: none; padding-left: 24px; }

/* ---------- DONATE NOW BAND — homepage QR + button between hero and Quick Access ---------- */
.ymeu-donate-band {
	background: var(--ymeu-light);
	color: var(--ymeu-ink);
	padding: 72px 0;
	position: relative;
	overflow: hidden;
}
.ymeu-donate-band::before {
	content: "";
	position: absolute;
	top: -120px; right: -120px;
	width: 360px; height: 360px;
	background: var(--ymeu-gold);
	opacity: 0.10;
	border-radius: 50%;
	pointer-events: none;
}
.ymeu-donate-band::after {
	content: "";
	position: absolute;
	bottom: -140px; left: -100px;
	width: 300px; height: 300px;
	background: var(--ymeu-navy);
	opacity: 0.04;
	border-radius: 50%;
	pointer-events: none;
}
.ymeu-donate-band__inner {
	display: grid;
	grid-template-columns: 200px 1fr;
	gap: 40px;
	align-items: center;
	position: relative;
	z-index: 1;
}
.ymeu-donate-band__qr {
	background: #fff;
	padding: 14px;
	border-radius: var(--ymeu-radius-lg);
	box-shadow: 0 18px 40px rgba(10, 39, 86, 0.14);
	border: 1px solid var(--ymeu-line);
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 170px;
}
.ymeu-donate-band__qr img,
.ymeu-donate-band__qr svg,
.ymeu-donate-band__qr canvas {
	width: 100%;
	height: auto;
	display: block;
}
.ymeu-donate-band__body { display: flex; flex-direction: column; align-items: flex-start; }
.ymeu-donate-band__eyebrow {
	color: var(--ymeu-navy);
	margin-bottom: 10px;
}
.ymeu-donate-band__eyebrow::before,
.ymeu-donate-band__eyebrow::after {
	background: var(--ymeu-gold);
}
.ymeu-donate-band__title {
	font-family: var(--ymeu-font-serif);
	font-size: clamp(1.8rem, 3vw, 2.4rem);
	color: var(--ymeu-navy);
	margin: 0 0 14px;
	line-height: 1.1;
}
.ymeu-donate-band__lede {
	color: var(--ymeu-muted);
	margin: 0 0 22px;
	max-width: 560px;
	font-size: 16px;
	line-height: 1.55;
}
.ymeu-donate-band__body .ymeu-btn--donate { padding: 14px 28px; font-size: 16px; }

/* ---------- PAGE HERO — top banner for sub-pages using page.php ---------- */
.ymeu-page-hero {
	background: var(--ymeu-navy);
	background-image: linear-gradient(135deg, var(--ymeu-navy), var(--ymeu-navy-2));
	color: #fff;
	padding: 84px 0;
	text-align: center;
	position: relative;
	overflow: hidden;
	margin-bottom: 56px;
}
.ymeu-page-hero--with-image {
	background-size: cover;
	background-position: center;
}
.ymeu-page-hero::before {
	content: "";
	position: absolute;
	top: -100px; right: -100px;
	width: 380px; height: 380px;
	background: var(--ymeu-gold);
	opacity: 0.07;
	border-radius: 50%;
	pointer-events: none;
}
.ymeu-page-hero::after {
	content: "";
	position: absolute;
	bottom: -140px; left: -100px;
	width: 320px; height: 320px;
	background: var(--ymeu-red);
	opacity: 0.05;
	border-radius: 50%;
	pointer-events: none;
}
.ymeu-page-hero > .ymeu-container { position: relative; z-index: 1; }
.ymeu-page-hero__title {
	font-family: var(--ymeu-font-serif);
	font-size: clamp(2rem, 4vw, 3.2rem);
	color: #fff;
	margin: 0;
	line-height: 1.1;
	font-weight: 700;
}
.ymeu-page-hero__title::after {
	content: "";
	display: block;
	width: 60px;
	height: 3px;
	background: var(--ymeu-gold);
	margin: 22px auto 0;
}

/* When a hero is present, the page content section should hug it. */
.ymeu-page-hero + .ymeu-container.ymeu-page__container { padding-top: 0; }

/* ---------- CONTACT — info card + map + request cards ---------- */
.ymeu-contact-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
	margin: 8px 0 48px;
}
.ymeu-contact-info {
	background: var(--ymeu-light);
	padding: 32px;
	border-radius: var(--ymeu-radius-lg);
}
.ymeu-contact-info__org {
	font-family: var(--ymeu-font-serif);
	color: var(--ymeu-navy);
	font-size: 1.4rem;
	margin: 0 0 18px;
	line-height: 1.2;
}
.ymeu-contact-info__row {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin-bottom: 14px;
	color: var(--ymeu-ink);
	font-size: 15px;
	line-height: 1.5;
}
.ymeu-contact-info__row > i {
	color: var(--ymeu-navy);
	background: rgba(10, 39, 86, 0.08);
	width: 36px; height: 36px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 15px;
	flex-shrink: 0;
	margin-top: 2px;
}
.ymeu-contact-info__row a { color: var(--ymeu-navy); text-decoration: none; font-weight: 600; }
.ymeu-contact-info__row a:hover { color: var(--ymeu-gold); }
.ymeu-contact-info__row small { color: var(--ymeu-muted); font-size: 12px; }
.ymeu-contact-map {
	border-radius: var(--ymeu-radius-lg);
	overflow: hidden;
	min-height: 360px;
	background: var(--ymeu-light);
	box-shadow: var(--ymeu-shadow);
}
.ymeu-contact-map iframe {
	width: 100%;
	height: 100%;
	min-height: 360px;
	display: block;
	border: 0;
}

.ymeu-request-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin: 24px 0 48px;
}
.ymeu-request-card {
	background: #fff;
	border: 1px solid var(--ymeu-line);
	border-radius: var(--ymeu-radius-lg);
	padding: 32px 24px 28px;
	text-align: center;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
	display: flex;
	flex-direction: column;
}
.ymeu-request-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--ymeu-shadow-lg);
	border-color: transparent;
}
.ymeu-request-card__icon {
	width: 64px; height: 64px;
	border-radius: 50%;
	background: var(--ymeu-navy);
	color: var(--ymeu-gold);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 24px;
	margin: 0 auto 18px;
}
.ymeu-request-card__title {
	font-family: var(--ymeu-font-serif);
	color: var(--ymeu-navy);
	font-size: 1.25rem;
	margin: 0 0 10px;
}
.ymeu-request-card__desc {
	color: var(--ymeu-muted);
	font-size: 14px;
	line-height: 1.55;
	margin: 0 0 22px;
	flex: 1;
}
.ymeu-request-card .ymeu-btn { align-self: center; }

/* ---------- JOIN US — hub hero + photo cards ---------- */
.ymeu-join-hero {
	background: linear-gradient(135deg, var(--ymeu-navy) 0%, var(--ymeu-navy-2) 100%);
	color: #fff;
	padding: 96px 0 140px;
	position: relative;
	overflow: hidden;
	text-align: center;
}
.ymeu-join-hero::before {
	content: "";
	position: absolute;
	top: -120px; right: -120px;
	width: 460px; height: 460px;
	background: var(--ymeu-gold);
	opacity: 0.10;
	border-radius: 50%;
}
.ymeu-join-hero::after {
	content: "";
	position: absolute;
	bottom: -180px; left: -120px;
	width: 380px; height: 380px;
	background: var(--ymeu-red);
	opacity: 0.07;
	border-radius: 50%;
}
.ymeu-join-hero > .ymeu-container { position: relative; z-index: 1; }
.ymeu-join-hero .ymeu-eyebrow {
	color: var(--ymeu-gold);
	margin-bottom: 18px;
	justify-content: center;
}
.ymeu-join-hero .ymeu-eyebrow::before,
.ymeu-join-hero .ymeu-eyebrow::after {
	background: var(--ymeu-gold);
}
.ymeu-join-hero__title {
	font-family: var(--ymeu-font-serif);
	font-size: clamp(2.4rem, 5vw, 3.8rem);
	color: #fff;
	margin: 0 0 24px;
	line-height: 1.05;
	font-weight: 700;
}
.ymeu-join-hero__lede {
	font-size: 18px;
	line-height: 1.65;
	max-width: 740px;
	margin: 0 auto;
	color: rgba(255,255,255,0.92);
}

.ymeu-join-options {
	padding: 0 0 96px;
	margin-top: -90px;
	position: relative;
	z-index: 3;
}
.ymeu-join-options__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 32px;
}
.ymeu-join-card {
	background: #fff;
	border-radius: var(--ymeu-radius-lg);
	overflow: hidden;
	box-shadow: var(--ymeu-shadow-lg);
	display: flex;
	flex-direction: column;
	transition: transform .25s ease, box-shadow .25s ease;
}
.ymeu-join-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 24px 64px rgba(10, 39, 86, 0.18);
}
.ymeu-join-card__media {
	height: 300px;
	background-size: cover;
	background-position: center 30%;
	background-color: var(--ymeu-navy);
	position: relative;
}
.ymeu-join-card__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(10,39,86,0) 45%, rgba(10,39,86,0.55) 100%);
}
.ymeu-join-card__body {
	padding: 32px 32px 36px;
	display: flex;
	flex-direction: column;
	flex: 1;
}
.ymeu-join-card__pill {
	display: inline-block;
	padding: 6px 14px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	align-self: flex-start;
	margin-bottom: 14px;
}
.ymeu-join-card__pill--navy { background: var(--ymeu-navy); color: var(--ymeu-gold); }
.ymeu-join-card__pill--gold { background: var(--ymeu-gold); color: var(--ymeu-navy); }
.ymeu-join-card__title {
	font-family: var(--ymeu-font-serif);
	font-size: 1.8rem;
	color: var(--ymeu-navy);
	margin: 0 0 14px;
	line-height: 1.2;
}
.ymeu-join-card__body p {
	color: var(--ymeu-muted);
	margin-bottom: 24px;
	flex: 1;
}
.ymeu-join-card__body .ymeu-btn { align-self: flex-start; }

/* ---------- RESPONSIVE ---------- */
@media (max-width: 1024px) {
	.ymeu-hero__inner { grid-template-columns: 1fr; }
	.ymeu-hero__copy::after,
	.ymeu-hero__inner::before { display: none; }
	.ymeu-hero__image { min-height: 320px; }
	.ymeu-quickaccess__grid { grid-template-columns: repeat(3, 1fr); }
	.ymeu-services__grid    { grid-template-columns: repeat(2, 1fr); }
	.ymeu-events__grid      { grid-template-columns: 1fr; }
	.ymeu-about__inner      { grid-template-columns: 1fr; }
	.ymeu-dualcta__inner    { grid-template-columns: 1fr; }
	.ymeu-join-options__grid { grid-template-columns: 1fr; }
	.ymeu-contact-grid      { grid-template-columns: 1fr; }
	.ymeu-request-grid      { grid-template-columns: 1fr; }
	.ymeu-donate-band__inner { grid-template-columns: 1fr; text-align: center; gap: 28px; }
	.ymeu-donate-band__qr   { max-width: 220px; margin: 0 auto; }
	.ymeu-donate-band__body { align-items: center; }
	.ymeu-donate-band__lede { text-align: center; }
	.ymeu-footer__inner     { grid-template-columns: 1fr 1fr; }
	.ymeu-outreach__grid    { grid-template-columns: 1fr; }
	.ymeu-outreach__item    { border-right: 0; border-bottom: 1px solid var(--ymeu-line); padding-bottom: 16px; }
	.ymeu-outreach__item:last-child { border-bottom: 0; }
}

@media (max-width: 768px) {
	.ymeu-nav { display: none; order: 99; flex-basis: 100%; }
	.ymeu-nav.is-open { display: block; }
	.ymeu-nav__menu { flex-direction: column; align-items: stretch; padding: 12px 0; gap: 0; }
	.ymeu-nav__menu > li > a { padding: 12px 4px; display: block; border-bottom: 1px solid var(--ymeu-line); }
	.ymeu-nav-toggle { display: block; }
	.ymeu-header__inner { flex-wrap: wrap; }
	.ymeu-btn--donate  { margin-left: auto; }
	.ymeu-emergency-bar .ymeu-container { font-size: 13px; gap: 12px; }
	.ymeu-emergency-bar__divider { display: none; }

	.ymeu-quickaccess__grid { grid-template-columns: repeat(2, 1fr); }
	.ymeu-services__grid    { grid-template-columns: 1fr; }
	.ymeu-footer__inner     { grid-template-columns: 1fr; }
	.ymeu-footer__contact   { grid-template-columns: 1fr; }
	.ymeu-footer__bottom-inner { flex-direction: column; text-align: center; }

	.ymeu-event-card { grid-template-columns: 56px 1fr; }
	.ymeu-event-card__media { display: none; }

	.ymeu-post-card { grid-template-columns: 1fr; }

	.ymeu-section { padding: 48px 0; }
	.ymeu-hero__copy { padding: 40px 20px; }
	.ymeu-page-hero { padding: 56px 0; margin-bottom: 32px; }
	.ymeu-join-hero { padding: 64px 0 100px; }
	.ymeu-join-options { padding-bottom: 64px; margin-top: -60px; }
	.ymeu-join-card__media { height: 220px; }
	.ymeu-join-card__body { padding: 24px; }
}
