/**
 * Page « Catalogue conciergerie » — refonte 2026.
 *
 * Une table de soins en filets, sans carte ni ombre : nom, description, durée, action.
 */

.epiona-catalogue {
	padding: 90px var(--e-gutter) 118px;
}

.epiona-catalogue__head {
	margin-bottom: 60px;
}

.epiona-catalogue__title {
	margin: 24px 0 26px;
}

.epiona-catalogue__intro {
	font-size: 15.5px;
	font-weight: 300;
	line-height: 1.9;
	color: var(--e-text-muted);
	max-width: 520px;
	margin-bottom: 36px;
}

.epiona-catalogue__form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 14px;
	max-width: 520px;
}

.epiona-catalogue__hint {
	font-size: 12.5px;
	font-weight: 300;
	font-style: italic;
	color: var(--e-text-disabled);
	margin-top: 14px;
}

.epiona-catalogue__count {
	font-size: 11.5px;
	font-weight: 400;
	letter-spacing: 0.13em;
	text-transform: uppercase;
	color: var(--e-text-subtle);
	margin-bottom: 20px;
}

/* Filet haut marquant : c'est ce qui donne son allure de table à la liste. */
.epiona-soins {
	border-top: 1px solid var(--e-text);
}

.epiona-soin {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.2fr) 120px 150px;
	gap: 30px;
	align-items: center;
	padding: 28px 0;
	border-bottom: 1px solid var(--e-line);
}

.epiona-soin__name {
	font-family: var(--e-serif);
	font-size: 26px;
	font-weight: 400;
	line-height: 1.25;
	margin: 0;
}

.epiona-soin__desc {
	font-size: 14px;
	font-weight: 300;
	line-height: 1.8;
	color: var(--e-text-muted);
	margin: 0;
}

.epiona-soin__duration {
	font-size: 11.5px;
	font-weight: 400;
	letter-spacing: 0.13em;
	text-transform: uppercase;
	color: var(--e-text-subtle);
	margin: 0;
}

.epiona-soin__cta {
	justify-self: end;
}

.epiona-catalogue__note {
	font-size: 12.5px;
	font-weight: 300;
	color: var(--e-text-disabled);
	margin-top: 34px;
}

.epiona-catalogue__empty {
	border-top: 1px solid var(--e-line);
	padding-top: 40px;
	max-width: 640px;
}

.epiona-catalogue__empty h2 {
	margin-bottom: 18px;
}

.epiona-catalogue__empty p + p {
	margin-top: 14px;
}

@media (max-width: 1280px) {
	.epiona-soin {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr) 110px 130px;
		gap: 24px;
	}
}

@media (max-width: 900px) {
	.epiona-catalogue {
		padding: 44px var(--e-gutter) 56px;
	}

	.epiona-catalogue__head {
		margin-bottom: 36px;
	}

	.epiona-catalogue__title {
		margin: 16px 0 18px;
	}

	.epiona-catalogue__intro {
		font-size: 14px;
		margin-bottom: 24px;
	}

	.epiona-catalogue__form {
		grid-template-columns: minmax(0, 1fr);
	}

	/* Sur mobile : nom et durée sur une ligne, description en dessous. */
	.epiona-soin {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 8px 16px;
		padding: 22px 0;
		align-items: baseline;
	}

	.epiona-soin__name {
		font-size: 21px;
	}

	.epiona-soin__duration {
		text-align: right;
	}

	.epiona-soin__desc {
		grid-column: 1 / -1;
	}

	.epiona-soin__cta {
		grid-column: 1 / -1;
		justify-self: start;
		margin-top: 10px;
	}
}

/* ------------------------------------------------------------------ *
 * Groupes de soins par catégorie — refonte SEO 2026
 *
 * Le catalogue est désormais rendu en entier côté serveur (227 prestations), groupé par
 * catégorie Bookly. Ces titres structurent la page pour le lecteur comme pour l'indexation.
 * ------------------------------------------------------------------ */

.epiona-catalogue__groupe + .epiona-catalogue__groupe {
	margin-top: 70px;
}

.epiona-catalogue__categorie {
	display: flex;
	align-items: baseline;
	gap: 14px;
	font-family: var(--e-serif);
	font-size: 34px;
	font-weight: 300;
	line-height: 1.15;
	margin: 0 0 24px;
}

.epiona-catalogue__compte {
	font-family: var(--e-sans);
	font-size: 11px;
	font-weight: 400;
	letter-spacing: 0.13em;
	color: var(--e-text-subtle);
}

/* La description est vide pour la grande majorité des prestations : sans cette règle,
   la colonne centrale laisserait un trou dans la grille. */
.epiona-soin__desc:empty {
	display: none;
}

.epiona-catalogue__hint a {
	border-bottom: 1px solid var(--e-gold-light);
	margin-left: 8px;
}

.epiona-catalogue__hint a:hover {
	color: var(--e-gold-dark);
}

@media (max-width: 900px) {
	.epiona-catalogue__groupe + .epiona-catalogue__groupe {
		margin-top: 44px;
	}

	.epiona-catalogue__categorie {
		font-size: 24px;
		margin-bottom: 16px;
	}
}
