/**
 * Footer custom Cloutfluence — fond blanc
 * ──────────────────────────────────────────────────────────────────────────
 * Masque le footer Astra par défaut et remplace par .cf-footer.
 */

/* ─── Masquer le footer Astra quand le footer custom est actif ─────────── */
.cf-custom-footer-active .site-footer {
	display: none !important;
}


/* ─── Variables locales ────────────────────────────────────────────────── */
.cf-footer {
	--footer-bg:          #ffffff;
	--footer-bg-bar:      #f9f9f7;
	--footer-border:      #ebebе8;
	--footer-text:        #6b7280;
	--footer-text-muted:  #a0aab4;
	--footer-heading:     #111827;
	--footer-accent:      #ff6b35;
	--footer-accent-glow: rgba(255, 107, 53, 0.08);
	--footer-link-hover:  #e85a25;
	--footer-max-width:   1200px;
	--footer-px:          clamp(20px, 4vw, 48px);
	--footer-radius:      10px;
}


/* ─── Conteneur racine ─────────────────────────────────────────────────── */
.cf-footer {
	background: var(--footer-bg);
	color: var(--footer-text);
	font-size: 0.875rem;
	line-height: 1.65;
	font-family: inherit;
	border-top: 1px solid var(--footer-border);
}


/* ─── Zone principale ──────────────────────────────────────────────────── */
.cf-footer-main {
	padding: 64px 0 52px;
}

.cf-footer-container {
	max-width: var(--footer-max-width);
	margin: 0 auto;
	padding: 0 var(--footer-px);
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr 1fr;
	gap: 48px 40px;
	align-items: start;
}


/* ─── Colonne brand ────────────────────────────────────────────────────── */
.cf-footer-brand {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.cf-footer-logo-link {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
	margin-bottom: 14px;
}

.cf-footer-logo-link img,
.cf-footer-logo-link .custom-logo {
	max-height: 36px;
	width: auto;
	display: block;
	transition: opacity 0.2s ease;
}

.cf-footer-logo-link:hover img,
.cf-footer-logo-link:hover .custom-logo {
	opacity: 0.75;
}

.cf-footer-logo-text {
	font-size: 1.25rem;
	font-weight: 800;
	color: var(--footer-heading);
	letter-spacing: -0.03em;
	line-height: 1;
}

.cf-footer-tagline {
	margin: 0 0 22px;
	color: var(--footer-text-muted);
	font-size: 0.825rem;
	max-width: 220px;
	line-height: 1.6;
}


/* ─── Icônes réseaux sociaux ───────────────────────────────────────────── */
.cf-footer-socials {
	display: flex;
	gap: 8px;
}

.cf-footer-social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: var(--footer-radius);
	background: #f4f5f7;
	border: 1px solid var(--footer-border);
	color: var(--footer-text);
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
	flex-shrink: 0;
}

.cf-footer-social-link:hover {
	background: var(--footer-accent-glow);
	border-color: rgba(255, 107, 53, 0.25);
	color: var(--footer-accent);
	transform: translateY(-2px);
}


/* ─── Colonnes de navigation ───────────────────────────────────────────── */
.cf-footer-col {
	display: flex;
	flex-direction: column;
}

.cf-footer-col-title {
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--footer-heading);
	margin: 0 0 18px;
	padding: 0;
}

.cf-footer-nav {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 11px;
}

.cf-footer-nav li a {
	color: var(--footer-text);
	text-decoration: none;
	font-size: 0.855rem;
	display: inline-flex;
	align-items: center;
	gap: 0;
	transition: color 0.18s ease, gap 0.18s ease;
}

.cf-footer-nav li a::before {
	content: '';
	display: inline-block;
	width: 0;
	height: 1.5px;
	background: var(--footer-accent);
	transition: width 0.18s ease, margin-right 0.18s ease;
	flex-shrink: 0;
	border-radius: 1px;
	align-self: center;
	margin-right: 0;
}

.cf-footer-nav li a:hover {
	color: var(--footer-link-hover);
}

.cf-footer-nav li a:hover::before {
	width: 8px;
	margin-right: 6px;
}


/* ─── Sélecteur de langue Polylang (colonne grid) ─────────────────────── */
.cf-footer-lang {
	display: block;
}

.cf-footer-lang ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 11px;
}

.cf-footer-lang ul li a,
.cf-footer-lang ul li span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 0.855rem;
	color: var(--footer-text);
	text-decoration: none;
	transition: color 0.18s ease;
}

.cf-footer-lang ul li a:hover {
	color: var(--footer-link-hover);
}

.cf-footer-lang ul li.current-lang a,
.cf-footer-lang ul li.current-lang span {
	color: var(--footer-accent);
	font-weight: 600;
}

.cf-footer-lang ul li a img,
.cf-footer-lang ul li span img {
	width: 16px;
	height: auto;
	border-radius: 2px;
	flex-shrink: 0;
}


/* ─── Séparateur avant la barre ────────────────────────────────────────── */
.cf-footer-divider {
	max-width: var(--footer-max-width);
	margin: 0 auto;
	padding: 0 var(--footer-px);
}

.cf-footer-divider hr {
	border: none;
	border-top: 1px solid var(--footer-border);
	margin: 0;
}


/* ─── Barre inférieure ─────────────────────────────────────────────────── */
.cf-footer-bar {
	background: var(--footer-bg-bar);
	border-top: 1px solid var(--footer-border);
	padding: 14px 0;
}

.cf-footer-bar-inner {
	max-width: var(--footer-max-width);
	margin: 0 auto;
	padding: 0 var(--footer-px);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: nowrap;
}


/* ─── Gauche : copyright + légal inline ───────────────────────────────── */
.cf-footer-bottom-left {
	display: flex;
	align-items: center;
	gap: 0;
	flex-wrap: nowrap;
	min-width: 0;
	overflow: hidden;
}

.cf-footer-copyright {
	color: var(--footer-text-muted);
	font-size: 0.775rem;
	line-height: 1.4;
	white-space: nowrap;
	flex-shrink: 0;
}

/* Séparateur copyright / liens légaux */
.cf-footer-bottom-left .cf-footer-copyright + .cf-footer-legal-inline::before {
	content: '';
	display: inline-block;
	width: 1px;
	height: 12px;
	background: var(--footer-border);
	margin: 0 12px;
	flex-shrink: 0;
	vertical-align: middle;
}

/* Liens légaux discrets, en ligne */
.cf-footer-legal-inline {
	display: inline-flex;
	align-items: center;
	flex-wrap: nowrap;
	min-width: 0;
}

/* <li> générés par wp_nav_menu */
.cf-footer-legal-inline .menu-item {
	display: inline-flex;
	align-items: center;
	list-style: none;
}

.cf-footer-legal-inline .menu-item + .menu-item {
	border-left: 1px solid var(--footer-border);
}

.cf-footer-legal-inline .menu-item a {
	color: var(--footer-text-muted);
	font-size: 0.775rem;
	text-decoration: none;
	transition: color 0.18s ease;
	padding: 0 10px;
	line-height: 1.4;
	display: inline-block;
	white-space: nowrap;
}

.cf-footer-legal-inline .menu-item:first-child a {
	padding-left: 12px;
}

.cf-footer-legal-inline .menu-item a:hover {
	color: var(--footer-text);
}


/* ─── Zone trust (SSL + paiement) ──────────────────────────────────────── */
.cf-footer-trust {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-shrink: 0;
}

/* Badge SSL */
.cf-footer-ssl-badge {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 0.72rem;
	font-weight: 600;
	color: #15803d;
	background: #f0fdf4;
	border: 1px solid #bbf7d0;
	border-radius: 999px;
	padding: 3px 10px 3px 7px;
	line-height: 1;
	white-space: nowrap;
}

/* Badges paiement */
.cf-footer-payment-icons {
	display: flex;
	align-items: center;
	gap: 4px;
}

.cf-pay-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 20px;
	padding: 0 7px;
	border-radius: 4px;
	font-size: 0.6rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	opacity: 0.6;
	transition: opacity 0.2s ease;
	white-space: nowrap;
	line-height: 1;
}

.cf-pay-badge:hover {
	opacity: 1;
}

.cf-pay-visa { background: #1a1f71; color: #fff; }
.cf-pay-mc   { background: #1a1a1a; color: #f79e1b; }
.cf-pay-amex { background: #016fce; color: #fff; }


/* ─── Disclaimer légal de non-affiliation ──────────────────────────────── */
.cf-footer-disclaimer {
	background: var(--footer-bg-bar);
	border-top: 1px solid var(--footer-border);
	padding: 11px 0;
}

.cf-footer-disclaimer-inner {
	max-width: var(--footer-max-width);
	margin: 0 auto;
	padding: 0 var(--footer-px);
}

.cf-footer-disclaimer-inner p {
	margin: 0;
	font-size: 0.7rem;
	line-height: 1.5;
	color: var(--footer-text-muted);
	text-align: center;
}


/* ─── Responsive : tablette (≤ 1024px) ────────────────────────────────── */
@media (max-width: 1024px) {
	.cf-footer-container {
		grid-template-columns: 1fr 1fr 1fr;
		gap: 40px 28px;
	}

	.cf-footer-brand {
		grid-column: 1 / -1;
	}

	.cf-footer-tagline {
		max-width: 380px;
	}
}


/* ─── Responsive : tablette portrait (≤ 768px) ────────────────────────── */
@media (max-width: 768px) {
	.cf-footer-main {
		padding: 44px 0 36px;
	}

	.cf-footer-container {
		grid-template-columns: 1fr 1fr;
		gap: 28px 20px;
	}

	.cf-footer-brand {
		grid-column: 1 / -1;
	}

	.cf-footer-tagline {
		max-width: 100%;
	}

	/* Bar : empile gauche / droite */
	.cf-footer-bar-inner {
		flex-wrap: wrap;
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}

	.cf-footer-trust {
		flex-wrap: wrap;
	}
}


/* ─── Responsive : mobile (≤ 480px) ───────────────────────────────────── */
@media (max-width: 480px) {
	.cf-footer-main {
		padding: 36px 0 28px;
	}

	.cf-footer-container {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.cf-footer-brand {
		grid-column: auto;
	}

	/* Copyright et liens légaux empilés */
	.cf-footer-bottom-left {
		flex-direction: column;
		align-items: flex-start;
		gap: 6px;
	}

	.cf-footer-bottom-left .cf-footer-copyright + .cf-footer-legal-inline::before {
		display: none;
	}

	.cf-footer-legal-inline {
		flex-wrap: wrap;
	}

	.cf-footer-legal-inline .menu-item + .menu-item {
		border-left: none;
	}

	.cf-footer-legal-inline .menu-item a,
	.cf-footer-legal-inline .menu-item:first-child a {
		padding: 0 8px 0 0;
	}

	.cf-footer-disclaimer-inner p {
		text-align: left;
	}
}


/* ─── Checkout : masque le corps et le disclaimer, garde la barre légale ── */
body.cf-checkout-optimized .cf-footer-main,
body.cf-checkout-optimized .cf-footer-disclaimer {
	display: none;
}

body.cf-checkout-optimized .cf-footer {
	border-top: 1px solid var(--footer-border);
}

body.cf-checkout-optimized .cf-footer-bar {
	background: transparent;
	border-top: none;
	padding: 12px 0;
}
