/**
 * TW Frame — pied de page Merlin (4 colonnes + barre sombre).
 */

.tw-footer {
	background: var(--merlin-bg-soft);
	border-top: 0;
}

.tw-footer__grid {
	max-width: 1320px;
	margin: 0 auto;
	padding: 3.5rem 1.25rem 2.75rem;
	display: grid;
	gap: 2.25rem;
}

@media (min-width: 768px) {
	.tw-footer__grid {
		grid-template-columns: 1.4fr 1fr 1fr 1fr;
		gap: 2rem;
	}
}

.tw-footer__title {
	margin: 0 0 0.85rem;
	font-family: var(--font-sans);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--merlin-charcoal);
}

.tw-footer__tagline {
	margin: 0.75rem 0 0;
	font-size: 0.875rem;
	line-height: 1.6;
	color: var(--merlin-text);
}

.tw-footer__col {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}

.tw-footer__brand-logo {
	height: 2.75rem;
	width: auto;
}

.tw-footer__list,
.tw-footer__menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	font-size: 0.9rem;
	color: var(--merlin-text);
}

.tw-footer__list a,
.tw-footer__menu a {
	text-decoration: none;
}

.tw-footer__list a:hover,
.tw-footer__menu a:hover {
	color: var(--merlin-teal);
}

.tw-footer__socials {
	list-style: none;
	margin: 0.5rem 0 0;
	padding: 0;
	display: flex;
	gap: 0.75rem;
}

.tw-footer__socials a {
	color: var(--merlin-teal);
	text-decoration: none;
	font-size: 0.875rem;
}

.tw-footer__bar {
	background: var(--merlin-charcoal);
}

.tw-footer__bar-inner {
	max-width: 1320px;
	margin: 0 auto;
	padding: 0.85rem 1.25rem;
	display: flex;
	justify-content: center;
	text-align: center;
	font-size: 0.75rem;
	color: rgba(255, 255, 255, 0.85);
}

.tw-footer__bar-inner p {
	margin: 0;
}
