/* footer.css — Site footer component
 *
 * HTML: .site-footer[role="contentinfo"] >
 *   .site-footer__inner.container >
 *     .site-footer__brand (logo)
 *     .site-footer__columns >
 *       .site-footer__col (×3: Communities, Guides, Contact)
 *   .site-footer__bottom >
 *     .container >
 *       p.site-footer__legal
 *
 * Dark green background, matching header and CTA sections.
 */

/* ─── Footer wrapper ────────────────────────────────────── */

.site-footer {
	background-color: #0F1F15; /* slightly deeper than --green-dark */
	border-top: 1px solid rgba(200, 169, 106, 0.15);
}

/* ─── Inner layout ──────────────────────────────────────── */

.site-footer__inner {
	display: grid;
	grid-template-columns: 1fr 2fr;
	gap: 4rem;
	padding-top: 3.5rem;
	padding-bottom: 3.5rem;
	align-items: start;
}

/* ─── Brand column (logo) ───────────────────────────────── */

.site-footer__brand {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

/* Footer logo: name at 16px (per LOGO_SPEC) */
.logo--footer .logo__name {
	font-size: 16px;
}

/* ─── Columns area ──────────────────────────────────────── */

.site-footer__columns {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
}

/* ─── Individual column ─────────────────────────────────── */

.site-footer__col-label {
	font-family: var(--font-sans);
	font-size: 10px;
	font-weight: 500;
	color: var(--gold);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	margin-bottom: 1rem;
}

/* ─── Province list (Communities column) ───────────────── */

.site-footer__province-list {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.site-footer__province-list a {
	font-family: var(--font-sans);
	font-size: 13px;
	font-weight: 400;
	color: rgba(247, 247, 245, 0.5);
	text-decoration: none;
	letter-spacing: 0.02em;
	transition: color var(--transition-base);
}

.site-footer__province-list a:hover {
	color: var(--gold);
}

/* ─── Footer nav (Guides column — wp_nav_menu output) ───── */

.site-footer__nav-list {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.site-footer__nav-list a {
	font-family: var(--font-sans);
	font-size: 13px;
	font-weight: 400;
	color: rgba(247, 247, 245, 0.5);
	text-decoration: none;
	letter-spacing: 0.02em;
	transition: color var(--transition-base);
}

.site-footer__nav-list a:hover {
	color: var(--gold);
}

/* ─── Contact list ──────────────────────────────────────── */

.site-footer__contact-list {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.site-footer__contact-list a {
	font-family: var(--font-sans);
	font-size: 13px;
	font-weight: 400;
	color: rgba(247, 247, 245, 0.5);
	text-decoration: none;
	letter-spacing: 0.02em;
	transition: color var(--transition-base);
}

.site-footer__contact-list a:hover {
	color: var(--gold);
}

/* ─── Bottom bar (legal/copyright) ─────────────────────── */

.site-footer__bottom {
	border-top: 1px solid rgba(200, 169, 106, 0.1);
}

.site-footer__bottom .container {
	padding-top: 1.25rem;
	padding-bottom: 1.25rem;
}

.site-footer__legal {
	font-family: var(--font-sans);
	font-size: 12px;
	font-weight: 400;
	color: rgba(247, 247, 245, 0.5); /* raised from 0.3 — WCAG AA contrast on footer background */
	letter-spacing: 0.04em;
	margin: 0;
}

/* ─── Responsive ────────────────────────────────────────── */

@media ( max-width: 1024px ) {

	.site-footer__inner {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}

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

@media ( max-width: 640px ) {

	.site-footer__columns {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.site-footer__inner {
		padding-top: 2.5rem;
		padding-bottom: 2.5rem;
	}
}
