/* ==========================================================================
   TeamCNF footer (the "Site footer" block in the Footer template part)
   Four columns on wide screens, two on tablets, one on phones; the bottom
   bar and the large outlined watermark run underneath.
   Every value comes from the theme tokens (theme.json): --wp--preset--* and
   --wp--custom--*.
   ========================================================================== */
.tcnf-footer {
	position: relative;
	overflow: hidden;
	padding-top: var(--wp--preset--spacing--80);
	padding-left: var(--wp--style--root--padding-left, var(--wp--custom--gutter));
	padding-right: var(--wp--style--root--padding-right, var(--wp--custom--gutter));
	border-top: 1px solid var(--wp--custom--glass--border-subtle);
	background: linear-gradient(180deg, var(--wp--custom--orb--fade) 0%, var(--wp--preset--color--base) 60%);
	color: var(--wp--custom--text--secondary);
}

.tcnf-footer__inner {
	max-width: var(--wp--style--global--content-size);
	margin-inline: auto;
}

.tcnf-footer__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--wp--preset--spacing--70);
}

/* ---- Brand column ------------------------------------------------------- */
.tcnf-footer__brand {
	display: grid;
	gap: var(--wp--preset--spacing--50);
	align-content: start;
	justify-items: start;
	max-width: var(--wp--custom--size--measure-footer);
}

.tcnf-footer__brand > * {
	margin: 0;
}

.tcnf-footer__logo {
	display: inline-block;
	border-radius: var(--wp--custom--radius--xs);
	line-height: 0;
}

.tcnf-footer .tcnf-footer__mark {
	display: block;
	width: auto;
	height: var(--wp--custom--size--logo-footer--height);
	max-width: var(--wp--custom--size--logo-footer--width);
}

/* The theme toggle sets data-theme on <html>: show the matching logo */
.tcnf-footer .tcnf-footer__mark--on-light,
:root[data-theme="light"] .tcnf-footer .tcnf-footer__mark--on-dark {
	display: none;
}

:root[data-theme="light"] .tcnf-footer .tcnf-footer__mark--on-light {
	display: block;
}

/* ---- Link columns ------------------------------------------------------- */
.tcnf-footer__heading {
	margin: 0 0 var(--wp--preset--spacing--40);
	color: var(--wp--custom--text--primary);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 600;
	letter-spacing: var(--wp--custom--tracking--wider);
	line-height: var(--wp--custom--leading--snug);
	text-transform: uppercase;
}

.tcnf-footer__list {
	display: grid;
	gap: var(--wp--preset--spacing--20);
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: var(--wp--preset--font-size--small);
}

.tcnf-footer__list li {
	margin: 0;
}

.tcnf-footer__list a,
.tcnf-footer .tcnf-contact-list a,
.tcnf-footer__group a {
	color: var(--wp--custom--text--secondary);
	text-decoration: none;
	transition: color var(--wp--custom--duration--fast) var(--wp--custom--ease--out);
}

.tcnf-footer__list a:hover,
.tcnf-footer__list a[aria-current="page"],
.tcnf-footer .tcnf-contact-list a:hover,
.tcnf-footer__group a:hover,
.tcnf-footer__group a[aria-current="true"] {
	color: var(--wp--custom--text--primary);
}

/* ---- Bottom bar --------------------------------------------------------- */
.tcnf-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--40);
	margin-top: var(--wp--preset--spacing--80);
	padding-block: var(--wp--preset--spacing--50);
	border-top: 1px solid var(--wp--custom--glass--border-subtle);
	color: var(--wp--custom--text--meta);
	font-size: var(--wp--preset--font-size--x-small);
}

.tcnf-footer__bottom p {
	margin: 0;
}

.tcnf-footer__bottom p a {
	color: inherit;
	text-decoration: none;
}

.tcnf-footer__bottom p a:hover {
	color: var(--wp--custom--text--primary);
}

.tcnf-footer__group {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wp--preset--spacing--30);
}

.tcnf-footer__group span {
	color: var(--wp--custom--text--meta);
}

/* ---- Watermark ---------------------------------------------------------- */
.tcnf-footer__watermark {
	margin: var(--wp--preset--spacing--70) 0 0;
	color: transparent;
	-webkit-text-stroke: 1px var(--wp--custom--glass--border);
	background: linear-gradient(180deg, var(--wp--custom--glass--fill) 0%, var(--wp--custom--orb--fade) 85%);
	-webkit-background-clip: text;
	background-clip: text;
	font-size: var(--wp--custom--type--watermark);
	font-weight: 600;
	letter-spacing: var(--wp--custom--tracking--tight);
	line-height: 0.8;
	white-space: nowrap;
	text-align: center;
	transform: translateY(18%);
	user-select: none;
}

@media (min-width: 640px) {
	.tcnf-footer__grid {
		grid-template-columns: 1fr 1fr;
	}
}

@media (min-width: 1100px) {
	.tcnf-footer__grid {
		grid-template-columns: 1.5fr 1fr 1fr 1.3fr;
	}
}
