/* =============================================================================
   Footer (footer.php + parts/footer.html)
   Reprise du modèle Elementor « 2026 - FOOTER » (86613). Valeurs relevées sur
   le staging : fond #f8f8f8, marges latérales 5 %, titres orange #e98548,
   textes verts #305649, pastilles sociales #305649.
   Préfixe :is(.easi-footer, .editor-styles-wrapper) : vaut sur le site et
   dans l'aperçu de l'éditeur, et passe devant le Kit Elementor (liens noirs).
   ============================================================================= */

.easi-ico-facebook { --easi-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M504 256C504 119 393 8 256 8S8 119 8 256c0 123.78 90.69 226.38 209.25 245V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.28c-30.8 0-40.41 19.12-40.41 38.73V256h68.78l-11 71.69h-57.78V501C413.31 482.38 504 379.78 504 256z'/%3E%3C/svg%3E"); }
.easi-ico-instagram { --easi-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z'/%3E%3C/svg%3E"); }
.easi-ico-youtube { --easi-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z'/%3E%3C/svg%3E"); }
.easi-ico-pinterest { --easi-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 496 512'%3E%3Cpath d='M496 256c0 137-111 248-248 248-25.6 0-50.2-3.9-73.4-11.1 10.1-16.5 25.2-43.5 30.8-65 3-11.6 15.4-59 15.4-59 8.1 15.4 31.7 28.5 56.8 28.5 74.8 0 128.7-68.8 128.7-154.3 0-81.9-66.9-143.2-152.9-143.2-107 0-163.9 71.8-163.9 150.1 0 36.4 19.4 81.7 50.3 96.1 4.7 2.2 7.2 1.2 8.3-3.3.8-3.4 5-20.3 6.9-28.1.6-2.5.3-4.7-1.7-7.1-10.1-12.5-18.3-35.3-18.3-56.6 0-54.7 41.4-107.6 112-107.6 60.9 0 103.6 41.5 103.6 100.9 0 67.1-33.9 113.6-78 113.6-24.3 0-42.6-20.1-36.7-44.8 7-29.5 20.5-61.3 20.5-82.6 0-19-10.2-34.9-31.4-34.9-24.9 0-44.9 25.7-44.9 60.2 0 22 7.4 36.8 7.4 36.8s-24.5 103.8-29 123.2c-5 21.4-3 51.6-.9 71.2C65.4 450.9 0 361.1 0 256 0 119 111 8 248 8s248 111 248 248z'/%3E%3C/svg%3E"); }
.easi-ico-houzz { --easi-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M275.9 330.7H171.3V480H17V32h109.5v104.5l305.1 85.6V480H275.9z'/%3E%3C/svg%3E"); }

.easi-footer {
	background-color: #f8f8f8;
	font-size: 14px;
}

/* Chevron des accordéons et puce des liens (posés sur l'accordéon pour valoir aussi dans l'éditeur) */
.easi-footer__acc {
	--easi-ico-caret: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 192 512'%3E%3Cpath d='M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z'/%3E%3C/svg%3E");
	--easi-ico-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z'/%3E%3C/svg%3E");
}

/* Bases : rattachées aux blocs du footer pour valoir aussi dans l'éditeur */
:is(.easi-footer__args, .easi-footer__main, .easi-footer__group),
:is(.easi-footer__args, .easi-footer__main, .easi-footer__group) *,
:is(.easi-footer__args, .easi-footer__main, .easi-footer__group) ::before,
:is(.easi-footer__args, .easi-footer__main, .easi-footer__group) ::after {
	box-sizing: border-box;
}

:is(.easi-footer, .editor-styles-wrapper) :is(.easi-footer__args, .easi-footer__arg, .easi-footer__main, .easi-footer__col, .easi-footer__acc, .easi-footer__group) > * {
	margin-block: 0;
}

:is(.easi-footer__args, .easi-footer__main, .easi-footer__group) :is(p, ul, figure) {
	margin: 0;
}

:is(.easi-footer__main, .easi-footer__group) ul {
	padding: 0;
	list-style: none;
}

:is(.easi-footer__args, .easi-footer__main, .easi-footer__group) a {
	text-decoration: none;
}

:is(.easi-footer__args, .easi-footer__main) img {
	display: block;
	max-width: 100%;
	height: auto;
}

/* Lien d'image : bloc, sinon le inline-block du cœur laisse 6px sous l'image */
.easi-footer__main figure a {
	display: block;
}

/* ---------------------------------------------------------------------------
   Arguments (6 cartes)
   --------------------------------------------------------------------------- */
.easi-footer__args {
	display: flex;
	gap: 20px;
	padding: 2%;
	border-top: 1px solid #dee2e6;
	border-bottom: 1px solid #dee2e6;
}

.easi-footer__arg {
	position: relative;
	flex: 1 1 0;
	min-width: 0;
	text-align: center;
}

.easi-footer__arg img {
	width: 75px !important;
	height: 75px !important;
	margin: 0 auto 7px;
	object-fit: contain;
}

.easi-footer__arg-title {
	color: #e98548;
	font-size: 16px;
	font-weight: 600;
	line-height: 22.4px; /* fixe, comme Elementor : ne diminue pas avec la police en mobile */
	text-transform: uppercase;
}

.easi-footer__arg-text {
	color: #305649;
	font-size: 14px;
	line-height: 1.2;
}

/* Carte entièrement cliquable quand le titre est un lien */
:is(.easi-footer, .editor-styles-wrapper) .easi-footer__arg-title a {
	color: inherit;
}

.easi-footer__arg-title a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.easi-footer__arg:has(a):hover .easi-footer__arg-title {
	color: #305649;
}

/* ---------------------------------------------------------------------------
   Zone principale : 4 colonnes
   --------------------------------------------------------------------------- */
.easi-footer__main {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	align-items: center;
	gap: 10px;
	padding: 1% 5%;
}

.easi-footer__col--brand,
.easi-footer__col--links {
	padding: 10px;
}

.easi-footer__col--brand {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 15px;
}

.easi-footer__logo img {
	width: 235px;
}

.easi-footer__social {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 5px;
}

/* Pastille ronde avec icône ; le nom du réseau reste lu par les lecteurs d'écran */
:is(.easi-footer, .editor-styles-wrapper) .easi-footer__social a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	overflow: hidden;
	border-radius: 50%;
	background-color: #305649;
	color: #fff;
	font-size: 0;
}

.easi-footer__social a::before {
	content: "";
	width: 16px;
	height: 16px;
	background-color: currentColor;
	-webkit-mask: var(--easi-icon) center / contain no-repeat;
	mask: var(--easi-icon) center / contain no-repeat;
}

:is(.easi-footer, .editor-styles-wrapper) .easi-footer__social a:is(:hover, :focus) {
	background-color: #e98548;
	color: #fff;
}

/* Accordéons de liens (bloc Détails) */
.easi-footer__col--links {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.easi-footer__acc summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 5px;
	border-bottom: 1px solid #e1e1e1;
	color: #1f2124;
	font-size: 14px;
	text-transform: uppercase;
	list-style: none;
	cursor: pointer;
}

.easi-footer__acc summary::-webkit-details-marker {
	display: none;
}

.easi-footer__acc summary::after {
	content: "";
	flex: 0 0 auto;
	width: 12px;
	height: 14px;
	background-color: currentColor;
	-webkit-mask: var(--easi-ico-chevron) center / contain no-repeat;
	mask: var(--easi-ico-chevron) center / contain no-repeat;
	transition: transform 0.2s;
}

.easi-footer__acc[open] summary::after {
	transform: rotate(180deg);
}

/* Ouverture / fermeture en glissé (navigateurs récents ; ailleurs, sans animation) */
.easi-footer__acc {
	interpolate-size: allow-keywords;
}

.easi-footer__acc::details-content {
	height: 0;
	overflow: clip;
	transition: height 0.3s ease, content-visibility 0.3s allow-discrete;
}

.easi-footer__acc[open]::details-content {
	height: auto;
}

/* Liste ouverte : cadre gris, puce triangle noire, liens soulignés (comme Elementor) */
.easi-footer__acc ul {
	padding: 10px !important;
	border: 1px solid #d5d8dc;
}

.easi-footer__acc li {
	display: flex;
	align-items: center;
	line-height: 22.4px;
}

.easi-footer__acc li::before {
	content: "";
	flex: 0 0 auto;
	width: 14px;
	height: 14px;
	margin-right: 3px;
	background-color: #000;
	-webkit-mask: var(--easi-ico-caret) center / contain no-repeat;
	mask: var(--easi-ico-caret) center / contain no-repeat;
}

:is(.easi-footer, .editor-styles-wrapper) .easi-footer__acc a {
	padding-left: 5px;
	color: #000;
	font-size: 14px;
	text-decoration: underline;
}

:is(.easi-footer, .editor-styles-wrapper) .easi-footer__acc a:is(:hover, :focus) {
	color: #e98548;
}

.easi-footer__col--badge {
	display: flex;
	justify-content: center;
	min-width: 0;
	overflow: hidden;
}

.easi-footer__col--banners {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.easi-footer__col--banners img {
	width: 293px;
}

/* ---------------------------------------------------------------------------
   Les sites du groupe
   --------------------------------------------------------------------------- */
.easi-footer__group {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 4px 10px;
	padding: 0.5% 5%;
	border-top: 1px solid #dee2e6;
}

.easi-footer__group-title {
	color: #000;
	font-size: 11px;
	line-height: 1.1;
}

.easi-footer__group-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.easi-footer__group-list li {
	font-size: 10px;
	line-height: 22px;
}

.easi-footer__group-list li:not(:last-child) {
	margin-right: 8px;
	padding-right: 8px;
	border-right: 1px solid #ddd;
}

:is(.easi-footer, .editor-styles-wrapper) .easi-footer__group-list a {
	color: #000;
	font-size: 10px;
	text-transform: uppercase;
}

:is(.easi-footer, .editor-styles-wrapper) .easi-footer__group-list a:is(:hover, :focus) {
	color: #e98548;
}

/* ---------------------------------------------------------------------------
   Tablette : zone principale sur 2 colonnes sous 900px
   --------------------------------------------------------------------------- */
@media (max-width: 900px) {
	.easi-footer__args {
		flex-wrap: wrap;
	}

	.easi-footer__arg {
		flex: 1 1 calc((100% - 40px) / 3);
	}

	.easi-footer__main {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px;
		padding: 20px 5%;
	}
}

/* ---------------------------------------------------------------------------
   Mobile
   --------------------------------------------------------------------------- */
@media (max-width: 767px) {
	.easi-footer__args {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		padding: 5% 15px;
	}

	.easi-footer__arg img {
		width: 50px !important;
		height: 50px !important;
	}

	.easi-footer__arg-title {
		font-size: 12px;
	}

	.easi-footer__arg-text {
		font-size: 12px;
	}

	.easi-footer__main {
		grid-template-columns: minmax(0, 1fr);
		gap: 0;
		padding: 5%;
	}

	.easi-footer__col--brand {
		gap: 9px;
	}

	.easi-footer__logo img {
		width: 254px;
	}

	:is(.easi-footer, .editor-styles-wrapper) .easi-footer__social a {
		width: 28px;
		height: 28px;
	}

	.easi-footer__social a::before {
		width: 14px;
		height: 14px;
	}

	.easi-footer__col--links {
		gap: 5px;
	}

	/* Pleine largeur de colonne : sans ça, les 85 % de l'image se calculent sur
	   une figure ajustée à son contenu, donc 0 tant que l'image (différée)
	   n'est pas chargée, et elle ne se charge jamais. */
	.easi-footer__col--banners figure {
		align-self: stretch;
	}

	.easi-footer__col--banners img {
		width: 85%;
		margin-inline: auto;
	}

	.easi-footer__group {
		flex-direction: column;
		padding: 1% 5%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.easi-footer__acc summary::after,
	.easi-footer__acc::details-content {
		transition: none;
	}
}
