/**
 * YAHU SANTÉ — Pied de page
 * =========================
 *
 * Le pied de page est construit en blocs natifs (groupe, colonnes, titres,
 * listes, image, réseaux sociaux). Cette feuille ne fait que l'habiller.
 *
 * HARMONIE AVEC LE THÈME ACTIF
 * ----------------------------
 * Toutes les couleurs passent par les variables globales d'Astra
 * (--ast-global-color-N). Le pied de page suit donc automatiquement la palette
 * du site : si vous changez une couleur dans Personnaliser → Couleurs, le pied
 * de page change avec le reste, sans retoucher ce fichier. Aucune teinte
 * inventée, aucune valeur figée.
 *
 *   --ast-global-color-0  émeraude de marque
 *   --ast-global-color-1  émeraude foncé
 *   --ast-global-color-2  encre / fond sombre
 *   --ast-global-color-6  émeraude très clair
 *
 * La typographie est celle du thème (Marcellus pour les titres, DM Sans pour
 * le texte) : ce fichier n'en déclare aucune, il hérite.
 *
 * MISE EN PAGE
 * ------------
 * La grille de colonnes est celle du bloc « Colonnes » de WordPress, dont on
 * ajuste seulement l'espacement et le passage en pile sur mobile. Les blocs
 * listes, réseaux sociaux et séparateur sont également ceux du cœur : on les
 * colore, on ne les remplace pas.
 */

/* ==========================================================================
   1. SECTION ASTRA
   ========================================================================== */

/* Astra applique une couleur claire et un rembourrage à la zone de widgets du
   pied de page. Le fond sombre est porté par le bloc groupe lui-même, donc on
   neutralise ceux du thème pour éviter une bande claire sur les bords. */
.site-primary-footer-wrap,
.site-primary-footer-wrap[data-section="section-primary-footer-builder"] {
	background-color: var(--ast-global-color-2, #0f172a) !important;
	background-image: none !important;
	padding: 0 !important;
	border-top: 0 !important;
}

.site-primary-footer-wrap .ast-builder-grid-row-container-inner,
.site-primary-footer-wrap .ast-builder-footer-grid-columns,
.site-primary-footer-wrap .footer-widget-area,
.site-primary-footer-wrap .site-footer-primary-section-1,
.site-primary-footer-wrap .site-footer-primary-section-2,
.site-primary-footer-wrap .site-footer-primary-section-3,
.site-primary-footer-wrap .site-footer-primary-section-4 {
	padding: 0 !important;
	margin: 0 !important;
	max-width: none !important;
	width: 100% !important;
}

/* La zone de widgets empile ses sections : on supprime l'espace résiduel
   laissé par les widgets vidés. */
.site-primary-footer-wrap .widget_block:empty,
.site-primary-footer-wrap .widget:empty {
	display: none;
}

/* ==========================================================================
   2. RACINE DU PIED DE PAGE
   ========================================================================== */

.wp-block-group.yf-root {
	background: var(--ast-global-color-2, #0f172a);
	color: #cbd5e1;
	width: 100%;
	padding: 3.5rem 0 0;
	position: relative;
}

/* Filet de marque en haut : repère visuel discret, deux teintes du thème. */
.wp-block-group.yf-root::before {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: 3px;
	background: linear-gradient(
		90deg,
		var(--ast-global-color-0, #059669),
		var(--ast-global-color-6, #d1fae5) 50%,
		var(--ast-global-color-0, #059669)
	);
}

/* Colonnes : largeur de contenu du thème (1200 px) et espacement régulier. */
.wp-block-group.yf-root > .wp-block-columns.yf-cols {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 1.5rem 3rem;
	gap: 2.5rem;
	align-items: flex-start;
}

/* ==========================================================================
   3. TITRES DE COLONNE
   ========================================================================== */

.yf-root .wp-block-heading.yf-h {
	font-family: inherit;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ast-global-color-0, #059669);
	margin: 0 0 1.1rem;
	padding-bottom: 0.6rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.yf-root .wp-block-heading.yf-join {
	font-family: inherit;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #64748b;
	margin: 1.5rem 0 0.75rem;
}

/* ==========================================================================
   4. TEXTE
   ========================================================================== */

.yf-root p.yf-desc {
	font-size: 0.875rem;
	line-height: 1.7;
	color: #94a3b8;
	margin: 0 0 1.25rem;
}

.yf-root p.yf-note {
	font-size: 0.8125rem;
	line-height: 1.6;
	color: #64748b;
	margin: 0.75rem 0 0;
}

.yf-root p.yf-copy {
	font-size: 0.8125rem;
	line-height: 1.8;
	color: #64748b;
	margin: 0;
}

.yf-root p.yf-copy strong {
	color: #94a3b8;
	font-weight: 600;
}

.yf-root p.yf-copy a {
	color: var(--ast-global-color-0, #059669);
	text-decoration: none;
}

.yf-root p.yf-copy a:hover {
	color: var(--ast-global-color-6, #d1fae5);
	text-decoration: underline;
}

/* ==========================================================================
   5. LISTES (bloc natif du cœur)
   ========================================================================== */

.yf-root .wp-block-list.yf-liens,
.yf-root .wp-block-list.yf-coord {
	list-style: none;
	margin: 0;
	padding: 0;
}

.yf-root .wp-block-list.yf-liens li,
.yf-root .wp-block-list.yf-coord li {
	margin: 0 0 0.7rem;
	line-height: 1.6;
}

.yf-root .wp-block-list.yf-liens li:last-child,
.yf-root .wp-block-list.yf-coord li:last-child {
	margin-bottom: 0;
}

.yf-root .wp-block-list.yf-liens a {
	display: inline-block;
	font-size: 0.875rem;
	color: #94a3b8;
	text-decoration: none;
	transition: color 0.18s ease, transform 0.18s ease;
}

.yf-root .wp-block-list.yf-liens a:hover {
	color: var(--ast-global-color-6, #d1fae5);
	transform: translateX(4px);
}

/* Les marqueurs de liste sont colorés, pas supprimés : la structure reste
   lisible pour les lecteurs d'écran et en mode sans feuille de style. */
.yf-root .wp-block-list.yf-liens li::marker {
	color: var(--ast-global-color-0, #059669);
}

/* Coordonnées : la première entrée est une adresse postale, sans lien. */
.yf-root .wp-block-list.yf-coord {
	margin-top: 0.25rem;
}

.yf-root .wp-block-list.yf-coord li {
	font-size: 0.875rem;
	color: #cbd5e1;
	padding-left: 1.4rem;
	position: relative;
}

.yf-root .wp-block-list.yf-coord li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--ast-global-color-0, #059669);
}

.yf-root .wp-block-list.yf-coord a {
	color: var(--ast-global-color-6, #d1fae5);
	text-decoration: none;
}

.yf-root .wp-block-list.yf-coord a:hover {
	text-decoration: underline;
}

/* ==========================================================================
   6. LOGO
   ========================================================================== */

.yf-root .wp-block-image.yf-logo {
	margin: 0 0 1.25rem;
}

.yf-root .wp-block-image.yf-logo img {
	width: 150px;
	height: auto;
	display: block;
}

/* ==========================================================================
   7. NEWSLETTER
   ========================================================================== */

.yf-root .yf-nl input[type="email"] {
	width: 100%;
	padding: 0.7rem 1rem;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 8px;
	color: #e2e8f0;
	font-size: 0.875rem;
	margin-bottom: 0.6rem;
	transition: border-color 0.18s ease, background 0.18s ease;
}

.yf-root .yf-nl input[type="email"]::placeholder {
	color: #64748b;
}

.yf-root .yf-nl input[type="email"]:focus {
	outline: none;
	background: rgba(255, 255, 255, 0.08);
	border-color: var(--ast-global-color-0, #059669);
	box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.25);
}

.yf-root .yf-nl button,
.yf-root .yf-nl input[type="submit"] {
	width: 100%;
	padding: 0.7rem 1rem;
	background: var(--ast-global-color-0, #059669);
	color: #fff;
	border: 0;
	border-radius: 8px;
	font-size: 0.875rem;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.18s ease, transform 0.18s ease;
}

.yf-root .yf-nl button:hover,
.yf-root .yf-nl input[type="submit"]:hover {
	background: var(--ast-global-color-1, #047857);
	transform: translateY(-1px);
}

.yf-root .yf-nl .yf-nl-msg {
	font-size: 0.8125rem;
	margin: 0.5rem 0 0;
	line-height: 1.5;
}

/* ==========================================================================
   8. RÉSEAUX SOCIAUX (bloc natif du cœur)
   ========================================================================== */

.yf-root .wp-block-social-links.yf-sociaux {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
}

.yf-root .wp-block-social-links.yf-sociaux .wp-social-link {
	width: 38px;
	height: 38px;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.1);
	transition: background 0.18s ease, border-color 0.18s ease,
	            transform 0.18s ease;
}

.yf-root .wp-block-social-links.yf-sociaux .wp-social-link a {
	color: #94a3b8;
	padding: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.yf-root .wp-block-social-links.yf-sociaux .wp-social-link:hover {
	background: var(--ast-global-color-0, #059669);
	border-color: var(--ast-global-color-0, #059669);
	transform: translateY(-2px);
}

.yf-root .wp-block-social-links.yf-sociaux .wp-social-link:hover a {
	color: #fff;
}

.yf-root .wp-block-social-links.yf-sociaux .wp-block-social-link-anchor svg {
	fill: currentColor;
	width: 19px;
	height: 19px;
}

/* ==========================================================================
   9. SÉPARATEUR ET BAS DE PAGE
   ========================================================================== */

.yf-root .wp-block-separator.yf-separateur {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 1.5rem;
	border: 0;
	border-top: 1px solid rgba(255, 255, 255, 0.09);
	background: none;
	opacity: 1;
}

.wp-block-group.yf-bas {
	max-width: 1200px;
	margin: 0 auto;
	padding: 1.75rem 1.5rem 2rem;
	text-align: center;
}

/* Avertissement santé : encadré ambre, signal d'information importante. */
.yf-root .yf-avertissement {
	display: inline-flex;
	align-items: flex-start;
	gap: 0.6rem;
	text-align: left;
	max-width: 640px;
	margin: 0 auto 1.25rem;
	padding: 0.75rem 1.15rem;
	background: rgba(251, 191, 36, 0.07);
	border: 1px solid rgba(251, 191, 36, 0.2);
	border-radius: 10px;
}

.yf-root .yf-avertissement p {
	font-size: 0.8125rem;
	line-height: 1.65;
	color: #fbbf24;
	margin: 0;
}

/* ==========================================================================
   10. RESPONSIVE
   ========================================================================== */

@media (max-width: 1024px) {
	.wp-block-group.yf-root > .wp-block-columns.yf-cols {
		flex-wrap: wrap;
		gap: 2rem;
	}

	.wp-block-group.yf-root > .wp-block-columns.yf-cols > .wp-block-column {
		flex-basis: 45% !important;
		flex-grow: 1;
	}
}

@media (max-width: 781px) {
	.wp-block-group.yf-root {
		padding-top: 2.5rem;
	}

	.wp-block-group.yf-root > .wp-block-columns.yf-cols {
		flex-direction: column;
		gap: 1.75rem;
		padding-bottom: 2.25rem;
	}

	.wp-block-group.yf-root > .wp-block-columns.yf-cols > .wp-block-column {
		flex-basis: 100% !important;
		width: 100%;
	}

	.yf-root .wp-block-image.yf-logo img {
		width: 120px;
	}

	.wp-block-group.yf-bas {
		padding: 1.5rem 1.25rem 1.75rem;
	}
}

@media (max-width: 544px) {
	.yf-root .yf-avertissement {
		border-radius: 8px;
		padding: 0.7rem 0.9rem;
	}

	.yf-root .wp-block-social-links.yf-sociaux .wp-social-link {
		width: 40px;
		height: 40px;
	}
}
