/* ── Footer — Dark Editorial Style ── */

footer {
	color: var(--color-white);
	margin-top: 0;
}

/* Topbar */
footer .topbar {
	background-color: var(--color-bg-alt);
	text-align: center;
	padding: var(--spacing-footer-topbar-y) 0;
}

footer .topbar p {
	color: var(--color-text);
	font-family: var(--font-heading-quote);
	font-size: var(--font-size-footer-quote);
	font-weight: 400;
	line-height: var(--line-height-footer-quote);
	max-width: 680px;
	margin: 0 auto;
	font-style: italic;
}

/* Contact bar */
footer .blue-bar {
	background-color: var(--color-accent);
	padding: var(--spacing-md) 0;
}

footer .blue-bar p {
	text-align: center;
	color: var(--color-white);
	font-family: var(--font-body);
	font-weight: 500;
	font-size: var(--font-size-promo-bar);
	letter-spacing: 0.04em;
	margin: 0;
}

footer .blue-bar p a {
	color: var(--color-white);
	text-decoration: underline;
	text-underline-offset: 3px;
}

footer .blue-bar p a:hover {
	opacity: 0.85;
}

/* Main footer */
footer .main-footer {
	background-color: var(--color-dark);
	padding: var(--spacing-footer-main-top) 0 var(--spacing-footer-main-bottom);
}

footer .main-footer h4 {
	font-family: var(--font-body);
	font-size: var(--font-size-footer-label);
	font-weight: 600;
	color: var(--color-text-muted);
	margin: 0 0 20px;
	text-transform: none;
	letter-spacing: 0.16em;
}

footer .main-footer p {
	color: var(--color-text-footer);
	font-size: var(--font-size-form);
	line-height: var(--line-height-footer-copy);
}

footer .main-footer .half-list {
	font-size: var(--font-size-footer-link);
	margin-top: 0;
}

footer .main-footer .half-list li:before {
	content: none;
}

footer .main-footer .half-list li {
	margin-bottom: var(--spacing-xs);
}

footer .main-footer .half-list li a {
	color: var(--color-text-footer-link);
	font-family: var(--font-body);
	font-size: var(--font-size-footer-link);
	font-weight: 400;
	letter-spacing: 0.02em;
	text-transform: none;
	transition: color var(--transition);
}

footer .main-footer .half-list li a:hover {
	color: var(--color-white);
}

footer .main-footer .half-list--quick-links {
	margin-top: 40px;
}

footer .main-footer .middle-section {
	padding-left: 60px;
}

footer .main-footer .social {
	display: flex;
	gap: 10px;
	margin-bottom: var(--spacing-md);
}

footer .main-footer .social li {
	margin-right: 0;
}

footer .main-footer .social i {
	background-color: transparent;
	font-size: var(--font-size-form);
	color: var(--color-text-footer-link);
	width: 36px;
	height: 36px;
	border-radius: var(--border-radius-none);
	border: 1px solid var(--color-border-footer-social);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all var(--transition);
}

footer .main-footer .social i:hover,
footer .main-footer .social a:hover i {
	background-color: var(--color-accent);
	border-color: var(--color-accent);
	color: var(--color-white);
}

footer .main-footer .copyright {
	color: var(--color-text-footer-muted);
	font-size: var(--font-size-footer-link);
	margin-bottom: 0;
	line-height: var(--line-height-footer-copy);
}

footer .main-footer .copyright a {
	color: var(--color-text-footer);
}

footer .main-footer .copyright a:hover {
	color: var(--color-text-footer-link);
}

.copyright a {
	color: var(--color-text-footer);
}

@media (max-width: 1024px) {
	footer .main-footer .middle-section {
		padding-left: 0;
	}

	footer .main-footer h4 {
		margin-top: var(--spacing-md);
		margin-bottom: var(--spacing-sm);
	}

	footer .main-footer .middle-section .half-list:first-child h4 {
		margin-top: var(--spacing-lg);
	}

	footer .main-footer .half-list--quick-links {
		margin-top: var(--spacing-xl);
	}

	footer .main-footer .col.l2 > h4:first-child {
		margin-top: 36px;
	}
}

@media (max-width: 990px) {
	footer .main-footer .middle-section {
		margin-left: 0;
		padding-left: 0;
	}
	ul.half-list {
		width: 50%;
	}
}

@media (max-width: 550px) {
	ul.half-list {
		width: 100%;
		margin-bottom: var(--spacing-md);
	}
	footer .topbar p {
		font-size: var(--font-size-footer-quote);
	}
}

/* Desktop — wider footer link columns with more spacing between them */
@media (min-width: 1025px) {
	footer .main-footer .container {
		max-width: var(--container-footer-max);
		width: 94%;
	}

	footer .main-footer > .container > .row > .col.l3 {
		width: 15%;
	}

	footer .main-footer > .container > .row > .col.l7 {
		width: 68%;
		margin-left: 0;
	}

	footer .main-footer > .container > .row > .col.l2 {
		width: 17%;
		margin-left: 0;
	}

	footer .main-footer .middle-section {
		display: flex;
		flex-wrap: nowrap;
		align-items: flex-start;
		justify-content: space-between;
		gap: 56px;
		padding-left: var(--spacing-lg);
		padding-right: var(--spacing-xs);
	}

	footer .main-footer .middle-section .half-list {
		float: none !important;
		width: auto !important;
		flex: 1 1 0;
		min-width: 0;
		margin-top: 0 !important;
	}

	footer .main-footer .middle-section .half-list--quick-links {
		margin-top: 0 !important;
	}

	footer .main-footer .half-list h4 {
		margin: 0 0 20px;
		min-height: 1em;
	}

	footer .main-footer .half-list br {
		display: none;
	}

	footer .main-footer .half-list li a {
		font-size: var(--font-size-footer-link);
		line-height: 1.55;
	}
}
