/*
 * Amanar — système de design des séjours
 *
 * Codes repris d'Airbnb : image dominante en 20/19, aucun cadre ni ombre sur
 * les cartes, typographie de 14-15 px très serrée en gris moyen, cœur en
 * surimpression, points de carrousel, barre de catégories filtrantes.
 *
 * La couleur du parcours reste un accent — une pastille, un liseré. Trois
 * parcours en aplats transformeraient la grille en sapin de Noël.
 */

:root {
	--amanar-ink: #222222;
	--amanar-ink-soft: #717171;
	--amanar-ink-faint: #a0a0a0;
	--amanar-line: #ebebeb;
	--amanar-line-strong: #dddddd;
	--amanar-surface: #ffffff;
	--amanar-surface-alt: #f7f7f7;

	/* Repères par public — point 2.3 */
	--amanar-parents: #c79d2b;
	--amanar-retraites: #675064;
	--amanar-adaptes: #71806a;

	--amanar-radius: 12px;
	--amanar-ease: cubic-bezier(0.2, 0, 0.2, 1);
	--amanar-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);

	/*
	 * La police vient du site, pas de nous.
	 *
	 * Une pile système était imposée ici : sur l'accueil, nos cartes de séjour
	 * sortaient en Segoe UI au milieu d'une page en Poppins — 65 éléments sur
	 * une autre police que le reste. `inherit` laisse chaque bloc prendre celle
	 * de la page qui l'accueille, quel que soit le thème.
	 */
	--amanar-font: inherit;
}

.amanar-parcours--parents-solos { --amanar-accent: var(--amanar-parents); }
.amanar-parcours--retraites { --amanar-accent: var(--amanar-retraites); }
.amanar-parcours--sejours-adaptes { --amanar-accent: var(--amanar-adaptes); }

/* ================================================================== */
/* Barre de recherche                                                  */
/* ================================================================== */

.amanar-recherche {
	display: inline-flex;
	align-items: stretch;
	background: var(--amanar-surface);
	border: 1px solid var(--amanar-line-strong);
	border-radius: 999px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08), 0 4px 12px rgba(0, 0, 0, 0.05);
	font-family: var(--amanar-font);
	padding: 6px 6px 6px 0;
	transition: box-shadow 0.2s var(--amanar-ease);
}

.amanar-recherche:hover {
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1), 0 6px 20px rgba(0, 0, 0, 0.09);
}

.amanar-recherche__champ {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 8px 20px;
	border-right: 1px solid var(--amanar-line);
	text-align: left;
	background: none;
	border-top: 0;
	border-bottom: 0;
	border-left: 0;
	cursor: pointer;
	font-family: inherit;
}

.amanar-recherche__champ:last-of-type { border-right: 0; }

.amanar-recherche__label {
	font-size: 12px;
	font-weight: 700;
	color: var(--amanar-ink);
	line-height: 1.3;
}

.amanar-recherche__valeur {
	font-size: 14px;
	color: var(--amanar-ink-faint);
	line-height: 1.3;
	white-space: nowrap;
}

.amanar-recherche__bouton {
	flex: 0 0 auto;
	width: 44px;
	height: 44px;
	align-self: center;
	border: 0;
	border-radius: 50%;
	background: var(--amanar-accent, var(--amanar-retraites));
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

@media (max-width: 700px) {
	.amanar-recherche { width: 100%; padding: 8px; }
	.amanar-recherche__champ { padding: 6px 12px; }
	.amanar-recherche__valeur { font-size: 13px; }
}

/* ================================================================== */
/* Catégories filtrantes                                               */
/* ================================================================== */

.amanar-categories {
	display: flex;
	gap: 32px;
	align-items: flex-end;
	overflow-x: auto;
	scrollbar-width: none;
	padding: 4px 0 0;
	border-bottom: 1px solid var(--amanar-line);
	font-family: var(--amanar-font);
}

.amanar-categories::-webkit-scrollbar { display: none; }

.amanar-categorie {
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	padding: 0 4px 12px;
	border: 0;
	border-bottom: 2px solid transparent;
	background: none;
	color: var(--amanar-ink-soft);
	font-family: inherit;
	font-size: 12px;
	font-weight: 600;
	white-space: nowrap;
	cursor: pointer;
	opacity: 0.7;
	transition: opacity 0.15s var(--amanar-ease),
		border-color 0.15s var(--amanar-ease);
}

.amanar-categorie svg { width: 24px; height: 24px; }

.amanar-categorie:hover { opacity: 1; border-bottom-color: var(--amanar-line-strong); }

.amanar-categorie[aria-selected="true"] {
	opacity: 1;
	color: var(--amanar-ink);
	border-bottom-color: var(--amanar-ink);
}

/* ================================================================== */
/* Grille                                                              */
/* ================================================================== */

.amanar-grille {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	column-gap: 24px;
	row-gap: 36px;
	font-family: var(--amanar-font);
	/*
	 * Une respiration sous la grille : sur l'accueil, le bouton « Voir tous les
	 * séjours » se posait à quelques pixels de la dernière carte, comme s'il en
	 * faisait partie.
	 */
	margin: 0 0 34px;
	padding: 0;
	list-style: none;
}

@media (max-width: 640px) {
	.amanar-grille {
		grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
		column-gap: 16px;
		row-gap: 26px;
	}
}

/* ================================================================== */
/* Carte                                                               */
/* ================================================================== */

.amanar-carte {
	position: relative;
	font-family: var(--amanar-font);
	color: var(--amanar-ink);
}

.amanar-carte__lien::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

.amanar-carte__media {
	position: relative;
	overflow: hidden;
	border-radius: var(--amanar-radius);
	background: var(--amanar-surface-alt);
	aspect-ratio: 20 / 19;
	margin-bottom: 12px;
}

.amanar-carte__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.5s var(--amanar-ease);
}

.amanar-carte:hover .amanar-carte__image,
.amanar-carte:focus-within .amanar-carte__image {
	transform: scale(1.05);
}

/* ---- Pastille du parcours ---- */

.amanar-carte__pastille {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 10px;
	border-radius: 6px;
	background: var(--amanar-surface);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.18);
	font-size: 12px;
	font-weight: 700;
	color: var(--amanar-ink);
	line-height: 1;
}

.amanar-carte__pastille::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--amanar-accent, var(--amanar-ink-soft));
}

/* ---- Cœur ---- */

.amanar-carte__coeur {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 3;
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 0;
	background: none;
	cursor: pointer;
	color: rgba(255, 255, 255, 0.92);
}

.amanar-carte__coeur svg {
	width: 24px;
	height: 24px;
	fill: rgba(0, 0, 0, 0.42);
	stroke: #fff;
	stroke-width: 2;
	transition: transform 0.15s var(--amanar-ease), fill 0.15s var(--amanar-ease);
}

.amanar-carte__coeur:hover svg { transform: scale(1.1); }

.amanar-carte__coeur[aria-pressed="true"] svg {
	fill: var(--amanar-accent, #e00b41);
	stroke: var(--amanar-accent, #e00b41);
}

/* ---- Points de carrousel ---- */

.amanar-carte__points {
	position: absolute;
	left: 50%;
	bottom: 10px;
	transform: translateX(-50%);
	z-index: 2;
	display: flex;
	gap: 5px;
}

.amanar-carte__point {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.6);
	box-shadow: 0 0 2px rgba(0, 0, 0, 0.3);
}

.amanar-carte__point--actif {
	background: #fff;
	transform: scale(1.15);
}

/* ---- Corps ---- */

.amanar-carte__corps {
	display: flex;
	flex-direction: column;
	gap: 1px;
}

.amanar-carte__entete {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 10px;
}

.amanar-carte__titre {
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
	margin: 0;
	color: var(--amanar-ink);
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.amanar-carte__lien {
	color: inherit;
	text-decoration: none;
}

.amanar-carte__lien:focus-visible {
	outline: 2px solid var(--amanar-ink);
	outline-offset: 3px;
	border-radius: 4px;
}

/* Badge textuel discret, à la place de la note client */
.amanar-carte__signal {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	gap: 3px;
	font-size: 14px;
	color: var(--amanar-ink);
	white-space: nowrap;
}

.amanar-carte__signal svg { width: 12px; height: 12px; }

.amanar-carte__secondaire,
.amanar-carte__dates,
.amanar-carte__duree {
	font-size: 14px;
	line-height: 1.45;
	color: var(--amanar-ink-soft);
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.amanar-carte__prix {
	margin-top: 7px;
	font-size: 15px;
	color: var(--amanar-ink);
}

.amanar-carte__prix strong {
	font-weight: 600;
	text-decoration: none;
}

.amanar-carte__prix span {
	font-weight: 400;
	color: var(--amanar-ink);
}

.amanar-carte__minimum {
	margin-top: 3px;
	font-size: 13px;
	color: var(--amanar-ink-faint);
}

/*
 * Point 1.4 : la carte porte toujours « Découvrir le séjour », jamais
 * « Se pré-inscrire ». Airbnb n'a pas de bouton sur ses cartes — le cahier
 * des charges en impose un, on le fait donc discret et secondaire.
 */
.amanar-carte__cta {
	position: relative;
	z-index: 2;
	align-self: flex-start;
	margin-top: 10px;
	font-size: 14px;
	font-weight: 600;
	color: var(--amanar-ink);
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-thickness: 1px;
}

.amanar-carte__cta:hover { color: var(--amanar-accent, var(--amanar-ink)); }

/* ================================================================== */
/* Bloc « Sessions » — point 5.1                                       */
/* ================================================================== */

.amanar-sessions {
	font-family: var(--amanar-font);
	border: 1px solid var(--amanar-line-strong);
	border-radius: var(--amanar-radius);
	padding: 20px 22px;
	background: var(--amanar-surface);
}

.amanar-sessions__titre {
	margin: 0 0 12px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--amanar-ink-faint);
}

.amanar-sessions__liste { margin: 0; padding: 0; list-style: none; }

.amanar-session {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 13px 0;
	border-bottom: 1px solid var(--amanar-line);
}

.amanar-session:last-child { border-bottom: 0; padding-bottom: 0; }
.amanar-session:first-child { padding-top: 0; }

.amanar-session__dates {
	font-size: 15px;
	font-weight: 600;
	color: var(--amanar-ink);
}

.amanar-session__minimum {
	display: block;
	margin-top: 2px;
	font-size: 13px;
	font-weight: 400;
	color: var(--amanar-ink-soft);
}

.amanar-session__action {
	flex: 0 0 auto;
	padding: 9px 16px;
	border: 1px solid var(--amanar-ink);
	border-radius: 8px;
	background: var(--amanar-surface);
	color: var(--amanar-ink);
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.15s var(--amanar-ease), color 0.15s var(--amanar-ease);
}

.amanar-session__action:hover,
.amanar-session__action:focus-visible {
	background: var(--amanar-ink);
	color: #fff;
}

.amanar-session__etat {
	flex: 0 0 auto;
	font-size: 14px;
	color: var(--amanar-ink-faint);
	text-decoration: line-through;
}

@media (max-width: 520px) {
	.amanar-session { flex-direction: column; align-items: flex-start; gap: 10px; }
	.amanar-session__action { width: 100%; }
}

/* ================================================================== */
/* Bloc budget — point 5.3                                             */
/* ================================================================== */

.amanar-budget {
	font-family: var(--amanar-font);
	padding: 22px 24px;
	border-radius: var(--amanar-radius);
	background: var(--amanar-surface-alt);
}

.amanar-budget__label { font-size: 14px; color: var(--amanar-ink-soft); margin: 0 0 4px; }

.amanar-budget__montant {
	font-size: 26px;
	font-weight: 700;
	line-height: 1.2;
	margin: 0 0 10px;
}

.amanar-budget__detail {
	font-size: 14px;
	line-height: 1.55;
	color: var(--amanar-ink-soft);
	margin: 0 0 16px;
}

.amanar-budget__pdf {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 11px 18px;
	border-radius: 8px;
	border: 1px solid var(--amanar-ink);
	font-size: 14px;
	font-weight: 600;
	color: var(--amanar-ink);
	text-decoration: none;
}

.amanar-budget__pdf:hover { background: var(--amanar-ink); color: #fff; }

.amanar-budget__maj {
	display: block;
	margin-top: 8px;
	font-size: 12px;
	color: var(--amanar-ink-faint);
}

/* ================================================================== */
/* Accessibilité                                                       */
/* ================================================================== */

.amanar-sr {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

@media (prefers-reduced-motion: reduce) {
	.amanar-carte__image,
	.amanar-carte__coeur svg,
	.amanar-session__action { transition: none; }

	.amanar-carte:hover .amanar-carte__image { transform: none; }
}

/* ================================================================== */
/* Catalogue : une section par public                                  */
/* ================================================================== */

.amanar-catalogue {
	font-family: var(--amanar-font);
	color: var(--amanar-ink);
}

.amanar-section {
	padding: 44px 0;
	border-bottom: 1px solid var(--amanar-line);
	scroll-margin-top: 90px;
}

.amanar-section:last-child { border-bottom: 0; }
.amanar-section:first-child { padding-top: 8px; }

.amanar-section__entete {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 6px;
}

.amanar-section__titre {
	font-size: 24px;
	font-weight: 700;
	letter-spacing: -0.015em;
	margin: 0;
	position: relative;
	padding-left: 16px;
}

/* Liseré du parcours : le repère couleur du point 2.3, en discret. */
.amanar-section__titre::before {
	content: "";
	position: absolute;
	left: 0;
	top: 4px;
	bottom: 4px;
	width: 4px;
	border-radius: 2px;
	background: var(--amanar-accent, var(--amanar-ink));
}

.amanar-section__compteur {
	font-size: 14px;
	font-weight: 600;
	color: var(--amanar-ink-soft);
	white-space: nowrap;
}

.amanar-section__intro {
	font-size: 15px;
	line-height: 1.6;
	color: var(--amanar-ink-soft);
	margin: 0 0 22px;
	padding-left: 16px;
	max-width: 62ch;
}

@media (max-width: 640px) {
	.amanar-section { padding: 32px 0; }
	.amanar-section__titre { font-size: 20px; }
}

/* ================================================================== */
/* Icônes : garde-fou de dimension                                     */
/* ================================================================== */

/*
 * Un SVG sans attribut de taille et sans règle CSS appliquée retombe sur
 * 300 × 150 px — d'où des icônes énormes si une feuille de style arrive en
 * retard ou si un thème surcharge la nôtre. Ces règles verrouillent la taille
 * quoi qu'il arrive, sans dépendre d'aucune bibliothèque d'icônes externe.
 */
.amanar-carte svg,
.amanar-fiche svg,
.amanar-atouts svg,
.amanar-sessions svg,
.amanar-form svg {
	max-width: 100%;
	flex: 0 0 auto;
}

.amanar-carte__coeur svg { width: 22px; height: 22px; }
.amanar-carte__signal svg { width: 12px; height: 12px; }
.amanar-atout__icone svg { width: 22px; height: 22px; }
.amanar-action svg { width: 15px; height: 15px; }
.amanar-galerie__tout svg { width: 14px; height: 14px; }
.amanar-recherche__bouton svg { width: 16px; height: 16px; }
.amanar-categorie svg { width: 22px; height: 22px; }

/* ================================================================== */
/* CARTES — refonte sur le modèle Airbnb                               */
/* ================================================================== */

/*
 * Trois par rangée, toutes de même taille. Une image par carte, avec
 * défilement latéral natif : `scroll-snap` fait le travail d'un carrousel
 * sans une ligne de bibliothèque.
 */

.amanar-grille {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	column-gap: 24px;
	row-gap: 36px;
}

@media (max-width: 1080px) { .amanar-grille { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 660px)  { .amanar-grille { grid-template-columns: 1fr; row-gap: 28px; } }

/* ---- Média ---- */

.amanar-carte__media {
	position: relative;
	aspect-ratio: 20 / 19;
	border-radius: 12px;
	overflow: hidden;
	background: var(--amanar-surface-alt);
	margin-bottom: 12px;
}

.amanar-carte__piste {
	display: flex;
	height: 100%;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.amanar-carte__piste::-webkit-scrollbar { display: none; }

.amanar-carte__image {
	flex: 0 0 100%;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	scroll-snap-align: center;
	scroll-snap-stop: always;
}

/* ---- Pastille du parcours ---- */

.amanar-carte__pastille {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 11px;
	border-radius: 999px;
	background: var(--amanar-surface);
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.16);
	font-size: 12px;
	font-weight: 700;
	color: var(--amanar-ink);
	line-height: 1;
}

.amanar-carte__pastille::before {
	content: "";
	width: 6px; height: 6px;
	border-radius: 50%;
	background: var(--amanar-accent, var(--amanar-ink-soft));
}

/* ---- Cœur ---- */

.amanar-carte__coeur {
	position: absolute;
	top: 10px; right: 10px;
	z-index: 3;
	width: 30px; height: 30px;
	display: flex; align-items: center; justify-content: center;
	border: 0; padding: 0;
	background: none;
	cursor: pointer;
}

.amanar-carte__coeur svg {
	fill: rgba(0, 0, 0, 0.4);
	stroke: #fff;
	stroke-width: 2;
	transition: transform 0.15s var(--amanar-ease), fill 0.15s var(--amanar-ease);
}

.amanar-carte__coeur:hover svg { transform: scale(1.1); }

.amanar-carte__coeur[aria-pressed="true"] svg {
	fill: var(--amanar-accent, #e00b41);
	stroke: #fff;
}

/* ---- Flèches, visibles au survol ---- */

.amanar-carte__fleche {
	position: absolute;
	top: 50%;
	z-index: 3;
	width: 28px; height: 28px;
	transform: translateY(-50%);
	display: flex; align-items: center; justify-content: center;
	border: 0; padding: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.92);
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
	/*
	 * Surtout pas `var(--amanar-ink)` : la pastille porte son propre fond blanc,
	 * elle ne suit donc pas l'encre de la page. Sur la bande sombre du catalogue,
	 * cette variable passe au blanc et la flèche disparaissait sur son fond.
	 */
	color: #222222;
	cursor: pointer;
	opacity: 0;
	transition: opacity 0.18s var(--amanar-ease), background 0.15s var(--amanar-ease);
}

.amanar-carte__fleche--arriere { left: 10px; }
.amanar-carte__fleche--avant { right: 10px; }

.amanar-carte:hover .amanar-carte__fleche,
.amanar-carte:focus-within .amanar-carte__fleche { opacity: 1; }

.amanar-carte__fleche:hover { background: #fff; }

/* ---- Points ---- */

.amanar-carte__points {
	position: absolute;
	left: 50%; bottom: 10px;
	z-index: 2;
	transform: translateX(-50%);
	display: flex;
	gap: 5px;
	pointer-events: none;
}

.amanar-carte__point {
	width: 6px; height: 6px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.65);
	box-shadow: 0 0 2px rgba(0, 0, 0, 0.4);
	transition: background 0.15s var(--amanar-ease), transform 0.15s var(--amanar-ease);
}

.amanar-carte__point--actif { background: #fff; transform: scale(1.18); }

/* ---- Corps ---- */

.amanar-carte__corps { display: flex; flex-direction: column; gap: 2px; }

.amanar-carte__ligne {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
}

.amanar-carte__titre {
	flex: 1 1 auto;
	min-width: 0;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.35;
	margin: 0;
	color: var(--amanar-ink);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.amanar-carte__lien { color: inherit; text-decoration: none; }

.amanar-carte__lien::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

.amanar-carte__lien:focus-visible { outline: 2px solid var(--amanar-ink); outline-offset: 3px; border-radius: 4px; }

.amanar-carte__signal {
	flex: 0 0 auto;
	font-size: 13.5px;
	color: var(--amanar-ink);
	white-space: nowrap;
}

.amanar-carte__gris {
	font-size: 14px;
	line-height: 1.45;
	color: var(--amanar-ink-soft);
	margin: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.amanar-carte__prix {
	margin: 6px 0 0;
	font-size: 15px;
	font-weight: 600;
	color: var(--amanar-ink);
}

/* ---- Mentions de bas de carte ---- */

.amanar-carte__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 9px;
}

.amanar-carte__chip {
	padding: 4px 9px;
	border-radius: 6px;
	background: var(--amanar-surface-alt);
	font-size: 12px;
	line-height: 1.35;
	color: var(--amanar-ink-soft);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 100%;
}

/* La carte est cliquable dans son ensemble ; ces éléments restent au-dessus. */
.amanar-carte__coeur,
.amanar-carte__fleche,
.amanar-carte__piste { position: relative; z-index: 2; }
.amanar-carte__media { z-index: 0; }

/* ================================================================== */
/* Corrections de spécificité                                          */
/* ================================================================== */

/*
 * Le bloc précédent posait `position: relative` sur le cœur et les flèches,
 * ce qui annulait leur `position: absolute` : ils sortaient du cadre. Seule la
 * piste a besoin d'un contexte d'empilement.
 */
.amanar-carte .amanar-carte__piste { position: relative; z-index: 1; }

.amanar-carte .amanar-carte__coeur {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 4;
}

.amanar-carte .amanar-carte__fleche {
	position: absolute;
	top: 50%;
	z-index: 4;
	transform: translateY(-50%);
}

.amanar-carte .amanar-carte__fleche--arriere { left: 10px; right: auto; }
.amanar-carte .amanar-carte__fleche--avant { right: 10px; left: auto; }

.amanar-carte .amanar-carte__pastille { z-index: 4; }
.amanar-carte .amanar-carte__points { z-index: 3; }

/*
 * Le thème applique son style de titre à tout h3 : 24 px en serif. Sur une
 * carte, le titre doit rester à 15 px et tenir sur une ligne, sinon la grille
 * se désaligne dès qu'un séjour a un nom long.
 */
.amanar-carte .amanar-carte__titre,
.amanar-carte .amanar-carte__titre a {
	font-family: var(--amanar-font);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: 0;
	text-transform: none;
	color: var(--amanar-ink);
	margin: 0;
	padding: 0;
}

.amanar-carte .amanar-carte__titre {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.amanar-carte .amanar-carte__titre::before,
.amanar-carte .amanar-carte__titre::after { content: none; }

/* La carte porte le contexte de positionnement de son lien de couverture. */
.amanar-carte { position: relative; }

/* ================================================================== */
/* Neutralisation du style de bouton du thème                          */
/* ================================================================== */

/*
 * LoveTravel applique son bouton doré à tout <button> de la page, avec
 * `!important`. Le cœur et les flèches de carrousel ne sont pas des boutons
 * d'action : ce sont des commandes en surimpression sur une photo.
 *
 * `!important` est ici le seul recours : on ne peut pas battre en spécificité
 * une déclaration déjà marquée importante. C'est le cas légitime d'usage —
 * neutraliser un style tiers imposé, pas gagner une bataille de sélecteurs.
 */
.amanar-carte .amanar-carte__coeur,
.amanar-carte .amanar-carte__coeur:hover,
.amanar-carte .amanar-carte__coeur:focus,
.amanar-carte .amanar-carte__fleche,
.amanar-carte .amanar-carte__fleche:hover,
.amanar-carte .amanar-carte__fleche:focus {
	background-image: none !important;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	min-width: 0 !important;
	min-height: 0 !important;
	line-height: 1 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	font-size: 0 !important;
}

.amanar-carte .amanar-carte__coeur,
.amanar-carte .amanar-carte__coeur:hover,
.amanar-carte .amanar-carte__coeur:focus {
	width: 30px !important;
	height: 30px !important;
	background-color: transparent !important;
	border-radius: 50% !important;
	box-shadow: none !important;
}

.amanar-carte .amanar-carte__fleche,
.amanar-carte .amanar-carte__fleche:hover,
.amanar-carte .amanar-carte__fleche:focus {
	width: 28px !important;
	height: 28px !important;
	background-color: rgba(255, 255, 255, 0.94) !important;
	border-radius: 50% !important;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.22) !important;
	color: #222222 !important;
}

/* Le SVG reprend sa taille : `font-size: 0` ci-dessus ne doit pas l'écraser. */
.amanar-carte .amanar-carte__coeur svg { width: 22px !important; height: 22px !important; }
.amanar-carte .amanar-carte__fleche svg { width: 12px !important; height: 12px !important; }

/*
 * Le trait de la flèche est en `currentColor`. Le thème et le catalogue sombre
 * repeignent l'un et l'autre la couleur héritée en blanc ; on fixe donc le
 * trait sur la pastille elle-même, qui est toujours blanche.
 */
.amanar-carte .amanar-carte__fleche svg,
.amanar-carte .amanar-carte__fleche svg path {
	stroke: #222222 !important;
	fill: none !important;
}

/* ------------------------------------------------------------------
 * Accroche de carte
 *
 * La ligne éditoriale, placée avant le lieu : c'est elle qui donne envie.
 * Bornée à deux lignes pour que toutes les cartes d'une rangée gardent la
 * même hauteur — une carte plus haute que ses voisines casse la grille.
 * ------------------------------------------------------------------ */

.amanar-carte .amanar-carte__accroche {
	margin: 2px 0 0 !important;
	font-size: 14px !important;
	line-height: 1.4 !important;
	color: var(--amanar-ink) !important;
	font-weight: 400 !important;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* ==================================================================
 * « Comment participer ? » — point 2.4
 *
 * Trois blocs numérotés, horizontaux sur ordinateur, verticaux sur mobile.
 * La flèche pivote au lieu de disparaître : elle porte le sens de lecture,
 * qui reste le même quand la colonne se retourne.
 * ================================================================== */

.amanar-etapes-bloc { font-family: var(--amanar-font); color: var(--amanar-ink); }

.amanar-etapes-bloc .amanar-etapes-bloc__titre {
	margin: 0 0 28px;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.015em;
	text-align: center;
	color: var(--amanar-ink);
}

.amanar-etapes-bloc .amanar-etapes-bloc__liste {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: none;
}

@media (max-width: 860px) {
	.amanar-etapes-bloc .amanar-etapes-bloc__liste { grid-template-columns: 1fr; gap: 28px; }
}

.amanar-etape-carte {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 28px 22px 26px;
	border: 1px solid var(--amanar-line);
	border-radius: 16px;
	background: var(--amanar-surface);
	text-align: center;
}

.amanar-etape-carte .amanar-etape-carte__rang {
	position: absolute;
	top: -14px;
	left: 50%;
	transform: translateX(-50%);
	width: 28px;
	height: 28px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--amanar-accent, var(--amanar-ink));
	color: #fff;
	font-size: 13px;
	font-weight: 700;
}

.amanar-etape-carte .amanar-etape-carte__icone { color: var(--amanar-accent, var(--amanar-ink-soft)); margin-top: 4px; }
.amanar-etape-carte .amanar-etape-carte__icone svg { width: 30px !important; height: 30px !important; }

.amanar-etape-carte .amanar-etape-carte__titre {
	font-size: 16.5px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--amanar-ink);
}

.amanar-etape-carte .amanar-etape-carte__texte {
	font-size: 14.5px;
	line-height: 1.55;
	color: var(--amanar-ink-soft);
	max-width: 34ch;
}

/* Flèche de lecture, posée dans la gouttière entre deux cartes. */
.amanar-etape-carte .amanar-etape-carte__fleche {
	position: absolute;
	top: 50%;
	right: -24px;
	transform: translateY(-50%);
	color: var(--amanar-line-strong);
	z-index: 1;
}

.amanar-etape-carte .amanar-etape-carte__fleche svg { width: 22px !important; height: 22px !important; }

@media (max-width: 860px) {
	.amanar-etape-carte .amanar-etape-carte__fleche {
		top: auto;
		right: auto;
		bottom: -26px;
		left: 50%;
		transform: translateX(-50%) rotate(90deg);
	}
}

.amanar-etapes-bloc .amanar-etapes-bloc__actions {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	margin: 30px 0 0;
}

/* ==================================================================
 * Aperçu de la FAQ — point 2.6
 * ================================================================== */

.amanar-faq-apercu { font-family: var(--amanar-font); color: var(--amanar-ink); max-width: 720px; }

.amanar-faq-apercu .amanar-faq-apercu__titre {
	margin: 0 0 10px;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.015em;
}

.amanar-faq-apercu .amanar-faq-apercu__texte {
	margin: 0 0 22px;
	font-size: 15.5px;
	line-height: 1.6;
	color: var(--amanar-ink-soft);
}

.amanar-faq-apercu .amanar-faq-apercu__liste { margin: 0; padding: 0; list-style: none; }
.amanar-faq-apercu .amanar-faq-apercu__liste li { margin: 0; border-top: 1px solid var(--amanar-line); }
.amanar-faq-apercu .amanar-faq-apercu__liste li:last-child { border-bottom: 1px solid var(--amanar-line); }

.amanar-faq-apercu .amanar-faq-lien {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 17px 4px;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
	color: var(--amanar-ink);
	text-decoration: none;
	transition: color 0.15s var(--amanar-ease);
}

.amanar-faq-apercu .amanar-faq-lien:hover { color: var(--amanar-accent, var(--amanar-ink)); }
.amanar-faq-apercu .amanar-faq-lien svg { width: 16px !important; height: 16px !important; flex: 0 0 16px; color: var(--amanar-ink-faint); }
.amanar-faq-apercu .amanar-faq-apercu__actions { margin: 24px 0 0; }

/* ==================================================================
 * Questions essentielles sur la page FAQ — points 2.6 et 14
 * ================================================================== */

/* Centré : posé seul dans une section Elementor pleine largeur, le bloc
   se collerait sinon au bord gauche de l'écran. */
.amanar-faq-cles {
	font-family: var(--amanar-font);
	color: var(--amanar-ink);
	max-width: 760px;
	margin-inline: auto;
	padding-inline: 20px;
}

.amanar-faq-cles .amanar-faq-cles__titre {
	margin: 0 0 18px;
	font-size: 22px;
	font-weight: 700;
	letter-spacing: -0.01em;
}

.amanar-faq-cle {
	border-bottom: 1px solid var(--amanar-line);
	scroll-margin-top: 100px;
}

.amanar-faq-cle:first-of-type { border-top: 1px solid var(--amanar-line); }

.amanar-faq-cle .amanar-faq-cle__question {
	display: flex;
	align-items: baseline;
	gap: 12px;
	padding: 18px 2px;
	cursor: pointer;
	list-style: none;
	font-size: 16.5px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--amanar-ink);
}

.amanar-faq-cle .amanar-faq-cle__question::-webkit-details-marker { display: none; }

.amanar-faq-cle .amanar-faq-cle__question::after {
	content: '';
	margin-left: auto;
	width: 8px;
	height: 8px;
	flex: 0 0 auto;
	border-right: 2px solid var(--amanar-ink-soft);
	border-bottom: 2px solid var(--amanar-ink-soft);
	transform: rotate(45deg) translateY(-2px);
	transition: transform 0.2s var(--amanar-ease);
}

.amanar-faq-cle[open] > .amanar-faq-cle__question::after { transform: rotate(-135deg) translateY(-2px); }

.amanar-faq-cle .amanar-faq-cle__reponse {
	padding: 0 2px 20px;
	font-size: 15.5px;
	line-height: 1.65;
	color: var(--amanar-ink-soft);
	max-width: 66ch;
}

.amanar-faq-cle .amanar-faq-cle__reponse p { margin: 0; }

/* Arrivée par une ancre : la question visée s'éclaire brièvement. */
.amanar-faq-cle:target { background: color-mix(in srgb, var(--amanar-accent, #c79d2b) 7%, transparent); }

/* ==================================================================
 * Boutons partagés par les blocs ci-dessus
 * ================================================================== */

.amanar-etapes-bloc .amanar-bouton,
.amanar-faq-apercu .amanar-bouton {
	display: inline-block;
	padding: 14px 26px !important;
	border: 0 !important;
	border-radius: 10px !important;
	background: var(--amanar-accent, var(--amanar-ink)) !important;
	color: #fff !important;
	font-family: var(--amanar-font);
	font-size: 15.5px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none !important;
	text-transform: none;
	letter-spacing: 0;
	transition: filter 0.2s var(--amanar-ease);
}

.amanar-etapes-bloc .amanar-bouton:hover,
.amanar-faq-apercu .amanar-bouton:hover { filter: brightness(1.08); }

.amanar-etapes-bloc .amanar-lien-discret {
	font-size: 13.5px;
	color: var(--amanar-ink-soft);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.amanar-etapes-bloc .amanar-lien-discret:hover { color: var(--amanar-ink); }

/* ==================================================================
 * Catalogue posé sur une bande foncée — point 2.3
 *
 * « Vérifier le contraste des textes. » Les cartes sont dessinées pour un
 * fond clair : sur la bande vert profond de l'accueil, le titre en #222
 * disparaît. On ne redessine pas les cartes — on retourne les quatre
 * variables d'encre, et tout ce qui en dépend suit.
 *
 * Les blancs sont voilés plutôt que purs : du #fff plein sur un aplat
 * sombre vibre à la lecture.
 * ================================================================== */

/*
 * La même bascule d'encre pour n'importe quel bloc posé sur une bande foncée.
 *
 * Elle n'existait que pour le catalogue. L'aperçu de la FAQ, posé sur la photo
 * du désert de l'accueil, sortait ses quatre questions en gris anthracite sur
 * fond sombre : on ne les lisait pas.
 */
.amanar-sombre,
.amanar-catalogue--sombre {
	--amanar-ink: #ffffff;
	--amanar-ink-soft: rgba(255, 255, 255, 0.80);
	--amanar-ink-faint: rgba(255, 255, 255, 0.62);
	--amanar-line: rgba(255, 255, 255, 0.16);
	--amanar-line-strong: rgba(255, 255, 255, 0.28);
	--amanar-surface-alt: rgba(255, 255, 255, 0.08);
}

.amanar-sombre .amanar-carte__titre,
.amanar-catalogue--sombre .amanar-carte__titre,
.amanar-catalogue--sombre .amanar-carte__lien,
.amanar-catalogue--sombre .amanar-carte__prix,
.amanar-catalogue--sombre .amanar-section__titre {
	color: #ffffff !important;
}

.amanar-catalogue--sombre .amanar-carte__accroche { color: rgba(255, 255, 255, 0.88) !important; }

.amanar-catalogue--sombre .amanar-carte__gris,
.amanar-catalogue--sombre .amanar-carte__signal,
.amanar-catalogue--sombre .amanar-section__compteur { color: rgba(255, 255, 255, 0.72) !important; }

/* Les chips reprennent un fond translucide : le gris clair d'origine
   devenait un rectangle blanc sur l'aplat. */
.amanar-catalogue--sombre .amanar-carte__chip {
	background: rgba(255, 255, 255, 0.12) !important;
	color: rgba(255, 255, 255, 0.88) !important;
	border-color: rgba(255, 255, 255, 0.18) !important;
}

/* La pastille garde son fond blanc quelle que soit la bande : son texte doit
   donc rester sombre, sinon il disparaît dans son propre fond. Même chose
   pour le cœur, posé sur la photo. */
.amanar-catalogue--sombre .amanar-carte__pastille {
	color: #222222 !important;
	background: rgba(255, 255, 255, 0.96) !important;
}

/* ==================================================================
 * Foire aux questions
 *
 * Une colonne étroite, des groupes séparés, et rien d'autre. La page
 * précédente empilait un titre animé dont un mot disparaissait, un bandeau
 * photo et quinze questions à plat : on cherchait longtemps.
 * ================================================================== */

.amanar-faq {
	font-family: var(--amanar-font);
	color: var(--amanar-ink);
	max-width: 760px;
	margin: 0 auto;
	padding: 8px 20px 56px;
}

/* ---- Sommaire ---- */

.amanar-faq__sommaire {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 44px;
	padding-bottom: 28px;
	border-bottom: 1px solid var(--amanar-line);
}

.amanar-faq__sommaire a {
	padding: 8px 14px;
	border: 1px solid var(--amanar-line-strong);
	border-radius: 999px;
	font-size: 14px;
	font-weight: 600;
	color: var(--amanar-ink);
	text-decoration: none;
	transition: background 0.15s var(--amanar-ease), border-color 0.15s var(--amanar-ease);
}

.amanar-faq__sommaire a:hover,
.amanar-faq__sommaire a:focus-visible {
	background: var(--amanar-surface-alt);
	border-color: var(--amanar-ink);
}

/* ---- Groupes ---- */

.amanar-faq__groupe {
	margin-bottom: 48px;
	/* L'en-tête collant du thème recouvrirait le titre visé par une ancre. */
	scroll-margin-top: 110px;
}

.amanar-faq__groupe:last-of-type { margin-bottom: 40px; }

.amanar-faq__titre {
	font-size: 22px;
	font-weight: 700;
	letter-spacing: -0.01em;
	margin: 0 0 6px;
}

.amanar-faq__liste {
	border-top: 1px solid var(--amanar-line);
}

/* ---- Une question ---- */

.amanar-faq__item {
	border-bottom: 1px solid var(--amanar-line);
	scroll-margin-top: 110px;
}

.amanar-faq__question {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	padding: 20px 2px;
	cursor: pointer;
	font-size: 16.5px;
	font-weight: 600;
	line-height: 1.45;
	list-style: none;
}

.amanar-faq__question::-webkit-details-marker { display: none; }

.amanar-faq__question:focus-visible {
	outline: 2px solid var(--amanar-ink);
	outline-offset: -2px;
	border-radius: 6px;
}

.amanar-faq__chevron {
	flex: 0 0 auto;
	margin-top: 3px;
	color: var(--amanar-ink-soft);
	transition: transform 0.2s var(--amanar-ease);
}

.amanar-faq__item[open] .amanar-faq__chevron { transform: rotate(180deg); }

.amanar-faq__reponse {
	padding: 0 44px 22px 2px;
}

.amanar-faq__reponse p {
	margin: 0 0 12px;
	font-size: 15.5px;
	line-height: 1.68;
	color: var(--amanar-ink-soft);
}

.amanar-faq__reponse p:last-child { margin-bottom: 0; }

/* ---- Sortie ---- */

.amanar-faq__reste {
	margin-top: 8px;
	padding: 26px 28px;
	border-radius: var(--amanar-radius);
	background: var(--amanar-surface-alt);
	text-align: center;
}

.amanar-faq__reste-titre {
	margin: 0 0 6px;
	font-size: 17px;
	font-weight: 700;
}

.amanar-faq__reste p {
	margin: 0 0 16px;
	font-size: 15px;
	color: var(--amanar-ink-soft);
	line-height: 1.6;
}

.amanar-faq__contact {
	display: inline-block;
	padding: 12px 24px;
	border-radius: 10px;
	background: var(--amanar-ink);
	color: var(--amanar-surface);
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
	transition: filter 0.15s var(--amanar-ease);
}

.amanar-faq__contact:hover,
.amanar-faq__contact:focus-visible { filter: brightness(1.25); }

@media (max-width: 640px) {
	.amanar-faq { padding: 4px 16px 40px; }
	.amanar-faq__sommaire { margin-bottom: 32px; padding-bottom: 20px; }
	.amanar-faq__question { font-size: 15.5px; padding: 17px 2px; }
	.amanar-faq__reponse { padding-right: 30px; }
	.amanar-faq__reste { padding: 22px 18px; }
}

/* ==================================================================
 * « Ce que vous apporte la prestation Amanar »
 *
 * Note Kamie, version figée Surf House 2027. Le bloc vit sur sa propre
 * page et les fiches y renvoient : il doit donc se tenir seul, avec un
 * texte lisible en pleine largeur puis sept points courts en grille pour
 * qui parcourt sans lire.
 * ================================================================== */

/*
 * Le bloc n'appartient à aucun public : il parle des trois.
 *
 * `--amanar-accent` n'est posé que par les classes `.amanar-parcours--*`, donc
 * nulle part ici. Sans cette déclaration, les `var(--amanar-accent, …)` du
 * bouton retombaient sur `currentColor` — et au survol, où l'on passe
 * justement le texte en blanc, `currentColor` valait blanc : fond blanc sur
 * texte blanc, bouton invisible. On pose donc la valeur au lieu d'espérer un
 * héritage, et le moutarde de la charte fait office de repère neutre.
 */
.amanar-prestation {
	--amanar-accent: var(--amanar-parents, #c79d2b);
	max-width: 900px;
	margin: 0 auto;
	padding: 8px 0 24px;
}

.amanar-prestation__titre {
	margin: 0 0 20px;
	font-size: clamp( 26px, 3.4vw, 38px );
	line-height: 1.2;
}

.amanar-prestation__sous-titre {
	margin: 30px 0 14px;
	font-size: clamp( 19px, 2.2vw, 24px );
	line-height: 1.3;
}

.amanar-prestation__texte p {
	margin: 0 0 14px;
	font-size: 16px;
	line-height: 1.7;
}

.amanar-prestation__points {
	display: grid;
	grid-template-columns: repeat( auto-fit, minmax( 250px, 1fr ) );
	gap: 16px;
	margin: 30px 0 0;
	padding: 0;
	list-style: none;
}

.amanar-prestation__point {
	padding: 16px 18px;
	border: 1px solid var(--amanar-trait, rgba( 0, 0, 0, 0.1 ) );
	border-radius: 12px;
	background: var(--amanar-surface-alt, transparent);
}

.amanar-prestation__point-titre {
	display: block;
	margin-bottom: 6px;
	font-weight: 700;
	font-size: 15px;
}

.amanar-prestation__point-texte {
	display: block;
	font-size: 14px;
	line-height: 1.6;
}

/*
 * Focus solidaire, en clôture du bloc.
 *
 * Encadré plutôt que simple paragraphe : il répète volontairement la septième
 * carte, et sans rupture visuelle le lecteur croirait à une maladresse plutôt
 * qu'à une insistance.
 */
.amanar-prestation__solidaire {
	margin: 34px 0 0;
	padding: 22px 24px;
	border-left: 3px solid var(--amanar-accent, currentColor);
	border-radius: 0 12px 12px 0;
	background: var(--amanar-surface-alt, transparent);
}

.amanar-prestation__solidaire .amanar-prestation__sous-titre {
	margin-top: 0;
}

.amanar-prestation__solidaire p:last-child {
	margin-bottom: 0;
}

.amanar-prestation__lien {
	margin: 22px 0 0;
	font-size: 14px;
}

/*
 * Sur Vision et valeurs, le bloc prend la largeur des sections voisines et
 * son titre le style des autres titres de la page (Ogg, majuscules).
 */
.amanar-vision-experience .amanar-prestation {
	max-width: none;
	padding: 0;
}

.amanar-vision-experience .amanar-prestation__titre {
	margin: 0 0 24px;
	font-family: "Ogg", serif;
	font-size: 50px;
	font-weight: 300;
	line-height: 1.2;
	text-transform: uppercase;
}

.amanar-vision-experience .amanar-prestation__texte p {
	text-align: justify;
}

.amanar-vision-experience .amanar-prestation__points {
	grid-template-columns: repeat( 4, minmax( 0, 1fr ) );
}

@media (max-width: 1024px) {
	.amanar-vision-experience .amanar-prestation__points {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}
}

@media (max-width: 767px) {
	.amanar-vision-experience .amanar-prestation__titre {
		font-size: 30px;
		text-align: center;
	}

	.amanar-vision-experience .amanar-prestation__points {
		grid-template-columns: 1fr;
	}
}

/*
 * Le renvoi vers la FAQ porte une question entière, pas deux mots : sur
 * téléphone il tient sur deux ou trois lignes. D'où `inline-block` et une
 * hauteur libre — un bouton à hauteur fixe couperait le texte.
 */
.amanar-prestation__cta {
	display: inline-block;
	padding: 13px 22px;
	border: 1px solid var(--amanar-accent);
	border-radius: 999px;
	color: inherit;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none;
	transition: background-color 0.2s var(--amanar-ease, ease), color 0.2s var(--amanar-ease, ease);
}

/*
 * Encre foncée sur le moutarde, et non blanc : blanc sur #c79d2b ne donne que
 * 2,6 pour 1 de contraste, sous le minimum lisible. Le même texte en
 * #222 monte à 6,4 pour 1.
 */
.amanar-prestation__cta:hover,
.amanar-prestation__cta:focus-visible {
	background: var(--amanar-accent);
	color: var(--amanar-ink, #222222);
}

/*
 * Point 8 : une destination sans séjour ne montre pas de bouton « Nos Séjours ».
 *
 * Le bouton vient du thème et vise #SimilarTypology, ancre portée par notre
 * bloc de séjours liés. Quand ce bloc ne s'affiche pas, le bouton n'a plus de
 * destination : le clic ne faisait rien du tout.
 */
body.amanar-sans-sejour a[href="#SimilarTypology"] {
	display: none;
}

/*
 * Bouton « Découvrir le séjour » des cartes — points 1.4 et 3.3.
 *
 * Le cahier des charges demande un bouton visible sur chaque carte. Il reste
 * discret pour ne pas alourdir la carte : un libellé souligné et une flèche,
 * plutôt qu'un pavé de couleur qui entrerait en concurrence avec le prix.
 */
.amanar-carte__action {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 12px;
	font-size: 14px;
	font-weight: 600;
	color: var(--amanar-ink);
	text-decoration: underline;
	text-underline-offset: 4px;
	transition: gap 0.18s var(--amanar-ease), color 0.18s var(--amanar-ease);
}

.amanar-carte:hover .amanar-carte__action,
.amanar-carte:focus-within .amanar-carte__action {
	gap: 11px;
	color: var(--amanar-accent, var(--amanar-ink));
}

.amanar-catalogue--sombre .amanar-carte__action { color: #ffffff !important; }

/*
 * « Bon à savoir » — point 5.5.
 *
 * La phrase du cahier des charges ouvre l'encadré ; les précisions propres au
 * séjour suivent en liste, une par ligne, au lieu d'un paragraphe compact où
 * elles se confondaient.
 */
.amanar-bon-a-savoir__phrase {
	margin: 0 0 10px;
	font-weight: 600;
}

.amanar-bon-a-savoir__liste {
	margin: 0;
	padding-left: 18px;
}

.amanar-bon-a-savoir__liste li {
	margin-bottom: 6px;
	line-height: 1.55;
}

.amanar-bon-a-savoir__liste li:last-child { margin-bottom: 0; }

/* ==================================================================
 * Destinations — grille par territoire
 *
 * Le point 8 demande de conserver toutes les destinations, même celles
 * où aucun séjour n'est encore programmé : la carte ne promet donc rien
 * d'autre que la découverte du lieu. Coins arrondis et image qui respire
 * au survol, comme les cartes de séjour, pour que la page appartienne au
 * même site.
 * ================================================================== */

.amanar-destinations {
	display: grid;
	grid-template-columns: repeat( auto-fill, minmax( 280px, 1fr ) );
	gap: 26px;
	margin: 0;
	padding: 0;
}

.amanar-destination {
	margin: 0;
}

.amanar-destination__lien {
	display: block;
	overflow: hidden;
	border-radius: 18px;
	background: var(--amanar-surface);
	box-shadow: 0 6px 22px rgba( 0, 0, 0, 0.08 );
	color: inherit;
	text-decoration: none;
	transition: transform 0.22s var(--amanar-ease), box-shadow 0.22s var(--amanar-ease);
}

.amanar-destination__lien:hover,
.amanar-destination__lien:focus-visible {
	transform: translateY( -4px );
	box-shadow: 0 14px 34px rgba( 0, 0, 0, 0.14 );
}

.amanar-destination__media {
	display: block;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	background: var(--amanar-surface-alt);
}

.amanar-destination__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s var(--amanar-ease);
}

.amanar-destination__lien:hover .amanar-destination__image {
	transform: scale( 1.05 );
}

.amanar-destination__corps {
	display: block;
	padding: 18px 20px 20px;
}

.amanar-destination__titre {
	display: block;
	margin-bottom: 7px;
	font-size: 19px;
	font-weight: 700;
	line-height: 1.25;
	color: var(--amanar-ink);
}

.amanar-destination__texte {
	display: block;
	margin-bottom: 12px;
	font-size: 14.5px;
	line-height: 1.6;
	color: var(--amanar-ink-soft);
}

.amanar-destination__action {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 14px;
	font-weight: 600;
	color: var(--amanar-ink);
	transition: gap 0.18s var(--amanar-ease), color 0.18s var(--amanar-ease);
}

.amanar-destination__lien:hover .amanar-destination__action {
	gap: 12px;
	color: var(--amanar-accent, var(--amanar-ink));
}

@media ( max-width: 600px ) {
	.amanar-destinations { grid-template-columns: 1fr; gap: 20px; }
}

/*
 * Hauteur des visuels de destination.
 *
 * Le thème applique « height: auto » à toutes les images : chaque carte
 * prenait la hauteur de sa photo, et la rangée devenait un escalier. On
 * impose le cadrage, avec la spécificité nécessaire pour l'emporter.
 */
.amanar-destinations .amanar-destination .amanar-destination__media {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

.amanar-destinations .amanar-destination .amanar-destination__image {
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover !important;
	display: block;
}

/* Les cartes d'une même rangée se terminent à la même ligne. */
.amanar-destinations { align-items: stretch; }

.amanar-destinations .amanar-destination__lien {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.amanar-destinations .amanar-destination__corps {
	display: flex;
	flex-direction: column;
	flex: 1;
}

.amanar-destinations .amanar-destination__action {
	margin-top: auto;
	padding-top: 6px;
}


/*
 * Aperçu de la FAQ sur fond sombre — point 2.6.
 *
 * Le bloc suit les variables d'encre, mais ses liens et ses filets étaient
 * peints en dur : sur la bande photo de l'accueil, les questions restaient
 * illisibles. On les rattache à la bascule.
 */
.amanar-faq-apercu.amanar-sombre,
.amanar-sombre .amanar-faq-apercu__titre,
.amanar-sombre .amanar-faq-lien {
	color: #ffffff;
}

.amanar-sombre .amanar-faq-apercu__texte {
	color: rgba( 255, 255, 255, 0.86 );
}

.amanar-sombre .amanar-faq-apercu__liste li {
	border-top-color: rgba( 255, 255, 255, 0.22 );
}

.amanar-sombre .amanar-faq-apercu__liste li:last-child {
	border-bottom-color: rgba( 255, 255, 255, 0.22 );
}

.amanar-sombre .amanar-faq-lien:hover,
.amanar-sombre .amanar-faq-lien:focus-visible {
	color: var(--amanar-accent, #ffffff);
}

/*
 * Textes justifiés — pages éditoriales (Infos pratiques).
 *
 * Demandé par Ghislaine : des blocs de texte aux bords nets. La dernière ligne
 * reste centrée : ces paragraphes sont posés sous des titres centrés, et une
 * dernière ligne calée à gauche aurait l'air d'un décalage. La césure évite les
 * grands blancs entre les mots qu'impose la justification sur une colonne
 * étroite ; sur téléphone, où la colonne est la plus étroite, on revient au
 * centrage simple.
 */
.amanar-justifie .elementor-heading-title {
	text-align: justify;
	text-align-last: center;
	hyphens: auto;
	-webkit-hyphens: auto;
}

@media (max-width: 767px) {
	.amanar-justifie .elementor-heading-title {
		text-align: center;
		hyphens: manual;
		-webkit-hyphens: manual;
	}
}

/*
 * Rangée incomplète centrée — Infos pratiques.
 *
 * Chaque partie finit sur une rangée de deux encarts sous une grille de trois.
 * Calés à gauche, ils laissaient un trou à droite. Dans une section Elementor
 * classique, la « marge » d'une colonne s'applique à l'intérieur de la colonne :
 * un décalage en pourcentage y écrase l'encart au lieu de le déplacer. On centre
 * donc le conteneur de la rangée lui-même.
 */
.amanar-rangee-centree > .elementor-container {
	justify-content: center;
}

/*
 * Pages de typologie — blocs « Organisation / Activités » côte à côte.
 *
 * Chaque colonne empile une image, un titre, un texte. Qu'un titre tienne sur
 * deux lignes et l'autre sur une, et tout le texte de la première colonne
 * démarrait plus bas que celui de la seconde. On réserve deux lignes à chaque
 * titre sur les écrans où les colonnes sont côte à côte.
 */
@media (min-width: 768px) {
	.amanar-duo-titres .elementor-widget-heading h4.elementor-heading-title {
		min-height: 2.6em;
	}
}

/*
 * Texte justifié aligné à gauche : pour les paragraphes posés sous des titres
 * alignés à gauche. La dernière ligne suit le début de ligne, pas le centre.
 * Sur téléphone la page est centrée : on revient au centrage.
 */
.amanar-justifie-gauche .elementor-heading-title {
	text-align: justify;
	text-align-last: start;
	hyphens: auto;
	-webkit-hyphens: auto;
}

@media (max-width: 767px) {
	.amanar-justifie-gauche .elementor-heading-title {
		text-align: center;
		text-align-last: auto;
		hyphens: manual;
		-webkit-hyphens: manual;
	}
}

/*
 * Diaporama des cartes : les photos défilent enfin.
 *
 * Le lien du titre s'étire sur toute la carte par un pseudo-élément
 * (z-index 1). Le bloc photo, lui, posait `z-index: 0` sur un élément
 * positionné : il créait son propre contexte d'empilement, et tout ce qu'il
 * contient — bande de photos, flèches — passait sous ce calque, quels que
 * soient leurs z-index internes. Cliquer une flèche, c'était cliquer le lien :
 * on entrait dans la fiche, et le glissement au doigt ne faisait rien.
 *
 * Le bloc photo ne crée plus de contexte ; la bande de photos passe au-dessus
 * du calque, les flèches, la pastille et les points au-dessus d'elle. Le titre,
 * le texte et le bouton de la carte mènent toujours à la fiche.
 */
.amanar-carte .amanar-carte__media {
	z-index: auto;
}

.amanar-carte .amanar-carte__piste {
	position: relative;
	z-index: 2;
}

.amanar-carte .amanar-carte__pastille,
.amanar-carte .amanar-carte__points {
	z-index: 3;
}

.amanar-carte .amanar-carte__fleche {
	z-index: 4;
}

/*
 * Séjours liés (bas des pages de typologie et de destination) :
 * « Voir tous les séjours » en bouton, sur la ligne du titre, à droite.
 * Même contour que les boutons « Informations pratiques » des typologies.
 */
.amanar-lies .amanar-lies__entete {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px 24px;
	margin-bottom: 32px;
}

.amanar-lies .amanar-lies__titre {
	margin: 0;
}

.amanar-lies .amanar-lies__tout {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 26px;
	border: 2px solid var(--amanar-ink, #222222);
	border-radius: 999px;
	background: transparent;
	color: var(--amanar-ink, #222222);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 0.2s var(--amanar-ease, ease), color 0.2s var(--amanar-ease, ease);
}

.amanar-lies .amanar-lies__tout::after {
	content: "→";
}

.amanar-lies .amanar-lies__tout:hover,
.amanar-lies .amanar-lies__tout:focus-visible {
	background: var(--amanar-ink, #222222);
	color: #ffffff;
}

@media (max-width: 767px) {
	.amanar-lies .amanar-lies__entete {
		flex-direction: column;
		text-align: center;
	}
}

/* ==================================================================
 * Politique de confidentialité : colonne de lecture.
 * ================================================================== */

.amanar-confidentialite .elementor-widget-heading + .elementor-widget-text-editor {
	margin-top: -12px;
}

.amanar-confidentialite .elementor-widget-text-editor p:last-child,
.amanar-confidentialite .elementor-widget-text-editor ul:last-child,
.amanar-confidentialite .elementor-widget-text-editor ol:last-child {
	margin-bottom: 0;
}

.amanar-confidentialite .elementor-widget-text-editor p:first-child {
	margin-top: 0;
}

.amanar-confidentialite .elementor-widget-heading {
	scroll-margin-top: 110px;
}

.amanar-confidentialite a {
	color: #b8962e;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.amanar-confidentialite a:hover,
.amanar-confidentialite a:focus-visible {
	color: #1c211e;
}

.amanar-confidentialite ol {
	margin: 10px 0 12px;
	padding-left: 22px;
}

.amanar-confidentialite ol a {
	text-decoration: none;
}

/* ==================================================================
 * Confort de lecture sur téléphone et tablette
 *
 * Trois défauts relevés en mesurant les pages à 390 px et 820 px : des titres
 * collés aux bords, des liens trop bas pour être touchés du pouce, et des
 * mentions sous les 13 px, illisibles sur un écran tenu à bout de bras.
 * ================================================================== */

@media (max-width: 1024px) {
	/* Le bloc « Comment participer » n'avait aucune marge latérale : son titre
	   touchait les deux bords de l'écran. */
	.amanar-etapes-bloc,
	.amanar-faq-apercu,
	.amanar-lies {
		padding-left: 16px;
		padding-right: 16px;
	}

	/* Mentions et étiquettes : 12 px passent mal sur un téléphone. */
	.amanar-carte__chip,
	.amanar-carte__pastille,
	.amanar-facultatif,
	.amanar-budget__maj,
	.amanar-preins__oeil,
	.amanar-depart-unique__etiquette,
	.amanar-envoyer__estime {
		font-size: 13px;
	}
}

@media (max-width: 1024px) {
	/*
	 * Zones tactiles. Une cible de 21 à 24 px de haut se rate une fois sur
	 * deux ; on vise les 40 px recommandés sans changer l'apparence, en
	 * élargissant la zone sensible plutôt que le texte.
	 */
	.amanar-carte__action,
	.amanar-lien-discret,
	.amanar-panneau__liens a,
	.amanar-tarifs-detail__pdf a {
		display: inline-flex;
		align-items: center;
		min-height: 40px;
	}

	/* Accordéons du thème (infos pratiques, FAQ) : le titre seul se touchait mal. */
	.elementor-toggle .elementor-tab-title,
	.elementor-accordion .elementor-tab-title {
		padding-top: 14px;
		padding-bottom: 14px;
	}

	/* La cible tactile est le lien lui-même, pas la ligne qui l'entoure. */
	.elementor-toggle .elementor-toggle-title,
	.elementor-accordion .elementor-accordion-title {
		display: inline-flex;
		align-items: center;
		min-height: 40px;
	}
}

/*
 * Photos des cartes sur téléphone : format paysage.
 *
 * Le cadre presque carré (20/19) vient de la mise en page sur ordinateur, où
 * les cartes sont étroites et côte à côte. Sur un téléphone, la carte occupe
 * toute la largeur : remplir ce cadre avec une photo prise en paysage obligeait
 * le navigateur à en rogner près de 40 % sur les côtés, et à l'agrandir bien
 * au-delà de la définition du fichier — d'où des images floues et amputées.
 *
 * Un cadre en 3/2 correspond au format des photos : rien n'est rogné, la
 * définition suffit, et la carte est plus courte à faire défiler.
 */
@media (max-width: 767px) {
	.amanar-carte__media {
		aspect-ratio: 3 / 2;
	}
}

/* Tablette : deux cartes par ligne, un cadre un peu plus haut que le mobile
   mais qui rogne encore peu. */
@media (min-width: 768px) and (max-width: 1024px) {
	.amanar-carte__media {
		aspect-ratio: 4 / 3;
	}
}

/* ==================================================================
 * Séjour complet
 *
 * Une pastille sombre sur la photo, et un mot dans le panneau de la fiche.
 * Le séjour reste consultable : on le lit, et l'on écrit pour la prochaine
 * date. Rien n'est grisé — un séjour éteint donne l'impression d'un site à
 * l'abandon.
 * ================================================================== */

.amanar-carte__complet {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 3;
	padding: 5px 11px;
	border-radius: 999px;
	background: rgba(28, 33, 30, 0.92);
	color: #ffffff;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.amanar-panneau__complet {
	margin: 0 0 12px;
	padding: 10px 14px;
	border-radius: 10px;
	background: var(--amanar-surface-alt, #f3f1ec);
	color: var(--amanar-ink, #222222);
	font-size: 15px;
	font-weight: 700;
	text-align: center;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.amanar-panneau__cta--sobre {
	background: transparent;
	border: 1px solid var(--amanar-line-strong, #cfcfcf);
	color: var(--amanar-ink, #222222);
}

.amanar-preins__complet {
	text-align: center;
	padding: 8px 0 4px;
}

.amanar-preins__complet .amanar-preins__chapo {
	margin: 0 auto 18px;
	max-width: 48ch;
}

.amanar-envoyer--lien {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	width: auto;
	padding-left: 26px;
	padding-right: 26px;
}

/* ==================================================================
 * Cartes : cadrage des photos et bas de carte aligné
 *
 * Deux défauts visibles sur la grille « Nos séjours » de l'accueil.
 *
 * Le cadre des photos restait en 20/19, presque carré, alors que les
 * photos du site sont en 4/3 ou en 3/2. Le navigateur rognait donc le
 * haut et le bas de chaque image — un toit coupé, un horizon perdu.
 * Le mobile et la tablette avaient déjà été corrigés ; l'ordinateur non.
 * En 4/3, la photo d'origine entre presque entière dans son cadre.
 *
 * Les cartes d'une même rangée se terminaient là où leur texte finissait.
 * Un séjour complet, sans mention sous le prix, s'arrêtait bien plus haut
 * que son voisin : le fond vert de la page apparaissait en bandeau sous
 * la carte. Les cartes prennent maintenant toute la hauteur de leur
 * rangée, et « Découvrir le séjour » se pose en bas, à la même ligne
 * pour toutes.
 * ================================================================== */

@media (min-width: 1025px) {
	.amanar-carte__media { aspect-ratio: 4 / 3; }
}

.amanar-carte {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.amanar-carte__media { flex: 0 0 auto; }

.amanar-carte__corps { flex: 1 1 auto; }

.amanar-carte__action {
	margin-top: auto;
	padding-top: 12px;
}
