/*
 * File: assets/css/mappcanada-footer.css
 *
 * Scoped styles for the List49 mega footer (.mc-footer namespace), rendered
 * sitewide by inc/mega-footer.php via the wp_footer hook.
 *
 * Reuses the same palette as the global header (assets/css/mappcanada-header.css):
 * dark navy background, off-white text, Canadian red accent.
 *
 * Sections:
 *  1. CSS custom properties (design tokens)
 *  2. Footer shell & column grid
 *  3. Headings & menu links
 *  4. Bottom row (copyright)
 *  5. Responsive breakpoints
 *
 * @package List49
 */

/* =========================================================================
 * 1. DESIGN TOKENS
 * ======================================================================= */

.mc-footer {
	--mc-footer-bg:          #1a1a2e;
	--mc-footer-text:        #f5f5f5;
	--mc-footer-text-muted:  rgba(245, 245, 245, .65);
	--mc-footer-accent:      #d52b1e; /* Canadian red */
	--mc-footer-border:      rgba(255, 255, 255, .1);
	--mc-footer-transition:  .2s ease;
}

/* =========================================================================
 * 2. FOOTER SHELL & COLUMN GRID
 * ======================================================================= */

.mc-footer {
	background: var(--mc-footer-bg);
	color: var(--mc-footer-text);
	margin-top: 40px;
	padding: 40px 20px 24px;
}

.mc-footer__inner {
	max-width: 1200px;
	margin: 0 auto;
}

.mc-footer__columns {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 32px;
}

.mc-footer__column {
	min-width: 0;
}

/* =========================================================================
 * 3. HEADINGS & MENU LINKS
 * ======================================================================= */

.mc-footer__heading {
	margin: 0 0 14px;
	font-size: .95rem;
	font-weight: 700;
	letter-spacing: .02em;
	text-transform: uppercase;
	color: var(--mc-footer-text);
	border-bottom: 2px solid var(--mc-footer-accent);
	padding-bottom: 8px;
	display: inline-block;
}

.mc-footer__menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.mc-footer__menu li {
	margin: 0 0 10px;
}

.mc-footer__menu a {
	color: var(--mc-footer-text-muted);
	text-decoration: none;
	font-size: .9rem;
	transition: color var(--mc-footer-transition);
}

.mc-footer__menu a:hover,
.mc-footer__menu a:focus-visible {
	color: var(--mc-footer-text);
	text-decoration: underline;
}

/* =========================================================================
 * 4. BOTTOM ROW
 * ======================================================================= */

.mc-footer__bottom {
	margin-top: 32px;
	padding-top: 20px;
	border-top: 1px solid var(--mc-footer-border);
	text-align: center;
}

.mc-footer__copyright {
	margin: 0;
	font-size: .8rem;
	color: var(--mc-footer-text-muted);
}

/* =========================================================================
 * 5. RESPONSIVE BREAKPOINTS
 * ======================================================================= */

/* Tablet: 2 columns */
@media (max-width: 63.99em) {
	.mc-footer__columns {
		grid-template-columns: repeat(2, 1fr);
		row-gap: 28px;
	}
}

/* Mobile: single stacked column */
@media (max-width: 47.99em) {
	.mc-footer {
		padding: 32px 16px 20px;
	}

	.mc-footer__columns {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.mc-footer__heading {
		display: block;
	}
}
