/* ==========================================================================
   LDDP — Footer  ·  palette Identité
   Un seul footer, trois mises en page : > 980 px, 768–980 px, < 768 px
   (mêmes seuils que Divi).

   Le préfixe #lddp-footer.lddp-footer donne la priorité sur les règles
   globales de Divi (« .et-db #et-boc .et-l a », « .et-l--footer ul »…).
   ========================================================================== */

/* ---------- Conteneurs Divi autour du footer ----------
   La section, la ligne (et l'éventuelle ligne imbriquée) qui contiennent le
   footer passent à pleine largeur, sans marges : c'est le footer qui gère
   sa grille. :is(#et-boc, body) garantit la priorité sur les réglages
   « !important » que Divi génère pour chaque ligne. */
:is(#et-boc, body) .et-l--footer .et_pb_section:has(#lddp-footer) {
	padding: 0 !important;
	background-color: #12100E !important;
}
:is(#et-boc, body) .et-l--footer .et_pb_row:has(#lddp-footer),
:is(#et-boc, body) .et-l--footer .et_pb_column:has(#lddp-footer) {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

#lddp-footer.lddp-footer {
	--lf-fond: #12100E;
	--lf-surface: #1C1917;
	--lf-bordure: #322D28;
	--lf-texte: #F1EDE4;
	--lf-doux: #A69C8D;
	--lf-accent: #D98E3B;
	/* Même grille que les rangées de page Divi : 90 %, 2580 px au plus. */
	--lf-largeur: 90%;
	--lf-largeur-max: 2580px;
	--lf-serif: 'EB Garamond', Georgia, 'Times New Roman', serif;
	--lf-mono: 'Space Mono', ui-monospace, Menlo, Consolas, monospace;

	box-sizing: border-box;
	width: 100%;
	background: var(--lf-fond);
	color: var(--lf-texte);
	font-family: var(--lf-serif);
	font-weight: 400;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	border-top: 1px solid var(--lf-accent);
}
#lddp-footer.lddp-footer *,
#lddp-footer.lddp-footer *::before,
#lddp-footer.lddp-footer *::after { box-sizing: border-box; }

#lddp-footer.lddp-footer p { margin: 0; padding: 0; }
#lddp-footer.lddp-footer ul { list-style: none; margin: 0; padding: 0; line-height: inherit; }
#lddp-footer.lddp-footer li { margin: 0; padding: 0; }

#lddp-footer.lddp-footer .lddp-footer__inner {
	width: var(--lf-largeur);
	max-width: var(--lf-largeur-max);
	margin: 0 auto;
	padding: 40px 0 0;
	display: flex;
	flex-direction: column;
	gap: 48px;
}

/* ---------- Actu ----------
   Styles fournis par lddp-accueil (1.3 ou plus), sur toutes les pages. */
#lddp-footer.lddp-footer .lddp-footer__actu { min-width: 0; }

/* ---------- Corps : 4 zones ---------- */
#lddp-footer.lddp-footer .lddp-footer__corps {
	display: grid;
	grid-template-columns: minmax(0, 4fr) minmax(0, 2fr) minmax(0, 2fr) minmax(0, 4fr);
	grid-template-areas: "identite label infos suivre";
	column-gap: 32px;
	row-gap: 40px;
	align-items: start;
}
#lddp-footer.lddp-footer .lddp-footer__identite { grid-area: identite; display: flex; flex-direction: column; gap: 12px; }
#lddp-footer.lddp-footer .lddp-footer__nav--label { grid-area: label; }
#lddp-footer.lddp-footer .lddp-footer__nav--infos { grid-area: infos; }
#lddp-footer.lddp-footer .lddp-footer__suivre {
	grid-area: suivre;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 12px;
}

#lddp-footer.lddp-footer .lddp-footer__marque,
#lddp-footer.lddp-footer .lddp-footer__titre {
	font-family: var(--lf-serif);
	font-size: clamp(28px, 2.4vw, 34px);
	line-height: 1;
	letter-spacing: -0.01em;
	color: var(--lf-texte);
}
/* Titres de section en accent : Suivez-nous, Le label, Infos, Partenaires */
#lddp-footer.lddp-footer .lddp-footer__titre { color: var(--lf-accent); }
#lddp-footer.lddp-footer .lddp-footer__sous-titre,
#lddp-footer.lddp-footer .lddp-footer__etiquette {
	font-family: var(--lf-mono);
	font-size: 12px;
	line-height: 1.4;
	color: var(--lf-doux);
}
#lddp-footer.lddp-footer .lddp-footer__etiquette { margin-bottom: 6px; color: var(--lf-accent); }
#lddp-footer.lddp-footer .lddp-footer__signature {
	margin-top: 8px;
	font-size: 15px;
	line-height: 1.5;
	color: var(--lf-doux);
}

/* ---------- Liens ---------- */
#lddp-footer.lddp-footer .lddp-footer__liens {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
/* Liens du corps seulement : l'actu garde ses propres styles. */
#lddp-footer.lddp-footer .lddp-footer__corps a[href] {
	color: var(--lf-texte);
	text-decoration: none;
	transition: color .2s ease;
}
#lddp-footer.lddp-footer .lddp-footer__liens a[href] {
	font-size: 18px;
	line-height: 1.3;
}
#lddp-footer.lddp-footer .lddp-footer__corps a[href]:hover { color: var(--lf-accent); }
#lddp-footer.lddp-footer .lddp-footer__corps a[href]:focus-visible,
#lddp-footer.lddp-footer .lddp-footer__partenaires a[href]:focus-visible {
	outline: 2px solid var(--lf-accent);
	outline-offset: 3px;
	border-radius: 2px;
}
/* Page en cours (menus WordPress) */
#lddp-footer.lddp-footer .lddp-footer__liens .current-menu-item > a[href] { color: var(--lf-accent); }

/* ---------- Réseaux ---------- */
#lddp-footer.lddp-footer .lddp-footer__reseaux {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 4px;
	margin-right: -11px; /* aligne l'icône, pas sa zone de clic */
}
#lddp-footer.lddp-footer .lddp-footer__inner a.lddp-footer__reseau[href] {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	color: var(--lf-doux);
	transition: color .25s ease, transform .25s ease;
}
#lddp-footer.lddp-footer .lddp-footer__inner a.lddp-footer__reseau[href]:hover {
	color: var(--lf-accent);
	transform: translateY(-2px);
}
#lddp-footer.lddp-footer .lddp-footer__reseau svg {
	display: block;
	width: 22px;
	height: 22px;
	fill: currentColor;
}
/* Subvert : tracés en filets, épaissis pour peser comme les autres icônes. */
#lddp-footer.lddp-footer .lddp-footer__icone--fine path {
	stroke: currentColor;
	stroke-width: 0.18;
}

/* ---------- Partenaires ---------- */
#lddp-footer.lddp-footer .lddp-footer__partenaires {
	display: flex;
	align-items: center;
	gap: 32px;
	padding-top: 28px;
	border-top: 1px solid var(--lf-bordure);
}
#lddp-footer.lddp-footer .lddp-footer__partenaires .lddp-footer__etiquette { flex: none; margin: 0; }
#lddp-footer.lddp-footer .lddp-footer__logos {
	flex: 1;
	min-width: 0;
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 16px;
}
#lddp-footer.lddp-footer .lddp-footer__inner a.lddp-footer__partenaire[href] {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 72px;
	padding: 12px 16px;
	background: var(--lf-surface);
	border: 1px solid var(--lf-bordure);
	border-radius: 10px;
	color: var(--lf-doux);
	transition: color .25s ease, border-color .25s ease;
}
#lddp-footer.lddp-footer .lddp-footer__inner a.lddp-footer__partenaire[href]:hover {
	color: var(--lf-accent);
	border-color: var(--lf-accent);
}
/* Le logo est une silhouette : il prend la couleur du lien (gris, ambre au survol). */
#lddp-footer.lddp-footer .lddp-footer__logo {
	display: block;
	height: calc(40px * var(--echelle, 1));
	max-width: 100%;
	background-color: currentColor;
	-webkit-mask: var(--logo) center / contain no-repeat;
	mask: var(--logo) center / contain no-repeat;
}

/* ---------- Bas de page ---------- */
#lddp-footer.lddp-footer .lddp-footer__bas {
	display: flex;
	justify-content: space-between;
	gap: 8px 24px;
	flex-wrap: wrap;
	padding: 20px 0 28px;
	border-top: 1px solid var(--lf-bordure);
	font-family: var(--lf-mono);
	font-size: 12px;
	color: var(--lf-doux);
}

/* ==========================================================================
   Tablette : 768 – 980 px
   ========================================================================== */
@media (max-width: 980px) {
	#lddp-footer.lddp-footer .lddp-footer__inner { gap: 44px; padding-top: 36px; }
	#lddp-footer.lddp-footer .lddp-footer__corps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-areas:
			"identite suivre"
			"label infos";
	}
	#lddp-footer.lddp-footer .lddp-footer__partenaires {
		flex-direction: column;
		align-items: stretch;
		gap: 16px;
		padding-top: 24px;
	}
	#lddp-footer.lddp-footer .lddp-footer__logos { gap: 12px; }
	#lddp-footer.lddp-footer .lddp-footer__inner a.lddp-footer__partenaire[href] { height: 64px; padding: 10px 12px; }
	#lddp-footer.lddp-footer .lddp-footer__logo { height: calc(34px * var(--echelle, 1)); }
}

/* ==========================================================================
   Téléphone : < 768 px
   ========================================================================== */
@media (max-width: 767px) {
	#lddp-footer.lddp-footer .lddp-footer__inner { gap: 40px; padding-top: 28px; }
	#lddp-footer.lddp-footer .lddp-footer__corps {
		column-gap: 20px;
		grid-template-areas:
			"identite identite"
			"label infos"
			"suivre suivre";
	}
	#lddp-footer.lddp-footer .lddp-footer__suivre { align-items: flex-start; gap: 6px; }
	#lddp-footer.lddp-footer .lddp-footer__reseaux { justify-content: flex-start; margin: 0 0 0 -11px; }

	/* Cibles tactiles de 44 px */
	#lddp-footer.lddp-footer .lddp-footer__liens { gap: 0; }
	#lddp-footer.lddp-footer .lddp-footer__liens a[href] {
		display: flex;
		align-items: center;
		min-height: 44px;
	}

	#lddp-footer.lddp-footer .lddp-footer__logos {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 10px;
	}
	#lddp-footer.lddp-footer .lddp-footer__logos > li { width: calc((100% - 20px) / 3); }
	#lddp-footer.lddp-footer .lddp-footer__inner a.lddp-footer__partenaire[href] { height: 56px; padding: 8px 10px; }
	#lddp-footer.lddp-footer .lddp-footer__logo { height: calc(30px * var(--echelle, 1)); }

	#lddp-footer.lddp-footer .lddp-footer__bas { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
	#lddp-footer.lddp-footer * { transition: none !important; }
	#lddp-footer.lddp-footer .lddp-footer__inner a.lddp-footer__reseau[href]:hover { transform: none; }
}
