.rlcc {
  /* Le blanc du papier appartient à la charte : `surface` y est fixe, jamais réglable.
     Le reste est l'échelle grise ardoise de cette feuille. Ses quatre paliers employés
     par des rôles — fond de page, fond creusé, gris de texte, filet — ont désormais leur
     jeton et suivent donc la charte ; les cinq autres n'ont aucun rôle et restent des
     valeurs de l'échelle. */
  --rlcc-neutral-0: var(--rlcc-color-surface);
  --rlcc-neutral-50: var(--rlcc-color-slate-bg);
  --rlcc-neutral-100: var(--rlcc-color-slate-sunken);
  --rlcc-neutral-200: #E2E8F0;
  --rlcc-neutral-300: var(--rlcc-color-slate-border);
  --rlcc-neutral-400: #94A3B8;
  --rlcc-neutral-500: var(--rlcc-color-slate-text);
  --rlcc-neutral-700: #334155;
  --rlcc-neutral-900: #0F172A;
  --rlcc-neutral-950: #020617;

  --rlcc-success: #60B3BB;
  --rlcc-success-bg: #ECF7F8;
  --rlcc-success-strong: #157079;
  --rlcc-warning: #FFAE00;
  --rlcc-warning-bg: #FFF7E6;
  --rlcc-warning-strong: #8A5A00;
  /* Un seul rouge d'erreur sur tout le produit : le jeton FIXE de la charte, celui que
     les e-mails montrent déjà. Les deux jeux de sémantique qui coexistaient donnaient au
     site et aux messages deux rouges différents pour la même chose. Les sémantiques
     restent hors charte — ce n'est pas un réglage, c'est une source unique. */
  --rlcc-danger: var(--rlcc-color-danger);
  --rlcc-danger-bg: #FDECEE;
  --rlcc-danger-strong: #9E1F2B;
  --rlcc-info: #2E4C9F;
  --rlcc-info-bg: #EEF2FA;
  --rlcc-info-strong: #1E3564;

  --rlcc-brand-gradient: linear-gradient(120deg, #2B437B 0%, #35539B 28%, #3FA9A0 68%, #9FD46A 100%);

  /* Ces quatre noms-ci sont les RÔLES du socle générique ; ils restent déclarés ici,
     mais tiennent désormais leur valeur de l'échelle ardoise de la charte au lieu de la
     redire en dur. Les nuances de la charte (`surface`, `text`, `border`, `primary` et sa
     famille, `accent`, le rayon des contrôles) sont, elles, déclarées par l'émetteur
     Brand\Css, imprimé après cette feuille : les redéclarer ici les ferait diverger.
     `--rlcc-color-focus` a rejoint l'émetteur pour la même raison : l'anneau de mise au
     point valait un bleu figé et ne suivait donc AUCUNE charte. */
  --rlcc-color-bg: var(--rlcc-color-slate-bg);
  --rlcc-color-surface-sunken: var(--rlcc-color-slate-sunken);
  --rlcc-color-text-muted: var(--rlcc-color-slate-text);
  --rlcc-color-border-strong: var(--rlcc-color-slate-border);

  /* Le texte porté par un aplat d'accent. `--rlcc-color-accent` est l'ancien nom de la
     primaire : son avant-plan est donc `on-primary`. Il retombait jusqu'ici sur la
     marque du wizard — la même source qui peignait en bleu l'état actif d'un bouton
     rouge. */
  --rlcc-color-on-accent: var(--rlcc-color-on-primary);

  --rlcc-shadow-color: 15, 23, 42;

  --rlcc-space-0: 0;
  --rlcc-space-1: 4px;
  --rlcc-space-2: 8px;
  --rlcc-space-3: 12px;
  --rlcc-space-4: 16px;
  --rlcc-space-5: 20px;
  --rlcc-space-6: 24px;
  --rlcc-space-7: 32px;
  --rlcc-space-8: 40px;
  --rlcc-space-9: 48px;
  --rlcc-space-10: 64px;

  --rlcc-radius-xs: 4px;
  --rlcc-radius-sm: 6px;
  --rlcc-radius-md: 8px;
  --rlcc-radius-lg: 12px;
  --rlcc-radius-xl: 16px;
  --rlcc-radius-2xl: 20px;
  --rlcc-radius-full: 9999px;

  --rlcc-text-2xs: 11px;
  --rlcc-text-xs: 12px;
  --rlcc-text-sm: 13px;
  --rlcc-text-base: 14px;
  --rlcc-text-md: 16px;
  --rlcc-text-lg: 18px;
  --rlcc-text-xl: 20px;
  --rlcc-text-2xl: 24px;
  --rlcc-text-3xl: 28px;
  --rlcc-text-4xl: 32px;
  --rlcc-lh-tight: 1.15;
  --rlcc-lh-heading: 1.3;
  --rlcc-lh-body: 1.5;

  --rlcc-focus-ring: 0 0 0 2px var(--rlcc-color-surface), 0 0 0 4px var(--rlcc-color-focus);

  --rlcc-measure: 720px;

  --rlcc-shadow-xs: 0 1px 2px rgba(var(--rlcc-shadow-color), .06);
  --rlcc-shadow-sm: 0 0 0 1px rgba(var(--rlcc-shadow-color), .04),
                    0 1px 2px rgba(var(--rlcc-shadow-color), .05),
                    0 2px 8px rgba(var(--rlcc-shadow-color), .05);
  --rlcc-shadow-md: 0 0 0 1px rgba(var(--rlcc-shadow-color), .04),
                    0 2px 4px rgba(var(--rlcc-shadow-color), .05),
                    0 8px 24px rgba(var(--rlcc-shadow-color), .09);
  --rlcc-shadow-lg: 0 0 0 1px rgba(var(--rlcc-shadow-color), .05),
                    0 4px 8px rgba(var(--rlcc-shadow-color), .05),
                    0 16px 40px rgba(var(--rlcc-shadow-color), .12);
  --rlcc-ease-out: cubic-bezier(0.2, 0, 0, 1);
  --rlcc-ease-in: cubic-bezier(0.4, 0, 1, 1);
  --rlcc-dur-fast: 150ms;
  --rlcc-dur: 220ms;
  --rlcc-dur-slow: 320ms;
  --rlcc-container: 1240px;
  --rlcc-gutter: clamp(20px, 4vw, 48px);

  font-family: var(--rlcc-font-body);
  color: var(--rlcc-color-text);
  line-height: var(--rlcc-lh-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.rlcc :where(*, *::before, *::after) { box-sizing: border-box; }
.rlcc :where(button, input, select, textarea) { all: revert; box-sizing: border-box; font: inherit; }
.rlcc :where(button) { border: 0; background: none; cursor: pointer; }
.rlcc :where(ul, ol) { list-style: none; margin: 0; padding: 0; }
.rlcc :where(a) { color: inherit; }
.rlcc [hidden] { display: none !important; }
/* `height: auto` RETIRÉ. Il annulait toute hauteur posée par ailleurs — attribut
   `height` du balisage, règle de la charte — parce que la remise à zéro est chargée
   avant elles et qu'`:where()` ne pèse rien, mais qu'une déclaration plus tardive à
   spécificité nulle l'emporte quand même sur l'attribut HTML. Le portrait du contact,
   rendu en 120×150, s'étirait donc à la hauteur naturelle du fichier. `max-width`
   suffit à ce que la remise à zéro doit garantir : qu'aucune image ne déborde de sa
   colonne. La proportion, elle, appartient à qui pose l'image. */
.rlcc :where(img) { max-width: 100%; }
.rlcc :where(:focus-visible) { outline: none; box-shadow: var(--rlcc-focus-ring); }
@media (prefers-reduced-motion: reduce) {
  .rlcc *, .rlcc *::before, .rlcc *::after { animation: none !important; transition: none !important; }
}

.rlcc-bleed { width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important; }
.rlcc-container { max-width: var(--rlcc-container); margin-inline: auto; padding-inline: var(--rlcc-gutter); }

.rlcc :is(h1, h2, h3, .rlcc-hero__title, .rlcc-section__title, .rlcc-card__title) { text-wrap: balance; }
.rlcc :is(p, .rlcc-card__excerpt) { text-wrap: pretty; }
.rlcc :is(.rlcc-statcard__value, .rlcc-statcard__num, .rlcc-facet__count, .rlcc-pagination) { font-variant-numeric: tabular-nums; }
.rlcc :where(a, label, select, summary) { cursor: pointer; }

.rlcc-eyebrow { margin: 0 0 var(--rlcc-space-2); font-size: var(--rlcc-text-xs); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--rlcc-color-primary); }

html.rlcc-js .rlcc [data-rlcc-reveal] { opacity: 0; translate: 0 14px; }
html.rlcc-js .rlcc [data-rlcc-reveal].is-in {
  opacity: 1;
  translate: 0 0;
  transition: opacity .45s var(--rlcc-ease-out), translate .45s var(--rlcc-ease-out);
  transition-delay: calc(min(var(--rlcc-reveal-i, 0), 5) * 55ms);
}
html.rlcc-js .rlcc [data-rlcc-hero] > * { animation: rlcc-hero-in .5s var(--rlcc-ease-out) both; }
html.rlcc-js .rlcc [data-rlcc-hero] > *:nth-child(2) { animation-delay: 90ms; }
html.rlcc-js .rlcc [data-rlcc-hero] > *:nth-child(n+3) { animation-delay: 180ms; }

.rlcc .rlcc-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--rlcc-space-2);
  min-height: 44px;
  padding: 0 var(--rlcc-space-5);
  border: 1px solid transparent;
  border-radius: var(--rlcc-radius-control);
  font-size: var(--rlcc-text-md);
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  background: var(--rlcc-color-primary);
  color: var(--rlcc-color-on-primary);
  transition-property: background-color, border-color, color, box-shadow, translate, scale, opacity;
  transition-duration: var(--rlcc-dur-fast);
  transition-timing-function: var(--rlcc-ease-out);
}
.rlcc .rlcc-btn:hover { text-decoration: none; }
.rlcc .rlcc-btn:not(.rlcc-btn--secondary):not(.rlcc-btn--ghost) { box-shadow: 0 1px 2px rgba(var(--rlcc-shadow-color), .16), inset 0 1px 0 rgba(255, 255, 255, .08); }
.rlcc .rlcc-btn--secondary, .rlcc .rlcc-btn--ghost { box-shadow: none; }
.rlcc .rlcc-btn:not(:disabled):active { scale: .96; }
.rlcc .rlcc-btn:not(.rlcc-btn--secondary):not(.rlcc-btn--ghost):not(:disabled):hover { background: var(--rlcc-color-primary-hover); }
.rlcc .rlcc-btn:not(.rlcc-btn--secondary):not(.rlcc-btn--ghost):not(:disabled):active { background: var(--rlcc-color-primary-active); }
.rlcc .rlcc-btn:disabled, .rlcc .rlcc-btn.is-loading { opacity: .6; cursor: not-allowed; }
.rlcc .rlcc-btn--lg { min-height: 48px; padding-inline: var(--rlcc-space-6); font-size: var(--rlcc-text-lg); }
.rlcc .rlcc-btn--primary { background: var(--rlcc-color-primary); color: var(--rlcc-color-on-primary); }
.rlcc .rlcc-btn--secondary { background: var(--rlcc-color-surface); color: var(--rlcc-color-text); border-color: var(--rlcc-color-border-strong); }
.rlcc .rlcc-btn--secondary:not(:disabled):hover { background: var(--rlcc-color-surface-sunken); border-color: var(--rlcc-color-text-muted); }
.rlcc .rlcc-btn--ghost { background: transparent; color: var(--rlcc-color-primary); }
.rlcc .rlcc-btn--ghost:not(:disabled):hover { background: var(--rlcc-color-surface-sunken); }
.rlcc .rlcc-btn.is-loading { color: transparent; }
.rlcc .rlcc-btn.is-loading::after {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 18px;
  height: 18px;
  border: 2px solid currentColor;
  border-top-color: transparent;
  border-radius: var(--rlcc-radius-full);
  color: var(--rlcc-color-text);
  animation: rlcc-spin 700ms linear infinite;
}
.rlcc .rlcc-btn--primary.is-loading::after,
.rlcc .rlcc-btn:not(.rlcc-btn--secondary):not(.rlcc-btn--ghost).is-loading::after { color: var(--rlcc-color-on-primary); }

.rlcc-field { display: flex; flex-direction: column; gap: var(--rlcc-space-2); }
.rlcc-label { font-weight: 600; font-size: var(--rlcc-text-base); color: var(--rlcc-color-text); }
.rlcc-input,
.rlcc-select,
.rlcc-textarea {
  width: 100%;
  min-width: 0;
  padding: 0 var(--rlcc-space-3);
  background: var(--rlcc-color-surface);
  color: var(--rlcc-color-text);
  border: 1px solid var(--rlcc-color-border-strong);
  border-radius: var(--rlcc-radius-control);
  font-size: var(--rlcc-text-md);
  transition: border-color 150ms ease, box-shadow 150ms ease;
}
.rlcc-input, .rlcc-select { height: 44px; }
.rlcc-textarea { min-height: 120px; padding: var(--rlcc-space-3); line-height: var(--rlcc-lh-body); resize: vertical; }
.rlcc-input::placeholder, .rlcc-textarea::placeholder { color: var(--rlcc-color-text-muted); }
.rlcc-input:hover:not(:disabled):not([readonly]),
.rlcc-select:hover:not(:disabled),
.rlcc-textarea:hover:not(:disabled):not([readonly]) { border-color: var(--rlcc-color-text-muted); }
.rlcc-input:disabled, .rlcc-select:disabled, .rlcc-textarea:disabled,
.rlcc-input[readonly], .rlcc-textarea[readonly] {
  background: var(--rlcc-color-surface-sunken);
  color: var(--rlcc-neutral-700);
  cursor: not-allowed;
}
.rlcc-select {
  appearance: none;
  -webkit-appearance: none;
  padding-inline-end: var(--rlcc-space-7);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right var(--rlcc-space-3) center;
}
.rlcc-apply-form__establishment-fixed {
  margin: 0;
  padding: 10px var(--rlcc-space-3);
  background: var(--rlcc-color-surface-sunken);
  border-radius: var(--rlcc-radius-control);
  font-weight: 600;
}

.rlcc-combo { position: relative; }
.rlcc-combo__native {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  width: 100%;
  height: 44px;
  opacity: 0;
  pointer-events: none;
}
.rlcc-combo__control {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--rlcc-space-2);
  min-height: 44px;
  padding: 4px var(--rlcc-space-3);
  background: var(--rlcc-color-surface);
  border: 1px solid var(--rlcc-color-border-strong);
  border-radius: var(--rlcc-radius-control);
  transition: border-color 150ms ease, box-shadow 150ms ease;
}
.rlcc-combo__control:hover { border-color: var(--rlcc-color-text-muted); }
.rlcc-combo.is-open .rlcc-combo__control,
.rlcc-combo__control:focus-within { border-color: var(--rlcc-color-primary); box-shadow: 0 0 0 1px var(--rlcc-color-primary); }
.rlcc-field.has-error .rlcc-combo__control { border-color: var(--rlcc-danger); box-shadow: 0 0 0 1px var(--rlcc-danger); }
.rlcc-combo__input {
  flex: 1 1 8ch;
  min-width: 8ch;
  height: 34px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--rlcc-color-text);
  font-size: var(--rlcc-text-md);
  font-family: inherit;
}
.rlcc-combo__input:focus { outline: none; }
.rlcc-combo__input::placeholder { color: var(--rlcc-color-text-muted); }
.rlcc-combo__toggle {
  flex: none;
  width: 24px;
  height: 24px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
}
.rlcc-combo.is-open .rlcc-combo__toggle { rotate: 180deg; }
.rlcc-combo__chips { display: contents; }
.rlcc-combo__chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 100%;
  padding: 2px 4px 2px 10px;
  background: var(--rlcc-color-surface-sunken);
  border-radius: 999px;
  font-size: var(--rlcc-text-sm);
  line-height: 1.6;
}
.rlcc-combo__chip-x {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--rlcc-color-text-muted);
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
}
.rlcc-combo__chip-x:hover { background: var(--rlcc-color-border-strong); color: var(--rlcc-color-text); }
/* Le panneau flotte sous le champ et porte le fond, le rayon et l'ombre ; la liste ne
   fait plus que défiler à l'intérieur. Sans cette séparation, une barre posée sous une
   liste qui défile n'aurait aucun bas où se coller : elle défilerait avec les options. */
.rlcc-combo__panel {
  position: absolute;
  z-index: 30;
  inset-inline: 0;
  inset-block-start: calc(100% + 4px);
  background: var(--rlcc-color-surface);
  border-radius: var(--rlcc-radius-control);
  box-shadow: var(--rlcc-shadow-md);
  overflow: hidden;
}
/* `overscroll-behavior` : arrivé au bout de la liste, le défilement s'y arrête. Sans lui,
   il passait à la page — au doigt, la page partait avec la liste et l'en-tête collant du
   thème apparaissait puis disparaissait sous le pouce. */
.rlcc-combo__list {
  max-height: 264px;
  margin: 0;
  padding: 4px;
  overflow-y: auto;
  overscroll-behavior: contain;
  list-style: none;
}
/* Barre « Valider » de toutes les listes : à choix multiple, ce qui est choisi à gauche ;
   le bouton qui referme toujours à droite, seul à choix unique. Elle borde la liste
   plutôt que de flotter au-dessus : le dernier choix reste atteignable au défilement. */
.rlcc-combo__actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--rlcc-space-3);
  padding: 8px 10px;
  border-block-start: 1px solid var(--rlcc-color-border);
  background: var(--rlcc-color-surface);
}
.rlcc-combo__count { font-size: var(--rlcc-text-sm); color: var(--rlcc-color-text-muted); font-variant-numeric: tabular-nums; }
.rlcc-combo__validate {
  margin-inline-start: auto;
  padding: 6px 16px;
  border: 0;
  border-radius: var(--rlcc-radius-control);
  background: var(--rlcc-color-primary);
  color: var(--rlcc-color-on-primary);
  font-family: inherit;
  font-size: var(--rlcc-text-sm);
  font-weight: 600;
  cursor: pointer;
}
.rlcc-combo__validate:hover { background: var(--rlcc-color-primary-hover); }
/* SUR UN TÉLÉPHONE, LA BARRE PASSE EN TÊTE, juste sous le champ. En pied, elle finissait
   derrière le clavier virtuel ou sous le bouton flottant « Déposer mon CV » du thème, et
   il fallait redescendre toute une liste pour valider un choix fait en tête. Elle garde
   sa place dans le document — à choix multiple, TAB la trouve toujours après le champ —
   et ne change que d'ordre à l'écran ; son filet passe dessous, du côté de la liste
   qu'elle sépare.
   `:not([hidden])` n'est pas une précaution de style : un `display` posé sur le panneau
   battrait l'attribut `hidden`, et la liste fermée resterait affichée. */
@media (max-width: 600px) {
  .rlcc-combo__panel:not([hidden]) { display: flex; flex-direction: column; }
  .rlcc-combo__panel > .rlcc-combo__actions {
    order: -1;
    border-block-start: 0;
    border-block-end: 1px solid var(--rlcc-color-border);
  }
}
.rlcc-combo__option {
  padding: 8px var(--rlcc-space-3);
  border-radius: calc(var(--rlcc-radius-control) - 2px);
  font-size: var(--rlcc-text-base);
  cursor: pointer;
}
.rlcc-combo__option.is-active { background: var(--rlcc-color-surface-sunken); }
.rlcc-combo__option.is-selected { font-weight: 600; }
.rlcc-combo__option.is-selected::after { content: " ✓"; color: var(--rlcc-color-primary); }
.rlcc-combo__note { padding: 8px var(--rlcc-space-3); color: var(--rlcc-color-text-muted); font-size: var(--rlcc-text-sm); }
/* Listes hiérarchisées (champ « Localité » : grand bassin d'emploi → bassin → ville).
   Le niveau se lit à DEUX signes à la fois — la graisse et le retrait — parce qu'un
   retrait seul se perd dès que le libellé du dessus est plus court que celui du dessous.
   Le premier niveau ne se décale pas : c'est lui qui tient la marge de référence. */
.rlcc-combo__option--d0 {
  margin-block-start: 4px;
  font-weight: 600;
  letter-spacing: 0.01em;
}
.rlcc-combo__option--d0:first-child { margin-block-start: 0; }
.rlcc-combo__option--d1 { padding-inline-start: calc(var(--rlcc-space-3) + 16px); }
.rlcc-combo__option--d2 { padding-inline-start: calc(var(--rlcc-space-3) + 32px); }
.rlcc-combo__option--d3 { padding-inline-start: calc(var(--rlcc-space-3) + 48px); }
/* Bassin rappelé pendant un filtre. Il tient la structure debout — sans lui, une ville
   filtrée se lit sous le premier grand bassin venu — ET IL SE COCHE : chercher une ville
   pour retenir son bassin est le geste courant. Il était gris et sans curseur, ce qui
   annonçait une ligne morte ; seul le corps plus petit le distingue encore d'une
   correspondance, parce qu'il n'a pas répondu à la recherche. */
.rlcc-combo__ancestor {
  padding: 6px var(--rlcc-space-3) 2px;
  border-radius: calc(var(--rlcc-radius-control) - 2px);
  font-size: var(--rlcc-text-sm);
  cursor: pointer;
}
.rlcc-combo__ancestor.is-active { background: var(--rlcc-color-surface-sunken); }
.rlcc-combo__ancestor.is-selected { font-weight: 600; }
.rlcc-combo__ancestor.is-selected::after { content: " ✓"; color: var(--rlcc-color-primary); }
.rlcc-combo__ancestor--d1 { padding-inline-start: calc(var(--rlcc-space-3) + 16px); }
.rlcc-combo__ancestor--d2 { padding-inline-start: calc(var(--rlcc-space-3) + 32px); }
.rlcc-combo__ancestor--d3 { padding-inline-start: calc(var(--rlcc-space-3) + 48px); }
/* En-tête du groupe de fin : du texte, jamais une option — il ne se survole pas, ne se
   coche pas, et le curseur ne doit rien promettre d'autre. */
.rlcc-combo__group {
  padding: 10px var(--rlcc-space-3) 4px;
  color: var(--rlcc-color-text-muted);
  font-size: var(--rlcc-text-sm);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  cursor: default;
}
.rlcc-combo__live { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }

.rlcc-help { color: var(--rlcc-color-text-muted); font-size: var(--rlcc-text-sm); text-wrap: pretty; }
.rlcc-field__error { color: var(--rlcc-danger-strong); font-size: var(--rlcc-text-sm); font-weight: 500; }
.rlcc-field.has-error .rlcc-input,
.rlcc-field.has-error .rlcc-select,
.rlcc-field.has-error .rlcc-textarea { border-color: var(--rlcc-danger); box-shadow: 0 0 0 1px var(--rlcc-danger); }
.rlcc-checkbox { display: inline-flex; align-items: flex-start; gap: var(--rlcc-space-2); cursor: pointer; font-size: var(--rlcc-text-base); line-height: var(--rlcc-lh-body); }
.rlcc-checkbox input[type="checkbox"] { flex: none; width: 18px; height: 18px; margin-block-start: 2px; accent-color: var(--rlcc-color-primary); cursor: pointer; }
.rlcc-input.is-prefilled,
.rlcc-select.is-prefilled,
.rlcc-textarea.is-prefilled {
  border-color: var(--rlcc-color-accent);
  background-color: #FFFDF5;
  background-color: color-mix(in srgb, var(--rlcc-color-accent) 4%, var(--rlcc-color-surface));
}

.rlcc-card {
  background: var(--rlcc-color-surface);
  border-radius: var(--rlcc-radius-xl);
  padding: var(--rlcc-space-6);
  box-shadow: var(--rlcc-shadow-sm);
  transition: box-shadow var(--rlcc-dur) var(--rlcc-ease-out), translate var(--rlcc-dur) var(--rlcc-ease-out), scale var(--rlcc-dur-fast) var(--rlcc-ease-out);
}
.rlcc-card :where(img) { border-radius: var(--rlcc-radius-md); }
.rlcc-card--offer:hover { box-shadow: var(--rlcc-shadow-md); translate: 0 -2px; }
@supports (color: color-mix(in srgb, red 50%, blue)) {
  .rlcc-card--offer:hover {
    box-shadow:
      0 0 0 1.5px color-mix(in srgb, var(--rlcc-color-primary) 35%, var(--rlcc-color-surface)),
      0 2px 4px rgba(var(--rlcc-shadow-color), .05),
      0 8px 24px rgba(var(--rlcc-shadow-color), .09);
  }
}
.rlcc .rlcc-card--offer:active { scale: .96; }
.rlcc-card__title { margin: 0 0 var(--rlcc-space-2); font-size: var(--rlcc-text-lg); line-height: var(--rlcc-lh-heading); font-weight: 600; text-wrap: balance; }
.rlcc-card--offer .rlcc-card__title { font-size: var(--rlcc-text-xl); letter-spacing: -.01em; }
.rlcc-card__title a { color: var(--rlcc-color-text); text-decoration: none; }
.rlcc-card__title a:hover { color: var(--rlcc-color-primary); }
.rlcc-card__meta { display: flex; flex-wrap: wrap; gap: var(--rlcc-space-2) var(--rlcc-space-3); font-size: var(--rlcc-text-sm); color: var(--rlcc-color-text-muted); margin: 0 0 var(--rlcc-space-2); }
.rlcc-card__excerpt { margin: 0; font-size: var(--rlcc-text-base); line-height: var(--rlcc-lh-body); color: var(--rlcc-neutral-700); }

.rlcc-card--offer { position: relative; display: flex; flex-direction: column; gap: var(--rlcc-space-3); }
.rlcc-card--offer .rlcc-card__contrat {
  background: #EAF0FA;
  background: color-mix(in srgb, var(--rlcc-color-primary) 10%, var(--rlcc-color-surface));
  color: var(--rlcc-color-primary-active);
}
.rlcc-card--offer .rlcc-card__badges { padding-inline-end: var(--rlcc-space-8); }
.rlcc-card__arrow {
  position: absolute;
  top: var(--rlcc-space-5);
  inset-inline-end: var(--rlcc-space-5);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 10px;
  background: var(--rlcc-color-surface-sunken);
  background: color-mix(in srgb, var(--rlcc-color-primary) 8%, var(--rlcc-color-surface));
  color: var(--rlcc-color-primary);
  opacity: 0;
  translate: 0 4px;
  transition: opacity var(--rlcc-dur-fast) var(--rlcc-ease-out), translate var(--rlcc-dur-fast) var(--rlcc-ease-out);
}
.rlcc-card--offer:hover .rlcc-card__arrow,
.rlcc-card--offer:focus-within .rlcc-card__arrow { opacity: 1; translate: 0 0; }
.rlcc-card--offer .rlcc-card__title,
.rlcc-card--offer .rlcc-card__meta,
.rlcc-card--offer .rlcc-card__excerpt { margin: 0; }
.rlcc-card--offer .rlcc-card__meta { margin-block-start: auto; }
.rlcc-card__badges { display: flex; flex-wrap: wrap; gap: var(--rlcc-space-2); }
.rlcc-card__ville svg, .rlcc-card__contrat svg { flex: none; }
.rlcc-card__link::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
.rlcc-card--offer:hover .rlcc-card__link { color: var(--rlcc-color-primary); }
.rlcc-card__date { color: var(--rlcc-color-text-muted); font-size: var(--rlcc-text-xs); font-variant-numeric: tabular-nums; }

.rlcc-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--rlcc-space-1);
  padding: 2px 8px;
  border-radius: var(--rlcc-radius-full);
  font-size: var(--rlcc-text-2xs);
  font-weight: 600;
  letter-spacing: .02em;
  text-transform: uppercase;
  background: var(--rlcc-color-surface-sunken);
  color: var(--rlcc-neutral-700);
}
.rlcc-badge--muted { background: var(--rlcc-color-surface-sunken); color: var(--rlcc-color-text-muted); text-transform: none; }
.rlcc-badge--accent { background: var(--rlcc-color-accent); color: var(--rlcc-color-on-accent); text-transform: none; }

.rlcc-breadcrumb { font-size: var(--rlcc-text-sm); color: var(--rlcc-color-text-muted); margin-block: var(--rlcc-space-3); }
.rlcc-breadcrumb ol { display: flex; flex-wrap: wrap; align-items: center; gap: var(--rlcc-space-2); }
.rlcc-breadcrumb li { display: inline-flex; align-items: center; gap: var(--rlcc-space-2); }
.rlcc-breadcrumb li:not(:last-child)::after { content: "\203A"; color: var(--rlcc-color-border-strong); }
.rlcc-breadcrumb a { color: inherit; text-decoration: none; }
.rlcc-breadcrumb a:hover { color: var(--rlcc-color-primary); text-decoration: underline; }
.rlcc-breadcrumb [aria-current] { color: var(--rlcc-color-text); font-weight: 600; }

.rlcc-search-form {
  display: flex;
  flex-wrap: wrap;
  gap: var(--rlcc-space-3);
  align-items: flex-end;
  padding: var(--rlcc-space-5);
  background: var(--rlcc-color-surface);
  border-radius: var(--rlcc-radius-xl);
  box-shadow: var(--rlcc-shadow-sm);
}
.rlcc-search-band { padding-block: var(--rlcc-space-8) 0; }
.rlcc-results-band { padding-block: var(--rlcc-space-6) 72px; }
.rlcc-search-form__field { position: relative; display: flex; flex-direction: column; gap: var(--rlcc-space-1); flex: 1 1 180px; }
.rlcc-search-form__field--q { flex: 2 1 260px; }
.rlcc-search-form label { font-size: var(--rlcc-text-sm); font-weight: 600; color: var(--rlcc-color-text); }
.rlcc-search-form input,
.rlcc-search-form select {
  width: 100%;
  height: 44px;
  padding: 0 var(--rlcc-space-3);
  background: var(--rlcc-color-surface);
  color: var(--rlcc-color-text);
  border: 1px solid var(--rlcc-color-border-strong);
  border-radius: var(--rlcc-radius-control);
  font-size: var(--rlcc-text-md);
  transition: border-color 150ms ease, box-shadow 150ms ease;
}
.rlcc-search-form input:hover,
.rlcc-search-form select:hover { border-color: var(--rlcc-color-text-muted); }
.rlcc-search-form__field--rayon { flex: 0 1 150px; }
.rlcc-search-form__submit { flex: 0 0 auto; }
@media (max-width: 782px) {
  .rlcc-search-form { flex-direction: column; align-items: stretch; }
  .rlcc-search-form__field { flex: 1 1 auto; }
  .rlcc-search-form__submit { width: 100%; }
}
@media (min-width: 900px) {
  .rlcc-search-form { display: grid; grid-template-columns: 1.4fr 1fr auto auto; gap: var(--rlcc-space-3); align-items: end; }
  .rlcc-search-form__submit { width: auto; align-self: end; }
}

.rlcc-suggest {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 30;
  margin-block-start: var(--rlcc-space-1);
  background: var(--rlcc-color-surface);
  border: 1px solid var(--rlcc-color-border-strong);
  border-radius: var(--rlcc-radius-control);
  box-shadow: 0 8px 24px rgba(var(--rlcc-shadow-color), .12);
  max-height: 280px;
  overflow-y: auto;
}
.rlcc-suggest__item {
  display: block;
  width: 100%;
  text-align: left;
  padding: var(--rlcc-space-2) var(--rlcc-space-3);
  background: none;
  cursor: pointer;
  font-size: var(--rlcc-text-base);
  color: var(--rlcc-color-text);
}
.rlcc-suggest__item:hover,
.rlcc-suggest__item:focus { background: var(--rlcc-color-surface-sunken); }

/* Métiers retenus dans le champ « Métier ». Même dessin que les puces du sélecteur de
   localité (`.rlcc-combo__chip`) : ce sont deux fois la même chose à l'écran — un
   critère retenu, retirable d'un geste —, et deux dessins différents pour la même
   promesse est exactement ce qui fait douter qu'on puisse en retirer un. */
.rlcc-chosen { display: flex; align-items: center; gap: 6px; }
.rlcc-chosen__item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 100%;
  padding: 2px 4px 2px 10px;
  background: var(--rlcc-color-surface-sunken);
  border-radius: 999px;
  font-size: var(--rlcc-text-sm);
  line-height: 1.6;
  white-space: nowrap;
}
.rlcc-chosen__x {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--rlcc-color-text-muted);
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
}
.rlcc-chosen__x:hover { background: var(--rlcc-color-border-strong); color: var(--rlcc-color-text); }

.rlcc-results { display: grid; gap: var(--rlcc-space-6); grid-template-columns: 1fr; align-items: start; }
@media (min-width: 1024px) { .rlcc-results { grid-template-columns: 300px minmax(0, 1fr); gap: var(--rlcc-space-8); } }
.rlcc-results__main { min-width: 0; }
.rlcc-results__count { margin: 0 0 var(--rlcc-space-4); font-size: var(--rlcc-text-sm); color: var(--rlcc-color-text-muted); }
.rlcc-results__count strong { color: var(--rlcc-color-text); font-variant-numeric: tabular-nums; }
.rlcc-facets { display: flex; flex-direction: column; gap: var(--rlcc-space-4); }
.rlcc-facet { padding: var(--rlcc-space-4); background: var(--rlcc-color-surface); border-radius: var(--rlcc-radius-lg); box-shadow: var(--rlcc-shadow-xs); }
.rlcc-facet__title { margin: 0 0 var(--rlcc-space-2); font-size: var(--rlcc-text-xs); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--rlcc-color-text-muted); }
.rlcc-facet__list { display: flex; flex-direction: column; gap: var(--rlcc-space-1); }
.rlcc .rlcc-facet__link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--rlcc-space-2);
  padding: var(--rlcc-space-2) 10px;
  border-radius: var(--rlcc-radius-md);
  font-size: var(--rlcc-text-base);
  text-decoration: none;
  color: var(--rlcc-color-text);
  transition: background-color var(--rlcc-dur-fast) var(--rlcc-ease-out), color var(--rlcc-dur-fast) var(--rlcc-ease-out);
}
.rlcc .rlcc-facet__link:hover {
  background-color: #F4F6FB;
  background-color: color-mix(in srgb, var(--rlcc-color-primary) 5%, var(--rlcc-color-surface));
  color: var(--rlcc-color-primary);
  text-decoration: none;
}
.rlcc .rlcc-facet__link.is-active {
  font-weight: 600;
  color: var(--rlcc-color-primary-active);
  background-color: #EAF0FA;
  background-color: color-mix(in srgb, var(--rlcc-color-primary) 9%, var(--rlcc-color-surface));
}
.rlcc .rlcc-facet__link.is-active::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  top: 50%;
  translate: 0 -50%;
  width: 3px;
  height: 16px;
  border-radius: var(--rlcc-radius-full);
  background: var(--rlcc-color-primary);
}
.rlcc .rlcc-facet__link.is-active .rlcc-facet__count { color: var(--rlcc-color-primary-active); }
.rlcc-facet__count { flex: none; padding: 2px var(--rlcc-space-2); background: var(--rlcc-color-surface-sunken); border-radius: var(--rlcc-radius-full); color: var(--rlcc-color-text-muted); font-size: var(--rlcc-text-xs); font-variant-numeric: tabular-nums; }
.rlcc-cards { display: grid; gap: var(--rlcc-space-6); grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }

.rlcc-featured { display: grid; gap: var(--rlcc-space-6); grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); }
.rlcc-featured__more { margin-block-start: var(--rlcc-space-6); text-align: center; }

.rlcc-pagination { display: flex; flex-wrap: wrap; gap: var(--rlcc-space-2); margin-block-start: var(--rlcc-space-5); }
.rlcc-pagination__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 var(--rlcc-space-3);
  border-radius: 10px;
  box-shadow: var(--rlcc-shadow-xs);
  text-decoration: none;
  color: var(--rlcc-color-text);
  font-size: var(--rlcc-text-base);
  font-variant-numeric: tabular-nums;
  transition: background-color var(--rlcc-dur-fast) var(--rlcc-ease-out), box-shadow var(--rlcc-dur-fast) var(--rlcc-ease-out);
}
.rlcc-pagination__link:hover { background: var(--rlcc-color-surface-sunken); }
.rlcc-pagination__link.is-current { background: var(--rlcc-color-primary); color: var(--rlcc-color-on-primary); box-shadow: var(--rlcc-shadow-xs); }

.rlcc-empty {
  padding: var(--rlcc-space-8);
  text-align: center;
  color: var(--rlcc-color-text-muted);
  border: 1px dashed var(--rlcc-color-border-strong);
  border-radius: var(--rlcc-radius-control);
  text-wrap: pretty;
}
.rlcc-empty p { margin: 0; }
.rlcc-empty p + p { margin-block-start: var(--rlcc-space-2); }
.rlcc-empty__title { font-weight: 600; color: var(--rlcc-color-text); text-wrap: balance; }
.rlcc-empty__icon { display: block; margin: 0 auto var(--rlcc-space-4); color: var(--rlcc-color-border-strong); }

.rlcc-matching { display: flex; flex-direction: column; gap: var(--rlcc-space-6); }
.rlcc-matching__form { display: flex; flex-direction: column; gap: var(--rlcc-space-5); }
.rlcc-matching__actions { display: flex; }
.rlcc-matching__actions .rlcc-btn { width: 100%; }
@media (min-width: 640px) {
  .rlcc-matching__actions { justify-content: flex-start; }
  .rlcc-matching__actions .rlcc-btn { width: auto; }
}
.rlcc-matching__results { display: flex; flex-direction: column; gap: var(--rlcc-space-5); }
.rlcc-matching__status { margin: 0; color: var(--rlcc-color-text-muted); font-size: var(--rlcc-text-base); }
.rlcc-matching__heading { margin: 0; font-size: var(--rlcc-text-xl); line-height: var(--rlcc-lh-heading); font-weight: 700; letter-spacing: -.01em; }

.rlcc-match-score {
  background: var(--rlcc-color-surface-sunken);
  background: color-mix(in srgb, var(--rlcc-color-primary) 12%, var(--rlcc-color-surface));
  color: var(--rlcc-color-primary-active);
  text-transform: none;
  font-variant-numeric: tabular-nums;
}
html.rlcc-js .rlcc-match-card { animation: rlcc-rise .45s var(--rlcc-ease-out) both; animation-delay: calc(var(--rlcc-reveal-i, 0) * 60ms); }

.rlcc-matching__cta { padding: var(--rlcc-space-5); border-radius: var(--rlcc-radius-lg); background: var(--rlcc-color-surface-sunken); }
.rlcc-matching__cta-lead { margin: 0 0 var(--rlcc-space-3); font-weight: 600; color: var(--rlcc-color-text); }
.rlcc-matching__cta-actions { display: flex; flex-wrap: wrap; gap: var(--rlcc-space-3); }

.rlcc-hero { padding-block: var(--rlcc-space-8); }
.rlcc-hero__title { margin: 0 0 var(--rlcc-space-3); font-size: var(--rlcc-text-3xl); line-height: var(--rlcc-lh-tight); font-weight: 700; letter-spacing: -.01em; text-wrap: balance; color: var(--rlcc-color-text); }
.rlcc-hero__subtitle { margin: 0; max-width: var(--rlcc-measure); font-size: var(--rlcc-text-lg); line-height: var(--rlcc-lh-body); color: var(--rlcc-color-text-muted); text-wrap: pretty; }
.rlcc-hero--lg .rlcc-hero__title { font-size: clamp(2.25rem, 1.4rem + 2.2vw, 3.25rem); line-height: 1.08; letter-spacing: -0.02em; font-weight: 700; }
.rlcc-hero--gradient {
  padding: var(--rlcc-space-9) var(--rlcc-space-7);
  border-radius: var(--rlcc-radius-lg);
  background:
    linear-gradient(120deg, rgba(43, 67, 123, .06) 0%, rgba(53, 83, 155, .06) 28%, rgba(63, 169, 160, .08) 68%, rgba(159, 212, 106, .10) 100%),
    var(--rlcc-color-surface);
}

.rlcc-section { margin-block: var(--rlcc-space-8); }
.rlcc-section__title { margin: 0 0 var(--rlcc-space-5); font-size: clamp(1.5rem, 1.2rem + 0.9vw, 1.875rem); line-height: var(--rlcc-lh-heading); font-weight: 700; letter-spacing: -.01em; text-wrap: balance; }
.rlcc-section__grid { display: grid; gap: var(--rlcc-space-4); grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.rlcc-statcard {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--rlcc-space-1);
  padding: var(--rlcc-space-6);
  border-radius: var(--rlcc-radius-xl);
  background: var(--rlcc-color-surface);
  box-shadow: var(--rlcc-shadow-sm);
  text-align: center;
}
.rlcc-statcard__num { font-size: var(--rlcc-text-4xl); line-height: var(--rlcc-lh-tight); font-weight: 700; color: var(--rlcc-color-primary); font-variant-numeric: tabular-nums; }
.rlcc-statcard__label { margin-block-start: var(--rlcc-space-1); font-size: var(--rlcc-text-sm); color: var(--rlcc-color-text-muted); text-wrap: balance; }

.rlcc-dropzone {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--rlcc-space-2);
  padding-block: 44px;
  padding-inline: var(--rlcc-space-6);
  text-align: center;
  border: 1.5px dashed var(--rlcc-color-border-strong);
  border-radius: var(--rlcc-radius-lg);
  background: var(--rlcc-color-surface-sunken);
  background: color-mix(in srgb, var(--rlcc-color-primary) 3%, var(--rlcc-color-surface));
  color: var(--rlcc-color-text-muted);
  cursor: pointer;
  transition: border-color var(--rlcc-dur-fast) var(--rlcc-ease-out), background-color var(--rlcc-dur-fast) var(--rlcc-ease-out), color var(--rlcc-dur-fast) var(--rlcc-ease-out);
}
.rlcc-dropzone__icon { color: var(--rlcc-color-primary); }
.rlcc-dropzone:hover {
  border-color: var(--rlcc-color-primary);
  background: var(--rlcc-color-surface-sunken);
  background: color-mix(in srgb, var(--rlcc-color-primary) 6%, var(--rlcc-color-surface));
}
.rlcc-dropzone [type="file"] { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.rlcc-dropzone:focus-within { box-shadow: var(--rlcc-focus-ring); }
.rlcc-dropzone__hint { font-size: var(--rlcc-text-sm); color: var(--rlcc-color-text-muted); }
.rlcc-dropzone.is-drag {
  border-color: var(--rlcc-color-primary);
  color: var(--rlcc-color-primary);
  background: color-mix(in srgb, var(--rlcc-color-primary) 6%, var(--rlcc-color-surface));
}
.rlcc-dropzone.has-file {
  border-style: solid;
  border-color: var(--rlcc-color-border);
  background: var(--rlcc-color-surface);
  color: var(--rlcc-color-text);
}
.rlcc-dropzone__file { display: inline-flex; align-items: center; gap: var(--rlcc-space-2); font-weight: 600; color: var(--rlcc-color-text); }
.rlcc-dropzone__remove { color: var(--rlcc-danger-strong); font-size: var(--rlcc-text-sm); text-decoration: underline; }
.rlcc-dropzone.has-error { border-style: solid; border-color: var(--rlcc-danger); background: var(--rlcc-danger-bg); color: var(--rlcc-danger-strong); }
.rlcc-dropzone.is-parsing { border-style: solid; border-color: var(--rlcc-color-border); overflow: hidden; }
.rlcc-dropzone.is-parsing::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 25%, rgba(var(--rlcc-shadow-color), .06) 50%, transparent 75%);
  transform: translateX(-100%);
  animation: rlcc-shimmer 1.4s ease infinite;
}

.rlcc-note {
  display: block;
  padding: var(--rlcc-space-4);
  border: 1px solid var(--rlcc-color-border);
  border-inline-start-width: 4px;
  border-radius: var(--rlcc-radius-md);
  margin-block: var(--rlcc-space-4);
  font-size: var(--rlcc-text-base);
  line-height: var(--rlcc-lh-body);
  text-wrap: pretty;
}
.rlcc-note__title { font-weight: 600; margin-block-end: var(--rlcc-space-1); text-wrap: balance; }
.rlcc-note--info { background: var(--rlcc-info-bg); border-color: var(--rlcc-info); color: var(--rlcc-color-text); }
.rlcc-note--success { background: var(--rlcc-success-bg); border-color: var(--rlcc-success); color: var(--rlcc-success-strong); }
.rlcc-note--danger { background: var(--rlcc-danger-bg); border-color: var(--rlcc-danger); color: var(--rlcc-danger-strong); }

/* Analyse du CV en cours : les champs que le document va renseigner s'affichent en
   attente. Le formulaire vient de s'ouvrir et se remplira tout seul — sans ce signe, le
   candidat tape par-dessus ce que l'analyse s'apprête à écrire, et sa saisie prime alors
   sur le CV. Les champs restent utilisables : c'est une attente, pas un verrou. */
.rlcc-apply-form--parsing .rlcc-apply-form__identity .rlcc-input,
.rlcc-apply-form--parsing .rlcc-apply-form__identity .rlcc-select {
  position: relative;
  background-image: linear-gradient(90deg, transparent 25%, var(--rlcc-color-surface-sunken) 50%, transparent 75%);
  background-repeat: no-repeat;
  background-size: 200% 100%;
  animation: rlcc-sweep 1.4s ease infinite;
}
@keyframes rlcc-sweep { from { background-position: 200% 0; } to { background-position: -200% 0; } }
@media (prefers-reduced-motion: reduce) {
  .rlcc-apply-form--parsing .rlcc-apply-form__identity .rlcc-input,
  .rlcc-apply-form--parsing .rlcc-apply-form__identity .rlcc-select { animation: none; }
}

.rlcc-skeleton { position: relative; overflow: hidden; background: var(--rlcc-color-surface-sunken); border-radius: var(--rlcc-radius-sm); }
.rlcc-skeleton::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 25%, var(--rlcc-color-border) 50%, transparent 75%);
  transform: translateX(-100%);
  animation: rlcc-shimmer 1.4s ease infinite;
}
.rlcc-skeleton--line { height: 20px; margin-block: var(--rlcc-space-2); }

.rlcc-sticky-cta { display: none; }
@media (min-width: 783px) {
  .rlcc-sticky-cta.is-visible {
    display: inline-flex;
    position: fixed;
    inset-block-end: var(--rlcc-space-6);
    inset-inline-end: var(--rlcc-space-6);
    z-index: 40;
    border-radius: var(--rlcc-radius-full);
    box-shadow: 0 2px 8px rgba(var(--rlcc-shadow-color), .12), 0 12px 32px rgba(var(--rlcc-shadow-color), .24);
    animation: rlcc-rise 200ms cubic-bezier(.2, 0, 0, 1) both;
  }
  .rlcc-sticky-cta.is-visible .rlcc-btn { border-radius: var(--rlcc-radius-full); }
}
@media (max-width: 782px) {
  .rlcc-sticky-cta.is-visible {
    display: flex;
    position: fixed;
    inset-inline: 0;
    inset-block-end: 0;
    z-index: 40;
    padding: var(--rlcc-space-3) var(--rlcc-space-4);
    background: var(--rlcc-color-surface);
    border-block-start: 1px solid var(--rlcc-color-border);
    box-shadow: 0 -4px 16px rgba(var(--rlcc-shadow-color), .08);
    animation: rlcc-rise 200ms cubic-bezier(.2, 0, 0, 1) both;
  }
  .rlcc-sticky-cta.is-visible .rlcc-btn { flex: 1; }
}

.rlcc-offer { display: grid; gap: var(--rlcc-space-6); }
@media (min-width: 1024px) {
  .rlcc-offer { grid-template-columns: minmax(0, 1fr) 360px; gap: var(--rlcc-space-9); align-items: start; }
  .rlcc-offer__aside { position: sticky; inset-block-start: var(--rlcc-space-6); align-self: start; }
}
.rlcc-landing { display: flex; flex-direction: column; gap: 0; }
.rlcc-measure { max-width: var(--rlcc-measure); }

.rlcc-landing .rlcc-section { margin-block: 0; }
.rlcc-landing .rlcc-section--featured,
.rlcc-landing .rlcc-section--values { padding-block: 88px; }
.rlcc-landing .rlcc-section__title { margin-block-end: var(--rlcc-space-7); }

.rlcc-landing__hero-band {
  padding-block: 96px 36px;
  background: var(--rlcc-color-primary);
  background:
    radial-gradient(720px 360px at 84% -12%, rgba(255, 255, 255, .14), transparent 70%),
    linear-gradient(165deg, var(--rlcc-color-primary) 0%, var(--rlcc-color-primary-active) 100%);
}
.rlcc-landing__hero { display: flex; flex-direction: column; gap: var(--rlcc-space-5); max-width: 880px; margin-inline: auto; padding-block: 0; text-align: center; }
.rlcc-landing__hero .rlcc-hero__title { margin: 0; max-width: 720px; margin-inline: auto; color: var(--rlcc-color-on-primary); }
.rlcc-landing__hero .rlcc-hero__subtitle { max-width: 56ch; margin-inline: auto; font-size: var(--rlcc-text-lg); color: var(--rlcc-color-on-primary); opacity: .82; }
.rlcc-hero__search {
  position: relative;
  z-index: 1;
  margin-block-start: var(--rlcc-space-2);
  margin-bottom: -56px;
  text-align: start;
}
.rlcc-hero__search .rlcc-search-form { box-shadow: var(--rlcc-shadow-lg); }
.rlcc-hero__search .rlcc-search-band { width: auto !important; max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; padding: 0; }
.rlcc-hero__search .rlcc-search-band > .rlcc-container { max-width: none; margin-inline: 0; padding-inline: 0; }
.rlcc-hero__alt { display: inline-block; margin-block-start: 72px; font-size: var(--rlcc-text-sm); color: var(--rlcc-color-on-primary); opacity: .75; text-decoration: none; transition: opacity var(--rlcc-dur-fast) var(--rlcc-ease-out); }
.rlcc-hero__alt:hover { opacity: 1; text-decoration: underline; }

.rlcc-landing__stats-band { padding-block: 96px var(--rlcc-space-9); }
.rlcc-landing__stats { grid-template-columns: repeat(auto-fit, minmax(200px, 280px)); justify-content: center; gap: var(--rlcc-space-6); }

.rlcc-landing__values { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--rlcc-space-8); }
.rlcc-card--value { display: flex; flex-direction: column; gap: var(--rlcc-space-2); padding: 0; background: transparent; box-shadow: none; }
.rlcc-card--value__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  margin-block-end: var(--rlcc-space-1);
  border-radius: var(--rlcc-radius-lg);
  background: var(--rlcc-color-surface-sunken);
  background: color-mix(in srgb, var(--rlcc-color-primary) 8%, var(--rlcc-color-surface));
  color: var(--rlcc-color-primary);
}
.rlcc-card--value .rlcc-card__title { margin: 0; font-size: var(--rlcc-text-lg); font-weight: 600; }
.rlcc-card--value .rlcc-card__excerpt { color: var(--rlcc-color-text-muted); }

.rlcc-landing__spontaneous-band {
  padding-block: var(--rlcc-space-9);
  background: var(--rlcc-color-surface-sunken);
  background: color-mix(in srgb, var(--rlcc-color-primary) 4%, var(--rlcc-color-surface));
}
.rlcc-landing__spontaneous { display: flex; flex-direction: column; gap: var(--rlcc-space-6); }
.rlcc-landing__spontaneous-text > p { margin: 0; color: var(--rlcc-color-text-muted); }
.rlcc-landing__spontaneous-text > p.rlcc-landing__spontaneous-title { margin-block-end: var(--rlcc-space-1); font-size: var(--rlcc-text-md); font-weight: 600; color: var(--rlcc-color-text); }
.rlcc-landing__spontaneous .rlcc-btn { flex: none; }
@media (min-width: 783px) {
  .rlcc-landing__spontaneous { flex-direction: row; align-items: center; justify-content: space-between; }
}

@keyframes rlcc-spin { to { transform: rotate(360deg); } }
@keyframes rlcc-shimmer { to { transform: translateX(100%); } }
@keyframes rlcc-rise { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes rlcc-hero-in { from { opacity: 0; translate: 0 12px; } to { opacity: 1; translate: 0 0; } }

.rlcc-offer-page { padding-block: 0; }
.rlcc-offer-page__inner { max-width: 1120px; margin-inline: auto; padding-inline: var(--rlcc-space-5); }

.rlcc-offer-hero-section {
  padding-block: var(--rlcc-space-8) var(--rlcc-space-8);
  background: var(--rlcc-color-surface-sunken);
  background:
    radial-gradient(640px 300px at 88% -20%, color-mix(in srgb, var(--rlcc-color-primary) 10%, transparent), transparent 70%),
    linear-gradient(180deg, color-mix(in srgb, var(--rlcc-color-primary) 7%, var(--rlcc-color-surface)), color-mix(in srgb, var(--rlcc-color-primary) 2%, var(--rlcc-color-surface)));
  box-shadow: inset 0 -1px 0 rgba(var(--rlcc-shadow-color), .06);
}
.rlcc-offer-body { padding-block: var(--rlcc-space-8); }
.rlcc-offer-apply-section { padding-block: 72px; background: var(--rlcc-color-surface-sunken); }

.rlcc-similar-section { padding-block: 72px; }
.rlcc-similar__title { margin-block: 0 var(--rlcc-space-6); font-size: var(--rlcc-text-2xl); line-height: var(--rlcc-lh-heading); font-weight: 700; letter-spacing: -.01em; text-wrap: balance; }

.rlcc-offer-hero { display: flex; flex-direction: column; gap: var(--rlcc-space-4); padding-block: 0; }
.rlcc-offer-hero__brand { margin: 0; font-size: var(--rlcc-text-sm); font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--rlcc-color-primary); }
.rlcc-offer-hero__title { margin: 0; font-size: clamp(1.9rem, 1.3rem + 1.6vw, 2.6rem); line-height: 1.12; letter-spacing: -0.015em; }
.rlcc-offer-hero__badges { display: flex; flex-wrap: wrap; gap: var(--rlcc-space-2); margin: 0; }
.rlcc-offer-hero__badges .rlcc-badge { padding: 6px 12px; font-size: var(--rlcc-text-sm); text-transform: none; letter-spacing: normal; }
.rlcc-offer-hero__badges .rlcc-badge--muted { background: var(--rlcc-color-surface); color: var(--rlcc-color-text); box-shadow: inset 0 0 0 1px var(--rlcc-color-border); }
.rlcc-offer-hero__salary { font-variant-numeric: tabular-nums; }
.rlcc-offer-hero__foot { display: flex; flex-wrap: wrap; align-items: center; gap: var(--rlcc-space-3) var(--rlcc-space-5); margin-block-start: var(--rlcc-space-1); }
.rlcc-offer-hero__date { margin: 0; font-size: var(--rlcc-text-sm); color: var(--rlcc-color-text-muted); font-variant-numeric: tabular-nums; }

.rlcc-offer { margin-block-start: var(--rlcc-space-7); }
.rlcc-offer__content { min-width: 0; max-width: 68ch; font-size: var(--rlcc-text-md); line-height: var(--rlcc-lh-body); color: var(--rlcc-neutral-700); text-wrap: pretty; }
.rlcc-offer__content li::marker { color: var(--rlcc-color-primary); }
.rlcc-offer__content > :first-child { margin-block-start: 0; }
.rlcc-offer__content h2, .rlcc-offer__content h3 { color: var(--rlcc-color-text); line-height: var(--rlcc-lh-heading); text-wrap: balance; margin-block: var(--rlcc-space-6) var(--rlcc-space-3); }
.rlcc-offer__content h2 { font-size: var(--rlcc-text-xl); }
.rlcc-offer__content h3 { font-size: var(--rlcc-text-lg); }
.rlcc-offer__content p { margin-block: 0 var(--rlcc-space-4); }
.rlcc-offer__content ul, .rlcc-offer__content ol { margin-block: 0 var(--rlcc-space-4); padding-inline-start: var(--rlcc-space-6); }
.rlcc-offer__content ul { list-style: disc; }
.rlcc-offer__content ol { list-style: decimal; }
.rlcc-offer__content li { margin-block-end: var(--rlcc-space-1); }
.rlcc-offer__content a { color: var(--rlcc-color-primary); text-decoration: underline; }
.rlcc-offer__content strong, .rlcc-offer__content b { color: var(--rlcc-color-text); }

.rlcc-offer__aside { display: flex; flex-direction: column; gap: var(--rlcc-space-4); }
.rlcc-offer__panel { padding: var(--rlcc-space-6); background: var(--rlcc-color-surface); border-radius: var(--rlcc-radius-xl); box-shadow: var(--rlcc-shadow-sm); }
.rlcc-offer__panel-title { margin: 0 0 var(--rlcc-space-3); font-size: var(--rlcc-text-xs); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--rlcc-color-text-muted); }
.rlcc-offer__criteria-list { margin: 0; display: flex; flex-direction: column; gap: var(--rlcc-space-4); }
.rlcc-offer__criteria-row { display: flex; flex-direction: column; gap: 2px; }
.rlcc-offer__criteria-row dt { font-size: var(--rlcc-text-xs); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--rlcc-color-text-muted); }
.rlcc-offer__criteria-row dd { margin: 0; font-size: var(--rlcc-text-base); font-weight: 500; color: var(--rlcc-color-text); }
.rlcc-offer__skills-list { display: flex; flex-wrap: wrap; gap: var(--rlcc-space-2); }
.rlcc-offer__aside-cta { width: 100%; }

.rlcc-apply { max-width: 880px; margin-inline: auto; scroll-margin-block-start: var(--rlcc-space-6); }
.rlcc-apply:empty { margin: 0; }
.rlcc-apply__title { font-size: var(--rlcc-text-2xl); line-height: var(--rlcc-lh-heading); font-weight: 700; letter-spacing: -.01em; margin-block: 0 var(--rlcc-space-6); text-align: center; text-wrap: balance; }

.rlcc-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.rlcc-offer-embed { display: flex; flex-direction: column; gap: var(--rlcc-space-6); }
.rlcc-offer-embed__body { max-width: var(--rlcc-measure); }

.rlcc-required { color: var(--rlcc-danger); }
.rlcc-apply-form {
  display: flex;
  flex-direction: column;
  gap: var(--rlcc-space-5);
  max-width: 880px;
  margin-inline: auto;
  padding: var(--rlcc-space-8) var(--rlcc-space-7);
  background: var(--rlcc-color-surface);
  border-radius: var(--rlcc-radius-2xl);
  box-shadow: var(--rlcc-shadow-md);
}
.rlcc-apply-form__identity,
.rlcc-apply-form__questions { display: flex; flex-direction: column; gap: var(--rlcc-space-4); border: 0; padding: 0; margin: 0; min-width: 0; }
.rlcc-apply-form__identity legend,
.rlcc-apply-form__questions legend { padding: 0; margin-block-end: var(--rlcc-space-1); font-weight: 600; font-size: var(--rlcc-text-lg); line-height: var(--rlcc-lh-heading); color: var(--rlcc-color-text); }
.rlcc-apply-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--rlcc-space-4); }
.rlcc-dropzone__label { font-weight: 600; color: var(--rlcc-color-text); cursor: pointer; }
.rlcc-dropzone__status { position: relative; z-index: 1; font-size: var(--rlcc-text-sm); color: var(--rlcc-color-text-muted); min-height: 1em; }
.rlcc-apply-form__file {
  width: 100%;
  padding: var(--rlcc-space-3);
  border: 1px dashed var(--rlcc-color-border-strong);
  border-radius: var(--rlcc-radius-control);
  background: var(--rlcc-color-surface);
  color: var(--rlcc-color-text-muted);
  font-size: var(--rlcc-text-sm);
}
.rlcc-apply-form__actions { margin-block-start: var(--rlcc-space-2); }
.rlcc-apply-form__actions .rlcc-btn { width: 100%; }

.rlcc-candidature { display: flex; flex-direction: column; gap: var(--rlcc-space-8); }
.rlcc-candidature__title { font-size: var(--rlcc-text-xl); margin-block-end: var(--rlcc-space-3); }
.rlcc-candidature__intro { color: var(--rlcc-color-text-muted); max-width: var(--rlcc-measure); margin-block-end: var(--rlcc-space-4); text-wrap: pretty; }

.rlcc-merci {
  display: flex;
  flex-direction: column;
  gap: var(--rlcc-space-6);
  max-width: 640px;
  margin-inline: auto;
  margin-block: 72px;
  padding: var(--rlcc-space-9) var(--rlcc-space-7);
  background: var(--rlcc-color-surface);
  border-radius: var(--rlcc-radius-2xl);
  box-shadow: var(--rlcc-shadow-md);
  text-align: center;
}
.rlcc-merci__head { display: block; }
.rlcc-merci__badge {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  margin: 0 auto var(--rlcc-space-4);
  border-radius: var(--rlcc-radius-full);
  background: var(--rlcc-success-bg);
  color: var(--rlcc-success-strong);
}
.rlcc-merci .rlcc-note--success { margin: 0; padding: 0; border: 0; background: transparent; color: inherit; text-align: center; }
.rlcc-merci .rlcc-note--success .rlcc-note__title { color: var(--rlcc-color-text); font-size: var(--rlcc-text-xl); }
.rlcc-merci .rlcc-note--success p:not(.rlcc-note__title) { color: var(--rlcc-color-text-muted); }
.rlcc-merci__recap { margin: 0; padding: var(--rlcc-space-4); border-radius: var(--rlcc-radius-md); background: var(--rlcc-color-surface-sunken); font-size: var(--rlcc-text-sm); color: var(--rlcc-color-text); }
.rlcc-merci__next { text-align: left; }
.rlcc-merci__title { font-size: var(--rlcc-text-lg); margin-block-end: var(--rlcc-space-5); text-align: center; }
.rlcc-merci__steps { counter-reset: rlcc-step; display: flex; flex-direction: column; gap: var(--rlcc-space-4); margin: 0; padding: 0; }
.rlcc-merci__steps li { position: relative; counter-increment: rlcc-step; display: flex; flex-direction: column; gap: 2px; padding-inline-start: 44px; min-height: 32px; }
.rlcc-merci__steps li::before {
  content: counter(rlcc-step);
  position: absolute;
  inset-inline-start: 0;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: var(--rlcc-radius-full);
  background: var(--rlcc-color-surface-sunken);
  background: color-mix(in srgb, var(--rlcc-color-primary) 8%, var(--rlcc-color-surface));
  color: var(--rlcc-color-primary);
  font-weight: 600;
  font-size: var(--rlcc-text-sm);
  font-variant-numeric: tabular-nums;
}
.rlcc-merci__steps li:not(:last-child)::after {
  content: "";
  position: absolute;
  inset-inline-start: 15px;
  top: 32px;
  bottom: calc(-1 * var(--rlcc-space-4));
  width: 1px;
  background: var(--rlcc-color-border);
}
.rlcc-merci__step-title { display: block; font-weight: 600; color: var(--rlcc-color-text); }
.rlcc-merci__step-text { display: block; color: var(--rlcc-color-text-muted); font-size: var(--rlcc-text-sm); }
.rlcc-merci__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--rlcc-space-3); }

@media (max-width: 782px) {
  .rlcc-results { grid-template-columns: 1fr; }
  .rlcc-offer-page__inner { padding-inline: var(--rlcc-space-4); }
  .rlcc-offer-hero__foot .rlcc-btn { width: 100%; }
  .rlcc-apply-form__row { grid-template-columns: 1fr; }
  .rlcc-landing__hero-band { padding-block: 48px 72px; }
  .rlcc-hero__search { margin-bottom: -40px; }
  .rlcc-landing__stats-band { padding-block: 80px var(--rlcc-space-8); }
  .rlcc-apply-form { padding: var(--rlcc-space-7) var(--rlcc-space-5); }
}

.rlcc-account { max-width: 880px; margin-inline: auto; }

.rlcc-account--auth { max-width: 460px; }
.rlcc-account__auth-card {
  display: flex;
  flex-direction: column;
  gap: var(--rlcc-space-4);
  padding: var(--rlcc-space-8) var(--rlcc-space-7);
  background: var(--rlcc-color-surface);
  border-radius: var(--rlcc-radius-xl);
  box-shadow: var(--rlcc-shadow-sm);
}
.rlcc-account__auth-title { margin: 0; font-size: var(--rlcc-text-2xl); }
.rlcc-account__auth-text { margin: 0; color: var(--rlcc-color-text-muted); }
.rlcc-account__auth-form { display: flex; flex-direction: column; gap: var(--rlcc-space-4); margin: 0; }
.rlcc-account__auth-form .rlcc-btn { width: 100%; }

.rlcc-account__header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--rlcc-space-3);
  margin-block-end: var(--rlcc-space-5);
}
.rlcc-account__greeting { margin: 0; font-size: var(--rlcc-text-lg); color: var(--rlcc-color-text); }
.rlcc-account__logout { margin: 0; }

.rlcc-account__nav {
  display: flex;
  flex-wrap: wrap;
  gap: var(--rlcc-space-1);
  margin-block-end: var(--rlcc-space-6);
  border-bottom: 1px solid var(--rlcc-color-border);
}
.rlcc-account__tab {
  position: relative;
  padding: var(--rlcc-space-3) var(--rlcc-space-4);
  color: var(--rlcc-color-text-muted);
  font-weight: 600;
  font-size: var(--rlcc-text-base);
  text-decoration: none;
  border-radius: var(--rlcc-radius-sm) var(--rlcc-radius-sm) 0 0;
  transition: color var(--rlcc-dur-fast) var(--rlcc-ease-out), background var(--rlcc-dur-fast) var(--rlcc-ease-out);
}
.rlcc-account__tab:hover { color: var(--rlcc-color-text); background: var(--rlcc-color-surface-sunken); }
.rlcc-account__tab--current { color: var(--rlcc-color-primary); }
.rlcc-account__tab--current::after {
  content: "";
  position: absolute;
  inset-inline: var(--rlcc-space-3);
  bottom: -1px;
  height: 2px;
  background: var(--rlcc-color-primary);
  border-radius: var(--rlcc-radius-full);
}
.rlcc-account__body { min-width: 0; }

.rlcc-account-panel__title { margin: 0 0 var(--rlcc-space-5); font-size: var(--rlcc-text-xl); }

.rlcc-account-empty {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--rlcc-space-4);
  padding: var(--rlcc-space-7);
  background: var(--rlcc-color-surface-sunken);
  border-radius: var(--rlcc-radius-lg);
}
.rlcc-account-empty__text { margin: 0; color: var(--rlcc-color-text-muted); }

.rlcc-account-table { width: 100%; border-collapse: collapse; font-size: var(--rlcc-text-base); }
.rlcc-account-table th, .rlcc-account-table td { padding: var(--rlcc-space-3); text-align: left; vertical-align: middle; }
.rlcc-account-table thead th { font-size: var(--rlcc-text-sm); text-transform: uppercase; letter-spacing: .04em; color: var(--rlcc-color-text-muted); border-bottom: 1px solid var(--rlcc-color-border); }
.rlcc-account-table tbody tr { border-bottom: 1px solid var(--rlcc-color-border); }
.rlcc-account-table tbody tr:last-child { border-bottom: 0; }
.rlcc-account-table__link { color: var(--rlcc-color-primary); font-weight: 600; text-decoration: none; }
.rlcc-account-table__link:hover { text-decoration: underline; }
.rlcc-account-table__muted { color: var(--rlcc-color-text-muted); }

.rlcc-alert-list { list-style: none; margin: 0 0 var(--rlcc-space-7); padding: 0; display: flex; flex-direction: column; gap: var(--rlcc-space-4); }
.rlcc-alert-list__item {
  display: flex;
  flex-wrap: wrap;
  gap: var(--rlcc-space-4);
  align-items: flex-start;
  justify-content: space-between;
  padding: var(--rlcc-space-5);
  background: var(--rlcc-color-surface);
  border: 1px solid var(--rlcc-color-border);
  border-radius: var(--rlcc-radius-lg);
}
.rlcc-alert-list__main { min-width: 0; flex: 1 1 260px; }
.rlcc-alert-list__name { margin: 0 0 var(--rlcc-space-2); font-weight: 600; }
.rlcc-alert-list__meta { display: flex; flex-wrap: wrap; gap: var(--rlcc-space-2) var(--rlcc-space-3); align-items: center; margin: 0; font-size: var(--rlcc-text-sm); color: var(--rlcc-color-text-muted); }
.rlcc-alert-list__actions { display: flex; flex-wrap: wrap; gap: var(--rlcc-space-3); align-items: flex-end; }
.rlcc-alert-list__freq { display: flex; flex-wrap: wrap; gap: var(--rlcc-space-2); align-items: center; }
.rlcc-label--inline { margin: 0; }
.rlcc-account-alert-create { margin-block-start: var(--rlcc-space-7); }

.rlcc-account-form { display: flex; flex-direction: column; gap: var(--rlcc-space-5); }
.rlcc-account-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--rlcc-space-4); }
.rlcc-account-form__actions { display: flex; }
.rlcc-account-form__parse .rlcc-dropzone { margin: 0; }

.rlcc-account-danger {
  margin-block-start: var(--rlcc-space-8);
  padding: var(--rlcc-space-6);
  border: 1px solid var(--rlcc-danger);
  border-radius: var(--rlcc-radius-lg);
  background: var(--rlcc-danger-bg);
}
.rlcc-account-danger__title { margin: 0 0 var(--rlcc-space-2); font-size: var(--rlcc-text-lg); color: var(--rlcc-danger-strong); }
.rlcc-account-danger__text { margin: 0 0 var(--rlcc-space-4); color: var(--rlcc-color-text); }
.rlcc-account-danger__form { display: flex; flex-direction: column; gap: var(--rlcc-space-4); align-items: flex-start; }

.rlcc-cv-list { display: flex; flex-direction: column; gap: var(--rlcc-space-3); margin-block-end: var(--rlcc-space-6); }
.rlcc-cv-item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--rlcc-space-3);
  padding: var(--rlcc-space-4);
  background: var(--rlcc-color-surface);
  border-radius: var(--rlcc-radius-md);
  box-shadow: var(--rlcc-shadow-sm);
}
.rlcc-cv-item__name { flex: 1 1 200px; min-width: 0; font-weight: 600; overflow-wrap: anywhere; }
.rlcc-cv-item__meta { color: var(--rlcc-color-text-muted); font-size: var(--rlcc-text-sm); font-variant-numeric: tabular-nums; }
.rlcc-cv-item__actions { display: flex; align-items: center; gap: var(--rlcc-space-2); margin-inline-start: auto; }
.rlcc-cv-item__actions form { margin: 0; }

.rlcc-quota { margin: 0 0 var(--rlcc-space-4); font-size: var(--rlcc-text-sm); font-weight: 600; color: var(--rlcc-color-text-muted); font-variant-numeric: tabular-nums; }

.rlcc-badge--danger { background: var(--rlcc-danger-bg); color: var(--rlcc-danger-strong); text-transform: none; }

.rlcc .rlcc-btn--danger { background: var(--rlcc-danger); color: #fff; }
.rlcc .rlcc-btn--danger:not(.rlcc-btn--secondary):not(.rlcc-btn--ghost):not(:disabled):hover { background: var(--rlcc-danger-strong); }
.rlcc .rlcc-btn--danger:not(.rlcc-btn--secondary):not(.rlcc-btn--ghost):not(:disabled):active { background: var(--rlcc-danger-strong); }

.rlcc-card--expired { opacity: .62; filter: grayscale(1); }
.rlcc-card--expired .rlcc-card__title { color: var(--rlcc-color-text-muted); }
.rlcc-account-favs__remove { align-self: flex-start; margin-block-start: var(--rlcc-space-2); }

.rlcc-fav-btn {
  position: absolute;
  top: var(--rlcc-space-3);
  inset-inline-end: var(--rlcc-space-3);
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: var(--rlcc-radius-full);
  background: var(--rlcc-color-surface);
  color: var(--rlcc-color-text-muted);
  box-shadow: var(--rlcc-shadow-xs);
  transition: color var(--rlcc-dur-fast) var(--rlcc-ease-out), background var(--rlcc-dur-fast) var(--rlcc-ease-out), scale var(--rlcc-dur-fast) var(--rlcc-ease-out);
}
.rlcc-fav-btn:hover { color: var(--rlcc-danger); }
.rlcc-fav-btn:not(:disabled):active { scale: .92; }
.rlcc-fav-btn__fill { opacity: 0; }
.rlcc-fav-btn.is-active { color: var(--rlcc-danger); }
.rlcc-fav-btn.is-active .rlcc-fav-btn__outline { opacity: 0; }
.rlcc-fav-btn.is-active .rlcc-fav-btn__fill { opacity: 1; }
.rlcc-offer-hero__fav { position: static; flex: none; }

@media (max-width: 720px) {
  .rlcc-account-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
  .rlcc-account-table, .rlcc-account-table tbody, .rlcc-account-table tr, .rlcc-account-table td { display: block; width: 100%; }
  .rlcc-account-table tr { padding: var(--rlcc-space-3) 0; }
  .rlcc-account-table td { display: flex; justify-content: space-between; align-items: center; gap: var(--rlcc-space-4); padding: var(--rlcc-space-1) 0; text-align: right; }
  .rlcc-account-table td::before { content: attr(data-label); font-weight: 600; color: var(--rlcc-color-text-muted); text-align: left; }
  .rlcc-account-form__row { grid-template-columns: 1fr; }
  .rlcc-account__auth-card { padding: var(--rlcc-space-7) var(--rlcc-space-5); }
  .rlcc-cv-item__actions { margin-inline-start: 0; width: 100%; }
}

.rlcc-alert { padding-block: var(--rlcc-space-8); }
.rlcc-alert__intro { max-width: 640px; margin-block-end: var(--rlcc-space-6); }
.rlcc-alert__title { margin: 0; font-size: var(--rlcc-text-2xl); line-height: var(--rlcc-lh-heading); font-weight: 700; letter-spacing: -.01em; text-wrap: balance; }
.rlcc-alert__lead { margin: var(--rlcc-space-2) 0 0; color: var(--rlcc-color-text-muted); text-wrap: pretty; }
.rlcc-alert-notice { margin-block: 0 var(--rlcc-space-5); }

.rlcc-alert-form {
  display: flex;
  flex-direction: column;
  gap: var(--rlcc-space-5);
  max-width: 640px;
  padding: var(--rlcc-space-7);
  background: var(--rlcc-color-surface);
  border: 1px solid var(--rlcc-color-border);
  border-radius: var(--rlcc-radius-lg);
  box-shadow: var(--rlcc-shadow-sm);
}
.rlcc-alert-form__field { gap: var(--rlcc-space-2); }
.rlcc-alert-form__field--lieu { position: relative; }
.rlcc-alert-form__email { margin: 0; font-weight: 600; color: var(--rlcc-color-text); font-variant-numeric: tabular-nums; }

.rlcc-alert-form__frequency { border: 0; padding: 0; margin: 0; }
.rlcc-alert-form__frequency legend { padding: 0; margin-block-end: var(--rlcc-space-2); }
.rlcc-alert-form__frequency > .rlcc-radio + .rlcc-radio { margin-inline-start: var(--rlcc-space-5); }
.rlcc-radio { display: inline-flex; align-items: center; gap: var(--rlcc-space-2); cursor: pointer; font-size: var(--rlcc-text-base); }
.rlcc-radio input[type="radio"] { flex: none; width: 18px; height: 18px; accent-color: var(--rlcc-color-primary); cursor: pointer; }
.rlcc-alert-form__actions { display: flex; }
.rlcc-alert-form__actions .rlcc-btn { width: 100%; }
@media (min-width: 560px) {
  .rlcc-alert-form__actions { justify-content: flex-start; }
  .rlcc-alert-form__actions .rlcc-btn { width: auto; }
}

.rlcc-alert-form--inline {
  max-width: none;
  padding: 0;
  gap: 0;
  background: none;
  border: 0;
  box-shadow: none;
}
.rlcc-alert-form__inline-row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--rlcc-space-3); }
.rlcc-alert-form__email-input { flex: 1 1 220px; min-width: 0; }
.rlcc-alert-form__freq { flex: 0 0 auto; }
.rlcc-alert-form--inline .rlcc-btn { flex: 0 0 auto; }
.rlcc-alert-form--inline .rlcc-alert-form__email { flex: 1 1 220px; }

.rlcc-alert-toggle-wrap { margin-block-end: var(--rlcc-space-5); }
.rlcc-alert-toggle {
  display: inline-flex;
  align-items: center;
  gap: var(--rlcc-space-2);
  padding: var(--rlcc-space-2) var(--rlcc-space-4);
  min-height: 40px;
  background: var(--rlcc-color-surface);
  color: var(--rlcc-color-primary);
  border: 1px solid var(--rlcc-color-border-strong);
  border-radius: var(--rlcc-radius-control);
  font-size: var(--rlcc-text-sm);
  font-weight: 600;
  cursor: pointer;
  transition: background-color .15s ease, border-color .15s ease;
}
.rlcc-alert-toggle:hover { background: var(--rlcc-color-surface-sunken); border-color: var(--rlcc-color-text-muted); }
.rlcc-alert-toggle[aria-expanded="true"] { background: var(--rlcc-color-surface-sunken); }
.rlcc-alert-toggle svg { flex: none; }
.rlcc-alert-panel {
  margin-block-start: var(--rlcc-space-3);
  padding: var(--rlcc-space-5);
  background: var(--rlcc-color-surface-sunken);
  border: 1px solid var(--rlcc-color-border);
  border-radius: var(--rlcc-radius-lg);
}
.rlcc-alert-panel[hidden] { display: none; }
.rlcc-alert-panel__lead { margin: 0 0 var(--rlcc-space-3); font-size: var(--rlcc-text-sm); color: var(--rlcc-color-text-muted); text-wrap: pretty; }

.rlcc-empty__alert { margin-block-start: var(--rlcc-space-5); padding-block-start: var(--rlcc-space-5); border-block-start: 1px solid var(--rlcc-color-border); text-align: start; }
.rlcc-empty__alert-lead { margin: 0 0 var(--rlcc-space-3); font-weight: 600; color: var(--rlcc-color-text); }

.rlcc-alert-cards { margin-block-start: var(--rlcc-space-8); }
.rlcc-alert-cards__title { margin: 0 0 var(--rlcc-space-5); font-size: var(--rlcc-text-lg); line-height: var(--rlcc-lh-heading); font-weight: 700; }

.rlcc-alert-confirm { padding-block: var(--rlcc-space-8); }
.rlcc-alert-confirm__card {
  max-width: 560px;
  margin-inline: auto;
  padding: var(--rlcc-space-8) var(--rlcc-space-7);
  background: var(--rlcc-color-surface);
  border: 1px solid var(--rlcc-color-border);
  border-radius: var(--rlcc-radius-lg);
  box-shadow: var(--rlcc-shadow-sm);
  text-align: center;
}
.rlcc-alert-confirm__title { margin: 0; font-size: var(--rlcc-text-2xl); line-height: var(--rlcc-lh-heading); font-weight: 700; letter-spacing: -.01em; text-wrap: balance; }
.rlcc-alert-confirm__lead { margin: var(--rlcc-space-3) 0 var(--rlcc-space-6); color: var(--rlcc-color-text-muted); text-wrap: pretty; }
.rlcc-alert-confirm__form { display: flex; justify-content: center; }

.rlcc-authgate { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: var(--rlcc-space-4); }
.rlcc-authgate[hidden] { display: none; }
.rlcc-authgate__scrim { position: absolute; inset: 0; background: rgba(var(--rlcc-shadow-color), .55); animation: rlcc-fade-in 180ms ease both; }
.rlcc-authgate__box {
  position: relative;
  width: min(100%, 420px);
  padding: var(--rlcc-space-8) var(--rlcc-space-7) var(--rlcc-space-6);
  background: var(--rlcc-color-surface);
  border-radius: var(--rlcc-radius-xl);
  box-shadow: var(--rlcc-shadow-lg);
  text-align: center;
  animation: rlcc-rise 200ms cubic-bezier(.2, 0, 0, 1) both;
}
.rlcc-authgate__close {
  position: absolute;
  inset-block-start: var(--rlcc-space-3);
  inset-inline-end: var(--rlcc-space-3);
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: var(--rlcc-radius-full);
  color: var(--rlcc-color-text-muted);
  transition: background-color .15s ease, color .15s ease;
}
.rlcc-authgate__close:hover { background: var(--rlcc-color-surface-sunken); color: var(--rlcc-color-text); }
.rlcc-authgate__close svg { width: 16px; height: 16px; }
.rlcc-authgate__title {
  margin: 0;
  font-size: var(--rlcc-text-xl);
  line-height: var(--rlcc-lh-heading);
  font-weight: 700;
  letter-spacing: -.01em;
  text-wrap: balance;
}
.rlcc-authgate__text { margin: var(--rlcc-space-3) 0 var(--rlcc-space-6); color: var(--rlcc-color-text-muted); text-wrap: pretty; }
.rlcc-authgate__cta { display: flex; width: 100%; justify-content: center; }
.rlcc-authgate__later {
  margin-block-start: var(--rlcc-space-4);
  padding: var(--rlcc-space-2);
  font-size: var(--rlcc-text-sm);
  color: var(--rlcc-color-text-muted);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.rlcc-authgate__later:hover { color: var(--rlcc-color-text); }

/* ── Se connecter sans quitter la page ───────────────────────────────────────
   Le portillon proposait un lien vers l'espace candidat, et c'était sa faiblesse :
   suivre ce lien, c'était abandonner la recherche qu'on voulait justement changer
   en alerte. Le formulaire y est maintenant posé — adresse, puis les six chiffres
   reçus —, et l'espace candidat n'est plus que l'issue de secours.

   Ces règles servent les DEUX temps du formulaire, partout où il apparaît : la
   bascule elle-même est portée par la classe `is-code` que le script pose. */
.rlcc-authform { width: 100%; }
.rlcc-authform[hidden] { display: none; }
.rlcc-authform__form { display: flex; flex-direction: column; gap: var(--rlcc-space-2); }
.rlcc-authform__label {
  font-size: var(--rlcc-text-sm);
  font-weight: 600;
  color: var(--rlcc-color-text);
  text-align: left;
}
.rlcc-authform__input {
  width: 100%;
  height: 48px;
  padding: 0 var(--rlcc-space-4);
  background: var(--rlcc-color-surface);
  border: 1px solid var(--rlcc-color-border-strong);
  border-radius: var(--rlcc-radius-control);
  color: var(--rlcc-color-text);
  font-family: inherit;
  font-size: var(--rlcc-text-base);
}
.rlcc-authform__input:focus {
  outline: none;
  border-color: var(--rlcc-color-primary);
  box-shadow: 0 0 0 1px var(--rlcc-color-primary);
}
.rlcc-authform__form > .rlcc-btn { margin-top: var(--rlcc-space-2); }
/* Porte de sortie, pas action : discrète, mais assez haute pour se toucher au doigt. */
.rlcc-authform__again {
  min-height: 40px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--rlcc-color-text-muted);
  font: inherit;
  font-size: var(--rlcc-text-sm);
  font-weight: 600;
  text-decoration: underline;
  cursor: pointer;
}
.rlcc-authform__again:hover { color: var(--rlcc-color-text); }
/* L'espace candidat passe au second plan dès qu'on peut se connecter sur place. */
.rlcc-authgate__alt {
  display: inline-block;
  margin-top: var(--rlcc-space-4);
  color: var(--rlcc-color-text-muted);
  font-size: var(--rlcc-text-sm);
  font-weight: 600;
  text-decoration: underline;
}

/* Les deux temps, partout où le formulaire vit : portillon, panneau de fiche offre.
   Rien ne dépend du script pour ÊTRE COHÉRENT — le champ du code est rendu masqué ET
   désactivé, sans quoi il partirait sans être atteignable. */
.rlcc-auth__say--code { display: none; }
.is-code > .rlcc-auth__say--code,
.is-code .rlcc-auth__say--code { display: block; }
.is-code button .rlcc-auth__say--code,
button.is-code .rlcc-auth__say--code { display: inline; }
.is-code .rlcc-auth__say--ask { display: none; }

/* Six chiffres recopiés d'un écran à l'autre : espacés, tabulaires, et assez grands
   pour qu'un 0 ne se lise pas O. */
.rlcc-auth__code {
  font-size: var(--rlcc-text-xl);
  font-weight: 600;
  letter-spacing: .34em;
  text-indent: .34em;
  text-align: center;
  font-variant-numeric: tabular-nums;
}

@keyframes rlcc-fade-in { from { opacity: 0; } to { opacity: 1; } }
