/*
 * Pied de page natif (inc/footer.php). Reprend l'apparence du pied de page
 * Elementor qu'il remplace : fond clair, titres en gras, liens sobres, barre
 * de copyright séparée. Autant de colonnes que de menus remplis (4 au plus),
 * qui se replient seules sur petit écran.
 */

.kadef-footer {
	background: var(--kadef-white);
	color: var(--ast-global-color-3, #333333);
}

.kadef-footer__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

/*
 * Décor « fil et couture » : traits fins, couleurs de la charte, aucune
 * information. Le fil est dessiné par animation de son tracé (pathLength=1).
 */
.kadef-footer__thread {
	max-width: 1200px;
	margin: 0 auto;
	padding: clamp(1.5rem, 4vw, 2.5rem) 20px 0;
	line-height: 0;
}

.kadef-footer__thread svg {
	display: block;
	width: 100%;
	height: auto;
	overflow: visible;
	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.kadef-footer__yarn {
	stroke: var(--kadef-gold);
	stroke-width: 1.1;
	opacity: 0.85;
	stroke-dasharray: 1;
	stroke-dashoffset: 0;
}

.kadef-footer__seam {
	stroke: var(--kadef-gold-dark);
	stroke-width: 0.8;
	stroke-dasharray: 7 6;
	opacity: 0.45;
}

.kadef-footer__needle {
	stroke: var(--ast-global-color-3, #57534e);
	stroke-width: 1.4;
	opacity: 0.7;
}

/* Animation (activée par footer.js, jamais si mouvement réduit). */
.kadef-footer__thread.is-ready .kadef-footer__yarn {
	stroke-dashoffset: 1;
}

.kadef-footer__thread.is-ready .kadef-footer__needle {
	opacity: 0;
	transform: translateX(-12px);
}

.kadef-footer__thread.is-sewn .kadef-footer__yarn {
	stroke-dashoffset: 0;
	transition: stroke-dashoffset 2.2s var(--kadef-ease);
}

.kadef-footer__thread.is-sewn .kadef-footer__needle {
	opacity: 0.7;
	transform: none;
	transition: opacity 0.6s ease 1.8s, transform 0.8s var(--kadef-ease) 1.6s;
}

.kadef-footer__main {
	padding: clamp(1.75rem, 4vw, 3rem) 0 clamp(2rem, 5vw, 3.5rem);
}

.kadef-footer__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
	gap: 2rem;
}

/* Petit point de couture sous chaque titre de colonne. */
.kadef-footer__title::after {
	content: "";
	display: block;
	width: 2.25rem;
	margin-top: 0.55rem;
	border-top: 1px dashed var(--kadef-gold);
	opacity: 0.8;
}

.kadef-footer__title {
	margin: 0 0 1rem;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.3;
	color: var(--ast-global-color-2, #000000);
}

.kadef-footer__links {
	margin: 0;
	padding: 0;
	list-style: none;
}

.kadef-footer__links li {
	margin: 0 0 0.6rem;
}

.kadef-footer__links a {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	min-height: 32px;
	color: var(--ast-global-color-2, #000000);
	text-decoration: none;
	overflow-wrap: anywhere;
}

/* Réseau sans adresse renseignée : même rendu, sans lien. */
.kadef-footer__nolink {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	min-height: 32px;
	color: var(--ast-global-color-2, #000000);
}

.kadef-footer__links a:hover,
.kadef-footer__links a:focus-visible {
	color: var(--kadef-gold-dark);
	text-decoration: underline;
}

.kadef-footer__icon {
	display: inline-flex;
	width: 1rem;
	height: 1rem;
}

.kadef-footer__icon svg {
	width: 100%;
	height: 100%;
}

/* Icônes des réseaux (Astra) : pleines. Icônes des liens : tracé (stroke). */
.kadef-footer__social .kadef-footer__icon svg {
	fill: currentColor;
}

/*
 * Le sélecteur de langue GTranslate flotte en bas à droite de l'écran : un
 * espace sous la barre évite qu'il masque le crédit en bas de page.
 */
.kadef-footer__bottom {
	padding: 0 0 4.5rem;
	font-size: 0.9375rem;
}

/* Liens légaux (menu « Fußzeile Rechtliches ») dans la barre du copyright. */
.kadef-footer__legal-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0 1.25rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.kadef-footer__legal-list a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	color: inherit;
	text-decoration: none;
}

.kadef-footer__legal-list a:hover,
.kadef-footer__legal-list a:focus-visible {
	text-decoration: underline;
}

/*
 * Séparation au-dessus du copyright : ciseaux au trait fin (taille fixe, donc
 * lisibles aussi sur mobile) devant une ligne de coupe en pointillés.
 */
.kadef-footer__cut {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding-bottom: 1.1rem;
}

.kadef-footer__scissors {
	flex: 0 0 auto;
	width: 30px;
	height: 19px;
	overflow: visible;
	fill: none;
	stroke: var(--ast-global-color-3, #57534e);
	stroke-width: 1.1;
	stroke-linecap: round;
	opacity: 0.75;
}

.kadef-footer__pivot {
	fill: currentColor;
	stroke: none;
}

.kadef-footer__blade {
	transform-box: fill-box;
	transform-origin: 33% 50%;
}

.kadef-footer__cutline {
	flex: 1 1 auto;
	border-top: 1px dashed var(--kadef-gold);
	opacity: 0.6;
}

/* Un « clic » des lames à l'apparition (activé par footer.js). */
.kadef-footer__cut.is-sewn .kadef-footer__blade--top {
	animation: kadef-snip-top 0.5s ease-in-out 0.3s 2;
}

.kadef-footer__cut.is-sewn .kadef-footer__blade--bottom {
	animation: kadef-snip-bottom 0.5s ease-in-out 0.3s 2;
}

@keyframes kadef-snip-top {
	50% {
		transform: rotate(-9deg);
	}
}

@keyframes kadef-snip-bottom {
	50% {
		transform: rotate(9deg);
	}
}

.kadef-footer__bar {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 0.5rem 1.5rem;
}

.kadef-footer__credit {
	color: #7a7a7a;
	text-decoration: none;
}

.kadef-footer__credit:hover,
.kadef-footer__credit:focus-visible {
	color: var(--kadef-gold-dark);
}

@media (max-width: 544px) {
	.kadef-footer__bar {
		justify-content: center;
		text-align: center;
	}

	.kadef-footer__legal-list {
		justify-content: center;
	}

	/* Zones tactiles confortables sur mobile. */
	.kadef-footer__links li {
		margin: 0;
	}

	.kadef-footer__links a {
		min-height: 44px;
	}
}
