/**
 * Pied de page (modèle Bricks « Pied de page ») — composant Footer de la démo Captured.
 * Cotes relevées à 1440 px : fond #111112, hauteur 1000, règle graduée blanche en haut
 * (glisse de -200 px à 0 à l'entrée, ressort 148 / 52), grille de 4 colonnes (lignes
 * blanches à 10 %), coins, photo de fond à 7 %. Haut : accroche (15 / 26 px), contact
 * (libellé 18 px, téléphone 20 px, e-mail 50 px), navigation 30 px ; réseaux sous la
 * première colonne, mentions et crédit en bas (le grand nom de la démo a été retiré le
 * 22/09/2026, demande d'Olivier).
 */

.aml-footer {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	background: var(--aml-ink);
	color: var(--aml-white);
	padding: 110px clamp(16px, 2.5vw, 36px) 60px;
}

.aml-footer a {
	color: var(--aml-white);
	text-decoration: none;
}

/* --- Décor ------------------------------------------------------------------------------ */

.aml-footer__bg,
.aml-footer__bg img {
	position: absolute;
	inset: 0;
	z-index: -2;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.aml-footer__bg { opacity: 0.07; }

.aml-footer__lines {
	position: absolute;
	top: 0;
	bottom: 0;
	left: clamp(16px, 2.5vw, 36px);
	right: clamp(16px, 2.5vw, 36px);
	z-index: -1;
	background-image: linear-gradient(to right, rgba(255, 255, 255, 0.1) 1px, transparent 1px);
	background-size: 25% 100%;
	background-position: -1px 0;
	pointer-events: none;
}

.aml-footer .aml-corners { z-index: -1; }

.aml-footer__ruler {
	position: absolute;
	top: 6px;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	max-width: 1920px;
	padding: 5px 0;
	overflow: hidden;
	pointer-events: none;
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 25.4%, #000 74%, transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0%, #000 25.4%, #000 74%, transparent 100%);
}

.aml-footer__ruler-track {
	position: relative;
	width: 1200px;
	height: 38px;
	margin: 0 auto;
}

.aml-footer__ruler-track img {
	position: absolute;
	left: 50%;
	top: 0;
	width: 2449px;
	max-width: none;
	height: 38px;
	transform: translateX(-50%);
}

/* --- Contenu ---------------------------------------------------------------------------- */

.aml-footer__inner {
	width: 100%;
	max-width: 1920px;
	margin: 0 auto;
}

.aml-footer__top,
.aml-footer__bottom {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}

.aml-footer__top { min-height: 480px; }

.aml-footer__bottom {
	margin-top: clamp(64px, 7vw, 100px);
}

.aml-footer p { margin: 0; }

.aml-footer__text { padding-right: 20px; }

.aml-footer__kicker {
	max-width: 200px;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: -0.04em;
	line-height: 20px;
	color: rgba(255, 255, 255, 0.6);
}

.aml-footer__lead {
	max-width: 270px;
	margin-top: 22px !important;
	font-size: 26px;
	font-weight: 500;
	letter-spacing: -0.05em;
	line-height: 1.2;
}

.aml-footer__contact {
	grid-column: 2 / span 2;
	padding-left: 0;
}

.aml-footer__label {
	font-size: 18px;
	font-weight: 600;
	letter-spacing: -0.06em;
	line-height: 24px;
	color: rgba(255, 255, 255, 0.5);
}

.aml-footer__phone {
	margin-top: 22px !important;
	font-size: 20px;
	font-weight: 500;
	letter-spacing: -0.05em;
	line-height: 28px;
}

.aml-footer__email {
	margin-top: 22px !important;
	font-size: clamp(30px, 3.5vw, 50px);
	font-weight: 500;
	letter-spacing: -0.05em;
	line-height: 1.2;
}

.aml-footer__info {
	margin-top: 22px !important;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: -0.04em;
	line-height: 22px;
}

.aml-footer__info .aml-muted { color: rgba(255, 255, 255, 0.6); }

.aml-footer__nav-list {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
}

.aml-footer__nav a {
	font-size: 30px;
	font-weight: 500;
	letter-spacing: -0.05em;
	line-height: 39px;
}

.aml-footer__social {
	margin-top: 56px;
}

.aml-footer__meta {
	grid-column: 1 / -1;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 12px 32px;
	padding-top: 28px;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: -0.04em;
	line-height: 22px;
}

.aml-footer__social {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
}

/* Les éléments Bricks occupent 100 % par défaut : ils passeraient à la ligne */
.aml-footer__meta > * { width: auto; }

.aml-footer__legal {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 24px;
	color: rgba(255, 255, 255, 0.6);
}

.aml-footer__legal a { color: inherit; transition: color 0.3s ease; }

.aml-footer__legal a:hover,
.aml-footer__legal a:focus-visible { color: var(--aml-white); }

.aml-footer__copy { color: rgba(255, 255, 255, 0.6); }

.aml-footer__copy a { color: inherit; }

.aml-footer__copy a:hover,
.aml-footer__copy a:focus-visible { color: var(--aml-white); }

/* --- Tablette et mobile -------------------------------------------------------------- */

@media (max-width: 1199px) {
	.aml-footer__top { grid-template-columns: 1fr 1fr; row-gap: 64px; min-height: 0; }
	.aml-footer__contact { grid-column: 2; }
	.aml-footer__nav { grid-column: 1; }
}

@media (max-width: 809px) {
	.aml-footer { padding-top: 96px; }
	.aml-footer__lines { background-size: 50% 100%; }
	.aml-footer__top { grid-template-columns: 1fr; row-gap: 56px; }
	.aml-footer__contact,
	.aml-footer__nav { grid-column: 1; }
}

/* --- Mentions et crédit (shortcode [aml_copyright], inc/copyright.php) ---------------- */

.aml-copyright {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 5px;
	color: rgba(255, 255, 255, 0.6);
}

.aml-copyright__sep { opacity: 0.4; }

.aml-copyright__credit {
	display: inline-flex;
	align-items: center;
	gap: 5px;
}

.aml-copyright a {
	color: inherit;
	transition: color 0.3s ease;
}

.aml-copyright a:hover,
.aml-copyright a:focus-visible { color: var(--aml-white); }

.aml-heart {
	color: var(--aml-white);
	transform-origin: center;
}

/* Le cœur bat, s'emballe (« crise cardiaque »), puis retrouve son rythme — cycle de 12 s */
@media (prefers-reduced-motion: no-preference) {
	.aml-heart {
		animation: aml-heartbeat 12s ease-in-out infinite;
	}
}

@keyframes aml-heartbeat {
	0% { transform: scale(1); }
	0.83% { transform: scale(1.28); }
	1.67% { transform: scale(1); }
	2.5% { transform: scale(1.22); }
	3.5% { transform: scale(1); }
	12.5% { transform: scale(1); }
	13.33% { transform: scale(1.28); }
	14.17% { transform: scale(1); }
	15% { transform: scale(1.22); }
	16% { transform: scale(1); }
	25% { transform: scale(1); }
	26% { transform: scale(1.3); }
	27% { transform: scale(1); }
	27.92% { transform: scale(1); }
	28.92% { transform: scale(1.33); }
	29.92% { transform: scale(1); }
	30.83% { transform: scale(1); }
	31.83% { transform: scale(1.36); }
	32.83% { transform: scale(1); }
	33.75% { transform: scale(1); }
	34.75% { transform: scale(1.39); }
	35.75% { transform: scale(1); }
	36.67% { transform: scale(1); }
	37.67% { transform: scale(1.42); }
	38.67% { transform: scale(1); }
	39.58% { transform: scale(1); }
	40.58% { transform: scale(1.45); }
	41.58% { transform: scale(1); }
	42.5% { transform: scale(1); }
	43.5% { transform: scale(1.48); }
	44.5% { transform: scale(1); }
	45.42% { transform: scale(1); }
	46.42% { transform: scale(1.5); }
	47.42% { transform: scale(1); }
	49.17% { transform: scale(1); }
	50.67% { transform: scale(1.55); }
	53.33% { transform: scale(1); }
	55.83% { transform: scale(1); }
	56.83% { transform: scale(1.38); }
	57.83% { transform: scale(1); }
	58.83% { transform: scale(1.26); }
	59.67% { transform: scale(1); }
	64.17% { transform: scale(1); }
	65% { transform: scale(1.32); }
	65.83% { transform: scale(1); }
	66.67% { transform: scale(1.24); }
	67.67% { transform: scale(1); }
	74.17% { transform: scale(1); }
	75% { transform: scale(1.28); }
	75.83% { transform: scale(1); }
	76.67% { transform: scale(1.22); }
	77.67% { transform: scale(1); }
	86.67% { transform: scale(1); }
	87.5% { transform: scale(1.28); }
	88.33% { transform: scale(1); }
	89.17% { transform: scale(1.22); }
	90.17% { transform: scale(1); }
	100% { transform: scale(1); }
}
/* --- Bouton « Revenir en haut » (bp-retour-haut.js) ---------------------------------- */

.aml-haut {
	position: fixed;
	right: clamp(16px, 2.5vw, 36px);
	bottom: clamp(16px, 2.5vw, 36px);
	z-index: 1050;
	width: 54px;
	height: 54px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 50%;
	background: rgba(17, 17, 18, 0.72);
	backdrop-filter: blur(6px);
	cursor: pointer;
	opacity: 0;
	transform: translateY(14px) scale(0.9);
	pointer-events: none;
	transition:
		opacity 0.35s ease,
		transform 0.5s cubic-bezier(0.34, 1.35, 0.64, 1),
		background-color 0.3s ease;
}

/* La flèche du template pointe en haut à droite : un quart de tour la redresse */
.aml-haut::before {
	content: '';
	position: absolute;
	inset: 0;
	background: var(--aml-i-arrow-white) no-repeat center / 12px 12px;
	rotate: -45deg;
}

.aml-haut.is-visible {
	opacity: 1;
	transform: none;
	pointer-events: auto;
}

.aml-haut:hover,
.aml-haut:focus-visible {
	background-color: rgba(17, 17, 18, 0.95);
	transform: translateY(-3px);
}

/* Au-dessus d'une section sombre : cercle blanc et flèche noire */
.aml-haut.is-sur-sombre {
	background: rgba(255, 255, 255, 0.92);
	border-color: rgba(17, 17, 18, 0.12);
}

.aml-haut.is-sur-sombre::before { background-image: var(--aml-i-arrow-dark); }

.aml-haut.is-sur-sombre:hover,
.aml-haut.is-sur-sombre:focus-visible { background-color: var(--aml-white); }

@media (prefers-reduced-motion: reduce) {
	.aml-haut { transition: opacity 0.2s ease; }
	.aml-haut.is-visible,
	.aml-haut:hover { transform: none; }
}
