/**
 * Bouton Retour — coin bas gauche des en-têtes (même halo que les boutons de vue).
 */

.asmon-back {
	position: absolute;
	bottom: clamp(0.55rem, 1.6vh, 0.9rem);
	left: var(--asmon-chrome-gutter, clamp(1rem, 4vw, 4rem));
	z-index: 4;
	display: inline-flex;
	align-items: center;
	gap: 0.6em;
	padding: 0.3rem 0.2rem;
	color: rgba(201, 168, 76, 0.88);
	text-decoration: none;
	filter: drop-shadow(0 1px 5px rgba(0, 0, 0, 0.55));
}

body .asmon-back.reveal {
	transition:
		opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1),
		transform 0.85s cubic-bezier(0.22, 1, 0.36, 1),
		color 0.25s ease,
		filter 0.3s ease;
}

.asmon-back:hover,
.asmon-back:focus-visible {
	color: rgba(244, 236, 216, 0.98);
	filter: drop-shadow(0 0 10px rgba(201, 168, 76, 0.55));
	outline: none;
}

.asmon-back__icon {
	position: relative;
	display: block;
	flex: 0 0 auto;
	width: var(--asmon-back-arrow, 18px);
	height: var(--asmon-back-arrow, 18px);
	transition: transform 0.35s ease;
}

.asmon-back__icon svg {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	height: 100%;
}

.asmon-back__halo {
	position: absolute;
	inset: -0.4rem;
	z-index: 0;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(201, 168, 76, 0.28) 0%, rgba(201, 168, 76, 0.06) 52%, transparent 72%);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease;
}

.asmon-back:hover .asmon-back__icon,
.asmon-back:focus-visible .asmon-back__icon {
	transform: translateX(-3px) scale(1.14);
}

.asmon-back:hover .asmon-back__halo,
.asmon-back:focus-visible .asmon-back__halo {
	opacity: 1;
}

.asmon-back__text {
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	font-size: var(--asmon-back-text, 11px);
	letter-spacing: 0.16em;
	line-height: 1;
	text-transform: uppercase;
	transition: text-shadow 0.3s ease;
}

.asmon-back:hover .asmon-back__text,
.asmon-back:focus-visible .asmon-back__text {
	text-shadow: 0 0 14px rgba(201, 168, 76, 0.35);
}

.asmon-back.reveal .asmon-back__icon,
.asmon-back.reveal .asmon-back__text {
	opacity: 0;
	translate: 0 4px;
}

.asmon-back.reveal.is-visible .asmon-back__icon {
	animation: asmon-back-enter 0.45s ease-out 0.08s forwards;
}

.asmon-back.reveal.is-visible .asmon-back__text {
	animation: asmon-back-enter 0.45s ease-out 0.14s forwards;
}

@keyframes asmon-back-enter {
	to {
		opacity: 1;
		translate: 0 0;
	}
}

@media (max-width: 1199px) {
	.asmon-hero--has-back .asmon-hero__inner {
		padding-bottom: calc(clamp(0.75rem, 2vh, 1.25rem) + var(--asmon-back-arrow, 18px) + 1.1rem);
	}
}

@media (prefers-reduced-motion: reduce) {
	body .asmon-back.reveal {
		transition: none;
	}

	.asmon-back.reveal .asmon-back__icon,
	.asmon-back.reveal .asmon-back__text {
		opacity: 1;
		translate: none;
		animation: none !important;
	}

	.asmon-back__icon,
	.asmon-back__halo {
		transition: none;
	}

	.asmon-back:hover .asmon-back__icon,
	.asmon-back:focus-visible .asmon-back__icon {
		transform: none;
	}
}
