/* Job&Box — tunnel de candidature (maquette validée le 01/10/2026, « Postuler sans CV »).
   Mêmes couleurs et mêmes polices que les blocs de l'accueil (jobbox-accueil).
   Portée « .jbxc » : le thème Hello stylise button / [type=button] (bordure #c36, fond au
   survol) et input / select / textarea, avec une spécificité allant jusqu'à 0,2,0 sur
   :hover et :focus ; chaque bouton redéclare donc ses états :hover et :focus.
   Sur téléphone, le parcours passe en plein écran dès la première question. */

.jbxc {
	--jbxc-encre: var(--e-global-color-b94ea38, #2e323e);
	--jbxc-encre-2: #1f222b;
	--jbxc-jaune: var(--e-global-color-3107225, #e1e040);
	--jbxc-jaune-2: #d2d12c;
	--jbxc-bleu-pale: var(--e-global-color-092a0db, #eef5fd);
	--jbxc-bleu: #1f5ea5;
	--jbxc-vert: #2b7a47;
	--jbxc-rouge: #b4381f;
	--jbxc-gris: #565c6c;
	--jbxc-trait: #d9dde5;
	--jbxc-trait-2: #eceef2;
	--jbxc-fond: #f5f6f8;
	--jbxc-r: 14px;
	--jbxc-f-titre: "Lexend", "Segoe UI", system-ui, sans-serif;
	--jbxc-f-texte: var(--e-global-typography-text-font-family, "Roboto"), "Segoe UI", system-ui, sans-serif;

	container-type: inline-size;
	width: 100%;
	font-family: var(--jbxc-f-texte);
	font-size: 16px;
	line-height: 1.45;
	color: var(--jbxc-encre);
	text-align: left;
	-webkit-font-smoothing: antialiased;
	scroll-margin-top: 100px;
}
.jbxc *, .jbxc *::before, .jbxc *::after { box-sizing: border-box; }
.jbxc p { margin: 0; }
.jbxc [hidden] { display: none !important; }
.jbxc :focus-visible { outline: 3px solid var(--jbxc-bleu); outline-offset: 2px; box-shadow: none; }

.jbxc .jbxc-ico { width: 20px; height: 20px; flex: none; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* Remise à zéro des boutons (Hello : bordure, couleur et fond #c36). */
.jbxc button, .jbxc button:hover, .jbxc button:focus {
	-webkit-appearance: none; appearance: none;
	display: inline-flex; align-items: center; gap: 8px;
	margin: 0; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none;
	color: inherit; font: inherit; line-height: 1.3; letter-spacing: inherit;
	text-align: left; text-transform: none; text-decoration: none; white-space: normal;
	transition: none; cursor: pointer;
}
.jbxc button:disabled { cursor: default; }

/* ─────────────── Mise en page : écran + colonne agence / étapes ─────────────── */

.jbxc-grille { display: flex; flex-direction: column; gap: 20px; }
.jbxc-cote { order: -1; }
.jbxc--spontanee .jbxc-cote { order: 1; }
.jbxc-parcours { display: none; }
.jbxc-ecran { position: relative; min-width: 0; }

@container (min-width: 760px) {
	.jbxc-grille { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 40px; align-items: start; }
	.jbxc-cote, .jbxc--spontanee .jbxc-cote { order: 0; display: flex; flex-direction: column; gap: 16px; }
	.jbxc-parcours { display: block; }
	.jbxc-ecran { min-height: 420px; display: flex; flex-direction: column; }
	.jbxc-corps { flex: 1; }
}

/* ─────────────── En-tête du parcours (retour, compteur, passer, fermer, progression) ─────────────── */

.jbxc-tete {
	display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; align-items: center; gap: 4px 8px;
	margin-bottom: 18px;
}
.jbxc .jbxc-retour, .jbxc .jbxc-retour:hover, .jbxc .jbxc-retour:focus,
.jbxc .jbxc-fermer, .jbxc .jbxc-fermer:hover, .jbxc .jbxc-fermer:focus {
	justify-content: center; width: 40px; height: 40px; border-radius: 50%;
	background: var(--jbxc-fond); color: var(--jbxc-encre);
}
.jbxc .jbxc-retour:hover, .jbxc .jbxc-fermer:hover { background: var(--jbxc-trait-2); }
.jbxc .jbxc-retour { grid-row: 1; grid-column: 1; }
.jbxc .jbxc-fermer { display: none; grid-row: 1; }
.jbxc-compte { grid-row: 1; grid-column: 2; min-width: 0; font-size: 14px; font-weight: 700; color: var(--jbxc-gris); }
.jbxc-rappel { display: none; }
.jbxc .jbxc-passer, .jbxc .jbxc-passer:hover, .jbxc .jbxc-passer:focus {
	grid-row: 1; grid-column: 3; padding: 8px 4px; color: var(--jbxc-bleu); font-weight: 700; font-size: 15px;
}
.jbxc .jbxc-passer:hover { text-decoration: underline; }
.jbxc-prog { grid-row: 2; grid-column: 1 / -1; height: 6px; margin-top: 6px; border-radius: 3px; background: var(--jbxc-trait-2); overflow: hidden; }
.jbxc-prog i { display: block; height: 100%; width: 0; border-radius: 3px; background: var(--jbxc-jaune); transition: width .3s ease; }

/* ─────────────── Textes ─────────────── */

.jbxc .jbxc-q {
	margin: 0 0 6px; font-family: var(--jbxc-f-titre); font-weight: 600; letter-spacing: -.01em;
	font-size: 21px; line-height: 1.25; color: var(--jbxc-encre);
}
.jbxc .jbxc-q:focus { outline: none; }
.jbxc-aide { margin: 0 0 16px !important; font-size: 14.5px; color: var(--jbxc-gris); }
.jbxc-intro .jbxc-aide { margin: 14px 0 0 !important; }
.jbxc-gris { color: var(--jbxc-gris); }
.jbxc-alerte {
	margin-top: 14px !important; padding: 12px 14px; border-radius: 10px;
	background: #fdf0ec; color: var(--jbxc-rouge); font-size: 15px;
}
.jbxc-alerte a { color: inherit; font-weight: 700; text-decoration: underline; }

/* ─────────────── Premier écran : choix du mode ─────────────── */

.jbxc-intro .jbxc-q { margin-bottom: 14px; }
.jbxc-choix-liste { display: grid; gap: 10px; }
.jbxc .jbxc-choix, .jbxc .jbxc-choix:hover, .jbxc .jbxc-choix:focus {
	display: flex; align-items: center; gap: 14px; width: 100%; min-height: 76px; padding: 14px 16px;
	border: 1.5px solid var(--jbxc-trait); border-radius: var(--jbxc-r); background: #fff; color: var(--jbxc-encre);
	transition: border-color .15s, box-shadow .15s;
}
.jbxc .jbxc-choix:hover { border-color: var(--jbxc-encre); box-shadow: 0 6px 18px rgba(46, 50, 62, .1); }
.jbxc .jbxc-choix--principal, .jbxc .jbxc-choix--principal:hover, .jbxc .jbxc-choix--principal:focus { border-color: var(--jbxc-encre); }
.jbxc-choix-ico {
	display: inline-flex; align-items: center; justify-content: center; flex: none;
	width: 46px; height: 46px; border-radius: 12px; background: var(--jbxc-fond);
}
.jbxc-choix--principal .jbxc-choix-ico { background: var(--jbxc-jaune); }
.jbxc .jbxc-choix-ico .jbxc-ico { width: 24px; height: 24px; }
.jbxc-choix-txt { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.jbxc-choix-txt b { font-family: var(--jbxc-f-titre); font-weight: 600; font-size: 17.5px; line-height: 1.25; }
.jbxc-choix-txt small { font-size: 14.5px; color: var(--jbxc-gris); }
.jbxc .jbxc-choix-fleche { width: 22px; height: 22px; color: var(--jbxc-gris); }
.jbxc-reprise { display: inline-block; margin-top: 2px; font-size: 13px; font-weight: 700; color: var(--jbxc-vert); }

/* ─────────────── Questions ─────────────── */

.jbxc-opts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.jbxc-opts--liste { grid-template-columns: minmax(0, 1fr); }
.jbxc .jbxc-opt, .jbxc .jbxc-opt:hover, .jbxc .jbxc-opt:focus {
	position: relative; display: flex; align-items: center; gap: 10px; width: 100%; min-height: 54px;
	padding: 10px 40px 10px 14px; border: 1.5px solid var(--jbxc-trait); border-radius: 12px;
	background: #fff; color: var(--jbxc-encre); font-size: 15.5px; line-height: 1.25;
	transition: border-color .12s, background-color .12s;
}
.jbxc .jbxc-opt:hover { border-color: var(--jbxc-gris); }
.jbxc .jbxc-opt.is-large { grid-column: 1 / -1; }
.jbxc .jbxc-opt[aria-pressed="true"], .jbxc .jbxc-opt[aria-pressed="true"]:hover, .jbxc .jbxc-opt[aria-pressed="true"]:focus {
	border-color: var(--jbxc-bleu); background: var(--jbxc-bleu-pale); font-weight: 600;
}
.jbxc-coche {
	position: absolute; right: 12px; top: 50%; transform: translateY(-50%);
	display: inline-flex; align-items: center; justify-content: center;
	width: 22px; height: 22px; border-radius: 50%; border: 1.5px solid var(--jbxc-trait); background: #fff; color: #fff;
}
.jbxc .jbxc-coche .jbxc-ico { width: 14px; height: 14px; stroke-width: 3; opacity: 0; }
.jbxc-opt[aria-pressed="true"] .jbxc-coche { border-color: var(--jbxc-bleu); background: var(--jbxc-bleu); }
.jbxc-opt[aria-pressed="true"] .jbxc-coche .jbxc-ico { opacity: 1; }
/* Choix unique : rond à gauche, comme un bouton radio. */
.jbxc .jbxc-opts--liste .jbxc-opt, .jbxc .jbxc-opts--liste .jbxc-opt:hover, .jbxc .jbxc-opts--liste .jbxc-opt:focus { padding: 12px 14px 12px 46px; }
.jbxc-opts--liste .jbxc-coche { left: 14px; right: auto; }

.jbxc-puces { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.jbxc .jbxc-puce, .jbxc .jbxc-puce:hover, .jbxc .jbxc-puce:focus {
	display: inline-flex; align-items: center; gap: 6px; min-height: 42px; padding: 8px 14px 8px 10px;
	border: 1.5px solid var(--jbxc-trait); border-radius: 999px; background: #fff; color: var(--jbxc-encre); font-size: 15px;
}
.jbxc .jbxc-puce:hover { border-color: var(--jbxc-gris); }
.jbxc .jbxc-puce .jbxc-ico { width: 17px; height: 17px; }
.jbxc .jbxc-puce .jbxc-ico--ok { display: none; }
.jbxc .jbxc-puce[aria-pressed="true"], .jbxc .jbxc-puce[aria-pressed="true"]:hover, .jbxc .jbxc-puce[aria-pressed="true"]:focus {
	border-color: var(--jbxc-bleu); background: var(--jbxc-bleu-pale); color: var(--jbxc-bleu); font-weight: 600;
}
.jbxc .jbxc-puce[aria-pressed="true"] .jbxc-ico--plus { display: none; }
.jbxc .jbxc-puce[aria-pressed="true"] .jbxc-ico--ok { display: inline; }

/* ─────────────── Champs ─────────────── */

.jbxc-champs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 12px; }
.jbxc-champ { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.jbxc-champ--large { grid-column: 1 / -1; }
.jbxc-champ--agence { margin-bottom: 18px; }
.jbxc .jbxc-label { display: block; font-size: 14.5px; font-weight: 700; line-height: 1.3; color: var(--jbxc-encre); }
.jbxc .jbxc-label small { font-weight: 400; font-size: 13.5px; color: var(--jbxc-gris); }
.jbxc .jbxc-input, .jbxc .jbxc-input:focus {
	display: block; width: 100%; min-height: 50px; margin: 0; padding: 12px 14px;
	border: 1.5px solid #b9bfcb; border-radius: 10px; background: #fff; color: var(--jbxc-encre);
	font: inherit; font-size: 16px; line-height: 1.35; /* 16 px : pas de zoom automatique sur iPhone */
	transition: border-color .12s, box-shadow .12s;
}
.jbxc .jbxc-input:focus { border-color: var(--jbxc-bleu); box-shadow: 0 0 0 3px rgba(31, 94, 165, .18); outline: none; }
.jbxc .jbxc-input::placeholder { color: #6b7183; opacity: 1; }
.jbxc textarea.jbxc-input { min-height: 96px; resize: vertical; }
.jbxc textarea.jbxc-input--haut { min-height: 132px; }
.jbxc select.jbxc-input {
	-webkit-appearance: none; appearance: none; padding-right: 40px; cursor: pointer;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232e323e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center / 20px;
}
.jbxc-compteur { margin-top: 6px !important; font-size: 13px; color: var(--jbxc-gris); text-align: right; }
.jbxc-msg { font-size: 14px; font-weight: 600; color: var(--jbxc-rouge); }
.jbxc-msg:empty { display: none; }
.jbxc-champ.is-erreur .jbxc-input { border-color: var(--jbxc-rouge); }
.jbxc-pot { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* Fichier du CV */
.jbxc-fichier { position: relative; margin-bottom: 18px; }
.jbxc-fichier input[type="file"] { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.jbxc-fichier-zone {
	display: flex; align-items: center; gap: 14px; min-height: 72px; padding: 14px 16px;
	border: 1.5px dashed #9aa1b0; border-radius: var(--jbxc-r); background: var(--jbxc-fond);
}
.jbxc-fichier input[type="file"]:focus-visible + .jbxc-fichier-zone { outline: 3px solid var(--jbxc-bleu); outline-offset: 2px; }
.jbxc-fichier.has-fichier .jbxc-fichier-zone { border-style: solid; border-color: var(--jbxc-vert); background: #eef7f1; }
.jbxc-fichier.is-erreur .jbxc-fichier-zone { border-color: var(--jbxc-rouge); }
.jbxc-fichier-zone .jbxc-choix-ico { background: #fff; }
.jbxc-fichier-txt { display: flex; flex-direction: column; min-width: 0; }
.jbxc-fichier-txt b { font-family: var(--jbxc-f-titre); font-weight: 600; font-size: 16px; overflow-wrap: anywhere; }
.jbxc-fichier-txt small { font-size: 13.5px; color: var(--jbxc-gris); }
.jbxc .jbxc-cv-enregistre, .jbxc .jbxc-cv-enregistre:hover, .jbxc .jbxc-cv-enregistre:focus {
	display: flex; width: 100%; margin-bottom: 10px; padding: 12px 14px; gap: 12px;
	border: 1.5px solid var(--jbxc-trait); border-radius: 12px; background: #fff; color: var(--jbxc-encre);
}
.jbxc .jbxc-cv-enregistre[aria-checked="true"] { border-color: var(--jbxc-bleu); background: var(--jbxc-bleu-pale); }

/* ─────────────── Pied : bouton principal et mention d'information ─────────────── */

.jbxc-pied { margin-top: 22px; }
.jbxc .jbxc-cta, .jbxc .jbxc-cta:hover, .jbxc .jbxc-cta:focus {
	justify-content: center; width: 100%; min-height: 54px; padding: 0 24px;
	border-radius: 12px; background: var(--jbxc-jaune); color: var(--jbxc-encre);
	font-family: var(--jbxc-f-titre); font-weight: 600; font-size: 17px; text-align: center;
	transition: background-color .15s;
}
.jbxc .jbxc-cta:hover { background: var(--jbxc-jaune-2); }
.jbxc .jbxc-cta:disabled, .jbxc .jbxc-cta:disabled:hover { background: #ecec9e; color: #6b7183; }
.jbxc .jbxc-cta.is-envoi { cursor: progress; }
.jbxc-mention { margin-top: 18px !important; font-size: 12.5px; line-height: 1.45; color: var(--jbxc-gris); }
.jbxc-mention a { color: inherit; text-decoration: underline; }
@container (min-width: 560px) {
	.jbxc .jbxc-cta, .jbxc .jbxc-cta:hover, .jbxc .jbxc-cta:focus { width: auto; min-width: 280px; }
}

/* ─────────────── Carte agence et étapes (colonne de droite) ─────────────── */

.jbxc-agence { padding: 16px 18px; border-radius: var(--jbxc-r); background: var(--jbxc-fond); }
.jbxc-lab { font-size: 12.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--jbxc-gris); }
.jbxc-agence-nom { margin-top: 2px !important; font-family: var(--jbxc-f-titre); font-weight: 600; font-size: 18px; line-height: 1.25; }
.jbxc .jbxc-agence-nom a { color: var(--jbxc-encre); text-decoration: none; }
.jbxc .jbxc-agence-nom a:hover { text-decoration: underline; }
/* Ligne réservée : l'ouverture est écrite par le script, sans décaler la carte. */
.jbxc-ouvert { min-height: 1.45em; margin-top: 4px !important; font-size: 14.5px; font-weight: 700; color: var(--jbxc-gris); }
.jbxc-ouvert:empty::before { display: none; }
.jbxc-ouvert.is-ouvert { color: var(--jbxc-vert); }
.jbxc-ouvert::before { content: ""; display: inline-block; width: 8px; height: 8px; margin: 0 7px 1px 0; border-radius: 50%; background: currentColor; }
.jbxc-agence-adr { margin-top: 4px !important; font-size: 14.5px; color: var(--jbxc-gris); }
.jbxc-agence-avis { margin-top: 4px !important; font-size: 14.5px; font-weight: 700; }
.jbxc-etoile { color: #e3a008; }
.jbxc .jbxc-agence-tel {
	display: inline-flex; align-items: center; gap: 8px; margin-top: 12px; padding: 8px 14px;
	border: 1.5px solid var(--jbxc-encre); border-radius: 999px; color: var(--jbxc-encre);
	font-family: var(--jbxc-f-titre); font-weight: 600; font-size: 15px; text-decoration: none;
}
.jbxc .jbxc-agence-tel:hover { background: var(--jbxc-encre); color: #fff; }
.jbxc .jbxc-agence-tel .jbxc-ico { width: 17px; height: 17px; }

.jbxc-cote-titre { margin-bottom: 10px !important; font-family: var(--jbxc-f-titre); font-weight: 600; font-size: 16px; }
.jbxc .jbxc-etapes { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.jbxc .jbxc-etape, .jbxc .jbxc-etape:hover, .jbxc .jbxc-etape:focus {
	display: flex; align-items: center; gap: 12px; width: 100%; padding: 7px 8px; border-radius: 10px; color: var(--jbxc-gris);
}
.jbxc .jbxc-etape:not(:disabled):hover { background: var(--jbxc-fond); }
.jbxc-n {
	position: relative; display: inline-flex; align-items: center; justify-content: center; flex: none;
	width: 30px; height: 30px; border-radius: 50%; border: 1.5px solid var(--jbxc-trait); background: #fff;
	font-size: 14px; font-weight: 700; color: var(--jbxc-gris);
}
.jbxc-n em { font-style: normal; display: inline-flex; }
.jbxc .jbxc-n .jbxc-ico { width: 16px; height: 16px; }
.jbxc .jbxc-n > .jbxc-ico { display: none; stroke-width: 3; }
.jbxc-etape-txt { display: flex; flex-direction: column; min-width: 0; }
.jbxc-etape-txt b { font-size: 15px; font-weight: 600; color: var(--jbxc-encre); }
.jbxc-etape-txt small { font-size: 13px; }
.jbxc-etape.is-cours .jbxc-n { border-color: var(--jbxc-encre); background: var(--jbxc-encre); color: #fff; }
.jbxc-etape.is-fait .jbxc-n { border-color: var(--jbxc-vert); background: var(--jbxc-vert); color: #fff; }
.jbxc-etape.is-fait .jbxc-n em { display: none; }
.jbxc .jbxc-etape.is-fait .jbxc-n > .jbxc-ico { display: inline; }
.jbxc-etape.is-saute { opacity: .45; }
.jbxc-note-cv { margin: -4px 0 10px !important; font-size: 13.5px; color: var(--jbxc-gris); }
.jbxc-faits { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 12px !important; font-size: 13.5px; color: var(--jbxc-gris); }
.jbxc-faits b { color: var(--jbxc-encre); }

/* ─────────────── Candidature envoyée ─────────────── */

.jbxc-fini-tete { display: flex; align-items: center; gap: 14px; margin-bottom: 10px; }
.jbxc-fini-ok {
	display: inline-flex; align-items: center; justify-content: center; flex: none;
	width: 52px; height: 52px; border-radius: 50%; background: var(--jbxc-vert); color: #fff;
}
.jbxc .jbxc-fini-ok .jbxc-ico { width: 28px; height: 28px; stroke-width: 3; }
.jbxc-fini .jbxc-q { margin: 0; }
.jbxc-fini-txt { font-size: 16.5px; }
.jbxc-fini-txt a { color: var(--jbxc-bleu); font-weight: 700; text-decoration: none; white-space: nowrap; }
.jbxc-recap { margin-top: 18px; padding: 14px 16px; border-radius: var(--jbxc-r); background: var(--jbxc-fond); }
.jbxc-recap h4 { margin: 0 0 6px; font-family: var(--jbxc-f-titre); font-weight: 600; font-size: 15px; color: var(--jbxc-encre); }
.jbxc-recap-ligne { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 10px; padding: 7px 0; border-top: 1px solid var(--jbxc-trait-2); font-size: 14.5px; }
.jbxc-recap-ligne span { color: var(--jbxc-gris); }
.jbxc-recap-ligne b { font-weight: 600; overflow-wrap: anywhere; }
.jbxc-similaires { margin-top: 26px; }
.jbxc .jbxc-similaires-titre { margin: 0 0 12px; font-family: var(--jbxc-f-titre); font-weight: 600; font-size: 18px; color: var(--jbxc-encre); }
.jbxc-cartes { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }
.jbxc .jbxc-tout { display: inline-flex; align-items: center; gap: 6px; margin-top: 14px; color: var(--jbxc-bleu); font-weight: 700; text-decoration: none; }
.jbxc .jbxc-tout:hover { text-decoration: underline; color: var(--jbxc-bleu); }

/* Cartes d'offres (même balisage que l'accueil : jbxa_carte_offre_html). */
.jbxc .jbxa-offre { position: relative; display: flex; flex-direction: column; gap: 6px; padding: 14px 16px; border: 1px solid var(--jbxc-trait-2); border-radius: var(--jbxc-r); background: #fff; }
.jbxc .jbxa-offre:hover { box-shadow: 0 8px 22px rgba(46, 50, 62, .12); }
.jbxc .jbxa-quand { font-size: 12.5px; font-weight: 700; line-height: 1.2; color: var(--jbxc-gris); }
.jbxc .jbxa-quand.is-recent { color: var(--jbxc-vert); }
.jbxc .jbxa-offre-titre { margin: 0; font-family: var(--jbxc-f-titre); font-weight: 600; font-size: 16px; line-height: 1.28; color: var(--jbxc-encre); overflow-wrap: anywhere; }
.jbxc .jbxa-offre-lien { color: inherit; text-decoration: none; }
.jbxc .jbxa-offre-lien::after { content: ""; position: absolute; inset: 0; border-radius: var(--jbxc-r); }
.jbxc .jbxa-offre-lien:hover { color: inherit; text-decoration: underline; }
.jbxc .jbxa-offre-meta { font-size: 13.5px; line-height: 1.4; color: var(--jbxc-gris); }
.jbxc .jbxa-offre-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.jbxc .jbxa-tag { padding: 3px 8px; border-radius: 6px; background: var(--jbxc-bleu-pale); color: var(--jbxc-bleu); font-size: 12.5px; font-weight: 700; }
.jbxc .jbxa-sal { font-size: 14.5px; font-weight: 700; color: var(--jbxc-encre); }
.jbxc .jbxa-postuler {
	position: relative; z-index: 1; align-self: flex-start; margin-top: 4px; padding: 6px 14px;
	border: 1.5px solid var(--jbxc-encre); border-radius: 999px; color: var(--jbxc-encre);
	font-family: var(--jbxc-f-titre); font-weight: 600; font-size: 14px; text-decoration: none;
}
.jbxc .jbxa-postuler:hover { background: var(--jbxc-encre); color: #fff; }

/* ─────────────── Transitions entre écrans ─────────────── */

.jbxc-corps.is-avance { animation: jbxc-avance .22s ease-out; }
.jbxc-corps.is-recule { animation: jbxc-recule .22s ease-out; }
@keyframes jbxc-avance { from { opacity: 0; transform: translateX(18px); } to { opacity: 1; transform: none; } }
@keyframes jbxc-recule { from { opacity: 0; transform: translateX(-18px); } to { opacity: 1; transform: none; } }

/* ─────────────── Téléphone : le parcours en plein écran ─────────────── */

html.jbxc-verrou, html.jbxc-verrou body { overflow: hidden !important; }
/* Conteneur du plein écran (enfant direct de <body>) : pas de requête de conteneur ici,
   le containment ferait de lui la référence du position: fixed. */
.jbxc-portail { container-type: normal; position: static; width: 0; height: 0; }
.jbxc.is-plein .jbxc-ecran {
	position: fixed; inset: 0; z-index: 2147483000;
	display: flex; flex-direction: column;
	height: 100vh; height: 100dvh; background: #fff;
}
.jbxc.is-plein .jbxc-tete {
	flex: none; margin: 0; padding: calc(8px + env(safe-area-inset-top)) 12px 10px;
	grid-template-columns: 40px minmax(0, 1fr) auto 40px;
	border-bottom: 1px solid var(--jbxc-trait-2);
}
.jbxc.is-plein .jbxc-fermer { display: inline-flex; grid-column: 4; }
.jbxc.is-plein .jbxc-passer { grid-column: 3; }
.jbxc.is-plein .jbxc-compte { text-align: center; }
.jbxc.is-plein .jbxc-rappel {
	display: block; grid-row: 3; grid-column: 1 / -1; margin-top: 2px !important;
	font-size: 13px; color: var(--jbxc-gris); text-align: center;
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.jbxc.is-plein .jbxc-corps { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; padding: 20px 16px 24px; }
.jbxc.is-plein .jbxc-pied {
	flex: none; margin: 0; padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
	border-top: 1px solid var(--jbxc-trait-2); background: #fff; box-shadow: 0 -6px 16px rgba(46, 50, 62, .06);
}

@media (max-width: 400px) {
	.jbxc .jbxc-opt, .jbxc .jbxc-opt:hover, .jbxc .jbxc-opt:focus { font-size: 14.5px; padding-left: 12px; }
	.jbxc .jbxc-q { font-size: 20px; }
}
@media (max-width: 349px) {
	.jbxc-champs { grid-template-columns: minmax(0, 1fr); }
}

/* Le badge reCAPTCHA recouvrirait le bouton d'envoi : masqué, la mention d'information le cite. */
.grecaptcha-badge { visibility: hidden !important; }

@media (prefers-reduced-motion: reduce) {
	.jbxc-corps.is-avance, .jbxc-corps.is-recule { animation: none; }
	.jbxc-prog i, .jbxc .jbxc-choix, .jbxc .jbxc-opt { transition: none; }
}
