/* =========================================================
   FCF – Footer (générique)
   v1.1.0 — dégradé de fond (linéaire / radial, 2-3 couleurs) ; entièrement personnalisable ; défaut : noir intégral #000
   ========================================================= */

.fcfft {
	--fcf-orange: #de5a18;
	--fcf-vert: #608b5f;
	--fcf-pad-x: 24px;
	--fcfft-logo-h: 58px;
	--fcfft-texte: rgba(255, 255, 255, .62);
	--fcfft-titre: #fff;
	--fcfft-lien: rgba(255, 255, 255, .72);
	--fcfft-filet: rgba(255, 255, 255, .1);
	--fcf-ease: cubic-bezier(.22, .61, .36, 1);
	--fcfft-bg: #000;
	--fcfft-pad-t: 64px;
	--fcfft-gap: 48px;

	box-sizing: border-box;
	position: relative;
	width: 100%;
	padding: var(--fcfft-pad-t) var(--fcf-pad-x) 0;
	/* Par défaut : noir intégral. La texture décorative est une option (.avec-texture). */
	background-color: var(--fcfft-bg);
	background-image: none;
	overflow: hidden;
}

/* Texture décorative optionnelle : halos + chevrons + légère profondeur,
   en calques transparents pour respecter la couleur de fond choisie */
.fcfft.avec-texture {
	background-image:
		radial-gradient(1100px 420px at 12% -10%, rgba(255, 255, 255, .05), transparent 60%),
		radial-gradient(900px 380px at 96% 110%, rgba(255, 255, 255, .04), transparent 60%),
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='34'%3E%3Cpath d='M0 24 L14 10 L28 24 M28 24 L42 10 L56 24' fill='none' stroke='rgba(255,255,255,0.022)' stroke-width='1.4'/%3E%3C/svg%3E"),
		linear-gradient(180deg, rgba(255, 255, 255, .025) 0%, rgba(0, 0, 0, 0) 45%, rgba(0, 0, 0, .22) 100%);
}

/* Dégradé de fond (option « Dégradé de fond ») : variable --fcfft-grad posée en ligne par le widget.
   Seul → il remplace le fond uni ; avec la texture → les calques de texture passent au-dessus du dégradé. */
.fcfft.avec-degrade {
	background-image: var(--fcfft-grad);
}
.fcfft.avec-degrade.avec-texture {
	background-image:
		radial-gradient(1100px 420px at 12% -10%, rgba(255, 255, 255, .05), transparent 60%),
		radial-gradient(900px 380px at 96% 110%, rgba(255, 255, 255, .04), transparent 60%),
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='34'%3E%3Cpath d='M0 24 L14 10 L28 24 M28 24 L42 10 L56 24' fill='none' stroke='rgba(255,255,255,0.022)' stroke-width='1.4'/%3E%3C/svg%3E"),
		linear-gradient(180deg, rgba(255, 255, 255, .025) 0%, rgba(0, 0, 0, 0) 45%, rgba(0, 0, 0, .22) 100%),
		var(--fcfft-grad);
}

.fcfft *,
.fcfft *::before,
.fcfft *::after { box-sizing: border-box; }

.fcfft [hidden] { display: none !important; }

/* calques image de fond + voile (sous le contenu, au-dessus du fond travaillé) */
.fcfft-fond {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.fcfft.fond-fixe .fcfft-fond { background-attachment: fixed; }

/* le fixed est mal géré sur mobile/tactile : retour au défilement normal */
@media (hover: none), (max-width: 767px) {
	.fcfft.fond-fixe .fcfft-fond { background-attachment: scroll; }
}

.fcfft-voile {
	position: absolute;
	inset: 0;
	background-color: var(--fcfft-voile-c, rgba(13, 12, 11, 1));
	opacity: var(--fcfft-voile-o, .88);
}

.fcfft.design-ivoire .fcfft-voile {
	background-color: var(--fcfft-voile-c, rgba(251, 250, 248, 1));
}

.fcfft-int { z-index: 1; }

/* crête dégradée */
.fcfft::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	z-index: 2;
	background: linear-gradient(90deg, var(--fcfft-crete1, var(--fcf-orange)), var(--fcfft-crete2, var(--fcf-vert)));
}

.fcfft.sans-crete::before { content: none; }

.fcfft-int {
	position: relative;
	max-width: 1220px;
	margin: 0 auto;
}

/* ---------------------- Grille ---------------------- */
.fcfft-grille {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.15fr);
	grid-column-gap: var(--fcfft-gap);
	grid-row-gap: 40px;
	padding-bottom: 48px;
}

.fcfft.fcfft--cols-3 .fcfft-grille { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, 1.15fr); }
.fcfft.fcfft--cols-2 .fcfft-grille { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fcfft.fcfft--cols-1 .fcfft-grille { grid-template-columns: minmax(0, 1fr); }

/* ---------------------- Colonne présentation ---------------------- */
.fcfft-logo-lien {
	display: inline-block;
	line-height: 0;
	text-decoration: none !important;
}

.fcfft .fcfft-logo {
	display: block !important;
	height: var(--fcfft-logo-h) !important;
	width: auto !important;
	max-width: 100% !important;
	margin: 0 0 18px !important;
	border: 0 !important;
	object-fit: contain !important;
}

.fcfft-description {
	margin: 0;
	color: var(--fcfft-texte);
	font-size: 14px;
	line-height: 1.8;
	text-align: justify;
	text-align-last: left;
	hyphens: auto;
	-webkit-hyphens: auto;
	text-transform: none;
}

/* ---------------------- Titres de colonnes ---------------------- */
.fcfft .fcfft-col-titre {
	position: relative;
	margin: 6px 0 20px;
	padding-bottom: 12px;
	color: var(--fcfft-titre);
	font-size: 15px;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.fcfft-col-titre::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 30px;
	height: 2px;
	border-radius: 2px;
	background: linear-gradient(90deg, var(--fcf-orange), var(--fcf-vert));
}

/* ---------------------- Menus WordPress ---------------------- */
.fcfft .fcfft-menu {
	margin: 0;
	padding: 0;
	list-style: none;
}

.fcfft .fcfft-menu li {
	margin: 0 0 10px;
	padding: 0;
	list-style: none;
}

.fcfft .fcfft-menu a {
	position: relative;
	display: inline-block;
	padding-left: 16px;
	color: var(--fcfft-lien);
	font-size: 14px;
	line-height: 1.55;
	text-decoration: none !important;
	transition: color .25s ease, padding-left .25s var(--fcf-ease);
}

.fcfft .fcfft-menu a::before {
	content: "";
	position: absolute;
	left: 0;
	top: .62em;
	width: 7px;
	height: 7px;
	border-top: 1.6px solid var(--fcf-orange);
	border-right: 1.6px solid var(--fcf-orange);
	transform: rotate(45deg) scale(.85);
	opacity: .7;
	transition: opacity .25s ease, transform .25s var(--fcf-ease);
}

.fcfft .fcfft-menu a:hover {
	color: var(--fcfft-lien-h, var(--fcf-orange));
	padding-left: 20px;
	text-decoration: none !important;
}

.fcfft .fcfft-menu a:hover::before {
	opacity: 1;
	transform: rotate(45deg) scale(1);
}

.fcfft-menu-vide {
	margin: 0;
	padding: 12px 14px;
	border: 1px dashed rgba(255, 255, 255, .25);
	border-radius: 8px;
	color: var(--fcfft-texte);
	font-size: 12.5px;
	line-height: 1.5;
}

/* ---------------------- Coordonnées ---------------------- */
.fcfft .fcfft-coords {
	margin: 0;
	padding: 0;
	list-style: none;
}

.fcfft .fcfft-coord {
	display: flex;
	align-items: flex-start;
	margin: 0 0 14px;
	padding: 0;
	list-style: none;
}

.fcfft-ico {
	display: inline-flex;
	width: 18px;
	height: 18px;
	margin: 1px 12px 0 0 !important;
	flex: 0 0 auto;
	color: var(--fcfft-ico-c, var(--fcf-orange));
}

.fcfft-ico svg { width: 100%; height: 100%; display: block; }

.fcfft-coord-txt,
.fcfft .fcfft-coord-lien {
	color: var(--fcfft-lien);
	font-size: 14px;
	line-height: 1.6;
	text-decoration: none !important;
	text-transform: none;
}

.fcfft .fcfft-coord-lien {
	transition: color .25s ease;
}

.fcfft .fcfft-coord-lien:hover {
	color: var(--fcfft-lien-h, var(--fcf-orange));
	text-decoration: none !important;
}

/* ---------------------- Barre du bas ---------------------- */
.fcfft-barre {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	padding: 20px 0 22px;
	border-top: 1px solid var(--fcfft-filet);
}

.fcfft-copyright,
.fcfft .fcfft-credit {
	margin: 0;
	color: var(--fcfft-bas-c, rgba(255, 255, 255, .45));
	font-size: 12.5px;
	letter-spacing: .02em;
	text-transform: none;
	text-decoration: none !important;
}

.fcfft a.fcfft-credit { transition: color .25s ease; }

.fcfft a.fcfft-credit:hover { color: var(--fcfft-lien-h, var(--fcf-orange)); }

/* =========================================================
   Design IVOIRE — fond clair
   ========================================================= */
.fcfft.design-ivoire {
	--fcfft-texte: #6a665f;
	--fcfft-titre: #000;
	--fcfft-lien: #55524c;
	--fcfft-filet: #e8e5df;
	--fcfft-bg: #fbfaf8;
	--fcfft-bas-c: #918c83;

	border-top: 1px solid #e8e5df;
}

.fcfft.design-ivoire.avec-texture {
	background-image:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='34'%3E%3Cpath d='M0 24 L14 10 L28 24 M28 24 L42 10 L56 24' fill='none' stroke='rgba(0,0,0,0.028)' stroke-width='1.4'/%3E%3C/svg%3E"),
		linear-gradient(180deg, rgba(255, 255, 255, .5) 0%, rgba(0, 0, 0, .03) 100%);
}
.fcfft.design-ivoire.avec-degrade.avec-texture {
	background-image:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='34'%3E%3Cpath d='M0 24 L14 10 L28 24 M28 24 L42 10 L56 24' fill='none' stroke='rgba(0,0,0,0.028)' stroke-width='1.4'/%3E%3C/svg%3E"),
		linear-gradient(180deg, rgba(255, 255, 255, .5) 0%, rgba(0, 0, 0, .03) 100%),
		var(--fcfft-grad);
}

.fcfft.design-ivoire .fcfft-menu-vide {
	border-color: #d8d4cc;
	color: #918c83;
}

/* =========================================================
   Design AURORE — sombre, halo orangé
   ========================================================= */
.fcfft.design-aurore::after {
	content: "";
	position: absolute;
	top: -30%;
	right: -12%;
	width: 55%;
	height: 90%;
	background: radial-gradient(closest-side, rgba(255, 255, 255, .10), transparent 70%);
	pointer-events: none;
}

.fcfft.design-aurore .fcfft-int { z-index: 1; }

/* ---------------------- Responsive ---------------------- */
@media (max-width: 1024px) {
	.fcfft-grille {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-column-gap: 40px;
	}
}

@media (max-width: 640px) {
	.fcfft { --fcf-pad-x: 16px; padding-top: 44px; }

	.fcfft-grille {
		grid-template-columns: minmax(0, 1fr);
		grid-row-gap: 32px;
		padding-bottom: 36px;
	}

	.fcfft-barre {
		flex-direction: column;
		align-items: flex-start;
	}

	.fcfft .fcfft-credit { margin-top: 6px; }
}

/* ---------------------- Accessibilité ---------------------- */
@media (prefers-reduced-motion: reduce) {
	.fcfft .fcfft-menu a,
	.fcfft .fcfft-menu a::before,
	.fcfft .fcfft-coord-lien { transition: none; }
}
