/* Le Registre · complète apocalypse-*.css (mêmes variables, mêmes polices) */
.reg-page { max-width: 68rem; margin: 0 auto; padding: 0 1.25rem 4rem; }
.reg-entete { padding: 3rem 0 1rem; }
.reg-entete h1 {
  font-family: var(--titre); font-size: clamp(2.6rem, 7vw, 4.4rem); line-height: .95;
  margin: 0 0 .8rem; color: var(--os); letter-spacing: .01em;
}
.reg-chapeau { color: rgba(236, 228, 210, 0.72); max-width: 52ch; margin: 0 0 2rem; }
.reg-section { margin-top: 3rem; }
.reg-section > h2 {
  font-family: var(--titre); font-size: clamp(1.6rem, 4vw, 2.4rem); margin: 0 0 .4rem;
  letter-spacing: .01em; color: var(--os);
}
.reg-soustitre { margin: 0 0 1.4rem; color: rgba(236, 228, 210, 0.6); font-size: .95rem; }

/* Les compagnies */
.reg-compagnies { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr)); }
.reg-cie {
  background: var(--beton-2); border: 2px solid var(--trait); border-left: 6px solid var(--rouille);
  padding: 1.1rem 1.25rem; display: flex; flex-direction: column; gap: .5rem;
}
.reg-cie-nom { font-family: var(--titre); font-size: 1.8rem; line-height: 1.05; margin: 0; color: var(--os); }
.reg-cie-specialite { margin: 0; font-style: italic; color: rgba(236, 228, 210, 0.7); font-size: .95rem; }
.reg-cie-pied { margin: 0; font-size: .85rem; color: rgba(236, 228, 210, 0.55); }
.reg-galon {
  display: inline-block; align-self: flex-start; font-size: .72rem; letter-spacing: .12em;
  text-transform: uppercase; padding: .2rem .55rem; border: 1px solid currentColor;
}
.reg-galon-inconnue { color: rgba(236, 228, 210, 0.5); }
.reg-galon-fiable { color: var(--os); }
.reg-galon-reputee { color: var(--rubalise); }
.reg-galon-legende { color: var(--rouille-claire); border-width: 2px; }
.reg-cie[data-palier="Légende du secteur"] { border-left-color: var(--rubalise); }
.reg-cie[data-palier="Réputée"] { border-left-color: var(--rubalise); }

/* Les contrats */
.reg-contrats { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr)); }
.reg-contrat {
  background: var(--beton-2); border: 2px solid var(--trait); border-top: 6px solid var(--rubalise);
  padding: 1.1rem 1.25rem; display: flex; flex-direction: column; gap: .55rem;
}
.reg-contrat-haut { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
.reg-type { font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(236, 228, 210, 0.55); }
.reg-prix { font-family: var(--titre); font-size: 2rem; line-height: 1; color: var(--rubalise); white-space: nowrap; }
.reg-prix small { font-family: var(--corps); font-size: .42em; letter-spacing: .1em; text-transform: uppercase; margin-left: .3em; color: rgba(236, 228, 210, 0.6); }
.reg-desc { margin: 0; color: var(--os); }
.reg-meta { margin: 0; font-size: .85rem; color: rgba(236, 228, 210, 0.55); }
.reg-encours { border-top-color: var(--rouille); opacity: .82; }
.reg-etat { font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--rouille-claire); }

.reg-vide {
  border: 2px dashed var(--trait); padding: 1.6rem 1.25rem; text-align: center;
  color: rgba(236, 228, 210, 0.55);
}
.reg-note { color: rgba(236, 228, 210, 0.55); font-size: .9rem; margin-top: 1.2rem; }
.reg-comment { background: var(--beton-2); border: 2px solid var(--trait); padding: 1.4rem 1.5rem; margin-top: 1.2rem; }
.reg-comment h3 { font-family: var(--titre); font-size: 1.4rem; margin: 0 0 .6rem; color: var(--os); }
.reg-comment ol { margin: 0; padding-left: 1.2rem; color: rgba(236, 228, 210, 0.78); }
.reg-comment li { margin-bottom: .45rem; }
.reg-comment code {
  background: var(--goudron); border: 1px solid var(--trait); padding: .08rem .4rem;
  font-size: .88em; color: var(--rubalise-vive);
}
/* Contrats de la Colonie */
.reg-colonie { border-top-color: var(--os); }
.reg-colonie .reg-type { color: var(--os); }

/* Les secteurs */
.reg-sous { font-family: var(--titre); font-size: 1.25rem; margin: 1.6rem 0 .8rem; color: rgba(236, 228, 210, 0.8); letter-spacing: .02em; }
.reg-secteurs { display: grid; gap: .8rem; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); }
.reg-secteur { background: var(--beton-2); border: 2px solid var(--trait); border-left: 6px solid #7bc043; padding: .9rem 1.1rem; }
/* police du texte : dans celle des titres, le O d'Ouest se lit comme un zéro */
.reg-secteur-nom { font-family: var(--corps); font-weight: 700; font-size: 1.35rem; line-height: 1.1; color: var(--os); letter-spacing: .02em; }
.reg-jauges { display: flex; flex-direction: column; gap: .5rem; }
.reg-jauge { display: grid; grid-template-columns: 5.5rem 1fr 3.2rem; align-items: center; gap: .8rem; }
.reg-jauge-nom { font-family: var(--corps); font-weight: 700; font-size: .95rem; color: var(--os); }
.reg-jauge-barre { height: .7rem; background: var(--goudron); border: 1px solid var(--trait); position: relative; overflow: hidden; }
.reg-jauge-plein { position: absolute; inset: 0 auto 0 0; }
.reg-jauge-haut { background: var(--rouille-claire); }
.reg-jauge-moyen { background: var(--rubalise); }
.reg-jauge-bas { background: #7bc043; }
.reg-jauge-val { text-align: right; font-size: .9rem; color: rgba(236, 228, 210, 0.7); font-variant-numeric: tabular-nums; }

/* Relais radio : libres en jaune, tenus en vert (couleur des secteurs) */
.reg-relais-libre { border-left-color: var(--rubalise); }

/* L'argent qui sort */
.reg-economie { background: var(--beton-2); border: 2px solid var(--trait); padding: 1.2rem 1.4rem; }
.reg-eco-total { display: flex; align-items: baseline; gap: .7rem; flex-wrap: wrap; }
.reg-eco-chiffre { font-family: var(--titre); font-size: 3rem; line-height: 1; color: var(--rubalise); }
.reg-eco-libelle { color: rgba(236, 228, 210, 0.7); }

@media (max-width: 40rem) {
  .reg-contrat-haut { flex-direction: column; gap: .2rem; }
}
