/**
 * Pied de page — habillage.
 *
 * La STRUCTURE vit dans le modèle UAE « pied-plein-r » (migration 007),
 * éditable dans Elementor. Ce fichier l'habille et cible les identifiants
 * fixés par le script :
 *
 *   prfootsec1  section des quatre colonnes   prfootsec2  barre basse
 *   prfootcol1  marque                        prfootbas2  copyright
 *   prfootcol2  « Le saut »                   prfootbas4  liens légaux
 *   prfootcol3  « Les zones »
 *   prfootcol4  « Nous joindre »
 */

.elementor-element-prfootsec1,
.elementor-element-prfootsec2 {
	background-color: var(--sombre);
}

.elementor-element-prfootsec1 > .elementor-container,
.elementor-element-prfootsec2 > .elementor-container {
	width: min(100%, 1380px);
	margin-inline: auto;
	padding-inline: clamp(16px, 2vw, 24px);
}

.elementor-element-prfootsec1 { padding-block: var(--e-8) var(--e-6); }
.elementor-element-prfootsec2 { padding-block: 0 var(--e-4); }

/* ========================================================================
   1. Colonnes
   ======================================================================== */

/* Grille et non flex : les largeurs en pourcentage d'Elementor totalisent
   100 %, auxquels les `gap` s'ajoutaient — la quatrième colonne se repliait
   sous la première. Une grille répartit l'espace restant après les gouttières. */
.elementor-element-prfootsec1 > .elementor-container {
	display: grid;
	grid-template-columns: 1.25fr 1fr 1fr 1.25fr;
	gap: var(--e-5) var(--e-4);
	align-items: start;
}

/* `!important` est ici nécessaire, et pas par facilité : Elementor déclare
   `width: 22%` sur chaque colonne ET réimprime cette règle dans un bloc
   <style> placé APRÈS nos feuilles — l'ordre de chargement ne peut donc pas
   trancher, et la spécificité est identique. Or ces 22 % se résolvent contre
   la piste de grille (236 px × 0,22 = 52 px) et non contre le conteneur :
   les libellés se cassaient à chaque mot. */
.elementor-element-prfootsec1 > .elementor-container > .elementor-column {
	width: 100% !important;
	min-width: 0;
}

.elementor-element-prfootsec1 .elementor-widget-wrap { padding: 0; }
.elementor-element-prfootsec1 .elementor-widget:not(:last-child) { margin-bottom: var(--e-2); }

/* Titres de colonne : des repères, pas des titres de contenu. */
.elementor-element-prfootsau1 .elementor-heading-title,
.elementor-element-prfootzon1 .elementor-heading-title,
.elementor-element-prfootcon1 .elementor-heading-title {
	margin: 0;
	font-size: var(--t-menu);
	line-height: var(--lh-ui);
	letter-spacing: .12em;
	text-transform: uppercase;
	font-weight: 700;
	color: var(--accent-clair);
}

/* Bloc de marque */
.elementor-element-prfootmar1 .elementor-heading-title {
	margin: 0;
	font-size: var(--t-h4);
	line-height: var(--lh-h4);
	font-weight: 700;
	color: var(--encre-claire);
}

.elementor-element-prfootmar2 p {
	margin: 0;
	max-width: 34ch;
	color: var(--encre-claire);
	opacity: .84;
	font-size: var(--t-petit);
	line-height: var(--lh-corps);
}

/* ========================================================================
   2. Listes de liens
   ======================================================================== */

.elementor-element-prfootsec1 .elementor-icon-list-items {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 0;
	margin: 0;
	list-style: none;
}

/* Les icônes sont volontairement vides dans le modèle : on retire la
   gouttière que le widget réserve malgré tout. */
.elementor-element-prfootsec1 .elementor-icon-list-icon,
.elementor-element-prfootsec2 .elementor-icon-list-icon {
	display: none;
}

.elementor-element-prfootsec1 .elementor-icon-list-item,
.elementor-element-prfootsec1 .elementor-icon-list-item a {
	display: flex;
	align-items: center;
	min-height: 36px;
	color: var(--encre-claire);
	text-decoration: none;
	font-size: var(--t-petit);
	line-height: var(--lh-corps);
}

/* L'adresse e-mail fait 302 px insécables : dans une colonne plus étroite,
   elle débordait la page entière. Mesuré entre 768 et 1024 px. Filet de
   sécurité conservé pour tout contenu long saisi plus tard. */
.elementor-element-prfootsec1 .elementor-icon-list-text,
.elementor-element-prfootsec2 .elementor-icon-list-text {
	overflow-wrap: anywhere;
}

/* …mais `anywhere` réduit aussi la largeur min-content du texte à un
   caractère : la grille n'accordait que 295 px à la colonne contact et le
   « m » final de l'adresse tombait seul à la ligne. Sur cette colonne, le
   texte réclame donc sa largeur intrinsèque (`break-word` la conserve, tout
   en autorisant la coupure si la place manque vraiment)… */
.elementor-element-prfootcon2 .elementor-icon-list-text {
	overflow-wrap: break-word;
}

/* …et la colonne a le droit de la réclamer à la grille, les trois autres
   cédant les quelques pixels manquants. */
/* ========================================================================
   Comptes sociaux
   ======================================================================== */

/* Ils n'existaient en production que dans un widget de la PAGE D'ACCUEIL, que
   la refonte avait laissé tomber. Remis dans le pied de page, ils sont donc
   sur toutes les pages — et leurs couleurs d'origine (icône sombre sur fond
   clair) ne conviennent plus ici : le pied de page est sombre. */
.elementor-element-prfootsoc1 { margin-top: var(--e-2); }

.elementor-element-prfootsoc1 .elementor-social-icon {
	width: 40px;
	height: 40px;
	margin: 0 var(--e-1) 0 0;
	border: 1px solid rgba(242, 245, 248, .28);
	border-radius: var(--rayon-s);
	background-color: transparent;
	color: var(--encre-claire);
}

.elementor-element-prfootsoc1 .elementor-social-icon svg {
	width: 17px;
	height: 17px;
	fill: currentColor;
}

.elementor-element-prfootsoc1 .elementor-social-icon:hover,
.elementor-element-prfootsoc1 .elementor-social-icon:focus-visible {
	border-color: var(--accent-clair);
	background-color: transparent;
	color: var(--accent-clair);
}

.elementor-element-prfootsoc1 .elementor-social-icon:focus-visible {
	outline: 3px solid var(--accent-clair);
	outline-offset: 2px;
}

@media (min-width: 1025px) {
	.elementor-element-prfootsec1 > .elementor-container {
		grid-template-columns: 1.25fr 1fr 1fr minmax(min-content, 1.25fr);
	}
}

.elementor-element-prfootsec1 .elementor-icon-list-item a:hover {
	color: var(--accent-clair);
	text-decoration: underline;
	text-underline-offset: .18em;
}

/* L'horaire n'est pas un lien : il qualifie le numéro qui le précède. */
.elementor-element-prfootcon2 .elementor-icon-list-item:not(:has(a)) {
	opacity: .72;
	font-size: var(--t-menu);
	min-height: 26px;
	margin-top: -4px;
}

/* ========================================================================
   3. Barre basse
   ======================================================================== */

/* Grille et largeurs forcées, pour la même raison que les colonnes du haut :
   les 50 % d'Elementor se résolvent contre la piste et les liens légaux
   restaient collés au milieu au lieu d'aller à droite. */
.elementor-element-prfootsec2 > .elementor-container {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: var(--e-1) var(--e-3);
	align-items: center;
	padding-top: var(--e-3);
	border-top: 1px solid rgba(255, 255, 255, .16);
}

.elementor-element-prfootsec2 > .elementor-container > .elementor-column {
	width: 100% !important;
	min-width: 0;
}

.elementor-element-prfootsec2 .elementor-widget-wrap { padding: 0; }

.elementor-element-prfootbas2,
.elementor-element-prfootbas2 * {
	color: var(--encre-claire);
	font-size: var(--t-menu);
	line-height: var(--lh-ui);
	opacity: .86;
}

.elementor-element-prfootbas4 .elementor-icon-list-items {
	display: flex;
	flex-wrap: wrap;
	gap: var(--e-1) var(--e-3);
	justify-content: flex-end;
	margin: 0;
	padding: 0;
	list-style: none;
}

.elementor-element-prfootbas4 .elementor-icon-list-item a {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	color: var(--encre-claire);
	opacity: .86;
	text-decoration: none;
	font-size: var(--t-menu);
	line-height: var(--lh-ui);
}

.elementor-element-prfootbas4 .elementor-icon-list-item a:hover {
	opacity: 1;
	text-decoration: underline;
	text-underline-offset: .18em;
}

/* ========================================================================
   4. Focus visible (constat A01)
   ======================================================================== */

.elementor-element-prfootsec1 a:focus-visible,
.elementor-element-prfootsec2 a:focus-visible {
	outline: 3px solid var(--accent-clair);
	outline-offset: 2px;
	border-radius: 2px;
}

/* ========================================================================
   5. Mobile
   ======================================================================== */

/* Palier intermédiaire : quatre colonnes ne tiennent pas sous 1025 px. */
@media (max-width: 1024px) {
	.elementor-element-prfootsec1 > .elementor-container {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 767px) {
	.elementor-element-prfootsec1 > .elementor-container {
		grid-template-columns: 1fr;
		gap: var(--e-4);
	}

	.elementor-element-prfootsec2 > .elementor-container {
		grid-template-columns: 1fr;
		justify-items: start;
	}

	.elementor-element-prfootbas4 .elementor-icon-list-items {
		justify-content: flex-start;
	}
}
