/* ---------------------------------------------------------------------------
   AIomatique - pied de page
   ---------------------------------------------------------------------------
   Ecrit dans le vocabulaire de l'en-tete, dont il reprend les jetons :
   meme surface sombre, meme filet en degrade, meme famille Outfit, memes
   rayons de 8 et 12 px, meme vert de messagerie, memes trois niveaux de texte.
   L'ancien pied de page venait des reglages Elementor et n'avait aucun de ces
   traits : gris chaud, Kumbh Sans, liens lavande, angles droits.
   --------------------------------------------------------------------------- */

.F {
	/* jetons repris tels quels de .H */
	--ease: cubic-bezier(0.4, 0, 0.2, 1);
	--r-sm: 8px;
	--r-md: 12px;
	--glass-b: rgba(255, 255, 255, 0.07);
	--t1: #e7edf3;
	--t2: rgba(255, 255, 255, 0.88);
	--t3: rgba(231, 237, 243, 0.35);
	/* Dans l'en-tete, --t3 habille des sous-titres decoratifs. Ici il porterait
	   de l'information : a 2,86:1 les intitules de colonne et le bandeau legal
	   echouaient au seuil AA de 4,5:1. Ce niveau-ci passe a 6,9:1. */
	--t3-lisible: rgba(231, 237, 243, 0.62);
	--accent: #34d399;

	position: relative;
	z-index: 2;
	background-color: #0e141b;
	color: var(--t2);
	font-family: Outfit, sans-serif;
	font-size: 0.875rem;
	line-height: 1.7;
	letter-spacing: 0;
}

/* Le filet signature de l'en-tete, repris a l'identique.
   C'est lui qui fait tenir le haut et le bas de page ensemble. */
.F-strip {
	position: absolute;
	inset-block-start: 0;
	inset-inline: 0;
	block-size: 1px;
	background: linear-gradient(
		90deg,
		transparent,
		rgba(139, 92, 246, 0.6) 25%,
		rgba(232, 121, 249, 0.5) 50%,
		rgba(96, 165, 250, 0.4) 75%,
		transparent
	);
	pointer-events: none;
}

/* Halo violet tres bas, echo du fond des pages. */
.F::before {
	content: "";
	position: absolute;
	inset-block-start: 0;
	inset-inline: 0;
	block-size: 320px;
	background: radial-gradient(ellipse 60% 100% at 50% 0%, rgba(52, 211, 153, 0.07), transparent 70%);
	pointer-events: none;
}

.F-in {
	position: relative;
	z-index: 1;
	max-width: 1360px;
	margin-inline: auto;
	padding-inline: 40px;
}

/* ---------------------------------------------------------------------------
   Bande principale
   --------------------------------------------------------------------------- */

.F-main {
	padding-block: 64px 48px;
}

.F-main .F-in {
	display: grid;
	/* La marque absorbe l'espace disponible, les trois colonnes de liens
	   restent groupees a droite. Avec des fractions egales elles flottaient
	   isolees, separees par 187 px d'air chacune. */
	grid-template-columns: minmax(260px, 1fr) repeat(3, max-content);
	gap: 48px 72px;
	align-items: start;
}

/* --- colonne de marque --- */

.F-logo {
	display: inline-block;
	margin-block-end: 20px;
}

.F-logo img {
	inline-size: 168px;
	block-size: 44px;
	object-fit: contain;
}

.F-baseline {
	margin: 0 0 24px;
	max-width: 38ch;
	color: rgba(231, 237, 243, 0.55);
	font-size: 0.875rem;
	line-height: 1.75;
	text-wrap: pretty;
}

.F-contact {
	list-style: none;
	margin: 0 0 24px;
	padding: 0;
	display: grid;
	gap: 10px;
}

.F-contact li {
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--t2);
}

.F-contact svg {
	flex: 0 0 17px;
	inline-size: 17px;
	block-size: 17px;
	color: var(--accent);
}

.F-contact a {
	color: var(--t2);
	text-decoration: none;
	transition: color 0.2s var(--ease);
}

.F-contact a:hover,
.F-contact a:focus-visible {
	color: var(--t1);
}

/* --- reseaux --- */

.F-social {
	list-style: none;
	display: flex;
	gap: 8px;
	margin: 0;
	padding: 0;
}

.F-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	inline-size: 36px;
	block-size: 36px;
	border: 1px solid var(--glass-b);
	border-radius: var(--r-sm);
	background: rgba(255, 255, 255, 0.04);
	color: var(--t3-lisible);
	transition: color 0.2s var(--ease), border-color 0.2s var(--ease), background 0.2s var(--ease);
}

.F-social svg {
	inline-size: 17px;
	block-size: 17px;
}

.F-social a:hover,
.F-social a:focus-visible {
	color: var(--t1);
	border-color: rgba(52, 211, 153, 0.4);
	background: rgba(52, 211, 153, 0.12);
}

/* ---------------------------------------------------------------------------
   Colonnes de liens
   --------------------------------------------------------------------------- */

.F-head {
	margin: 0 0 18px;
	color: var(--t3-lisible);
	font-size: 0.73rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.F-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 11px;
}

.F-list a {
	display: inline-block;
	color: var(--t2);
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.45;
	text-decoration: none;
	transition: color 0.2s var(--ease), transform 0.2s var(--ease);
}

.F-list a:hover,
.F-list a:focus-visible {
	color: var(--t1);
	transform: translateX(2px);
}

/* ---------------------------------------------------------------------------
   Bande legale
   --------------------------------------------------------------------------- */

.F-legal {
	border-block-start: 1px solid var(--glass-b);
	padding-block: 22px 28px;
}

.F-legal .F-in {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px 32px;
	flex-wrap: wrap;
}

.F-copy {
	margin: 0;
	color: var(--t3-lisible);
	font-size: 0.75rem;
}

.F-legal-list {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
	margin: 0;
	padding: 0;
}

.F-legal-list a {
	color: var(--t3-lisible);
	font-size: 0.75rem;
	text-decoration: none;
	transition: color 0.2s var(--ease);
}

.F-legal-list a:hover,
.F-legal-list a:focus-visible {
	color: var(--t2);
}

/* ---------------------------------------------------------------------------
   Adaptations
   L'ancien pied de page laissait la colonne des services a 50 % de largeur
   sous 768 px, chaque libelle passant sur deux lignes. Corrige ici.
   --------------------------------------------------------------------------- */

@media (max-width: 1100px) {
	.F-in {
		padding-inline: 28px;
	}

	.F-main .F-in {
		grid-template-columns: 1fr 1fr 1fr;
		gap: 44px 32px;
	}

	.F-brand {
		grid-column: 1 / -1;
	}

	.F-baseline {
		max-width: 60ch;
	}
}

@media (max-width: 640px) {
	.F-in {
		padding-inline: 20px;
	}

	.F-main {
		padding-block: 48px 40px;
	}

	.F-main .F-in {
		grid-template-columns: 1fr;
		gap: 36px;
	}

	.F-legal .F-in {
		justify-content: flex-start;
	}
}

/* ---------------------------------------------------------------------------
   Cibles tactiles
   Deux signaux plutot qu'un : le type de pointeur couvre les tablettes larges
   utilisees au doigt, la largeur couvre les telephones et rend la regle
   verifiable dans un navigateur de bureau reduit.
   --------------------------------------------------------------------------- */

@media (pointer: coarse), (max-width: 640px) {
	.F-list a,
	.F-contact a,
	.F-contact li,
	.F-legal-list a {
		min-block-size: 44px;
		display: inline-flex;
		align-items: center;
	}

	.F-list {
		gap: 2px;
	}

	.F-contact {
		gap: 0;
	}

	.F-legal-list {
		gap: 0 24px;
	}

	.F-social a {
		inline-size: 44px;
		block-size: 44px;
	}
}

/* Les pages encore issues de l'ancien constructeur ont un corps clair.
   Leur feuille de reglages ne vise que <main> : le pied de page garde donc
   sa surface sombre et ses trois niveaux de texte, sans regle de rattrapage. */
