/*
Theme Name: PDGA Foundation
Description: A child theme of Twenty Twenty-Five for the PDGA Foundation.
Template: twentytwentyfive
Version: 1.6.3
Text Domain: pdga-foundation
*/

/*
 * Shared component treatments. Global tokens, type, layout, and button
 * defaults live in theme.json so WordPress applies them in both contexts.
 */
.wp-block-group.is-style-pdga-panel {
	background: var(--wp--preset--color--light);
	border-radius: 24px;
	padding: clamp(1.5rem, 4vw, 3rem);
}

.wp-block-image.is-style-pdga-rounded img {
	border-radius: 24px;
}

.wp-element-button,
.wp-block-button__link {
	transition: background-color 160ms ease, border-color 160ms ease,
		color 160ms ease;
}

.wp-element-button:hover,
.wp-block-button__link:hover {
	background-color: var(--wp--preset--color--highlight-blue);
	border-color: var(--wp--preset--color--highlight-blue);
}

.wp-block-button.is-style-outline > .wp-block-button__link {
	background-color: transparent;
	border-color: var(--wp--preset--color--pdga-blue);
	color: var(--wp--preset--color--pdga-blue);
}

.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--pdga-blue);
	color: var(--wp--preset--color--base);
}

.wp-element-button:focus-visible,
.wp-block-button__link:focus-visible {
	outline: 3px solid var(--wp--preset--color--chartreuse);
	outline-offset: 3px;
}

.pdga-foundation-header {
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--pdga-blue);
}

.pdga-foundation-header__inner {
	box-sizing: border-box;
	gap: clamp(1.5rem, 4vw, 4rem);
	min-height: 90px;
	padding-bottom: 0.75rem;
	padding-top: 0.75rem;
}

.pdga-foundation-header__logo {
	flex: 0 1 190px;
	margin: 0;
}

.pdga-foundation-header__logo img {
	display: block;
	height: auto;
	max-height: 68px;
	max-width: 190px;
	object-fit: contain;
	object-position: left center;
	width: 100%;
}

.pdga-foundation-header__actions {
	flex: 1 1 auto;
	gap: clamp(1.25rem, 3vw, 3rem);
	justify-content: flex-end;
}

.wp-block-navigation,
.wp-block-navigation button,
.wp-block-navigation .wp-block-navigation-item__content {
	font-family: "Montserrat", "Source Sans Pro", sans-serif;
}

.pdga-foundation-primary-navigation {
	font-size: 1rem;
}

.pdga-foundation-primary-navigation .wp-block-navigation-item__content {
	color: var(--wp--preset--color--pdga-blue);
}

.pdga-foundation-primary-navigation .wp-block-navigation-item__content:hover,
.pdga-foundation-primary-navigation .wp-block-navigation-item__content:focus-visible {
	color: var(--wp--preset--color--highlight-blue);
}

.pdga-foundation-primary-navigation .wp-block-navigation-item__content:focus-visible,
.pdga-foundation-primary-navigation .wp-block-navigation__submenu-icon:focus-visible,
.pdga-foundation-primary-navigation .wp-block-navigation__responsive-container-open:focus-visible,
.pdga-foundation-primary-navigation .wp-block-navigation__responsive-container-close:focus-visible {
	outline: 3px solid var(--wp--preset--color--chartreuse);
	outline-offset: 3px;
}

.pdga-foundation-header__donate .wp-block-button > .wp-block-button__link {
	background-color: var(--wp--preset--color--pdga-blue);
	border-color: var(--wp--preset--color--pdga-blue);
	color: var(--wp--preset--color--base);
	min-width: 6.5rem;
	white-space: nowrap;
}

.pdga-foundation-header__donate .wp-block-button > .wp-block-button__link:hover,
.pdga-foundation-header__donate .wp-block-button > .wp-block-button__link:focus-visible {
	background-color: var(--wp--preset--color--highlight-blue);
	border-color: var(--wp--preset--color--highlight-blue);
	color: var(--wp--preset--color--base);
}

.pdga-foundation-header__donate .wp-block-button > .wp-block-button__link:focus-visible {
	outline: 3px solid var(--wp--preset--color--pdga-blue);
	outline-offset: 3px;
}

/* The saved Donate Navigation item receives this class in the Site Editor. */
@media (min-width: 1200px) {
	/*
	 * WordPress renders the Header template part inside this outer wrapper.
	 * Make that normal-flow wrapper sticky so its child does not reach the end
	 * of a header-height containing block as soon as the page scrolls.
	 */
	.wp-site-blocks
		> .wp-block-template-part:has(> .pdga-foundation-header) {
		background: #fff;
		position: sticky;
		top: 0;
		z-index: 100;
	}

	.admin-bar
		.wp-site-blocks
		> .wp-block-template-part:has(> .pdga-foundation-header) {
		top: 32px;
	}

	/* The editor canvas should show normal document flow while editing. */
	.editor-styles-wrapper
		.wp-site-blocks
		> .wp-block-template-part:has(> .pdga-foundation-header) {
		position: static;
	}

	.pdga-foundation-primary-navigation .pdga-foundation-menu-donate {
		display: none;
	}

	/* Only desktop's first-level rows are kept on one line. */
	.pdga-foundation-primary-navigation
		.wp-block-navigation__container
		> .wp-block-navigation-item {
		flex-shrink: 0;
	}

	.pdga-foundation-primary-navigation
		.wp-block-navigation__container
		> .wp-block-navigation-item:not(.pdga-foundation-menu-donate)
		> .wp-block-navigation-item__content {
		color: var(--wp--preset--color--pdga-blue);
		font-weight: 600;
		text-decoration: none;
		white-space: nowrap;
	}

	/* Decorate only the label, leaving core's separate submenu icon intact. */
	.pdga-foundation-primary-navigation
		.wp-block-navigation__container
		> .wp-block-navigation-item:not(.pdga-foundation-menu-donate)
		> .wp-block-navigation-item__content
		> .wp-block-navigation-item__label {
		position: relative;
	}

	.pdga-foundation-primary-navigation
		.wp-block-navigation__container
		> .wp-block-navigation-item:not(.pdga-foundation-menu-donate)
		> .wp-block-navigation-item__content
		> .wp-block-navigation-item__label::after {
		background: var(--wp--preset--color--highlight-blue);
		bottom: -6px;
		content: "";
		height: 2px;
		left: 0;
		opacity: 0;
		pointer-events: none;
		position: absolute;
		width: 100%;
	}

	/* Include saved-menu ancestor classes and core's current descendant link. */
	.pdga-foundation-primary-navigation
		.wp-block-navigation__container
		> .wp-block-navigation-item:not(.pdga-foundation-menu-donate):is(
			.current-menu-item,
			.current-menu-parent,
			.current-menu-ancestor,
			.current_page_item,
			.current_page_parent,
			.current_page_ancestor,
			:has([aria-current="page"])
		)
		> .wp-block-navigation-item__content
		> .wp-block-navigation-item__label::after,
	.pdga-foundation-primary-navigation
		.wp-block-navigation__container
		> .wp-block-navigation-item:not(.pdga-foundation-menu-donate)
		> .wp-block-navigation-item__content:is(:hover, :focus-visible)
		> .wp-block-navigation-item__label::after {
		opacity: 1;
	}

	/*
	 * Keep the first dropdown flush with its parent. JavaScript changes the
	 * shift custom property only when the menu would otherwise cross a viewport
	 * edge; the zero-value default preserves exact left alignment.
	 */
	.pdga-foundation-primary-navigation
		.wp-block-navigation__container
		> .wp-block-navigation-submenu {
		position: relative;
	}

	.pdga-foundation-primary-navigation
		.wp-block-navigation__container
		> .wp-block-navigation-submenu
		> .wp-block-navigation__submenu-container {
		--pdga-dropdown-shift: 0px;

		background: #fff;
		border: 1px solid #d9dfe3;
		border-radius: 8px;
		box-shadow: 0 8px 24px rgb(0 52 98 / 14%);
		box-sizing: border-box;
		font-family: "Montserrat", "Source Sans Pro", sans-serif;
		font-size: 16px;
		font-weight: 400;
		left: 0;
		margin: 0;
		max-width: calc(100vw - 32px);
		min-width: min(240px, calc(100vw - 32px));
		padding: 8px 0;
		right: auto;
		top: 100%;
		transform: translateX(var(--pdga-dropdown-shift));
		width: max-content;
	}

	/*
	 * Core's right-justified Navigation rule sets first-level submenus back to
	 * right: 0/left: auto. Its hover and expanded-button rules also restore a
	 * 200px minimum and auto width. Match those states with the navigation's
	 * opt-in class so this positioning continues to win when core block styles
	 * load after the theme stylesheet.
	 */
	.wp-block-navigation.pdga-foundation-primary-navigation.items-justified-right
		.wp-block-navigation__container
		> .wp-block-navigation-submenu
		> .wp-block-navigation__submenu-container,
	.wp-block-navigation.pdga-foundation-primary-navigation
		.wp-block-navigation__container
		> .wp-block-navigation-submenu:not(.open-on-click):hover
		> .wp-block-navigation__submenu-container,
	.wp-block-navigation.pdga-foundation-primary-navigation
		.wp-block-navigation__container
		> .wp-block-navigation-submenu:focus-within
		> .wp-block-navigation__submenu-container,
	.wp-block-navigation.pdga-foundation-primary-navigation
		.wp-block-navigation__container
		> .wp-block-navigation-submenu
		> .wp-block-navigation-submenu__toggle[aria-expanded="true"]
		~ .wp-block-navigation__submenu-container {
		left: 0;
		min-width: min(240px, calc(100vw - 32px));
		right: auto;
		width: max-content;
	}

	.pdga-foundation-primary-navigation
		.wp-block-navigation__container
		> .wp-block-navigation-submenu
		> .wp-block-navigation__submenu-container
		> .wp-block-navigation-item {
		width: 100%;
	}

	.pdga-foundation-primary-navigation
		.wp-block-navigation__container
		> .wp-block-navigation-submenu
		> .wp-block-navigation__submenu-container
		> .wp-block-navigation-item
		> .wp-block-navigation-item__content {
		align-items: center;
		border-left: 4px solid transparent;
		box-sizing: border-box;
		color: #003462;
		display: flex;
		font-size: 16px;
		font-weight: 400;
		line-height: 1.35;
		min-height: 44px;
		padding: 10px 20px 10px 16px;
		text-decoration: none;
		text-decoration-line: none;
		overflow-wrap: anywhere;
		white-space: normal;
		width: 100%;
	}

	.pdga-foundation-primary-navigation
		.wp-block-navigation__container
		> .wp-block-navigation-submenu
		> .wp-block-navigation__submenu-container
		> .wp-block-navigation-item
		> .wp-block-navigation-item__content:hover,
	.pdga-foundation-primary-navigation
		.wp-block-navigation__container
		> .wp-block-navigation-submenu
		> .wp-block-navigation__submenu-container
		> .wp-block-navigation-item
		> .wp-block-navigation-item__content:focus-visible {
		background: #f3f5f6;
		border-left-color: #007da4;
		color: #007da4;
		font-weight: 400;
		text-decoration: none;
	}

	.pdga-foundation-primary-navigation
		.wp-block-navigation__container
		> .wp-block-navigation-submenu
		> .wp-block-navigation__submenu-container
		> .wp-block-navigation-item
		> .wp-block-navigation-item__content:focus-visible {
		outline: 3px solid var(--wp--preset--color--chartreuse);
		outline-offset: -3px;
	}
}

.wp-block-navigation.pdga-foundation-primary-navigation.pdga-mobile-navigation-is-enhanced
	.pdga-mobile-navigation-toggle,
.wp-block-navigation.pdga-foundation-primary-navigation.pdga-mobile-navigation-is-enhanced
	.pdga-mobile-navigation-overview {
	display: none;
}

/* The cloned logo and relocated close control belong only to the open overlay. */
.pdga-mobile-navigation-header {
	display: none;
}

/*
 * Mobile enhancements are opt-in through the Navigation block's
 * "pdga-foundation-primary-navigation" additional CSS class. The
 * pdga-mobile-navigation-is-enhanced class is only added by navigation.js,
 * so the unmodified WordPress menu remains available if JavaScript fails.
 */
@media (max-width: 1199px) {
	.pdga-foundation-header__inner {
		gap: 0.5rem;
		position: relative;
	}

	.pdga-foundation-header__logo {
		flex: 1 1 auto;
		min-width: 0;
	}

	.pdga-foundation-header__logo img {
		max-width: clamp(96px, 31vw, 150px);
	}

	.pdga-foundation-header__actions {
		align-items: center;
		flex: 0 0 auto;
		gap: 0.5rem;
	}

	.pdga-foundation-header__donate {
		order: 1;
	}

	.pdga-foundation-header__donate .wp-block-button__link {
		box-sizing: border-box;
		font-size: 1rem;
		min-height: 44px;
		min-width: 0;
		padding: 0.65em 0.9em;
	}

	.pdga-foundation-primary-navigation {
		align-items: center;
		order: 2;
	}

	.pdga-foundation-primary-navigation
		.wp-block-navigation__responsive-container-open {
		align-items: center;
		box-sizing: border-box;
		height: 44px;
		justify-content: center;
		margin: 0;
		min-width: 44px;
		padding: 10px;
	}

	/* Extend WordPress's standard mobile-overlay behavior to this breakpoint. */
	.pdga-foundation-primary-navigation
		.wp-block-navigation__responsive-container-open {
		display: flex;
	}

	.pdga-foundation-primary-navigation
		.wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none;
	}

	.pdga-foundation-primary-navigation
		.wp-block-navigation__responsive-container.is-menu-open {
		display: flex;
		max-height: 100dvh;
	}

	.pdga-foundation-primary-navigation
		.pdga-foundation-menu-donate
		> .wp-block-navigation-item__content {
		background: var(--wp--preset--color--contrast);
		color: var(--wp--preset--color--base);
		justify-content: center;
		padding-left: 1rem;
		padding-right: 1rem;
		text-decoration: none;
	}

	.pdga-foundation-primary-navigation.pdga-mobile-navigation-is-enhanced
		.wp-block-navigation__responsive-container.is-menu-open {
		flex-direction: column;
		overflow-y: auto;
		overscroll-behavior: contain;
		padding: 0;
	}

	.pdga-foundation-primary-navigation.pdga-mobile-navigation-is-enhanced
		.wp-block-navigation__responsive-container.is-menu-open
		.pdga-mobile-navigation-header {
		align-items: center;
		box-sizing: border-box;
		display: flex;
		flex: 0 0 auto;
		justify-content: space-between;
		min-height: 76px;
		padding: 1rem clamp(1rem, 5vw, 1.5rem);
		width: 100%;
	}

	.pdga-mobile-navigation-header .wp-block-site-logo {
		margin: 0;
		min-width: 0;
		width: clamp(96px, 40vw, 150px) !important;
	}

	.pdga-mobile-navigation-header .wp-block-site-logo img {
		display: block;
		height: auto;
		max-height: 52px;
		max-width: clamp(96px, 40vw, 150px);
		object-fit: contain;
		object-position: left center;
	}

	.pdga-mobile-navigation-header
		.wp-block-navigation__responsive-container-close {
		align-items: center;
		box-sizing: border-box;
		display: flex;
		flex: 0 0 44px;
		height: 44px;
		justify-content: center;
		margin: 0 0 0 auto;
		position: static;
		width: 44px;
	}

	.pdga-foundation-primary-navigation.pdga-mobile-navigation-is-enhanced
		.wp-block-navigation__responsive-container.is-menu-open
		.wp-block-navigation__responsive-container-content {
		align-items: stretch;
		box-sizing: border-box;
		flex: 1 0 auto;
		justify-content: flex-start;
		padding: 1rem clamp(1rem, 5vw, 1.5rem) 2rem;
		text-align: left;
		width: 100%;
	}

	.pdga-foundation-primary-navigation.pdga-mobile-navigation-is-enhanced
		.wp-block-navigation__responsive-container.is-menu-open
		.wp-block-navigation__responsive-container-content
		.wp-block-navigation__container,
	.pdga-foundation-primary-navigation.pdga-mobile-navigation-is-enhanced
		.wp-block-navigation__responsive-container.is-menu-open
		.wp-block-navigation__responsive-container-content
		.wp-block-navigation__submenu-container {
		align-items: stretch;
		width: 100%;
	}

	.pdga-foundation-primary-navigation.pdga-mobile-navigation-is-enhanced
		.wp-block-navigation__responsive-container.is-menu-open
		.pdga-mobile-navigation-toggle:focus-visible {
		outline: 2px solid currentcolor;
		outline-offset: 2px;
	}

	.pdga-foundation-primary-navigation.pdga-mobile-navigation-is-enhanced
		.wp-block-navigation__responsive-container.is-menu-open
		.pdga-mobile-navigation-overview {
		display: list-item;
	}

	.pdga-foundation-primary-navigation.pdga-mobile-navigation-is-enhanced
		.wp-block-navigation__responsive-container.is-menu-open
		.pdga-mobile-navigation-parent
		> .wp-block-navigation-item__content,
	.pdga-foundation-primary-navigation.pdga-mobile-navigation-is-enhanced
		.wp-block-navigation__responsive-container.is-menu-open
		.pdga-mobile-navigation-parent
		> .wp-block-navigation__submenu-icon {
		display: none;
	}

	.pdga-foundation-primary-navigation.pdga-mobile-navigation-is-enhanced
		.wp-block-navigation__responsive-container.is-menu-open
		.pdga-mobile-navigation-toggle {
		align-items: center;
		background: transparent;
		border: 0;
		box-sizing: border-box;
		color: inherit;
		cursor: pointer;
		display: flex;
		font: inherit;
		justify-content: space-between;
		min-height: 48px;
		padding: 0.75rem 0;
		text-align: left;
		width: 100%;
	}

	.pdga-foundation-primary-navigation.pdga-mobile-navigation-is-enhanced
		.wp-block-navigation__responsive-container.is-menu-open
		.pdga-mobile-navigation-indicator::before {
		content: "+";
		font-size: 1.5em;
		line-height: 1;
	}

	.pdga-foundation-primary-navigation.pdga-mobile-navigation-is-enhanced
		.wp-block-navigation__responsive-container.is-menu-open
		.pdga-mobile-navigation-toggle[aria-expanded="true"]
		.pdga-mobile-navigation-indicator::before {
		content: "\2212";
	}

	.pdga-foundation-primary-navigation.pdga-mobile-navigation-is-enhanced
		.wp-block-navigation__responsive-container.is-menu-open
		.pdga-mobile-navigation-submenu:not(.pdga-mobile-navigation-submenu-is-open) {
		display: none;
	}

	.pdga-foundation-primary-navigation.pdga-mobile-navigation-is-enhanced
		.wp-block-navigation__responsive-container.is-menu-open
		.pdga-mobile-navigation-submenu.pdga-mobile-navigation-submenu-is-open {
		display: flex;
		position: static;
		visibility: visible;
	}

	.pdga-foundation-primary-navigation.pdga-mobile-navigation-is-enhanced
		.wp-block-navigation__responsive-container.is-menu-open
		.wp-block-navigation-item__content {
		box-sizing: border-box;
		display: flex;
		min-height: 48px;
		padding-bottom: 0.75rem;
		padding-top: 0.75rem;
		width: 100%;
	}

	/* Keep submenu links one consistent step in from their parent row. */
	.pdga-foundation-primary-navigation.pdga-mobile-navigation-is-enhanced
		.wp-block-navigation__responsive-container.is-menu-open
		.pdga-mobile-navigation-submenu {
		box-sizing: border-box;
		gap: 0;
		margin: 0;
		padding: 0 0 0 16px;
	}

	.pdga-foundation-primary-navigation.pdga-mobile-navigation-is-enhanced
		.wp-block-navigation__responsive-container.is-menu-open
		.pdga-mobile-navigation-submenu
		> .wp-block-navigation-item {
		margin: 0;
		padding: 0;
	}

	.pdga-foundation-primary-navigation.pdga-mobile-navigation-is-enhanced
		.wp-block-navigation__responsive-container.is-menu-open
		.pdga-mobile-navigation-submenu
		> .wp-block-navigation-item
		> .wp-block-navigation-item__content {
		min-height: 44px;
		padding: 0.625rem 0;
	}
}

/* Footer: a self-contained, typographic closing composition. */
.pdga-foundation-footer {
	--pdga-footer-muted: #c4d2de;
	--pdga-footer-rule: rgb(255 255 255 / 22%);
	background: var(--wp--preset--color--pdga-blue);
	color: var(--wp--preset--color--base);
	font-family: "Source Sans Pro", Arial, sans-serif;
	margin-block-start: 0;
}

.pdga-foundation-footer .pdga-foundation-footer__main,
.pdga-foundation-footer .pdga-foundation-footer__composition,
.pdga-foundation-footer .pdga-foundation-footer__legal {
	margin-block: 0;
}

.pdga-foundation-footer__main {
	background: var(--wp--preset--color--pdga-blue);
	padding: 4rem var(--wp--preset--spacing--40) clamp(2rem, 4vw, 3.5rem);
}

.pdga-foundation-footer .pdga-foundation-footer__composition {
	display: grid;
	gap: clamp(3.5rem, 9vw, 8rem);
	grid-template-columns: minmax(0, 1fr) minmax(10rem, 0.25fr);
}

.pdga-foundation-footer .pdga-foundation-footer__identity {
	min-width: 0;
}

.pdga-foundation-footer .pdga-foundation-footer__identity > * {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.pdga-foundation-footer .pdga-foundation-footer__logo {
	box-sizing: border-box;
	max-width: 100%;
	margin: 0;
	width: 320px;
}

.pdga-foundation-footer .pdga-foundation-footer__logo a,
.pdga-foundation-footer .pdga-foundation-footer__logo img {
	display: block;
	max-width: 100%;
}

.pdga-foundation-footer .pdga-foundation-footer__logo img {
	height: auto;
	width: 320px;
}

.pdga-foundation-footer .pdga-foundation-footer__statement {
	color: var(--wp--preset--color--base);
	font-family: "Montserrat", "Source Sans Pro", sans-serif;
	font-size: clamp(1.35rem, 2.2vw, 2rem);
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: 1.3;
	margin: 1.25rem 0 0;
	max-width: 36rem;
}

.pdga-foundation-footer .pdga-foundation-footer__nav {
	align-self: end;
	font-family: "Montserrat", "Source Sans Pro", sans-serif;
	font-size: clamp(1.05rem, 1.5vw, 1.3rem);
	font-weight: 700;
	margin: 0 0 0.35rem;
}

.pdga-foundation-footer__nav .wp-block-navigation__container {
	align-items: stretch;
	gap: 0.25rem;
	width: 100%;
}

.pdga-foundation-footer__nav .wp-block-navigation-item { width: 100%; }

.pdga-foundation-footer__nav .wp-block-navigation-item__content {
	color: var(--wp--preset--color--base);
	display: block;
	line-height: 1.3;
	padding: 0.45rem 0;
	text-decoration: none;
	transition: color 160ms ease;
}

.pdga-foundation-footer__nav .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--chartreuse); }

.pdga-foundation-footer .wp-block-group.pdga-newsletter {
	border-top: 1px solid var(--pdga-footer-rule, rgb(255 255 255 / 22%));
	margin-block: 2.5rem 0;
	padding: 2rem 0 0;
}

.pdga-foundation-footer .pdga-newsletter
+ .pdga-foundation-footer__legal {
	margin-top: 2rem;
}

.pdga-foundation-footer .pdga-foundation-footer__legal {
	border-top: 1px solid var(--pdga-footer-rule);
	gap: 1rem 3rem;
	margin-top: clamp(4rem, 9vw, 8rem);
	padding-top: clamp(1.5rem, 3vw, 2.25rem);
}

.pdga-foundation-footer .pdga-foundation-footer__legal-copy { gap: 0.75rem 2rem; }

.pdga-foundation-footer__legal p,
.pdga-foundation-footer .pdga-foundation-footer__legal-nav {
	color: var(--pdga-footer-muted);
	font-size: 0.8rem;
	line-height: 1.5;
	margin: 0;
}

.pdga-foundation-footer__legal-nav .wp-block-navigation__container { gap: 0.5rem 1.5rem; }

.pdga-foundation-footer__legal-nav .wp-block-navigation-item__content {
	color: var(--pdga-footer-muted);
	padding: 0.35rem 0;
	text-decoration: none;
	transition: color 160ms ease;
}

.pdga-foundation-footer__legal-nav .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--base); }

.pdga-foundation-footer__nav .wp-block-navigation-item__content:focus-visible,
.pdga-foundation-footer__legal-nav .wp-block-navigation-item__content:focus-visible {
	outline: 3px solid var(--wp--preset--color--chartreuse);
	outline-offset: 3px;
}

@media (max-width: 781px) {
	.pdga-foundation-footer .pdga-foundation-footer__composition { grid-template-columns: minmax(0, 1fr); }
	.pdga-foundation-footer .pdga-foundation-footer__nav { max-width: 30rem; }
	.pdga-foundation-footer__nav .wp-block-navigation__container {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 599px) {
	.pdga-foundation-footer__main { padding-top: 2.5rem; }

	.pdga-foundation-footer .pdga-foundation-footer__logo,
	.pdga-foundation-footer .pdga-foundation-footer__logo img { width: 240px; }

	.pdga-foundation-footer .pdga-foundation-footer__statement { margin-top: 1.25rem; }

	.pdga-foundation-footer .pdga-foundation-footer__legal {
		align-items: flex-start;
		flex-direction: column;
	}

	.pdga-foundation-footer__legal-nav .wp-block-navigation__container { justify-content: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
	.pdga-foundation-footer__nav .wp-block-navigation-item__content,
	.pdga-foundation-footer__legal-nav .wp-block-navigation-item__content { transition: none; }
}

/* Standalone donation CTA. No dependency on the footer's classes. */
.wp-block-group.pdga-donation-cta {
  box-sizing: border-box;
  background: #00284d;
  color: #fff;
  margin-block-end: 0;
  padding-block: clamp(2rem, 4vw, 3.5rem);
  padding-inline: var(--wp--style--root--padding-left, 1.25rem)
    var(--wp--style--root--padding-right, 1.25rem);
}

.pdga-donation-cta > .pdga-donation-cta__inner {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 2rem clamp(2rem, 5vw, 5rem);
  width: 100%;
  max-width: var(--wp--style--global--wide-size, 1280px);
  margin-block: 0;
  margin-inline: auto;
}

.pdga-donation-cta .pdga-donation-cta__copy,
.pdga-donation-cta .pdga-donation-cta__buttons {
  min-width: 0;
  margin: 0;
}

.pdga-donation-cta .pdga-donation-cta__heading {
  color: #fff;
  font-family: "Montserrat", "Source Sans Pro", sans-serif;
  font-size: clamp(1.75rem, 3vw, 2.75rem);
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.15;
  max-width: 28ch;
  margin: 0;
  overflow-wrap: break-word;
}

.pdga-donation-cta .pdga-donation-cta__text {
  color: #c4d2de;
  font-family: "Source Sans Pro", Arial, sans-serif;
  font-size: clamp(1rem, 1.3vw, 1.2rem);
  line-height: 1.5;
  max-width: 60ch;
  margin: 1rem 0 0;
}

.pdga-donation-cta .pdga-donation-cta__buttons {
  justify-self: end;
  align-self: center;
}

.pdga-donation-cta .wp-block-button {
  margin: 0;
  max-width: 100%;
}

.pdga-donation-cta .wp-block-button__link {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  min-width: 9rem;
  max-width: 100%;
  padding: 0.85rem 1.75rem;
  background: #d0dd28;
  border: 2px solid #d0dd28;
  border-radius: 999px;
  color: #003462;
  font-family: "Montserrat", "Source Sans Pro", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  transition: background-color 160ms ease, border-color 160ms ease;
}

.pdga-donation-cta .wp-block-button__link:hover {
  background: #fff;
  border-color: #fff;
  color: #003462;
}

.pdga-donation-cta .wp-block-button__link:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 4px;
}

/* The opt-in template removes only the spacing below its final CTA. */
.wp-site-blocks > .pdga-donation-page,
.pdga-donation-page > .wp-block-post-content,
.wp-site-blocks > .pdga-donation-page__footer,
.pdga-donation-page__footer > .pdga-foundation-footer {
  margin-block-end: 0;
}

.wp-site-blocks > .pdga-donation-page__footer,
.pdga-donation-page__footer > .pdga-foundation-footer {
  margin-block-start: 0;
}

@media (max-width: 781px) {
  .pdga-donation-cta > .pdga-donation-cta__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem;
  }

  .pdga-donation-cta .pdga-donation-cta__buttons {
    justify-self: start;
  }
}

@media (max-width: 479px) {
  .pdga-donation-cta .pdga-donation-cta__buttons,
  .pdga-donation-cta .wp-block-button,
  .pdga-donation-cta .wp-block-button__link {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pdga-donation-cta .wp-block-button__link {
    transition: none;
  }
}
