/* PalliatoAgenda : styles front. Couleurs ajustables via les variables ci-dessous. */
.pa-agenda, .pa-fiche, .pa-inscription {
	--pa-accent: #2f6b5e;
	--pa-accent-texte: #fff;
	--pa-fond: #fff;
	--pa-fond-doux: #f4f6f5;
	--pa-bord: #dfe4e2;
	--pa-texte: inherit;
	--pa-texte-doux: #5e6b67;
	--pa-rayon: 12px;
	box-sizing: border-box;
}
.pa-agenda *, .pa-inscription * { box-sizing: border-box; }

/* Liste */
.pa-agenda { display: grid; gap: 20px; margin: 1.5em 0; }
.pa-vide { color: var(--pa-texte-doux); }
.pa-carte {
	position: relative; display: flex; flex-direction: column; overflow: hidden;
	background: var(--pa-fond); border: 1px solid var(--pa-bord); border-radius: var(--pa-rayon);
	transition: box-shadow .2s, transform .2s;
}
.pa-carte:hover { box-shadow: 0 6px 24px rgba(0,0,0,.08); transform: translateY(-2px); }
.pa-carte-lien { position: absolute; inset: 0; z-index: 2; }
.pa-carte-img img { display: block; width: 100%; height: 200px; object-fit: cover; }
.pa-carte-corps { display: flex; gap: 18px; padding: 20px; }
.pa-date-bloc {
	flex: 0 0 64px; height: 70px; border-radius: 10px; background: var(--pa-fond-doux);
	display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1.1;
}
.pa-jour { font-size: 1.6em; font-weight: 700; color: var(--pa-accent); }
.pa-mois { font-size: .8em; text-transform: uppercase; letter-spacing: .05em; color: var(--pa-texte-doux); }
.pa-carte-texte { flex: 1; min-width: 0; }
.pa-carte h3 { margin: 0 0 4px; font-size: 1.2em; line-height: 1.3; }
.pa-meta { margin: 0 0 8px; font-size: .9em; color: var(--pa-texte-doux); }
.pa-resume { margin: 0 0 12px; font-size: .95em; }
.pa-pied { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.pa-prix { font-weight: 700; }
.pa-places { font-size: .8em; padding: 3px 9px; border-radius: 99px; background: #fff3d6; color: #7a5600; }
.pa-places.pa-complet { background: #f5dede; color: #8a2424; }
.pa-bouton {
	margin-left: auto; padding: 8px 16px; border-radius: 8px;
	background: var(--pa-accent); color: var(--pa-accent-texte); font-size: .9em; font-weight: 600;
}
@media (min-width: 720px) {
	.pa-carte:has(.pa-carte-img) { flex-direction: row; }
	.pa-carte-img { flex: 0 0 34%; }
	.pa-carte-img img { height: 100%; min-height: 180px; }
}

/* Vue « affiches » (prochaines formations) */
.pa-affiches { --pa-cols: 3; display: grid; grid-template-columns: repeat(var(--pa-cols), minmax(0, 1fr)); gap: 28px; }
@media (max-width: 900px) { .pa-affiches { --pa-cols: 2; } }
@media (max-width: 560px) { .pa-affiches { --pa-cols: 1; } }
@media (min-width: 901px) {
	.pa-affiches.pa-cols-1 { --pa-cols: 1; } .pa-affiches.pa-cols-2 { --pa-cols: 2; }
	.pa-affiches.pa-cols-3 { --pa-cols: 3; } .pa-affiches.pa-cols-4 { --pa-cols: 4; }
}
@media (max-width: 900px) and (min-width: 561px) { .pa-affiches.pa-cols-1 { --pa-cols: 1; } }
.pa-poster {
	display: flex; flex-direction: column; overflow: hidden;
	background: var(--pa-fond); border: 1px solid var(--pa-bord); border-radius: var(--pa-rayon);
	transition: box-shadow .2s, transform .2s;
}
.pa-poster:hover { box-shadow: 0 10px 30px rgba(0,0,0,.10); transform: translateY(-3px); }
.pa-poster-img { position: relative; display: block; aspect-ratio: 210 / 297; overflow: hidden; background: var(--pa-fond-doux); }
.pa-poster-img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.pa-poster:hover .pa-poster-img img { transform: scale(1.03); }
.pa-poster-defaut { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; color: var(--pa-accent); }
.pa-poster-defaut span { font-size: 4em; font-weight: 700; line-height: 1; }
.pa-poster-defaut small { font-size: 1.1em; text-transform: uppercase; letter-spacing: .1em; }
.pa-ruban { position: absolute; top: 14px; left: 14px; padding: 4px 12px; border-radius: 99px; background: #8a2424; color: #fff; font-size: .8em; font-weight: 600; }
.pa-poster-corps { flex: 1; display: flex; flex-direction: column; padding: 18px 18px 20px; }
.pa-poster .pa-meta { order: -1; margin: 0 0 6px; font-size: .85em; font-weight: 600; color: var(--pa-accent); }
.pa-poster h3 { margin: 0 0 8px; font-size: 1.15em; line-height: 1.3; }
.pa-poster h3 a { color: inherit; text-decoration: none; }
.pa-poster h3 a:hover { text-decoration: underline; }
.pa-poster .pa-resume { margin: 0 0 14px; font-size: .92em; color: var(--pa-texte-doux); }
.pa-poster .pa-pied { margin-top: auto; }
a.pa-bouton { text-decoration: none; }
a.pa-bouton:hover { filter: brightness(1.08); color: var(--pa-accent-texte); }

/* Fiche formation */
.pa-fiche { margin: 0 0 2em; }
.pa-programme { font-family: var(--pa-ff-prog, inherit); margin: 0 0 2em; padding: 18px 22px; border-radius: var(--pa-rayon); background: var(--pa-e-prog-fond, var(--pa-fond-doux)); }
.pa-programme-titre { margin: 0 0 10px; font-size: .75em; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: var(--pa-texte-doux); }
.pa-programme ul { list-style: none; margin: 0; padding: 0; }
.pa-programme li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 16px; padding: 8px 0; border-top: 1px solid var(--pa-bord); }
.pa-programme li:first-child { border-top: 0; padding-top: 0; }
.pa-programme li strong { font-weight: var(--pa-fw-prog, 600); color: var(--pa-e-prog-texte, inherit); }
.pa-programme li span { color: var(--pa-e-prog-heures, var(--pa-accent)); font-weight: var(--pa-fw-prog, 600); }
.pa-fuseau { margin: 8px 0 0; font-size: .8em; color: var(--pa-texte-doux); }
.pa-infos {
	display: flex; flex-wrap: wrap;
	margin: 0; padding: 0; border: 1px solid var(--pa-bord); border-radius: var(--pa-rayon);
	background: var(--pa-fond); overflow: hidden;
}
.pa-infos > div {
	flex: 1 1 150px; padding: 12px 16px;
	border-right: 1px solid var(--pa-bord); border-bottom: 1px solid var(--pa-bord); margin: 0 -1px -1px 0;
}
.pa-infos dt { margin: 0; font-size: .75em; text-transform: uppercase; letter-spacing: .06em; color: var(--pa-texte-doux); }
.pa-infos dd { margin: 2px 0 0; font-weight: 600; }

/* Inscription */
.pa-inscription {
	margin: 2.5em 0 1em; padding: 24px; border-radius: var(--pa-rayon);
	background: var(--pa-fond-doux); border: 1px solid var(--pa-bord);
}
.pa-inscription h2 { margin-top: 0; }
.pa-champs { display: grid; gap: 4px 16px; }
@media (min-width: 600px) { .pa-champs { grid-template-columns: 1fr 1fr; } }
.pa-form p { margin: 0 0 12px; }
.pa-form label { display: block; font-size: .9em; font-weight: 600; margin-bottom: 4px; }
.pa-form input[type=text], .pa-form input[type=email], .pa-form input[type=tel] {
	width: 100%; padding: 10px 12px; font: inherit; border: 1px solid var(--pa-bord); border-radius: 8px; background: #fff;
}
.pa-form input:focus { outline: 2px solid var(--pa-accent); outline-offset: 1px; }
.pa-consent label { font-weight: 400; display: flex; gap: 8px; align-items: flex-start; }
.pa-consent input { margin-top: 4px; }
.pa-submit button {
	padding: 12px 22px; font: inherit; font-weight: 600; cursor: pointer; border: 0; border-radius: 8px;
	background: var(--pa-accent); color: var(--pa-accent-texte);
}
.pa-submit button:hover { filter: brightness(1.08); }
.pa-submit small { display: block; margin-top: 8px; color: var(--pa-texte-doux); }
.pa-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.pa-message { padding: 12px 16px; border-radius: 8px; margin-bottom: 16px; }
.pa-succes { background: #e3f3ea; color: #1d5b39; }
.pa-info { background: #e7eef8; color: #24466f; }
.pa-erreur { background: #f8e3e3; color: #842626; }

.pa-af, .pa-entete, .pa-programme, .pa-documents {
	--pa-f-titre: "PA Barlow Condensed", "Barlow Condensed", "Arial Narrow", sans-serif;
	--pa-f-date: "PA Montserrat", "Montserrat", Arial, sans-serif;
	/* Police et graisse de chaque élément (réglables dans Apparence) */
	--pa-ff-titre: var(--pa-f-titre);   --pa-fw-titre: 800;
	--pa-ff-sous: var(--pa-f-titre);    --pa-fw-sous: 300;
	--pa-ff-datetxt: var(--pa-f-date);  --pa-fw-datetxt: 800;
	--pa-ff-num: var(--pa-f-date);      --pa-fw-num: 200;
	--pa-ff-heures: var(--pa-f-titre);  --pa-fw-heures: 300;
	--pa-ff-bouton: var(--pa-f-titre);  --pa-fw-bouton: 700;
	--pa-ff-label: inherit;             --pa-fw-label: 600;
	--pa-ff-valeur: inherit;            --pa-fw-valeur: 700;
	--pa-ff-partage: var(--pa-f-titre); --pa-fw-partage: 500;
	--pa-ff-prog: inherit;              --pa-fw-prog: 600;
	--pa-ff-docs: inherit;              --pa-fw-docs: 600;
}

/* ==========================================================
   Vue « Affiches » (maquette) : titre, modalité - durée,
   affiche encadrée et bloc date qui la chevauche.
   ========================================================== */

.pa-af {
	--pa-cols: 2;
	--pa-af-titre: #000;
	--pa-af-sous: #6b3a7d;
	--pa-af-jour: #1f3a6d;
	--pa-af-num: #9b6bb3;
	--pa-af-mois: #0e6b6e;
	--pa-af-boite: #ebebeb;
	--pa-af-op: 55%;
	--pa-af-flou: 12px;
	--pa-af-trait: #000;
	--pa-af-zoom: 1.8;
	--pa-af-heures: #6b3a7d;
	--pa-af-k: 1;
	--pa-af-btn: #1f3a6d;
	--pa-af-btn-txt: #fff;
	display: grid;
	grid-template-columns: repeat(var(--pa-cols), minmax(0, 1fr));
	gap: clamp(48px, 7vw, 90px) clamp(24px, 6vw, 80px);
	margin: 2em 0;
}
@media (max-width: 700px) { .pa-af { --pa-cols: 1; } }
@media (min-width: 701px) {
	.pa-af.pa-cols-1 { --pa-cols: 1; } .pa-af.pa-cols-2 { --pa-cols: 2; }
	.pa-af.pa-cols-3 { --pa-cols: 3; } .pa-af.pa-cols-4 { --pa-cols: 4; }
}

.pa-af-item { position: relative; container-type: inline-size; max-width: 520px; }
.pa-af-item:hover, .pa-af-item:focus-within { z-index: 20; }

.pa-af-titre {
	margin: 0; font-family: var(--pa-ff-titre); font-weight: var(--pa-fw-titre); text-transform: uppercase;
	font-size: clamp(calc(20px * var(--pa-af-k)), calc(9.6cqi * var(--pa-af-k)), calc(46px * var(--pa-af-k))); line-height: .98; letter-spacing: .003em; color: var(--pa-af-titre);
}
.pa-af-titre a, .pa-af-titre a:hover { color: inherit; text-decoration: none; }
.pa-af-sous {
	position: relative; z-index: 3; margin: .1em 0 0; max-width: 38cqi;
	font-family: var(--pa-ff-sous); font-weight: var(--pa-fw-sous); text-transform: uppercase;
	font-size: clamp(13px, 5.4cqi, 26px); line-height: 1.1; color: var(--pa-af-sous);
}

.pa-af-visuel { position: relative; margin-top: 1.2cqi; }

.pa-af-poster {
	position: relative; z-index: 2; display: block; width: 47cqi; aspect-ratio: 210 / 297;
	box-sizing: border-box; border: 2px solid var(--pa-af-trait); background: #fff;
	transform-origin: 0 0; transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s;
}
.pa-af-lien { display: block; width: 100%; height: 100%; overflow: hidden; }
.pa-af-poster img { display: block; width: 100%; height: 100%; object-fit: cover; }
.pa-af-vide { display: block; width: 100%; height: 100%; background: #fff; }
.pa-af-complet {
	position: absolute; top: 6px; left: 6px; padding: 2px 8px; font: 700 max(10px, 3.2cqi)/1.4 var(--pa-ff-titre);
	text-transform: uppercase; background: #8a2424; color: #fff;
}

.pa-af-date {
	/* La boîte s'élargit selon son contenu ; la marge à droite du texte est égale à celle qui le sépare du bord de l'affiche. */
	--pa-af-marge: 3.2cqi;
	position: absolute; z-index: 1; top: -5.6cqi; left: 41cqi; width: max-content; min-width: 31cqi; max-width: calc(100% - 41cqi); min-height: 31cqi;
	box-sizing: border-box; padding: 3.2cqi var(--pa-af-marge) 3cqi calc(6cqi + var(--pa-af-marge));
	border: 1.5px solid var(--pa-af-trait);
	background: color-mix(in srgb, var(--pa-af-boite) var(--pa-af-op), transparent);
	-webkit-backdrop-filter: blur(var(--pa-af-flou)) saturate(1.15); backdrop-filter: blur(var(--pa-af-flou)) saturate(1.15);
	display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center;
	font-family: var(--pa-ff-datetxt); text-transform: uppercase; line-height: 1;
}
.pa-af-jour, .pa-af-mois { font-weight: var(--pa-fw-datetxt); font-size: max(9px, 4.3cqi); letter-spacing: .14em; margin-right: -.14em; }
.pa-af-jour { color: var(--pa-af-jour); }
.pa-af-mois { color: var(--pa-af-mois); }
.pa-af-num { font-family: var(--pa-ff-num); font-weight: var(--pa-fw-num); font-size: 14.5cqi; line-height: .92; margin: .06em 0 .08em; letter-spacing: -.03em; color: var(--pa-af-num); white-space: nowrap; }
.pa-af-long .pa-af-num { font-size: 7.6cqi; margin: .3em 0 .35em; letter-spacing: -.01em; }
.pa-af-long .pa-af-jour, .pa-af-long .pa-af-mois { font-size: max(8px, 3.5cqi); letter-spacing: .05em; margin-right: -.05em; }
.pa-af-heures {
	display: flex; flex-direction: column; gap: .25em; margin-top: 2.2cqi; padding-top: 2cqi; min-width: 70%; box-sizing: border-box;
	border-top: 1px solid currentColor; color: var(--pa-af-heures);
	font-family: var(--pa-ff-heures); font-weight: var(--pa-fw-heures); font-size: max(11px, 4.4cqi); letter-spacing: .04em; line-height: 1.1;
	text-transform: none; white-space: nowrap;
}
.pa-af-heures .pa-af-note { text-transform: uppercase; }

/* Survol : bouton « En savoir plus » et icônes de partage */
.pa-af-survol {
	position: absolute; left: 0; right: 0; bottom: 5%; display: flex; flex-direction: column; align-items: center; gap: 2.2cqi;
	pointer-events: none;
}
.pa-af-survol > * { pointer-events: auto; }
.pa-af-plus, .pa-af-plus:hover {
	white-space: nowrap; text-decoration: none;
	padding: .6em 1.1em; font-family: var(--pa-ff-bouton); font-weight: var(--pa-fw-bouton); font-size: max(10px, 3.4cqi); line-height: 1; letter-spacing: .04em; text-transform: uppercase;
	background: var(--pa-af-btn); color: var(--pa-af-btn-txt); box-shadow: 0 2px 8px rgba(0,0,0,.25);
}
.pa-partage-survol {
	display: flex; gap: 1.6cqi; padding: 1.2cqi 2cqi; border-radius: 99px;
	background: rgba(255,255,255,.82); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
	color: var(--pa-af-icones, #111); box-shadow: 0 2px 8px rgba(0,0,0,.18);
}
.pa-partage-survol .pa-p { width: max(9px, 3.2cqi); height: max(9px, 3.2cqi); }

@media (hover: hover) {
	.pa-af-survol { opacity: 0; transform: translateY(6px); transition: opacity .25s .1s, transform .25s .1s; }
	.pa-af-poster:hover, .pa-af-poster:focus-within {
		z-index: 30; transform: scale(var(--pa-af-zoom)); box-shadow: 0 24px 60px rgba(0,0,0,.35);
	}
	.pa-af-poster:hover .pa-af-survol, .pa-af-poster:focus-within .pa-af-survol { opacity: 1; transform: none; }
}
/* Écrans tactiles : pas de survol, bouton et partage toujours visibles et plus grands */
@media (hover: none) {
	.pa-af-plus { font-size: max(12px, 4.4cqi); }
	.pa-partage-survol .pa-p { width: max(14px, 4.6cqi); height: max(14px, 4.6cqi); }
}
@media (prefers-reduced-motion: reduce) {
	.pa-af-poster, .pa-af-survol { transition: none; }
}

/* Icônes de partage (communes) */
.pa-p {
	position: relative; display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px;
	padding: 0; border: 0; background: none; color: inherit; cursor: pointer; text-decoration: none; transition: transform .15s, opacity .15s;
}
.pa-p:hover { transform: scale(1.15); opacity: .8; }
.pa-p svg { width: 100%; height: 100%; display: block; }
.pa-p-copier.is-ok::after {
	content: attr(data-msg); position: absolute; bottom: 130%; left: 50%; transform: translateX(-50%); white-space: nowrap;
	padding: 3px 8px; border-radius: 4px; background: #111; color: #fff; font: 600 11px/1.3 system-ui, sans-serif;
}

/* ==========================================================
   Page d'une formation : affiche + encarts en verre dépoli
   ========================================================== */
.pa-entete {
	--pa-e-w: 500px;
	--pa-e-infos: 360px;
	--pa-e-over: 64px;
	--pa-e-gap: 10px;
	--pa-e-flou: 12px;
	--pa-e-op: 55%;
	--pa-e-rayon: 40px;
	--pa-e-fond: #ffffff;
	--pa-e-bord: #b8b8b8;
	--pa-e-label: #8a8f8d;
	--pa-e-trait: #222222;
	--pa-e-valeur: #222222;
	--pa-e-partage: #111111;
	--pa-e-icones: #111111;
	container-type: inline-size;
	display: grid; grid-template-columns: minmax(0, var(--pa-e-w)) minmax(230px, var(--pa-e-infos));
	align-items: stretch; margin: 0 0 22px;
}
.pa-entete-affiche { position: relative; z-index: 1; min-width: 0; }
.pa-entete-affiche img { display: block; width: 100%; height: auto; }
.pa-entete-infos {
	position: relative; z-index: 2; margin-left: calc(-1 * var(--pa-e-over));
	display: flex; flex-direction: column; justify-content: center; gap: var(--pa-e-gap); padding: 6px 0;
}
.pa-encart {
	box-sizing: border-box; padding: 14px 22px 14px calc(var(--pa-e-over) + 14px);
	border: 1px solid var(--pa-e-bord); border-radius: var(--pa-e-rayon);
	background: color-mix(in srgb, var(--pa-e-fond) var(--pa-e-op), transparent);
	-webkit-backdrop-filter: blur(var(--pa-e-flou)) saturate(1.15); backdrop-filter: blur(var(--pa-e-flou)) saturate(1.15);
}
.pa-encart-label {
	display: inline-block; margin-bottom: 6px; padding-bottom: 2px; border-bottom: 2px solid var(--pa-e-trait);
	font-family: var(--pa-ff-label); font-size: 11px; font-weight: var(--pa-fw-label); letter-spacing: .1em; text-transform: uppercase; color: var(--pa-e-label); line-height: 1.3;
}
.pa-encart-valeur { display: block; font-family: var(--pa-ff-valeur); font-weight: var(--pa-fw-valeur); font-size: 16px; line-height: 1.35; color: var(--pa-e-valeur); }
.pa-encart-titre {
	display: block; margin-bottom: 10px; font-family: var(--pa-ff-partage); font-weight: var(--pa-fw-partage); font-size: 23px; line-height: 1;
	text-transform: uppercase; color: var(--pa-e-partage);
}
.pa-partage-page { display: flex; flex-wrap: wrap; gap: 14px 18px; max-width: 220px; color: var(--pa-e-icones); }

/* Sans affiche : encarts en ligne, sans chevauchement */
.pa-entete-sans { grid-template-columns: 1fr; }
.pa-entete-sans .pa-entete-infos { margin: 0; display: grid; gap: var(--pa-e-gap); grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.pa-entete-sans .pa-encart { padding-left: 22px; }

/* Écran étroit : encarts sous l'affiche, qui remontent dessus */
@container (max-width: 620px) {
	.pa-entete-affiche, .pa-entete-infos { grid-column: 1 / -1; }
	.pa-entete-infos { margin: calc(-1 * var(--pa-e-over)) 14px 0; padding: 0; }
	.pa-encart { padding-left: 22px; }
}
@supports not (backdrop-filter: blur(1px)) {
	.pa-af-date { background: color-mix(in srgb, var(--pa-af-boite) 90%, transparent); }
	.pa-encart { background: color-mix(in srgb, var(--pa-e-fond) 90%, transparent); }
}

/* Documents à télécharger */
.pa-documents { --pa-e-doc-fond: #fff; --pa-e-doc-accent: #2f6b5e; margin: 0 0 2em; font-family: var(--pa-ff-docs, inherit); }
.pa-documents-titre { margin: 0 0 10px; font-size: .75em; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: var(--pa-texte-doux); }
.pa-documents ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 10px; }
.pa-documents a {
	display: grid; grid-template-columns: auto 1fr auto; grid-template-areas: "ico nom dl" "ico info dl"; align-items: center; gap: 0 12px;
	padding: 12px 16px; border: 1px solid var(--pa-bord); border-radius: var(--pa-rayon); background: var(--pa-e-doc-fond);
	color: inherit; text-decoration: none; transition: border-color .15s, box-shadow .15s;
}
.pa-documents a:hover { border-color: var(--pa-e-doc-accent); box-shadow: 0 4px 14px rgba(0,0,0,.06); }
.pa-doc-ico { grid-area: ico; width: 28px; height: 28px; color: var(--pa-e-doc-accent); }
.pa-doc-ico svg { width: 100%; height: 100%; display: block; }
.pa-documents .pa-doc-nom { color: var(--pa-e-doc-texte, inherit); grid-area: nom; font-weight: var(--pa-fw-docs, 600); line-height: 1.3; overflow-wrap: anywhere; }
.pa-documents .pa-doc-info { grid-area: info; font-size: .8em; color: var(--pa-texte-doux); }
.pa-doc-dl { grid-area: dl; font-size: .8em; font-weight: 600; color: var(--pa-e-doc-accent); }

/* ==========================================================
   Bandeau défilant des prochaines formations
   ========================================================== */
.pa-bandeau {
	--pa-b-h: 60px;
	--pa-b-fond: #493d37;
	--pa-b-texte: #ffffff;
	--pa-b-accent: #e9b384;
	--pa-b-vitesse: 7s;
	--pa-ff-bandeau: "PA Barlow Condensed", "Barlow Condensed", "Arial Narrow", sans-serif;
	--pa-fw-bandeau: 500;
	position: relative; z-index: 9990; box-sizing: border-box;
	display: flex; align-items: stretch; width: 100%; height: var(--pa-b-h); overflow: hidden;
	background: var(--pa-b-fond); color: var(--pa-b-texte);
	font-family: var(--pa-ff-bandeau); font-weight: var(--pa-fw-bandeau); font-size: calc(var(--pa-b-h) * .26);
	line-height: 1; letter-spacing: .08em; text-transform: uppercase;
	-webkit-font-smoothing: antialiased;
}
.pa-bandeau.is-fixe { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); }
.pa-bandeau *, .pa-bandeau *::before, .pa-bandeau *::after { box-sizing: border-box; }

/* Libellé fixe à gauche */
.pa-b-label {
	position: relative; z-index: 2; flex: 0 0 auto; display: flex; align-items: center; gap: .7em;
	padding: 0 1.6em 0 1.4em; background: var(--pa-b-fond);
	font-size: .78em; letter-spacing: .22em; opacity: .95;
}
.pa-b-label::after {
	content: ""; position: absolute; top: 22%; bottom: 22%; right: 0; width: 1px; background: currentColor; opacity: .25;
}
.pa-b-point {
	position: relative; width: 7px; height: 7px; border-radius: 50%; background: var(--pa-b-accent);
	box-shadow: 0 0 10px var(--pa-b-accent);
}
.pa-b-point::after {
	content: ""; position: absolute; inset: -5px; border-radius: 50%; border: 1px solid var(--pa-b-accent);
	animation: pa-b-pulse 2.4s ease-out infinite;
}
@keyframes pa-b-pulse { 0% { transform: scale(.4); opacity: .9; } 100% { transform: scale(1.6); opacity: 0; } }

/* Piste défilante, bords fondus */
.pa-b-piste {
	position: relative; flex: 1; min-width: 0; overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 48px, #000 calc(100% - 64px), transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0, #000 48px, #000 calc(100% - 64px), transparent 100%);
}
.pa-b-defile {
	display: flex; width: max-content; height: 100%;
	animation: pa-b-defile calc(var(--pa-b-n, 4) * var(--pa-b-vitesse)) linear infinite;
}
.pa-bandeau:hover .pa-b-defile, .pa-bandeau:focus-within .pa-b-defile { animation-play-state: paused; }
@keyframes pa-b-defile { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.pa-b-serie { display: flex; align-items: center; flex: 0 0 auto; }

.pa-b-item, .pa-b-item:hover, .pa-b-item:visited {
	display: inline-flex; align-items: center; gap: .9em; padding: 0 .4em; height: var(--pa-b-h);
	color: inherit; text-decoration: none; white-space: nowrap;
}
.pa-b-date { font-weight: 700; letter-spacing: .1em; }
.pa-b-heure { opacity: .62; font-variant-numeric: tabular-nums; text-transform: none; letter-spacing: .04em; }
.pa-b-titre { letter-spacing: .06em; transition: opacity .2s; }
.pa-b-mod {
	padding: .38em .8em .34em; border: 1px solid color-mix(in srgb, var(--pa-b-texte) 35%, transparent); border-radius: 99px;
	font-size: .66em; letter-spacing: .16em; opacity: .85;
}
.pa-b-item:hover .pa-b-titre { opacity: .75; }
.pa-b-item:focus-visible { outline: 1px solid var(--pa-b-accent); outline-offset: -8px; }
.pa-b-sep {
	flex: 0 0 auto; width: 5px; height: 5px; margin: 0 2.2em; transform: rotate(45deg);
	background: var(--pa-b-accent); opacity: .8;
}

@media (max-width: 640px) {
	.pa-b-label-txt { display: none; }
	.pa-b-label { padding: 0 1em; }
	.pa-b-sep { margin: 0 1.4em; }
}
@media (prefers-reduced-motion: reduce) {
	.pa-b-defile { animation: none; }
	.pa-b-piste { overflow-x: auto; }
	.pa-b-serie[aria-hidden="true"] { display: none; }
	.pa-b-point::after { animation: none; }
}

/* Paliers de tarif */
.pa-prix-etiquette { display: inline-block; margin-right: 6px; padding: 1px 7px; border-radius: 999px; border: 1px solid currentColor; font-size: 10px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; vertical-align: 2px; opacity: .8; }
.pa-encart-valeur .pa-prix-etiquette { display: table; margin: 0 0 4px; }
.pa-prix .pa-prix-etiquette { margin: 0 0 0 6px; }
.pa-prix-barre { margin-left: 6px; font-size: .8em; opacity: .55; }
.pa-prix-paliers { display: block; margin-top: 4px; font-size: 12px; line-height: 1.4; opacity: .7; }

/* Choix du moyen de paiement */
.pa-moyens { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px; margin: 18px 0 18px; padding: 0; border: 0; min-width: 0; }
.pa-moyens legend { margin-bottom: 8px; padding: 0; font-weight: 600; }
.pa-moyen { position: relative; display: block; padding: 12px 14px 12px 42px; border: 1px solid rgba(0,0,0,.18); border-radius: 10px; cursor: pointer; transition: border-color .15s, box-shadow .15s; }
.pa-moyen input { position: absolute; left: 14px; top: 15px; margin: 0; accent-color: currentColor; }
.pa-moyen-nom { display: block; font-weight: 600; }
.pa-moyen-aide { display: block; font-size: 12px; opacity: .65; }
.pa-moyen:has(input:checked) { border-color: currentColor; box-shadow: 0 0 0 1px currentColor; }
.pa-moyen:has(input:focus-visible) { outline: 2px solid currentColor; outline-offset: 2px; }
