/* ============================================================
   🔒 CODE VERROUILLÉ : FOOTER VALIDÉ ET FONCTIONNEL (NE PAS MODIFIER SANS ACCORD - RULES.MD)
   PIED DE PAGE (FOOTER) NATIF — Pleine Largeur 100vw Bord-à-Bord Stricte
   Couleurs & Polices du Système de Design FSE
   ============================================================ */

/* Sécurité anti-débordement horizontal sur la fenêtre */
html, body {
	overflow-x: hidden !important;
	width: 100% !important;
}

/* -------------------------------------------------------------
   1. TEXTURE GRAIN SVG (Paper / Texture Layer)
   ------------------------------------------------------------- */
.ticq-grain-layer {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	pointer-events: none;
	z-index: 999998;
	opacity: 0.035;
	filter: url(#ticq-grain-filter);
	mix-blend-mode: overlay;
}

/* -------------------------------------------------------------
   2. STYLE SUISSE & ÉTIQUETTES DE MARQUE (Monospace Tags)
   ------------------------------------------------------------- */
.ticq-swiss-tag {
	font-family: ui-monospace, SFMono-Regular, SF Mono, Menlo, Monaco, Consolas, monospace !important;
	font-size: 0.8rem !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	color: var(--ticq-color-accent, #C4813A) !important;
	margin-bottom: 1rem;
}

/* -------------------------------------------------------------
   3. FOOTER SOMBRE LUXE CACAO (#1C0F08) — 100VW PLEINE LARGEUR STRICTE
   ------------------------------------------------------------- */
.ticq-site-footer-dark,
footer.ticq-site-footer-dark,
.wp-block-group.ticq-site-footer-dark {
	background-color: #1C0F08 !important;
	color: #FDFBF7 !important;
	width: 100vw !important;
	max-width: 100vw !important;
	position: relative !important;
	left: 50% !important;
	right: 50% !important;
	margin-left: -50vw !important;
	margin-right: -50vw !important;
	box-sizing: border-box !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Le contenu intérieur garde un rembourrage respirant de sécurité */
.ticq-site-footer-dark > .alignwide,
.ticq-site-footer-dark > .wp-block-group {
	padding-left: 24px !important;
	padding-right: 24px !important;
	box-sizing: border-box !important;
	max-width: 1200px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Lisibilité maximale forcée des liens du footer (Garantie Anti-Visited) */
.ticq-site-footer-dark a,
.ticq-site-footer-dark a:link,
.ticq-site-footer-dark a:visited {
	color: #FDFBF7 !important;
	text-decoration: none !important;
	transition: color 0.2s ease;
}

.ticq-site-footer-dark a:hover,
.ticq-site-footer-dark a:focus {
	color: #D47E48 !important;
	text-decoration: none !important;
}

/* Formulaire Newsletter — Contraste parfait sur fond blanc */
.ticq-newsletter-form input::placeholder {
	color: #7A6658 !important;
	opacity: 1;
}

.ticq-footer-contact-card {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1rem 1.25rem;
	background-color: rgba(255, 255, 255, 0.03);
	border: 1px solid #3D241C;
	border-radius: 12px;
	margin-top: 1.5rem;
	max-width: 600px;
	transition: border-color 0.2s ease;
}

.ticq-footer-contact-card:hover {
	border-color: #D47E48;
}


/* -------------------------------------------------------------
   5. RESPONSIVE MOBILE ET TABLETTE BORD-À-BORD
   ------------------------------------------------------------- */
@media (max-width: 991px) {
	.ticq-site-footer-dark > .alignwide,
	.ticq-site-footer-dark > .wp-block-group {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	.ticq-footer-newsletter-banner {
		grid-template-columns: 1fr !important;
		gap: 20px !important;
		padding: 24px 20px !important;
	}

	.ticq-trust-badges-grid {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 16px !important;
	}

	.ticq-site-footer-dark .wp-block-columns {
		flex-direction: column !important;
		gap: 28px !important;
	}

	.ticq-site-footer-dark .wp-block-column {
		flex-basis: 100% !important;
		width: 100% !important;
	}
}

.ticq-footer-legal-link:hover {
	color: var(--ticq-color-accent, #C4813A) !important;
}

@media (max-width: 768px) {
	.ticq-footer-copyright-bar {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 12px !important;
	}

	.ticq-footer-bottom-links {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 8px !important;
	}

	.ticq-footer-bottom-links .ticq-copy-sep {
		display: none !important;
	}
}

@media (max-width: 576px) {
	.ticq-site-footer-dark > .alignwide,
	.ticq-site-footer-dark > .wp-block-group {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	.ticq-trust-badges-grid {
		grid-template-columns: 1fr !important;
		gap: 12px !important;
	}

	.ticq-newsletter-form {
		flex-direction: column !important;
		gap: 10px !important;
	}

	.ticq-newsletter-form input,
	.ticq-newsletter-form button {
		width: 100% !important;
		height: 46px !important;
	}
}
