/**
 * Bon cadeau — habillage de la page du bénéficiaire.
 *
 * Elle emprunte les jetons du tunnel (chargé avant elle) : même fond, même
 * rouge, même typographie. Mais la composition est volontairement plus
 * étroite et plus calme — ici on ne vend rien, on pose une date.
 */

/*
 * Le fond de la page appartient à Elementor, pas au plugin.
 *
 * `.gm-tunnel` pose un gris très pâle derrière le tunnel de réservation, où il
 * sert de fond de page. Ici la section porte déjà une photo : ce gris s'y
 * dessinait en rectangle, à l'intérieur de l'image, et donnait l'impression
 * d'un bloc mal intégré. On le retire, le halo d'accent avec — sur une photo,
 * il n'éclaire rien et grise le sujet.
 */
/*
 * Les deux classes plutôt qu'une : `.gm-tunnel` et `.gm-gift` sont portées par
 * le même élément et pèsent autant l'une que l'autre. L'ordre de chargement
 * tranchait, et il suffit d'un plugin de cache qui regroupe les feuilles pour
 * l'inverser. Un sélecteur plus précis ne dépend plus de personne.
 */
.gm-tunnel.gm-gift {
	padding-block: 32px;
	background: transparent;
	background-image: none;
}

.gm-tunnel.gm-gift::before,
.gm-tunnel.gm-gift::after {
	display: none;
	content: none;
}

.gm-gift__panel {
	max-width: 560px;
	margin-inline: auto;
	padding: 32px;
	/* Le panneau devient opaque : posé sur une photo, un voile translucide
	   laissait le texte se battre avec le sujet. */
	background: var(--gm-surface);
	border: 1px solid var(--gm-border);
	border-radius: 20px;
	box-shadow: var(--gm-shadow);
}

/*
 * L'écran du code respire plus large que les autres.
 *
 * « Vous avez un code de réservation ? » se brisait après « RÉSERVATION »,
 * laissant le point d'interrogation seul sur sa ligne. Le panneau à 560 px
 * convient aux écrans qui suivent, dont les titres sont courts ; celui-ci
 * porte la seule phrase longue du parcours.
 *
 * Aucune requête de média : sous 680 px, c'est la fenêtre qui commande, et
 * `margin-inline: auto` continue de centrer le panneau.
 */
.gm-gift__panel--code {
	max-width: 680px;
}

/* Et le titre lui-même cesse de grandir un peu plus tôt, pour que la ligne
   tienne aussi quand la police de secours est plus large qu'Anton. */
.gm-gift__panel--code .gm-h2 {
	font-size: clamp(1.625rem, 4vw, 2.0625rem);
	text-wrap: balance;
}

.gm-gift .gm-h2 {
	margin: 8px 0 6px;
	font-family: var(--gm-font-display, "Anton"), "Arial Narrow", sans-serif;
	font-weight: 400;
	font-size: clamp(1.75rem, 5vw, 2.25rem);
	line-height: 1.05;
	text-transform: uppercase;
	color: var(--gm-chalk);
}

.gm-gift__lede {
	margin: 0 0 20px;
	font-size: 0.9375rem;
	color: var(--gm-smoke);
}

/* --------------------------------------------------------------- Saisie */

.gm-gift .gm-field {
	display: block;
	margin-bottom: 16px;
}

.gm-gift .gm-field > span {
	display: block;
	margin-bottom: 6px;
	font-size: 0.625rem;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--gm-smoke);
}

.gm-gift .gm-input {
	width: 100%;
	height: 48px;
	padding: 0 14px;
	border: 1px solid var(--gm-border-strong);
	border-radius: 12px;
	background: var(--gm-veil-strong);
	font: inherit;
	color: var(--gm-chalk);
}

.gm-gift .gm-input:focus {
	outline: none;
	border-color: var(--gm-racing);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--gm-racing) 14%, transparent);
}

/* Le code se lit caractère par caractère : une chasse fixe et de l'air entre
   les lettres évitent de confondre 0 et O au moment de la recopie. */
.gm-gift__code {
	font-family: ui-monospace, "SFMono-Regular", "Menlo", monospace;
	font-size: 1.125rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.gm-gift__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}

/* ---------------------------------------------------------- Jours et heures */

.gm-gift__days {
	display: grid;
	gap: 8px;
	max-height: 320px;
	margin-bottom: 24px;
	overflow-y: auto;
}

.gm-gift__day {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 16px;
	border: 1px solid var(--gm-border-strong);
	border-radius: 12px;
	background: var(--gm-veil-strong);
	font: inherit;
	color: var(--gm-chalk);
	text-align: left;
	cursor: pointer;
	transition: border-color 0.2s, background-color 0.2s;
}

.gm-gift__day-name {
	font-weight: 600;
	text-transform: capitalize;
}

.gm-gift__day small,
.gm-gift__slot small {
	font-size: 0.75rem;
	color: var(--gm-smoke);
}

.gm-gift__day:hover,
.gm-gift__slot:hover {
	border-color: var(--gm-racing);
	background: var(--gm-veil-strong);
	color: var(--gm-chalk);
}

.gm-gift__day.is-on,
.gm-gift__slot.is-on {
	border-color: var(--gm-racing);
	background: color-mix(in srgb, var(--gm-racing) 8%, #fff);
}

.gm-gift__slots {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 8px;
	margin-bottom: 24px;
}

.gm-gift__slot {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 14px 16px;
	border: 1px solid var(--gm-border-strong);
	border-radius: 12px;
	background: var(--gm-veil-strong);
	font: inherit;
	font-weight: 600;
	color: var(--gm-chalk);
	cursor: pointer;
	transition: border-color 0.2s, background-color 0.2s;
}

/* ------------------------------------------------------------- Confirmation */

.gm-gift__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 16px 24px;
	border: 0;
	border-radius: 12px;
	background: var(--gm-racing);
	color: #fff;
	font-size: 0.9375rem;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.2s;
}

.gm-gift__submit:hover:not(:disabled) {
	background: var(--gm-racing-strong);
	color: #fff;
}

.gm-gift__submit:disabled {
	opacity: 0.4;
	cursor: not-allowed;
}

.gm-gift__error {
	margin: 0 0 16px;
	padding: 12px 14px;
	border-radius: 10px;
	background: color-mix(in srgb, var(--gm-racing) 8%, #fff);
	font-size: 0.875rem;
	color: var(--gm-racing);
}

.gm-gift__aside {
	margin: 16px 0 0;
	font-size: 0.8125rem;
	color: var(--gm-smoke);
}

.gm-gift__aside a {
	color: var(--gm-racing);
}

/* --------------------------------------------------------------------------
   L'aperçu — ce qu'on vous offre, avant d'activer.

   Cet écran existe pour une raison : activer d'abord et découvrir ensuite
   transforme un cadeau en formalité administrative. On montre le stage, la
   dédicace s'il y en a une, puis on propose d'activer.
   -------------------------------------------------------------------------- */

.gm-gift__message {
	margin: 16px 0;
	padding: 14px 18px;
	border-left: 3px solid var(--gm-racing);
	border-radius: 0 10px 10px 0;
	background: color-mix(in srgb, var(--gm-racing) 5%, #fff);
	font-style: italic;
	color: var(--gm-chalk);
}

.gm-gift__included {
	margin: 20px 0 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 10px;
}

.gm-gift__included-item {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 14px 16px;
	border: 1px solid var(--gm-border);
	border-radius: 12px;
	background: var(--gm-surface);
}

.gm-gift__included-name {
	font-weight: 600;
}

/* Les extras offerts : une ligne sobre sous les stages, pas une carte de plus. */
.gm-gift__extras {
	margin-top: 12px;
	padding: 12px 16px;
	border-radius: 12px;
	background: var(--gm-surface-alt, #eef1f7);
}

.gm-gift__extras-title {
	margin: 0 0 6px;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--gm-smoke);
}

.gm-gift__extras-list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 6px 14px;
	font-size: 0.9375rem;
	font-weight: 600;
}

.gm-gift__extras-list li::before {
	content: "+ ";
	color: var(--gm-racing);
}

/* Le choix du véhicule reste ouvert sur les packs : c'est le cadeau. */
.gm-gift__included-note {
	font-size: 0.8125rem;
	color: var(--gm-racing);
}

.gm-gift__back {
	display: block;
	width: 100%;
	margin-top: 10px;
	padding: 10px;
	border: 0;
	background: none;
	font: inherit;
	font-size: 0.8125rem;
	color: var(--gm-smoke);
	text-decoration: underline;
	cursor: pointer;
}

.gm-gift__back:hover {
	color: var(--gm-chalk);
}

/* --------------------------------------------------------------------------
   Qui prend le volant.

   Un encadré clair au-dessus du calendrier : ces champs se remplissent une
   fois, la date se choisit ensuite. Les séparer évite qu'on croie devoir
   tout ressaisir à chaque changement de journée.
   -------------------------------------------------------------------------- */

.gm-gift__pilot {
	margin: 0 0 28px;
	padding: 20px;
	border: 1px solid var(--gm-border);
	border-radius: 14px;
	background: var(--gm-surface-alt);
}

.gm-gift__pilot .gm-h3 {
	margin: 0 0 4px;
	font-family: var(--gm-font-display, "Anton"), "Arial Narrow", sans-serif;
	font-size: 1.125rem;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.gm-gift__pilot .gm-gift__lede {
	margin-bottom: 16px;
	font-size: 0.8125rem;
}

.gm-gift__pilot .gm-field {
	margin-bottom: 14px;
}

/* L'adresse d'un client connecté identifie son compte : elle se lit, elle ne
   se modifie pas ici. */
.gm-gift .gm-input:disabled {
	background: color-mix(in srgb, var(--gm-chalk) 4%, #fff);
	color: var(--gm-smoke);
	cursor: not-allowed;
}

/* La date obtenue : le seul chiffre que le bénéficiaire retient. */
.gm-gift__when {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 12px;
	margin: 16px 0 20px;
}

.gm-gift__when strong {
	font-size: 1.375rem;
	text-transform: capitalize;
}

.gm-gift__when span {
	padding: 4px 12px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--gm-racing) 10%, #fff);
	font-weight: 600;
	color: var(--gm-racing);
}

@media (max-width: 600px) {
	.gm-gift__panel { padding: 24px 20px; }
	.gm-gift__row { grid-template-columns: 1fr; }
}


/* ======================================================= Offrir un stage == */
/*
 * Les offres viennent apres le formulaire, jamais avant : celui qui tient un
 * bon doit pouvoir le saisir sans rien traverser. Celui qui vient offrir, lui,
 * fait defiler — il n'est pas presse.
 */

.gm-gift__offers {
	max-width: 960px;
	margin: 44px auto 0;
	padding-top: 36px;
	border-top: 1px solid var(--gm-border);
}

/* Seule sur sa page, la vitrine n'a rien au-dessus d'elle a separer. */
.gm-gift__offers.is-alone {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}

.gm-gift--shop { padding-block: 24px; }

.gm-gift__offers-title {
	margin: 0 0 6px;
	font-family: var(--gm-font-display, "Anton"), "Arial Narrow", sans-serif;
	font-weight: 400;
	font-size: clamp(1.5rem, 4vw, 2rem);
	line-height: 1.05;
	text-transform: uppercase;
	color: var(--gm-chalk);
}

.gm-gift__offers-sub {
	margin: 0 0 24px;
	font-size: 0.9375rem;
	color: var(--gm-smoke);
}

.gm-gift__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
	gap: 16px;
}

.gm-giftcard {
	display: flex;
	flex-direction: column;
	padding: 14px 14px 16px;
	border: 1px solid var(--gm-border);
	border-radius: 18px;
	background: var(--gm-veil-strong);
	color: var(--gm-chalk);
	text-decoration: none;
	transition: border-color 0.2s, transform 0.2s, box-shadow 0.2s;
}

.gm-giftcard:hover {
	border-color: var(--gm-racing);
	transform: translateY(-2px);
	box-shadow: var(--gm-shadow);
	color: var(--gm-chalk);
}

.gm-giftcard__visual {
	display: block;
	margin-bottom: 12px;
	border-radius: 12px;
	overflow: hidden;
	background: var(--gm-surface-alt);
}

.gm-giftcard__visual img {
	display: block;
	width: 100%;
	aspect-ratio: 5 / 3;
	object-fit: contain;
}

.gm-giftcard__body { flex: 1; }

.gm-giftcard__name {
	display: block;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.25;
}

.gm-giftcard__price {
	display: block;
	margin-top: 8px;
	font-size: 1.125rem;
	font-weight: 700;
	color: var(--gm-racing);
}

.gm-giftcard__price small {
	font-size: 0.75rem;
	font-weight: 400;
	color: var(--gm-smoke);
}

/* L'action se lit comme un lien, pas comme un bouton : la carte entiere est
   cliquable, un second bouton laisserait croire a deux gestes differents. */
.gm-giftcard__go {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 14px;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--gm-racing);
}

.gm-giftcard__go::after { content: "92"; }

/* ------------------------------------------------------- Le haut de page */

/* Le panneau du code respire davantage : c'est le seul geste attendu ici. */
.gm-gift__panel { box-shadow: var(--gm-shadow); }

.gm-gift .gm-eyebrow {
	margin: 0;
	font-size: 0.625rem;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--gm-smoke);
}

@media (max-width: 600px) {
	.gm-gift__offers { margin-top: 32px; padding-top: 28px; }
	.gm-gift__grid { grid-template-columns: 1fr; }
}


/* Le rappel d'activation, sur la vitrine : celui qui tient deja un bon arrive
   souvent ici, parce que « bons cadeaux » est ce qu'il lit dans le menu. */
.gm-gift__already {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	max-width: 960px;
	margin: 0 auto 28px;
	padding: 16px 20px;
	border: 1px solid var(--gm-border-strong);
	border-radius: 14px;
	background: var(--gm-veil-strong);
	color: var(--gm-chalk);
	text-decoration: none;
	transition: border-color 0.2s, background-color 0.2s;
}

.gm-gift__already:hover {
	border-color: var(--gm-racing);
	color: var(--gm-chalk);
}

.gm-gift__already-title { font-size: 0.9375rem; font-weight: 600; }

.gm-gift__already-go {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--gm-racing);
	white-space: nowrap;
}

.gm-gift__already-go::after { content: "92"; }

@media (max-width: 520px) {
	.gm-gift__already { flex-direction: column; align-items: flex-start; gap: 8px; }
}

/* Le choix du véhicule, à l'activation du bon. */
.gm-gift__cars {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
}

.gm-gift__car {
	padding: 14px 16px;
	font: inherit;
	font-weight: 600;
	color: var(--gm-chalk);
	text-align: center;
	background: var(--gm-surface);
	border: 1px solid var(--gm-border-strong);
	cursor: pointer;
	transition: border-color 0.2s, background-color 0.2s;
}

.gm-gift__car:hover {
	border-color: var(--gm-racing);
}

.gm-gift__car.is-on {
	border-color: var(--gm-racing);
	background: color-mix(in srgb, var(--gm-racing) 8%, var(--gm-surface));
}

/* Le second stage d'un pack peut attendre. */
.gm-gift__later {
	margin-top: 22px;
	padding-top: 18px;
	border-top: 1px solid var(--gm-border);
	text-align: center;
}

.gm-gift__later .gm-gift__submit {
	margin-top: 10px;
}

/* Boutons du plugin : jamais soulignés, quel que soit le thème (1.2.27).
   Le kit Elementor souligne tous les liens, plus fort que nos classes. */
:is(a, button):is([class^="gm"], [class*=" gm"]):is([class*="btn"], [class*="cta"], [class*="button"]),
:is(a, button):is([class^="gm"], [class*=" gm"]):is([class*="btn"], [class*="cta"], [class*="button"]):is(:hover, :focus, :active, :visited),
:is(a, button):is([class^="gm"], [class*=" gm"]):is([class*="btn"], [class*="cta"], [class*="button"]) * {
	text-decoration: none !important;
}

/* =================================================================
 * Activation d'un code (1.2.35) : l'aperçu du bon en carte — photo et
 * signature à gauche (photo réglable dans Gestion), contenu à droite.
 * ================================================================= */

.gm-act {
	--act-red: #e11d48;
	--act-red-soft: #fdecef;
	--act-ink: #0d1220;
	--act-smoke: #5b6474;
	--act-line: rgba(13, 18, 32, 0.1);
	display: grid;
	grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
	max-width: 1000px;
	margin: 0 auto;
	overflow: hidden;
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 30px 70px -30px rgba(13, 18, 32, 0.45);
	font-family: inherit;
	color: var(--act-ink);
}

/* --- La photo et la signature ---------------------------------------- */
.gm-act__visual {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 560px;
	padding: 34px 30px;
	background:
		var(--gm-act-photo, none) center / cover no-repeat,
		#0b1016;
	color: #fff;
}
/* La photo s'efface vers le contenu, comme sur la maquette. */
.gm-act__visual::after {
	content: "";
	position: absolute;
	inset: 0 -1px 0 auto;
	width: 16%;
	background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #fff 100%);
	pointer-events: none;
}
.gm-act__logo { position: relative; z-index: 1; display: block; width: 168px; height: auto; margin: 0 auto; }
.gm-act__sign {
	position: relative;
	z-index: 1;
	margin: 0;
	font: 600 2.1rem/1 "Caveat", cursive;
	transform: rotate(-6deg);
	transform-origin: left bottom;
}

/* --- Le contenu -------------------------------------------------------- */
.gm-act__main { position: relative; padding: 34px 34px 28px 18px; }

.gm-act__close {
	position: absolute;
	top: 18px;
	right: 18px;
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #f1f3f7;
	color: var(--act-ink);
	cursor: pointer;
}
.gm-act__close:hover { background: #e5e8ee; }
.gm-act__close .gm-act__ico svg { width: 18px; height: 18px; }

.gm-act__eyebrow {
	margin: 0 0 4px;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: var(--act-red);
}
.gm-act__title {
	margin: 4px 52px 22px 0;
	font: 400 clamp(2.6rem, 5vw, 3.6rem)/0.95 "Anton", "Arial Narrow", sans-serif;
	font-style: italic;
	text-transform: uppercase;
	color: var(--act-ink);
}
.gm-act__title span { color: var(--act-red); }
.gm-act__lede { margin: -12px 0 16px; color: var(--act-smoke); }

/* Les stages : une carte à cocher chacun. */
.gm-act__stages { display: grid; gap: 12px; }
.gm-act__stage {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 12px 18px 12px 12px;
	border: 1px solid var(--act-line);
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 8px 20px -18px rgba(13, 18, 32, 0.5);
}
.gm-act__thumb {
	flex: none;
	width: 96px;
	height: 64px;
	border-radius: 10px;
	background: #e9edf3 center / cover no-repeat;
}
.gm-act__stagetxt { flex: 1; min-width: 0; }
.gm-act__stagetxt b { display: block; font-size: 1.0625rem; font-weight: 700; }
.gm-act__variants { display: block; margin-top: 6px; font-size: 0.8125rem; line-height: 1.4; color: var(--act-ink); }
.gm-act__variants span { display: block; }
.gm-act__variants em { display: block; font-style: normal; color: var(--act-red); }
/* Inclus avec votre stage. */
.gm-act__extras {
	margin-top: 18px;
	padding: 16px 18px;
	border-radius: 14px;
	background: #f1f4f9;
}
.gm-act__extrastitle {
	margin: 0 0 12px;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #3b4352;
}
.gm-act__extras ul {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
	gap: 12px 0;
	margin: 0;
	padding: 0;
	list-style: none;
}
.gm-act__extras li { display: flex; align-items: center; gap: 12px; padding: 0 14px; }
.gm-act__extras li + li { border-left: 1px solid rgba(13, 18, 32, 0.1); }
.gm-act__extras li:first-child { padding-left: 0; }
.gm-act__extras li > .gm-act__ico {
	display: grid;
	place-items: center;
	flex: none;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--act-red-soft);
	color: var(--act-red);
}
.gm-act__extras li > .gm-act__ico svg { width: 22px; height: 22px; }
.gm-act__extras b { display: block; font-size: 0.875rem; font-weight: 700; }
.gm-act__extras em { display: block; margin-top: 2px; font-size: 0.75rem; font-style: normal; line-height: 1.35; color: var(--act-smoke); }

.gm-act__expire {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 18px 0 18px 4px;
	font-size: 0.875rem;
	color: #3b4352;
}
.gm-act__expire .gm-act__ico svg { display: block; width: 20px; height: 20px; color: var(--act-ink); }

/* Les boutons. */
.gm-act__go,
.gm-act__back {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	width: 100%;
	border-radius: 999px;
	font: inherit;
	cursor: pointer;
	text-decoration: none !important;
}
.gm-gift .gm-act__go,
.gm-act__go {
	padding: 17px 24px;
	border: 0;
	background: linear-gradient(180deg, #ef2b55 0%, var(--act-red) 100%);
	color: #fff !important;
	font-size: 0.9375rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	box-shadow: 0 14px 28px -14px rgba(225, 29, 72, 0.95);
}
.gm-act__go:hover { background: #be123c; }
.gm-act__go:disabled { opacity: 0.6; cursor: wait; }
.gm-act__go .gm-act__ico svg { display: block; width: 20px; height: 20px; }
.gm-act__back {
	margin-top: 12px;
	padding: 14px 24px;
	border: 1px solid rgba(13, 18, 32, 0.16);
	background: #fff;
	color: var(--act-ink);
	font-size: 0.9375rem;
	font-weight: 500;
}
.gm-act__back:hover { border-color: var(--act-ink); }

/* --- Téléphone : la photo devient un bandeau ------------------------ */
@media (max-width: 760px) {
	.gm-act { grid-template-columns: 1fr; border-radius: 18px; }
	.gm-act__visual { min-height: 200px; padding: 22px; }
	.gm-act__visual::after { inset: auto 0 -1px 0; width: auto; height: 40%; background: linear-gradient(180deg, rgba(255, 255, 255, 0), #fff); }
	.gm-act__logo { width: 130px; margin: 0; }
	.gm-act__sign { font-size: 1.6rem; color: #fff; text-shadow: 0 2px 10px rgba(0, 0, 0, 0.4); }
	.gm-act__main { padding: 8px 18px 22px; }
	.gm-act__close { top: -186px; right: 14px; background: rgba(255, 255, 255, 0.9); }
	.gm-act__thumb { width: 78px; height: 54px; }
	.gm-act__extras ul { grid-template-columns: 1fr; }
	.gm-act { width: 100%; min-width: 0; }
	.gm-act__extras li + li { border-left: 0; }
	.gm-act__extras li { padding: 0; }
}

/* Les stages sans vignette (1.2.43) : la carte respire un peu plus. */
.gm-act__stage { padding: 16px 18px; }
