/*
Site Footer — global 4-column footer for site pages (Project B).

Enqueued ONLY on pages using page-site.php. All selectors scoped under
.site-footer-* — zero impact on the LP (which uses .lp-footer-reduced).
*/

.site-footer-wrap {
	background: var(--bg-section);
	border-top: 1px solid rgba(212, 175, 55, 0.12);
	color: var(--text-body);
	position: relative;
}

/* Subtle purple atmospheric wash at the top of the footer */
.site-footer-wrap::before {
	content: '';
	position: absolute;
	inset-inline: 0;
	top: 0;
	height: 1px;
	background: linear-gradient(
		90deg,
		transparent 0%,
		rgba(212, 175, 55, 0.35) 30%,
		rgba(138, 79, 255, 0.35) 50%,
		rgba(212, 175, 55, 0.35) 70%,
		transparent 100%
	);
}

.site-footer-grid {
	max-width: var(--max-content);
	margin-inline: auto;
	padding: clamp(48px, 7vw, 72px) clamp(20px, 4vw, 48px) 32px;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 32px;
}

@media (max-width: 1023px) {
	.site-footer-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 40px 32px;
	}
}
@media (max-width: 560px) {
	.site-footer-grid {
		grid-template-columns: 1fr;
		gap: 32px;
	}
}

.site-footer-col h3 {
	font-family: 'Rubik', sans-serif;
	font-size: 15px;
	font-weight: 700;
	color: var(--gold-primary);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	margin: 0 0 16px;
}
.site-footer-col ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.site-footer-col li {
	margin-bottom: 10px;
}
.site-footer-col a {
	color: var(--text-body);
	text-decoration: none;
	font-size: 14px;
	transition: color 0.15s ease;
}
.site-footer-col a:hover,
.site-footer-col a:focus-visible {
	color: var(--gold-highlight);
}

.site-footer-contact-row {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	margin-bottom: 12px;
	color: var(--text-body);
}
.site-footer-contact-row svg {
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	color: var(--gold-primary);
}
.site-footer-contact-row a {
	color: var(--text-body);
	text-decoration: none;
	transition: color 0.15s ease;
}
.site-footer-contact-row a:hover,
.site-footer-contact-row a:focus-visible {
	color: var(--gold-highlight);
}

/* ============================================================
   Bottom strip — copyright + legal links
   ============================================================ */
.site-footer-bottom-wrap {
	border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.site-footer-bottom {
	max-width: var(--max-content);
	margin-inline: auto;
	padding: 18px clamp(20px, 4vw, 48px);
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
}
.site-footer-bottom p {
	margin: 0;
	font-size: 13px;
	color: var(--text-meta);
}
.site-footer-bottom-links {
	display: flex;
	gap: 18px;
	list-style: none;
	margin: 0;
	padding: 0;
	flex-wrap: wrap;
}
.site-footer-bottom-links a {
	color: var(--text-meta);
	font-size: 13px;
	text-decoration: none;
	transition: color 0.15s ease;
}
.site-footer-bottom-links a:hover,
.site-footer-bottom-links a:focus-visible {
	color: var(--gold-highlight);
}

@media (max-width: 560px) {
	.site-footer-bottom {
		justify-content: center;
		text-align: center;
	}
}

/* Social icon row in contact column */
.site-footer-social {
	display: flex;
	gap: 14px;
	align-items: center;
	margin-top: 4px;
}
.site-footer-social a {
	color: var(--text-meta);
	display: flex;
	align-items: center;
	transition: color 0.15s ease, transform 0.15s ease;
}
.site-footer-social a:hover,
.site-footer-social a:focus-visible {
	color: var(--gold-primary);
	transform: translateY(-2px);
}
