/* Couleurs de la fiche offre : un rôle, un jeton — mais UNIQUEMENT quand le jeton porte
   déjà, par défaut, la valeur exacte du littéral qu'il remplace. Une mise à jour sans
   réglage ne doit rien déplacer d'un pixel. L'élargissement du contrat a ouvert un rôle
   aux gris de libellé et aux filets très clairs de cette feuille (`ink-soft`,
   `muted-soft`, `border-faint`), et fait converger son rouge d'erreur sur le jeton FIXE
   de la charte — seul repeint voulu ici, pour que le site et les e-mails ne montrent plus
   deux rouges. Ce qui reste littéral n'a toujours AUCUN équivalent au contrat : le fond
   et les filets des cartes de dépôt, l'ocre de leur médaillon, les gris de leur texte et
   de la zone de saisie du compte, le vert de succès des notices et le survol de
   fermeture du visualiseur. Les confier au jeton le plus proche les repeindrait — c'est
   une régression, pas une conversion.

   Le visualiseur de CV (.rlcc-cv-viewer*) est posé sur <body>, hors de .rlcc — mais son
   nom de classe est devenu la quatrième racine d'émission de la charte (cf. Brand\Css) :
   le bloc de jetons l'atteint désormais, et ses replis littéraux, qui peignaient à la
   place des jetons, ont disparu. Seul son rayon reste écrit en dur, parce que ce repli-là
   ne valait pas ce que vaut son jeton.

   Cette feuille ne garde de la candidature que ce qui relève de la fiche : la section,
   la grille à deux colonnes, le panneau de compte et la confirmation d'envoi. L'habillage
   du formulaire lui-même est parti dans apply-form.css, sur une racine portable — le même
   rendu PHP sert la candidature spontanée, qui n'a pas de fiche autour d'elle. */
.rlcc-nw-single-full { width: 100%; }
.rlcc-nw-single-full .rlcc-nw-sec { width: 100%; }

.ct-section-inner-wrap:has(.rlcc-nw-single-full),
.ct-shortcode:has(> .rlcc-nw-single-full) {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.rlcc-nw-single-full .rlcc-container {
  max-width: var(--rlcc-container);
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(20px, 4vw, 60px);
  padding-right: clamp(20px, 4vw, 60px);
}
.rlcc-nw-single-full .rlcc-nw-sec--cream { background-color: var(--rlcc-color-cream); }
.rlcc-nw-single-full .rlcc-nw-sec--gray  { background-color: var(--rlcc-color-gray); }

.rlcc-nw-single-full .rlcc-nw-breadcrumb-sec {
  border-top: 1px solid var(--rlcc-color-gray);
  padding-top: 40px;
  padding-bottom: 8px;
}
.rlcc-nw-single-full .rlcc-nw-content-sec { padding-top: 60px; padding-bottom: 100px; }
.rlcc-nw-single-full .rlcc-nw-proc-sec    { padding-top: 20px; padding-bottom: 140px; }
.rlcc-nw-single-full .rlcc-nw-similar-sec { padding-top: 80px; padding-bottom: 80px; }
/* Marge NÉGATIVE, et non positive : la section porte 120px de rembourrage haut, et un
   défilement qui s'arrête à son bord laisse le contenu utile hors de l'écran — il faut
   scroller pour voir la confirmation. On défile donc au-delà du rembourrage, sans
   l'absorber tout à fait pour que le titre de section reste visible. Un seul chemin s'y
   arrête désormais : la fin de candidature, quand apply.js ramène la section de
   confirmation dans le champ de vision après un envoi accepté. L'ancre « #postuler » ne
   passe plus par ici — elle vise le titre « Déposez votre CV » et porte sa propre marge.
   Toute retouche du rembourrage doit rejouer cette valeur, ici ET sous la media query. */
.rlcc-nw-single-full .rlcc-nw-apply-sec   { padding-top: 120px; padding-bottom: 120px; scroll-margin-top: -72px; }

.rlcc-nw-single-full .rlcc-nw-breadcrumb ol {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  margin: 0;
  padding: 0;
  list-style: none;
}
.rlcc-nw-single-full .rlcc-nw-breadcrumb li {
  font-size: 13px;
  font-weight: 500;
  line-height: 1.2;
  color: var(--rlcc-color-text);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  opacity: .5;
}
.rlcc-nw-single-full .rlcc-nw-breadcrumb li:not(:last-child)::after {
  content: "•";
  margin: 0 12px;
  font-size: 10px;
}
.rlcc-nw-single-full .rlcc-nw-breadcrumb li[aria-current="page"] { opacity: 1; }
.rlcc-nw-single-full .rlcc-nw-breadcrumb a { color: inherit; }

.rlcc-nw-single-full .rlcc-nw-eyebrow {
  display: block;
  margin: 0 0 14px;
  color: var(--rlcc-color-accent-text);
  font-family: var(--rlcc-font-heading);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 2.4px;
  text-transform: uppercase;
}
.rlcc-nw-single-full .rlcc-nw-eyebrow::before { content: "/ "; }

.rlcc-nw-single-full .rlcc-nw-h2 {
  margin: 0 0 16px;
  color: var(--rlcc-color-accent-text);
  font-family: var(--rlcc-font-heading);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.125;
  letter-spacing: 1.3px;
  text-transform: uppercase;
}
.rlcc-nw-single-full .rlcc-nw-h2::before { content: "/"; margin-right: 5px; }

.rlcc-nw-single-full .rlcc-nw-grid {
  display: grid;
  grid-template-columns: minmax(0, 754fr) minmax(0, 416fr);
  gap: clamp(48px, 8vw, 130px);
  align-items: start;
}
/* Une colonne masquée par la configuration ne laisse pas de piste de grille vide. */
.rlcc-nw-single-full .rlcc-nw-grid--single {
  grid-template-columns: minmax(0, 1fr);
}

.rlcc-nw-single-full .rlcc-nw-title {
  margin: 0 0 14px;
  color: var(--rlcc-color-ink);
  font-family: var(--rlcc-font-heading);
  font-size: 40px;
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: -0.1px;
}
/* `wrap` et non plus `nowrap` : l'étiquette du bassin d'emploi (ticket #208478) porte la
   ligne à cinq, qui débordait de 180 px à 375 px de large et écrasait chaque étiquette sur
   deux lignes au bureau. Tant que tout tient sur une ligne, le rendu est identique. */
.rlcc-nw-single-full .rlcc-nw-metas {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  margin: 30px 0 50px;
  padding: 0;
  list-style: none;
}
.rlcc-nw-single-full .rlcc-nw-metas li {
  padding: 4px 12px;
  border: 1px solid var(--rlcc-color-border);
  font-family: var(--rlcc-font-heading);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: -0.1px;
}

.rlcc-nw-single-full .rlcc-nw-rich {
  display: flow-root;
  margin: 0 0 50px;
  font-weight: 300;
  font-size: 16px;
  line-height: 1.6;
  color: var(--rlcc-color-text);
}
.rlcc-nw-single-full .rlcc-nw-rich:last-of-type { margin-bottom: 50px; }
.rlcc-nw-single-full .rlcc-nw-rich p { margin: 0; }
.rlcc-nw-single-full .rlcc-nw-rich ul,
.rlcc-nw-single-full .rlcc-nw-rich ol { margin: 16px 0; padding-left: 40px; }
.rlcc-nw-single-full .rlcc-nw-rich ul { list-style: disc; }
.rlcc-nw-single-full .rlcc-nw-rich ol { list-style: decimal; }
.rlcc-nw-single-full .rlcc-nw-rich li { margin: 0; padding-left: 0; }
.rlcc-nw-single-full .rlcc-nw-rich strong,
.rlcc-nw-single-full .rlcc-nw-rich b { font-weight: 400; }
.rlcc-nw-single-full .rlcc-nw-lead { margin-bottom: 50px; }
.rlcc-nw-single-full .rlcc-nw-main .rlcc-nw-h2 { margin-bottom: 0; }
.rlcc-nw-single-full .rlcc-nw-main > .rlcc-nw-eyebrow { margin-bottom: 0; }
.rlcc-nw-single-full .rlcc-nw-main-cta { margin-top: 10px; }

.rlcc-nw-single-full .rlcc-nw-aside {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
.rlcc-nw-single-full .rlcc-nw-aside-block {
  padding: 30px;
  background-color: var(--rlcc-color-gray);
  /* Sans effet visuel aujourd'hui (0 = angle vif du navigateur, la valeur d'origine) :
     seule façon de donner à --rlcc-brand-radius un consommateur réel, comme
     --rlcc-radius-control en a un sur .rlcc-btn. */
  border-radius: var(--rlcc-brand-radius);
  font-family: var(--rlcc-font-body);
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: -0.1px;
}
.rlcc-nw-single-full .rlcc-nw-aside-block .rlcc-btn { margin-bottom: 10px; }
.rlcc-nw-single-full .rlcc-nw-aside-block .rlcc-btn--block {
  padding: 12px 34px;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 1.3px;
  line-height: 1.6;
}
.rlcc-nw-single-full .rlcc-nw-aside-save { margin-top: 0; }
.rlcc-nw-single-full .rlcc-nw-share {
  display: inline-block;
  margin-top: 10px;
  color: rgba(29, 29, 27, .6);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.rlcc-nw-single-full .rlcc-nw-share:hover { color: var(--rlcc-color-accent-text); }

.rlcc-nw-single-full .rlcc-nw-contact {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 20px;
}
.rlcc-nw-single-full .rlcc-nw-contact__avatar {
  width: 120px;
  height: 150px;
  object-fit: cover;
  object-position: 50% 50%;
  flex-shrink: 0;
}
.rlcc-nw-single-full .rlcc-nw-contact__id { display: flex; flex-direction: column; gap: 4px; }
.rlcc-nw-single-full .rlcc-nw-contact__name {
  margin: 0;
  font-size: 18px;
  font-weight: 400;
  color: var(--rlcc-color-ink);
}
.rlcc-nw-single-full .rlcc-nw-contact__role {
  margin: 0;
  color: var(--rlcc-color-accent-text);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.rlcc-nw-single-full .rlcc-nw-contact__infos {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid var(--rlcc-color-border);
  font-size: 15px;
  font-weight: 300;
  line-height: 1.7;
}
/* UN LIEN QUI NE SE VOIT PAS N'EST PAS UN LIEN. Le téléphone et l'e-mail du recruteur
   étaient rendus dans la couleur du texte courant, sans soulignement : cliquables tous
   les deux, mais rien ne le disait — d'où le retour de recette qui les demande
   « cliquables » alors que le `mailto:` était déjà là. Le soulignement reste discret
   (1px, décalé) pour ne pas alourdir la colonne, et prend l'accent au survol. */
.rlcc-nw-single-full .rlcc-nw-contact__infos a {
  color: var(--rlcc-color-text);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.rlcc-nw-single-full .rlcc-nw-contact__infos a:hover { color: var(--rlcc-color-accent-text); }

.rlcc-nw-single-full .rlcc-nw-maison__name {
  margin: 0 0 10px;
  font-size: 18px;
  font-weight: 500;
  color: var(--rlcc-color-ink);
}
.rlcc-nw-single-full .rlcc-nw-maison__addr,
.rlcc-nw-single-full .rlcc-nw-maison__hours {
  margin: 0 0 30px;
  font-size: 15px;
  font-weight: 300;
  line-height: 1.7;
}

/* L'espace avant le bouton reste porté par la DERNIÈRE ligne présente : c'est l'adresse
   seule qui le porte sur une maison sans horaires, et deux lignes qui se suivent se
   serrent. Écrit sur l'adresse plutôt qu'en `:last-of-type` : ce dernier ferait varier la
   déclaration de l'adresse seule, qu'une mesure de non-régression compare à l'octet
   (tests/frontend/test-apply-form-portable.php). */
.rlcc-nw-single-full .rlcc-nw-maison__addr:has(+ .rlcc-nw-maison__hours) {
  margin-bottom: 6px;
}

.rlcc-nw-single-full .rlcc-nw-region__txt {
  margin: 0 0 20px;
  font-weight: 300;
  font-size: 15px;
  line-height: 1.7;
}
.rlcc-nw-single-full .rlcc-nw-region__hl { color: var(--rlcc-color-accent-text); }
.rlcc-nw-single-full .rlcc-nw-region__img {
  display: block;
  width: 100%;
  height: auto;
}

.rlcc-nw-single-full .rlcc-nw-btn-arrow::after { content: "→"; margin-left: 12px; font-weight: 400; }

.rlcc-nw-single-full .rlcc-nw-proc__head { margin-bottom: 35px; }
.rlcc-nw-single-full .rlcc-nw-proc {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0;
}
.rlcc-nw-single-full .rlcc-nw-proc__block {
  flex: 1 1 0;
  min-width: 200px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  box-sizing: border-box;
  padding: 20px;
  background-color: var(--rlcc-color-gray);
}
.rlcc-nw-single-full .rlcc-nw-proc__num {
  font-family: var(--rlcc-font-body);
  font-size: 13px;
  font-weight: 500;
  color: var(--rlcc-color-text);
}
.rlcc-nw-single-full .rlcc-nw-proc__line {
  display: block;
  width: 28px;
  height: 2px;
  margin: 16px 0 26px;
  background-color: var(--rlcc-color-primary);
}
.rlcc-nw-single-full .rlcc-nw-proc__title {
  margin: 0 0 14px;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.125;
  color: var(--rlcc-color-ink);
  transition: color .2s ease;
}
.rlcc-nw-single-full .rlcc-nw-proc__block:hover .rlcc-nw-proc__title { color: var(--rlcc-color-accent-text); }
.rlcc-nw-single-full .rlcc-nw-proc__desc {
  margin: 0;
  font-size: 15px;
  font-weight: 300;
  line-height: 1.6;
  color: var(--rlcc-color-text);
}

/* --- Blocs repliables sur téléphone ---
   Contact, maison, bassin d'emploi et processus de candidature : sous 600 px, chacun ne
   montre que son titre et un bouton « Voir » (cf. NwSingleFull::foldBodyId()). L'état se
   lit sur `aria-expanded` du bouton, et nulle part ailleurs : le serveur le rend fermé, le
   script le retourne, la feuille en déduit ce qu'elle masque. Une classe d'état en plus
   serait une seconde vérité à tenir d'accord avec la première.

   Au-dessus de 600 px, deux règles seulement : le bouton est invisible, et le titre qu'il
   porte pour les lecteurs d'écran est masqué à l'œil. Ni le bloc ni son contenu ne sont
   visés — le conteneur ajouté autour du contenu est un bloc nu, que les marges de ses
   enfants traversent comme avant : le rendu ne bouge pas d'un pixel.

   Sous 600 px, tout le repli dépend de `rlcc-can-fold`, posée sur <html> par le script de
   tête (Frontend\Assets::sessionWitnessScript()) avant le premier affichage, et seulement
   là où account.js, le seul à rouvrir un bloc, sera chargé. Sans elle — script désactivé,
   service dégradé — masquer le contenu le rendrait inatteignable : les blocs restent
   alors ouverts, sans bouton, comme avant. */
.rlcc-nw-single-full .rlcc-nw-fold__toggle { display: none; }
.rlcc-nw-single-full .rlcc-nw-fold__name {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

@media (max-width: 600px) {
  /* Titre à gauche, bouton à droite, contenu sur toute la largeur en dessous. Une grille
     plutôt qu'un conteneur de titre : le titre reste le premier enfant du bloc, et le
     balisage de la fiche n'a qu'un conteneur de plus, celui du contenu. */
  .rlcc-can-fold .rlcc-nw-single-full .rlcc-nw-fold {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 16px;
  }
  /* La marge du titre passe au contenu : dans une grille elle ne se replie plus avec
     rien, et laissée sous le titre elle décentrerait le bouton de sa ligne. Mêmes valeurs
     qu'au-dessus, 16 px sous un titre de bloc, 35 px sous celui du processus. */
  .rlcc-can-fold .rlcc-nw-single-full .rlcc-nw-fold > .rlcc-nw-h2 { margin: 0; }
  .rlcc-can-fold .rlcc-nw-single-full .rlcc-nw-fold__body { grid-column: 1 / -1; margin-top: 16px; }
  .rlcc-can-fold .rlcc-nw-single-full .rlcc-nw-proc.rlcc-nw-fold__body { margin-top: 35px; }
  /* Quatre classes et un attribut : le contenu du processus est une rangée flexible
     déclarée à deux classes plus haut, un masquage plus léger la laisserait dépliée. */
  .rlcc-can-fold .rlcc-nw-single-full .rlcc-nw-fold__toggle[aria-expanded="false"] ~ .rlcc-nw-fold__body { display: none; }

  /* Le costume du bouton « Voir la maison », en plus compact : même filet, même encre,
     mêmes capitales espacées. 44 px de haut, la taille d'un pouce. Le libellé ne se coupe
     jamais : le blocage est posé deux fois, un `text-wrap` plus tardif suffirait à
     défaire un `nowrap` posé seul. */
  .rlcc-can-fold .rlcc-nw-single-full .rlcc-nw-fold__toggle {
    position: relative;
    display: inline-grid;
    place-items: center;
    width: auto;
    min-height: 44px;
    margin: 0;
    padding: 0 18px;
    border: 1px solid var(--rlcc-color-border);
    border-radius: var(--rlcc-radius-control);
    background: transparent;
    box-shadow: none;
    color: var(--rlcc-color-ink);
    font-family: var(--rlcc-font-heading);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 1.3px;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
    text-wrap: nowrap;
    cursor: pointer;
  }
  /* Le bouton garde la largeur du PLUS LONG de ses deux libellés, quelle que soit la
     langue : les deux, invisibles, occupent la même case que celui qu'on lit. Sans cela
     « Fermer » élargissait le bouton au premier tap, et le titre voisin, poussé, passait
     sur deux lignes sous le doigt. Masqués par `visibility`, ils ne comptent pas dans le
     nom que lit un lecteur d'écran. */
  .rlcc-can-fold .rlcc-nw-single-full .rlcc-nw-fold__label,
  .rlcc-can-fold .rlcc-nw-single-full .rlcc-nw-fold__toggle::before,
  .rlcc-can-fold .rlcc-nw-single-full .rlcc-nw-fold__toggle::after { grid-area: 1 / 1; }
  .rlcc-can-fold .rlcc-nw-single-full .rlcc-nw-fold__toggle::before { content: attr(data-fold-text); visibility: hidden; }
  .rlcc-can-fold .rlcc-nw-single-full .rlcc-nw-fold__toggle::after { content: attr(data-fold-text-open); visibility: hidden; }
  .rlcc-can-fold .rlcc-nw-single-full .rlcc-nw-fold__toggle:focus-visible {
    outline: 2px solid var(--rlcc-color-accent-text);
    outline-offset: 2px;
  }
  /* Replié, le processus n'est plus qu'une ligne de titre : ses 140 px de pied, pensés
     sous une rangée d'étapes, laisseraient sous lui un vide plus haut que lui. */
  .rlcc-can-fold .rlcc-nw-single-full .rlcc-nw-proc-sec { padding-bottom: 60px; }
}

.rlcc-nw-single-full .rlcc-nw-similar__head {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 58px;
}
.rlcc-nw-single-full .rlcc-nw-similar__head .rlcc-nw-eyebrow { margin-bottom: 0; }
.rlcc-nw-single-full .rlcc-nw-similar__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
}
.rlcc-nw-single-full .rlcc-nw-card {
  position: relative;
  display: block;
  padding: 30px;
  border-top: 1px solid var(--rlcc-color-gray);
  color: var(--rlcc-color-text);
  transition: background-color .2s ease;
}
.rlcc-nw-single-full .rlcc-nw-sec--gray .rlcc-nw-card { border-top-color: #dcd9d4; }
.rlcc-nw-single-full .rlcc-nw-card:hover { background-color: var(--rlcc-color-cream); }
.rlcc-nw-single-full .rlcc-nw-card__secteur {
  display: block;
  margin-bottom: 10px;
  color: var(--rlcc-color-accent-text);
  font-family: var(--rlcc-font-heading);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 1.8px;
  text-transform: uppercase;
}
.rlcc-nw-single-full .rlcc-nw-card__title {
  margin: 0 0 14px;
  padding-right: 40px;
  font-family: var(--rlcc-font-body);
  font-size: 22px;
  font-weight: 300;
  line-height: 1.45;
  color: var(--rlcc-color-ink);
}
.rlcc-nw-single-full .rlcc-nw-card__metas {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 15px;
  font-weight: 300;
}
.rlcc-nw-single-full .rlcc-nw-card__metas li:not(:last-child)::after {
  content: "•";
  margin: 0 6px 0 8px;
  font-size: 10px;
}
.rlcc-nw-single-full .rlcc-nw-card__arrow {
  position: absolute;
  top: 40%;
  right: 30px;
  color: var(--rlcc-color-text);
  font-size: 18px;
  transition: transform .2s ease, color .2s ease;
}
.rlcc-nw-single-full .rlcc-nw-card:hover .rlcc-nw-card__arrow { color: var(--rlcc-color-primary); transform: translateX(4px); }

.rlcc-nw-single-full .rlcc-nw-apply__title {
  margin: 0 0 40px;
  max-width: 620px;
  font-size: 64px;
  font-weight: 700;
  line-height: 1.15;
  color: var(--rlcc-color-ink);
}
.rlcc-nw-single-full .rlcc-nw-accent { color: var(--rlcc-color-accent-text); }
.rlcc-nw-single-full .rlcc-nw-apply__sub {
  margin: 0 0 60px;
  max-width: 620px;
  font-size: 22px;
  font-weight: 300;
  line-height: 1.6;
  color: var(--rlcc-color-text);
}
.rlcc-nw-single-full .rlcc-nw-apply__label {
  font-size: 14px;
  letter-spacing: 1.4px;
}
.rlcc-nw-single-full .rlcc-nw-apply__label::before { content: none; }
/* Maquette Figma : colonne dépôt 709 / colonne compte 505, gouttière 64, sur un contenu
   de 1280. L'habillage du formulaire qui tient dans la colonne de gauche vit, lui, dans
   apply-form.css — il sert aussi la candidature spontanée, qui n'a pas de colonnes. */
.rlcc-nw-single-full .rlcc-nw-apply__cols {
  display: grid;
  grid-template-columns: minmax(0, 709fr) minmax(0, 505fr);
  gap: 64px;
  align-items: start;
}
.rlcc-nw-single-full .rlcc-nw-apply__label { margin-bottom: 40px; }

/* Cible de l'ancre « #postuler » : la marge de défilement décolle simplement le titre du
   bord haut de l'écran, elle n'a aucun rembourrage à compenser. */
.rlcc-nw-single-full .rlcc-nw-drop__h4 {
  margin: 0 0 10px;
  scroll-margin-top: 24px;
  font-family: var(--rlcc-font-heading);
  font-size: 32px;
  font-weight: 500;
  line-height: 1.125;
  color: var(--rlcc-color-ink);
}
.rlcc-nw-single-full .rlcc-nw-drop__p {
  margin: 0 0 32px;
  max-width: 360px;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.6;
  color: var(--rlcc-color-text);
}
.rlcc-nw-single-full .rlcc-nw-drop {
  padding: 40px 20px;
  text-align: center;
  background-color: #f7f5f2;
  border: 1px dashed #d1cfcb;
  border-radius: 4px;
}
.rlcc-nw-single-full .rlcc-nw-drop__icon {
  display: block;
  width: 40px;
  height: 40px;
  margin: 0 auto 15px;
  line-height: 38px;
  border: 1px solid #d28e67;
  border-radius: 50%;
  color: #d28e67;
  font-size: 20px;
  text-align: center;
}
.rlcc-nw-single-full .rlcc-nw-drop__instr {
  margin: 0;
  color: #4a4a4a;
  font-size: 16px;
  font-weight: 300;
}
.rlcc-nw-single-full .rlcc-nw-drop__select {
  display: block;
  margin-top: 2px;
  color: #4a4a4a;
  text-decoration: underline;
}
.rlcc-nw-single-full .rlcc-nw-drop__hint {
  margin: 14px 0 0;
  color: var(--rlcc-color-ink-soft);
  font-size: 12px;
  font-weight: 300;
  text-align: center;
}
.rlcc-nw-single-full .rlcc-nw-drop__footer {
  display: flex;
  justify-content: center;
  margin-top: 24px;
}
.rlcc-nw-single-full .rlcc-nw-drop-form .rlcc-btn[disabled] { opacity: 1; cursor: default; }

.rlcc-nw-single-full .rlcc-nw-space__h4 {
  margin: 20px 0 10px;
  font-family: var(--rlcc-font-heading);
  font-size: 32px;
  font-weight: 500;
  line-height: 1.125;
  color: var(--rlcc-color-ink);
}
.rlcc-nw-single-full .rlcc-nw-space__p {
  margin: 0 0 30px;
  font-size: 18px;
  font-weight: 300;
  line-height: 1.6;
  color: var(--rlcc-color-text);
}
.rlcc-nw-single-full .rlcc-nw-space__label {
  display: block;
  margin-bottom: 10px;
  color: var(--rlcc-color-ink-soft);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
/* « CODE REÇU PAR E-MAIL » S'AFFICHAIT AVANT QU'AUCUN CODE N'EXISTE. Le socle ci-dessus
   pose `display: block` en (0,2,0) ; le masquage générique de front.css
   (`.rlcc-auth__say--code { display: none }`) ne pèse que (0,1,0) et perdait la cascade —
   le label restait donc visible en permanence, au-dessus d'un champ, lui, correctement
   masqué. Même piège que le champ des six chiffres douze lignes plus bas, dont le
   commentaire signale déjà que ce socle est trop spécifique : il manquait à `display`.
   Repris ici à (0,3,0), et révélé à (0,4,0) quand le formulaire passe à l'étape du code. */
.rlcc-nw-single-full .rlcc-nw-space__label.rlcc-auth__say--code { display: none; }
.rlcc-nw-single-full .is-code .rlcc-nw-space__label.rlcc-auth__say--code { display: block; }

.rlcc-nw-single-full .rlcc-nw-space__input {
  width: 100%;
  height: 48px;
  padding: 0 15px;
  margin-bottom: 15px;
  border: none;
  border-radius: var(--rlcc-radius-control);
  background-color: var(--rlcc-color-surface);
  font-family: var(--rlcc-font-heading);
  font-size: 15px;
  color: #222222;
}
.rlcc-nw-single-full .rlcc-nw-space__input::placeholder { color: #a3a3a3; font-weight: 300; }
.rlcc-nw-single-full .rlcc-nw-space__submit[disabled] { opacity: 1; cursor: default; }

/* Le champ des six chiffres reprend le socle du panneau, mais pas sa taille : ces
   chiffres se recopient d'un écran à l'autre, ils doivent se lire sans hésitation.
   Reposé ici parce que le socle ci-dessus est plus spécifique que la règle générique
   de `front.css`, qui serait sinon sans effet. */
.rlcc-nw-single-full .rlcc-nw-space__input.rlcc-auth__code {
  font-size: 24px;
  font-weight: 600;
  letter-spacing: .32em;
  text-indent: .32em;
  text-align: center;
  font-variant-numeric: tabular-nums;
}
/* Repartir d'une autre adresse : une porte de sortie sous le bouton, pas une action. */
.rlcc-nw-single-full .rlcc-nw-space__again {
  width: 100%;
  min-height: 40px;
  margin-top: 10px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--rlcc-color-muted);
  /* Hérite la police du panneau plutôt que de renommer un jeton : ce bouton n'a pas
     de voix propre, il prolonge le formulaire dans lequel il vit. */
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
  text-decoration: underline;
  cursor: pointer;
}
.rlcc-nw-single-full .rlcc-nw-space__again:hover { color: var(--rlcc-color-accent-text); }

.rlcc-nw-single-full .rlcc-nw-breadcrumb,
.rlcc-nw-single-full .rlcc-nw-breadcrumb li,
.rlcc-nw-single-full .rlcc-nw-card__secteur,
.rlcc-nw-single-full .rlcc-nw-contact__role,
.rlcc-nw-single-full .rlcc-nw-share,
.rlcc-nw-single-full .rlcc-nw-space__label {
  font-family: var(--rlcc-font-heading);
}

@media (max-width: 992px) {
  .rlcc-nw-single-full .rlcc-nw-grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .rlcc-nw-single-full .rlcc-nw-content-sec { padding-top: 40px; padding-bottom: 60px; }
  /* Même loi qu'en base, et pour le même unique chemin — la fin de candidature : la marge
     négative vaut 60 % du rembourrage de CE palier (-72px pour 120px en base, -48px pour
     ces 80px). Toute nouvelle retouche de padding-top ici doit rejouer ce ratio dans
     scroll-margin-top. */
  .rlcc-nw-single-full .rlcc-nw-apply-sec { padding-top: 80px; padding-bottom: 80px; scroll-margin-top: -48px; }
}
@media (max-width: 600px) {
  .rlcc-nw-single-full .rlcc-nw-title { font-size: 30px; }
  .rlcc-nw-single-full .rlcc-nw-apply__title { font-size: 30px; }
  .rlcc-nw-single-full .rlcc-nw-apply__sub { font-size: 18px; }
}

.rlcc-nw-single-full .rlcc-nw-share {
  width: auto;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
}

.rlcc-nw-single-full .rlcc-nw-aside-save { cursor: pointer; }
.rlcc-nw-single-full .rlcc-nw-aside-save.is-active,
.rlcc-nw-single-full .rlcc-nw-aside-save[aria-pressed="true"] {
  background-color: var(--rlcc-color-primary);
  border-color: var(--rlcc-color-primary);
  color: var(--rlcc-color-on-primary);
}

.rlcc-nw-single-full .rlcc-nw-space__form { margin: 0; }

.rlcc-nw-single-full .rlcc-nw-space__note {
  margin: 0 0 20px;
  padding: 12px 15px;
  border-left: 3px solid var(--rlcc-color-ink-soft);
  background-color: var(--rlcc-color-surface);
  font-size: 15px;
  font-weight: 300;
  line-height: 1.5;
  color: var(--rlcc-color-text);
}
.rlcc-nw-single-full .rlcc-nw-space__note--success { border-left-color: #2f7d4f; }
.rlcc-nw-single-full .rlcc-nw-space__note--info    { border-left-color: var(--rlcc-color-accent-text); }
.rlcc-nw-single-full .rlcc-nw-space__note--danger  { border-left-color: var(--rlcc-color-danger); }

.rlcc-nw-single-full .rlcc-nw-apply__form { width: 100%; }

/* --- Colonne compte : carte, connexion, candidat reconnu --- */
.rlcc-nw-single-full .rlcc-nw-apply__right { background-color: var(--rlcc-color-gray); padding: 42px; }
.rlcc-nw-single-full .rlcc-nw-space__submit,
.rlcc-nw-single-full .rlcc-nw-known__submit {
  min-height: 38px;
  padding: 10px 16px;
  background-color: var(--rlcc-color-primary);
  border-color: var(--rlcc-color-primary);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 2.4px;
}
.rlcc-nw-single-full .rlcc-nw-space__submit:hover,
.rlcc-nw-single-full .rlcc-nw-known__submit:hover {
  background-color: var(--rlcc-color-primary-hover);
  border-color: var(--rlcc-color-primary-hover);
}
.rlcc-nw-single-full .rlcc-nw-known__card {
  margin: 0 0 20px;
  padding: 24px;
  background: var(--rlcc-color-surface);
}
.rlcc-nw-single-full .rlcc-nw-known__name {
  margin: 0 0 8px;
  font-family: var(--rlcc-font-heading);
  font-size: 24px;
  font-weight: 500;
  line-height: 1.2;
  color: var(--rlcc-color-ink);
}
.rlcc-nw-single-full .rlcc-nw-known__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 24px;
  margin: 0 0 18px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--rlcc-color-border-faint);
  color: var(--rlcc-color-muted-soft);
  font-size: 15px;
  font-weight: 300;
}
.rlcc-nw-single-full .rlcc-nw-known__cv {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
  color: var(--rlcc-color-text);
  font-size: 15px;
  font-weight: 300;
  word-break: break-word;
}
.rlcc-nw-single-full .rlcc-nw-known__doc { display: inline-flex; color: var(--rlcc-color-ink-soft); }
/* Ligne de méta absente : c'était son filet qui séparait le titre de la ligne document, et
   le titre ne porte que 8 px de marge basse — les deux se toucheraient. La ligne document
   reprend donc le filet à son compte, dans ce seul cas (sélecteur d'adjacence : il ne
   s'applique QUE si aucune méta ne s'intercale), avec les mêmes 18 px de part et d'autre. */
.rlcc-nw-single-full .rlcc-nw-known__name + .rlcc-nw-known__cv {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--rlcc-color-border-faint);
}
/* État vide d'une ligne de la carte : la place reste tenue, mais l'absence ne doit pas se
   lire avec le poids d'une vraie information. C'est la graisse légère qui porte cet
   effacement, PAS un gris plus clair : ce texte dit au candidat concerné ce qui manque à
   son compte, l'éclaircir le faisait passer sous le plancher de contraste. D'où le gris
   discret déjà employé par la feuille, et lui seul. */
.rlcc-nw-single-full .rlcc-nw-known__empty {
  color: var(--rlcc-color-muted-soft);
  font-weight: 300;
}
.rlcc-nw-single-full .rlcc-nw-known__legal {
  margin: 12px 0 0;
  color: var(--rlcc-color-muted-soft);
  font-size: 12px;
  font-weight: 300;
  line-height: 1.5;
}
.rlcc-nw-single-full .rlcc-nw-known__legal a { color: var(--rlcc-color-accent-text); text-decoration: underline; }

/* --- Confirmation sur place --- */
/* La confirmation reprend le fond de l'encadré de droite : elle occupe désormais seule
   la largeur de la section, là où ce même fond la faisait lire comme un état en attente
   quand elle cohabitait avec le formulaire. */
.rlcc-nw-single-full .rlcc-nw-done {
  background-color: var(--rlcc-color-gray);
  padding: 48px 40px;
  text-align: center;
}
.rlcc-nw-single-full .rlcc-nw-done__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  margin: 0 auto 24px;
  background: var(--rlcc-color-primary);
  border-radius: 50%;
  color: var(--rlcc-color-on-primary);
}
.rlcc-nw-single-full .rlcc-nw-done__title {
  margin: 0 0 10px;
  font-family: var(--rlcc-font-heading);
  font-size: 32px;
  font-weight: 500;
  line-height: 1.125;
  color: var(--rlcc-color-ink);
}
.rlcc-nw-single-full .rlcc-nw-done__sub {
  margin: 0;
  color: var(--rlcc-color-ink-soft);
  font-size: 16px;
  font-weight: 300;
}

/* --- Invitation à créer un espace, après envoi --- */
/* Surface claire, et non plus le gris de la charte : depuis que la confirmation porte
   elle-même ce gris, la carte s'y fondait — même variable, donc aucune limite visible, il
   ne restait que du rembourrage imbriqué. Le blanc lui rend la relation figure/fond
   qu'elle avait quand elle vivait dans une colonne. */
.rlcc-nw-single-full .rlcc-nw-invite {
  margin-top: 40px;
  padding: 42px;
  background: var(--rlcc-color-surface);
  text-align: left;
}
.rlcc-nw-single-full .rlcc-nw-invite__eyebrow { margin-bottom: 18px; font-size: 13px; letter-spacing: 1.6px; }
.rlcc-nw-single-full .rlcc-nw-invite__eyebrow::before { content: none; }
.rlcc-nw-single-full .rlcc-nw-invite__title {
  margin: 0 0 22px;
  font-family: var(--rlcc-font-heading);
  font-size: 28px;
  font-weight: 500;
  line-height: 1.15;
  color: var(--rlcc-color-ink);
}
.rlcc-nw-single-full .rlcc-nw-invite__list {
  margin: 0 0 28px;
  padding: 0 0 0 18px;
  color: var(--rlcc-color-text);
  font-size: 15px;
  font-weight: 300;
  line-height: 1.6;
  list-style: disc;
}
.rlcc-nw-single-full .rlcc-nw-invite__list li { margin-bottom: 8px; }
.rlcc-nw-single-full .rlcc-nw-invite__list li::marker { color: var(--rlcc-color-muted-soft); font-size: 12px; }
.rlcc-nw-single-full .rlcc-nw-invite__cta {
  min-height: 44px;
  background-color: var(--rlcc-color-primary);
  border-color: var(--rlcc-color-primary);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 2.4px;
}
.rlcc-nw-single-full .rlcc-nw-invite__cta:hover { background-color: var(--rlcc-color-primary-hover); border-color: var(--rlcc-color-primary-hover); }
.rlcc-nw-single-full .rlcc-nw-invite__later {
  display: block;
  width: 100%;
  margin-top: 16px;
  padding: 8px;
  background: none;
  border: 0;
  color: var(--rlcc-color-muted-soft);
  font-family: var(--rlcc-font-heading);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  cursor: pointer;
}
.rlcc-nw-single-full .rlcc-nw-invite__later:hover { color: var(--rlcc-color-text); }

@media (max-width: 992px) {
  .rlcc-nw-single-full .rlcc-nw-apply__cols { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  /* La confirmation rejoint le palier de ses voisines : elle occupe désormais la largeur
     entière de la section, là où elle tenait dans une colonne déjà rétrécie. */
  .rlcc-nw-single-full .rlcc-nw-apply__right,
  .rlcc-nw-single-full .rlcc-nw-invite,
  .rlcc-nw-single-full .rlcc-nw-done { padding: 28px; }
}
@media (max-width: 600px) {
  .rlcc-nw-single-full .rlcc-nw-done__title { font-size: 26px; }
}

/* Invitation à créer un espace : sans objet pour qui en a déjà un. La fiche offre
   est servie par le cache sans exécuter PHP, la session y est donc toujours vue
   comme absente — seul le cookie témoin permet de trancher côté navigateur. */
.rlcc-has-session .rlcc-nw-single-full .rlcc-nw-invite { display: none; }

/* --- Confirmation de la candidature en un clic --- */
/* L'encart prend la place du seul bouton : « Confirmer » et « Annuler » tiennent sur la
   ligne qu'il occupait, la carte ne gagne donc que le rappel du CV — et garde sa mention
   légale, qui doit rester sous les yeux au moment où le consentement se donne. */
.rlcc-nw-single-full .rlcc-nw-known__confirm { display: flex; flex-direction: column; gap: 12px; }
.rlcc-nw-single-full .rlcc-nw-known__confirm-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 20px;
}
.rlcc-nw-single-full .rlcc-nw-known__confirm-actions .rlcc-btn { flex: 1 1 auto; }
.rlcc-nw-single-full .rlcc-nw-known__confirm-lead {
  margin: 0;
  color: var(--rlcc-color-text);
  font-family: var(--rlcc-font-body);
  font-size: 15px;
  font-weight: 300;
  line-height: 1.5;
  word-break: break-word;
}
.rlcc-nw-single-full .rlcc-nw-known__confirm-lead strong { font-weight: 500; }
.rlcc-nw-single-full .rlcc-nw-known__cancel {
  flex: none;
  padding: 0;
  background: none;
  border: 0;
  color: var(--rlcc-color-ink-soft);
  font-family: var(--rlcc-font-body);
  font-size: 14px;
  font-weight: 300;
  text-decoration: underline;
  cursor: pointer;
}
.rlcc-nw-single-full .rlcc-nw-known__cancel:hover { color: var(--rlcc-color-text); }
/* Le nom du CV est cliquable sans être souligné : dans une carte qui ne porte qu'une seule
   autre ligne de texte, le trait faisait tache — il désignait un lien là où le repère de
   document le dit déjà. Le survol le rend explicite, sans le crier au repos. */
.rlcc-nw-single-full .rlcc-nw-known__cv-link { color: var(--rlcc-color-text); text-decoration: none; }
.rlcc-nw-single-full .rlcc-nw-known__cv-link:hover {
  color: var(--rlcc-color-accent-text);
  text-decoration: underline;
}

/* Page servie par le cache full-page : PHP n'a pas tourné, le HTML porte donc le
   panneau de connexion même si le visiteur a une session. Le cookie témoin permet de
   trancher côté navigateur — mais ce qu'il faut échanger, c'est le PANNEAU, pas la
   colonne.

   Cette règle masquait `.rlcc-nw-apply__right` en entier et ne mettait rien à la place :
   dès sa première candidature, le candidat perdait la colonne droite sur toute fiche
   servie par le cache, et ne la retrouvait qu'en passant par son espace (page jamais
   cachée, où PHP rend la vraie carte). C'est le retour de recette « la partie de droite
   n'est pas présente sur toutes les offres ».

   Le repli `.rlcc-nw-relog` — rendu par PHP dans le même HTML, sans aucune donnée
   personnelle — prend désormais la place du panneau de connexion. La colonne reste, la
   grille garde ses deux pistes, et un clic ramène la vraie carte par une adresse que le
   cache ne sert pas. La carte « Nous vous connaissons ! » n'est, elle, jamais touchée :
   PHP ne la rend que sur une réponse non cachée. */
.rlcc-nw-single-full .rlcc-nw-relog { display: none; }
.rlcc-has-session .rlcc-nw-single-full .rlcc-nw-apply__right .rlcc-nw-space { display: none; }
.rlcc-has-session .rlcc-nw-single-full .rlcc-nw-relog { display: block; }
.rlcc-nw-single-full .rlcc-nw-relog .rlcc-btn { margin-top: 20px; }
.rlcc-nw-single-full .rlcc-nw-relog__space {
  display: inline-block;
  margin-top: 14px;
  color: var(--rlcc-color-muted);
  /* Même parti pris que `.rlcc-nw-space__again` : ce lien prolonge le panneau, il n'a
     pas de voix propre et hérite donc sa police au lieu d'en renommer une. */
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
  text-decoration: underline;
}
.rlcc-nw-single-full .rlcc-nw-relog__space:hover { color: var(--rlcc-color-text); }

/* --- Aperçu du CV en surimpression ---------------------------------------------------
   Le CV se consulte SANS quitter la candidature en cours : le document s'ouvre au-dessus
   de la page, dans le visualiseur du navigateur. Posé sur <dialog> pour ce qu'il apporte
   sans une ligne de script : fermeture par Échap, fond rendu inerte, focus retenu dans le
   panneau. Le panneau est enfant de <body>, hors de .rlcc-nw-single-full : ces règles ne
   peuvent pas être préfixées, et n'ont pas à l'être — le nom de classe n'existe qu'ici.

   .rlcc-cv-viewer est désormais une RACINE D'ÉMISSION de la charte (cf. Brand\Css) : le
   bloc de jetons s'imprime aussi sur elle, faute de quoi ce panneau, hissé dans la couche
   supérieure et descendant d'aucun conteneur du plugin, serait la seule surface à ignorer
   la charte — chaque var() ci-dessous retombait sur son repli. Les replis ont donc été
   retirés : ils ne peignaient plus rien, et un repli qu'aucun calcul n'atteint est un
   littéral qui survit à un renommage de jeton sans que personne le voie.

   UN SEUL rayon reste littéral, et c'est délibéré : le repli valait 6px là où le jeton de
   rayon vaut 0 par défaut. Le citer aurait équarri les angles du panneau sur une
   installation qui n'a rien réglé — le seul repli des huit dont la valeur ne coïncidait
   pas avec celle de son jeton. Le panneau garde sa géométrie, comme l'espace candidat
   garde la sienne au contrat ; ce sont ses couleurs et ses polices qui suivent la charte. */
.rlcc-cv-viewer {
  width: min(1040px, 94vw);
  max-width: none;
  height: min(880px, 90vh);
  max-height: none;
  padding: 0;
  background: var(--rlcc-color-surface);
  border: 0;
  border-radius: 6px;
  box-shadow: 0 24px 60px rgba(29, 29, 27, .28);
  overflow: hidden;
}
.rlcc-cv-viewer[open] { display: flex; flex-direction: column; }
.rlcc-cv-viewer::backdrop { background: rgba(29, 29, 27, .55); }
.rlcc-cv-viewer__head {
  display: flex;
  flex: none;
  align-items: center;
  gap: 20px;
  padding: 14px 16px 14px 24px;
  border-bottom: 1px solid var(--rlcc-color-border-faint);
}
/* Le nom du fichier ne pousse jamais l'échappement hors du panneau : il se tronque. */
.rlcc-cv-viewer__name {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  color: var(--rlcc-color-text);
  font-family: var(--rlcc-font-body);
  font-size: 15px;
  font-weight: 400;
  text-overflow: ellipsis;
  white-space: nowrap;
}
/* Le visualiseur intégré ne rend pas tout de tous les PDF : la sortie vers un onglet
   reste offerte, discrète, plutôt que d'enfermer le candidat dans le panneau. */
.rlcc-cv-viewer__tab {
  flex: none;
  color: var(--rlcc-color-accent-text);
  font-family: var(--rlcc-font-body);
  font-size: 14px;
  font-weight: 400;
  text-decoration: underline;
  white-space: nowrap;
}
.rlcc-cv-viewer__tab:hover { color: var(--rlcc-color-accent-active); }
.rlcc-cv-viewer__close {
  display: grid;
  flex: none;
  place-items: center;
  width: 36px;
  height: 36px;
  padding: 0;
  background: none;
  border: 0;
  border-radius: 50%;
  color: var(--rlcc-color-ink-soft);
  cursor: pointer;
  transition: background-color 150ms ease, color 150ms ease;
}
.rlcc-cv-viewer__close:hover { background: #f4f2ee; color: var(--rlcc-color-text); }
.rlcc-cv-viewer__close:focus-visible { outline: 2px solid var(--rlcc-color-accent-text); outline-offset: 2px; }
.rlcc-cv-viewer__frame {
  flex: 1 1 auto;
  width: 100%;
  min-height: 0;
  border: 0;
}

/* Écran étroit : le panneau prend tout, un document lu à travers une meurtrière ne se lit
   pas. Le libellé de sortie s'efface — le bouton de fermeture suffit à en sortir. */
@media (max-width: 600px) {
  .rlcc-cv-viewer { width: 100vw; height: 100vh; border-radius: 0; }
  .rlcc-cv-viewer__head { padding-left: 16px; }
  .rlcc-cv-viewer__tab { display: none; }
}
