WaGadgetLoginForm .loginContainer.loginContainer .loginLink {
	color: #001871 !important;
	background-color: transparent;
}

/**************************************************** * Palm Valley Academy PTO – Site Styles (WildApricot) * Updated: Added .pva-footer class for footer styling ****************************************************/
/* ---------- Brand Variables ---------- */
:root {
	--pva-white: #ffffff;
	--pva-sand: #F8F1CE;
	--pva-yellow: #FDCD08;
	--pva-green: #054B42;
	--pva-black: #000000;
	--pva-navy: #052084;
	--pva-text: #111111;
	--pva-muted: #5b6571;
	--radius: 16px;
	--shadow: 0 8px 24px rgba(0, 0, 0, .08);
	/* UPDATE THIS PATH AFTER UPLOAD */
	--pva-logo-path: url('/resources/Images/WebAssets/pva_logo.png');
	--img-border: 1px solid rgba(0, 0, 0, .08);

	--menu-bg-hover: var(--pva-sand);
	--menu-fg-hover: var(--pva-green);
	--menu-active-bg: var(--pva-navy);
	--menu-active-fg: #fff;

	--submenu-bg: #fff;
	--submenu-border: rgba(0, 0, 0, .10);
	--submenu-hover-bg: var(--pva-green);
	--submenu-hover-fg: #fff;
}

/* ---------- Base ---------- */
html,
body {
	scroll-behavior: smooth;
}

body {
	font-family: Poppins, Montserrat, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
	color: var(--pva-text);
}

a {
	color: var(--pva-green);
}

a:focus,
button:focus {
	outline: 3px solid #94c6ff;
	outline-offset: 2px;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

.pva-muted {
	color: var(--pva-muted);
}

.pva-link {
	color: var(--pva-green);
	text-decoration: underline;
}

/* ---------- HERO (logo as CSS background) ---------- */
.pva-hero {
	background:
		/* Logo */
		var(--pva-logo-path) no-repeat left 24px center / 180px auto,
		/* Green tint overlay */
		linear-gradient(rgba(5, 75, 66, 0.88), rgba(5, 75, 66, 0.88)),
		/* Background image */
		url('https://images.unsplash.com/photo-1529390079861-591de354faf5?q=80&w=1600&auto=format&fit=crop') center/cover no-repeat;
	color: var(--pva-white);
	border-radius: var(--radius);
	padding: clamp(48px, 6vw, 96px) 24px;
	position: relative;
}


.pva-hero h1 {
	margin: 0 0 8px;
	font-size: clamp(28px, 4vw, 44px);
	line-height: 1.1;
	color: var(--pva-white);
	text-align: center;
}

.pva-hero p {
	margin: 0 0px 16px;
	color: #eef7f3;
	text-align: center;
}

.pva-hero .pva-btn {
	margin-right: 12px;
}

/* ---------- Buttons ---------- */
.pva-btn {
	display: inline-block;
	border-radius: 999px;
	padding: 12px 20px;
	font-weight: 700;
	box-shadow: var(--shadow);
	text-decoration: none;
}

.pva-btn--primary {
	background: var(--pva-yellow);
	color: #1a1a1a;
}

.pva-btn--primary:hover {
	filter: brightness(.95);
}

.pva-btn--secondary {
	background: #ffffff;
	color: var(--pva-green);
	border: 2px solid #ffffff;
}

.pva-btn--secondary:hover {
	background: #eef2ff;
}

/* ---------- Cards (Quick actions, tiers, sidebar, etc.) ---------- */
.pva-card {
	border-radius: var(--radius);
	padding: 20px;
	box-shadow: var(--shadow);
	background: white;
}

.pva-card h3 {
	margin: 6px 0 6px;
	color: var(--pva-navy);
}

.pva-card img.icon {
	width: 64px;
	height: auto;
	margin: 0 auto 10px;
	display: block;
}

.pva-card:hover {
	transition: transform .15s ease, box-shadow .15s ease;
	box-shadow: 0 10px 28px rgba(0, 0, 0, .12);
}

/* ---------- Featured Event ---------- */
.pva-feature__media img {
	border-radius: var(--radius);
}

.pva-feature__content h2 {
	margin: 0 0 6px;
	color: var(--pva-black);
}

.pva-feature__content .pva-muted {
	color: #4b5563;
}

/* ---------- Collage ---------- */
.pva-collage .grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
}

.pva-collage img {
	border-radius: 12px;
	width: 100%;
	height: auto;
}

/* ---------- Featured Event ---------- */
.pva-feature__media img {
	border-radius: var(--radius);
}

.pva-feature__content h2 {
	margin: 0 0 6px;
	color: var(--pva-black);
}

.pva-feature__content .pva-muted {
	color: #4b5563;
}

/* ---------- News ---------- */
.pva-section__header {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 12px;
	margin-bottom: 8px;
}

.WaGadgetBlog .boxBody,
.WaGadgetRecentBlogPosts .boxBody {
	background: var(--pva-white);
	border-radius: 12px;
	box-shadow: var(--shadow);
	padding: 16px;
}

/* ---------- Signup Bar ---------- */
.pva-signup {
	background: var(--pva-green);
	color: #fff;
	border-radius: var(--radius);
	padding: 20px;
	margin-top: 12px;
}

.pva-signup h3 {
	margin: 0 0 4px;
}

.pva-signup .pva-muted {
	color: #d7e6dd;
}

.pva-signup-form form input,
.pva-signup-form form select {
	border-radius: 10px;
	border: 1px solid #e5e7eb;
	padding: 10px;
}

/* ---------- Sidebar ---------- */
.pva-aside .WaGadget {
	background: var(--pva-sand);
	border-radius: 12px;
	padding: 16px;
	box-shadow: var(--shadow);
	margin-bottom: 12px;
}

/* ---------- Footer ---------- */
.pva-footer {
	background: var(--pva-green);
	color: var(--pva-white);
	padding: 24px 20px;
	font-size: 14px;
}

.pva-footer a {
	color: var(--pva-yellow);
	text-decoration: none;
}

.pva-footer a:hover {
	text-decoration: underline;
}

.pva-footer .footer-columns {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}

.pva-footer .footer-col {
	flex: 1 1 200px;
}

@media (max-width:640px) {
	.pva-footer .footer-columns {
		flex-direction: column;
	}
}

/*************** PVA Cards — Refined Material Hover ***************/
:root {
	--elev-1: 0 2px 8px rgba(0, 0, 0, .10);
	--elev-2: 0 8px 24px rgba(0, 0, 0, .16);
	--elev-3: 0 14px 32px rgba(0, 0, 0, .22);
}

/* Base card enhancements */
.pva-card {
	position: relative;
	border: 1px solid rgba(0, 0, 0, .06);
	transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease;
	box-shadow: var(--elev-1);
	will-change: transform, box-shadow, border-color;
}

/* Hover/Focus — lift higher + brighten border */
.pva-card:hover,
.pva-card:focus-within {
	box-shadow: var(--elev-3);
	border-color: rgba(0, 0, 0, .10);
}

/* Pressed (active) state */
.pva-card:active {
	transform: translateY(0) scale(0.995);
	box-shadow: var(--elev-1);
}

/* Icon nudge */
.pva-card img.icon {
	transition: transform .18s ease, opacity .18s ease;
	opacity: .98;
}

.pva-card:hover img.icon,
.pva-card:focus-within img.icon {
	opacity: 1;
}

/* Keyboard focus */
.pva-card:focus-within {
	outline: 3px solid var(--pva-navy);
	outline-offset: 2px;
}

/* Motion preference respect */
@media (prefers-reduced-motion: reduce) {

	.pva-card,
	.pva-card img.icon {
		transition: none;
	}

	.pva-card:hover,
	.pva-card:focus-within {
		transform: none;
		box-shadow: var(--elev-3);
	}
}

/*************** Clickable Card Pattern ***************/
.pva-card--link>a {
	display: block;
	padding: 20px;
	color: inherit;
	text-decoration: none;
}

.pva-card--link>a:focus {
	outline: none;
}

/*************** Optional Ripple Feedback ***************/
.pva-ripple {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

.pva-ripple:active::after {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at var(--x, 50%) var(--y, 50%), rgba(0, 0, 0, .08), transparent 40%);
	animation: pvaRipple .6s ease forwards;
}

/*************** Partners in Education Section ***************/
.pva-partners {
	font-family: sans-serif;
	color: #fff;
	background: #062b1d;
	border-radius: 12px;
	padding: 24px;
}

.pva-partners .pva-hero {
	text-align: center;
	margin-bottom: 20px;
}

.pva-partners .pva-hero h1 {
	margin-bottom: 8px;
	font-size: 2rem;
}

.pva-partners .pva-hero p {
	margin-bottom: 12px;
	color: #a9c7b7;
}

.pva-partners .pva-cta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: center;
}

.pva-partners .btn {
	background: #11a36b;
	padding: 10px 14px;
	border-radius: 999px;
	color: #fff;
	text-decoration: none;
	font-weight: 600;
}

.pva-partners .btn-secondary {
	background: #183b2e;
}

.pva-partners .tier-title {
	margin-top: 28px;
	margin-bottom: 12px;
	font-size: 1.5rem;
}

.pva-partners .tier-title.platinum {
	color: #e5e4e2;
}

.pva-partners .tier-title.gold {
	color: #d4af37;
}

.pva-partners .tier-title.silver {
	color: #c0c0c0;
}

.pva-partners .tier-title.inkind {
	color: #86c5a6;
}

.pva-partners .grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 14px;
}

.pva-partners .card {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #0f2a1d;
	border: 1px solid #143b2c;
	border-radius: 12px;
	padding: 14px;
	height: 110px;
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.pva-partners .card:hover,
.pva-partners .card:focus-within {
	transform: scale(1.04);
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
	z-index: 1;
	/* ensure shadow shows above neighbors */
}

/* Logo image refinements */
.pva-partners .card img {
	max-width: 100%;
	max-height: 80px;
	object-fit: contain;
	border-radius: 8px;
	/* soften sharp edges */
	border: 1px solid rgba(255, 255, 255, 0.15);
	/* subtle contrast */
	background-color: #fff;
	/* prevent green bleed-through */
	padding: 4px;
	/* breathing room inside */
	box-sizing: border-box;
}

/* Tier-specific logo sizing */
.pva-partners .tier-title.platinum+.grid .card img {
	max-height: 90px;
	/* largest */
}

.pva-partners .tier-title.gold+.grid .card img {
	max-height: 85px;
}

.pva-partners .tier-title.silver+.grid .card img {
	max-height: 80px;
}

.pva-partners .tier-title.inkind+.grid .card img {
	max-height: 75px;
	/* smallest */
}

.pva-partners .pva-footer-cta {
	text-align: center;
	margin-top: 20px;
}

/*************** Pride Rock Page Styles ***************/
.pva-priderock {
	background: #f5f5f5;
	color: var(--pva-text);
	border-radius: var(--radius);
	padding: 24px;
	font-family: sans-serif;
}

.pva-priderock__hero {
	text-align: center;
	margin-bottom: 24px;
}

.pva-priderock__hero h1 {
	margin-bottom: 8px;
	font-size: 2.5rem;
	color: var(--pva-green);
}

.pva-priderock__hero p {
	margin: 0 auto;
	max-width: 600px;
	font-size: 1.1rem;
}

.pva-priderock__signup,
.pva-priderock__access,
.pva-priderock__supplies,
.pva-priderock__info {
	margin-bottom: 20px;
}

.pva-priderock__signup h2,
.pva-priderock__access h2,
.pva-priderock__supplies h2,
.pva-priderock__info h2 {
	color: var(--pva-green);
	font-size: 1.4rem;
	margin-bottom: 8px;
}

.pva-priderock ul {
	padding-left: 1.5em;
}

.pva-priderock ul li {
	margin-bottom: 8px;
}

.pva-priderock__info a {
	color: var(--pva-green);
	text-decoration: underline;
}

.pva-priderock__footer {
	text-align: center;
	margin-top: 20px;
	font-size: 0.95rem;
}

.pva-priderock__image {
	display: block;
	max-width: 420px !important;
	/* keeps it from being massive */
	width: 100%;
	/* still scales down on small screens */
	height: auto;
	border-radius: var(--radius);
	box-shadow: var(--shadow);
	margin: 0 auto 16px;
	/* center with space below */
}

/*************** Board & Committee Chairs ***************/
.pva-board {
	background: #f5f5f5;
	padding: 32px 24px;
	border-radius: var(--radius);
}

.pva-board__hero {
	text-align: center;
	margin-bottom: 28px;
}

.pva-board__hero h1 {
	margin-bottom: 8px;
	font-size: 2rem;
	color: var(--pva-green);
}

.pva-board__hero p {
	max-width: 640px;
	margin: 0 auto;
	color: var(--pva-muted);
}

.pva-board__section-title {
	margin-top: 28px;
	margin-bottom: 16px;
	font-size: 1.5rem;
	color: var(--pva-green);
	border-bottom: 2px solid var(--pva-green);
	padding-bottom: 4px;
}

.pva-board__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 16px;
}

.pva-board__card {
	background: #fff;
	border-radius: var(--radius);
	border: 1px solid rgba(0, 0, 0, 0.06);
	padding: 20px;
	text-align: center;
	box-shadow: var(--shadow);
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.pva-board__card:hover {
	transform: scale(1.03);
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.15);
}

.pva-board__avatar {
	width: 90px;
	height: 90px;
	border-radius: 50%;
	object-fit: cover;
	margin: 0 auto 12px;
	border: 3px solid var(--pva-green);
}

.pva-board__avatar.placeholder {
	background: #e5e5e5;
}

.pva-board__name {
	margin: 0;
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--pva-green);
}

.pva-board__role {
	font-weight: 600;
	font-size: 0.95rem;
	color: var(--pva-muted);
	margin-bottom: 8px;
}

.pva-board__desc {
	margin: 0 0 10px;
	font-size: 0.9rem;
	color: var(--pva-muted);
}

.pva-board__email {
	display: inline-block;
	font-size: 0.85rem;
	color: var(--pva-green);
	text-decoration: underline;
}

/*************** Roles & Responsibilities — CSS-only accordion ***************/
.pva-roles {
	background: #f5f5f5;
	padding: 28px 24px;
	border-radius: var(--radius);
}

.pva-roles__hero {
	text-align: center;
	margin-bottom: 16px;
}

.pva-roles__hero h2 {
	margin: 0 0 6px;
	font-size: 1.6rem;
	color: var(--pva-green);
}

.pva-roles__hero p {
	margin: 0 auto;
	max-width: 680px;
	color: var(--pva-muted);
}

/* Item container */
.pva-acc {
	position: relative;
}

.pva-acc__toggle {
	position: absolute;
	/* take it out of layout */
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	overflow: hidden;
	white-space: nowrap;
	opacity: 0;
	/* belt and suspenders */
	pointer-events: none;
	/* clicks go to the label */
}

/* Clickable header */
.pva-acc__summary {
	display: grid;
	grid-template-columns: 1fr auto auto;
	gap: 8px;
	align-items: center;
	padding: 12px 16px;
	cursor: pointer;
	font-weight: 600;
	color: var(--pva-green);
	background: #fff;
	min-height: 48px;
}

.pva-acc__title {
	font-weight: 700;
}

.pva-acc__timeframe {
	color: var(--pva-muted);
	font-size: .9rem;
}

.pva-acc__chev {
	transition: transform .18s ease;
}

/* Rotate chevron when open */
.pva-acc__toggle:checked+.pva-acc__summary .pva-acc__chev {
	transform: rotate(90deg);
}

/* Collapsible content */
.pva-acc__content {
	max-height: 0;
	overflow: hidden;
	transition: max-height .24s ease;
	border-top: 1px solid rgba(0, 0, 0, .06);
	padding: 0 16px;
	/* horizontal padding always */
}

.pva-acc__toggle:checked~.pva-acc__content {
	max-height: 1000px;
	/* big enough to reveal content */
	padding: 10px 16px 14px 16px;
	/* add vertical padding when open */
}

.pva-acc__content h4 {
	margin: 12px 0 6px;
	color: var(--pva-green);
}

.pva-acc__content ul {
	margin: 0 0 8px 1.2em;
}

.pva-acc__content li {
	margin: 4px 0;
}

/*************** Levels of Sponsorship ***************/
.pva-levels {
	background: #f5f5f5;
	padding: 32px 24px;
	border-radius: var(--radius);
}

.pva-levels__hero {
	text-align: center;
	margin-bottom: 24px;
}

.pva-levels__hero h1 {
	margin: 0 0 8px;
	font-size: 2rem;
	color: var(--pva-green);
}

.pva-levels__hero p {
	max-width: 720px;
	margin: 0 auto 12px;
	color: var(--pva-muted);
}

.pva-levels__cta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: center;
}

/* Section titles */
.pva-levels__section-title {
	margin: 24px 0 12px;
	font-size: 1.5rem;
	color: var(--pva-green);
	border-bottom: 2px solid var(--pva-green);
	padding-bottom: 4px;
}

/* Tier cards */
.pva-levels__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 16px;
}

.pva-levels__card {
	background: #fff;
	border-radius: var(--radius);
	border: 1px solid rgba(0, 0, 0, .06);
	box-shadow: var(--shadow);
	padding: 18px 16px;
	transition: transform .18s ease, box-shadow .18s ease;
}

.pva-levels__card:hover {
	transform: scale(1.03);
	box-shadow: 0 6px 18px rgba(0, 0, 0, .15);
}

.pva-levels__tier {
	margin: 0 0 4px;
	font-size: 1.15rem;
	color: var(--pva-green);
}

.pva-levels__price {
	font-weight: 800;
	font-size: 1.3rem;
	margin-bottom: 8px;
	color: #1a1a1a;
}

.pva-levels__list {
	margin: 0;
	padding-left: 1.2em;
}

.pva-levels__list li {
	margin: 6px 0;
	color: var(--pva-text);
}

/* Accents by tier */
.pva-levels__card--platinum {
	border-top: 6px solid #e5e4e2;
}

.pva-levels__card--gold {
	border-top: 6px solid #d4af37;
}

.pva-levels__card--silver {
	border-top: 6px solid #c0c0c0;
}

/* Notes */
.pva-levels__note {
	background: #fff;
	border: 1px solid rgba(0, 0, 0, .06);
	border-radius: var(--radius);
	box-shadow: var(--shadow);
	padding: 12px 16px;
	color: #4b5563;
}

/* Images / figures */
.pva-levels__figure {
	margin-left: 0px;
	margin-right: 0px;
	text-align: center;
}

.pva-levels__image {
	width: 100%;
	max-width: 300px !important;
	height: auto;
	border-radius: 12px;
	box-shadow: var(--shadow);
	margin: 0 auto 8px;
}

.pva-levels__image--tree {
	max-width: 300px;
}

.pva-levels__figure figcaption {
	font-size: .95rem;
	color: var(--pva-muted);
}

/* In-kind / A la carte mini cards */
.pva-levels__cards {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 12px;
}

.pva-levels__mini {
	background: #fff;
	border: 1px solid rgba(0, 0, 0, .06);
	border-radius: var(--radius);
	padding: 14px;
	box-shadow: var(--shadow);
}

.pva-levels__mini h3 {
	margin: 0 0 6px;
	color: var(--pva-green);
}

/* Tree CTA */
.pva-levels__tree-cta {
	text-align: center;
	margin-top: 8px;
}

/* Footer */
.pva-levels__footer {
	text-align: center;
	margin-top: 20px;
	color: var(--pva-muted);
}

.pva-levels__footer a {
	color: var(--pva-green);
	text-decoration: underline;
}

.pva-benefits {
	padding-left: 0px;
	padding-right: 0px;
}

/*************** Benefits Table ***************/
.benefits-table__wrap {
	background: #fff;
	border: 1px solid rgba(0, 0, 0, .06);
	border-radius: var(--radius);
	box-shadow: var(--shadow);
	overflow: auto;
}

.benefits-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	min-width: 760px;
	/* keep columns readable on desktop */
}

.benefits-table thead th {
	position: sticky;
	top: 0;
	z-index: 1;
	background: #0f2a1d;
	color: #fff;
	padding: 12px 10px;
	text-align: center;
	font-weight: 700;
}

.benefits-table thead .benefit-col {
	text-align: left;
}

.benefits-table tbody th {
	text-align: left;
	font-weight: 600;
	padding: 10px;
	color: #132a21;
	background: #f9fafb;
	border-top: 1px solid #e5e7eb;
}

.benefits-table tbody td {
	text-align: center;
	padding: 10px 8px;
	border-top: 1px solid #e5e7eb;
}

.benefits-table tbody tr:nth-child(even) td,
.benefits-table tbody tr:nth-child(even) th {
	background: #fcfcfc;
}

/* Tier accents */
.tier {
	font-weight: 700;
}

.tier .tier-price {
	display: block;
	font-weight: 600;
	font-size: .95rem;
	opacity: .9;
}

.tier--platinum {
	border-bottom: 4px solid #e5e4e2;
}

.tier--gold {
	border-bottom: 4px solid #d4af37;
}

.tier--silver {
	border-bottom: 4px solid #c0c0c0;
}

/* X check styling */
.yes {
	color: #0b8f62;
	font-weight: 800;
}

/* Footnote */
.benefits-footnote {
	padding: 10px 12px 14px;
}

/* Optional: mobile card version (hidden on desktop) */
.benefits-cards {
	display: none;
	margin-top: 12px;
}

.benefit-card {
	background: #fff;
	border: 1px solid rgba(0, 0, 0, .06);
	border-radius: var(--radius);
	box-shadow: var(--shadow);
	padding: 14px;
	margin: 10px 0;
}

.benefit-card__title {
	margin: 0 0 8px;
	color: var(--pva-green);
}

.benefit-card__tiers {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}

.benefit-card__tiers li {
	font-weight: 600;
}

.benefit-card__tiers .platinum::before {
	content: "◆ ";
	color: #e5e4e2;
}

.benefit-card__tiers .gold::before {
	content: "◆ ";
	color: #d4af37;
}

.benefit-card__tiers .silver::before {
	content: "◆ ";
	color: #c0c0c0;
}

/*************** Benefits Table — check icon (no SVG/data URI) ***************/
.benefits-table td.yes {
	position: relative;
	font-size: 0;
	/* hide the literal "X" if it's still in the markup */
	text-align: center;
	vertical-align: middle;
}

.benefits-table td.yes::before {
	content: "✓";
	display: inline-block;
	font-size: 14px;
	/* visible size of the check */
	font-weight: 900;
	line-height: 20px;
	width: 20px;
	height: 20px;
	text-align: center;
	color: #0b8f62;
	/* check color */
	border: 2px solid #0b8f62;
	background: rgba(11, 143, 98, .08);
	border-radius: 5px;
	/* subtle rounded square */
}

/* (Optional) tint checks by tier column without touching HTML. First column = benefit name, so 2/3/4 are Platinum/Gold/Silver. */
.benefits-table tbody td:nth-child(2).yes::before {
	color: #0b8f62;
	border-color: #e5e4e2;
	background: rgba(229, 228, 226, .15);
}

.benefits-table tbody td:nth-child(3).yes::before {
	color: #0b8f62;
	border-color: #d4af37;
	background: rgba(212, 175, 55, .12);
}

.benefits-table tbody td:nth-child(4).yes::before {
	color: #0b8f62;
	border-color: #c0c0c0;
	background: rgba(192, 192, 192, .12);
}

/* Membership table — tier-colored checks */
.benefits-table--membership tbody td:nth-child(2).yes::before {
	/* Teacher */
	border-color: #86c5a6;
	background: rgba(134, 197, 166, .15);
}

.benefits-table--membership tbody td:nth-child(3).yes::before {
	/* Bronze */
	border-color: #cd7f32;
	background: rgba(205, 127, 50, .12);
}

.benefits-table--membership tbody td:nth-child(4).yes::before {
	/* Silver */
	border-color: #c0c0c0;
	background: rgba(192, 192, 192, .12);
}

.benefits-table--membership tbody td:nth-child(5).yes::before {
	/* Gold */
	border-color: #d4af37;
	background: rgba(212, 175, 55, .12);
}

.benefits-table--membership tbody td:nth-child(6).yes::before {
	/* Platinum */
	border-color: #e5e4e2;
	background: rgba(229, 228, 226, .15);
}

.benefits-table--membership tbody td:nth-child(7).yes::before {
	/* Bobcat */
	border-color: var(--pva-navy);
	background: rgba(5, 32, 132, .12);
}

.pva-extday .pva-faq {
	margin-top: 8px;
}

.pva-extday .pva-acc {
	margin: 10px 0;
}

/*************** Membership accents ***************/
.pva-levels__card--teacher {
	border-top: 6px solid #86c5a6;
}

/* soft green */
.pva-levels__card--bronze {
	border-top: 6px solid #cd7f32;
}

.pva-levels__card--silver {
	border-top: 6px solid #c0c0c0;
}

.pva-levels__card--gold {
	border-top: 6px solid #d4af37;
}

.pva-levels__card--platinum {
	border-top: 6px solid #e5e4e2;
}

.pva-levels__card--bobcat {
	border-top: 6px solid var(--pva-navy);
}

/* Tier header accents in the table */
.tier--teacher {
	border-bottom: 4px solid #86c5a6;
}

.tier--bronze {
	border-bottom: 4px solid #cd7f32;
}

.tier--silver {
	border-bottom: 4px solid #c0c0c0;
}

.tier--gold {
	border-bottom: 4px solid #d4af37;
}

.tier--platinum {
	border-bottom: 4px solid #e5e4e2;
}

.tier--bobcat {
	border-bottom: 4px solid var(--pva-navy);
}

/* (Optional) slightly larger min-width since this table has 7 columns */
.benefits-table {
	min-width: 900px;
}

/* Membership FAQ spacing */
.pva-membership .pva-faq {
	margin-top: 8px;
}

.pva-membership .pva-acc {
	margin: 10px 0;
}

/* 2-column FAQ header (question + chevron) */
.pva-acc__summary--faq {
	grid-template-columns: 1fr auto;
}

/* Bigger CTA button */
.pva-btn--xl {
	padding: 14px 28px;
	font-size: 1.05rem;
}

/* Bottom CTA container */
.pva-membership__final-cta {
	text-align: center;
	margin-top: 20px;
}

/*************** Join – Select Membership Level (card layout using actual IDs) ***************/
/* Turn the vertical list into a responsive grid */
#idMembershipLevelRadioGroupContainer .groupBodyVertical {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 18px;
	align-items: stretch;
}

/* Each level as a card */
#idMembershipLevelRadioGroupContainer .groupBodyVertical .fieldItem {
	position: relative;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, .06);
	border-radius: var(--radius);
	box-shadow: var(--shadow);
	padding: 18px 16px 16px;
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
	min-height: 220px;
	display: flex;
	flex-direction: column;
}

/* Hover/focus lift */
#idMembershipLevelRadioGroupContainer .groupBodyVertical .fieldItem:hover,
#idMembershipLevelRadioGroupContainer .groupBodyVertical .fieldItem:focus-within {
	transform: translateY(-2px);
	box-shadow: 0 10px 28px rgba(0, 0, 0, .12);
	border-color: rgba(0, 0, 0, .12);
}

/* Move/enlarge radio to top-right */
#idMembershipLevelRadioGroupContainer .typeRadioContainer {
	position: absolute;
	top: 12px;
	right: 12px;
}

#idMembershipLevelRadioGroupContainer .typeRadioContainer .typeRadio {
	transform: scale(1.2);
	accent-color: var(--pva-green);
	cursor: pointer;
}

/* Keep headings from colliding with the radio */
#idMembershipLevelRadioGroupContainer .labelTitle {
	padding-right: 28px;
}

/* Typography inside the label */
#idMembershipLevelRadioGroupContainer .levelProperties .labelTitle {
	display: inline-block;
	font-size: 1.12rem;
	font-weight: 800;
	color: var(--pva-green);
	margin: 0 6px 2px 0;
}

#idMembershipLevelRadioGroupContainer .levelProperties .labelSubTitle {
	display: inline-block;
	font-weight: 800;
	color: #1a1a1a;
}

#idMembershipLevelRadioGroupContainer .levelProperties .typeInstruction {
	display: block;
	color: var(--pva-muted);
	margin-top: 2px;
	font-size: .92rem;
}

/* Optional benefits list → check bullets (works if you add bullets in each level’s description) */
#idMembershipLevelRadioGroupContainer .levelDescription ul {
	list-style: none;
	margin: 8px 0 0;
	padding-left: 0;
}

#idMembershipLevelRadioGroupContainer .levelDescription li {
	position: relative;
	padding-left: 22px;
	margin: 6px 0;
	color: var(--pva-text);
}

#idMembershipLevelRadioGroupContainer .levelDescription li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: .1em;
	font-weight: 900;
	font-size: 14px;
	color: var(--pva-green);
}

/* Selected state highlight (WildApricot doesn't add a .selected class here, so use the checked radio) */
#idMembershipLevelRadioGroupContainer .groupBodyVertical .fieldItem:has(.typeRadio:checked) {
	border-color: var(--pva-green);
	box-shadow: 0 14px 32px rgba(0, 0, 0, .18), 0 0 0 3px rgba(5, 75, 66, .15) inset;
	transform: translateY(-2px) scale(1.01);
}

/* Tier accent bars by position (adjust order if your levels differ) 1: Faculty/Staff, 2: Bronze, 3: Silver, 4: Gold, 5: Platinum, 6: Bobcat */
#idMembershipLevelRadioGroupContainer .groupBodyVertical .fieldItem:nth-child(1) {
	border-top: 6px solid #86c5a6;
}

/* Teacher */
#idMembershipLevelRadioGroupContainer .groupBodyVertical .fieldItem:nth-child(2) {
	border-top: 6px solid #cd7f32;
}

/* Bronze */
#idMembershipLevelRadioGroupContainer .groupBodyVertical .fieldItem:nth-child(3) {
	border-top: 6px solid #c0c0c0;
}

/* Silver */
#idMembershipLevelRadioGroupContainer .groupBodyVertical .fieldItem:nth-child(4) {
	border-top: 6px solid #d4af37;
}

/* Gold */
#idMembershipLevelRadioGroupContainer .groupBodyVertical .fieldItem:nth-child(5) {
	border-top: 6px solid #e5e4e2;
}

/* Platinum */
#idMembershipLevelRadioGroupContainer .groupBodyVertical .fieldItem:nth-child(6) {
	border-top: 6px solid var(--pva-navy);
}

/* Bobcat */
/* “Most Popular” ribbon (Gold = 4). Change the index if needed. */
#idMembershipLevelRadioGroupContainer .groupBodyVertical .fieldItem:nth-child(4)::before {
	content: "Most Popular";
	position: absolute;
	top: 0;
	right: 0;
	background: var(--pva-yellow);
	color: #1a1a1a;
	font-weight: 800;
	font-size: .72rem;
	padding: 4px 8px;
	border-bottom-left-radius: 8px;
}

/* Clean up the default label & mandatory blurb to reduce clutter */
#idMembershipLevelRadioGroupContainer .fieldLabel {
	display: none;
}

.formTitleOuterContainer .mandatoryFieldsTitle {
	display: none;
}

/* Center the action buttons under the form */
.formContainer .ActionPanel,
.formContainer .buttonContainer {
	text-align: center;
}

.formContainer .ActionPanel input[type="submit"],
.formContainer .buttonContainer input[type="submit"] {
	background: var(--pva-yellow);
	color: #1a1a1a;
	border: 0;
	border-radius: 999px;
	padding: 12px 22px;
	font-weight: 800;
	box-shadow: var(--shadow);
	cursor: pointer;
}

.formContainer .ActionPanel input[type="submit"]:hover,
.formContainer .buttonContainer input[type="submit"]:hover {
	filter: brightness(.95);
}

/* 
/*************** Join – polish for Next button, badge, spacing ***************/


/* 2) Card top spacing so badge + radio have breathing room */
#idMembershipLevelRadioGroupContainer .groupBodyVertical .fieldItem {
	padding-top: 40px;
	/* was ~18px */
}

/* 3) Keep radio top-right, clear of the badge */
#idMembershipLevelRadioGroupContainer .typeRadioContainer {
	position: absolute;
	top: 12px;
	right: 12px;
}

#idMembershipLevelRadioGroupContainer .typeRadioContainer .typeRadio {
	transform: scale(1.2);
	accent-color: var(--pva-green);
	cursor: pointer;
}

/* 4) “Most Popular” badge — move to top-left as a pill (no corner overlap) */
/* Adjust the nth-child index if your most popular level is different. */
#idMembershipLevelRadioGroupContainer .groupBodyVertical .fieldItem:nth-child(4)::before {
	content: "Most Popular";
	position: absolute;
	top: 10px;
	/* sits inside the card, below the top accent border */
	left: 12px;
	/* away from the rounded corner */
	background: var(--pva-yellow);
	color: #1a1a1a;
	font-weight: 800;
	font-size: .72rem;
	line-height: 1;
	padding: 4px 8px;
	border-radius: 999px;
	/* pill */
	box-shadow: var(--shadow);
	pointer-events: none;
	z-index: 1;
}

/* (Optional) If the badge still feels close to the title on small cards, add a smidge of right padding to the title so it doesn't run into the badge area */
#idMembershipLevelRadioGroupContainer .labelTitle {
	padding-right: 28px;
}

/* Mobile: single column */
@media (max-width: 640px) {
	#idMembershipLevelRadioGroupContainer .groupBodyVertical {
		grid-template-columns: 1fr;
	}
}

/*************** JOIN: button, badge, and card-height fixes ***************/
/* 1) NEXT button in navigationOuterContainer (center + brand style) */


/* 2) MOST POPULAR badge — keep inside the card, no overlap with radio */
#idMembershipLevelRadioGroupContainer .groupBodyVertical .fieldItem {
	position: relative;
	z-index: 0;
	/* create a stacking context */
	padding-top: 42px;
	/* a touch more headroom for badge+radio */
}

/* radio above badge */
#idMembershipLevelRadioGroupContainer .typeRadioContainer {
	z-index: 2;
}

#idMembershipLevelRadioGroupContainer .typeRadioContainer .typeRadio {
	transform: scale(1.2);
	accent-color: var(--pva-green);
	cursor: pointer;
}

/* Move badge to top-left as a pill, and explicitly UNSET 'right' from earlier rule */
#idMembershipLevelRadioGroupContainer .groupBodyVertical .fieldItem:nth-child(4)::before {
	content: "Most Popular";
	position: absolute;
	top: 10px;
	left: 12px;
	right: auto !important;
	/* <-- Prevent full-width stretch */
	background: var(--pva-yellow);
	color: #1a1a1a;
	font-weight: 800;
	font-size: .72rem;
	line-height: 1;
	padding: 4px 8px;
	border-radius: 999px;
	box-shadow: var(--shadow);
	pointer-events: none;
	z-index: 1;
	/* under radio (z=2), over card (z=0) */
}

/* 3) CARD HEIGHT NORMALIZATION */
/* Remove stray <br> in levelDescription that creates a taller first/other card */
#idMembershipLevelRadioGroupContainer .levelDescription br {
	display: none;
}

/* Tighten default text line gaps so content height is consistent */
#idMembershipLevelRadioGroupContainer .levelProperties .textLine {
	margin: 0;
}

#idMembershipLevelRadioGroupContainer .levelProperties .typeInstruction {
	margin-top: 2px;
	color: var(--pva-muted);
	font-size: .92rem;
}

/* Ensure all cards stretch to the same height in the grid */
#idMembershipLevelRadioGroupContainer .groupBodyVertical {
	align-items: stretch;
}

#idMembershipLevelRadioGroupContainer .groupBodyVertical .fieldItem {
	min-height: 240px;
	/* adjust if you add longer descriptions later */
	display: flex;
	flex-direction: column;
}

/*************** JOIN – spacing, Next button, badge fixes ***************/
/* A) Normalize card spacing: remove per-item top margins and give the container one */
#idMembershipLevelRadioGroupContainer .groupBodyVertical {
	margin-top: 10px;
	/* consistent space above the grid */
	align-items: stretch;
}

#idMembershipLevelRadioGroupContainer .groupBodyVertical .fieldItem {
	margin: 0 !important;
	/* kill WA's ".fieldItem + .fieldItem { margin-top }" */
	min-height: 240px;
	display: flex;
	flex-direction: column;
}

/*************** JOIN – place Next button bottom-right ***************/

/* C) Badge: force the pill inside the card and avoid overlap with radio */

/* 1) Make the card a stacking context; add a touch of headroom */
#idMembershipLevelRadioGroupContainer .groupBodyVertical .fieldItem {
	position: relative;
	z-index: 0;
	padding-top: 42px;
}

/* 2) Radio above badge */
#idMembershipLevelRadioGroupContainer .typeRadioContainer {
	z-index: 2;
}

/* 3) Neutralize any old top-right ribbon rule (right:0 etc.) and use a left pill */
#idMembershipLevelRadioGroupContainer .groupBodyVertical .fieldItem:nth-child(4)::before {
	content: "Most Popular";
	position: absolute;
	top: 10px;
	left: 12px;
	right: auto !important;
	/* prevent stretch from legacy rule */
	background: var(--pva-yellow);
	color: #1a1a1a;
	font-weight: 800;
	font-size: .72rem;
	line-height: 1;
	padding: 4px 8px;
	border-radius: 999px;
	/* pill */
	box-shadow: var(--shadow);
	pointer-events: none;
	z-index: 1;
	/* under radio (z=2), over card (z=0) */
}

@keyframes pvaRipple {
	from {
		opacity: .35;
	}

	to {
		opacity: 0;
	}
}

/* ===== PVA HOME (page-specific light helpers) ===== */
.pva-home .pva-home__section {
	margin-top: 24px;
}

.pva-home__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 14px;
}

.pva-home__icon {
	width: 48px;
	height: 48px;
	border-radius: 12px;
	display: grid;
	place-items: center;
	margin-bottom: 10px;
}

.pva-home__stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 14px;
}

.pva-home__stat-number {
	font-size: 1.8rem;
	font-weight: 800;
	color: var(--pva-green);
	line-height: 1.1;
	margin-bottom: 4px;
}

/* Ensure event/news gadgets look integrated when dropped inside cards */
.pva-home__events .WaGadget,
.pva-home__news .WaGadget {
	box-shadow: none;
	border: 0;
	background: transparent;
}

.pva-home__events .boxBody,
.pva-home__news .boxBody {
	box-shadow: none;
	border: 0;
	background: transparent;
	padding: 0;
}

/* Reduce extra margins some WA gadgets add */
.pva-home .WaGadget {
	margin: 0;
}

/* Home → Quick actions: center icon + text */
.pva-home__grid .pva-card {
	text-align: center;
}

.pva-home__grid .pva-card .pva-home__icon {
	margin: 0 auto 10px;
	/* centers the icon block */
	display: grid;
	/* keeps the image perfectly centered */
	place-items: center;
	width: 56px;
	height: 56px;
	border-radius: 12px;
}

.pva-home__grid .pva-card .pva-home__icon img {
	display: block;
	max-width: 50px;
	/* scale as you like */
	max-height: 50px;
	margin: 0 auto;
	/* belt & suspenders centering */
}

/* Signup bar — force accessible contrast on dark background */
.pva-signup h3 {
	color: #fff !important;
	/* override theme/navy */
}

.pva-signup__text,
.pva-signup p {
	margin: 0;
	color: #eaf5f0 !important;
	/* softer white, high contrast */
}

.pva-signup a {
	color: #fff !important;
	text-decoration: underline;
}

/* Optional: light variant if you ever want the tile on a light bg */
.pva-signup--light {
	background: var(--pva-sand);
	color: var(--pva-navy) !important;
}

.pva-signup--light h3 {
	color: var(--pva-navy) !important;
}

.pva-signup--light p {
	color: var(--pva-text) !important;
}

/* Final CTA spacing (keeps your existing button style) */
.pva-membership__final-cta {
	text-align: center;
	margin-top: 16px;
}

/* Footer: center column sizing (optional) */
.pva-footer .footer-columns {
	align-items: flex-start;
}

.pva-footer .footer-col--center {
	flex: 1 1 320px;
	min-width: 260px;
}

/* Signup tile styled for dark footer */
.pva-footer .pva-signup--footer {
	background: rgba(255, 255, 255, .08);
	color: #fff !important;
	border-radius: var(--radius);
	padding: 16px;
	box-shadow: none;
	border: 1px solid rgba(255, 255, 255, .15);
}

.pva-footer .pva-signup--footer h3 {
	margin: 0 0 6px;
	color: #fff !important;
}

.pva-footer .pva-signup--footer p {
	margin: 0 0 10px;
	color: #eaf5f0 !important;
}

.pva-footer .pva-signup--footer a {
	color: #fff !important;
	text-decoration: underline;
}

/* Form controls inside the footer signup */
.pva-footer .pva-signup--footer input[type="email"],
.pva-footer .pva-signup--footer input[type="text"],
.pva-footer .pva-signup--footer select {
	width: 100%;
	border-radius: 10px;
	border: 1px solid rgba(255, 255, 255, .25);
	background: #fff;
	color: #111;
	padding: 10px 12px;
	margin: 6px 0;
	box-sizing: border-box;
}

.pva-footer .pva-signup--footer input[type="submit"],
.pva-footer .pva-signup--footer .pva-btn {
	background: var(--pva-yellow);
	color: #1a1a1a;
	border: 0;
	border-radius: 999px;
	padding: 10px 18px;
	font-weight: 800;
	box-shadow: var(--shadow);
	cursor: pointer;
}

.pva-footer .pva-signup--footer input[type="submit"]:hover,
.pva-footer .pva-signup--footer .pva-btn:hover {
	filter: brightness(.95);
}

/* Optional: make the signup column appear first on mobile */
@media (max-width:640px) {
	.pva-footer .footer-col--center {
		order: -1;
	}
}

/* Let shadows escape in the key grids/columns */
.pva-home__grid,
.pva-partners,
.pva-partners .grid,
.pva-footer .footer-columns,
.pva-footer .footer-col {
	overflow: visible !important;
}

/* Make hovered items sit above siblings */
.pva-card,
.pva-partners .card {
	position: relative;
	z-index: 0;
}

.pva-card:hover,
.pva-card:focus-within,
.pva-partners .card:hover,
.pva-partners .card:focus-within {
	z-index: 10;
}

[class^="WaGadget"] {
	overflow: visible !important;
}

[class*=gadgetStyle] .gadgetContentEditableArea {
	overflow: visible !important;
}

.pva-card--link>a {
	display: block;
	height: 100%;
	padding: 20px;
	color: inherit;
	text-decoration: none;
}

/* Center the icon above text (keeps your current look) */
.pva-home__icon {
	width: 56px;
	height: 56px;
	display: grid;
	place-items: center;
	margin: 4px auto 10px;
}

.pva-home__icon img {
	width: 100%;
	height: auto;
	display: block;
}

/* Clickable card semantics */
.js-tile {
	cursor: pointer;
}

.js-tile:focus {
	outline: 3px solid #94c6ff;
	outline-offset: 3px;
}

/* Center the icon above text (if not already applied) */
.pva-home__icon {
	width: 56px;
	height: 56px;
	display: grid;
	place-items: center;
	margin: 4px auto 10px;
}

.pva-home__icon img {
	width: 100%;
	height: auto;
	display: block;
}

/* Numbered steps */
.pva-steps {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 14px;
	list-style: none;
	padding: 0;
	margin: 0 0 12px !important;
}

.pva-steps>li {
	background: #fff;
	border: 1px solid rgba(0, 0, 0, .06);
	border-radius: var(--radius);
	box-shadow: var(--shadow);
	padding: 14px !important;
}

.pva-steps>li h3 {
	margin: 0 0 6px;
	color: var(--pva-green);
	font-size: 22px;
}

/* Help tiles reuse home grid; ensure icons are centered above text */
.pva-help-grid .pva-home__icon {
	width: 56px;
	height: 56px;
	display: grid;
	place-items: center;
	margin: 4px auto 10px;
}

.pva-help-grid .pva-home__icon img {
	width: 100%;
	height: auto;
	display: block;
}

/* Make “link-like cards” clickable without <a> (you already added JS) */
.js-tile {
	cursor: pointer;
}

.js-tile:focus {
	outline: 3px solid #94c6ff;
	outline-offset: 3px;
}

.pva-home__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 14px
}

.pva-home__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	margin: 0 auto 8px
}

.pva-home__icon img {
	max-width: 100%;
	height: auto;
	display: block
}

.pva-card--link>a {
	display: block;
	color: inherit;
	text-decoration: none;
	padding: 20px
}

.pva-minutes__table th,
.pva-minutes__table td {
	text-align: left
}

.pva-minutes__table .date-col {
	white-space: nowrap;
	width: 1%
}

/* compact date column */
.pva-minutes a {
	color: var(--pva-green)
}

.pva-minutes a:hover {
	filter: brightness(.92)
}

/* Default: cover-cropped hero-style */
.pva-tile__media {
	position: relative;
	width: 100%;
	aspect-ratio: 4 / 3;
	/* adjust to 1/1 or 3/2 if you prefer */
	border-radius: var(--radius);
	border: var(--img-border);
	background: #fff;
	/* soft frame behind transparent PNGs */
	box-shadow: var(--shadow);
	overflow: hidden;
	margin: -4px -4px 10px;
	/* slight edge-to-edge look in cards */
}

.pva-tile__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	/* fills the frame */
	display: block;
	transition: transform .25s ease;
}

.pva-card:hover .pva-tile__media img {
	transform: scale(1.03);
}

/* Variant: show full image without cropping (letterboxed) */
.pva-tile__media--contain {
	padding: 8px;
	/* white mat */
	background: linear-gradient(#fbfdfa, #f3f7f4);
}

.pva-tile__media--contain img {
	object-fit: contain;
}

/* If you want square frames on some tiles */
.pva-tile__media.is-square {
	aspect-ratio: 1 / 1;
}

/* ===== HERO: mobile/condensed fixes ===== */
/* 1) Kill hard side-margins and cap line length */
.pva-hero {
	text-align: center;
}

.pva-hero h1,
.pva-hero p {
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: 42rem;
	/* ~75ch readable width on desktop */
}

.pva-hero p {
	margin: 0 auto 16px !important;
	/* replaces 0 160px 16px */
}

/* 2) Tighter, balanced heading on small screens (where supported) */
.pva-hero h1 {
	text-wrap: balance;
}

/* 3) Button group that centers on mobile and lines up on desktop */
.pva-hero .pva-cta {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
	align-items: center;
}

.pva-hero .pva-btn {
	margin: 0;
}

/* 4) Mobile-specific spacing & background logo placement */
@media (max-width:640px) {
	.pva-hero {
		/* center the logo above the text */
		--hero-logo-size: clamp(84px, 34vw, 200px);
		background: var(--pva-logo-path) no-repeat 50% 16px / var(--hero-logo-size) auto, linear-gradient(rgba(5, 75, 66, 0.88), rgba(5, 75, 66, 0.88)), url('https://images.unsplash.com/photo-1529390079861-591de354faf5?q=80&w=1600&auto=format&fit=crop') center/cover no-repeat;
		/* leave room for the centered logo */
		padding: var(--hero-logo-size) 16px 20px;
		border-radius: var(--radius);
		text-align: center;
	}

	.pva-hero h1 {
		font-size: clamp(24px, 7vw, 34px);
	}

	.pva-hero p {
		font-size: 1rem;
	}
}

/* 5) On wider screens, create room for the logo on the left */
@media (min-width:860px) {
	.pva-hero {
		/* nudge content right so it never overlaps the bg logo */
		padding-left: clamp(180px, 22vw, 260px);
	}

	.pva-hero h1,
	.pva-hero p {
		text-align: left;
		margin-left: 0 !important;
		/* align with left edge of content */
	}

	.pva-hero .pva-cta {
		justify-content: flex-start;
	}
}

/* Responsive, branded calendar frame */
.pva-embed-calendar {
	position: relative;
	border-radius: var(--radius);
	box-shadow: var(--shadow);
	overflow: hidden;
	background: #fff;
}

/* Aspect ratio for the iframe */
.pva-embed-calendar::before {
	content: "";
	display: block;
	padding-top: 75%;
}

.pva-embed-calendar iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* Responsive, branded map frame */
.pva-embed-map {
	position: relative;
	border-radius: var(--radius);
	box-shadow: var(--shadow);
	overflow: hidden;
	background: #fff;
}

.pva-embed-map::before {
	content: "";
	display: block;
	padding-top: 56.25%;
}

/* 16:9 */
.pva-embed-map iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* Responsive, branded map frame */
.pva-embed-map {
	position: relative;
	border-radius: var(--radius);
	box-shadow: var(--shadow);
	overflow: hidden;
	background: #fff;
}

.pva-embed-map::before {
	content: "";
	display: block;
	padding-top: 56.25%;
}

/* 16:9 */
.pva-embed-map iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* Simple legend */
.pva-legend {
	list-style: none;
	padding: 8px 0 0;
	margin: 8px 0 0;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.pva-leg__item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: .95rem;
	color: var(--pva-muted);
}

.pva-leg__swatch {
	width: 18px;
	height: 6px;
	border-radius: 4px;
	display: inline-block;
}

.s-parent {
	background: #ef4444;
}

/* red */
.s-walk {
	background: #1e3a8a;
}

/* blue */
.s-bus {
	background: #22c55e;
}

/* green */
.pva-routes .pva-card {
	transform: none !important;
	box-shadow: var(--elev-1);
	transition: box-shadow .18s ease, border-color .18s ease;
	/* no transform anim */
}

.pva-routes .pva-card:hover,
.pva-routes .pva-card:focus-within,
.pva-routes .pva-card:active {
	transform: none !important;
	box-shadow: var(--elev-1) !important;
	/* keep it steady */
	border-color: rgba(0, 0, 0, .06) !important;
	/* no hover darkening */
}

/* Also cancel the icon nudge inside these cards */
.pva-routes .pva-card img.icon,
.pva-routes .pva-card:hover img.icon,
.pva-routes .pva-card:focus-within img.icon {
	transform: none !important;
	opacity: 1;
}

/* Responsive, visible map frame with a defined height */
.pva-map {
	border-radius: var(--radius);
	overflow: hidden;
	/* keep corners tidy */
	box-shadow: var(--shadow);
	border: var(--img-border, 1px solid rgba(0, 0, 0, .08));
	background: #eef5f1;
	/* pleasant fallback color */
}

.pva-map__frame {
	display: block;
	width: 100%;
	height: clamp(320px, 60vh, 560px);
	/* << the important part */
	border: 0;
}

.WaGadgetMenuHorizontal .menuInner ul.firstLevel>li>.item>a {
	border-radius: 10px;
	transition: background-color .15s ease, color .15s ease;
}

/* First-level hover (replaces #f7f7f7 / #ff8357) */
.WaGadgetMenuHorizontal .menuInner ul.firstLevel>li>.item:hover>a,
.WaGadgetMenuHorizontal .menuInner ul.firstLevel>li:hover>.item>a {
	background: var(--menu-bg-hover) !important;
	color: var(--menu-fg-hover) !important;
}

/* First-level active/current page */
.WaGadgetMenuHorizontal .menuInner ul.firstLevel>li.selected>.item>a,
.WaGadgetMenuHorizontal .menuInner ul.firstLevel>li>.item>a.selected {
	background: var(--menu-active-bg) !important;
	color: var(--menu-active-fg) !important;
}

/* Dropdown panel (submenu container) */
.WaGadgetMenuHorizontal .menuInner ul ul {
	background: var(--submenu-bg) !important;
	border: 1px solid var(--submenu-border);
	border-radius: 12px;
	box-shadow: var(--shadow);
	padding: 6px;
}

/* Submenu items */
.WaGadgetMenuHorizontal .menuInner ul ul li>.item>a {
	border-radius: 8px;
	color: var(--pva-text);
}

/* Submenu hover (replaces #ff8357) */
.WaGadgetMenuHorizontal .menuInner ul ul li>.item:hover>a,
.WaGadgetMenuHorizontal .menuInner ul ul li:hover>.item>a {
	background: var(--submenu-hover-bg) !important;
	color: var(--submenu-hover-fg) !important;
}

/* Caret/arrow (if theme uses a border-based triangle) */
.WaGadgetMenuHorizontal .menuInner .menuArrow {
	border-top-color: currentColor !important;
	/* inherits text color */
}

/* Keyboard focus – accessible ring */
.WaGadgetMenuHorizontal .menuInner a:focus-visible {
	outline: 3px solid #94c6ff;
	outline-offset: 3px;
}

/* Safety: neutralize any leftover orange link hovers inside the menu */
.WaGadgetMenuHorizontal .menuInner a:hover {
	color: var(--menu-fg-hover) !important;
}

/* Memberships – SOLD OUT badge/presentation */
.pva-levels__card {
	position: relative;
}

/* anchor for badge */

.pva-levels__card.is-soldout {
	cursor: not-allowed;
	opacity: .9;
	filter: grayscale(.15);
}

.pva-levels__card.is-soldout:hover {
	transform: none;
	/* cancel the hover lift */
	box-shadow: var(--shadow);
}

/* Pill badge, same style family as “Most Popular” */
.pva-levels__card.is-soldout::before {
	content: "Sold Out";
	position: absolute;
	top: 10px;
	right: 12px;
	/* same placement as the other pill */
	background: var(--pva-navy);
	color: #fff;
	font-weight: 800;
	font-size: .72rem;
	line-height: 1;
	padding: 4px 8px;
	border-radius: 999px;
	box-shadow: var(--shadow);
	letter-spacing: .2px;
}

/* Subtle hatch overlay to reinforce “disabled” */
.pva-levels__card.is-soldout::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: var(--radius);
	background: repeating-linear-gradient(135deg, rgba(0, 0, 0, .04) 0 10px, rgba(0, 0, 0, .08) 10px 20px);
	pointer-events: none;
}

/* ===== Error page helpers (scoped) ===== */
.pva-error .pva-hero {
	background:
		linear-gradient(180deg, rgba(5, 75, 66, .92), rgba(5, 75, 66, .92)),
		var(--pva-green);
	color: #fff;
	text-align: center;
	border-radius: var(--radius);
	padding: 48px 16px 28px;
}

.pva-error .pva-hero__icon {
	width: 72px;
	height: 72px;
	margin: 0 auto 12px;
	border-radius: 999px;
	display: grid;
	place-items: center;
	background: rgba(255, 255, 255, .12);
	border: 1px solid rgba(255, 255, 255, .2);
}

.pva-error .pva-hero__icon svg {
	width: 38px;
	height: 38px;
	fill: #fff;
	opacity: .95;
}

.pva-error .pva-hero h1 {
	margin: 0 0 8px;
	color: #fff;
}

.pva-error .pva-hero p {
	margin: 0 auto 10px;
	max-width: 720px;
	color: #e9f4ef;
}

.pva-error .pva-cta .pva-btn {
	margin: 8px 6px 0;
}

.pva-error .pva-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 14px;
}

.pva-error .pva-card {
	transform: none !important;
}

/* no lift on hover */
.pva-error .pva-card:hover {
	transform: none !important;
	box-shadow: var(--shadow);
}

.pva-error .pva-list {
	margin: 0;
	padding-left: 1.2em;
}

.pva-error .pva-list li {
	margin: 6px 0;
	color: var(--pva-text);
}

@media (min-width: 720px) {
	.pva-error .pva-hero {
		padding: 64px 24px 32px;
	}
}

/* ===== Home: Updates / Posts ===== */
.pva-updates__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 14px;
}

.pva-post.pva-card {
	padding: 14px;
}

.pva-post.pva-card:hover {
	transform: none;
}

/* keep card steady */
.pva-post.pva-card .pva-tile__media {
	margin: 0;
}

/* tighter look */

.pva-post.pva-card>a {
	display: grid;
	grid-template-columns: 120px 1fr;
	gap: 14px;
	align-items: center;
	color: inherit;
	text-decoration: none;
}

/* media */
.pva-post__media {
	aspect-ratio: 1 / 1;
}

.pva-post__media.is-portrait {
	aspect-ratio: 3 / 4;
}

/* better for posters */

/* text */
.pva-post__kicker {
	display: inline-block;
	font-weight: 800;
	font-size: .8rem;
	color: #0c6a56;
	background: #e7f3ef;
	border-radius: 999px;
	padding: 4px 10px;
	margin-bottom: 6px;
}

.pva-post__title {
	margin: 0 0 4px;
	color: var(--pva-green);
	font-size: 1.05rem;
}

.pva-post__meta {
	list-style: none;
	padding: 0;
	margin: 0 0 6px;
	color: var(--pva-muted);
	font-size: .92rem;
}

.pva-post__excerpt {
	margin: 0 0 8px;
}

.pva-post__cta .pva-btn {
	box-shadow: none;
}

/* mobile stack */
@media (max-width:640px) {
	.pva-post.pva-card>a {
		grid-template-columns: 1fr;
		align-items: start;
	}

	.pva-post__media {
		aspect-ratio: 16 / 9;
	}
}



.pva-cal-embed iframe {
	width: 100%;
	height: 520px;
	border: 0;
	border-radius: var(--radius);
}

@media (max-width:640px) {
	.pva-cal-embed iframe {
		height: 420px;
	}
}

.pva-calendar__grid {
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 14px;
}

@media (max-width: 900px) {
	.pva-calendar__grid {
		grid-template-columns: 1fr;
	}
}

/* Cards on this page shouldn’t “lift” on hover */

.pva-calendar .pva-card {
	transition: none;
}

.pva-calendar .pva-card:hover {
	transform: none;
	box-shadow: var(--shadow);
}

.pva-calendar__pane-title {
	margin: 0 0 8px;
	color: var(--pva-green);
	font-size: 1.25rem;
}

/* Make WA gadgets look native inside our cards (scoped to this page) */
.pva-calendar .WaGadget .boxBody {
	background: #fff;
	border: 0;
	box-shadow: none;
	padding: 0;
}

/* If your theme wraps gadgets differently, keep shadows from clipping */
.pva-calendar [class*="gadgetStyle"] .gadgetContentEditableArea {
	overflow: visible !important;
}

/* Placeholder style (safe to remove once gadgets are added) */
.pva-calendar__gadget-placeholder {
	display: grid;
	place-items: center;
	border: 1px dashed rgba(0, 0, 0, .15);
	border-radius: 12px;
	padding: 24px;
	color: #6b7280;
	background: #fafafa;
}

/* Hero: center the logo on mobile (uses your existing variable) */
@media (max-width:640px) {
	.pva-calendar .pva-hero {
		--hero-logo-size: clamp(84px, 22vw, 110px);
		background: var(--pva-logo-path) no-repeat 50% 16px / var(--hero-logo-size) auto, var(--pva-green);
		padding: calc(var(--hero-logo-size) + 36px) 16px 20px;
		text-align: center;
	}
}

/* Volunteer grid uses the home grid but keep cards FLAT (no hover lift) */
.pva-vol__grid .pva-card{ transition:none; transform:none !important; }
.pva-vol__grid .pva-card:hover,
.pva-vol__grid .pva-card:focus-within{
  transform:none !important;
  box-shadow: var(--shadow); /* gentle, consistent */
}

/* Small badge chip used on cards */
.pva-badge{
  display:inline-block; padding:4px 8px; border-radius:999px;
  font-size:.78rem; font-weight:700; line-height:1;
  background:var(--pva-sand); color:var(--pva-green);
  border:1px solid rgba(0,0,0,.06); margin-bottom:6px;
}

.pva-vol__grid {
	max-width: 500px;
}

/* Make the icon feel deliberate */
.pva-vol__grid .pva-home__icon{
  width:56px; height:56px; border-radius:12px;
  background: #f6faf7; border:1px solid rgba(0,0,0,.06);
  margin: 0 auto 8px; display:grid; place-items:center;
}
.pva-vol__grid .pva-home__icon img{ max-width:40px; height:auto; }
/* Tighter body text on these cards */
.pva-vol__grid .pva-muted{ margin-top:4px; }

/* Small chip for price */
.pva-chip{ display:inline-block; padding:4px 8px; border-radius:999px;
  font-size:.78rem; font-weight:800; line-height:1;
  background:#fff8cc; color:#3b2f00; border:1px solid rgba(0,0,0,.06); margin-left:6px;
}
/* compact list inside a card */
.pva-vol__list{ margin:8px 0 0; padding-left:1.1em; color:var(--pva-muted); text-align: start; }
.pva-vol__list li{ margin:4px 0; }

/* --- Fix post card media overflow & layout --- */

/* Make the post card a 2-col grid (image | content) */
.pva-post.pva-card{
  display:grid;
  grid-template-columns:min(40%, 280px) 1fr;
  gap:16px;
  align-items:center;
  padding:16px;                 /* keep inner spacing consistent */
}

/* Stack on small screens */
@media (max-width:640px){
  .pva-post.pva-card{ grid-template-columns:1fr; }
}

/* Media box sizing & no negative margins in posts */
.pva-tile__media{ box-sizing:border-box; }      /* include borders in width */
.pva-post .pva-tile__media{ margin:0 0 10px; }  /* kill -4px gutters that caused overflow */

/* Ensure the image fills the frame */
.pva-post__media{ width:100%; aspect-ratio:4 / 3; overflow:hidden; border-radius:var(--radius); }
.pva-post__media img{
  width:100% !important;
  height:100%;
  object-fit: cover;            /* swap to contain via the modifier below */
  display:block;
}

/* Optional: show full poster/logo without cropping */
.pva-tile__media--contain img{ object-fit:contain; }

/* Prevent long text from forcing the grid wide */
.pva-post__body{ min-width:0; }