/*
 * Feuille de style custom — Rendez-vous Contes
 *
 * Réservé aux surcharges CSS qui ne peuvent pas être gérées dans l'UI Bricks :
 * emails transactionnels, éléments hors builder, cas limites.
 *
 * La palette et la typographie sont définies dans Bricks Builder (Global Settings).
 * Ne pas dupliquer les variables ici sauf nécessité explicite.
 */

/* ────────────────────────────────────────────────────────────────────────
 * Classes fonctionnelles du pont Bricks — NE JAMAIS RENOMMER NI RETIRER
 *
 * .rdvc-agenda (sur l'élément à boucle) et .rdvc-evenement (sur l'item de
 * boucle) ne sont pas des accroches de style : elles sont posées dans l'UI
 * Bricks (contrôle « CSS classes ») et lues par Rdvc_Bricks
 * (plugins/rdvc-plugin/includes/bricks/class-rdvc-bricks.php). Les retirer
 * en croyant « nettoyer » ne change rien à l'écran mais débranche
 * silencieusement le tri/filtrage de la requête (.rdvc-agenda) ou la classe
 * d'état (.rdvc-evenement). Voir CLAUDE.md § Pont Bricks. La couleur d'accent
 * du type ne passe plus par une classe : voir la balise dynamique
 * {rdvc_couleur} (Rdvc_Bricks), à brancher dans l'UI Bricks. Ne jamais se
 * servir de .rdvc-agenda/.rdvc-evenement comme sélecteur de style principal :
 * préférer une classe dédiée posée à côté (c'est le rôle des classes
 * ci-dessous, purement décoratives, posées automatiquement par le pont).
 * ──────────────────────────────────────────────────────────────────────── */

/* ── États d'inscription (classe rdvc-etat-* posée par Rdvc_Bricks::classe_etat()) ──
 * non-eligible, complet, passe : retrait visuel léger — l'événement reste
 * lisible mais se signale comme secondaire. ouverte et les autres états
 * (avant-ouverture, fermee, deja-inscrit, sans-inscription) restent en
 * pleine lisibilité par défaut, faute de règle demandée explicitement pour
 * eux — à ajuster en recette si un autre traitement est préféré.
 */
.rdvc-etat-non-eligible,
.rdvc-etat-complet,
.rdvc-etat-passe {
	opacity: 0.65;
	border-color: var(--mid);
}

.rdvc-etat-ouverte,
.rdvc-etat-avant-ouverture,
.rdvc-etat-fermee,
.rdvc-etat-deja-inscrit,
.rdvc-etat-sans-inscription {
	opacity: 1;
}

/* ── Motif de non-éligibilité ({rdvc_motif_non_eligible} et [rdvc_zone_inscription]) ──
 * Deux usages : à poser MANUELLEMENT par Jean dans le builder sur l'élément
 * texte qui affiche la balise {rdvc_motif_non_eligible} (agenda) — elle n'est
 * lue par aucun PHP dans ce cas, sans elle le motif s'affiche quand même,
 * simplement sans cette mise en forme discrète. Le shortcode
 * [rdvc_zone_inscription] (fiche événement) pose lui-même cette classe sur sa
 * note de motif, automatiquement.
 */
.rdvc-motif {
	font-size: var(--text-xs);
	font-style: italic;
	color: var(--mid);
}

/* ── Zone d'inscription [rdvc_zone_inscription] (fiche événement) ── */
.rdvc-zone-inscription__cta {
	display: inline-block;
	padding: 0.6rem var(--space-s);
	border-radius: 4px;
	text-decoration: none;
	font-weight: 600;
}

.rdvc-zone-inscription__cta--actif {
	background-color: var(--turquoise);
	color: var(--bg);
}

.rdvc-zone-inscription__cta--inactif {
	background-color: transparent;
	color: var(--mid);
	border: 1px solid var(--mid);
	cursor: default;
}

.rdvc-zone-inscription__places {
	color: var(--mid);
	font-size: var(--text-xs);
}

.rdvc-zone-inscription__complet {
	color: var(--orange);
	font-weight: 600;
}

/* ── Autres dates de la série [rdvc_autres_dates] (fiche événement) ── */
.rdvc-autres-dates {
	list-style: none;
	margin: 0;
	padding: 0;
}

.rdvc-autres-dates li {
	margin-bottom: 0.4rem;
}

.rdvc-autres-dates a:focus-visible {
	outline: 2px solid var(--turquoise);
	outline-offset: 2px;
}

/* ── Tarifs ({rdvc_tarifs}, fiche événement) ──
 * En <dl>, pas en tableau : un libellé fusionné (« Membre actif·ve et
 * personnes en formation de base ») peut devenir long, et une ligne en
 * flexbox se replie proprement sur mobile là où un tableau à deux colonnes
 * strictes se serre ou déborde.
 */
.rdvc-tarifs__lignes {
	margin: 0;
}

.rdvc-tarifs__ligne {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: baseline;
	gap: var(--space-2xs);
	padding: 0.4rem 0;
	border-bottom: 1px solid var(--mid);
}

.rdvc-tarifs__statut,
.rdvc-tarifs__montant {
	margin: 0;
}

.rdvc-tarifs__montant {
	font-weight: 600;
	white-space: nowrap;
}

.rdvc-tarifs__ligne--mon-tarif {
	border-color: var(--turquoise);
}

.rdvc-tarifs__ligne--mon-tarif .rdvc-tarifs__statut,
.rdvc-tarifs__ligne--mon-tarif .rdvc-tarifs__montant {
	font-weight: 700;
}

.rdvc-tarifs__mention {
	font-size: var(--text-2xs);
	font-weight: 600;
	color: var(--turquoise);
	white-space: nowrap;
}

.rdvc-tarifs__precisions {
	margin-top: var(--space-2xs);
	font-size: var(--text-xs);
	font-style: italic;
	color: var(--mid);
}

/* ── Formulaire d'inscription (Rdvc_Inscription_Front, fiche événement) ──
 * Rendu dans [rdvc_zone_inscription] via le point d'accroche
 * rdvc_avant_inscription. Le bouton emprunte sa forme au Theme Style Bricks
 * (classe bricks-button), il n'est pas restylé ici.
 */
.rdvc-inscription {
	/* Contient le champ leurre, positionné en absolu. */
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--space-2xs);
	margin-bottom: var(--space-xs);
}

.rdvc-inscription__tarif {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: var(--space-2xs);
	margin: 0;
}

.rdvc-inscription__tarif-libelle {
	color: var(--mid);
	font-size: var(--text-xs);
}

.rdvc-inscription__tarif-montant {
	font-weight: 700;
	white-space: nowrap;
}

.rdvc-inscription__paiement {
	margin: 0;
	font-size: var(--text-xs);
	color: var(--mid);
}

.rdvc-inscription__attente {
	margin: 0;
	color: var(--orange);
	font-weight: 600;
}

/* Déjà inscrit·e : état + renvoi vers l'espace membre, où l'annulation vit. */
.rdvc-inscription__etat {
	margin: 0 0 var(--space-2xs);
	font-weight: 600;
}

.rdvc-inscription__etat--attente {
	color: var(--orange);
}

.rdvc-inscription__lien {
	margin: 0 0 var(--space-xs);
	font-size: var(--text-xs);
}

/* Message de la soumission précédente (schéma POST-redirect-GET). */
.rdvc-inscription__message {
	margin-bottom: var(--space-xs);
	padding: var(--space-2xs) var(--space-xs);
	border-left: 3px solid var(--turquoise);
	background-color: var(--bg);
}

.rdvc-inscription__message--erreur {
	border-left-color: var(--orange);
}

/* ── Formulaire invité·e (chantier 4b, lot 4) ──
 * Personne sans compte : nom, adresse, déclaration de statut. Aucun tarif ici,
 * le tableau des tarifs est plus haut sur la fiche.
 */
.rdvc-inscription--invite {
	align-items: stretch;
	width: 100%;
	max-width: 34rem;
	gap: var(--space-xs);
}

.rdvc-inscription__champ {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	margin: 0;
}

.rdvc-inscription__champ label {
	font-size: var(--text-xs);
	color: var(--mid);
}

.rdvc-inscription__champ input {
	width: 100%;
	padding: var(--space-2xs);
	border: 1px solid var(--mid);
	border-radius: 4px;
	background-color: var(--bg);
	font-family: inherit;
	font-size: var(--text-s);
	color: var(--dark);
}

.rdvc-inscription__champ input:focus-visible {
	outline: 2px solid var(--turquoise);
	outline-offset: 2px;
}

/* Déclaration de statut : une question factuelle, pas un menu de prix. */
.rdvc-inscription__declaration {
	margin: 0;
	padding: var(--space-2xs) var(--space-xs);
	border: 1px solid var(--mid);
	border-radius: 4px;
}

.rdvc-inscription__declaration legend {
	padding: 0 0.4rem;
	font-size: var(--text-xs);
	color: var(--mid);
}

.rdvc-inscription__choix {
	display: inline-flex;
	align-items: baseline;
	gap: 0.4rem;
	margin-right: var(--space-s);
}

.rdvc-inscription__donnees {
	margin: 0;
	font-size: var(--text-2xs);
	color: var(--mid);
}

.rdvc-inscription__reserve {
	margin: 0 0 var(--space-2xs);
	font-weight: 600;
}

/* Chemin vers l'adhésion, sobre : ce que le statut apporte, pas une accroche. */
.rdvc-inscription__adhesion {
	margin: 0;
	font-size: var(--text-xs);
	color: var(--mid);
}

.rdvc-inscription__connexion {
	margin: 0 0 var(--space-xs);
	font-size: var(--text-xs);
}

/* Leurre anti-robot : hors écran, JAMAIS display:none — un robot ignore plus
 * facilement ce qui est déclaré invisible que ce qui est simplement déplacé.
 * aria-hidden + tabindex="-1" sont posés dans le HTML : personne d'humain ne
 * rencontre ce champ.
 */
.rdvc-inscription__leurre {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

/* ── Barre de filtres [rdvc_filtres_agenda] ── */
.rdvc-filtres-agenda fieldset {
	border: 1px solid var(--mid);
	border-radius: 4px;
	padding: var(--space-xs);
}

.rdvc-filtres-agenda legend {
	font-weight: 600;
	padding: 0 0.5rem;
}

.rdvc-filtres-agenda__champ {
	display: inline-flex;
	flex-direction: column;
	margin-right: var(--space-xs);
}

.rdvc-filtres-agenda__champ--case {
	flex-direction: row;
	align-items: center;
	gap: 0.4rem;
}

.rdvc-filtres-agenda select:focus-visible,
.rdvc-filtres-agenda button:focus-visible,
.rdvc-filtres-agenda input:focus-visible,
.rdvc-filtres-agenda a:focus-visible {
	outline: 2px solid var(--turquoise);
	outline-offset: 2px;
}

/* ── État vide [rdvc_etat_vide_agenda] ── */
.rdvc-etat-vide-agenda {
	color: var(--mid);
	font-style: italic;
}

.rdvc-etat-vide-agenda__reinitialiser,
.rdvc-filtres-agenda__reinitialiser {
	margin-left: 0.5rem;
}

/* ────────────────────────────────────────────────────────────────────────
 * Formulaire de connexion [rdvc_connexion] — /connexion/
 *
 * Le chemin par code est présenté en premier (chemin principal) ; le volet
 * mot de passe est replié dans un <details> (fonctionne sans JavaScript).
 * ──────────────────────────────────────────────────────────────────────── */
.rdvc-connexion {
	max-width: 26rem;
	margin: 0 auto;
}

.rdvc-connexion__intro {
	color: var(--mid);
	margin-bottom: var(--space-m);
}

.rdvc-connexion__form {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}

.rdvc-connexion__form label {
	font-weight: 600;
	margin-top: 0.6rem;
}

.rdvc-connexion__form input[type="email"],
.rdvc-connexion__form input[type="text"],
.rdvc-connexion__form input[type="password"] {
	padding: 0.6rem 0.7rem;
	border: 1px solid var(--mid);
	border-radius: 4px;
	font-size: var(--text-m);
}

.rdvc-connexion__case {
	flex-direction: row;
	align-items: center;
	gap: 0.4rem;
	font-weight: 400 !important;
}

/* Forme, couleur, padding et typographie viennent de .bricks-button.primary
 * (Bricks Global Theme Style — style-manager.min.css) : ces boutons codés à
 * la main suivent donc automatiquement tout changement fait dans l'UI Bricks
 * (forme, couleur, épaisseur de bordure…). Risque assumé (Jean) : classe
 * interne à Bricks, pas une API publique, peut changer à une mise à jour.
 * Ici, seuls le positionnement et le comportement de lien restent à notre charge. */
.rdvc-connexion__bouton {
	display: inline-block;
	margin-top: var(--space-xs);
	text-decoration: none;
}

/* Message d'état (envoi, erreur). */
.rdvc-connexion__message {
	padding: var(--space-2xs) var(--space-xs);
	border-radius: 4px;
	background-color: var(--jaune-l-2, #fbf6df);
	margin-bottom: var(--space-xs);
}

.rdvc-connexion__message--erreur {
	background-color: var(--rose-l-2, #fbe4f1);
}

/* Liens secondaires (renvoyer, changer d'adresse, mot de passe oublié). */
.rdvc-connexion__liens {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-top: var(--space-xs);
	font-size: var(--text-s);
}

.rdvc-connexion__renvoyer {
	display: inline;
}

.rdvc-connexion__lien,
.rdvc-connexion__lien-bouton {
	color: var(--turquoise);
	background: none;
	border: none;
	padding: 0;
	font-size: inherit;
	text-decoration: underline;
	cursor: pointer;
}

.rdvc-connexion__separateur {
	color: var(--mid);
}

/* Volet mot de passe. */
.rdvc-connexion__mdp {
	margin-top: var(--space-l);
	border-top: 1px solid var(--mid);
	padding-top: var(--space-xs);
}

.rdvc-connexion__mdp summary {
	cursor: pointer;
	font-weight: 600;
	color: var(--mid);
}

.rdvc-connexion__mdp .rdvc-connexion__lien {
	margin-top: 0.6rem;
	display: inline-block;
}

.rdvc-connexion input:focus-visible,
.rdvc-connexion button:focus-visible,
.rdvc-connexion a:focus-visible,
.rdvc-connexion summary:focus-visible {
	outline: 2px solid var(--turquoise);
	outline-offset: 2px;
}

/* ────────────────────────────────────────────────────────────────────────
 * Espace membre [rdvc_espace_nav] / [rdvc_espace_accueil] — /mon-espace/
 * ──────────────────────────────────────────────────────────────────────── */
.rdvc-espace-nav__liste {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.4rem var(--space-s);
	list-style: none;
	margin: 0 0 var(--space-l);
	padding: 0;
	border-bottom: 1px solid var(--mid);
	padding-bottom: var(--space-xs);
}

.rdvc-espace-nav__item a {
	color: var(--dark);
	text-decoration: none;
	font-weight: 600;
}

.rdvc-espace-nav__item a:hover {
	color: var(--turquoise);
}

.rdvc-espace-nav__item--actif a {
	color: var(--turquoise);
	text-decoration: underline;
}

.rdvc-espace-nav__item--deconnexion {
	margin-left: auto;
}

.rdvc-espace-nav__item--deconnexion a {
	font-weight: 400;
	color: var(--mid);
	text-decoration: underline;
}

.rdvc-espace-nav a:focus-visible {
	outline: 2px solid var(--turquoise);
	outline-offset: 2px;
}

.rdvc-espace-accueil__salutation {
	font-size: var(--text-l);
	font-weight: 600;
	margin-bottom: 0.3rem;
}

.rdvc-espace-accueil__intro {
	color: var(--mid);
	margin-bottom: var(--space-l);
}

.rdvc-espace-accueil__cartes {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
	gap: var(--space-s);
	margin-bottom: var(--space-l);
}

.rdvc-espace-accueil__carte {
	display: block;
	padding: var(--space-s) var(--space-m);
	border: 1px solid var(--mid);
	border-radius: 6px;
	text-decoration: none;
	color: var(--dark);
	transition: border-color 0.15s ease;
}

.rdvc-espace-accueil__carte:hover,
.rdvc-espace-accueil__carte:focus-visible {
	border-color: var(--turquoise);
	outline: none;
}

.rdvc-espace-accueil__carte h2 {
	margin: 0 0 0.4rem;
	font-size: var(--text-m);
	color: var(--turquoise);
}

.rdvc-espace-accueil__carte p {
	margin: 0;
	color: var(--mid);
	font-size: var(--text-s);
}

.rdvc-espace-accueil__agenda a {
	color: var(--turquoise);
	text-decoration: underline;
	font-size: var(--text-s);
}

/* ────────────────────────────────────────────────────────────────────────
 * Édition de profil [rdvc_profil_form] — /mon-espace/profil/
 * ──────────────────────────────────────────────────────────────────────── */
.rdvc-profil {
	max-width: 42rem;
}

.rdvc-profil__titre {
	margin-bottom: 0.3rem;
}

.rdvc-profil__intro {
	color: var(--mid);
	margin-bottom: var(--space-m);
}

.rdvc-profil__section {
	margin-bottom: var(--space-l);
	padding-bottom: var(--space-l);
	border-bottom: 1px solid var(--mid);
}

.rdvc-profil__section:last-of-type {
	border-bottom: none;
}

.rdvc-profil__section-titre {
	font-size: var(--text-m);
	color: var(--turquoise);
	margin-bottom: var(--space-xs);
}

.rdvc-profil__form {
	display: flex;
	flex-direction: column;
}

.rdvc-profil__champ {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	margin-bottom: var(--space-xs);
}

.rdvc-profil__champ label,
.rdvc-profil__label {
	font-weight: 600;
}

.rdvc-profil__champ input[type="text"],
.rdvc-profil__champ input[type="tel"],
.rdvc-profil__champ input[type="url"] {
	padding: 0.6rem 0.7rem;
	border: 1px solid var(--mid);
	border-radius: 4px;
	font-size: var(--text-m);
}

.rdvc-profil__email-lecture-seule {
	padding: 0.6rem 0.7rem;
	background-color: var(--bg);
	border: 1px dashed var(--mid);
	border-radius: 4px;
	color: var(--mid);
	margin: 0;
}

.rdvc-profil__note {
	color: var(--mid);
	font-size: var(--text-s);
	margin-top: 0.3rem;
}

.rdvc-profil__lien-ligne {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-xs);
	margin-bottom: var(--space-xs);
}

.rdvc-profil__lien-ligne .rdvc-profil__champ {
	flex: 1 1 12rem;
	margin-bottom: 0;
}

.rdvc-profil__case {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 0.4rem;
	font-weight: 400;
	margin-bottom: 0.6rem;
}

/* Forme, couleur, padding et typographie viennent de .bricks-button.primary
 * (voir le même choix documenté pour .rdvc-connexion__bouton) : seuls le
 * positionnement et le comportement restent à notre charge ici. */
.rdvc-profil__bouton {
	display: inline-block;
	margin-top: var(--space-xs);
	text-decoration: none;
	align-self: flex-start;
}

.rdvc-profil__message {
	padding: var(--space-2xs) var(--space-xs);
	border-radius: 4px;
	background-color: var(--jaune-l-2, #fbf6df);
	margin-bottom: var(--space-xs);
}

.rdvc-profil__message--erreur {
	background-color: var(--rose-l-2, #fbe4f1);
}

.rdvc-profil input:focus-visible,
.rdvc-profil button:focus-visible,
.rdvc-profil a:focus-visible {
	outline: 2px solid var(--turquoise);
	outline-offset: 2px;
}

/* ── Photo et galerie (section [rdvc_profil_form], lot D) ──
 * Plusieurs formulaires cohabitent dans cette section : un pour la photo, un
 * par vignette, un pour l'ajout. C'est voulu (voir Rdvc_Profil::rendre_bloc_images()),
 * d'où des marges posées sur les formulaires eux-mêmes. */
.rdvc-profil__form-image {
	display: flex;
	flex-direction: column;
	margin-bottom: var(--space-m);
}

.rdvc-profil__photo-apercu img {
	display: block;
	width: 12rem;
	height: 12rem;
	object-fit: cover;
	border-radius: 4px;
	border: 1px solid var(--mid);
}

.rdvc-profil__actions-image {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2xs);
	align-items: center;
}

/* .rdvc-profil__bouton est réglé sur align-self: flex-start pour le formulaire
 * principal ; dans cette rangée horizontale, la marge haute suffit. */
.rdvc-profil__actions-image .rdvc-profil__bouton {
	align-self: auto;
}

.rdvc-profil__galerie {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-s);
	list-style: none;
	margin: 0 0 var(--space-m);
	padding: 0;
}

/* Contexte de positionnement des commandes posées sur l'image (flèches,
 * poignée de glissement). Inconditionnel : les flèches existent sans
 * JavaScript, contrairement à la poignée. */
.rdvc-profil__vignette {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	width: 12rem;
}

.rdvc-profil__vignette img {
	display: block;
	width: 12rem;
	height: 12rem;
	object-fit: cover;
	border-radius: 4px;
	border: 1px solid var(--mid);
}

.rdvc-profil__vignette-actions {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	align-items: flex-start;
}

.rdvc-profil__bouton-vignette {
	font-size: var(--text-2xs);
	text-decoration: none;
}

.rdvc-profil__bouton-vignette[disabled] {
	opacity: 0.4;
	cursor: default;
}

/* ── Flèches d'ordre, posées sur la vignette ──
 * Volontairement SANS la classe bricks-button : ce sont des commandes en
 * pastille superposées à l'image, pas des boutons de formulaire — la forme du
 * Theme Style (pilule, padding large) n'a pas de sens à cette échelle. */
.rdvc-profil__fleche {
	position: absolute;
	top: 6rem;
	transform: translateY(-50%);
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.8rem;
	height: 2.8rem;
	padding: 0;
	border: 1px solid var(--mid);
	border-radius: 50%;
	background-color: var(--bg);
	color: var(--dark);
	font-size: var(--text-s);
	line-height: 1;
	cursor: pointer;
}

.rdvc-profil__fleche--gauche {
	left: 0.4rem;
}

.rdvc-profil__fleche--droite {
	right: 0.4rem;
}

.rdvc-profil__fleche:hover:not([disabled]) {
	background-color: var(--turquoise);
	border-color: var(--turquoise);
	color: var(--bg);
}

/* Extrémités de la galerie : la flèche reste en place pour ne pas faire sauter
 * les autres, mais s'efface et cesse de réagir. */
.rdvc-profil__fleche[disabled] {
	opacity: 0.25;
	cursor: default;
}

.rdvc-profil__note--pleine {
	margin-bottom: var(--space-m);
}

/* ── Glisser-déposer de la galerie (assets/js/profil-galerie.js) ──
 * La poignée arrive avec l'attribut `hidden` et n'est révélée que par le
 * script : sans JavaScript, seuls les boutons Monter/Descendre existent, et
 * rien ne suggère un geste impossible. */
.rdvc-profil__poignee[hidden] {
	display: none;
}

.rdvc-profil__poignee {
	position: absolute;
	top: 0.4rem;
	left: 0.4rem;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.8rem;
	height: 2.8rem;
	border-radius: 4px;
	background-color: var(--bg);
	border: 1px solid var(--mid);
	color: var(--mid);
	font-size: var(--text-s);
	line-height: 1;
	cursor: grab;
	/* Indispensable au tactile : sans ça le navigateur interprète le geste
	 * comme un défilement et le pointermove n'arrive jamais. Cantonné à la
	 * poignée, pour qu'un balayage sur la vignette fasse toujours défiler la
	 * page sur téléphone. */
	touch-action: none;
}

.rdvc-profil__vignette.est-en-glissement {
	opacity: 0.55;
	outline: 2px dashed var(--turquoise);
	outline-offset: 2px;
}

.rdvc-profil__vignette.est-en-glissement .rdvc-profil__poignee {
	cursor: grabbing;
}

/* Pendant le tri, empêcher la sélection de texte parasite sous le pointeur. */
.rdvc-profil__galerie.est-en-tri {
	user-select: none;
}

/* ────────────────────────────────────────────────────────────────────────
 * Mes inscriptions [rdvc_mes_inscriptions] — /mon-espace/inscriptions/
 * ────────────────────────────────────────────────────────────────────────
 * Une liste de cartes plutôt qu'un tableau : sur téléphone, chaque
 * inscription tient en bloc et n'impose aucun défilement horizontal.
 * Espacements pris sur les tokens fluides de Bricks (--space-2xs..2xl),
 * comme la typographie prend --text-*. */
.rdvc-inscriptions__intro {
	color: var(--mid);
	margin-bottom: var(--space-l);
}

.rdvc-inscriptions__liste {
	list-style: none;
	margin: 0 0 var(--space-l);
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--space-s);
}

.rdvc-inscriptions__ligne {
	padding: var(--space-s) var(--space-m);
	border: 1px solid var(--mid);
	border-radius: 6px;
}

.rdvc-inscriptions__evenement {
	margin: 0 0 var(--space-2xs);
	font-size: var(--text-m);
}

.rdvc-inscriptions__evenement a {
	color: var(--turquoise);
	text-decoration: none;
}

.rdvc-inscriptions__evenement a:hover,
.rdvc-inscriptions__evenement a:focus-visible {
	text-decoration: underline;
}

.rdvc-inscriptions__date {
	margin: 0 0 var(--space-xs);
	color: var(--mid);
	font-size: var(--text-s);
}

/* Pastille d'état. La couleur double le mot, elle ne le remplace jamais :
 * le libellé reste lisible sans distinguer les teintes. */
.rdvc-inscriptions__etat {
	display: inline-block;
	margin: 0;
	padding: 0.3rem var(--space-xs);
	border: 1px solid var(--turquoise);
	border-radius: 999px;
	color: var(--turquoise);
	background-color: var(--bg);
	font-size: var(--text-s);
}

.rdvc-inscriptions__etat--attente {
	border-color: var(--moutarde);
	color: var(--dark);
	background-color: var(--jaune-l-2);
}

.rdvc-inscriptions__etat--annulee {
	border-color: var(--mid);
	color: var(--mid);
}

.rdvc-inscriptions__actions {
	margin-top: var(--space-s);
}

/* Forme, couleur et padding viennent de .bricks-button.muted — même choix
 * documenté pour .rdvc-profil__bouton et les CTA de [rdvc_connexion]. */
.rdvc-inscriptions__bouton {
	display: inline-block;
	text-decoration: none;
}

.rdvc-inscriptions__note {
	margin: var(--space-s) 0 0;
	color: var(--mid);
	font-size: var(--text-s);
}

.rdvc-inscriptions__note a {
	color: var(--turquoise);
}

.rdvc-inscriptions__vide {
	margin-bottom: var(--space-l);
}

.rdvc-inscriptions__message {
	padding: var(--space-xs) var(--space-s);
	border-radius: 4px;
	background-color: var(--jaune-l-2);
	margin-bottom: var(--space-l);
}

.rdvc-inscriptions__message--erreur {
	background-color: var(--rose-l-2);
}

.rdvc-inscriptions__agenda a {
	color: var(--turquoise);
	text-decoration: underline;
	font-size: var(--text-s);
}

.rdvc-inscriptions button:focus-visible,
.rdvc-inscriptions a:focus-visible {
	outline: 2px solid var(--turquoise);
	outline-offset: 2px;
}
