.rlcc {
  /* Couleurs, polices et rayon ne sont plus déclarés ici : ils viennent de l'émetteur
     de charte (Brand\Css), imprimé juste après cette feuille. Cette feuille les
     CONSOMME — un littéral écrit dans une propriété échapperait au réglage. Ne restent
     ici que la géométrie de page, qui n'appartient pas à la charte : la largeur du
     conteneur (redéclarée pour la fiche offre plus bas, et surchargeable par le panneau
     Apparence) et la gouttière. */
  --rlcc-container: 1240px;
  --rlcc-gutter: clamp(20px, 4vw, 48px);

  color: var(--rlcc-color-text);
  font-family: var(--rlcc-font-body);
  line-height: 1.6;
  letter-spacing: -0.1px;
}

.rlcc, .rlcc *, .rlcc *::before, .rlcc *::after {
  box-sizing: border-box;
}

.rlcc a { color: inherit; text-decoration: none; }
.rlcc a:hover { color: var(--rlcc-color-accent-text); }

.rlcc-container {
  max-width: var(--rlcc-container);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--rlcc-gutter);
  padding-right: var(--rlcc-gutter);
  width: 100%;
}

/* La fiche offre veut un conteneur plus large que le défaut générique (1420 contre
   1240) : une redéclaration de la MÊME variable, à la MÊME spécificité que .rlcc, dont
   l'élément porte toujours les deux classes à la fois — tranchée par l'ordre d'écriture,
   pas par la spécificité. DOIT rester dans cette feuille (pas newwork-single.css) : le
   réglage d'apparence (OfferStyle::inlineCss()) s'imprime juste après CE fichier, donc
   avant newwork-single.css — une redéclaration qui vivrait là-bas s'imprimerait après
   lui et l'emporterait à tort sur la personnalisation de l'administrateur. */
.rlcc-nw-single-full { --rlcc-container: 1420px; }

.rlcc-eyebrow,
.rlcc-pretitle {
  display: block;
  color: var(--rlcc-color-accent-text);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 14px;
}
.rlcc-eyebrow::before,
.rlcc-pretitle::before { content: "/ "; }

.rlcc h1, .rlcc h2, .rlcc h3 { font-family: var(--rlcc-font-heading); color: var(--rlcc-color-ink); font-weight: 700; line-height: 1.15; margin: 0 0 .5em; }
.rlcc h4, .rlcc h5, .rlcc h6 { font-family: var(--rlcc-font-heading); }
.rlcc h1 { font-size: 40px; }
.rlcc h2 { font-size: 30px; }
.rlcc h3 { font-size: 22px; }
.rlcc-section-title--slash::before { content: "/"; margin-right: 6px; color: var(--rlcc-color-accent-text); }

.rlcc-btn,
.rlcc .rlcc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 5px 16px;
  border: 1px solid transparent;
  border-radius: var(--rlcc-radius-control);
  font-family: var(--rlcc-font-heading);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 1.1px;
  text-transform: uppercase;
  line-height: 1.6;
  cursor: pointer;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
  text-align: center;
}
.rlcc-btn--primary,
.rlcc .rlcc-btn--primary {
  background-color: var(--rlcc-color-primary);
  border-color: var(--rlcc-color-primary);
  color: var(--rlcc-color-on-primary);
}
.rlcc-btn--primary:hover { background-color: var(--rlcc-color-primary-hover); border-color: var(--rlcc-color-primary-hover); color: var(--rlcc-color-on-primary); }

.rlcc-btn--secondary,
.rlcc-btn--outline,
.rlcc .rlcc-btn--secondary {
  background-color: transparent;
  border-color: var(--rlcc-color-border);
  color: var(--rlcc-color-ink);
}
.rlcc-btn--secondary:hover,
.rlcc-btn--outline:hover { background-color: var(--rlcc-color-ink); color: var(--rlcc-color-surface); }

.rlcc .rlcc-btn.rlcc-btn--lg,
.rlcc-btn--lg {
  padding: 20px 34px 19px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 2.4px;
  line-height: 1.6;
}

.rlcc-btn--block { width: 100%; }

.rlcc-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 12px;
  border: 1px solid var(--rlcc-color-border);
  border-radius: 0;
  font-family: var(--rlcc-font-heading);
  font-size: 16px;
  font-weight: 400;
  color: var(--rlcc-color-ink);
  background: transparent;
  line-height: 1.6;
}
.rlcc-badge--muted { border-color: #cfcdc9; color: var(--rlcc-color-ink); }
.rlcc-badge--accent { border-color: var(--rlcc-color-primary); color: var(--rlcc-color-primary); }

.rlcc .rlcc-card__title a:hover,
.rlcc .rlcc-card--offer:hover .rlcc-card__link,
.rlcc .rlcc-breadcrumb a:hover { color: var(--rlcc-color-accent-text); }

.rlcc [data-rlcc-reveal] { opacity: 1; }

@media (max-width: 782px) {
  .rlcc h1 { font-size: 30px; }
  .rlcc h2 { font-size: 24px; }
}

.rlcc .rlcc-btn--outline,
.rlcc .rlcc-btn--secondary.rlcc-nw-aside-save,
.rlcc .rlcc-btn--outline.rlcc-btn--block {
  background: transparent !important;
  color: var(--rlcc-color-ink) !important;
  border: 1px solid var(--rlcc-color-border) !important;
  box-shadow: none !important;
}
.rlcc .rlcc-btn--outline:hover,
.rlcc .rlcc-btn--outline.rlcc-btn--block:hover {
  background: var(--rlcc-color-ink) !important;
  color: var(--rlcc-color-surface) !important;
}

#section-9101-139 .ct-section-inner-wrap,
#section-9201-139 .ct-section-inner-wrap {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
#section-9101-139, #section-9201-139 { padding-top: 0 !important; padding-bottom: 0 !important; }
.rlcc-search-band { width: 100%; }
.rlcc .rlcc-search { flex-wrap: nowrap !important; align-items: stretch; gap: 0; }
.rlcc .rlcc-search__submit { align-self: stretch; }

/* Spinner d'attente : un arc qui tourne, à la couleur du texte qui l'accompagne —
   posé dans un bouton il est blanc, dans du texte courant il prend l'encre. Le trait
   fin et les angles vifs du reste de la charte n'appellent pas un disque plein. */
.rlcc .rlcc-spinner {
  display: inline-block;
  flex: 0 0 auto;
  width: 14px;
  height: 14px;
  border: 1.5px solid currentColor;
  border-top-color: transparent;
  border-radius: 50%;
  opacity: .9;
  animation: rlcc-spin .7s linear infinite;
}
@keyframes rlcc-spin { to { transform: rotate(360deg); } }

/* Pendant l'envoi, le formulaire ne répond plus : on le dit à l'œil et au pointeur. */
.rlcc form.is-loading { opacity: .7; }
.rlcc form.is-loading * { cursor: progress; }

@media (prefers-reduced-motion: reduce) {
  /* Sans rotation, l'arc seul ne dit plus rien : on le remplace par une pulsation. */
  .rlcc .rlcc-spinner { animation: rlcc-pulse 1.2s ease-in-out infinite; }
  @keyframes rlcc-pulse { 0%, 100% { opacity: .35; } 50% { opacity: 1; } }
}
