.myfw-cl {
	--myfw-cl-dir: column;
	--myfw-cl-align: flex-start;
	--myfw-cl-text-align: left;
	--myfw-cl-gap: 16px;
	--myfw-cl-title-gap: 20px;
	--myfw-cl-title-color: var(--color-secondary, #d9cdb4);

	--myfw-cl-link-color: var(--color-text, #1f1f1f);
	--myfw-cl-link-color-hover: var(--color-accent, #b05a38);
	--myfw-cl-underline-color: currentColor;
	--myfw-cl-shift: 4px;
	--myfw-cl-link-bg: transparent;
	--myfw-cl-link-bg-hover: var(--myfw-cl-link-bg);
	--myfw-cl-link-border: transparent;
	--myfw-cl-link-border-hover: var(--myfw-cl-link-border);
	--myfw-cl-link-bw: 0px;
	--myfw-cl-link-radius: 0px;
	--myfw-cl-link-pad: 0;
	--myfw-cl-inner-gap: 12px;

	--myfw-cl-icon-size: 22px;
	--myfw-cl-icon-color: currentColor;
	--myfw-cl-icon-color-hover: var(--myfw-cl-icon-color);
	--myfw-cl-icon-stroke: 1.8;
	--myfw-cl-icon-box: 0px;
	--myfw-cl-icon-bg: transparent;
	--myfw-cl-icon-bg-hover: var(--myfw-cl-icon-bg);
	--myfw-cl-icon-border: currentColor;
	--myfw-cl-icon-bw: 0px;
	--myfw-cl-icon-radius: 999px;

	text-align: var(--myfw-cl-text-align);
}

.myfw-cl__title {
	margin: 0 0 var(--myfw-cl-title-gap);
	font-size: 1.05rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	line-height: 1.2;
	color: var(--myfw-cl-title-color);
}

.myfw-cl__list {
	display: flex;
	flex-direction: var(--myfw-cl-dir);
	flex-wrap: wrap;
	align-items: var(--myfw-cl-align);
	justify-content: var(--myfw-cl-align);
	gap: var(--myfw-cl-gap);
	margin: 0;
	padding: 0;
	list-style: none;
}
.myfw-cl__item {
	margin: 0;
	padding: 0;
	list-style: none;
}

.myfw-cl__link {
	display: inline-flex;
	align-items: center;
	gap: var(--myfw-cl-inner-gap);
	font-size: 1.25rem;
	line-height: 1.25;
	cursor: pointer;
	transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease, opacity 0.2s ease;
}
/* Couleurs : sélecteur plus fort que les `a:hover` des thèmes. */
.myfw-cl .myfw-cl__link,
.myfw-cl .myfw-cl__link:visited {
	padding: var(--myfw-cl-link-pad);
	color: var(--myfw-cl-link-color);
	background-color: var(--myfw-cl-link-bg);
	border: var(--myfw-cl-link-bw) solid var(--myfw-cl-link-border);
	border-radius: var(--myfw-cl-link-radius);
	text-decoration: none;
	box-shadow: none;
	box-sizing: border-box;
}
.myfw-cl .myfw-cl__link:hover,
.myfw-cl .myfw-cl__link:focus-visible {
	color: var(--myfw-cl-link-color-hover);
	background-color: var(--myfw-cl-link-bg-hover);
	border-color: var(--myfw-cl-link-border-hover);
	text-decoration: none;
}

.myfw-cl--icon-after .myfw-cl__link {
	flex-direction: row-reverse;
}
.myfw-cl--icon-top .myfw-cl__link {
	flex-direction: column;
	text-align: center;
}

/* ---- Icône ---- */
.myfw-cl__icon {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	color: var(--myfw-cl-icon-color);
	transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}
.myfw-cl .myfw-cl__link:hover .myfw-cl__icon,
.myfw-cl .myfw-cl__link:focus-visible .myfw-cl__icon {
	color: var(--myfw-cl-icon-color-hover);
	background-color: var(--myfw-cl-icon-bg-hover);
}
.myfw-cl__icon svg,
.myfw-cl__icon i {
	width: var(--myfw-cl-icon-size);
	height: var(--myfw-cl-icon-size);
	font-size: var(--myfw-cl-icon-size);
	display: block;
	stroke-width: var(--myfw-cl-icon-stroke);
}
/* Pastille (0 = aucune). */
.myfw-cl .myfw-cl__icon {
	width: auto;
	height: auto;
	min-width: var(--myfw-cl-icon-box);
	min-height: var(--myfw-cl-icon-box);
	background-color: var(--myfw-cl-icon-bg);
	border: var(--myfw-cl-icon-bw) solid var(--myfw-cl-icon-border);
	border-radius: var(--myfw-cl-icon-radius);
}

/* ---- Effets ---- */
.myfw-cl--fx-underline .myfw-cl__text {
	background-image: linear-gradient( var(--myfw-cl-underline-color), var(--myfw-cl-underline-color) );
	background-repeat: no-repeat;
	background-position: 0 100%;
	background-size: 0 2px;
	padding-bottom: 2px;
	transition: background-size 0.3s ease;
}
.myfw-cl--fx-underline .myfw-cl__link:hover .myfw-cl__text,
.myfw-cl--fx-underline .myfw-cl__link:focus-visible .myfw-cl__text {
	background-size: 100% 2px;
}
.myfw-cl--fx-shift .myfw-cl__link:hover,
.myfw-cl--fx-shift .myfw-cl__link:focus-visible {
	transform: translateX( var(--myfw-cl-shift) );
}
.myfw-cl--fx-lift .myfw-cl__link:hover,
.myfw-cl--fx-lift .myfw-cl__link:focus-visible {
	transform: translateY( calc( -1 * var(--myfw-cl-shift) ) );
}
.myfw-cl--fx-fade .myfw-cl__list:hover .myfw-cl__link:not(:hover) {
	opacity: 0.55;
}

@media ( prefers-reduced-motion: reduce ) {
	.myfw-cl__link,
	.myfw-cl__icon,
	.myfw-cl__text {
		transition: none;
	}
}
