/* ==========================================================================
   NPRN 2026 refresh
   One accent (NPRN green) spent on actions and active states; everything else
   rides the NPRN blue + a cool neutral ramp. Radii: 8 / 14 / pill.
   ========================================================================== */

:root {
	--nprn-blue: #3b6179;
	--nprn-blue-deep: #2c4a5d;
	--nprn-ink: #1b2b36;
	--nprn-text: #3d4a54;
	--nprn-muted: #6b7882;
	--nprn-green: #98cb3c;
	--nprn-green-ink: #4f7a12;   /* green that passes AA as text on white */
	--nprn-bg: #f4f6f7;
	--nprn-surface: #ffffff;
	--nprn-line: rgba(27, 43, 54, 0.09);
	--nprn-line-strong: rgba(27, 43, 54, 0.16);
	--nprn-r-sm: 8px;
	--nprn-r-md: 14px;
	--nprn-shadow-hover: 0 12px 28px -14px rgba(27, 43, 54, 0.28);
	--nprn-ease: cubic-bezier(0.23, 1, 0.32, 1);
	--nprn-header-h: 84px;
}

/* --------------------------------------------------------------------------
   Header
   -------------------------------------------------------------------------- */
#masthead.site-header {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 1000;
	background: var(--nprn-blue);
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06);
	transition: box-shadow 0.3s var(--nprn-ease);
}
#masthead.site-header.is-scrolled {
	box-shadow: 0 10px 30px -18px rgba(12, 24, 32, 0.7);
}
/* sticky needs every ancestor to leave overflow alone */
#page.site { overflow: visible; }

#masthead .elementor-41064 .e-con { background: transparent !important; }

/* --------------------------------------------------------------------------
   Shared primitives
   -------------------------------------------------------------------------- */
.nprn-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 48px;
	padding: 0 26px;
	border-radius: 999px;
	font-family: Montserrat, sans-serif;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.01em;
	text-decoration: none !important;
	border: 1.5px solid transparent;
	transition: background-color 0.2s var(--nprn-ease), border-color 0.2s var(--nprn-ease), color 0.2s var(--nprn-ease);
	will-change: transform;
}
.nprn-btn--primary { background: var(--nprn-green); color: var(--nprn-ink) !important; }
.nprn-btn--primary:hover { background: #a9d956; }
.nprn-btn--ghost { border-color: rgba(255, 255, 255, 0.55); color: #fff !important; }
.nprn-btn--ghost:hover { border-color: #fff; background: rgba(255, 255, 255, 0.1); }

/* --------------------------------------------------------------------------
   Logged-out hero
   -------------------------------------------------------------------------- */
.nprn-hero .nprn-hero__copy { max-width: 720px; text-shadow: 0 1px 14px rgba(12, 24, 32, 0.45); }
.nprn-hero .nprn-hero__copy p { margin: 0; }
.nprn-hero .nprn-eyebrow {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--nprn-green);
	margin-bottom: 16px !important;
}
.nprn-hero .nprn-hero__title {
	font-family: Montserrat, sans-serif;
	font-size: clamp(2.4rem, 5.2vw, 4.5rem);
	font-weight: 700;
	line-height: 1.02;
	letter-spacing: -0.025em;
	color: #fff;
	margin: 0 0 20px;
	text-wrap: balance;
}
.nprn-hero .nprn-hero__lede {
	font-size: clamp(1.05rem, 1.4vw, 1.25rem);
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.86);
	max-width: 52ch;
	margin-bottom: 32px !important;
}
.nprn-hero .nprn-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }

/* --------------------------------------------------------------------------
   Logged-in slider
   -------------------------------------------------------------------------- */
.nprn-slider .swiper-slide-bg { transform-origin: center; }
/* Replace the flat per-slide grey wash with a scrim that only darkens behind the copy */
.nprn-slider .swiper-slide-inner.elementor-background-overlay,
.nprn-slider .elementor-background-overlay {
	background: radial-gradient(120% 90% at 50% 55%, rgba(12, 24, 32, 0.55) 0%, rgba(12, 24, 32, 0.2) 70%) !important;
	opacity: 1 !important;
}
.nprn-slider .elementor-slide-heading {
	font-size: clamp(1.75rem, 3.4vw, 2.75rem) !important;
	font-weight: 700 !important;
	letter-spacing: -0.02em;
	line-height: 1.1 !important;
	text-wrap: balance;
}
.nprn-slider .elementor-slide-description {
	font-size: clamp(1rem, 1.3vw, 1.2rem) !important;
	opacity: 0.9;
}
.nprn-slider .elementor-swiper-button {
	width: 44px;
	height: 44px;
	padding: 0 !important;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: rgba(12, 24, 32, 0.28);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	color: #fff;
	font-size: 18px;
	transition: background-color 0.2s var(--nprn-ease);
}
.nprn-slider .elementor-swiper-button:hover { background: rgba(12, 24, 32, 0.5); }
.nprn-slider .elementor-swiper-button-prev { left: 20px; }
.nprn-slider .elementor-swiper-button-next { right: 20px; }

/* --------------------------------------------------------------------------
   Home: feed + sidebar
   -------------------------------------------------------------------------- */
body.home.logged-in,
body.home.logged-in #page,
.nprn-home-main { background: var(--nprn-bg) !important; }
.nprn-home-main .nprn-anchor { height: 0; overflow: hidden; margin: 0; position: relative; top: calc(-1 * (var(--nprn-header-h) + 40px)); }

/* Composer */
.nprn-composer {
	display: flex;
	gap: 20px;
	align-items: flex-start;
	padding: 24px;
	background: var(--nprn-surface);
	border: 1px solid var(--nprn-line);
	border-radius: var(--nprn-r-md);
}
.nprn-composer__avatar { flex: 0 0 auto; }
.nprn-composer__avatar img {
	width: 56px !important;
	height: 56px !important;
	border-radius: 50% !important;
	border: 0 !important;
	box-shadow: 0 0 0 3px var(--nprn-surface), 0 0 0 4px var(--nprn-line-strong) !important;
	display: block;
}
.nprn-composer__body { min-width: 0; flex: 1; }
.nprn-composer p { margin: 0; }
.nprn-composer__greeting {
	font-size: 20px;
	font-weight: 700;
	letter-spacing: -0.01em;
	color: var(--nprn-ink);
	line-height: 1.25;
}
.nprn-composer__greeting a { color: var(--nprn-blue) !important; text-decoration: none; }
.nprn-composer__greeting a:hover { color: var(--nprn-green-ink) !important; }
.nprn-composer__prompt { color: var(--nprn-muted); font-size: 15px; margin-top: 4px !important; }
.nprn-composer__actions,
.nprn-composer__featured {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 16px;
}
.nprn-composer__featured {
	align-items: center;
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid var(--nprn-line);
}
.nprn-composer__label {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--nprn-muted);
	margin-right: 4px;
}

.nprn-chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 38px;
	padding: 0 16px;
	border-radius: 999px;
	border: 1px solid var(--nprn-line-strong);
	background: var(--nprn-surface);
	color: var(--nprn-ink);
	font: 600 14px/1 Montserrat, sans-serif;
	letter-spacing: 0;
	text-transform: none;
	cursor: pointer;
	box-shadow: none;
	transition: background-color 0.2s var(--nprn-ease), border-color 0.2s var(--nprn-ease), color 0.2s var(--nprn-ease);
	will-change: transform;
}
.nprn-chip:hover { border-color: var(--nprn-blue); color: var(--nprn-blue); background: #f5f8fa; }
.nprn-chip__icon { color: var(--nprn-blue); flex: 0 0 auto; }
.nprn-chip.active-form {
	background: var(--nprn-blue);
	border-color: var(--nprn-blue);
	color: #fff;
}
.nprn-chip.active-form .nprn-chip__icon { color: var(--nprn-green); }
.nprn-chip--quiet { height: 34px; padding: 0 14px; font-size: 13px; }
.nprn-chip--quiet .nprn-chip__icon { color: var(--nprn-green-ink); }

/* Post forms that slide open under the composer */
.nprn-feed .hiden-section .gform_wrapper {
	background: var(--nprn-surface);
	border: 1px solid var(--nprn-line);
	border-radius: var(--nprn-r-md);
	padding: 24px;
	margin: 0 !important;
}

/* Sort */
.nprn-sort select,
.nprn-sort .jet-select__control {
	height: 40px;
	padding: 0 36px 0 14px !important;
	border: 1px solid var(--nprn-line-strong) !important;
	border-radius: var(--nprn-r-sm) !important;
	background-color: var(--nprn-surface) !important;
	color: var(--nprn-ink) !important;
	font: 500 14px Montserrat, sans-serif;
}

/* Activity cards */
#activity-filter .jet-listing-grid__items { gap: 16px; }
#activity-filter .jet-listing-grid__item { padding: 0 !important; margin: 0 0 16px !important; }
#activity-filter .jet-listing-grid__item > .elementor {
	position: relative;
	background: var(--nprn-surface);
	border: 1px solid var(--nprn-line);
	border-radius: var(--nprn-r-md);
	padding: 8px 12px 12px;
	box-shadow: none;
	transition: border-color 0.25s var(--nprn-ease), box-shadow 0.25s var(--nprn-ease);
}
#activity-filter .jet-listing-grid__item > .elementor:hover {
	border-color: var(--nprn-line-strong);
	box-shadow: var(--nprn-shadow-hover);
}
/* rows inside a card sit on the card; the old per-row white fills and offsets go */
#activity-filter .jet-listing-grid__item > .elementor > .e-con {
	background: transparent !important;
	margin: 0 !important;
}
#activity-filter #activity-icons {
	position: absolute !important;
	top: 14px;
	right: 14px;
	left: auto;
	width: auto !important;
	padding: 0 !important;
	z-index: 2;
	gap: 6px;
	flex-wrap: nowrap;
}
#activity-filter #activity-icons > .elementor-widget { width: auto !important; }
#activity-filter .jet-listing-grid__item .elementor-inner,
#activity-filter .jet-listing-grid__item .e-con { box-shadow: none !important; }
#activity-filter .activity-avatar img {
	width: 44px !important;
	height: 44px !important;
	object-fit: cover;
	border-radius: 50% !important;
	border: 0 !important;
	box-shadow: 0 0 0 1px var(--nprn-line-strong) !important;
}
#activity-filter .the-post-title .elementor-heading-title,
#activity-filter .the-post-title .elementor-heading-title a {
	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	letter-spacing: -0.01em;
	color: var(--nprn-ink) !important;
}
#activity-filter .the-post-title a:hover { color: var(--nprn-blue) !important; }
#activity-filter .uploaded-featured-image img,
#activity-filter .activity-image img,
#activity-filter .elementor-widget-image:not(.activity-avatar):not(.post-type-icon) img { border-radius: var(--nprn-r-sm); }
#activity-filter .jet-listing-dynamic-field__content { color: var(--nprn-text); line-height: 1.6; }

/* Load more */
.nprn-loadmore .elementor-button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-width: 180px;
	min-height: 46px;
	line-height: 1 !important;
	padding: 0 28px !important;
	border-radius: 999px !important;
	background: var(--nprn-surface) !important;
	border: 1px solid var(--nprn-line-strong) !important;
	color: var(--nprn-blue) !important;
	font: 600 14px Montserrat, sans-serif !important;
	letter-spacing: 0.02em;
	transition: background-color 0.2s var(--nprn-ease), color 0.2s var(--nprn-ease), border-color 0.2s var(--nprn-ease);
}
.nprn-loadmore .elementor-button-content-wrapper { display: flex; align-items: center; justify-content: center; }
.nprn-loadmore .elementor-button-text { flex: 0 0 auto; }
.nprn-loadmore .elementor-button:hover {
	background: var(--nprn-blue) !important;
	border-color: var(--nprn-blue) !important;
	color: #fff !important;
}

/* Sidebar */
.nprn-aside > .elementor-widget-template.home-sidebar {
	background: var(--nprn-surface);
	border: 1px solid var(--nprn-line);
	border-radius: var(--nprn-r-md);
	padding: 8px 8px 16px;
}
.nprn-aside .home-sidebar .e-con.home-sidebar {
	background: transparent !important;
	padding: 0 !important;
	border: 0 !important;
	box-shadow: none !important;
}
/* Section titles (Events / News / Jobs) are button widgets */
.nprn-aside .home-sidebar .elementor-widget-button:not(:last-child) .elementor-button[href=""],
.nprn-aside .home-sidebar .elementor-widget-button .elementor-button:not([href]) {
	background: transparent !important;
	color: var(--nprn-ink) !important;
	font: 700 18px Montserrat, sans-serif !important;
	letter-spacing: -0.01em !important;
	text-transform: none !important;
	padding: 16px 12px 8px !important;
	box-shadow: none !important;
	pointer-events: none;
}
.nprn-aside .home-sidebar .jet-listing-grid__item > .elementor > .e-con {
	border-radius: var(--nprn-r-sm);
	padding: 8px 12px !important;
	transition: background-color 0.2s var(--nprn-ease);
	will-change: transform;
}
/* Date badge: white box with a hairline border; on row hover it gets the chip glow.
   Overrides the legacy grey fill (customizer CSS) on both states. */
.nprn-aside .home-sidebar .date-column,
.nprn-aside .home-sidebar .jet-listing-grid__item > .elementor > .e-con:hover .date-column {
	position: relative;
	isolation: isolate;
	align-self: flex-start;
	padding: 6px 0 !important;
	background: var(--nprn-surface) !important;
	border: 1px solid var(--nprn-line-strong);
	border-radius: var(--nprn-r-sm);
}
.nprn-aside .home-sidebar .date-column .jet-listing-dynamic-field__content,
.nprn-aside .home-sidebar .jet-listing-grid__item > .elementor > .e-con:hover .date-column .jet-listing-dynamic-field__content {
	background: transparent !important;
	color: var(--nprn-blue) !important;
	font-weight: 600 !important;
	font-size: 11px !important;
	letter-spacing: 0.06em;
	padding: 0 !important;
}
.nprn-aside .home-sidebar .date-column::after {
	content: "";
	position: absolute;
	inset: -1px;
	border-radius: inherit;
	pointer-events: none;
	border: 1.5px solid var(--nprn-green);
	box-shadow: 0 0 0 3px rgba(152, 203, 60, 0.18), 0 0 22px 2px rgba(152, 203, 60, 0.38);
	opacity: 0;
	transition: opacity 0.35s var(--nprn-ease);
}
.nprn-aside .home-sidebar .jet-listing-grid__item > .elementor > .e-con:hover .date-column::after {
	opacity: 1;
	animation: nprn-glow 2.4s ease-in-out 0.35s infinite alternate;
}
/* the row itself no longer shades grey — the badge carries the hover */
.nprn-aside .home-sidebar .jet-listing-grid__item > .elementor > .e-con:hover { background: transparent !important; }
.nprn-aside .home-sidebar .elementor-heading-title,
.nprn-aside .home-sidebar .elementor-heading-title a {
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
	color: var(--nprn-ink) !important;
}
.nprn-aside .home-sidebar .jet-listing-grid__item .e-con:hover .elementor-heading-title a { color: var(--nprn-blue) !important; }

/* --------------------------------------------------------------------------
   Green glow on hover
   Drawn on a pseudo-element and faded with opacity only, so hovering never
   repaints the element itself. A slow "breathing" loop runs while hovered.
   -------------------------------------------------------------------------- */
.nprn-btn,
.nprn-chip,
.nprn-loadmore .elementor-button,
.nprn-footer .elementor-social-icon,
.nprn-composer,
#activity-filter .jet-listing-grid__item > .elementor,
.nprn-aside > .elementor-widget-template.home-sidebar {
	position: relative;
	isolation: isolate;
}
.nprn-btn::after,
.nprn-chip::after,
.nprn-loadmore .elementor-button::after,
.nprn-footer .elementor-social-icon::after,
.nprn-composer::after,
#activity-filter .jet-listing-grid__item > .elementor::after,
.nprn-aside > .elementor-widget-template.home-sidebar::after {
	content: "";
	position: absolute;
	inset: -1px;
	border-radius: inherit;
	pointer-events: none;
	z-index: 1;
	border: 1.5px solid var(--nprn-green);
	box-shadow: 0 0 0 3px rgba(152, 203, 60, 0.18), 0 0 22px 2px rgba(152, 203, 60, 0.38);
	opacity: 0;
	transition: opacity 0.35s var(--nprn-ease);
}
.nprn-btn:hover::after,
.nprn-chip:hover::after,
.nprn-loadmore .elementor-button:hover::after,
.nprn-footer .elementor-social-icon:hover::after,
.nprn-composer:hover::after,
#activity-filter .jet-listing-grid__item > .elementor:hover::after,
.nprn-aside > .elementor-widget-template.home-sidebar:hover::after {
	opacity: 1;
	animation: nprn-glow 2.4s ease-in-out 0.35s infinite alternate;
}
/* Big surfaces glow softer than controls */
.nprn-composer::after,
#activity-filter .jet-listing-grid__item > .elementor::after,
.nprn-aside > .elementor-widget-template.home-sidebar::after {
	border-width: 1px;
	box-shadow: 0 0 0 3px rgba(152, 203, 60, 0.12), 0 0 28px 0 rgba(152, 203, 60, 0.28);
}
@keyframes nprn-glow {
	from { opacity: 1; }
	to { opacity: 0.45; }
}
/* the glow replaces the old hover shadow/border shift on cards */
#activity-filter .jet-listing-grid__item > .elementor:hover { box-shadow: none; border-color: var(--nprn-line); }
.nprn-chip:hover { border-color: var(--nprn-line-strong); }

@media (prefers-reduced-motion: reduce) {
	.nprn-btn::after, .nprn-chip::after, .nprn-loadmore .elementor-button::after,
	.nprn-footer .elementor-social-icon::after, .nprn-composer::after,
	#activity-filter .jet-listing-grid__item > .elementor::after,
	.nprn-aside > .elementor-widget-template.home-sidebar::after,
	.nprn-aside .home-sidebar .date-column::after { animation: none !important; transition: none; }

	#masthead.site-header,
	.nprn-btn,
	.nprn-chip,
	#activity-filter .jet-listing-grid__item > .elementor { transition: none; }
}
@media (max-width: 767px) {
	.nprn-composer { padding: 16px; gap: 14px; }
	.nprn-composer__avatar img { width: 44px !important; height: 44px !important; }
	.nprn-composer__greeting { font-size: 17px; }
	#activity-filter .jet-listing-grid__item > .elementor { padding: 16px; }
}

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */
#colophon.site-footer { padding: 0 !important; background: #1b2b36; }
.nprn-footer { color: rgba(255, 255, 255, 0.7); font-family: Montserrat, sans-serif; }
.nprn-footer a { color: rgba(255, 255, 255, 0.78); text-decoration: none; transition: color 0.2s var(--nprn-ease); }
.nprn-footer a:hover { color: #fff; }
.nprn-footer .nprn-footer__logo img { width: 150px; height: auto; display: block; }
.nprn-footer .nprn-footer__blurb p { margin: 0; font-size: 15px; line-height: 1.6; max-width: 34ch; color: rgba(255, 255, 255, 0.7); }

.nprn-footer .elementor-social-icon {
	background: rgba(255, 255, 255, 0.07) !important;
	border: 1px solid rgba(255, 255, 255, 0.1);
	transition: background-color 0.2s var(--nprn-ease);
	will-change: transform;
}
.nprn-footer .elementor-social-icon i { color: #fff !important; }
.nprn-footer .elementor-social-icon:hover { background: rgba(255, 255, 255, 0.14) !important; }

/* Newsletter (logged-in only) */
.nprn-footer__newsletter .gform_wrapper { margin: 0 !important; }
.nprn-footer__newsletter .gform_body .gfield_label,
.nprn-footer__newsletter .gform_required_legend { display: none !important; }
.nprn-footer__newsletter form { display: flex; gap: 8px; align-items: stretch; max-width: 380px; }
.nprn-footer__newsletter .gform-body,
.nprn-footer__newsletter .gform_body { flex: 1; min-width: 0; }
.nprn-footer__newsletter .gfield { padding: 0 !important; margin: 0 !important; }
.nprn-footer__newsletter input[type="email"] {
	height: 44px;
	width: 100%;
	padding: 0 16px !important;
	border-radius: 999px !important;
	border: 1px solid rgba(255, 255, 255, 0.16) !important;
	background: rgba(255, 255, 255, 0.06) !important;
	color: #fff !important;
	font: 500 14px Montserrat, sans-serif;
}
.nprn-footer__newsletter input[type="email"]::placeholder { color: rgba(255, 255, 255, 0.5); }
.nprn-footer__newsletter input[type="email"]:focus { outline: 2px solid var(--nprn-green); outline-offset: 1px; }
.nprn-footer__newsletter .gform_footer { margin: 0 !important; padding: 0 !important; }
.nprn-footer__newsletter #gform_submit_button_28 { margin-top: 0 !important; margin-bottom: 0 !important; }
.nprn-footer__newsletter input[type="submit"],
.nprn-footer__newsletter button[type="submit"] {
	height: 44px;
	padding: 0 20px !important;
	border-radius: 999px !important;
	border: 0 !important;
	background: var(--nprn-green) !important;
	color: var(--nprn-ink) !important;
	font: 600 14px Montserrat, sans-serif !important;
	letter-spacing: 0.02em;
	cursor: pointer;
	width: auto !important;
}

/* Sitemap */
.nprn-sitemap {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 32px;
}
.nprn-sitemap__title {
	margin: 0 0 16px !important;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--nprn-green);
}
.nprn-sitemap ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.nprn-sitemap a {
	font-size: 14px;
	line-height: 1.4;
	display: inline-block;
	transition: color 0.2s var(--nprn-ease), transform 0.2s var(--nprn-ease);
}
.nprn-sitemap a:hover { transform: translateX(3px); }

/* Footer layout: logo, blurb, social icons and subscribe form centred across the top,
   the sitemap gets the full width underneath so every group has room. */
.nprn-footer > .e-con:has(> .nprn-footer__brand) {
	flex-direction: column !important;
	align-items: stretch !important;
	gap: 44px !important;
}
.nprn-footer .nprn-footer__brand {
	width: 100% !important;
	max-width: 640px;
	margin-inline: auto !important;
	align-items: center !important;
	text-align: center;
}
.nprn-footer .nprn-footer__logo img { margin-inline: auto; }
.nprn-footer .nprn-footer__blurb p { margin-inline: auto; max-width: 46ch; }
.nprn-footer .nprn-footer__brand .elementor-social-icons-wrapper { display: flex !important; justify-content: center; flex-wrap: wrap; gap: 10px; }
.nprn-footer .nprn-footer__brand .elementor-social-icons-wrapper .elementor-grid-item { margin: 0 !important; }
.nprn-footer__newsletter form { margin-inline: auto; max-width: 440px; }
.nprn-footer .nprn-footer__sitemap { width: 100% !important; max-width: 100% !important; padding-top: 40px; border-top: 1px solid rgba(255, 255, 255, 0.1); }
.nprn-sitemap { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 36px 32px; }

/* Bottom bar */
.nprn-footer .nprn-footer__bar {
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	padding: 24px 0 28px;
}
.nprn-footer .nprn-footer__bar .elementor-widget-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 8px 24px;
	font-size: 13px;
	color: rgba(255, 255, 255, 0.55);
}
.nprn-footer .nprn-footer__bar p { margin: 0; }
.nprn-footer .nprn-footer__bar a { color: rgba(255, 255, 255, 0.72); }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .nprn-sitemap a:hover { transform: none; } }

@media (max-width: 767px) {
	.nprn-sitemap { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 20px; }
	.nprn-footer .nprn-footer__bar .elementor-widget-container { flex-direction: column; }
}

/* --------------------------------------------------------------------------
   Inner-page hero (shared by main pages)
   -------------------------------------------------------------------------- */
.nprn-page-hero .nprn-page-hero__copy { max-width: 760px; text-shadow: 0 1px 14px rgba(12, 24, 32, 0.4); }
.nprn-page-hero .nprn-page-hero__copy p { margin: 0; }
.nprn-page-hero .nprn-eyebrow {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--nprn-green);
	margin-bottom: 12px !important;
}
.nprn-page-hero .nprn-page-hero__title {
	font-family: Montserrat, sans-serif;
	font-size: clamp(2rem, 4vw, 3.25rem);
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: -0.025em;
	color: #fff;
	margin: 0 0 12px;
}
.nprn-page-hero .nprn-page-hero__lede {
	font-size: clamp(1rem, 1.3vw, 1.15rem);
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.86);
	max-width: 56ch;
}

/* --------------------------------------------------------------------------
   Event calendar page
   -------------------------------------------------------------------------- */
.nprn-cal-page { background: var(--nprn-bg); }
body.page-id-40828,
body.page-id-40828 #page { background: var(--nprn-bg) !important; }

/* Toolbar */
.nprn-cal-toolbar .nprn-cal-search { min-width: 220px; }
.nprn-cal-search .jet-search-filter { display: flex; gap: 8px; }
.nprn-cal-search .jet-search-filter__input-wrapper { flex: 1; position: relative; }
.nprn-cal-search .jet-search-filter__input {
	width: 100%;
	height: 46px;
	padding: 0 16px 0 44px !important;
	border: 1px solid var(--nprn-line-strong) !important;
	border-radius: 999px !important;
	background: var(--nprn-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%236b7882' stroke-width='2' stroke-linecap='round' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 16px center !important;
	box-shadow: none !important;
	color: var(--nprn-ink);
	font: 500 15px Montserrat, sans-serif;
	transition: border-color 0.2s var(--nprn-ease), box-shadow 0.2s var(--nprn-ease);
}
.nprn-cal-search .jet-search-filter__input:focus {
	outline: none;
	border-color: var(--nprn-blue) !important;
	box-shadow: 0 0 0 4px rgba(59, 97, 121, 0.12) !important;
}
.nprn-cal-search .jet-search-filter__submit { display: none; }

.nprn-cal-btn .elementor-button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	height: 46px;
	padding: 0 20px !important;
	border-radius: 999px !important;
	background: var(--nprn-surface) !important;
	border: 1px solid var(--nprn-line-strong) !important;
	color: var(--nprn-ink) !important;
	font: 600 14px Montserrat, sans-serif !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	position: relative;
	isolation: isolate;
	transition: border-color 0.2s var(--nprn-ease), color 0.2s var(--nprn-ease);
}
.nprn-cal-btn .elementor-button:hover { color: var(--nprn-blue) !important; }
.nprn-cal-btn .elementor-button-icon { font-size: 13px; color: var(--nprn-blue); }
.nprn-cal-add { height: 46px; min-height: 46px; padding: 0 22px; }
.nprn-cal-add[aria-expanded="true"] { background: var(--nprn-surface); color: var(--nprn-ink) !important; border-color: var(--nprn-line-strong); }
.nprn-cal-add[aria-expanded="true"] svg { transform: rotate(45deg); }
.nprn-cal-add svg { transition: transform 0.25s var(--nprn-ease); }

/* Filters card: shared by Events (.nprn-cal-filters) and Jobs (the same card, matched by structure) */
:is(.nprn-cal-filters, body.page-id-39850 .e-con-full.hide-content:has(> .elementor-widget-heading):has(.jet-checkboxes-list)) {
	gap: 16px;
	background: var(--nprn-surface);
	border: 1px solid var(--nprn-line);
	border-radius: var(--nprn-r-md);
}
:is(.nprn-cal-filters, body.page-id-39850 .e-con-full.hide-content:has(> .elementor-widget-heading):has(.jet-checkboxes-list)) .jet-checkboxes-list__row { margin: 0 !important; padding: 0 !important; }
:is(.nprn-cal-filters, body.page-id-39850 .e-con-full.hide-content:has(> .elementor-widget-heading):has(.jet-checkboxes-list)) .jet-checkboxes-list__item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 6px 8px;
	margin: 0 -8px;
	border-radius: 6px;
	cursor: pointer;
	transition: background-color 0.15s var(--nprn-ease);
}
:is(.nprn-cal-filters, body.page-id-39850 .e-con-full.hide-content:has(> .elementor-widget-heading):has(.jet-checkboxes-list)) .jet-checkboxes-list__item:hover { background: var(--nprn-bg); }
:is(.nprn-cal-filters, body.page-id-39850 .e-con-full.hide-content:has(> .elementor-widget-heading):has(.jet-checkboxes-list)) .jet-checkboxes-list__button { display: flex; align-items: center; gap: 5px; }
:is(.nprn-cal-filters, body.page-id-39850 .e-con-full.hide-content:has(> .elementor-widget-heading):has(.jet-checkboxes-list)) .jet-checkboxes-list__decorator {
	width: 18px !important;
	height: 18px !important;
	flex: 0 0 18px;
	margin: 0 !important;
	border: 1.5px solid var(--nprn-line-strong) !important;
	border-radius: 5px !important;
	background: var(--nprn-surface) !important;
	display: grid;
	place-items: center;
	transition: background-color 0.15s var(--nprn-ease), border-color 0.15s var(--nprn-ease);
}
:is(.nprn-cal-filters, body.page-id-39850 .e-con-full.hide-content:has(> .elementor-widget-heading):has(.jet-checkboxes-list)) .jet-checkboxes-list__input:checked + .jet-checkboxes-list__button .jet-checkboxes-list__decorator {
	background: var(--nprn-blue) !important;
	border-color: var(--nprn-blue) !important;
}
:is(.nprn-cal-filters, body.page-id-39850 .e-con-full.hide-content:has(> .elementor-widget-heading):has(.jet-checkboxes-list)) .jet-checkboxes-list__checked-icon { color: #fff !important; font-size: 11px !important; }
/* Jobs card: Elementor gave it a blue title bar, no padding and a wider column; match the Events card */
body.page-id-39850 .e-con-full.hide-content:has(> .elementor-widget-heading):has(.jet-checkboxes-list) {
	display: flex;
	flex-direction: column;
	padding: 24px 20px;
	overflow: visible;
}
body.page-id-39850 .e-con-full.hide-content:has(> .elementor-widget-heading):has(.jet-checkboxes-list) > .elementor-widget { overflow: visible; }
body.page-id-39850 .e-con-full.hide-content:has(> .elementor-widget-heading):has(.jet-checkboxes-list) > .elementor-widget:not(.elementor-widget-heading) > .elementor-widget-container { margin: 0 !important; padding: 0 !important; }
@media (min-width: 1025px) {
	body.page-id-39850 .e-con-full.hide-content:has(> .elementor-widget-heading):has(.jet-checkboxes-list) { flex: 0 0 260px !important; width: 260px !important; max-width: 260px; align-self: flex-start; }
}

.nprn-cal-reset .jet-remove-all-filters__button {
	width: 100%;
	height: 40px;
	border-radius: 999px !important;
	background: transparent !important;
	border: 1px solid var(--nprn-line-strong) !important;
	color: var(--nprn-muted) !important;
	font: 600 13px Montserrat, sans-serif !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	transition: color 0.2s var(--nprn-ease), border-color 0.2s var(--nprn-ease);
}
.nprn-cal-reset .jet-remove-all-filters__button:hover { color: var(--nprn-ink) !important; border-color: var(--nprn-ink) !important; }

/* Calendar card */
.nprn-cal .jet-listing-calendar {
	background: var(--nprn-surface);
	border: 1px solid var(--nprn-line);
	border-radius: var(--nprn-r-md);
	overflow: visible;
}
.nprn-cal table.jet-calendar-grid {
	margin: 0;
	border-collapse: separate;
	border-spacing: 0;
	table-layout: fixed;
	width: 100%;
	background: transparent;
}
.nprn-cal .jet-calendar-caption { padding: 20px 20px 16px; background: transparent !important; margin: 0 !important; }
.nprn-cal .jet-calendar-caption__wrap { display: flex; align-items: center; gap: 8px; }
.nprn-cal .jet-calendar-caption__name {
	order: -1;
	margin-right: auto;
	font: 700 22px/1.2 Montserrat, sans-serif;
	letter-spacing: -0.015em;
	color: var(--nprn-ink);
}
.nprn-cal .jet-calendar-nav__link {
	width: 38px !important;
	height: 38px !important;
	display: grid !important;
	place-items: center;
	border-radius: 50% !important;
	border: 1px solid var(--nprn-line-strong) !important;
	background: var(--nprn-surface) !important;
	color: var(--nprn-ink) !important;
	cursor: pointer;
	position: relative;
	isolation: isolate;
	transition: background-color 0.2s var(--nprn-ease), color 0.2s var(--nprn-ease);
}
.nprn-cal .jet-calendar-nav__link svg { width: 14px; height: 14px; fill: currentColor; }
.nprn-cal .jet-calendar-nav__link:hover { background: var(--nprn-blue) !important; color: #fff !important; border-color: var(--nprn-blue) !important; }

.nprn-cal .jet-calendar-header__week-day {
	background: transparent !important;
	color: var(--nprn-muted) !important;
	font: 600 11px Montserrat, sans-serif !important;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 10px 8px !important;
	text-align: left;
	border: 0 !important;
	border-top: 1px solid var(--nprn-line) !important;
}
.nprn-cal .jet-calendar-week__day {
	vertical-align: top;
	padding: 6px !important;
	height: 118px;
	background: var(--nprn-surface);
	border: 0 !important;
	border-top: 1px solid var(--nprn-line) !important;
	border-left: 1px solid var(--nprn-line) !important;
	opacity: 1 !important;
	transition: background-color 0.2s var(--nprn-ease);
}
.nprn-cal .jet-calendar-week__day:first-child { border-left: 0 !important; }
.nprn-cal .jet-calendar-week__day.day-pad { background: #fafbfb !important; }
.nprn-cal .jet-calendar-week__day.day-pad .jet-calendar-week__day-date { color: #b3bcc2 !important; }
.nprn-cal .jet-calendar-week__day.has-events:hover,
.nprn-cal td.jet-calendar-week__day.has-events.calendar-event-active { background: #f7fafb !important; }
.nprn-cal tr:last-child .jet-calendar-week__day:first-child { border-bottom-left-radius: var(--nprn-r-md); }
.nprn-cal tr:last-child .jet-calendar-week__day:last-child { border-bottom-right-radius: var(--nprn-r-md); }

.nprn-cal .jet-calendar-week__day-header { margin-bottom: 4px; }
.nprn-cal .jet-calendar-week__day-date {
	display: inline-grid !important;
	place-items: center;
	min-width: 26px;
	height: 26px !important;
	width: auto !important;
	padding: 0 6px !important;
	border-radius: 999px !important;
	background: transparent !important;
	font: 600 13px Montserrat, sans-serif !important;
	color: var(--nprn-text) !important;
}
.nprn-cal .jet-calendar-week__day.current-day { box-shadow: none !important; }
.nprn-cal .jet-calendar-week__day.current-day .jet-calendar-week__day-date {
	background: var(--nprn-green) !important;
	color: var(--nprn-ink) !important;
}

/* Events inside a day */
@media (min-width: 768px) { .nprn-cal .jet-calendar-week__day-content { display: block; } }
.nprn-cal .jet-calendar-week__day-event { margin: 0 !important; }
.nprn-cal .elementor-41014 > .e-con { position: relative; }
.nprn-cal .nprn-cal-event { width: 100%; }
.nprn-cal .nprn-cal-event .elementor-heading-title {
	font-family: "Ubuntu Condensed", "Roboto Condensed", "Arial Narrow", sans-serif !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	line-height: 1.25 !important;
	letter-spacing: 0;
	margin: 0;
	padding: 5px 0 !important;
	border: 0 !important;
	border-bottom: 1px dashed #d1d1d1 !important;
	border-radius: 0;
	background: none;
	color: #1f4973 !important;
	white-space: normal;
	overflow: visible;
	word-break: normal;
	overflow-wrap: break-word;
	transition: color 0.15s var(--nprn-ease);
}
.nprn-cal .jet-calendar-week__day-event:last-child .nprn-cal-event .elementor-heading-title { border-bottom: 0 !important; }
.nprn-cal .nprn-cal-event .elementor-heading-title a { color: inherit !important; }
.nprn-cal .nprn-cal-event:hover .elementor-heading-title { color: var(--nprn-green-ink) !important; }
.nprn-cal .featured-event .nprn-cal-event .elementor-heading-title,
.nprn-cal .post-type-featured-event .nprn-cal-event .elementor-heading-title {
	border-left: 0 !important;
	padding-left: 0 !important;
	background: none;
	font-weight: 700 !important;
}

/* Event preview card */
.nprn-cal .nprn-tip {
	position: absolute !important;
	top: 0;
	right: calc(100% + 10px);
	left: auto !important;
	width: 300px !important;
	z-index: 9999;
	padding: 0 !important;
	gap: 0 !important;
	background: var(--nprn-surface);
	border: 1px solid var(--nprn-line);
	border-radius: var(--nprn-r-md);
	box-shadow: 0 24px 48px -18px rgba(27, 43, 54, 0.35);
	overflow: hidden;
	visibility: hidden;
	opacity: 0;
	transform: translateY(4px) scale(0.98);
	transform-origin: top right;
	transition: opacity 0.18s var(--nprn-ease), transform 0.22s var(--nprn-ease), visibility 0s linear 0.22s;
	pointer-events: none;
}
/* Early-week days open the card to the right so it stays on screen */
.nprn-cal .jet-calendar-week__day:nth-child(-n+3) .nprn-tip {
	right: auto;
	left: calc(100% + 10px) !important;
	transform-origin: top left;
}
.nprn-cal .nprn-tip.is-open {
	visibility: visible !important;
	opacity: 1;
	transform: none;
	transition: opacity 0.18s var(--nprn-ease), transform 0.22s var(--nprn-ease), visibility 0s;
}
.nprn-cal .nprn-tip > .elementor-widget { padding: 0 18px; }
.nprn-cal .nprn-tip__media {
	min-height: 140px;
	padding: 12px !important;
	margin: 0 0 14px !important;
	background-color: var(--nprn-bg);
}
.nprn-cal .nprn-tip__media .elementor-spacer { display: none; }
.nprn-cal .nprn-tip__badge { width: auto !important; }
.nprn-cal .nprn-tip__badge .elementor-heading-title {
	display: inline-block;
	padding: 4px 10px;
	border-radius: 999px;
	background: var(--nprn-green);
	color: var(--nprn-ink) !important;
	font: 700 10px Montserrat, sans-serif !important;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}
.nprn-cal .nprn-tip__title .elementor-heading-title {
	font: 700 18px/1.25 "Ubuntu Condensed", "Roboto Condensed", "Arial Narrow", sans-serif !important;
	color: var(--nprn-ink) !important;
	margin: 0 0 6px;
}
.nprn-cal .nprn-tip__title .elementor-heading-title a { color: inherit !important; }
.nprn-cal .nprn-tip__org .jet-listing-dynamic-field__content { font: 600 13px Montserrat, sans-serif; color: var(--nprn-blue); }
.nprn-cal .nprn-tip__time .elementor-heading-title { font: 700 17px/1.3 "Ubuntu Condensed", "Roboto Condensed", "Arial Narrow", sans-serif !important; color: #4e4e4e !important; margin: 4px 0 8px; }
.nprn-cal .nprn-tip__excerpt { padding-bottom: 18px !important; }
.nprn-cal .nprn-tip__excerpt .jet-listing-dynamic-field__content { font: 400 13px/1.55 Montserrat, sans-serif; color: var(--nprn-text); }

/* Add-event form panel */
.nprn-cal-form .gform_wrapper {
	background: var(--nprn-surface);
	border: 1px solid var(--nprn-line);
	border-radius: var(--nprn-r-md);
	padding: 28px;
	margin: 0 !important;
}

/* Mobile: dots instead of titles */
.nprn-cal .jet-calendar-week__day-mobile-trigger { margin: 6px auto 0 !important; }
.nprn-cal-legend { display: flex; align-items: center; gap: 8px; margin: 0; font: 500 14px Montserrat, sans-serif; color: var(--nprn-muted); }
.nprn-cal-legend .nprn-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--nprn-blue); flex: 0 0 8px; }
@media (max-width: 1024px) {
	.nprn-cal .jet-calendar-week__day { height: 64px; }
	.nprn-cal .jet-calendar-week__day-date { font-size: 12px !important; }
	.nprn-cal-filters { width: 100% !important; }
}
@media (max-width: 767px) {
	.nprn-cal-toolbar .nprn-cal-search { flex-basis: 100%; }
	.nprn-cal .jet-calendar-caption__name { font-size: 18px; }
	.nprn-cal .jet-calendar-header__week-day { text-align: center; letter-spacing: 0.04em; padding: 8px 2px !important; }
	.nprn-cal .jet-calendar-week__day { padding: 4px 2px !important; text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
	.nprn-cal .nprn-tip { transition: none; transform: none; }
}

/* glow family: calendar controls + filters/calendar cards */
.nprn-cal-btn .elementor-button::after,
.nprn-cal .jet-calendar-nav__link::after {
	content: "";
	position: absolute;
	inset: -1px;
	border-radius: inherit;
	pointer-events: none;
	z-index: 1;
	border: 1.5px solid var(--nprn-green);
	box-shadow: 0 0 0 3px rgba(152, 203, 60, 0.18), 0 0 22px 2px rgba(152, 203, 60, 0.38);
	opacity: 0;
	transition: opacity 0.35s var(--nprn-ease);
}
.nprn-cal-btn .elementor-button:hover::after,
.nprn-cal .jet-calendar-nav__link:hover::after { opacity: 1; animation: nprn-glow 2.4s ease-in-out 0.35s infinite alternate; }

/* calendar layout fixes */
@media (min-width: 1025px) {
	.nprn-cal-filters { flex: 0 0 260px !important; max-width: 260px; }
}
.nprn-cal-main { flex: 1 1 0 !important; min-width: 0; }
.nprn-cal-toolbar .nprn-cal-search { flex: 1 1 280px !important; }
.nprn-cal .jet-calendar-week__day-header { display: flex; justify-content: flex-start !important; }
.nprn-cal .elementor-41014 > .e-con,
.nprn-cal .elementor-41014 > .e-con > .e-con:first-child { width: 100% !important; max-width: 100%; }
.nprn-cal .nprn-cal-event { width: 100% !important; max-width: 100% !important; }
.nprn-cal .nprn-cal-event .elementor-heading-title { width: 100%; }
.nprn-cal .jet-calendar-week__day-content { padding: 0 !important; }
@media (max-width: 1024px) {
	html, body { overflow-x: clip !important; overflow-y: visible !important; }
}

/* Mobile: filters collapse behind their title */
@media (max-width: 767px) {
	.nprn-cal-filters { padding: 0 !important; gap: 0 !important; }
	.nprn-cal-filters .nprn-cal-filters__title { padding: 0; }
	.nprn-cal-filters .nprn-cal-filters__title .elementor-heading-title {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 16px 20px;
		cursor: pointer;
		font-size: 16px;
	}
	.nprn-cal-filters .nprn-cal-filters__title .elementor-heading-title::after {
		content: "";
		width: 8px;
		height: 8px;
		border-right: 2px solid currentColor;
		border-bottom: 2px solid currentColor;
		transform: rotate(45deg) translateY(-2px);
		transition: transform 0.25s var(--nprn-ease);
	}
	.nprn-cal-filters.is-open .nprn-cal-filters__title .elementor-heading-title::after { transform: rotate(225deg) translateY(-2px); }
	.nprn-cal-filters:not(.is-open) > .elementor-element:not(.nprn-cal-filters__title) { display: none !important; }
	.nprn-cal-filters.is-open { padding-bottom: 20px !important; gap: 16px !important; }
	.nprn-cal-filters.is-open > .elementor-element:not(.nprn-cal-filters__title) { padding: 0 20px; }
}

/* --------------------------------------------------------------------------
   Event list (List view) — shares the calendar page shell
   -------------------------------------------------------------------------- */
body.page-id-41714,
body.page-id-41714 #page { background: var(--nprn-bg) !important; }
.nprn-cal-main { flex: 1 1 0; min-width: 0; }

.nprn-evlist .jet-listing-grid__items { display: grid !important; gap: 16px; margin: 0 !important; }
.nprn-evlist .jet-listing-grid__item { padding: 0 !important; margin: 0 !important; width: 100% !important; max-width: none !important; }
.nprn-evlist .jet-listing-grid__item > .elementor {
	position: relative;
	isolation: isolate;
	background: var(--nprn-surface);
	border: 1px solid var(--nprn-line);
	border-radius: var(--nprn-r-md);
	padding: 20px;
	box-shadow: none;
}
.nprn-evlist .jet-listing-grid__item > .elementor::after {
	content: "";
	position: absolute;
	inset: -1px;
	border-radius: inherit;
	pointer-events: none;
	z-index: 1;
	border: 1px solid var(--nprn-green);
	box-shadow: 0 0 0 3px rgba(152, 203, 60, 0.12), 0 0 28px 0 rgba(152, 203, 60, 0.28);
	opacity: 0;
	transition: opacity 0.35s var(--nprn-ease);
}
.nprn-evlist .jet-listing-grid__item > .elementor:hover::after { opacity: 1; animation: nprn-glow 2.4s ease-in-out 0.35s infinite alternate; }
.nprn-evlist .jet-listing-grid__item > .elementor > .e-con { background: transparent !important; margin: 0 !important; box-shadow: none !important; }

/* icon row (share / bookmark / edit / delete) */
.nprn-evlist #activity-icons {
	position: absolute !important;
	top: 14px;
	right: 14px;
	width: auto !important;
	padding: 0 !important;
	z-index: 2;
	gap: 6px;
	flex-wrap: nowrap;
}
.nprn-evlist #activity-icons > .elementor-widget { width: auto !important; }

.nprn-evlist .nprn-ev { gap: 24px !important; flex-wrap: nowrap; align-items: flex-start; }
.nprn-evlist .nprn-ev__media { flex: 0 0 220px !important; width: 220px !important; padding: 0 !important; }
.nprn-evlist .nprn-ev__img { width: 100% !important; }
.nprn-evlist .nprn-ev__img img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 10px;
	background: var(--nprn-bg);
	display: block;
}
.nprn-evlist .nprn-ev__body { flex: 1 1 0 !important; min-width: 0; padding: 0 64px 0 0 !important; align-items: center; }
.nprn-evlist .nprn-ev__body > .e-con { gap: 4px !important; padding: 0 !important; }

.nprn-evlist .nprn-ev__title .elementor-heading-title {
	font-family: "Ubuntu Condensed", "Roboto Condensed", "Arial Narrow", sans-serif !important;
	font-size: 24px !important;
	font-weight: 700 !important;
	line-height: 1.15 !important;
	letter-spacing: 0;
	color: var(--nprn-ink) !important;
	margin: 0 0 4px;
}
.nprn-evlist .nprn-ev__title a { color: inherit !important; transition: color 0.15s var(--nprn-ease); }
.nprn-evlist .nprn-ev__title a:hover { color: var(--nprn-blue) !important; }

.nprn-evlist .nprn-ev__org .jet-listing-dynamic-field__content,
.nprn-evlist .nprn-ev__meta .jet-listing-dynamic-meta__item,
.nprn-evlist .nprn-ev__meta a {
	font: 500 13px/1.4 Montserrat, sans-serif !important;
	color: var(--nprn-muted) !important;
}
.nprn-evlist .nprn-ev__org strong { color: var(--nprn-text); font-weight: 600; }
.nprn-evlist .nprn-ev__meta a { color: var(--nprn-blue) !important; }
.nprn-evlist .nprn-ev__org .jet-listing-dynamic-field__icon,
.nprn-evlist .nprn-ev__meta .jet-listing-dynamic-meta__icon { color: var(--nprn-muted) !important; font-size: 12px !important; width: 16px; }

/* date + time: bold condensed, like the calendar preview card */
.nprn-evlist .nprn-ev__date,
.nprn-evlist .nprn-ev__time { margin-top: 8px; }
.nprn-evlist .nprn-ev__date .jet-listing-dynamic-field__content,
.nprn-evlist .nprn-ev__time .jet-listing-dynamic-field__content {
	font: 700 17px/1.3 "Ubuntu Condensed", "Roboto Condensed", "Arial Narrow", sans-serif !important;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--nprn-blue) !important;
}
.nprn-evlist .nprn-ev__time .jet-listing-dynamic-field__content { color: #4e4e4e !important; text-transform: none; }
.nprn-evlist .nprn-ev__date { padding-right: 12px; border-right: 1px solid var(--nprn-line-strong); }
.nprn-evlist .nprn-ev__date .jet-listing-dynamic-field__icon { color: var(--nprn-green-ink) !important; font-size: 14px !important; }
.nprn-evlist .nprn-ev__excerpt { margin-top: 6px; }
.nprn-evlist .nprn-ev__excerpt .jet-listing-dynamic-field__content { font: 400 14.5px/1.6 Montserrat, sans-serif !important; color: var(--nprn-text) !important; }

/* Card grid (Events list + Jobs): image/logo on top, text below, equal-height cards */
.nprn-evlist .jet-listing-grid__items { grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)) !important; align-items: stretch; }
.nprn-evlist .jet-listing-grid__item > .elementor { height: 100%; padding: 16px; display: flex; flex-direction: column; }
.nprn-evlist .jet-listing-grid__item > .elementor > .e-con { flex: 1 1 auto; width: 100%; max-width: none; }
.nprn-evlist .nprn-ev { flex-direction: column !important; flex-wrap: nowrap !important; align-items: stretch !important; gap: 14px !important; height: 100%; padding: 0 !important; }
.nprn-evlist .nprn-ev__media { flex: 0 0 auto !important; width: 100% !important; }
.nprn-evlist .nprn-ev__img img { aspect-ratio: 16 / 10; }
.nprn-evlist .nprn-ev__body { flex: 1 1 auto !important; width: 100%; padding: 0 !important; flex-wrap: wrap; align-content: flex-start; align-items: flex-start; }
.nprn-evlist .nprn-ev__body > .e-con { width: 100% !important; }
.nprn-evlist .nprn-ev__title .elementor-heading-title { font-size: 22px !important; }
.nprn-evlist .nprn-ev__date .jet-listing-dynamic-field__content,
.nprn-evlist .nprn-ev__time .jet-listing-dynamic-field__content { font-size: 16px !important; }
.nprn-evlist .nprn-ev__excerpt { width: 100%; }
.nprn-evlist .nprn-ev__excerpt .jet-listing-dynamic-field__content { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; font-size: 14px !important; }
/* share / bookmark / edit icons float over the image as a small white pill */
.nprn-evlist .jet-listing-grid__item > .elementor > #activity-icons { top: 26px; right: 26px; padding: 4px 10px !important; border-radius: 999px; background: rgba(255, 255, 255, 0.94) !important; box-shadow: 0 2px 10px -2px rgba(27, 43, 54, 0.3) !important; flex: 0 0 auto; }

@media (max-width: 767px) {
	.nprn-evlist .nprn-ev { flex-wrap: wrap; gap: 16px !important; }
	.nprn-evlist .nprn-ev__media { flex: 0 0 auto !important; width: 100% !important; }
	.nprn-evlist .nprn-ev__img img { aspect-ratio: 16 / 9; }
	.nprn-evlist .nprn-ev__body { padding: 0 !important; }
	.nprn-evlist .nprn-ev__title .elementor-heading-title { font-size: 21px !important; }
	.nprn-evlist .jet-listing-grid__item > .elementor { padding: 16px; }
}

/* ==========================================================================
   Inner pages — join, login, about, contact, members, jobs, news, webinars
   Scoped by body.nprn-inner (added in nprn-refresh.php). Same tokens, radii,
   pill buttons and green glow as Home.
   ========================================================================== */
body.nprn-inner,
body.nprn-inner #page { background: var(--nprn-bg) !important; }
body.nprn-inner { color: var(--nprn-text); }

/* ---- Page titles (theme pages: join, login, contact, members) ---- */
body.nprn-inner h1.entry-title {
	font: 700 clamp(2rem, 4vw, 3rem)/1.05 Montserrat, sans-serif;
	letter-spacing: -0.025em;
	text-transform: none;
	color: var(--nprn-ink);
	text-align: center;
	margin: 0 0 8px;
}
body.nprn-inner .page__header { padding: 48px 0 8px; }
body.nprn-inner .container-card-content,
body.nprn-inner article.page { background: transparent !important; box-shadow: none !important; border: 0 !important; }
body.nprn-inner .entry-content { padding-bottom: 56px; }
body.nprn-inner .entry-content > p:first-child { text-align: center; color: var(--nprn-muted); }

/* ---- Hero headings (Elementor heroes on about / jobs / news / webinars) ---- */
body.nprn-inner .elementor-widget-heading h1.elementor-heading-title {
	font-family: Montserrat, sans-serif;
	font-size: clamp(2rem, 4vw, 3.25rem);
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: -0.025em;
	text-wrap: balance;
}
/* white-on-photo heroes get a soft scrim + shadow; Members has a plain ink title */
body.nprn-inner:not(.page-id-13) .elementor-widget-heading h1.elementor-heading-title { text-shadow: 0 1px 14px rgba(12, 24, 32, 0.5); }
body.page-id-13 .elementor-widget-heading h1.elementor-heading-title { color: var(--nprn-ink); text-align: center; }
body.nprn-inner .e-con:has(> .e-con > .elementor-widget-heading h1.elementor-heading-title) { isolation: isolate; }
body.nprn-inner .e-con:has(> .e-con > .elementor-widget-heading h1.elementor-heading-title)::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background: linear-gradient(180deg, rgba(12, 24, 32, 0.18), rgba(12, 24, 32, 0.42));
}
body.nprn-inner .e-con:has(> .e-con > .elementor-widget-heading h1.elementor-heading-title) > .e-con { position: relative; z-index: 1; }

/* ---- Section headings in content ---- */
body.nprn-inner .elementor-widget-heading h2.elementor-heading-title,
body.nprn-inner .elementor-widget-heading h3.elementor-heading-title {
	font-family: Montserrat, sans-serif;
	font-weight: 700;
	letter-spacing: -0.015em;
	color: var(--nprn-ink);
}
body.nprn-inner .site-content .elementor-widget-text-editor,
body.nprn-inner .site-content .elementor-widget-text-editor p { color: var(--nprn-text); line-height: 1.65; }
body.nprn-inner .site-content .elementor-widget-text-editor a { color: var(--nprn-blue); text-underline-offset: 3px; }
body.nprn-inner .site-content .elementor-widget-text-editor a:hover { color: var(--nprn-blue-deep); }

/* ---- Buttons: pill, green action ---- */
body.nprn-inner #content .elementor-button,
body.nprn-inner .site-content .elementor-button,
body.nprn-inner .entry-content .elementor-button,
body.nprn-inner .gform_wrapper .gform_button,
body.nprn-inner .gform_wrapper input[type="submit"],
body.nprn-inner .um .um-button,
body.nprn-inner .um a.um-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 46px;
	padding: 0 26px !important;
	border-radius: 999px !important;
	border: 1.5px solid transparent !important;
	background: var(--nprn-green) !important;
	color: var(--nprn-ink) !important;
	font: 600 14px/1 Montserrat, sans-serif !important;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	text-decoration: none !important;
	box-shadow: none !important;
	transition: background-color 0.2s var(--nprn-ease);
	will-change: transform;
}
body.nprn-inner #content .elementor-button:hover,
body.nprn-inner .site-content .elementor-button:hover,
body.nprn-inner .entry-content .elementor-button:hover,
body.nprn-inner .gform_wrapper .gform_button:hover,
body.nprn-inner .um .um-button:hover { background: #a9d956 !important; color: var(--nprn-ink) !important; }
body.nprn-inner .um .um-button.um-alt,
body.nprn-inner .um a.um-button.um-alt { background: transparent !important; border-color: var(--nprn-line-strong) !important; color: var(--nprn-blue) !important; }
body.nprn-inner .elementor-button .elementor-button-text,
body.nprn-inner .elementor-button .elementor-button-content-wrapper { font: inherit; color: inherit; }

/* ---- Form fields (Gravity Forms, Ultimate Member, JetSmartFilters search) ---- */
body.nprn-inner .gform_wrapper input[type="text"],
body.nprn-inner .gform_wrapper input[type="email"],
body.nprn-inner .gform_wrapper input[type="tel"],
body.nprn-inner .gform_wrapper input[type="url"],
body.nprn-inner .gform_wrapper input[type="password"],
body.nprn-inner .gform_wrapper input[type="number"],
body.nprn-inner .gform_wrapper select,
body.nprn-inner .gform_wrapper textarea,
body.nprn-inner .um input[type="text"],
body.nprn-inner .um input[type="email"],
body.nprn-inner .um input[type="password"],
body.nprn-inner .um input[type="search"],
body.nprn-inner .um textarea,
body.nprn-inner .um .um-form-field,
body.nprn-inner .jet-search-filter__input {
	min-height: 46px;
	padding: 10px 14px !important;
	background: var(--nprn-surface) !important;
	border: 1px solid var(--nprn-line-strong) !important;
	border-radius: var(--nprn-r-sm) !important;
	box-shadow: none !important;
	color: var(--nprn-ink) !important;
	font: 500 15px/1.4 Montserrat, sans-serif !important;
	transition: border-color 0.2s var(--nprn-ease), box-shadow 0.2s var(--nprn-ease);
}
body.nprn-inner .gform_wrapper textarea,
body.nprn-inner .um textarea { min-height: 150px; }
body.nprn-inner .gform_wrapper input:focus,
body.nprn-inner .gform_wrapper select:focus,
body.nprn-inner .gform_wrapper textarea:focus,
body.nprn-inner .um input:focus,
body.nprn-inner .um textarea:focus,
body.nprn-inner .jet-search-filter__input:focus {
	outline: none;
	border-color: var(--nprn-green-ink) !important;
	box-shadow: 0 0 0 3px rgba(152, 203, 60, 0.28) !important;
}
body.nprn-inner .gform_wrapper .gfield_label,
body.nprn-inner .um .um-field-label label {
	font: 600 12px/1.3 Montserrat, sans-serif;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--nprn-ink);
}
body.nprn-inner .gform_wrapper .gfield_required { color: var(--nprn-green-ink); }
body.nprn-inner .gform_wrapper .gchoice label,
body.nprn-inner .gform_wrapper .gform-field-label--type-sub,
body.nprn-inner .gform_wrapper .ginput_complex label {
	font: 500 14px/1.4 Montserrat, sans-serif;
	letter-spacing: 0;
	text-transform: none;
	color: var(--nprn-text);
}
body.nprn-inner .gform_wrapper .gchoice { display: flex; align-items: center; gap: 10px; }
body.nprn-inner .gform_wrapper input[type="radio"],
body.nprn-inner .gform_wrapper input[type="checkbox"],
body.nprn-inner .jet-checkboxes-list__input { accent-color: var(--nprn-green-ink); }
body.nprn-inner .gform_wrapper .gform_fields { row-gap: 20px; }

/* Contact / login form sits on a card */
body.page-id-41265 .gform_wrapper,
body.page-id-11 .um {
	max-width: 760px;
	margin: 12px auto 0;
	padding: 32px;
	background: var(--nprn-surface);
	border: 1px solid var(--nprn-line);
	border-radius: var(--nprn-r-md);
}
body.page-id-11 .um { max-width: 480px; }
body.page-id-41265 .entry-content p { color: var(--nprn-text); }

/* ---- Join: the four registration paths become cards ---- */
body.page-id-12 .elementor-top-column > .elementor-widget-wrap:has(.elementor-widget-button) {
	position: relative;
	height: 100%;
	padding: 28px !important;
	background: var(--nprn-surface);
	border: 1px solid var(--nprn-line);
	border-radius: var(--nprn-r-md);
	transition: box-shadow 0.35s var(--nprn-ease), border-color 0.35s var(--nprn-ease);
}
body.page-id-12 .elementor-top-column > .elementor-widget-wrap:has(.elementor-widget-button):hover {
	border-color: rgba(152, 203, 60, 0.7);
	box-shadow: 0 0 0 3px rgba(152, 203, 60, 0.12), 0 0 28px 0 rgba(152, 203, 60, 0.28);
}
body.page-id-12 .elementor-top-column .elementor-heading-title { font-size: 22px; margin-bottom: 8px; }
body.page-id-12 .elementor-top-section > .elementor-container { gap: 24px; }

/* ---- Cards: job rows, news tiles, member tiles ---- */
body.page-id-39850 .jet-listing-grid__item > .elementor,
body.page-id-13 .um-member {
	position: relative;
	isolation: isolate;
	background: var(--nprn-surface);
	border: 1px solid var(--nprn-line) !important;
	border-radius: var(--nprn-r-md) !important;
	box-shadow: none !important;
}
/* news tiles: the inner card carries its own look, so the outer wrapper stays transparent with no border */
body.page-id-40852 .jet-listing-grid__item > .elementor {
	position: relative;
	isolation: isolate;
	background: transparent !important;
	border: 0 !important;
	border-radius: var(--nprn-r-md) !important;
	box-shadow: none !important;
	overflow: hidden;
}
body.page-id-39850 .jet-listing-grid__item > .elementor::after,
body.page-id-40852 .jet-listing-grid__item > .elementor::after,
body.page-id-13 .um-member::after {
	content: "";
	position: absolute;
	inset: -1px;
	border-radius: inherit;
	pointer-events: none;
	z-index: 1;
	border: 1px solid var(--nprn-green);
	box-shadow: 0 0 0 3px rgba(152, 203, 60, 0.12), 0 0 28px 0 rgba(152, 203, 60, 0.28);
	opacity: 0;
	transition: opacity 0.35s var(--nprn-ease);
}
body.page-id-39850 .jet-listing-grid__item > .elementor:hover::after,
body.page-id-40852 .jet-listing-grid__item > .elementor:hover::after,
body.page-id-13 .um-member:hover::after { opacity: 1; animation: nprn-glow 2.4s ease-in-out 0.35s infinite alternate; }
body.page-id-39850 .jet-listing-grid__item > .elementor > .e-con { background: transparent !important; box-shadow: none !important; }
body.page-id-39850 .jet-listing-grid__item .elementor-heading-title a,
body.page-id-39850 .jet-listing-grid__item .jet-listing-dynamic-field__content a,
body.page-id-40852 .jet-listing-grid__item .elementor-heading-title a { color: var(--nprn-ink) !important; transition: color 0.15s var(--nprn-ease); }
body.page-id-39850 .jet-listing-grid__item a:hover,
body.page-id-40852 .jet-listing-grid__item a:hover { color: var(--nprn-blue) !important; }

/* ---- Jobs: card grid ----
   Column count and gutters come from the Listing Grid widget's own settings (Columns 3 / 2 / 1,
   Horizontal + Vertical gap), so only the card itself is styled here. */
body.page-id-39850 .jet-listing-grid__item > .elementor { height: 100%; padding: 20px; display: flex; flex-direction: column; overflow: hidden; }
body.page-id-39850 .jet-listing-grid__item > .elementor > .nprn-job { flex: 1 1 auto; width: 100%; padding: 0; background: none !important; }
body.page-id-39850 .nprn-job > .e-con-inner { gap: 14px; }
/* bookmark / edit icons: small cluster in the card corner */
body.page-id-39850 .nprn-job__actions { position: absolute; top: 14px; right: 14px; z-index: 2; width: auto !important; padding: 0 !important; gap: 6px; flex-wrap: nowrap; }
body.page-id-39850 .nprn-job__actions .elementor-widget { width: auto !important; margin: 0 !important; }
/* company logo: big, left-aligned, never cropped */
body.page-id-39850 .nprn-job__logo { padding: 0 !important; }
body.page-id-39850 .nprn-job__logo .elementor-widget-image { text-align: left !important; width: 100%; }
body.page-id-39850 .nprn-job__body { padding: 0 !important; gap: 6px; }
body.page-id-39850 .nprn-job .elementor-widget > .elementor-widget-container { border: 0 !important; padding: 0 !important; margin: 0 !important; }
body.page-id-39850 .nprn-job__body .elementor-widget-heading .elementor-heading-title { font-size: 17px !important; line-height: 1.3 !important; padding-right: 28px; }
body.page-id-39850 .jet-listing-grid__items { margin-bottom: 20px; }

@media (max-width: 1024px) {
	body.page-id-39850 .e-con:has(> .elementor-widget-jet-listing-grid) { margin: 0 !important; }
}
/* ---- Jobs: filter card ---- */
body.page-id-39850 .hide-content { border-radius: var(--nprn-r-md); overflow: hidden; }
/* the listing grid uses negative margins for its native gutters, so it must not clip */
body.page-id-39850 .elementor-widget-jet-listing-grid.hide-content { overflow: visible; border-radius: 0; }

/* ---- Members directory ---- */
body.page-id-13 .um-member-directory-header,
body.page-id-13 .um-member-directory-search-row {
	background: transparent;
	border: 0;
}
body.page-id-13 .um-member { padding: 20px; transition: transform 0.25s var(--nprn-ease); }
body.page-id-13 .um-member-name a { color: var(--nprn-ink) !important; font-weight: 700; }
body.page-id-13 .um-members-pagination-box a,
body.page-id-13 .um-members-pagination-box span {
	border-radius: var(--nprn-r-sm);
}

/* ---- Webinars: video + tabs ---- */
body.page-id-40986 .jet-video,
body.page-id-40986 .jet-video-iframe { border-radius: var(--nprn-r-md); overflow: hidden; }
body.page-id-40986 .jet-video { box-shadow: 0 14px 34px -18px rgba(27, 43, 54, 0.45); }

@media (prefers-reduced-motion: reduce) {
	body.page-id-39850 .jet-listing-grid__item > .elementor::after,
	body.page-id-40852 .jet-listing-grid__item > .elementor::after,
	body.page-id-13 .um-member::after,
	body.page-id-12 .elementor-top-column > .elementor-widget-wrap { animation: none !important; transition: none; }
}
@media (max-width: 767px) {
	body.nprn-inner .page__header { padding-top: 28px; }
	body.page-id-41265 .gform_wrapper,
	body.page-id-11 .um { padding: 20px; }
	body.page-id-12 .elementor-top-column > .elementor-widget-wrap { padding: 20px !important; }
}

/* ==========================================================================
   Round 2 fixes
   ========================================================================== */

/* Calendar: next arrow must point right (prev points left) in every state */
.nprn-cal .jet-calendar-nav__link svg,
.nprn-cal .jet-calendar-nav__link:hover svg { transform: none !important; }
.nprn-cal .jet-calendar-nav__link.nav-link-next svg,
.nprn-cal .jet-calendar-nav__link.nav-link-next:hover svg { transform: scaleX(-1) !important; }

/* Members: avatar sits above the card's hover border/glow */
body.page-id-13 .um-member-photo { position: relative; z-index: 3; }
body.page-id-13 .um-member-card { position: relative; z-index: 2; }

/* Jobs + News toolbar: same pill search and green "+ Add" button as the calendar */
body.page-id-39850 .e-con:has(> .e-con-inner > .toggle-switch) > .e-con-inner,
body.page-id-40852 .e-con:has(> .e-con-inner > .toggle-switch) > .e-con-inner {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: center;
	gap: 12px;
	max-width: 1180px;
	width: 100%;
	margin: 0 auto;
	padding: 24px 20px 8px;
}
body.page-id-39850 .jet-smart-filters-search,
body.page-id-40852 .jet-smart-filters-search { width: 100%; }
body.page-id-39850 .elementor-widget:has(> .elementor-widget-container > .jet-smart-filters-search),
body.page-id-40852 .elementor-widget:has(> .elementor-widget-container > .jet-smart-filters-search) { flex: 1 1 auto !important; width: auto !important; min-width: 220px; }

body.page-id-39850 .jet-search-filter,
body.page-id-40852 .jet-search-filter { display: flex; gap: 8px; }
body.page-id-39850 .jet-search-filter__input-wrapper,
body.page-id-40852 .jet-search-filter__input-wrapper { flex: 1; position: relative; }
body.page-id-39850 .jet-smart-filters-search .jet-search-filter__input,
body.page-id-40852 .jet-smart-filters-search .jet-search-filter__input {
	width: 100%;
	height: 46px;
	padding: 0 16px 0 44px !important;
	border: 1px solid var(--nprn-line-strong) !important;
	border-radius: 999px !important;
	background: var(--nprn-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%236b7882' stroke-width='2' stroke-linecap='round' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 16px center !important;
	box-shadow: none !important;
	color: var(--nprn-ink) !important;
	font: 500 15px Montserrat, sans-serif !important;
}
body.page-id-39850 .jet-smart-filters-search .jet-search-filter__input:focus,
body.page-id-40852 .jet-smart-filters-search .jet-search-filter__input:focus {
	outline: none;
	border-color: var(--nprn-blue) !important;
	box-shadow: 0 0 0 4px rgba(59, 97, 121, 0.12) !important;
}
body.page-id-39850 .jet-search-filter__submit,
body.page-id-40852 .jet-search-filter__submit { display: none; }

/* The old switch becomes a "+ Add job / Add news" pill. The checkbox stays (the page's
   script listens to it) but is stretched invisibly over the whole button. */
body.page-id-39850 .toggle-switch,
body.page-id-40852 .toggle-switch { flex: 0 0 auto !important; width: auto !important; margin: 0 !important; }
body.page-id-39850 .toggle-switch > .elementor-widget-container,
body.page-id-40852 .toggle-switch > .elementor-widget-container {
	position: relative;
	isolation: isolate;
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	height: 46px !important;
	padding: 0 22px !important;
	border-radius: 999px !important;
	background: var(--nprn-green) !important;
	border: 1.5px solid transparent !important;
	color: var(--nprn-ink);
	will-change: transform;
	transition: background-color 0.2s var(--nprn-ease), border-color 0.2s var(--nprn-ease);
}
body.page-id-39850 .toggle-switch > .elementor-widget-container:hover,
body.page-id-40852 .toggle-switch > .elementor-widget-container:hover { background: #a9d956; }
body.page-id-39850 .toggle-switch .add-text,
body.page-id-40852 .toggle-switch .add-text {
	display: block !important;
	font: 600 15px/1 Montserrat, sans-serif !important;
	letter-spacing: 0.01em;
	text-transform: lowercase !important;
	color: var(--nprn-ink) !important;
	margin: 0 !important;
	padding: 0 !important;
}
body.page-id-39850 .toggle-switch .add-text::first-letter,
body.page-id-40852 .toggle-switch .add-text::first-letter { text-transform: uppercase; }
body.page-id-39850 .toggle-switch > .elementor-widget-container::before,
body.page-id-40852 .toggle-switch > .elementor-widget-container::before {
	content: "";
	width: 16px;
	height: 16px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231b2b36' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform 0.25s var(--nprn-ease);
}
body.page-id-39850 .toggle-switch .switch,
body.page-id-40852 .toggle-switch .switch {
	position: absolute !important;
	inset: 0;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	border-radius: inherit;
	cursor: pointer;
	z-index: 2;
}
body.page-id-39850 .toggle-switch .switch input,
body.page-id-40852 .toggle-switch .switch input {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	opacity: 0;
	cursor: pointer;
}
body.page-id-39850 .toggle-switch .slider,
body.page-id-40852 .toggle-switch .slider { display: none !important; }
/* open state, like the calendar's aria-expanded: quiet pill, plus turns to ×  */
body.page-id-39850 .toggle-switch > .elementor-widget-container:has(input:checked),
body.page-id-40852 .toggle-switch > .elementor-widget-container:has(input:checked) { background: var(--nprn-surface); border-color: var(--nprn-line-strong); }
body.page-id-39850 .toggle-switch > .elementor-widget-container:has(input:checked)::before,
body.page-id-40852 .toggle-switch > .elementor-widget-container:has(input:checked)::before { transform: rotate(45deg); }
body.page-id-39850 .toggle-switch > .elementor-widget-container:has(input:focus-visible),
body.page-id-40852 .toggle-switch > .elementor-widget-container:has(input:focus-visible) { outline: 2px solid var(--nprn-green); outline-offset: 3px; }
/* green glow on hover, same as .nprn-btn */
body.page-id-39850 .toggle-switch > .elementor-widget-container::after,
body.page-id-40852 .toggle-switch > .elementor-widget-container::after {
	content: "";
	position: absolute;
	inset: -1px;
	border-radius: inherit;
	pointer-events: none;
	border: 1.5px solid var(--nprn-green);
	box-shadow: 0 0 0 3px rgba(152, 203, 60, 0.18), 0 0 22px 2px rgba(152, 203, 60, 0.38);
	opacity: 0;
	transition: opacity 0.35s var(--nprn-ease);
}
body.page-id-39850 .toggle-switch > .elementor-widget-container:hover::after,
body.page-id-40852 .toggle-switch > .elementor-widget-container:hover::after { opacity: 1; animation: nprn-glow 2.4s ease-in-out 0.35s infinite alternate; }

@media (max-width: 767px) {
	body.page-id-39850 .e-con:has(> .e-con-inner > .toggle-switch) > .e-con-inner,
	body.page-id-40852 .e-con:has(> .e-con-inner > .toggle-switch) > .e-con-inner { flex-wrap: wrap !important; padding: 16px 16px 4px; }
}


/* ==========================================================================
   Single event (Elementor "Single Event" template, post 40827)
   Hero + Event Details (JetEngine fields), owner action bar, body, share and
   comments become stacked cards on the same canvas as Home.
   ========================================================================== */
body.single-event,
body.single-event #page { background: var(--nprn-bg) !important; }

/* Card shell for the container-based template. Colors, borders, padding and gaps are set on the containers
   themselves in Elementor; this only centers and caps the width. */
.e-con.nprn-ev-card,
.e-con.nprn-ev-owner { width: 100%; max-width: 1040px; margin: 0 auto 20px; box-sizing: border-box; }
body.single-event .elementor-location-single { padding: 28px 24px 52px; }
.nprn-ev-details,
.nprn-ev-info,
.nprn-ev-meta { min-width: 0; }
.nprn-ev-poster img { max-width: 100%; }
.e-con.nprn-ev-details { flex: 1 1 0; width: auto; }
@media (max-width: 1024px) { .e-con.nprn-ev-details { flex: 0 0 auto; width: 100%; } }
.nprn-ev-actions { margin-top: 18px; }
.nprn-ev-meta .nprn-ev-actions .elementor-widget { width: auto !important; margin: 0 !important; }
/* event body uses the full card width */
.nprn-ev-body > .elementor-widget-theme-post-content { width: 100%; }
.nprn-ev-owner .elementor-widget { width: auto; margin: 0; }
/* Event Website link: same outlined pill as Add to Calendar */
.nprn-ev-actions .jet-listing-dynamic-link__link {
	display: inline-flex !important; align-items: center; gap: 10px; min-height: 46px; padding: 0 24px !important; box-sizing: border-box;
	border-radius: 999px !important; border: 1.5px solid var(--nprn-line-strong) !important; background: var(--nprn-surface) !important; color: var(--nprn-ink) !important;
	font: 600 14px/1 Montserrat, sans-serif !important; letter-spacing: 0.02em; text-transform: uppercase; text-decoration: none !important;
	transition: background-color 0.2s var(--nprn-ease), border-color 0.2s var(--nprn-ease);
}
.nprn-ev-actions .jet-listing-dynamic-link__link:hover { background: #f5f8fa !important; border-color: var(--nprn-blue) !important; }
.nprn-ev-actions .jet-listing-dynamic-link__icon { color: var(--nprn-green-ink) !important; font-size: 16px !important; margin: 0 !important; }
.nprn-ev-actions .jet-listing-dynamic-link__label { color: inherit !important; font: inherit !important; }
/* ---- Owner bar: replaces "Hello OC, [edit] or [x] this post" ---- */
.nprn-ev-owner .elementor-heading-title {
	font: 600 15px/1.3 Montserrat, sans-serif;
	color: var(--nprn-ink);
	text-align: left;
}
.nprn-ev-owner .elementor-shortcode {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.nprn-ev-owner .elementor-shortcode a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 42px;
	padding: 0 20px;
	border-radius: 999px;
	border: 1.5px solid var(--nprn-line-strong);
	background: var(--nprn-surface);
	color: var(--nprn-ink) !important;
	font: 600 14px/1 Montserrat, sans-serif;
	letter-spacing: 0.01em;
	text-decoration: none !important;
	transition: background-color 0.2s var(--nprn-ease), border-color 0.2s var(--nprn-ease), color 0.2s var(--nprn-ease);
}
.nprn-ev-owner .elementor-shortcode a i { font-size: 14px; line-height: 1; }
/* Edit = the action, so it takes the green. Delete = quiet red outline. */
.nprn-ev-owner .elementor-shortcode a:first-child {
	background: var(--nprn-green);
	border-color: transparent;
}
.nprn-ev-owner .elementor-shortcode a:first-child:hover { background: #a9d956; }
.nprn-ev-owner .elementor-shortcode a:last-child:not(:first-child) {
	border-color: rgba(180, 35, 24, 0.35);
	color: #b42318 !important;
}
.nprn-ev-owner .elementor-shortcode a:last-child:not(:first-child):hover {
	background: #fef3f2;
	border-color: #b42318;
}
.nprn-ev-owner .elementor-shortcode a:focus-visible { outline: 2px solid var(--nprn-green); outline-offset: 3px; }
/* ---- Hero: poster + Event Details ---- */
/* Event Details block */
.nprn-ev-info::before {
	content: "Event details";
	display: block;
	padding: 0 0 10px;
	font: 600 12px/1.3 Montserrat, sans-serif;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--nprn-muted);
}
.nprn-ev-info .elementor-widget,
.nprn-ev-meta .elementor-widget { margin: 0 !important; }
.nprn-ev-info .elementor-widget { width: 100% !important; }
.nprn-ev-info .elementor-widget-container,
.nprn-ev-meta .elementor-widget-container { padding: 0 !important; }
/* every row: icon tile + text, hairline between rows */
.nprn-ev-when .elementor-icon-list-item,
.nprn-ev-cost .jet-listing-dynamic-field__inline-wrap,
.nprn-ev-card .event-organizer .jet-listing-dynamic-field__inline-wrap {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 52px;
	padding: 8px 0;
	border-bottom: 1px solid var(--nprn-line);
	font: 500 15px/1.45 Montserrat, sans-serif;
	color: var(--nprn-text);
}
.nprn-ev-when .elementor-icon-list-item { margin: 0 !important; }
.nprn-ev-when .elementor-icon-list-text { font-weight: 600; color: var(--nprn-ink) !important; padding: 0 !important; }
.nprn-ev-when .elementor-icon-list-items { margin: 0; padding: 0; }
.nprn-ev-when .elementor-icon-list-icon,
.nprn-ev-card .jet-listing-dynamic-field__icon,
.nprn-ev-card .posted-by .jet-listing-dynamic-meta__icon,
.nprn-ev-cost .jet-listing-dynamic-field__inline-wrap::before {
	flex: 0 0 34px;
	width: 34px !important;
	height: 34px;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	margin: 0 !important;
	padding: 0 !important;
	border-radius: 10px;
	background: rgba(152, 203, 60, 0.16);
	color: var(--nprn-green-ink) !important;
	font-size: 15px !important;
}
.nprn-ev-when .elementor-icon-list-icon i,
.nprn-ev-when .elementor-icon-list-icon svg { color: var(--nprn-green-ink) !important; fill: var(--nprn-green-ink) !important; width: 15px; height: 15px; font-size: 15px; }
/* Cost has no icon of its own in the template: give it a tag so the rows line up */
.nprn-ev-cost .jet-listing-dynamic-field__inline-wrap::before {
	content: "";
	background: rgba(152, 203, 60, 0.16) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234f7a12' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z'/%3E%3Cpath d='M7 7h.01'/%3E%3C/svg%3E") center / 16px no-repeat;
}
.nprn-ev-cost .jet-listing-dynamic-field,
.nprn-ev-card .event-organizer .jet-listing-dynamic-field { display: block; width: 100%; }
.nprn-ev-cost .jet-listing-dynamic-field__content,
.nprn-ev-card .event-organizer .jet-listing-dynamic-field__content {
	font: 500 15px/1.45 Montserrat, sans-serif;
	color: var(--nprn-text) !important;
	min-width: 0;
}
.nprn-ev-cost b,
.nprn-ev-cost strong,
.nprn-ev-card .event-organizer b,
.nprn-ev-card .event-organizer strong { color: var(--nprn-ink) !important; font-weight: 700; }
/* Posted by + bookmark share a row; the calendar link becomes a button */
.nprn-ev-meta .elementor-widget { width: 100% !important; }
.nprn-ev-meta .posted-by { flex: 1 1 0; width: auto !important; min-width: 0; }
.nprn-ev-meta .bookmark_dark { flex: 0 0 auto; width: auto !important; }
.nprn-ev-card .posted-by .jet-listing-dynamic-meta {
	display: flex;
	align-items: center;
	min-height: 52px;
	padding: 8px 0;
	font: 500 15px/1.45 Montserrat, sans-serif;
	color: var(--nprn-text);
}
.nprn-ev-card .posted-by .jet-listing-dynamic-meta__item { display: flex; align-items: center; gap: 12px; border: 0; }
.nprn-ev-card .posted-by .jet-listing-dynamic-meta,
.nprn-ev-card .posted-by .jet-listing-dynamic-meta__item,
.nprn-ev-card .posted-by .jet-listing-dynamic-meta__item span { color: var(--nprn-text) !important; }
.nprn-ev-card .posted-by .jet-listing-dynamic-meta__item a,
.nprn-ev-card .posted-by .jet-listing-dynamic-meta__item a span { color: var(--nprn-blue) !important; }
.nprn-ev-card .posted-by a { color: var(--nprn-blue); text-decoration: none; font-weight: 600; }
.nprn-ev-card .posted-by a:hover { color: var(--nprn-green-ink); }
.nprn-ev-card .bookmark_dark .um-clear { display: flex; align-items: center; }
.nprn-ev-card .bookmark_dark .elementor-shortcode { border: 0 !important; padding: 0 !important; margin: 0 !important; }
/* ---- Body copy ---- */
.nprn-ev-card .elementor-widget-theme-post-content .elementor-widget-container {
	max-width: none;
	margin: 0;
	font: 400 16px/1.7 Montserrat, sans-serif;
	color: var(--nprn-text);
}
/* posters paste from Word/Google Docs; flatten the stray fonts and sizes they bring */
.nprn-ev-card .elementor-widget-theme-post-content .elementor-widget-container * {
	font-family: Montserrat, sans-serif !important;
	line-height: 1.7;
}
.nprn-ev-card .elementor-widget-theme-post-content .elementor-widget-container p { margin: 0 0 1em; }
.nprn-ev-card .elementor-widget-theme-post-content .elementor-widget-container :is(h1,
.nprn-ev-card h2,
.nprn-ev-card h3,
.nprn-ev-card h4) {
	margin: 1.6em 0 0.5em;
	font-size: 20px !important;
	font-weight: 700 !important;
	line-height: 1.3;
	letter-spacing: -0.01em;
	color: var(--nprn-ink) !important;
}
.nprn-ev-card .elementor-widget-theme-post-content .elementor-widget-container a { color: var(--nprn-blue); text-underline-offset: 3px; }
.nprn-ev-card .elementor-widget-theme-post-content .elementor-widget-container a:hover { color: var(--nprn-green-ink); }
.nprn-ev-card .elementor-widget-theme-post-content .elementor-widget-container img { max-width: 100%; height: auto; border-radius: var(--nprn-r-sm); }
.nprn-ev-card .elementor-widget-theme-post-content .elementor-widget-container ul,
.nprn-ev-card .elementor-widget-theme-post-content .elementor-widget-container ol { padding-left: 1.4em; margin: 0 0 1em; }
/* ---- Share + comments card ---- */
/* one reading column for share, divider and comments */
.nprn-ev-share .elementor-widget { margin-bottom: 0 !important; }
.nprn-ev-share .elementor-widget-spacer { display: none; }
.nprn-ev-share .elementor-widget-share-buttons .elementor-widget-container {
	display: flex;
	align-items: center;
	gap: 14px;
}
.nprn-ev-share .elementor-widget-share-buttons .elementor-widget-container::before {
	content: "Share this event";
	white-space: nowrap;
	font: 600 12px/1 Montserrat, sans-serif;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--nprn-muted);
}
.nprn-ev-card .elementor-share-buttons--view-icon .elementor-grid,
.nprn-ev-card .elementor-widget-share-buttons .elementor-grid { display: flex; gap: 8px; justify-content: flex-start; }
.nprn-ev-card .elementor-share-btn {
	width: 38px !important;
	height: 38px !important;
	border-radius: 50% !important;
	background: var(--nprn-bg) !important;
	border: 1px solid var(--nprn-line);
	transition: background-color 0.2s var(--nprn-ease), border-color 0.2s var(--nprn-ease);
}
.nprn-ev-card .elementor-share-btn .elementor-share-btn__icon i,
.nprn-ev-card .elementor-share-btn .elementor-share-btn__icon svg { color: var(--nprn-blue) !important; fill: var(--nprn-blue) !important; font-size: 15px; }
.nprn-ev-card .elementor-share-btn:hover { background: var(--nprn-blue) !important; border-color: var(--nprn-blue); }
.nprn-ev-card .elementor-share-btn:hover .elementor-share-btn__icon i,
.nprn-ev-card .elementor-share-btn:hover .elementor-share-btn__icon svg { color: #fff !important; fill: #fff !important; }
.nprn-ev-share .elementor-widget-divider { margin: 24px 0 !important; }
.nprn-ev-share .elementor-widget-divider .elementor-divider { padding: 0 !important; }
.nprn-ev-share .elementor-divider-separator { border-top-color: var(--nprn-line) !important; border-top-width: 1px !important; width: 100% !important; max-width: 780px; margin: 0 auto !important; }

/* ==========================================================================
   Comments (all single posts: events, news, jobs)
   Parent theme markup: #comments > ul.comment-list > li > article.comment-body
   ========================================================================== */
#comments.comments-area {
	width: 100%;
	max-width: 780px;
	margin: 0 auto;
	padding: 0;
	background: transparent;
	text-align: left;
}
/* "Leave a Response" duplicated the form's own title */
#comments.comments-area > h5.comments-title { display: none; }
#comments .comments-title {
	margin: 0 0 20px;
	font: 700 20px/1.25 Montserrat, sans-serif;
	letter-spacing: -0.01em;
	color: var(--nprn-ink);
	text-align: left;
}
#comments .comment-list { list-style: none; margin: 0 0 32px; padding: 0; }
#comments .comment-list .children { list-style: none; margin: 14px 0 0; padding: 0 0 0 28px; border-left: 2px solid var(--nprn-line); }
#comments .comment-list > li,
#comments .comment-list .children > li { margin: 0 0 14px; padding: 0; }

#comments article.comment-body {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr);
	column-gap: 14px;
	row-gap: 2px;
	margin: 0;
	padding: 18px 20px;
	background: #f8fafb;
	border: 1px solid var(--nprn-line);
	border-radius: var(--nprn-r-md);
}
#comments article.comment-body > [class*="boot-col"] { width: auto; max-width: none; flex: none; margin: 0; padding: 0; }
#comments .comment-body-avatar { grid-column: 1; grid-row: 1 / span 2; }
#comments .comment-author-section { grid-column: 2; grid-row: 1; }
#comments .comment-content { grid-column: 2; grid-row: 2; }
#comments .comment-body-avatar img.avatar {
	width: 44px !important;
	height: 44px !important;
	border-radius: 50%;
	display: block;
	box-shadow: 0 0 0 2px var(--nprn-surface), 0 0 0 3px var(--nprn-line-strong);
}
#comments .comment__author { margin: 0; font: 700 15px/1.3 Montserrat, sans-serif; color: var(--nprn-ink); }
#comments .comment__author a { color: inherit; text-decoration: none; }
#comments .comment__author a:hover { color: var(--nprn-green-ink); }
#comments .comment-author-section .meta-block { margin: 2px 0 0; }
#comments .comment-author-section .meta-block a,
#comments .comment__date,
#comments .comment__time { font: 500 12px/1.4 Montserrat, sans-serif; color: var(--nprn-muted); text-decoration: none; }
#comments .comment__time::before { content: "\00b7\00a0"; }
#comments .comment-text,
#comments .comment-text p { font: 400 15px/1.65 Montserrat, sans-serif; color: var(--nprn-text); }
#comments .comment-text p { margin: 8px 0 0; }
#comments .comment-awaiting-moderation { display: inline-block; margin-top: 8px; font-size: 13px; color: var(--nprn-muted); }
#comments .comment-content .meta-block { display: flex; gap: 8px; margin-top: 10px; }
#comments .comment-content .meta-block button {
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
	box-shadow: none;
}
#comments .comment-content .meta-block button:empty { display: none; }
#comments .comment-content .meta-block a,
#comments .comment-content .meta-block .comment-reply-link {
	display: inline-flex;
	align-items: center;
	height: 30px;
	padding: 0 14px;
	border-radius: 999px;
	border: 1px solid var(--nprn-line-strong);
	background: var(--nprn-surface);
	color: var(--nprn-blue);
	font: 600 12px/1 Montserrat, sans-serif;
	letter-spacing: 0.02em;
	text-decoration: none;
	transition: background-color 0.2s var(--nprn-ease), border-color 0.2s var(--nprn-ease);
}
#comments .comment-content .meta-block a:hover { background: #f5f8fa; border-color: var(--nprn-blue); }

/* Form */
#comments .comment-respond { margin: 0; padding: 0; text-align: left; }
#comments .comment-reply-title {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin: 0 0 14px;
	font: 700 20px/1.25 Montserrat, sans-serif;
	letter-spacing: -0.01em;
	color: var(--nprn-ink);
	text-align: left;
}
#comments .comment-reply-title small a { font: 600 13px/1 Montserrat, sans-serif; color: var(--nprn-blue); text-decoration: none; }
#comments .comment-form { width: 100% !important; max-width: none !important; margin: 0; }
#comments .comment-form p { width: 100%; margin: 0 0 14px; text-align: left; }
#comments .comment-form .logged-in-as { font: 500 14px/1.4 Montserrat, sans-serif; color: var(--nprn-muted); }
#comments .comment-form .logged-in-as strong { color: var(--nprn-ink); }
#comments .comment-form label:not(.screen-reader-text) {
	display: block;
	margin: 0 0 6px;
	font: 600 12px/1.3 Montserrat, sans-serif;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--nprn-ink);
	text-align: left;
}
#comments .comment-form textarea,
#comments .comment-form input[type="text"],
#comments .comment-form input[type="email"],
#comments .comment-form input[type="url"] {
	display: block;
	width: 100% !important;
	max-width: none !important;
	box-sizing: border-box;
	min-height: 46px;
	padding: 12px 14px;
	background: var(--nprn-surface);
	border: 1px solid var(--nprn-line-strong);
	border-radius: var(--nprn-r-sm);
	box-shadow: none;
	color: var(--nprn-ink);
	font: 500 15px/1.5 Montserrat, sans-serif;
	transition: border-color 0.2s var(--nprn-ease), box-shadow 0.2s var(--nprn-ease);
}
#comments .comment-form textarea { min-height: 130px; resize: vertical; }
#comments .comment-form textarea::placeholder { color: var(--nprn-muted); }
#comments .comment-form textarea:focus,
#comments .comment-form input:focus {
	outline: none;
	border-color: var(--nprn-green-ink);
	box-shadow: 0 0 0 3px rgba(152, 203, 60, 0.28);
}
#comments .comment-form .form-submit { margin: 4px 0 0; }
#comments .comment-form .form-submit .nprn-btn { cursor: pointer; }
#comments p.akismet_comment_form_privacy_notice { margin: 14px 0 0 !important; font: 400 12px/1.5 Montserrat, sans-serif !important; color: var(--nprn-muted) !important; }
#comments p.akismet_comment_form_privacy_notice a { color: var(--nprn-muted) !important; text-underline-offset: 2px; }
#comments .no-comments, #comments .must-log-in { font: 500 14px/1.5 Montserrat, sans-serif; color: var(--nprn-muted); }

/* ---- Single event: tablet / phone ---- */
@media (max-width: 767px) {
	body.single-event .elementor-location-single { padding: 16px 12px 40px; }
	.nprn-ev-owner .elementor-shortcode a { flex: 1 1 0; justify-content: center; }
	.nprn-ev-share .elementor-widget-share-buttons .elementor-widget-container { flex-wrap: wrap; }
	#comments article.comment-body { padding: 14px; grid-template-columns: 36px minmax(0, 1fr); column-gap: 12px; }
	#comments .comment-body-avatar img.avatar { width: 36px !important; height: 36px !important; }
}


/* ==========================================================================
   Single news (template 41062, flex containers) and single job (template 39630,
   one big section). Same cards, owner bar, share row and comments as Single Event.
   ========================================================================== */
body.single-news,
body.single-news #page,
body.single-jobs,
body.single-jobs #page { background: var(--nprn-bg) !important; }
body.single-news .elementor-location-single {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	padding: 28px 24px 72px;
}
body.single-news .elementor-location-single > .e-con {
	width: 100% !important;
	max-width: 1040px;
	left: auto !important;
	margin: 0 !important;
	box-sizing: border-box;
	background: var(--nprn-surface);
	border: 1px solid var(--nprn-line);
	border-radius: var(--nprn-r-md);
	box-shadow: none !important;
}
body:is(.single-news, .single-jobs) .elementor-location-single .elementor-background-overlay { display: none !important; }
/* ---- Owner bar: "Manage this news post / job" + Edit / Delete buttons ---- */
body:is(.single-news, .single-jobs) .edit-delete-gv-links {
	background: rgba(152, 203, 60, 0.12) !important;
	border: 1px solid rgba(152, 203, 60, 0.5) !important;
	border-radius: var(--nprn-r-md);
}
body.single-news .elementor-location-single > .e-con.edit-delete-gv-links {
	order: -1;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px 20px;
	padding: 14px 20px;
}
body:is(.single-news, .single-jobs) .edit-delete-gv-links .elementor-widget { width: auto !important; margin: 0 !important; }
body:is(.single-news, .single-jobs) .edit-delete-gv-links .elementor-heading-title {
	font: 600 15px/1.3 Montserrat, sans-serif !important;
	color: var(--nprn-ink) !important;
	text-align: left;
}
body:is(.single-news, .single-jobs) .edit-delete-gv-links .elementor-shortcode { display: flex; flex-wrap: wrap; gap: 10px; }
body:is(.single-news, .single-jobs) .edit-delete-gv-links .elementor-shortcode a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 42px;
	padding: 0 20px;
	border-radius: 999px;
	border: 1.5px solid var(--nprn-line-strong);
	background: var(--nprn-surface);
	color: var(--nprn-ink) !important;
	font: 600 14px/1 Montserrat, sans-serif;
	letter-spacing: 0.01em;
	text-decoration: none !important;
	transition: background-color 0.2s var(--nprn-ease), border-color 0.2s var(--nprn-ease);
}
body:is(.single-news, .single-jobs) .edit-delete-gv-links .elementor-shortcode a i { font-size: 14px; line-height: 1; }
body:is(.single-news, .single-jobs, .single-event) .edit-delete-gv-links .elementor-shortcode a { white-space: nowrap; }
body:is(.single-news, .single-jobs) .edit-delete-gv-links .elementor-shortcode a:first-child { background: var(--nprn-green); border-color: transparent; }
body:is(.single-news, .single-jobs) .edit-delete-gv-links .elementor-shortcode a:first-child:hover { background: #a9d956; }
body:is(.single-news, .single-jobs) .edit-delete-gv-links .elementor-shortcode a:last-child:not(:first-child) { border-color: rgba(180, 35, 24, 0.35); color: #b42318 !important; }
body:is(.single-news, .single-jobs) .edit-delete-gv-links .elementor-shortcode a:last-child:not(:first-child):hover { background: #fef3f2; border-color: #b42318; }
body:is(.single-news, .single-jobs) .edit-delete-gv-links .elementor-shortcode a:focus-visible { outline: 2px solid var(--nprn-green); outline-offset: 3px; }
/* boxed containers wrap their children in .e-con-inner, which is the real flex row */
body.single-news .edit-delete-gv-links > .e-con-inner {
	width: 100%;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px 20px;
}
/* beats the job card's blanket "left-align every wrap" rule */
/* ---- News hero: full-width photo on top, title block below (container settings live in the template) ---- */
.nprn-news-hero__img:not(:has(img)) { display: none; }
.nprn-news-hero__photo img { display: block; width: 100%; }
.nprn-news-hero__meta .elementor-widget { width: auto; margin: 0 !important; }
/* hero photo: shown whole (contain) over a blurred, dimmed copy of itself so any aspect ratio fills the banner */
.nprn-news-hero__bg { width: 100%; height: 100%; pointer-events: none; }
.nprn-news-hero__bg .elementor-widget-container, .nprn-news-hero__bg img { width: 100%; height: 100% !important; }
.nprn-news-hero__bg img { object-fit: cover; transform: scale(1.25); }
.nprn-news-hero__photo { position: relative; }
/* "View full image" button (lightbox) – shape/colour/position are native widget settings */
.nprn-news-hero__zoom .elementor-button { transition: background-color 0.2s var(--nprn-ease), transform 0.2s var(--nprn-ease); }
.nprn-news-hero__zoom .elementor-button:hover { transform: translateY(-2px); }

/* ---- Posted-by chips (news + job): icon tile + text, no hard dividers ---- */
body:is(.single-news, .single-jobs) .elementor-widget-post-info .elementor-icon-list-item,
body:is(.single-news, .single-jobs) .elementor-widget-post-info .elementor-icon-list-item a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font: 500 14px/1.4 Montserrat, sans-serif;
	color: var(--nprn-text) !important;
	text-decoration: none;
}
body:is(.single-news, .single-jobs) .elementor-widget-post-info .elementor-icon-list-text { color: inherit !important; }
body:is(.single-news, .single-jobs) .elementor-widget-post-info .elementor-icon-list-item a:hover { color: var(--nprn-blue) !important; }
body:is(.single-news, .single-jobs) .elementor-widget-post-info .elementor-icon-list-icon {
	flex: 0 0 30px;
	width: 30px !important;
	height: 30px;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	border-radius: 9px;
	background: rgba(152, 203, 60, 0.16);
}
body:is(.single-news, .single-jobs) .elementor-widget-post-info .elementor-icon-list-icon i,
body:is(.single-news, .single-jobs) .elementor-widget-post-info .elementor-icon-list-icon svg { color: var(--nprn-green-ink) !important; fill: var(--nprn-green-ink) !important; font-size: 13px; width: 13px; height: 13px; }
body:is(.single-news, .single-jobs) .elementor-widget-post-info .elementor-icon-list-text { padding: 0 !important; }
body:is(.single-news, .single-jobs) .elementor-post-info { margin: 0; padding: 0; }
body:is(.single-news, .single-jobs) .elementor-post-info .elementor-icon-list-item::after { display: none !important; }
/* ---- Body copy (news + job) ---- */
body.single-news .e-con-inner > .elementor-widget-theme-post-content { width: 100%; }
body.single-news .elementor-element-929622d { padding: 36px 40px; }
body:is(.single-news, .single-jobs) .elementor-widget-theme-post-content .elementor-widget-container {
	max-width: none;
	margin: 0;
	font: 400 16px/1.7 Montserrat, sans-serif;
	color: var(--nprn-text);
}
body:is(.single-news, .single-jobs) .elementor-widget-theme-post-content .elementor-widget-container * {
	font-family: Montserrat, sans-serif !important;
	line-height: 1.7;
}
body:is(.single-news, .single-jobs) .elementor-widget-theme-post-content .elementor-widget-container p { margin: 0 0 1em; }
body:is(.single-news, .single-jobs) .elementor-widget-theme-post-content .elementor-widget-container a { color: var(--nprn-blue); text-underline-offset: 3px; }
body:is(.single-news, .single-jobs) .elementor-widget-theme-post-content .elementor-widget-container a:hover { color: var(--nprn-green-ink); }
body:is(.single-news, .single-jobs) .elementor-widget-theme-post-content .elementor-widget-container img { max-width: 100%; height: auto; border-radius: var(--nprn-r-sm); }
body:is(.single-news, .single-jobs) .elementor-widget-theme-post-content .elementor-widget-container :is(ul, ol) { padding-left: 1.4em; margin: 0 0 1em; }
body:is(.single-news, .single-jobs) .elementor-widget-theme-post-content .elementor-widget-container :is(h1, h2, h3, h4) {
	margin: 1.6em 0 0.5em;
	font-size: 20px !important;
	font-weight: 700 !important;
	line-height: 1.3;
	letter-spacing: -0.01em;
	color: var(--nprn-ink) !important;
}
/* pasted tables carry fixed pixel heights; let them grow with their text on narrow screens */
body:is(.single-news, .single-jobs, .single-event) .elementor-widget-theme-post-content table { width: 100% !important; height: auto !important; max-width: 100%; }
body:is(.single-news, .single-jobs, .single-event) .elementor-widget-theme-post-content :is(tr, td, th) { height: auto !important; }
body:is(.single-news, .single-jobs, .single-event) .elementor-widget-theme-post-content :is(td, th) { overflow-wrap: anywhere; vertical-align: top; }
/* ---- Footer card: share, prev/next, comments ---- */
body.single-news .elementor-element-aa499cb { padding: 28px 40px 36px; gap: 0; }
body.single-news .elementor-element-aa499cb > .elementor-widget,
body.single-news .elementor-element-aa499cb > .e-con-inner > .elementor-widget,
.nprn-job-share .elementor-widget {
	width: 100%;
	max-width: 780px;
	margin-left: auto !important;
	margin-right: auto !important;
	margin-bottom: 0 !important;
}
body:is(.single-news, .single-jobs) .elementor-widget-spacer { display: none; }
body:is(.single-news, .single-jobs) .elementor-widget-share-buttons .elementor-widget-container { display: flex; align-items: center; gap: 14px; }
body:is(.single-news, .single-jobs) .elementor-widget-share-buttons .elementor-widget-container::before {
	white-space: nowrap;
	font: 600 12px/1 Montserrat, sans-serif;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--nprn-muted);
}
body.single-news .elementor-widget-share-buttons .elementor-widget-container::before { content: "Share this story"; }
.elementor-widget-share-buttons .elementor-widget-container::before { content: "Share this job"; }
body:is(.single-news, .single-jobs) .elementor-widget-share-buttons .elementor-grid { display: flex; gap: 8px; justify-content: flex-start; }
body:is(.single-news, .single-jobs) .elementor-share-btn {
	width: 38px !important;
	height: 38px !important;
	border-radius: 50% !important;
	background: var(--nprn-bg) !important;
	border: 1px solid var(--nprn-line);
	transition: background-color 0.2s var(--nprn-ease), border-color 0.2s var(--nprn-ease);
}
body:is(.single-news, .single-jobs) .elementor-share-btn .elementor-share-btn__icon i,
body:is(.single-news, .single-jobs) .elementor-share-btn .elementor-share-btn__icon svg { color: var(--nprn-blue) !important; fill: var(--nprn-blue) !important; font-size: 15px; }
body:is(.single-news, .single-jobs) .elementor-share-btn:hover { background: var(--nprn-blue) !important; border-color: var(--nprn-blue); }
body:is(.single-news, .single-jobs) .elementor-share-btn:hover .elementor-share-btn__icon i,
body:is(.single-news, .single-jobs) .elementor-share-btn:hover .elementor-share-btn__icon svg { color: #fff !important; fill: #fff !important; }
/* Previous / next story: two quiet cards */
body:is(.single-news, .single-jobs) .elementor-widget-post-navigation { margin-top: 24px !important; }
body:is(.single-news, .single-jobs) .elementor-post-navigation { display: flex; gap: 12px; flex-wrap: wrap; align-items: stretch; border: 0; }
body:is(.single-news, .single-jobs) .elementor-post-navigation__link { flex: 1 1 240px; width: auto; margin: 0; }
body:is(.single-news, .single-jobs) .elementor-post-navigation__separator-wrapper { display: none; }
body:is(.single-news, .single-jobs) .elementor-post-navigation__link a {
	display: flex;
	align-items: center;
	gap: 12px;
	height: 100%;
	padding: 14px 16px;
	border: 1px solid var(--nprn-line-strong);
	border-radius: var(--nprn-r-sm);
	background: var(--nprn-surface);
	color: var(--nprn-ink);
	text-decoration: none;
	font: 600 14px/1.35 Montserrat, sans-serif;
	transition: border-color 0.2s var(--nprn-ease), background-color 0.2s var(--nprn-ease);
}
body:is(.single-news, .single-jobs) .elementor-post-navigation__link a:hover { border-color: var(--nprn-blue); background: #f5f8fa; }
body:is(.single-news, .single-jobs) .elementor-post-navigation__next a { justify-content: flex-end; text-align: right; }
body:is(.single-news, .single-jobs) .post-navigation__arrow-wrapper { color: var(--nprn-green-ink); font-size: 14px; }
body:is(.single-news, .single-jobs) .post-navigation__prev--label,
body:is(.single-news, .single-jobs) .post-navigation__next--label {
	display: block;
	margin-bottom: 2px;
	font: 600 11px/1.2 Montserrat, sans-serif;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--nprn-muted);
}
body:is(.single-news, .single-jobs) .post-navigation__prev--title,
body:is(.single-news, .single-jobs) .post-navigation__next--title { display: block; font-weight: 600; color: var(--nprn-ink); }
body:is(.single-news, .single-jobs) .elementor-widget-divider { margin: 24px 0 !important; }
body:is(.single-news, .single-jobs) .elementor-widget-divider .elementor-divider { padding: 0 !important; }
body:is(.single-news, .single-jobs) .elementor-widget-divider .elementor-divider-separator { border-top-color: var(--nprn-line) !important; border-top-width: 1px !important; width: 100% !important; margin: 0 !important; }
/* ---- Job header: logo, title, chips, employer ---- */
.nprn-job-head .elementor-widget,
.nprn-job-head .elementor-widget-container,
.nprn-job-head .elementor-widget .jet-listing-dynamic-field { text-align: left !important; border: 0 !important; }
.nprn-job-head .jet-listing-dynamic-field__inline-wrap { justify-content: flex-start; margin: 0 !important; }
.nprn-job-head .jet-listing { justify-content: flex-start !important; text-align: left !important; }
.nprn-job-head .jet-listing-dynamic-field__content { text-align: left !important; }
/* the video row is empty on most jobs */
.nprn-job-videos:not(:has(iframe, video, .elementor-widget-video .elementor-wrapper)) { display: none; }
.nprn-job-head .elementor-widget-container { padding-left: 0 !important; padding-right: 0 !important; margin: 0 !important; }
.nprn-job-head .elementor-widget-post-info .elementor-icon-list-items { margin: 0 !important; }
.nprn-job-head .elementor-widget-post-info .elementor-icon-list-item { margin: 0 !important; }
.nprn-job-head .elementor-widget-post-info .elementor-icon-list-items,
.nprn-job-head .elementor-widget-post-info .elementor-icon-list-items.elementor-inline-items { justify-content: flex-start; }
.nprn-job-logo { margin: 0 0 18px !important; }
.nprn-job-logo .elementor-widget-container { text-align: left !important; }
.nprn-job-logo img { display: block; width: auto !important; max-width: 220px; max-height: 80px; height: auto; object-fit: contain; border-radius: 0; }
.nprn-job-title .elementor-heading-title {
	font: 700 clamp(1.6rem, 3vw, 2.2rem)/1.12 Montserrat, sans-serif !important;
	letter-spacing: -0.02em;
	text-transform: none !important;
	color: var(--nprn-ink) !important;
	text-align: left;
	text-wrap: balance;
	margin: 0 0 14px;
}
.nprn-job-chips { margin: 0 0 14px !important; }
.nprn-job-chips .elementor-widget { width: auto !important; margin: 0 !important; }
.nprn-job-chips .elementor-widget-container { padding: 0 !important; }
/* meta values become pills */
.nprn-job-chips .jet-listing-dynamic-field__inline-wrap {
	display: inline-flex;
	border-right: 1px solid var(--nprn-line) !important;
	align-items: center;
	gap: 8px;
	padding: 7px 14px;
	border-radius: 999px;
	background: var(--nprn-bg);
	border: 1px solid var(--nprn-line);
	font: 600 13px/1.3 Montserrat, sans-serif;
	color: var(--nprn-ink);
}
.nprn-job-chips .jet-listing-dynamic-field__content { font: inherit !important; color: inherit !important; }
.nprn-job-chips .jet-listing-dynamic-field__icon { color: var(--nprn-green-ink) !important; font-size: 13px; margin: 0 !important; }
.nprn-job-chips .elementor-widget-post-info .elementor-icon-list-item {
	padding: 7px 14px 7px 8px;
	border-radius: 999px;
	background: var(--nprn-bg);
	border: 1px solid var(--nprn-line);
	font-weight: 600;
	color: var(--nprn-ink) !important;
}
.nprn-job-chips .elementor-widget-post-info .elementor-icon-list-icon { flex-basis: 22px; width: 22px !important; height: 22px; border-radius: 50%; }
.nprn-job-employer .jet-listing-dynamic-field__content,
.nprn-job-employer .jet-listing-dynamic-field__content a {
	font: 700 18px/1.3 Montserrat, sans-serif;
	letter-spacing: -0.01em;
	color: var(--nprn-ink) !important;
	text-decoration: none;
}
.nprn-job-meta { margin: 4px 0 18px !important; }
.nprn-job-videos { margin: 0 0 20px !important; }
/* ---- Job contact card ---- */
.nprn-job-contact .elementor-widget { margin: 0 !important; }
.nprn-job-contact .jet-listing-dynamic-field__inline-wrap { padding: 6px 0; }
.nprn-job-contact .jet-listing-dynamic-field__content { font: 500 15px/1.5 Montserrat, sans-serif; color: var(--nprn-text) !important; }
.nprn-job-contact a { color: var(--nprn-blue) !important; text-underline-offset: 3px; }

/* ---- Job template (containers): column widths + Contact label ---- */
body.single-jobs .elementor-location-single { padding: 28px 24px 52px; }
.nprn-job-head > .elementor-widget,
.nprn-job-head > .e-con,
.nprn-job-contact > .elementor-widget { width: 100%; max-width: 860px; margin-left: 0 !important; margin-right: auto !important; }
.nprn-job-content { margin-top: 18px !important; padding-top: 22px !important; border-top: 1px solid var(--nprn-line); }
.nprn-job-contact::before {
	content: "Contact";
	position: static !important; inset: auto !important; height: auto !important; opacity: 1 !important; background: none !important;
	display: block; width: 100%; max-width: 860px; margin: 0 0 8px;
	font: 600 12px/1.3 Montserrat, sans-serif; letter-spacing: 0.08em; text-transform: uppercase; color: var(--nprn-muted);
}

/* ---- news + job: tablet / phone ---- */
@media (max-width: 767px) {
	body.single-news .elementor-location-single { padding: 16px 12px 56px; gap: 14px; }
	body.single-jobs .elementor-location-single { padding: 16px 12px 40px; }
	body.single-news .elementor-element-929622d,
	body.single-news .elementor-element-aa499cb { padding: 20px 18px; }
	body.single-news .elementor-location-single > .e-con.edit-delete-gv-links { padding: 14px 16px; flex-direction: column; align-items: stretch; }
	body:is(.single-news, .single-jobs) .edit-delete-gv-links .elementor-shortcode a { flex: 1 1 auto; justify-content: center; padding: 0 16px; }
	body:is(.single-news, .single-jobs) .elementor-widget-share-buttons .elementor-widget-container { flex-wrap: wrap; }
}


/* ==========================================================================
   Grant Center (page 38430) and its children: tracker, funder database,
   grant writer directory, user guide. body.nprn-grant is added in nprn-refresh.php.
   ========================================================================== */
body.nprn-grant .page__header { padding: 40px 0 0; }
body.nprn-grant .site-content .elementor-widget-heading .elementor-heading-title {
	font-family: Montserrat, sans-serif;
	color: var(--nprn-ink);
	text-shadow: none !important;
	text-align: center;
}
body.nprn-grant .site-content .elementor-widget-heading h1.elementor-heading-title { font-size: clamp(2rem, 4vw, 3rem); }
body.nprn-grant .site-content .elementor-widget-heading h2.elementor-heading-title { font-size: clamp(1.4rem, 2.4vw, 1.9rem); font-weight: 700; margin: 8px 0 4px; }
body.nprn-grant .site-content .elementor-widget-text-editor .elementor-widget-container { max-width: 780px; margin: 0 auto; }

/* ---- Landing: intro card (Containers) ---- */
body.page-id-38430 .nprn-grant-intro { padding: 8px 24px 0; }
body.page-id-38430 .nprn-grant-intro .elementor-widget-text-editor > .elementor-widget-container {
	max-width: none;
	padding: 32px 36px;
	background: var(--nprn-surface);
	border: 1px solid var(--nprn-line);
	border-radius: var(--nprn-r-md);
}
body.page-id-38430 .nprn-grant-intro h2 {
	margin: 0 0 14px;
	font: 700 clamp(1.4rem, 2.4vw, 1.8rem)/1.2 Montserrat, sans-serif;
	letter-spacing: -0.02em;
	color: var(--nprn-ink);
	text-align: left;
}
body.page-id-38430 .nprn-grant-intro p { margin: 0 0 14px; font: 400 16px/1.7 Montserrat, sans-serif; color: var(--nprn-text); }
body.page-id-38430 .nprn-grant-intro a { color: var(--nprn-blue); text-underline-offset: 3px; }
body.page-id-38430 .nprn-grant-intro a:hover { color: var(--nprn-green-ink); }
body.page-id-38430 .nprn-grant-intro .nprn-note {
	padding: 14px 18px;
	background: rgba(152, 203, 60, 0.12);
	border-left: 3px solid var(--nprn-green);
	border-radius: 0 var(--nprn-r-sm) var(--nprn-r-sm) 0;
	font-size: 14.5px;
	color: var(--nprn-text);
}
body.page-id-38430 .nprn-grant-intro .nprn-contact-line { margin: 18px 0 0; padding-top: 18px; border-top: 1px solid var(--nprn-line); font-size: 15px; font-weight: 600; color: var(--nprn-ink); }

/* ---- Landing: three cards (Containers) ---- */
body.page-id-38430 .nprn-grant-cards { padding: 28px 24px 8px; }
body.page-id-38430 .nprn-grant-cards > .e-con-inner { align-items: stretch; }
body.page-id-38430 .nprn-grant-card {
	position: relative;
	flex: 1 1 280px;
	min-width: 0;
	gap: 10px;
	padding: 28px !important;
	background: var(--nprn-surface) !important;
	border: 1px solid var(--nprn-line) !important;
	border-radius: var(--nprn-r-md) !important;
	box-sizing: border-box;
	transition: box-shadow 0.35s var(--nprn-ease), border-color 0.35s var(--nprn-ease);
}
body.page-id-38430 .nprn-grant-card:hover {
	border-color: rgba(152, 203, 60, 0.7) !important;
	box-shadow: 0 0 0 3px rgba(152, 203, 60, 0.12), 0 0 28px 0 rgba(152, 203, 60, 0.28);
}
body.page-id-38430 .nprn-grant-card > .elementor-widget { width: 100%; margin: 0; }
/* icon tile, drawn so the cards don't depend on stock photos */
body.page-id-38430 .nprn-grant-card::before {
	content: "";
	position: static !important;
	inset: auto !important;
	opacity: 1 !important;
	flex: 0 0 auto;
	width: 48px;
	height: 48px;
	margin-bottom: 6px;
	border-radius: 12px;
	background: rgba(152, 203, 60, 0.16) center / 24px no-repeat;
}
body.page-id-38430 .nprn-grant-card--tracker::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234f7a12' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Cpath d='M3 9h18M3 15h18M9 3v18'/%3E%3C/svg%3E"); }
body.page-id-38430 .nprn-grant-card--funders::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234f7a12' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='12' cy='5' rx='8' ry='3'/%3E%3Cpath d='M4 5v14c0 1.7 3.6 3 8 3s8-1.3 8-3V5M4 12c0 1.7 3.6 3 8 3s8-1.3 8-3'/%3E%3C/svg%3E"); }
body.page-id-38430 .nprn-grant-card--writers::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234f7a12' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M23 21v-2a4 4 0 0 0-3-3.9M16 3.1a4 4 0 0 1 0 7.8'/%3E%3C/svg%3E"); }
body.page-id-38430 .site-content .nprn-grant-card .elementor-heading-title {
	font: 700 20px/1.25 Montserrat, sans-serif;
	letter-spacing: -0.01em;
	text-align: left !important;
	text-transform: none;
	color: var(--nprn-ink);
}
/* card titles: one shared size, scaled to the card width so the longest title ("Grant Writer Directory") just fits */
body.page-id-38430 .nprn-grant-card { container-type: inline-size; }
body.page-id-38430 .site-content .nprn-grant-card .elementor-heading-title { font-size: clamp(18px, calc(100cqw / 11.9), 34px) !important; line-height: 1.15; overflow-wrap: anywhere; }
body.page-id-38430 .nprn-grant-card .elementor-widget-text-editor { flex: 1 1 auto; }
body.page-id-38430 .nprn-grant-card .elementor-widget-text-editor > .elementor-widget-container { max-width: none; padding: 0; border: 0; }
body.page-id-38430 .nprn-grant-card .elementor-widget-text-editor,
body.page-id-38430 .nprn-grant-card .elementor-widget-text-editor p { font: 400 14.5px/1.6 Montserrat, sans-serif; color: var(--nprn-text); text-align: left; margin: 0; }
body.page-id-38430 .nprn-grant-card .elementor-widget-text-editor a { color: var(--nprn-blue); }
/* buttons sit at the bottom of each card, centered */
body.page-id-38430 .nprn-grant-card .elementor-widget-button { margin-top: auto; padding-top: 6px; }
body.page-id-38430 .nprn-grant-card .elementor-widget-button .elementor-button-wrapper { text-align: center; }

/* user guide: quiet outline button under the cards */
body.page-id-38430 .nprn-grant-guide { padding: 12px 24px 56px; }
body.page-id-38430 .nprn-grant-guide .elementor-widget-button .elementor-button-wrapper { text-align: center; }
body.page-id-38430 #content .nprn-grant-guide .elementor-button {
	background: transparent !important;
	border: 1.5px solid var(--nprn-line-strong) !important;
	color: var(--nprn-blue) !important;
}
body.page-id-38430 #content .nprn-grant-guide .elementor-button:hover { border-color: var(--nprn-blue) !important; background: #f5f8fa !important; }

/* ---- Child pages ---- */
/* sub-navigation: the little grey buttons across the top become quiet pills */
body.nprn-grant .nprn-subnav { display: inline-block !important; width: auto !important; margin: 0 4px 4px !important; }
body.nprn-grant #content .nprn-subnav .elementor-button-wrapper { text-align: center; }
body.nprn-grant #content .nprn-subnav .elementor-button {
	min-height: 38px !important;
	padding: 0 18px !important;
	background: transparent !important;
	border: 1.5px solid var(--nprn-line-strong) !important;
	color: var(--nprn-blue) !important;
	font-size: 12.5px !important;
}
body.nprn-grant #content .nprn-subnav .elementor-button:hover { border-color: var(--nprn-blue) !important; background: #f5f8fa !important; }
body.nprn-grant .elementor-widget-wrap:has(> .nprn-subnav) { text-align: center; }
body.nprn-grant .site-content .elementor-widget-text-editor,
body.nprn-grant .site-content .elementor-widget-text-editor p { color: var(--nprn-text); line-height: 1.7; }
body.nprn-grant .site-content .elementor-widget-text-editor a { color: var(--nprn-blue); text-underline-offset: 3px; }
body.nprn-grant .site-content .elementor-widget-text-editor a:hover { color: var(--nprn-green-ink); }

/* text blocks on the child pages sit in the same white card as the landing intro */
body.nprn-grant:not(.page-id-38430) .site-content .elementor-widget-text-editor > .elementor-widget-container {
	max-width: 880px;
	padding: 32px 36px;
	background: var(--nprn-surface);
	border: 1px solid var(--nprn-line);
	border-radius: var(--nprn-r-md);
	box-sizing: border-box;
}
body.nprn-grant:not(.page-id-38430) .site-content .elementor-widget-text-editor :is(h1, h2, h3, h4, h5, h6) {
	margin: 28px 0 10px;
	font-family: Montserrat, sans-serif !important;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.01em;
	color: var(--nprn-ink) !important;
	text-align: left !important;
}
body.nprn-grant:not(.page-id-38430) .site-content .elementor-widget-text-editor :is(h1, h2, h3):first-child { margin-top: 0; font-size: clamp(1.4rem, 2.4vw, 1.8rem); letter-spacing: -0.02em; }
body.nprn-grant:not(.page-id-38430) .site-content .elementor-widget-text-editor :is(h4, h5, h6) { font-size: 1.1rem; }
body.nprn-grant:not(.page-id-38430) .site-content .elementor-widget-text-editor :is(h1, h2, h3) + h6 { margin: -6px 0 18px; font-size: 0.95rem; font-weight: 500; font-style: italic; color: var(--nprn-muted) !important; }
body.nprn-grant:not(.page-id-38430) .site-content .elementor-widget-text-editor :is(h1, h2, h3, h4, h5, h6) :is(strong, b, em, i, span, a) { color: inherit !important; font-family: inherit !important; }
body.nprn-grant:not(.page-id-38430) .site-content .elementor-widget-text-editor :is(p, li) { font: 400 15.5px/1.7 Montserrat, sans-serif; color: var(--nprn-text); text-align: left !important; }
body.nprn-grant:not(.page-id-38430) .site-content .elementor-widget-text-editor p { margin: 0 0 14px; }
body.nprn-grant:not(.page-id-38430) .site-content .elementor-widget-text-editor p em:only-child { color: var(--nprn-muted); }
body.nprn-grant:not(.page-id-38430) .site-content .elementor-widget-text-editor :is(ul, ol) { margin: 0 0 16px; padding-left: 22px; }
body.nprn-grant:not(.page-id-38430) .site-content .elementor-widget-text-editor li { margin: 0 0 6px; }
body.nprn-grant:not(.page-id-38430) .site-content .elementor-widget-text-editor li::marker { color: var(--nprn-green-ink); }
body.nprn-grant:not(.page-id-38430) .site-content .elementor-widget-text-editor img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 18px auto;
	border: 1px solid var(--nprn-line);
	border-radius: var(--nprn-r-sm);
}
body.nprn-grant:not(.page-id-38430) .site-content .elementor-widget-text-editor hr { border: 0; border-top: 1px solid var(--nprn-line); margin: 24px 0; }
body.nprn-grant .site-content .elementor-widget-heading h2.elementor-heading-title { text-align: center; }
@media (max-width: 767px) {
	body.nprn-grant:not(.page-id-38430) .site-content .elementor-widget-text-editor > .elementor-widget-container { padding: 22px 20px; }
}

/* funder database accordion */
body.nprn-grant .elementor-widget-toggle { max-width: 880px; margin: 0 auto; }
body.nprn-grant .elementor-toggle .elementor-toggle-item {
	margin: 0 0 8px;
	background: var(--nprn-surface);
	border: 1px solid var(--nprn-line) !important;
	border-radius: var(--nprn-r-sm);
	overflow: hidden;
	transition: border-color 0.2s var(--nprn-ease);
}
body.nprn-grant .elementor-toggle .elementor-toggle-item:hover { border-color: var(--nprn-line-strong) !important; }
body.nprn-grant .elementor-toggle .elementor-tab-title {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 14px 18px;
	background: transparent !important;
	border: 0 !important;
	font: 600 15px/1.4 Montserrat, sans-serif;
	color: var(--nprn-ink) !important;
}
body.nprn-grant .elementor-toggle .elementor-tab-title a { color: inherit !important; font: inherit; text-decoration: none; }
body.nprn-grant .elementor-toggle .elementor-tab-title .elementor-toggle-icon { color: var(--nprn-green-ink); float: none; width: auto; margin: 0; }
body.nprn-grant .elementor-toggle .elementor-tab-title.elementor-active { background: #f5f8fa !important; color: var(--nprn-blue) !important; box-shadow: inset 3px 0 0 var(--nprn-green); }
body.nprn-grant .elementor-toggle .elementor-tab-content { padding: 6px 20px 20px; border: 0 !important; font: 400 15px/1.65 Montserrat, sans-serif; color: var(--nprn-text); }
body.nprn-grant .elementor-toggle .elementor-tab-content a { color: var(--nprn-blue); text-underline-offset: 3px; }

/* tracker: the embedded sheet becomes a framed card */
body.nprn-grant .elementor-widget-html iframe {
	display: block;
	width: 100%;
	border: 1px solid var(--nprn-line-strong);
	border-radius: var(--nprn-r-md);
	background: var(--nprn-surface);
}

@media (max-width: 767px) {
	body.page-id-38430 .nprn-grant-intro .elementor-widget-text-editor > .elementor-widget-container { padding: 22px 20px; }
	body.page-id-38430 .nprn-grant-card { padding: 22px !important; }
}

/* ==========================================================================
   Event RSVP + attendee-only area  (event-rsvp.php)
   ========================================================================== */
.nprn-rsvp { margin: 32px 0 8px; padding-top: 28px; border-top: 1px solid var(--nprn-line); display: grid; gap: 20px; font-family: 'Montserrat', sans-serif; }
.nprn-rsvp * { box-sizing: border-box; }
.nprn-rsvp__panel { background: #fff; border: 1px solid var(--nprn-line); border-radius: var(--nprn-r-md); padding: 24px; }
.nprn-rsvp__h { margin: 0 0 16px !important; font: 700 1.15rem/1.2 'Montserrat', sans-serif !important; color: var(--nprn-ink) !important; display: flex; align-items: center; gap: 10px; text-shadow: none !important; }
.nprn-rsvp__count { font-size: .78rem; font-weight: 700; color: var(--nprn-green-ink); background: rgba(152, 203, 60, .18); border-radius: 999px; padding: 3px 10px; }
.nprn-rsvp__muted { margin: 0; color: var(--nprn-muted); }
.nprn-rsvp__done { display: flex; align-items: center; gap: 12px; padding: 16px 20px; border-radius: var(--nprn-r-md); background: rgba(152, 203, 60, .14); border: 1px solid rgba(152, 203, 60, .45); color: var(--nprn-ink); font-weight: 600; }
.nprn-rsvp__tick { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--nprn-green); color: var(--nprn-ink); font-weight: 800; }

/* attendee table */
.nprn-rsvp__tablewrap { overflow-x: auto; }
.nprn-rsvp__table { width: 100% !important; border-collapse: collapse; font-size: .92rem; }
.nprn-rsvp__table th { text-align: left; font: 700 .72rem/1 'Montserrat', sans-serif; letter-spacing: .08em; text-transform: uppercase; color: var(--nprn-muted); padding: 0 12px 12px 0; border-bottom: 1px solid var(--nprn-line-strong); }
.nprn-rsvp__table td { padding: 12px 12px 12px 0; border-bottom: 1px solid var(--nprn-line); color: var(--nprn-text); vertical-align: top; overflow-wrap: anywhere; }
.nprn-rsvp__table tr:last-child td { border-bottom: 0; }
.nprn-rsvp__table td:first-child { font-weight: 600; color: var(--nprn-ink); }
.nprn-rsvp__table a { color: var(--nprn-blue); }
/* The address itself stays out of sight: each attendee gets a small outlined EMAIL pill (mailto) instead */
.nprn-rsvp__table a.nprn-rsvp__email {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	padding: 0 14px;
	border: 1px solid #4a4a4a;
	border-radius: 999px;
	background: transparent;
	color: #4a4a4a !important; /* !important: the event page's post-content link rules (.nprn-ev-card ... a:hover, green) out-rank this */
	font: 700 .72rem/1 'Montserrat', sans-serif;
	letter-spacing: .08em;
	text-transform: uppercase;
	text-decoration: none !important;
	transition: background-color .2s var(--nprn-ease), border-color .2s var(--nprn-ease), color .2s var(--nprn-ease);
}
.nprn-rsvp__table a.nprn-rsvp__email:hover,
.nprn-rsvp__table a.nprn-rsvp__email:focus-visible { background: var(--nprn-blue); border-color: var(--nprn-blue); color: #fff !important; }
.nprn-rsvp__table a.nprn-rsvp__email:focus-visible { outline: 2px solid var(--nprn-green); outline-offset: 2px; }

/* docs & links */
.nprn-rsvp__links { list-style: none; margin: 0 !important; padding: 0 !important; display: grid; gap: 8px; }
.nprn-rsvp__links li { margin: 0; }
.nprn-rsvp__links a { display: flex; align-items: center; gap: 10px; padding: 12px 16px; border: 1px solid var(--nprn-line); border-radius: var(--nprn-r-sm); color: var(--nprn-ink); font-weight: 600; text-decoration: none; transition: box-shadow .25s var(--nprn-ease), border-color .25s var(--nprn-ease); overflow-wrap: anywhere; }
.nprn-rsvp__links a::before { content: ''; flex: 0 0 18px; height: 18px; background: var(--nprn-green-ink); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 13a5 5 0 0 0 7.5.5l3-3a5 5 0 0 0-7-7l-1.7 1.7'/%3E%3Cpath d='M14 11a5 5 0 0 0-7.5-.5l-3 3a5 5 0 0 0 7 7l1.7-1.7'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 13a5 5 0 0 0 7.5.5l3-3a5 5 0 0 0-7-7l-1.7 1.7'/%3E%3Cpath d='M14 11a5 5 0 0 0-7.5-.5l-3 3a5 5 0 0 0 7 7l1.7-1.7'/%3E%3C/svg%3E") center/contain no-repeat; }
.nprn-rsvp__links a:hover { border-color: rgba(152, 203, 60, .7); box-shadow: 0 0 0 3px rgba(152, 203, 60, .18); }

/* admin panel */
.nprn-rsvp__admin { border: 1px solid rgba(152, 203, 60, .5); background: rgba(152, 203, 60, .08); border-radius: var(--nprn-r-md); padding: 14px 20px; }
.nprn-rsvp__admin summary { cursor: pointer; font-weight: 700; font-size: .85rem; letter-spacing: .02em; color: var(--nprn-green-ink); }
.nprn-rsvp__admin form { display: grid; gap: 14px; margin-top: 16px; }
.nprn-rsvp__admin label { display: grid; gap: 6px; font-weight: 600; font-size: .85rem; color: var(--nprn-ink); }
.nprn-rsvp__admin label small { font-weight: 400; color: var(--nprn-muted); }
.nprn-rsvp__admin select, .nprn-rsvp__admin textarea { width: 100%; border: 1px solid var(--nprn-line-strong); border-radius: var(--nprn-r-sm); padding: 10px 12px; font: 400 .9rem 'Montserrat', sans-serif; background: #fff; }
.nprn-rsvp__admin .nprn-btn { justify-self: start; }
.nprn-rsvp__ok { margin: 12px 0 0; color: var(--nprn-green-ink); font-weight: 700; }

/* the registration form inside the panel */
.nprn-rsvp .gform_wrapper { margin: 0 !important; }
.nprn-rsvp .gform_wrapper input[type="text"], .nprn-rsvp .gform_wrapper input[type="email"], .nprn-rsvp .gform_wrapper textarea, .nprn-rsvp .gform_wrapper select { width: 100% !important; border: 1px solid var(--nprn-line-strong) !important; border-radius: var(--nprn-r-sm) !important; padding: 10px 12px !important; font-family: 'Montserrat', sans-serif; }
.nprn-rsvp .gform_wrapper .gform_button, .nprn-rsvp .gform_wrapper input[type="submit"] { background: var(--nprn-green) !important; color: var(--nprn-ink) !important; border: 0 !important; border-radius: 999px !important; padding: 13px 30px !important; font: 700 .85rem 'Montserrat', sans-serif !important; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; transition: box-shadow .25s var(--nprn-ease); }
.nprn-rsvp .gform_wrapper .gform_button:hover { box-shadow: 0 0 0 4px rgba(152, 203, 60, .3); }

@media (max-width: 767px) {
	.nprn-rsvp__panel { padding: 18px; }
	.nprn-rsvp__table thead { display: none; }
	.nprn-rsvp__table tr { display: block; padding: 12px 0; border-bottom: 1px solid var(--nprn-line); }
	.nprn-rsvp__table tr:last-child { border-bottom: 0; }
	.nprn-rsvp__table td { display: block; padding: 2px 0; border: 0; }
	.nprn-rsvp__table td:empty { display: none; }
	.nprn-rsvp__table td[data-label]:not(:first-child)::before { content: attr(data-label) ': '; color: var(--nprn-muted); font-size: .78rem; }
}

.nprn-rsvp__preview { justify-self: start; font-size: .85rem; font-weight: 600; color: var(--nprn-blue); }
.nprn-rsvp__ok a { color: var(--nprn-blue); }
.nprn-rsvp .gform_wrapper .gfield_label, .nprn-rsvp .gform_wrapper legend.gfield_label { color: var(--nprn-ink) !important; font: 600 .88rem/1.4 'Montserrat', sans-serif !important; text-transform: none !important; letter-spacing: 0 !important; margin-bottom: 6px; }
.nprn-rsvp .gform_wrapper .gfield_required, .nprn-rsvp .gform_wrapper .gfield_required_text { color: var(--nprn-muted) !important; font-style: normal !important; font-weight: 500; font-size: .75rem; }
.nprn-rsvp .gform_wrapper .gsection_title { font: 700 1rem 'Montserrat', sans-serif !important; color: var(--nprn-ink) !important; text-transform: none !important; }
.nprn-rsvp .gform_wrapper .gsection { border-bottom: 1px solid var(--nprn-line) !important; margin-top: 12px; }
.nprn-rsvp .gform_wrapper .gfield_description, .nprn-rsvp .gform_wrapper .gform-field-label--type-sub { color: var(--nprn-muted); font-size: .8rem; }

/* submitted state: make the confirmation unmistakable */
.nprn-rsvp__panel:has(.gform_confirmation_wrapper) { background: linear-gradient(180deg, rgba(152,203,60,.16), rgba(152,203,60,.06)); border-color: rgba(152,203,60,.65); padding: 40px 28px 36px; text-align: center; }
.nprn-rsvp__panel:has(.gform_confirmation_wrapper) > .nprn-rsvp__h { display: none; }
.nprn-rsvp .gform_confirmation_wrapper::before { content: ''; display: block; width: 64px; height: 64px; margin: 0 auto 20px; border-radius: 50%; background: var(--nprn-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231b2b36' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/34px no-repeat; box-shadow: 0 0 0 8px rgba(152,203,60,.25); animation: nprn-pop .55s var(--nprn-ease) both; }
.nprn-rsvp .gform_confirmation_wrapper::after { content: 'You\2019re registered'; display: block; order: -1; }
.nprn-rsvp .gform_confirmation_wrapper { display: flex; flex-direction: column; align-items: center; }
.nprn-rsvp .gform_confirmation_wrapper::after { position: static; margin: 0 0 14px; font: 800 1.5rem/1.2 'Montserrat', sans-serif; color: var(--nprn-ink); order: 0; }
.nprn-rsvp .gform_confirmation_message { text-align: center; max-width: 560px; color: var(--nprn-text); line-height: 1.6; }
@keyframes nprn-pop { 0% { transform: scale(.4); opacity: 0; } 60% { transform: scale(1.12); opacity: 1; } 100% { transform: scale(1); } }
@media (prefers-reduced-motion: reduce) { .nprn-rsvp .gform_confirmation_wrapper::before { animation: none; } }
.nprn-rsvp .gform_confirmation_wrapper::before { order: -1; }
.nprn-rsvp .gform_confirmation_message { order: 1; }
.nprn-rsvp .gform_confirmation_wrapper, .nprn-rsvp .gform_confirmation_message { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; margin-left: 0 !important; margin-right: 0 !important; }

.nprn-rsvp__note { margin: 0 0 12px; padding: 10px 14px; border-radius: var(--nprn-r-sm); background: var(--nprn-bg); color: var(--nprn-muted); font-size: 13px; line-height: 1.5; }

/* ==========================================================================
   About page (51857) – containers: intro, vision/mission cards, values grid,
   offerings grid, governance cards.  Typography sizes live in the widgets.
   ========================================================================== */
.nprn-about-head .elementor-widget { width: auto; margin: 0; }
.nprn-about-eyebrow .elementor-heading-title {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font: 700 13px/1 Montserrat, sans-serif;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--nprn-green-deep, #4f7a12);
}
.nprn-about-eyebrow .elementor-heading-title::before,
.nprn-about-eyebrow .elementor-heading-title::after { content: ""; width: 28px; height: 2px; background: var(--nprn-green); border-radius: 2px; }
.nprn-about-card .nprn-about-eyebrow .elementor-heading-title::after { display: none; }
.nprn-about-card .nprn-about-eyebrow .elementor-heading-title::before { width: 22px; }
.nprn-about-eyebrow--light .elementor-heading-title { color: #cfe99a; }
.nprn-about-title .elementor-heading-title { letter-spacing: -0.02em; text-wrap: balance; }
.nprn-about-head .nprn-about-title { position: relative; padding-bottom: 22px; }
.nprn-about-head .nprn-about-title::after { content: ""; position: absolute; left: 50%; bottom: 0; width: 72px; height: 5px; margin-left: -36px; border-radius: 5px; background: var(--nprn-green); }

/* intro copy */
.nprn-about-intro .elementor-widget-text-editor { text-align: center; }
.nprn-about-intro .elementor-widget-text-editor p { font-size: 17.5px; line-height: 1.8; color: var(--nprn-text); margin: 0 0 1.1em; text-align: center !important; }

/* vision / mission */
.nprn-about-vm > .elementor-element, .nprn-about-vm > .e-con-inner > .elementor-element { flex: 1 1 440px; min-width: 0; }
.nprn-about-card { position: relative; overflow: hidden; box-shadow: 0 24px 50px -28px rgba(16, 38, 54, 0.55); }
.nprn-about-card--mission { background: linear-gradient(145deg, var(--nprn-blue) 0%, var(--nprn-blue-deep) 100%) !important; }
.nprn-about-card .elementor-widget { width: 100%; margin: 0; }
.nprn-about-card--vision::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10, 28, 42, 0.35) 0%, rgba(10, 28, 42, 0.82) 100%); z-index: 0; }
.nprn-about-card > * { position: relative; z-index: 1; }
.nprn-about-card .elementor-widget-text-editor,
.nprn-about-card .elementor-widget-text-editor p,
.nprn-about-card .elementor-widget-text-editor strong { font: 600 clamp(19px, 2vw, 24px)/1.5 Montserrat, sans-serif !important; color: #fff !important; text-align: left !important; margin: 0; }
.nprn-about-card .nprn-about-title .elementor-heading-title { text-align: left; }

/* values */
.nprn-about-grid { align-items: stretch; }
.nprn-about-value { background: #fff; border: 1px solid var(--nprn-line); border-radius: 20px; padding: 30px 28px 32px; box-shadow: 0 1px 2px rgba(16, 38, 54, 0.04); transition: transform 0.3s var(--nprn-ease), box-shadow 0.3s var(--nprn-ease); counter-increment: nprnval; position: relative; }
.nprn-about-grid--values { counter-reset: nprnval; }
.nprn-about-value:hover { transform: translateY(-4px); box-shadow: 0 22px 40px -26px rgba(16, 38, 54, 0.45); }
.nprn-about-value::before { content: "0" counter(nprnval); display: block; font: 800 13px/1 Montserrat, sans-serif; letter-spacing: 0.16em; color: var(--nprn-green-deep, #4f7a12); margin-bottom: 14px; }
.nprn-about-value > .elementor-widget-container,
.nprn-about-grid--gov > .elementor-widget-text-editor > .elementor-widget-container,
.nprn-about-grid--offers .elementor-widget-icon-box > .elementor-widget-container { padding: 0 !important; margin: 0 !important; }
.nprn-about-value :is(h1, h2, h3, h4, h5, h6, p:first-child strong, strong:first-child) { font: 800 22px/1.2 Montserrat, sans-serif !important; color: var(--nprn-ink) !important; text-align: left !important; margin: 0 0 10px; }
.nprn-about-value p { font: 400 15.5px/1.7 Montserrat, sans-serif !important; color: var(--nprn-text) !important; text-align: left !important; margin: 0 0 8px; }

/* offerings */
.nprn-about-offerings > .e-con-inner > .elementor-element > .nprn-about-head + .elementor-widget-text-editor,
.nprn-about-offerings .elementor-widget-text-editor { text-align: center; max-width: 780px; margin: 0 auto 36px; }
.nprn-about-offerings .elementor-widget-text-editor p { font-size: 17px; line-height: 1.7; color: var(--nprn-text); text-align: center !important; }
.nprn-about-grid--offers .elementor-widget-icon-box { background: var(--nprn-surface, #fff); border: 1px solid var(--nprn-line); border-radius: 20px; padding: 34px 26px; text-align: center; transition: transform 0.3s var(--nprn-ease), box-shadow 0.3s var(--nprn-ease), border-color 0.3s; }
.nprn-about-grid--offers .elementor-widget-icon-box:hover { transform: translateY(-4px); border-color: var(--nprn-green); box-shadow: 0 22px 40px -26px rgba(16, 38, 54, 0.45); }
.nprn-about-grid--offers .elementor-icon-box-icon { margin-bottom: 14px; }
.nprn-about-grid--offers .elementor-icon-box-icon .elementor-icon { width: 76px; height: 76px; border-radius: 50%; background: #eef5df; display: inline-flex; align-items: center; justify-content: center; color: var(--nprn-green-deep, #4f7a12); fill: var(--nprn-green-deep, #4f7a12); }
.nprn-about-grid--offers .elementor-icon-box-icon .elementor-icon i { font-size: 32px; }
.nprn-about-grid--offers .elementor-icon-box-icon .elementor-icon svg { width: 32px; height: 32px; }
.nprn-about-grid--offers .elementor-icon-box-title { font: 800 21px/1.2 Montserrat, sans-serif; color: var(--nprn-ink); margin: 0 0 8px; }
.nprn-about-grid--offers .elementor-icon-box-description { font: 400 15.5px/1.65 Montserrat, sans-serif; color: var(--nprn-text); }

/* governance */
.nprn-about-gov .elementor-widget-text-editor:not(.nprn-about-gov-card) { text-align: center; max-width: 820px; margin: 0 auto 36px; }
.nprn-about-gov .elementor-widget-text-editor p { color: var(--nprn-text); font-size: 16.5px; line-height: 1.7; }
.nprn-about-grid--gov { width: 100%; }
.nprn-about-gov .nprn-about-grid--gov > .elementor-widget-text-editor { width: 100%; max-width: none !important; margin: 0 !important; text-align: left; }
.nprn-about-grid--gov > .elementor-widget-text-editor p:first-child em { display: block; font: italic 500 14.5px/1.5 Montserrat, sans-serif; color: var(--nprn-text); margin-top: 6px; }
.nprn-about-grid--gov > .elementor-widget-text-editor { background: #fff; border: 1px solid var(--nprn-line); border-radius: 20px; padding: 34px 32px; max-width: none; margin: 0; }
.nprn-about-grid--gov > .elementor-widget-text-editor p { text-align: left !important; font-size: 15.5px; line-height: 1.6; margin: 0 0 18px; }
.nprn-about-grid--gov > .elementor-widget-text-editor p:first-child { font: 800 22px/1.2 Montserrat, sans-serif; color: var(--nprn-ink); padding-bottom: 14px; border-bottom: 3px solid var(--nprn-green); display: block; margin-bottom: 22px; }
.nprn-about-grid--gov > .elementor-widget-text-editor strong { color: var(--nprn-ink); }
@media (max-width: 767px) {
	.nprn-about-intro { padding-top: 56px !important; }
	.nprn-about-card { padding: 38px 26px !important; }
	.nprn-about-band, .nprn-about-offerings { padding-top: 60px !important; padding-bottom: 60px !important; }
}

/* ==========================================================================
   Webinars (40986) – "Recent Webinar" feature card: video | details
   ========================================================================== */
.nprn-feature { width: 100%; max-width: 1140px; margin-inline: auto; overflow: hidden; align-items: stretch; box-shadow: 0 40px 80px -40px rgba(0, 0, 0, 0.7); }
.nprn-feature > .e-con-inner { display: flex; flex-direction: row; align-items: stretch; gap: 0; width: 100%; max-width: none; padding: 0; }
.nprn-feature, .nprn-feature > .e-con-inner { flex-wrap: nowrap; }
.nprn-feature__media { flex: 1.3 1 0; min-width: 0; align-self: stretch; }
.nprn-feature__body { flex: 1 1 0; min-width: 0; align-self: stretch; }
.nprn-feature__media .elementor-widget, .nprn-feature__media .elementor-widget-container { width: 100%; height: 100%; margin: 0; }
.nprn-feature__media .elementor-widget-container > div { min-height: 100%; }
.nprn-feature__body .elementor-widget { width: 100%; margin: 0; }
.nprn-feature__eyebrow { width: auto !important; }
.nprn-feature__eyebrow .elementor-heading-title {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	border-radius: 999px;
	background: #eef5df;
	font: 700 12px/1 Montserrat, sans-serif;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--nprn-green-ink);
}
.nprn-feature__eyebrow .elementor-heading-title::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--nprn-green); box-shadow: 0 0 0 4px rgba(152, 203, 60, 0.28); }
.nprn-feature__title .elementor-heading-title { text-align: left; letter-spacing: -0.02em; text-wrap: balance; }
.nprn-feature__text, .nprn-feature__text p { text-align: left !important; font: 400 16px/1.7 Montserrat, sans-serif !important; color: var(--nprn-text) !important; }
.nprn-feature__text p { margin: 0 0 12px; }
.nprn-feature__text strong { color: var(--nprn-ink); }
.nprn-feature__text a { color: var(--nprn-blue); text-underline-offset: 3px; }
@media (max-width: 880px) {
	.nprn-feature, .nprn-feature > .e-con-inner { flex-direction: column !important; }
	.nprn-feature__media, .nprn-feature__body { flex: 1 1 auto; width: 100%; }
	.nprn-feature__body { padding: 32px 26px !important; }
	.nprn-feature-band { padding: 56px 16px !important; }
}
.nprn-feature__media { padding: 0 !important; }
.nprn-feature__media .elementor-widget-html { margin: 0 !important; align-self: center; }

/* ==========================================================================
   Webinars (40986) – "Upcoming Webinar" card ([nprn_next_webinar]): image | details
   ========================================================================== */
.nprn-upnext-band { padding: 56px 24px; }
.nprn-upnext-band:not(:has(.nprn-upnext)) { display: none; }
.nprn-upnext-band > .elementor-widget { width: 100%; margin: 0; }
.nprn-upnext { display: flex; align-items: stretch; width: 100%; max-width: 1140px; margin-inline: auto; overflow: hidden; border: 1px solid var(--nprn-line); border-radius: 24px; background: var(--nprn-surface); box-shadow: 0 30px 60px -40px rgba(27, 43, 54, 0.45); }
.nprn-upnext__media { display: flex; flex: 1 1 0; align-items: center; justify-content: center; min-width: 0; background: #0b1a26; }
.nprn-upnext__img { display: block; width: 100%; height: auto; }
/* Image on the left (event flyers are usually square and full of text, so it is never cropped). */
.nprn-upnext--has-image .nprn-upnext__media { flex: 0 0 50%; }
.nprn-upnext--has-image .nprn-upnext__body { padding: 40px 44px; }
.nprn-upnext__body { display: flex; flex: 1 1 0; flex-direction: column; align-items: flex-start; gap: 18px; min-width: 0; padding: 44px 48px; }
/* No featured image: the media side becomes a date panel (the date moves out of the body). */
.nprn-upnext__media--date { flex: 0.8 1 0; flex-direction: column; gap: 22px; padding: 44px 32px; background: linear-gradient(160deg, #1f3a4d 0%, #0b1a26 100%); text-align: center; }
.nprn-upnext__media--date .nprn-upnext__when { flex-direction: column; gap: 18px; }
.nprn-upnext__media--date .nprn-dl__badge { width: 118px; border-radius: 20px; box-shadow: 0 18px 36px -12px rgba(0, 0, 0, 0.6); }
.nprn-upnext__media--date .nprn-dl__m { padding: 7px 0; font-size: 13px; }
.nprn-upnext__media--date .nprn-dl__d { padding-top: 6px; font-size: 54px; }
.nprn-upnext__media--date .nprn-dl__y { padding-bottom: 12px; font-size: 12px; }
.nprn-upnext__media--date .nprn-upnext__datetext { color: rgba(255, 255, 255, 0.82); }
.nprn-upnext__media--date .nprn-upnext__datetext b { font-size: 20px; color: #fff; }
.nprn-upnext__media--date .nprn-upnext__chips { justify-content: center; }
.nprn-upnext__media--date .nprn-upnext__chips li { background: rgba(255, 255, 255, 0.12); color: #fff; }
.nprn-upnext__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	border-radius: 999px;
	background: #eef5df;
	font: 700 12px/1 Montserrat, sans-serif;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--nprn-green-ink);
}
.nprn-upnext__eyebrow::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--nprn-green); box-shadow: 0 0 0 4px rgba(152, 203, 60, 0.28); }
.nprn-upnext__title { margin: 0; font: 800 clamp(24px, 2.6vw, 32px)/1.2 Montserrat, sans-serif; letter-spacing: -0.02em; text-wrap: balance; color: var(--nprn-ink); }
.nprn-upnext__title a { color: inherit; text-decoration: none; transition: color 0.2s var(--nprn-ease); }
.nprn-upnext__title a:hover { color: var(--nprn-blue); }
.nprn-upnext__when { display: flex; align-items: center; gap: 16px; }
.nprn-upnext__when .nprn-dl__badge { box-shadow: 0 0 0 1px var(--nprn-line-strong), 0 10px 24px -12px rgba(27, 43, 54, 0.4); }
.nprn-upnext__datetext { margin: 0; font: 500 14px/1.4 Montserrat, sans-serif; color: var(--nprn-text); }
.nprn-upnext__datetext b { display: block; font: 700 18px/1.35 Montserrat, sans-serif; color: var(--nprn-ink); }
.nprn-upnext__datetext span { display: block; }
.nprn-upnext__datetext .nprn-upnext__chips { margin-top: 10px; }
/* With an image, the date block becomes a panel in the body. */
.nprn-upnext--has-image .nprn-upnext__when { align-self: stretch; padding: 16px 20px; border: 1px solid var(--nprn-line); border-radius: 16px; background: var(--nprn-bg); }
.nprn-upnext--has-image .nprn-upnext__chips li { background: var(--nprn-surface); box-shadow: 0 0 0 1px var(--nprn-line); }
.nprn-upnext__chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.nprn-upnext__chips li { margin: 0; padding: 6px 12px; border-radius: 999px; background: var(--nprn-bg); font: 600 13px/1.2 Montserrat, sans-serif; color: var(--nprn-text); }
.nprn-upnext__text { margin: 0; font: 400 16px/1.7 Montserrat, sans-serif; color: var(--nprn-text); }
.nprn-upnext__btn {
	display: inline-flex;
	align-items: center;
	padding: 14px 26px;
	border-radius: 999px;
	background: var(--nprn-blue);
	font: 700 14px/1 Montserrat, sans-serif;
	letter-spacing: 0.04em;
	color: #fff;
	text-decoration: none;
	transition: background-color 0.2s var(--nprn-ease), transform 0.16s var(--nprn-ease);
}
.nprn-upnext__btn:hover { background: var(--nprn-blue-deep); color: #fff; }
.nprn-upnext__btn:active { transform: scale(0.97); }
.nprn-upnext__btn:focus-visible, .nprn-upnext__title a:focus-visible { outline: 3px solid var(--nprn-green); outline-offset: 3px; }
@media (max-width: 880px) {
	.nprn-upnext { flex-direction: column; }
	.nprn-upnext--has-image .nprn-upnext__media { flex: none; }
	.nprn-upnext--has-image .nprn-upnext__img { max-width: 520px; margin-inline: auto; }
	.nprn-upnext__body, .nprn-upnext--has-image .nprn-upnext__body { padding: 32px 26px; }
	.nprn-upnext-band { padding: 40px 16px; }
}

/* ==========================================================================
   Webinars (40986) – "Past Webinars": centered heading + card grid
   (.nprn-past = heading container, .nprn-past__grid = grid container; cards are its children)
   ========================================================================== */
.nprn-past { margin-top: 80px !important; }
.nprn-past .elementor-heading-title {
	font: 800 clamp(28px, 3vw, 38px)/1.15 Montserrat, sans-serif !important;
	letter-spacing: -0.02em;
	color: var(--nprn-ink) !important;
	text-align: center;
}
.nprn-past .elementor-heading-title::after { content: ""; display: block; width: 56px; height: 4px; margin: 16px auto 0; border-radius: 2px; background: var(--nprn-green); }

.nprn-past__grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
	gap: 28px;
	width: 100% !important;
	max-width: 1140px !important;
	margin: 40px auto 96px;
	padding: 0 24px !important;
	box-sizing: border-box;
}
.nprn-past__grid > .e-con {
	display: flex;
	flex-direction: column;
	gap: 0 !important;
	width: auto !important;
	max-width: none !important;
	min-width: 0;
	padding: 0 !important;
	overflow: hidden;
	background: var(--nprn-surface);
	border: 1px solid var(--nprn-line);
	border-radius: 18px;
	box-shadow: 0 1px 2px rgba(27, 43, 54, 0.04), 0 18px 36px -28px rgba(27, 43, 54, 0.35);
}
.nprn-past__grid > .e-con > .elementor-widget { width: 100%; margin: 0; }

/* Media: same 16:9 frame for Bunny embeds and YouTube/Vimeo thumbnails, flush to the card edge. */
.nprn-past__grid .elementor-widget-html .elementor-widget-container > div { background: #0b1a26; }
.nprn-past__grid :is(.jet-video, .jet-video__overlay, iframe) { border-radius: 0 !important; box-shadow: none !important; }
.nprn-past__grid .elementor-widget-jet-video .elementor-widget-container { box-shadow: none !important; }
.nprn-past__grid .jet-video__play-button { color: var(--nprn-blue) !important; transition: color 0.2s var(--nprn-ease); }
.nprn-past__grid .jet-video__overlay:hover .jet-video__play-button { color: var(--nprn-blue-deep) !important; }

/* Text: title, date, description – left aligned, equal-height cards. */
.nprn-past__grid .elementor-widget-text-editor { flex: 1; padding: 20px 22px 24px; text-align: left !important; }
body .nprn-past__grid .elementor-widget-text-editor :is(h6, p) { text-align: left !important; }
body .nprn-past__grid .elementor-widget-text-editor h6 { margin: 0 0 8px; font: 700 17px/1.35 Montserrat, sans-serif; letter-spacing: -0.01em; color: var(--nprn-ink); text-wrap: balance; }
body .nprn-past__grid .elementor-widget-text-editor p { margin: 0 0 8px; font: 400 14px/1.65 Montserrat, sans-serif; color: var(--nprn-text); }
body .nprn-past__grid .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.nprn-past__grid .elementor-widget-text-editor em { font-style: normal; font-weight: 600; font-size: 13px; letter-spacing: 0.02em; color: var(--nprn-green-ink); }

@media (prefers-reduced-motion: no-preference) {
	.nprn-past__grid > .e-con { transition: transform 0.25s var(--nprn-ease), box-shadow 0.25s var(--nprn-ease); }
}
@media (hover: hover) and (pointer: fine) {
	.nprn-past__grid > .e-con:hover { transform: translateY(-3px); box-shadow: 0 1px 2px rgba(27, 43, 54, 0.04), 0 26px 44px -26px rgba(27, 43, 54, 0.42); }
}
@media (max-width: 767px) {
	.nprn-past { margin-top: 56px !important; }
	.nprn-past__grid { gap: 20px; margin: 32px auto 64px; padding: 0 16px !important; }
}

/* ==========================================================================
   Contact Us (41265) – intro text + form card
   ========================================================================== */
.nprn-contact__intro .elementor-widget-text-editor { text-align: center; }
.nprn-contact__intro .elementor-widget-text-editor p { font: 400 17px/1.75 Montserrat, sans-serif; color: var(--nprn-text); text-align: center !important; margin: 0 0 8px; }
.nprn-contact__intro .elementor-widget-text-editor :is(h1, h2, h3, h4, strong:only-child) { font-weight: 800; color: var(--nprn-ink); }
.nprn-contact__form { border: 1px solid var(--nprn-line) !important; box-shadow: 0 30px 60px -40px rgba(27, 43, 54, 0.45); }
.nprn-contact__form .elementor-widget { width: 100%; margin: 0; }
.nprn-contact__form .gform_wrapper { margin: 0 !important; max-width: none; }
@media (max-width: 767px) { .nprn-contact__form { padding: 26px 20px !important; } .nprn-contact { padding: 48px 16px 64px !important; } }


/* ==========================================================================
   Single event: "Spotlight" hero (template 40827)
   Dark, image-tinted hero (text left, framed image right) + a one-row details strip that
   overlaps its bottom edge. Structure: .nprn-ev-hero > [__bg, .nprn-ev-details, .nprn-ev-poster]
   followed by .nprn-ev-strip (organizer, cost, actions). Date/time live in the hero date badge.
   ========================================================================== */
.e-con.nprn-ev-hero {
	display: grid !important;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
	align-items: center;
	gap: clamp(24px, 4vw, 48px) !important;
	position: relative;
	overflow: hidden;
	container-type: inline-size;
	margin-bottom: 0;
	padding: clamp(28px, 5vw, 52px) clamp(20px, 4.5vw, 52px) clamp(76px, 8vw, 96px) !important;
	border: 0 !important;
	border-radius: 24px !important;
	background: linear-gradient(135deg, #1f3a4b, #2c4a5d) !important;
	box-shadow: 0 18px 40px -18px rgba(27, 43, 54, 0.45) !important;
	isolation: isolate;
}
/* tinted blurred copy of the featured image behind everything */
.nprn-ev-hero__bg { position: absolute !important; inset: 0; z-index: -2; width: 100% !important; height: 100%; margin: 0 !important; pointer-events: none; }
.nprn-ev-hero__bg .elementor-widget-container, .nprn-ev-hero__bg img { width: 100%; height: 100% !important; display: block; }
.nprn-ev-hero__bg img { object-fit: cover; transform: scale(1.3); filter: blur(34px) saturate(1.2); opacity: 0.38; border-radius: 0 !important; box-shadow: none !important; }
.e-con.nprn-ev-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(16, 27, 35, 0.8), rgba(16, 27, 35, 0.25) 70%); pointer-events: none; }
/* text column */
.e-con.nprn-ev-details { position: static; display: flex; flex-direction: column; align-items: flex-start; gap: 20px !important; width: 100% !important; max-width: none; padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; min-width: 0; }
.nprn-ev-details > .elementor-widget { width: auto; max-width: 100%; margin: 0 !important; }
.nprn-ev-details .elementor-widget-container { padding: 0 !important; }
.nprn-ev-hero .elementor-widget-theme-post-title { width: 100%; }
/* title scales with the hero width so long names wrap between words instead of inside them */
.nprn-ev-hero .elementor-widget-theme-post-title .elementor-heading-title {
	margin: 0; color: #fff !important; text-align: left;
	font: 800 clamp(1.6rem, 3.8cqw, 2.5rem)/1.12 Montserrat, sans-serif !important;
	letter-spacing: -0.01em; text-wrap: balance; overflow-wrap: break-word; word-break: normal; hyphens: none;
}
/* date badge + long date/time */
.nprn-dl { display: flex; align-items: center; gap: 16px; }
.nprn-dl__badge { display: flex; flex-direction: column; align-items: center; flex: none; width: 78px; overflow: hidden; border-radius: 16px; background: #fff; color: #1b2b36; text-align: center; box-shadow: 0 10px 24px -8px rgba(0, 0, 0, 0.5); }
.nprn-dl__m { align-self: stretch; padding: 5px 0; background: var(--nprn-green); font: 800 11px/1.2 Montserrat, sans-serif; letter-spacing: 0.16em; }
.nprn-dl__d { padding-top: 4px; font: 800 35px/1.1 Montserrat, sans-serif; }
.nprn-dl__y { padding-bottom: 8px; font: 700 11px/1.4 Montserrat, sans-serif; letter-spacing: 0.1em; color: #6b7882; }
.nprn-dl__text { margin: 0; font: 500 14px/1.4 Montserrat, sans-serif; color: rgba(255, 255, 255, 0.82); }
.nprn-dl__text b { display: block; font: 700 18px/1.35 Montserrat, sans-serif; color: #fff; }
.nprn-dl__text span { display: block; white-space: nowrap; }
/* posted by */
.nprn-ev-hero .nprn-ev-postedby { padding: 0 !important; gap: 0 !important; min-height: 0; background: none !important; border: 0 !important; width: auto; }
.nprn-ev-hero .posted-by { width: auto !important; flex: none !important; }
.nprn-ev-hero .posted-by .elementor-widget-container { border: 0 !important; }
.nprn-ev-hero .posted-by .jet-listing-dynamic-meta { min-height: 0 !important; padding: 0 !important; font: 500 14px/1.5 Montserrat, sans-serif !important; }
.nprn-ev-hero .posted-by .jet-listing-dynamic-meta__icon { display: none !important; }
.nprn-ev-hero .posted-by .jet-listing-dynamic-meta__item { gap: 0 !important; }
.nprn-ev-hero .posted-by .jet-listing-dynamic-meta,
.nprn-ev-hero .posted-by .jet-listing-dynamic-meta__item,
.nprn-ev-hero .posted-by .jet-listing-dynamic-meta__item span { color: rgba(255, 255, 255, 0.78) !important; }
.nprn-ev-hero .nprn-ev-postedby .posted-by .jet-listing-dynamic-meta__item a,
.nprn-ev-hero .nprn-ev-postedby .posted-by .jet-listing-dynamic-meta__item a span { color: #fff !important; font-weight: 700; }
/* bookmark: round glass button, top-right of the hero */
.elementor-element.nprn-ev-bm { position: absolute !important; inset: 18px 18px auto auto !important; z-index: 3; width: 44px !important; height: 44px; display: grid; place-items: center; box-sizing: border-box; border-radius: 50%; border: 1.5px solid rgba(255, 255, 255, 0.5); background: rgba(255, 255, 255, 0.12); backdrop-filter: blur(6px); }
.nprn-ev-bm .elementor-widget-container { border: 0 !important; }
.nprn-ev-bm .elementor-widget-container, .nprn-ev-bm .elementor-shortcode { display: grid; place-items: center; line-height: 0; }
.nprn-ev-bm .um-clear { width: 44px; height: 44px; }
.nprn-ev-bm .um-user-bookmarks-button { display: block !important; width: 44px !important; height: 44px !important; padding: 0 !important; background-position: center !important; background-size: 20px auto !important; background-repeat: no-repeat !important; }
/* framed image, same shape for every upload: blurred fill + whole image contained */
.e-con.nprn-ev-poster { position: relative; order: 2; width: 100% !important; max-width: none; aspect-ratio: 16 / 11; padding: 0 !important; overflow: hidden; border: 6px solid rgba(255, 255, 255, 0.95) !important; border-radius: 18px !important; background: #1f3140 !important; box-shadow: 0 30px 60px -20px rgba(0, 0, 0, 0.65) !important; transform: rotate(1.2deg); min-width: 0; }
.nprn-ev-poster > .elementor-widget { position: absolute !important; inset: 0; width: 100% !important; height: 100%; margin: 0 !important; }
.nprn-ev-poster .elementor-widget-container { width: 100%; height: 100%; padding: 0 !important; }
.nprn-ev-poster .elementor-widget-container > a { display: block; width: 100%; height: 100%; }
.nprn-ev-poster img { display: block; width: 100% !important; height: 100% !important; max-width: none; border-radius: 0 !important; box-shadow: none !important; }
.nprn-ev-poster__bd { z-index: 0; pointer-events: none; }
.nprn-ev-poster__bd img { object-fit: cover; transform: scale(1.3); filter: blur(22px) brightness(0.9); }
.nprn-ev-poster__img { z-index: 1; }
.nprn-ev-poster__img img { object-fit: contain; }
.nprn-ev-poster > .nprn-ev-poster__zoom { inset: auto 14px 14px auto; width: auto !important; height: auto; z-index: 2; }
.nprn-ev-poster__zoom .elementor-widget-container { width: auto; height: auto; }
.nprn-ev-poster__zoom .elementor-button { transition: background-color 0.2s var(--nprn-ease), transform 0.2s var(--nprn-ease); }
.nprn-ev-poster__zoom .elementor-button:hover { transform: translateY(-2px); }

/* details strip: organizer + cost on the left, buttons on the right, one row */
.e-con.nprn-ev-strip {
	position: relative; z-index: 3; display: flex !important; flex-flow: row wrap; align-items: stretch; gap: 0 !important;
	width: calc(100% - 2 * clamp(16px, 4vw, 40px)); max-width: calc(1040px - 2 * clamp(16px, 4vw, 40px)); margin: calc(-1 * clamp(44px, 5vw, 56px)) auto 20px; padding: 0 !important;
	background: var(--nprn-surface) !important; border: 1px solid var(--nprn-line) !important; border-radius: 20px !important; box-shadow: 0 18px 40px -18px rgba(27, 43, 54, 0.35) !important;
}
.nprn-ev-strip > .nprn-ev-info,
.nprn-ev-strip .nprn-ev-info > .elementor-widget,
.nprn-ev-strip .nprn-ev-info .elementor-widget-container,
.nprn-ev-strip > .event-organizer,
.nprn-ev-strip > .event-organizer .elementor-widget-container,
.nprn-ev-strip .nprn-ev-cost .jet-listing-dynamic-field,
.nprn-ev-strip > .event-organizer .jet-listing-dynamic-field { display: contents !important; }
.nprn-ev-strip .nprn-ev-info::before { display: none !important; }
/* info cells: icon tile + label over value */
.nprn-ev-strip .nprn-ev-cost .jet-listing-dynamic-field__inline-wrap,
.nprn-ev-strip .event-organizer .jet-listing-dynamic-field__inline-wrap {
	display: flex; align-items: center; gap: 14px; min-width: 0; min-height: 0; padding: 18px 24px; margin: 0 !important; border: 0;
	font: 700 14px/1.35 Montserrat, sans-serif; color: var(--nprn-ink);
}
.nprn-ev-strip .event-organizer .jet-listing-dynamic-field__inline-wrap { order: 1; flex: 1 1 250px; }
.nprn-ev-strip .nprn-ev-cost .jet-listing-dynamic-field__inline-wrap { order: 2; flex: 0 1 auto; max-width: 300px; border-left: 1px solid var(--nprn-line); }
.nprn-ev-strip .jet-listing-dynamic-field__icon,
.nprn-ev-strip .nprn-ev-cost .jet-listing-dynamic-field__inline-wrap::before { width: 42px !important; height: 42px; flex: 0 0 42px; border-radius: 12px; }
.nprn-ev-strip .jet-listing-dynamic-field__content { font: 700 14px/1.35 Montserrat, sans-serif !important; color: var(--nprn-ink) !important; overflow-wrap: break-word; min-width: 0; }
.nprn-ev-strip .nprn-lbl { display: block; margin: 0 0 2px; font: 700 10.5px/1.3 Montserrat, sans-serif !important; letter-spacing: 0.12em; text-transform: uppercase; color: var(--nprn-muted) !important; }
.nprn-ev-strip .jet-listing-dynamic-field__content span.nprn-val { display: block; }
/* actions: never wrap, never overflow */
.e-con.nprn-ev-strip > .nprn-ev-actions { order: 3; flex: 0 0 auto; display: flex; flex-flow: row nowrap; align-items: center; justify-content: flex-end; gap: 10px !important; margin: 0 0 0 auto; padding: 14px 20px !important; width: auto; max-width: none; background: none !important; border: 0 !important; border-left: 1px solid var(--nprn-line) !important; border-radius: 0 !important; }
.nprn-ev-strip .nprn-ev-actions .elementor-widget { width: auto !important; margin: 0 !important; flex: none; }
.nprn-ev-strip .nprn-addcal__btn,
.nprn-ev-strip .nprn-ev-actions .jet-listing-dynamic-link__link { white-space: nowrap; min-height: 42px; }
.nprn-ev-strip .nprn-addcal__btn { padding: 0 18px; font-size: 12.5px; background: var(--nprn-green) !important; border-color: var(--nprn-green) !important; color: #1b2b36 !important; }
.nprn-ev-strip .nprn-addcal__btn:hover { background: var(--nprn-green-ink) !important; border-color: var(--nprn-green-ink) !important; color: #fff !important; }
.nprn-ev-strip .nprn-ev-actions .jet-listing-dynamic-link__link { padding: 0 18px !important; font-size: 12.5px !important; border-color: var(--nprn-blue) !important; color: var(--nprn-blue-deep, #2c4a5d) !important; background: transparent !important; }
.nprn-ev-strip .nprn-ev-actions .jet-listing-dynamic-link__link:hover { background: var(--nprn-blue) !important; color: #fff !important; }
.nprn-ev-strip details.nprn-addcal > .nprn-addcal__menu { left: auto; right: 0; }
/* buttons drop under the details before anything gets squeezed */
@container (max-width: 760px) { .e-con.nprn-ev-hero { grid-template-columns: 1fr; } }
@media (max-width: 1100px) {
	.e-con.nprn-ev-strip > .nprn-ev-actions { flex: 1 1 100%; justify-content: flex-start; margin: 0; border-left: 0 !important; border-top: 1px solid var(--nprn-line) !important; }
}
@media (max-width: 760px) {
	.e-con.nprn-ev-hero { grid-template-columns: 1fr; padding-bottom: 80px !important; }
	.e-con.nprn-ev-poster { order: -1; transform: none; }
	.nprn-ev-strip .event-organizer .jet-listing-dynamic-field__inline-wrap,
	.nprn-ev-strip .nprn-ev-cost .jet-listing-dynamic-field__inline-wrap { flex: 1 1 100%; max-width: none; border-left: 0; }
	.nprn-ev-strip .nprn-ev-cost .jet-listing-dynamic-field__inline-wrap { border-top: 1px solid var(--nprn-line); }
	.e-con.nprn-ev-strip > .nprn-ev-actions { flex-wrap: wrap; }
}

/* ---------- GravityView columns (3.5.0) ----------
   GravityView wraps the entries in <section class="gv-entries"> inside the grid container, but its theme CSS
   expects the entries as direct children, so the whole list became ONE grid item (one column no matter the
   "Columns" setting). Let the wrapper dissolve into the grid and re-apply the card rules it was missing. */
.gv-themed.gv-list-multiple-container > .gv-entries,
.gv-themed.gv-layout-builder-multiple-container > .gv-entries,
.gv-themed.gv-diy-multiple-container > .gv-entries { display: contents; }
.gv-themed.gv-list-multiple-container > .gv-entries > .gv-list-view,
.gv-themed.gv-layout-builder-multiple-container > .gv-entries > .gv-layout-builder-view--entry,
.gv-themed.gv-diy-multiple-container > .gv-entries > .gv-diy-view { display: flex; flex-direction: column; margin-block-end: 0; }
.gv-themed.gv-list-multiple-container > .gv-entries > .gv-list-view .gv-list-view-footer { margin-block-start: auto; }
.gv-themed.gv-list-multiple-container > .gv-entries > .gv-no-results,
.gv-themed.gv-layout-builder-multiple-container > .gv-entries > .gv-no-results,
.gv-themed.gv-diy-multiple-container > .gv-entries > .gv-no-results { grid-column: 1 / -1; }

/* ---------- Jobs: Add job form ----------
   Opening the form hides the filter sidebar (inline display:none) but the main column stayed at its 76% width with a
   left margin, so the form sat off-centre. Centre it at the same width as the search row (like the Add news form). */
body.page-id-39850 .e-con:is(:has(> .e-con.hide-content[style*="display: none"]), :has(> .e-con.hide-content[style*="display:none"])) > .e-con:has(> .add-post-form) {
	width: min(100%, 1140px) !important; max-width: 100%; margin-inline: auto !important; flex: 0 1 auto;
}
