.footer-menu ul,
.footer-menu-legal ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.footer-menu__list {
	display: flex;
	justify-content: center;
	gap: var(--wp--preset--spacing--7-xl);
}

.footer-menu__divider {
	align-self: stretch;
	background: var(--wp--preset--color--border-dark);
	flex: 0 0 1px;
}

.footer-menu__title {
	margin-bottom: var(--wp--preset--spacing--2-xl);
}

.footer-menu__title-link,
.footer-menu__title-link:where(:any-link) {
	color: var(--wp--preset--color--text-100);
	text-decoration: none;
	font-size: var(--wp--preset--font-size--text-lg);
	font-weight: var(--wp--custom--font-weight--semi-bold);
}

.footer-menu__chevron {
	display: none;
}

.footer-menu__sub-list {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--md);
}

.footer-menu__link {
	color: var(--wp--preset--color--text-100);
	text-decoration: none;
	transition: .25s ease-in-out;
	display: inline-block;
	padding: 0 0 4px;

	&:after {
		content: '';
		display: inline-block;
		width: 100%;
		height: 1px;
		background-color: #fff;
		transition: .25s ease-in-out;
		opacity: 0;
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
	}

	&:hover {
		&:after {
			opacity: 1;
		}

		transform: translateX(5px);
	}
}

.footer-menu-legal__list,
#footer-legal-menu {
	display: flex;
	gap: var(--wp--preset--spacing--3-xl);
}

.footer-menu-legal__list li,
#footer-legal-menu li {
	margin: 0;
}

.footer-menu-legal__list a,
.footer-menu-legal__list p,
#footer-legal-menu a,
#footer-legal-menu p {
	display: block;
	color: var(--wp--preset--color--text-100);
	font-size: var(--wp--preset--font-size--text-xs);
}

@media (max-width: 767px) {
	.footer-menu__list {
		flex-direction: column;
		gap: var(--wp--preset--spacing--xl);
	}

	.footer-menu__divider {
		display: none;
	}

	.footer-menu__title {
		margin-bottom: 0;
	}

	.footer-menu__title-link,
	.footer-menu__title-link:where(:any-link) {
		font-size: var(--wp--preset--font-size--text-md);
	}

	/* Accordéon : actif seulement si le JS a pris la main (sinon les sous-menus restent visibles) */
	.footer-menu--js .js-footer-menu-column .footer-menu__title {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: var(--wp--preset--spacing--md);
		cursor: pointer;
		user-select: none;
	}

	.footer-menu--js .footer-menu__chevron {
		display: block;
		flex: 0 0 auto;
		width: 10px;
		height: 10px;
		margin-right: 4px;
		border-right: 1.5px solid currentColor;
		border-bottom: 1.5px solid currentColor;
		transform: rotate(45deg) translate(-2px, -2px);
		transform-origin: center;
		transition: transform .35s ease;
	}

	.footer-menu--js .js-footer-menu-column.is-open .footer-menu__chevron {
		transform: rotate(-135deg) translate(-2px, -2px);
	}

	/* Panneau repliable : transition sur grid-template-rows (0fr -> 1fr) */
	.footer-menu--js .footer-menu__sub {
		display: grid;
		grid-template-rows: 0fr;
		margin-top: 0;
		opacity: 0;
		transition: grid-template-rows .35s ease, opacity .3s ease, margin-top .35s ease;
	}

	.footer-menu--js .footer-menu__sub>* {
		min-height: 0;
		overflow: hidden;
	}

	.footer-menu--js .js-footer-menu-column.is-open .footer-menu__sub {
		grid-template-rows: 1fr;
		margin-top: var(--wp--preset--spacing--md);
		opacity: 1;
		padding-bottom: 1em;
		padding-top: .5em;
	}

	@media (prefers-reduced-motion: reduce) {

		.footer-menu--js .footer-menu__sub,
		.footer-menu--js .footer-menu__chevron {
			transition: none;
		}
	}

	.footer-menu-legal__list,
	#footer-legal-menu {
		flex-direction: column;
		gap: var(--wp--preset--spacing--xl);
	}
}