/* Gabarit « Page salons » (page-salons.php), capture de Ludo du 02/10/2026. */

.page-salons {
	--salons-fond: #faf8f5;
	--salons-texte: #212121;
	--salons-discret: #5c5c5c;
	background: var(--salons-fond);
}

.salons {
	max-width: 80rem;
	margin: 0 auto;
	padding: 3rem 1.5rem 5rem;
}

.salons__entete {
	margin-bottom: 2.5rem;
}

.page-salons .salons__titre {
	margin: 0;
	font-family: Nocturne, system-ui;
	font-weight: 200;
	font-size: clamp(3.25rem, 7vw, 6.5rem);
	line-height: 1;
	letter-spacing: -0.01em;
	color: var(--salons-texte);
}

.page-salons .salons__titre::after {
	content: "";
	display: block;
	width: 3rem;
	height: 1px;
	margin-top: 1.75rem;
	background: currentColor;
	opacity: 0.6;
}

.salons__accroche {
	max-width: 40rem;
	margin: 1.5rem 0 0;
	font-family: Nocturne, system-ui;
	font-size: clamp(1.125rem, 1.8vw, 1.5rem);
	line-height: 1.4;
	color: var(--salons-texte);
}

.salons__liste {
	display: grid;
	grid-template-columns: 1fr;
	gap: 3rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 768px) {
	.salons {
		padding: 4.5rem 2rem 7rem;
	}

	.salons__entete {
		margin-bottom: 3.5rem;
	}

	.salons__liste {
		grid-template-columns: 1fr 1fr;
		gap: 4rem 3rem;
	}
}

/* Carte : tout est cliquable, le lien du titre s'étend à la carte */
.salon {
	position: relative;
}

.salon__image {
	aspect-ratio: 33 / 20;
	overflow: hidden;
	background: #e9e4dd;
}

.salon__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.salon__pied {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding-top: 1.125rem;
}

.page-salons .salon__nom {
	margin: 0;
	font-family: Nocturne, system-ui;
	font-weight: 400;
	font-size: clamp(1.5rem, 2.3vw, 2rem);
	line-height: 1.15;
	color: var(--salons-texte);
}

.salon__lien {
	color: inherit;
	text-decoration: none;
}

.salon__lien::after {
	content: "";
	position: absolute;
	inset: 0;
}

.salon__lien:focus-visible {
	outline: none;
}

.salon:focus-within {
	outline: 2px solid var(--salons-texte);
	outline-offset: 6px;
}

.salon__dates {
	margin: 0.4rem 0 0;
	font-size: 0.875rem;
	letter-spacing: 0.16em;
	color: var(--salons-discret);
}

.salon__fleche {
	flex: 0 0 auto;
	color: var(--salons-texte);
	transition: transform 0.3s ease;
}

@media (hover: hover) {
	.salon:hover .salon__image img {
		transform: scale(1.03);
	}

	.salon:hover .salon__lien {
		text-decoration: underline;
		text-underline-offset: 0.2em;
		text-decoration-thickness: 1px;
	}

	.salon:hover .salon__fleche {
		transform: translateX(6px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.salon__image img,
	.salon__fleche {
		transition: none;
	}
}

/* Page presse : une couverture de magazine se lit par le haut */
.salon__img--haut {
	object-position: center top;
}
