/*
 * Thoughts About God 2026 — Site Chrome
 * Canonical responsive header, navigation, search, footer, and shared chrome.
 */

:root {
	--tag-header-height: 64px;
	--tag-admin-bar-height: 0px;
	--tag-header-max-width: 1440px;
	--tag-header-pad: clamp(14px, 3vw, 40px);
	--tag-header-text: #241b17;
	--tag-header-muted: #514a45;
	--tag-header-accent: #991b1b;
	--tag-header-border: #e8e3de;
	--tag-header-surface: #ffffff;
	--tag-header-mobile-surface: #f7f5f1;
}

@media (min-width: 768px) {
	:root {
		--tag-header-height: 80px;
	}
}

@media (min-width: 1280px) {
	:root {
		--tag-header-height: 100px;
	}
}

body.admin-bar {
	--tag-admin-bar-height: 32px;
}

@media (max-width: 782px) {
	body.admin-bar {
		--tag-admin-bar-height: 46px;
	}
}

.tag-site-header-spacer {
	display: block;
	height: var(--tag-header-height);
}

.tag-site-header {
	position: fixed;
	z-index: 1000;
	top: var(--tag-admin-bar-height);
	right: 0;
	left: 0;
	height: var(--tag-header-height);
	margin: 0;
	border-bottom: 1px solid rgba(51, 39, 31, 0.09);
	background: var(--tag-header-surface);
	box-shadow: 0 3px 14px rgba(38, 29, 24, 0.08);
	overflow: visible;
}

.tag-site-header,
.tag-site-header *,
.tag-site-header *::before,
.tag-site-header *::after {
	box-sizing: border-box;
}

.tag-site-header__inner {
	display: flex;
	align-items: center;
	width: min(100%, var(--tag-header-max-width));
	height: 100%;
	margin: 0 auto;
	padding-right: max(var(--tag-header-pad), env(safe-area-inset-right));
	padding-left: max(var(--tag-header-pad), env(safe-area-inset-left));
}

.tag-site-branding {
	position: relative;
	z-index: 1003;
	flex: 0 1 auto;
	min-width: 0;
	margin: 0;
	padding: 0;
}

.tag-site-branding__link {
	display: inline-flex;
	align-items: center;
	width: max-content;
	max-width: 100%;
	height: var(--tag-header-height);
	margin: 0;
	text-decoration: none;
}

.tag-site-branding__logo {
	display: block;
	width: 104px;
	max-width: 100%;
	height: auto;
	max-height: 52px;
	margin: 0;
	object-fit: contain;
	object-position: left center;
}

.tag-site-navigation {
	position: static;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 2px;
	min-width: 0;
	height: 100%;
	margin: 0 0 0 auto;
	color: var(--tag-header-text);
}

.tag-menu-toggle,
.tag-site-search__toggle {
	-webkit-tap-highlight-color: transparent;
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 44px;
	width: 44px;
	height: 44px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: var(--tag-header-muted);
	cursor: pointer;
	list-style: none;
	line-height: 1;
	transition: color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

.tag-menu-toggle:hover,
.tag-menu-toggle:focus-visible,
.tag-site-search__toggle:hover,
.tag-site-search__toggle:focus-visible,
.tag-site-search[open] > .tag-site-search__toggle {
	background: #f0eeeb;
	color: var(--tag-header-text);
}

.tag-menu-toggle:active,
.tag-site-search__toggle:active {
	transform: scale(0.96);
}

.tag-menu-toggle:focus-visible,
.tag-site-search__toggle:focus-visible,
.tag-primary-menu a:focus-visible,
.tag-primary-menu label:focus-visible,
.tag-site-search__input:focus-visible,
.tag-site-search__submit:focus-visible {
	outline: 3px solid rgba(14, 165, 233, 0.34);
	outline-offset: 2px;
}

.tag-menu-toggle > svg,
.tag-site-search__toggle > svg {
	display: block;
	width: 21px !important;
	height: 21px !important;
	min-width: 21px !important;
	min-height: 21px !important;
	max-width: 21px !important;
	max-height: 21px !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible;
	pointer-events: none;
	transform: none !important;
	stroke-width: 2 !important;
}

.tag-menu-toggle::before,
.tag-menu-toggle::after,
.tag-site-search__toggle::before,
.tag-site-search__toggle::after {
	display: none !important;
	content: none !important;
}

.tag-site-search {
	position: relative;
	z-index: 1003;
	flex: 0 0 auto;
	margin: 0;
}

.tag-site-search > summary::-webkit-details-marker {
	display: none;
}

.tag-site-search > summary::marker {
	content: "";
}

.tag-site-search:not([open]) .tag-site-search__open-icon {
	display: block !important;
}

.tag-site-search__close-icon,
.tag-site-search:not([open]) .tag-site-search__close-icon {
	display: none !important;
}

.tag-site-search[open] .tag-site-search__open-icon {
	display: none !important;
}

.tag-site-search[open] .tag-site-search__close-icon {
	display: block !important;
}

.tag-menu-toggle {
	position: relative;
	z-index: 1003;
	flex: 0 0 44px;
}

/* A single button swaps icons. The open and close icons can never display together. */
.tag-menu-toggle__close {
	display: none !important;
}

.tag-site-navigation.is-menu-open .tag-menu-toggle__open {
	display: none !important;
}

.tag-site-navigation.is-menu-open .tag-menu-toggle__close {
	display: block !important;
}

.tag-menu-overlay {
	appearance: none;
	position: fixed;
	z-index: 1001;
	top: calc(var(--tag-admin-bar-height) + var(--tag-header-height));
	right: 0;
	bottom: 0;
	left: 0;
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	border: 0;
	background: rgba(32, 25, 21, 0.44);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	cursor: default;
	transition: opacity 180ms ease, visibility 180ms ease;
}

.tag-menu-panel {
	position: fixed;
	z-index: 1002;
	top: calc(var(--tag-admin-bar-height) + var(--tag-header-height));
	right: 0;
	bottom: 0;
	display: block;
	width: min(430px, 100vw);
	max-width: 100%;
	margin: 0;
	padding: 18px clamp(18px, 5vw, 34px) max(34px, env(safe-area-inset-bottom));
	border: 0;
	border-left: 1px solid var(--tag-header-border);
	background: var(--tag-header-mobile-surface);
	box-shadow: -16px 0 36px rgba(38, 29, 24, 0.18);
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
	touch-action: pan-y;
	opacity: 0;
	transform: translate3d(102%, 0, 0);
	visibility: hidden;
	pointer-events: none;
	transition: transform 220ms cubic-bezier(.22, .61, .36, 1), opacity 180ms ease, visibility 220ms ease;
}

.tag-site-navigation.is-menu-open .tag-menu-overlay {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.tag-site-navigation.is-menu-open .tag-menu-panel {
	opacity: 1;
	transform: translate3d(0, 0, 0);
	visibility: visible;
	pointer-events: auto;
}

body.tag-mobile-menu-open {
	overflow: hidden;
}

body.tag-site-search-open {
	overflow-x: hidden;
}

.tag-menu-panel__heading {
	display: block;
	width: 100%;
	margin: 0 0 8px;
	padding: 0 0 14px;
	border-bottom: 1px solid var(--tag-header-border);
	color: var(--tag-header-muted);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.12em;
	line-height: 1.2;
	text-align: left;
	text-transform: uppercase;
}

.tag-primary-menu,
.tag-primary-menu ul {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.tag-primary-menu {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	width: 100% !important;
	font-size: 17px;
	font-weight: 650;
	line-height: 1.35;
}

.tag-primary-menu > li {
	position: relative;
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0;
	border-bottom: 1px solid rgba(76, 63, 54, 0.11);
}

.tag-primary-menu > li:last-child {
	border-bottom: 0;
}

.tag-primary-menu > li > a,
.tag-primary-menu > li > label {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 12px;
	width: 100% !important;
	min-height: 56px;
	margin: 0 !important;
	padding: 14px 2px !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--tag-header-text) !important;
	font: inherit;
	line-height: 1.25;
	text-align: left;
	text-decoration: none !important;
	white-space: normal !important;
	cursor: pointer;
}

.tag-primary-menu > li > a:hover,
.tag-primary-menu > li > label:hover,
.tag-primary-menu .current-menu-item > a,
.tag-primary-menu .current-menu-ancestor > label {
	color: var(--tag-header-accent) !important;
}

.tag-primary-menu > li > label svg,
.tag-primary-menu .menu-item-has-children > a svg {
	display: block;
	flex: 0 0 14px;
	width: 14px !important;
	height: 14px !important;
	min-width: 14px !important;
	max-width: 14px !important;
	margin: 0 0 0 4px !important;
	stroke-width: 1.8 !important;
	transition: transform 180ms ease;
}

.tag-primary-menu > li.is-submenu-open > label svg {
	transform: rotate(180deg);
}

.tag-primary-menu > li > input[type="checkbox"] {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	border: 0 !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	overflow: hidden !important;
	white-space: nowrap !important;
}

.tag-primary-menu .sub-menu {
	position: static !important;
	display: block !important;
	width: 100% !important;
	max-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	opacity: 1 !important;
	overflow: hidden !important;
	pointer-events: auto !important;
	transform: none !important;
	visibility: visible !important;
	transition: max-height 220ms ease, padding 220ms ease !important;
}

.tag-primary-menu > li > input[type="checkbox"]:checked + .sub-menu {
	max-height: 1200px !important;
	padding: 0 0 12px 14px !important;
}

.tag-primary-menu .sub-menu li {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

.tag-primary-menu .sub-menu a {
	display: flex !important;
	align-items: center;
	width: 100% !important;
	min-height: 44px;
	margin: 0 !important;
	padding: 10px 12px !important;
	border-radius: 7px;
	background: transparent !important;
	color: #4d443f !important;
	font-size: 15px;
	font-weight: 550;
	line-height: 1.35;
	text-align: left;
	text-decoration: none !important;
	white-space: normal !important;
}

.tag-primary-menu .sub-menu a:hover,
.tag-primary-menu .sub-menu a:focus-visible {
	background: #ece8e2 !important;
	color: var(--tag-header-accent) !important;
}

.tag-site-search__panel {
	position: fixed;
	z-index: 1002;
	top: calc(var(--tag-admin-bar-height) + var(--tag-header-height));
	right: 0;
	left: 0;
	width: 100%;
	margin: 0;
	padding: 16px max(var(--tag-header-pad), env(safe-area-inset-right)) 16px max(var(--tag-header-pad), env(safe-area-inset-left));
	border-top: 1px solid var(--tag-header-border);
	background: rgba(255, 255, 255, 0.99);
	box-shadow: 0 16px 34px rgba(38, 29, 24, 0.15);
}

.tag-site-search__inner {
	width: min(100%, 980px);
	margin: 0 auto;
}

.tag-site-search__form {
	display: flex;
	align-items: stretch;
	gap: 10px;
	width: 100%;
	margin: 0;
}

.tag-site-search__field-wrap {
	position: relative;
	flex: 1 1 auto;
	min-width: 0;
}

.tag-site-search__field-icon {
	position: absolute;
	top: 50%;
	left: 16px;
	width: 21px;
	height: 21px;
	color: var(--tag-header-muted);
	transform: translateY(-50%);
	pointer-events: none;
}

.tag-site-search__input {
	appearance: none;
	-webkit-appearance: none;
	display: block;
	width: 100%;
	height: 52px;
	margin: 0;
	padding: 0 16px 0 49px;
	border: 1px solid #cfc8c1 !important;
	border-radius: 8px;
	background: #ffffff !important;
	box-shadow: none;
	color: var(--tag-header-text) !important;
	font: inherit;
	font-size: 16px;
	line-height: 1;
}

.tag-site-search__input::-webkit-search-cancel-button {
	cursor: pointer;
}

.tag-site-search__input:focus {
	border-color: #1594c4 !important;
	box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.17) !important;
	outline: 0;
}

.tag-site-search__submit {
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	height: 52px;
	margin: 0;
	padding: 0 25px;
	border: 1px solid #2f231d;
	border-radius: 8px;
	background: #2f231d;
	color: #ffffff;
	font: inherit;
	font-size: 15px;
	font-weight: 750;
	line-height: 1;
	cursor: pointer;
	transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.tag-site-search__submit:hover,
.tag-site-search__submit:focus-visible {
	border-color: #4b382e;
	background: #4b382e;
}

.tag-site-search__submit:active {
	transform: translateY(1px);
}

@media (max-width: 479px) {
	.tag-site-header__inner {
		padding-right: max(8px, env(safe-area-inset-right));
		padding-left: max(14px, env(safe-area-inset-left));
	}

	.tag-site-branding__logo {
		width: 96px;
		max-height: 48px;
	}

	.tag-site-navigation {
		gap: 0;
	}

	.tag-menu-toggle,
	.tag-site-search__toggle {
		flex-basis: 42px;
		width: 42px;
		height: 42px;
	}
.tag-menu-panel {
		width: 100%;
		padding-right: max(18px, env(safe-area-inset-right));
		padding-left: max(18px, env(safe-area-inset-left));
		border-left: 0;
	}

	.tag-site-search__panel {
		padding-top: 12px;
		padding-bottom: 12px;
	}

	.tag-site-search__form {
		flex-direction: column;
		gap: 9px;
	}

	.tag-site-search__input,
	.tag-site-search__submit {
		height: 48px;
	}

	.tag-site-search__submit {
		width: 100%;
	}
}

@media (min-width: 480px) and (max-width: 1279px) {
	.tag-menu-panel {
		width: min(430px, 88vw);
	}
}

@media (min-width: 768px) {
	.tag-site-branding__logo {
		width: 128px;
		max-height: 62px;
	}

	.tag-site-navigation {
		gap: 6px;
	}

	.tag-site-search__panel {
		padding-top: 22px;
		padding-bottom: 22px;
	}
}

@media (min-width: 1280px) {
	.tag-site-header__inner {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		column-gap: clamp(28px, 3vw, 58px);
	}

	.tag-site-branding__logo {
		width: 150px;
		max-height: 72px;
	}

	.tag-site-navigation {
		justify-content: flex-end;
		gap: 18px;
	}

	.tag-menu-toggle,
	.tag-menu-overlay,
	.tag-menu-panel__heading {
		display: none !important;
	}

	.tag-menu-panel {
		position: static;
		z-index: auto;
		display: flex;
		align-items: center;
		justify-content: flex-end;
		order: 1;
		width: auto;
		max-width: none;
		height: 100%;
		margin: 0;
		padding: 0;
		border: 0;
		background: transparent;
		box-shadow: none;
		overflow: visible;
		opacity: 1;
		transform: none;
		visibility: visible;
		pointer-events: auto;
	}

	.tag-primary-menu {
		flex-direction: row !important;
		align-items: center !important;
		justify-content: flex-end !important;
		gap: clamp(18px, 1.9vw, 40px);
		width: auto !important;
		height: 100%;
		font-size: clamp(15px, 1.02vw, 17px);
		font-weight: 650;
	}

	.tag-primary-menu > li {
		display: flex !important;
		align-items: center !important;
		width: auto !important;
		height: 100%;
		margin: 0 !important;
		padding: 0 !important;
		border: 0;
	}

	.tag-primary-menu > li > a,
	.tag-primary-menu > li > label {
		justify-content: flex-start !important;
		gap: 7px;
		width: auto !important;
		min-height: 44px;
		padding: 8px 0 !important;
		white-space: nowrap !important;
	}

	.tag-primary-menu > li > label svg {
		flex-basis: 14px;
		margin-left: 4px !important;
	}

	.tag-primary-menu .sub-menu {
		position: absolute !important;
		top: calc(50% + 29px) !important;
		left: 50% !important;
		display: block !important;
		width: 270px !important;
		max-height: none !important;
		margin: 0 !important;
		padding: 8px !important;
		border: 1px solid var(--tag-header-border) !important;
		border-radius: 9px !important;
		background: #ffffff !important;
		box-shadow: 0 16px 34px rgba(38, 29, 24, 0.16) !important;
		opacity: 0 !important;
		overflow: visible !important;
		pointer-events: none !important;
		transform: translate(-50%, -8px) !important;
		visibility: hidden !important;
		transition: opacity 150ms ease, transform 150ms ease, visibility 150ms ease !important;
	}

	.tag-primary-menu > li:nth-last-child(-n+2) > .sub-menu {
		right: 0 !important;
		left: auto !important;
		transform: translateY(-8px) !important;
	}

	.tag-primary-menu > li:hover > .sub-menu,
	.tag-primary-menu > li:focus-within > .sub-menu,
	.tag-primary-menu > li > input[type="checkbox"]:checked + .sub-menu {
		opacity: 1 !important;
		pointer-events: auto !important;
		transform: translate(-50%, 0) !important;
		visibility: visible !important;
	}

	.tag-primary-menu > li:nth-last-child(-n+2):hover > .sub-menu,
	.tag-primary-menu > li:nth-last-child(-n+2):focus-within > .sub-menu,
	.tag-primary-menu > li:nth-last-child(-n+2) > input[type="checkbox"]:checked + .sub-menu {
		transform: translateY(0) !important;
	}

	.tag-primary-menu .sub-menu a {
		min-height: 40px;
		padding: 10px 12px !important;
		font-size: 14px;
	}

	.tag-site-search {
		order: 2;
		flex: 0 0 44px;
		margin-left: 0;
	}
}

@media (min-width: 1280px) and (max-width: 1399px) {
	.tag-site-header__inner {
		column-gap: 22px;
	}

	.tag-primary-menu {
		gap: 20px;
		font-size: 15px;
	}

	.tag-site-branding__logo {
		width: 140px;
	}
}

@media (min-width: 1480px) {
	.tag-primary-menu {
		gap: 42px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.tag-site-header *,
	.tag-site-header *::before,
	.tag-site-header *::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}

/*
 * Mobile drawer hardening.
 * These ID-scoped rules override the parent theme's legacy navigation rules,
 * including rules that hide #primary-menu below the desktop breakpoint.
 */
@media (max-width: 1279px) {
	#masthead.tag-site-header {
		overflow: visible !important;
	}

	#site-navigation.tag-site-navigation {
		position: static !important;
		overflow: visible !important;
	}

	#tag-primary-menu-panel.tag-menu-panel {
		position: fixed !important;
		inset: calc(var(--tag-admin-bar-height) + var(--tag-header-height)) 0 auto auto !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		width: min(430px, 100vw) !important;
		height: calc(100dvh - var(--tag-admin-bar-height) - var(--tag-header-height)) !important;
		min-height: 0 !important;
		max-height: calc(100dvh - var(--tag-admin-bar-height) - var(--tag-header-height)) !important;
		padding: 0 !important;
		background: var(--tag-header-mobile-surface) !important;
		overflow: hidden !important;
	}

	#site-navigation.is-menu-open #tag-primary-menu-panel {
		opacity: 1 !important;
		transform: translate3d(0, 0, 0) !important;
		visibility: visible !important;
		pointer-events: auto !important;
	}

	#tag-primary-menu-panel .tag-menu-panel__heading {
		flex: 0 0 auto !important;
		margin: 0 !important;
		padding: 20px max(18px, env(safe-area-inset-right)) 16px max(18px, env(safe-area-inset-left)) !important;
		background: var(--tag-header-mobile-surface) !important;
	}

	#tag-primary-menu-panel .tag-menu-panel__body {
		display: block !important;
		flex: 1 1 auto !important;
		min-width: 0 !important;
		min-height: 0 !important;
		width: 100% !important;
		padding: 0 max(18px, env(safe-area-inset-right)) max(34px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left)) !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		overscroll-behavior: contain !important;
		-webkit-overflow-scrolling: touch;
	}

	/* Handle either container:false or a WordPress-generated menu container. */
	#tag-primary-menu-panel .menu-primary-nav-container {
		display: block !important;
		width: 100% !important;
		height: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: visible !important;
	}

	#tag-primary-menu-panel #primary-menu,
	#tag-primary-menu-panel ul.tag-primary-menu {
		position: static !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		justify-content: flex-start !important;
		width: 100% !important;
		height: auto !important;
		max-height: none !important;
		margin: 0 !important;
		padding: 0 !important;
		opacity: 1 !important;
		transform: none !important;
		visibility: visible !important;
		pointer-events: auto !important;
		overflow: visible !important;
	}

	#tag-primary-menu-panel #primary-menu > li,
	#tag-primary-menu-panel .tag-primary-menu > li {
		display: block !important;
		float: none !important;
		width: 100% !important;
		height: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		opacity: 1 !important;
		visibility: visible !important;
	}

	#tag-primary-menu-panel #primary-menu > li > a,
	#tag-primary-menu-panel #primary-menu > li > label,
	#tag-primary-menu-panel .tag-primary-menu > li > a,
	#tag-primary-menu-panel .tag-primary-menu > li > label {
		display: flex !important;
		width: 100% !important;
		min-height: 56px !important;
		margin: 0 !important;
		padding: 14px 2px !important;
		opacity: 1 !important;
		visibility: visible !important;
	}

	#tag-primary-menu-panel #primary-menu .sub-menu,
	#tag-primary-menu-panel .tag-primary-menu .sub-menu {
		float: none !important;
		left: auto !important;
		right: auto !important;
	}

	body.tag-mobile-menu-open #page {
		height: 100dvh;
		overflow: hidden;
	}
}

@media (max-width: 479px) {
	#tag-primary-menu-panel.tag-menu-panel {
		left: 0 !important;
		right: 0 !important;
		width: 100vw !important;
		max-width: 100vw !important;
		border-left: 0 !important;
	}
}


/* =========================================================
   MODERN MINISTRY FOOTER
   ========================================================= */

.tag-site-footer,
.tag-site-footer * {
  box-sizing: border-box;
}

.tag-site-footer {
  position: relative;
  overflow: hidden;
  border-top: 1px solid rgba(255,255,255,.08);
  background:
    radial-gradient(circle at 10% 0%, rgba(66,184,238,.16), transparent 34%),
    radial-gradient(circle at 92% 100%, rgba(158,221,59,.12), transparent 32%),
    #211a16;
  color: rgba(255,255,255,.82);
}

.tag-site-footer__inner {
  width: min(var(--tag-wide-width, 1240px), calc(100% - 40px));
  margin: 0 auto;
  padding: clamp(52px, 7vw, 86px) 0 28px;
}

.tag-site-footer__top {
  display: grid;
  grid-template-columns: minmax(240px, 1.15fr) minmax(0, 2fr);
  gap: clamp(38px, 6vw, 86px);
  align-items: start;
}

.tag-site-footer__brand-logo {
  display: block;
  width: 172px;
  height: auto;
  margin: 0 0 22px;
  filter: drop-shadow(0 5px 14px rgba(0,0,0,.2));
}

.tag-site-footer__mission {
  max-width: 520px;
  margin: 0;
  color: rgba(255,255,255,.78);
  font-size: 15px;
  line-height: 1.8;
}

.tag-site-footer__trust-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  margin: 24px 0 0;
}

.tag-site-footer a {
  color: #fff;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.tag-site-footer a:hover,
.tag-site-footer a:focus-visible {
  color: #b9eb76;
}

.tag-site-footer__trust-links a {
  font-size: 13px;
  font-weight: 750;
  letter-spacing: .02em;
  text-decoration: none;
}

.tag-site-footer__widgets {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(24px, 4vw, 48px);
}

.tag-site-footer__widget-column,
.tag-site-footer__widget-column .widget {
  min-width: 0;
  margin: 0;
  padding: 0;
}

.tag-site-footer__widget-column + .tag-site-footer__widget-column {
  border-left: 1px solid rgba(255,255,255,.1);
  padding-left: clamp(20px, 3vw, 38px);
}

.tag-site-footer .widget-title,
.tag-site-footer h2,
.tag-site-footer h3,
.tag-site-footer h4 {
  margin: 0 0 17px;
  color: #fff;
  font-family: var(--tag-font-body);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.tag-site-footer ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.tag-site-footer li + li {
  margin-top: 11px;
}

.tag-site-footer li,
.tag-site-footer p {
  font-size: 14px;
  line-height: 1.65;
}

.tag-site-footer__social {
  margin-top: 28px;
}

.tag-site-footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: clamp(38px, 6vw, 62px);
  padding-top: 23px;
  border-top: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.62);
  font-size: 12px;
  line-height: 1.6;
}

.tag-site-footer__bottom p {
  margin: 0;
  font-size: inherit;
}

.tag-site-footer__utility {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
}

@media (max-width: 900px) {
  .tag-site-footer__top {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .tag-site-footer__inner {
    width: min(100% - 28px, var(--tag-wide-width, 1240px));
    padding-top: 46px;
  }

  .tag-site-footer__widgets {
    grid-template-columns: 1fr;
  }

  .tag-site-footer__widget-column + .tag-site-footer__widget-column {
    border-top: 1px solid rgba(255,255,255,.1);
    border-left: 0;
    padding-top: 22px;
    padding-left: 0;
  }

  .tag-site-footer__bottom {
    align-items: flex-start;
    flex-direction: column;
  }
}



/* =========================================================
   SHARED SOCIAL PROFILE ICONS
   ========================================================= */

.tag-social-links {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.tag-social-links__item {
	display: flex;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.tag-social-links__link {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	min-width: 42px;
	margin: 0;
	padding: 0;
	color: currentColor;
	border-radius: 999px;
	line-height: 1;
	text-decoration: none !important;
}

.tag-social-links__link svg {
	display: block !important;
	width: 20px !important;
	height: 20px !important;
	max-width: none !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible;
	color: currentColor;
}

.tag-social-links__link .screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.tag-site-footer .tag-social-links__link {
	color: #fff;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.22);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.14);
	transition: transform 180ms ease, background-color 180ms ease, color 180ms ease, border-color 180ms ease;
}

.tag-site-footer .tag-social-links__link:hover,
.tag-site-footer .tag-social-links__link:focus-visible {
	color: #211a16;
	background: #b9eb76;
	border-color: #b9eb76;
	transform: translateY(-2px);
	outline: none;
}


/* Reusable search form rendered by searchform.php. */
.tag-searchbar{display:flex;align-items:stretch;width:100%;min-height:54px;overflow:hidden;background:#fff;border:1px solid #cfc8bd;border-radius:10px;box-shadow:0 4px 15px rgba(31,26,21,.08)}
.tag-searchbar:focus-within{border-color:#2f92bf;box-shadow:0 0 0 3px rgba(47,146,191,.18)}
.tag-searchbar__input{flex:1 1 auto;min-width:0;margin:0;padding:0 16px;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff;color:#201a14;font:inherit;outline:0!important}
.tag-searchbar__button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:112px;min-height:54px;margin:0;padding:0 18px;border:0;border-left:1px solid #d9d2c8;border-radius:0;background:#2f92bf;color:#fff;font:inherit;font-weight:700;cursor:pointer}
.tag-searchbar__button:hover,.tag-searchbar__button:focus-visible{background:#24769c}.tag-searchbar__button:focus-visible{outline:3px solid rgba(47,146,191,.28);outline-offset:-3px}.tag-searchbar__button svg{width:21px;height:21px;flex:none}
@media(max-width:520px){.tag-searchbar{flex-direction:column;overflow:visible;background:transparent;border:0;box-shadow:none;gap:10px}.tag-searchbar__input{min-height:54px;border:1px solid #cfc8bd!important;border-radius:9px!important}.tag-searchbar__button{width:100%;border:0;border-radius:9px}}


/* =========================================================
   v1.9.3 HEADER AND NAVIGATION TYPOGRAPHY
   ========================================================= */
.tag-site-header,
.tag-site-header :where(a, button, label, input) {
  font-weight: 600;
}

.tag-primary-menu > li > a,
.tag-primary-menu > li > label,
.tag-site-search__input,
.tag-site-search__submit {
  font-weight: 650;
}
