/* Recrutement Circulaire — blocs et sections du design Framer (docs/maquettes/framer/structure.txt). */

/* Logo d'entreprise, teinté en marine par un masque */
.rc-logo { display: inline-flex; height: 26px; flex: none; }
.rc-logo img { height: 100%; width: auto; max-width: none; }
.rc-logo--marine { background: var(--rc-marine); -webkit-mask: var(--rc-logo) center / contain no-repeat; mask: var(--rc-logo) center / contain no-repeat; }
.rc-logo--marine img { opacity: 0; }

/* Hero (structure.txt l. 7-29 et 501-534) */
/* overflow-x: clip : l'ombre et l'étoile du label tournent, leur boîte englobante dépasse de quelques pixels et élargirait le document ; la partie peinte du label reste dans la section. */
.rc-hero { overflow-x: clip; --rc-haut: 56px; --rc-bas: 72px; display: flex; flex-direction: row; align-items: center; gap: 72px; }
.rc-hero--photo-droite .rc-hero__photo { order: 2; }
.rc-hero--photo-droite .rc-hero__label { right: auto; left: -50px; }
.rc-hero__photo { position: relative; flex: 5 1 0; min-width: 0; }
.rc-hero__cadre { height: 520px; overflow: hidden; }
.rc-hero__cadre img { width: 100%; height: 100%; object-fit: cover; }
.rc-hero__label { position: absolute; top: -40px; right: -50px; z-index: 2; width: 150px; }
.rc-hero__texte { flex: 7 1 0; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
.rc-hero__intro { max-width: 520px; }
.rc-hero__faits { display: flex; flex-direction: row; gap: 16px; width: 100%; padding-top: 16px; margin-top: 12px; border-top: 1px solid var(--rc-filet); }
.rc-hero__faits li { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.rc-hero--sans-photo .rc-hero__texte { max-width: 760px; }
@media (max-width: 1199.98px) {
	.rc-hero { flex-direction: column; align-items: flex-start; gap: 40px; padding: 28px var(--rc-marge) 48px; }
	.rc-hero__photo, .rc-hero__texte { flex: none; width: 100%; }
	.rc-hero--photo-droite .rc-hero__photo { order: 0; }
	.rc-hero__cadre { height: 440px; }
	.rc-hero__label { top: -28px; right: -8px; width: 130px; }
	.rc-hero--photo-droite .rc-hero__label { right: auto; left: -8px; }
}
@media (max-width: 809.98px) {
	.rc-hero__cadre { height: 340px; }
	.rc-hero__label { width: 104px; }
	.rc-hero__faits { flex-direction: column; gap: 12px; }
}

/* Bandeau photo (structure.txt l. 44-48) */
.rc-bandeau { --rc-focus: #fff; position: relative; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; height: 560px; padding: 0 40px 52px; overflow: hidden; }
.rc-bandeau > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; }
.rc-bandeau::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(3, 27, 99, 0) 30%, rgba(3, 27, 99, .55) 100%); }
.rc-bandeau .rc-slogan { position: relative; z-index: 1; max-width: 1000px; text-align: center; }
@media (max-width: 1199.98px) { .rc-bandeau { height: 460px; padding: 0 32px 40px; } }
@media (max-width: 809.98px) { .rc-bandeau { height: 420px; padding: 0 20px 32px; } }

/* Chiffres (structure.txt l. 49-69) */
.rc-chiffres { --rc-haut: 0px; --rc-bas: 0px; }
.rc-chiffres__liste { display: flex; flex-direction: row; border-bottom: 1px solid var(--rc-filet); }
.rc-chiffres__element { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 10px; padding: 44px 28px 40px; }
.rc-chiffres__element:first-child { padding-left: 0; }
.rc-chiffres__element + .rc-chiffres__element { border-left: 1px solid var(--rc-filet); }
.rc-chiffres__note { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 14px; padding-top: 14px; }
@media (max-width: 1199.98px) { .rc-chiffres { padding-top: 0; padding-bottom: 0; } }
@media (max-width: 809.98px) {
	.rc-chiffres__liste { flex-direction: column; }
	.rc-chiffres__note { flex-direction: column; align-items: flex-start; }
	.rc-chiffres__element { padding: 26px 0; }
	.rc-chiffres__element + .rc-chiffres__element { border-left: 0; border-top: 1px solid var(--rc-filet); }
}

/* Barres (structure.txt l. 70-102) */
.rc-barres { --rc-haut: 96px; display: flex; flex-direction: row; align-items: flex-start; gap: 72px; }
.rc-barres__texte { flex: .9 1 0; min-width: 0; }
.rc-barres__texte .rc-intro { max-width: 620px; }
.rc-barres__liste { flex: 1.1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 26px; padding-top: 8px; }
.rc-barre { display: flex; flex-direction: column; gap: 10px; }
.rc-barre__entete { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; }
.rc-barre__valeur { color: var(--rc-teal); white-space: nowrap; }
.rc-barre__piste { height: 12px; background: var(--rc-teal-clair); }
.rc-barre__jauge { height: 100%; background: var(--rc-teal); }
@media (max-width: 1199.98px) {
	.rc-barres { flex-direction: column; gap: 32px; }
	.rc-barres__texte, .rc-barres__liste { flex: none; width: 100%; }
}

/* Damier (structure.txt l. 103-159). Sur tablette et mobile, la photo passe toujours avant le texte. */
.rc-damier { display: flex; flex-direction: column; width: 100%; padding-top: 36px; }
.rc-damier__ligne { display: flex; flex-direction: row; align-items: flex-start; }
.rc-damier__photo { flex: 1 1 0; min-width: 0; height: var(--rc-damier-h, 440px); overflow: hidden; }
.rc-damier__photo img { width: 100%; height: 100%; object-fit: cover; }
.rc-damier__texte { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 18px; padding: 40px 48px 40px 0; }
.rc-damier__corps { display: flex; flex-direction: column; gap: 14px; width: 100%; padding-left: 48px; }
.rc-damier__corps .rc-texte { max-width: 460px; }
.rc-damier__ligne--inverse .rc-damier__photo { order: 2; }
.rc-damier__ligne--inverse .rc-damier__texte { align-items: flex-end; padding: 40px 0 40px 48px; text-align: right; }
.rc-damier__ligne--inverse .rc-damier__corps { align-items: flex-end; padding: 0 48px 0 0; }
.rc-damier__ligne--sans-photo .rc-damier__texte { padding: 28px 0; }
.rc-damier__ligne--sans-photo .rc-damier__corps { padding: 0; }
/* Une ligne paire sans photo n'a rien à équilibrer : son texte reste aligné à gauche, comme une ligne normale. */
.rc-damier__ligne--inverse.rc-damier__ligne--sans-photo .rc-damier__texte { align-items: flex-start; text-align: left; }
.rc-damier__ligne--inverse.rc-damier__ligne--sans-photo .rc-damier__corps { align-items: flex-start; }
@media (max-width: 1199.98px) {
	.rc-damier__ligne { flex-direction: column; }
	.rc-damier__photo, .rc-damier__texte { flex: none; width: 100%; }
	.rc-damier__photo { height: 380px; }
	.rc-damier__ligne--inverse .rc-damier__photo { order: 0; }
	.rc-damier__texte, .rc-damier__ligne--inverse .rc-damier__texte { align-items: flex-start; padding: 20px 0 36px; text-align: left; }
	.rc-damier__corps, .rc-damier__ligne--inverse .rc-damier__corps { align-items: flex-start; padding: 0; }
}
@media (max-width: 809.98px) { .rc-damier__photo { height: 260px; } }

/* Citation avec portrait (structure.txt l. 264-276) */
.rc-citation-bloc { --rc-bas: 96px; display: flex; flex-direction: row; align-items: center; gap: 64px; }
.rc-citation-bloc__photo { flex: 4 1 0; min-width: 0; height: 420px; overflow: hidden; }
.rc-citation-bloc__photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; }
.rc-citation-bloc__texte { flex: 7 1 0; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 22px; }
.rc-citation-bloc--sans-photo .rc-citation-bloc__texte { max-width: 820px; }
@media (max-width: 1199.98px) {
	.rc-citation-bloc { flex-direction: column; align-items: flex-start; gap: 28px; }
	.rc-citation-bloc__photo, .rc-citation-bloc__texte { flex: none; width: 100%; }
	.rc-citation-bloc__photo { height: 400px; }
}
@media (max-width: 809.98px) { .rc-citation-bloc__photo { height: 360px; } }

/* Grille à filets (structure.txt l. 160-184) */
.rc-grille { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 48px; width: 100%; padding-top: 28px; }
.rc-grille__element { display: flex; flex-direction: column; gap: 10px; padding-top: 18px; border-top: 2px solid var(--rc-teal); }
@media (max-width: 809.98px) { .rc-grille { grid-template-columns: 1fr; gap: 28px; } }

/* Bande finale (structure.txt l. 277-296) */
.rc-bande { --rc-focus: #fff; padding: 72px var(--rc-marge); background: var(--rc-teal); color: #fff; }
.rc-bande__inner { display: flex; flex-direction: row; align-items: center; gap: 56px; max-width: 1120px; margin: 0 auto; }
.rc-bande__label { width: 140px; }
.rc-bande__texte { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.rc-bande .rc-t2 { max-width: none; }
.rc-bande .rc-intro { max-width: 580px; color: #fff; }
@media (max-width: 1199.98px) {
	.rc-bande { padding: 56px var(--rc-marge); }
	.rc-bande__inner { flex-direction: column; align-items: flex-start; gap: 24px; }
	.rc-bande__label { width: 110px; }
}
@media (max-width: 809.98px) { .rc-bande { padding: 48px var(--rc-marge); } .rc-bande__label { width: 88px; } }

/* Frise (structure.txt l. 651-700) : filet continu qui passe par le centre des pastilles ; en colonne sous 1200 px. */
.rc-frise { position: relative; display: flex; flex-direction: row; align-items: flex-start; gap: 24px; width: 100%; padding-top: 28px; }
.rc-frise::before { content: ''; position: absolute; z-index: 0; left: 0; right: 0; top: 35px; height: 2px; background: var(--rc-filet); }
.rc-frise__etape { position: relative; z-index: 1; flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.rc-frise__point { width: 16px; height: 16px; margin-bottom: 16px; border-radius: 50%; background: var(--rc-teal); }
.rc-frise__etape:first-child .rc-frise__point { background: var(--rc-marine); }
@media (max-width: 1199.98px) {
	.rc-frise { flex-direction: column; gap: 26px; }
	.rc-frise::before { right: auto; left: 7px; top: 28px; bottom: 0; width: 2px; height: auto; }
	/* Écart voulu avec le relevé : le contenu est décalé de 32 px pour que le filet ne passe pas sur les textes ; la pastille reste sur le filet. */
	.rc-frise__etape { flex: none; width: 100%; padding-left: 32px; }
	.rc-frise__point { margin-left: -32px; }
}

/* Mosaïque de témoignages (structure.txt l. 701-729) */
.rc-mosaique { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; width: 100%; padding-top: 28px; }
.rc-vignette { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; min-width: 0; }
.rc-vignette__photo { width: 180px; height: 180px; overflow: hidden; }
.rc-vignette__photo img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 1199.98px) { .rc-mosaique { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 809.98px) {
	.rc-mosaique { display: flex; flex-direction: column; align-items: flex-start; gap: 36px; }
	.rc-vignette { width: 100%; }
	.rc-vignette__photo { width: 160px; height: 160px; }
}

/* Galerie (structure.txt l. 730-738) : trois photos de 340 px, la première plus large ; en colonne sous 810 px. */
.rc-galerie { display: flex; flex-direction: row; align-items: flex-start; gap: 16px; width: 100%; max-width: var(--rc-max); margin: 0 auto; padding: 0 var(--rc-marge) 96px; }
.rc-galerie__photo { flex: 1 1 0; min-width: 0; height: 340px; overflow: hidden; }
.rc-galerie__photo:first-child { flex-grow: 1.6; }
.rc-galerie__photo img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 1199.98px) { .rc-galerie { padding-bottom: 64px; } }
@media (max-width: 809.98px) {
	.rc-galerie { flex-direction: column; gap: 12px; padding-bottom: 56px; }
	.rc-galerie__photo { flex: none; width: 100%; height: 220px; }
}

/* Réglages propres à la fiche profil (structure.txt l. 561-650, 701-705) */
[data-section="engagements-charte"] { --rc-damier-h: 480px; }
[data-section="engagements-charte"] .rc-intro { max-width: 620px; }
[data-section="temoignages"] .rc-note { max-width: 620px; }
[data-section="mot-drh"] { --rc-haut: 96px; }
[data-section="mot-drh"] .rc-citation-bloc__photo { height: 460px; }
[data-section="mot-drh"] .rc-citation-bloc__photo img { object-position: 50% 50%; }
@media (max-width: 1199.98px) { [data-section="mot-drh"] .rc-citation-bloc__photo { height: 420px; } }
@media (max-width: 809.98px) { [data-section="mot-drh"] .rc-citation-bloc__photo { height: 380px; } }

/* Vues Engagements et Impact (structure.txt l. 759-1140) */

/* Citations en colonnes (l. 796-824) : trois colonnes égales sur desktop, une colonne sous 1200 px. */
.rc-colonnes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; width: 100%; padding-top: 32px; }
.rc-colonnes__element { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; padding-top: 22px; border-top: 2px solid var(--rc-teal); }
.rc-colonnes__guillemet { color: var(--rc-teal); }
@media (max-width: 1199.98px) { .rc-colonnes { grid-template-columns: 1fr; gap: 28px; } }

/* Damier portrait (l. 825-952 et 1059-1121) : photo carrée, lignes séparées par un filet. */
.rc-damier--portrait .rc-damier__ligne { align-items: center; padding: 28px 0; border-top: 1px solid var(--rc-filet); }
.rc-damier--portrait .rc-damier__photo { flex: none; width: 300px; height: 300px; }
.rc-damier--portrait .rc-damier__corps .rc-recit { max-width: 460px; }
.rc-damier--portrait .rc-damier__ligne--sans-photo .rc-damier__texte { padding: 28px 0; }
@media (max-width: 1199.98px) {
	.rc-damier--portrait .rc-damier__ligne { align-items: flex-start; }
	.rc-damier--portrait .rc-damier__photo { width: 260px; height: 260px; }
	.rc-damier--portrait .rc-damier__texte { width: 100%; }
}
@media (max-width: 809.98px) { .rc-damier--portrait .rc-damier__photo { width: 220px; height: 220px; } }

/* Pastilles et chiffres d'un axe (l. 849-870) */
.rc-pastilles { display: flex; flex-direction: row; flex-wrap: wrap; gap: 8px; width: 100%; }
.rc-pastille { padding: 5px 12px; border: 1px solid var(--rc-teal); border-radius: 999px; font-size: 12.5px; line-height: 1.45; font-weight: 300; color: var(--rc-teal); }
.rc-axe-chiffres { display: flex; flex-direction: row; gap: 32px; width: 100%; padding-top: 16px; border-top: 1px solid var(--rc-filet); }
.rc-axe-chiffres li { text-align: left; display: flex; flex-direction: column; gap: 2px; }
.rc-axe-chiffres .rc-t2 { color: var(--rc-teal); }
.rc-damier__ligne--inverse .rc-pastilles, .rc-damier__ligne--inverse .rc-axe-chiffres { justify-content: flex-end; }
@media (max-width: 1199.98px) {
	.rc-damier__ligne--inverse .rc-pastilles, .rc-damier__ligne--inverse .rc-axe-chiffres { justify-content: flex-start; }
}

/* Réglages propres à ces vues */
[data-section="imp-destinations"] { --rc-haut: 88px; }
[data-section="imp-destinations"] .rc-barres__liste { gap: 24px; }
[data-section="eng-axes"] .rc-note, [data-section="imp-histoires"] .rc-note { max-width: 620px; }
[data-section="eng-axes"] .rc-damier__corps .rc-recit { font-size: 15px; line-height: 1.65; font-weight: 300; }

/* Accueil (structure.txt l. 3-296) */

/* Bandeau de logos (l. 30-43). Les copies de la liste débordent à droite et sont coupées par la fenêtre (1 920 px au plus) ; le défilement est ajouté dans motion.css. */
.rc-logos { display: flex; flex-direction: column; align-items: center; gap: 22px; width: 100%; padding: 28px 0 32px; border-top: 1px solid var(--rc-filet); border-bottom: 1px solid var(--rc-filet); overflow: hidden; }
.rc-logos__fenetre { width: 100%; max-width: 1920px; margin-inline: auto; padding-block: 4px; margin-block: -4px; overflow: hidden; -webkit-mask: linear-gradient(90deg, transparent 0, #000 10%, #000 90%, transparent 100%); mask: linear-gradient(90deg, transparent 0, #000 10%, #000 90%, transparent 100%); }
.rc-logos__piste { display: flex; flex-direction: row; width: max-content; }
.rc-logos__liste { display: flex; flex-direction: row; align-items: center; flex: none; gap: 80px; padding-right: 80px; }
.rc-logos__liste li { flex: none; }
.rc-logos__liste a { display: inline-flex; }
.rc-logo--bandeau { height: 34px; }
@media (max-width: 809.98px) { .rc-logos__liste { gap: 48px; padding-right: 48px; } }

/* Liste des entreprises labellisées (l. 185-263) */
.rc-liste-entreprises { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 32px; width: 100%; padding-top: 28px; }
.rc-liste-entreprises__element { border-top: 1px solid var(--rc-filet); }
.rc-liste-entreprises__element a { display: flex; flex-direction: row; align-items: center; gap: 14px; padding: 18px 0; }
.rc-liste-entreprises__nom { display: flex; flex-direction: column; min-width: 0; }
@media (max-width: 1199.98px) { .rc-liste-entreprises { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 809.98px) { .rc-liste-entreprises { grid-template-columns: 1fr; } }

/* Liens et boutons sous une liste (l. 183 et 262) : 24 px au-dessus, au lieu des 10 px du double bouton */
[data-section="landing-charte"] > .rc-actions, [data-section="landing-entreprises"] > .rc-actions { padding-top: 24px; }

/* Annuaire, charte, pages de texte, page introuvable (structure.txt l. 297-496 et 1141-1414) */

/* En-tête de l'annuaire et des pages de texte : 64 px au-dessus, 40 px en dessous ; la liste enchaîne à 24 px (l. 298 et 313) */
[data-section="annuaire-entete"], [data-section="page-entete"], [data-section="protocole-entete"] { --rc-haut: 64px; --rc-bas: 40px; gap: 20px; }
[data-section="annuaire-liste"], [data-section="page-texte"] { --rc-haut: 24px; --rc-bas: 96px; }
[data-section="annuaire-entete"] .rc-t1, [data-section="page-entete"] .rc-t1, [data-section="protocole-entete"] .rc-t1 { max-width: 820px; }
[data-section="annuaire-entete"] .rc-intro, [data-section="protocole-entete"] .rc-intro { max-width: 640px; }
@media (max-width: 1199.98px) {
	[data-section="annuaire-entete"], [data-section="page-entete"], [data-section="protocole-entete"] { padding: 48px var(--rc-marge) 32px; }
}
@media (max-width: 809.98px) {
	[data-section="annuaire-entete"], [data-section="page-entete"], [data-section="protocole-entete"] { padding: 40px var(--rc-marge) 24px; }
}

/* Filtres par secteur (l. 307-312) */
.rc-filtres { display: flex; flex-direction: row; flex-wrap: wrap; gap: 10px; width: 100%; padding-top: 8px; }
.rc-filtre { display: inline-flex; padding: 8px 16px; border: 1px solid var(--rc-teal); font-size: 14px; line-height: 1.4; font-weight: 600; color: var(--rc-teal); transition: background .2s, color .2s; }
.rc-filtre:hover, .rc-filtre.is-actif { background: var(--rc-teal); color: #fff; }

/* Liste de l'annuaire (l. 313-495) */
[data-section="annuaire-liste"] { display: flex; flex-direction: column; gap: 8px; }
.rc-cartes-annuaire { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 32px; width: 100%; padding-top: 12px; }
.rc-carte-annuaire { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 12px; min-width: 0; padding-top: 20px; border-top: 2px solid var(--rc-teal); }
/* Lien étiré : le nom est le lien, son ::after couvre toute la carte (et porte le contour de focus) */
.rc-carte-annuaire__lien::after { content: ''; position: absolute; inset: 0; }
.rc-carte-annuaire__lien:focus-visible { outline: none; }
.rc-carte-annuaire:hover .rc-lien { color: var(--rc-marine); }
.rc-carte-annuaire__lien:focus-visible::after { outline: 2px solid var(--rc-focus); outline-offset: 4px; }
.rc-carte-annuaire__nom { display: flex; flex-direction: row; align-items: center; gap: 14px; padding-top: 4px; }
.rc-logo--carte { height: 30px; }
.rc-carte-annuaire__chiffres { display: flex; flex-direction: row; gap: 28px; width: 100%; padding-top: 6px; }
.rc-carte-annuaire__chiffres > div { display: flex; flex-direction: column; }
.rc-carte-annuaire__chiffres .rc-t2 { color: var(--rc-teal); }
@media (max-width: 1199.98px) { .rc-cartes-annuaire { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 809.98px) { .rc-cartes-annuaire { display: flex; flex-direction: column; gap: 36px; } .rc-carte-annuaire { width: 100%; } }

/* Charte : deux colonnes égales (l. 1245-1266 et 1323-1341) */
.rc-deux-colonnes { display: flex; flex-direction: row; align-items: flex-start; gap: 72px; }
.rc-deux-colonnes > * { flex: 1 1 0; min-width: 0; }
.rc-etape-label { display: flex; flex-direction: row; align-items: center; gap: 12px; }
@media (max-width: 1199.98px) { .rc-deux-colonnes { flex-direction: column; gap: 32px; } .rc-deux-colonnes > * { flex: none; width: 100%; } }
@media (max-width: 809.98px) { .rc-etape-label { flex-direction: column; align-items: flex-start; gap: 6px; } }
[data-section="charte-engagements"] { --rc-haut: 40px; --rc-bas: 24px; --rc-damier-h: 420px; }
[data-section="charte-signer"] { --rc-haut: 88px; --rc-bas: 40px; }

/* Texte long : colonne de lecture de 760 px, contenu produit par l'éditeur de blocs (l. 1351-1398) */
.rc-prose > * { width: 100%; max-width: 760px; }
.rc-prose > * + * { margin-top: 16px; }
.rc-prose h2, .rc-prose h3 { font-size: 22px; line-height: 1.3; font-weight: 700; }
.rc-prose p, .rc-prose li { font-size: 15px; line-height: 1.65; font-weight: 300; }
.rc-prose ul, .rc-prose ol { padding-left: 22px; }
.rc-prose ul { list-style: disc; }
.rc-prose ol { list-style: decimal; }
.rc-prose li + li { margin-top: 8px; }
.rc-prose li::marker { color: var(--rc-teal); }
.rc-prose strong { font-weight: 600; }
.rc-prose a { color: var(--rc-teal); text-decoration: underline; text-underline-offset: 3px; }
.rc-prose a:hover { color: var(--rc-marine); }
@media (max-width: 1199.98px) { .rc-prose h2, .rc-prose h3 { font-size: 20px; } }
@media (max-width: 809.98px) { .rc-prose h2, .rc-prose h3 { font-size: 19px; } }

/* Page introuvable (l. 1399-1414) : 120 px au-dessus, 140 px en dessous */
.rc-introuvable { --rc-haut: 120px; --rc-bas: 140px; min-height: 60vh; justify-content: center; gap: 20px; }
.rc-introuvable .rc-t1 { max-width: 720px; }
@media (max-width: 1199.98px) { .rc-introuvable { padding: 96px var(--rc-marge) 110px; } }
@media (max-width: 809.98px) { .rc-introuvable { padding: 72px var(--rc-marge) 96px; } }

/* Fiche ou page protégée par un mot de passe : section étroite centrée, champ et bouton aux styles du thème */
.rc-protege { max-width: calc(600px + 2 * var(--rc-marge)); --rc-haut: 120px; --rc-bas: 140px; min-height: 50vh; justify-content: center; gap: 20px; }
.post-password-form { display: flex; flex-direction: column; gap: 16px; width: 100%; max-width: 520px; }
.post-password-form p { font-size: 15px; line-height: 1.65; font-weight: 300; }
.post-password-form label { display: flex; flex-direction: column; gap: 8px; font-size: 14px; line-height: 1.4; font-weight: 600; }
.post-password-form input[type="password"] { width: 100%; padding: 14px 16px; border: 1.5px solid var(--rc-marine); border-radius: 8px; background: #fff; font: inherit; font-weight: 400; color: var(--rc-marine); }
.post-password-form input[type="submit"] { padding: 14px 26px; border: 1.5px solid transparent; border-radius: 8px; background: var(--rc-cta); font: inherit; font-size: 15px; line-height: 1.2; font-weight: 600; letter-spacing: -.02em; color: var(--rc-marine); cursor: pointer; transition: transform .3s var(--rc-courbe), box-shadow .3s var(--rc-courbe); }
.post-password-form input[type="submit"]:hover { transform: translateY(-1px); box-shadow: 0 8px 20px rgba(3, 27, 99, .2); }
@media (max-width: 1199.98px) { .rc-protege { padding: 96px var(--rc-marge) 110px; } }
@media (max-width: 809.98px) { .rc-protege { padding: 72px var(--rc-marge) 96px; } }
