/* miroir-mural.com : feuille du site (verre, lumière, laiton). Fonds clairs, aucune grande zone sombre. */
:root {
  --rfl-fond: #F8F7F3;
  --rfl-carte: #FFFFFF;
  --rfl-texte: #24272C;
  --rfl-texte-2: #5E6670;
  --rfl-laiton: #A9824A;
  --rfl-laiton-fonce: #7D5E2F;
  --rfl-tain: #3F5F7A;
  --rfl-filet: #E4DED2;
  --rfl-argent: #EEF1F4;
  --rfl-titres: 'Josefin Sans', 'Century Gothic', 'Avenir Next', sans-serif;
  --rfl-corps: 'Albert Sans', 'Segoe UI', Roboto, sans-serif;
  --rfl-rayon: 8px;
  --rfl-largeur: 1160px;
  --rfl-gouttiere: 16px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--rfl-fond);
  color: var(--rfl-texte);
  font: 400 17px/1.6 var(--rfl-corps);
}
img, svg { display: block; max-width: 100%; }
a { color: var(--rfl-tain); text-underline-offset: 3px; }
a:hover { color: var(--rfl-laiton-fonce); }
:focus-visible { outline: 2px solid var(--rfl-laiton); outline-offset: 3px; }

.rfl-cadre { width: 100%; max-width: var(--rfl-largeur); margin: 0 auto; padding: 0 var(--rfl-gouttiere); }
@media (min-width: 720px) { :root { --rfl-gouttiere: 28px; } }

h1, h2, h3 { font-family: var(--rfl-titres); color: var(--rfl-texte); letter-spacing: 0.01em; }
h1 { font-weight: 600; font-size: clamp(2rem, 4.4vw, 3.25rem); line-height: 1.12; margin: 0.35em 0 0.4em; }
h2 { font-weight: 600; font-size: clamp(1.5rem, 2.8vw, 2.1rem); line-height: 1.2; margin: 0.2em 0 0.8em; }
h3 { font-weight: 600; font-size: 1.2rem; line-height: 1.3; margin: 0.6em 0 0.35em; }

/* petites capitales espacées : bandeau, surtitres, rôles */
.rfl-capitales {
  font-family: var(--rfl-titres);
  font-weight: 600;
  font-size: 0.8rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--rfl-laiton-fonce);
}

/* ---------- en-tête ---------- */
.rfl-entete { background: var(--rfl-carte); border-bottom: 1px solid var(--rfl-filet); }
.rfl-entete .rfl-cadre { display: flex; align-items: center; gap: 20px; min-height: 68px; }
.rfl-marque { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--rfl-texte); }
.rfl-marque svg { width: 22px; height: 30px; }
.rfl-marque span { font-family: var(--rfl-titres); font-weight: 700; font-size: 1.25rem; letter-spacing: 0.06em; white-space: nowrap; }
.rfl-nav { margin-left: auto; }
.rfl-nav > ul { list-style: none; display: flex; align-items: center; gap: 6px; margin: 0; padding: 0; }
.rfl-nav__titre {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 10px 10px; border: 0; background: none; cursor: pointer; white-space: nowrap;
  font: 500 0.92rem var(--rfl-corps); color: var(--rfl-texte);
}
.rfl-nav__titre::after { content: ''; width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg) translateY(-2px); }
.rfl-nav__titre:hover { color: var(--rfl-laiton-fonce); }
.rfl-bouton-cta {
  display: inline-block; padding: 11px 16px; margin-left: 6px;
  background: var(--rfl-laiton-fonce); color: #fff; text-decoration: none;
  font: 600 0.92rem var(--rfl-corps); letter-spacing: 0.02em; white-space: nowrap;
}
.rfl-bouton-cta:hover { background: #6A4F27; color: #fff; }
.rfl-nav .rfl-bouton-cta { margin: 0 10px 0 0; }
.rfl-tiroir { display: none; }
.rfl-tiroir summary { list-style: none; cursor: pointer; padding: 10px 12px; border: 1px solid var(--rfl-filet); font: 500 0.95rem var(--rfl-corps); }
.rfl-tiroir summary::-webkit-details-marker { display: none; }
.rfl-tiroir ul { list-style: none; margin: 0; padding: 8px 0; position: absolute; left: 0; right: 0; top: 68px; background: var(--rfl-carte); border-bottom: 1px solid var(--rfl-filet); z-index: 5; }
.rfl-tiroir li a { display: block; padding: 12px var(--rfl-gouttiere); text-decoration: none; color: var(--rfl-texte); }
@media (max-width: 1120px) {
  .rfl-nav { display: none; }
  .rfl-tiroir { display: block; margin-left: auto; }
  .rfl-entete { position: relative; }
}

/* ---------- ouverture de l'accueil ---------- */
.rfl-ouverture {
  position: relative; overflow: hidden;
  background: linear-gradient(180deg, var(--rfl-argent) 0%, var(--rfl-fond) 78%);
  border-bottom: 1px solid var(--rfl-filet);
  padding: 56px 0 64px;
}
.rfl-ouverture .rfl-cadre { position: relative; z-index: 1; }
.rfl-ouverture__texte { max-width: 720px; }
.rfl-chapo { font-size: 1.12rem; color: var(--rfl-texte-2); max-width: 62ch; margin: 0; }
.rfl-ouverture__arche {
  position: absolute; z-index: 0; right: max(-60px, calc((100vw - var(--rfl-largeur)) / 2 - 40px)); top: 24px;
  width: 300px; height: 420px;
  border: 1.5px solid var(--rfl-laiton); border-bottom: 0;
  border-radius: 999px 999px 0 0; opacity: 0.45;
}
.rfl-ouverture__arche::after {
  content: ''; position: absolute; inset: 18px 18px 0;
  border: 1px solid var(--rfl-filet); border-bottom: 0; border-radius: 999px 999px 0 0;
  background: linear-gradient(160deg, rgba(255,255,255,0.9), rgba(238,241,244,0.2));
}
@media (max-width: 720px) {
  .rfl-ouverture { padding: 36px 0 44px; }
  .rfl-ouverture__arche { width: 160px; height: 230px; right: -50px; top: auto; bottom: -10px; opacity: 0.3; }
}
@media (max-width: 520px) {
  .rfl-ouverture__arche { display: none; }
  .rfl-tuiles--4 .rfl-tuile { padding: 28px 10px 18px; }
  .rfl-tuiles--4 .rfl-tuile__lien { font-size: 0.88rem; }
}

/* ---------- rubriques ---------- */
.rfl-rubrique { padding: 56px 0; }
.rfl-rubrique + .rfl-rubrique { border-top: 1px solid var(--rfl-filet); }
.rfl-rubrique__tete { margin-bottom: 8px; }

/* trio : cartes coiffées d'une arche */
.rfl-trio { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
@media (max-width: 900px) { .rfl-trio { grid-template-columns: 1fr; max-width: 440px; } }
.rfl-arche { background: var(--rfl-carte); border: 1px solid var(--rfl-filet); border-radius: 999px 999px var(--rfl-rayon) var(--rfl-rayon); padding: 14px 14px 20px; display: flex; flex-direction: column; }
.rfl-arche__vue {
  aspect-ratio: 4 / 5; border-radius: 999px 999px 4px 4px; overflow: hidden;
  background: linear-gradient(155deg, #FFFFFF 0%, var(--rfl-argent) 55%, #DCE3EA 100%);
  border: 1px solid var(--rfl-filet); display: grid; place-items: center;
  color: var(--rfl-texte-2); font-size: 0.85rem;
}
.rfl-arche__vue img { width: 100%; height: 100%; object-fit: contain; background: #fff; }
.rfl-arche__corps { padding: 14px 8px 0; display: flex; flex-direction: column; flex: 1; }
.rfl-arche__corps h3 { margin-top: 6px; }
.rfl-arche__titre { font-family: var(--rfl-titres); font-weight: 600; font-size: 1.12rem; line-height: 1.3; margin: 6px 0 8px; color: var(--rfl-texte); }
.rfl-reperes { list-style: none; margin: 4px 0 14px; padding: 0; color: var(--rfl-texte-2); font-size: 0.95rem; }
.rfl-reperes li { padding: 5px 0; border-bottom: 1px dashed var(--rfl-filet); }
.rfl-prix { margin-top: auto; display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.rfl-prix strong { font-family: var(--rfl-titres); font-size: 1.45rem; font-weight: 700; }
.rfl-prix small { color: var(--rfl-texte-2); font-size: 0.8rem; }
.rfl-bouton {
  display: block; text-align: center; margin-top: 12px; padding: 12px 14px;
  background: var(--rfl-laiton-fonce); color: #fff; text-decoration: none;
  font: 600 0.95rem var(--rfl-corps);
}
.rfl-bouton:hover { background: #6A4F27; color: #fff; }
.rfl-mention { font-size: 0.82rem; color: var(--rfl-texte-2); margin: 18px 0 0; max-width: 80ch; }

/* usages et silhouettes : tuiles */
.rfl-tuiles { display: grid; gap: 18px; }
.rfl-tuiles--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rfl-tuiles--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 900px) { .rfl-tuiles--3 { grid-template-columns: 1fr; } .rfl-tuiles--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.rfl-tuile {
  background: var(--rfl-carte); border: 1px solid var(--rfl-filet); border-radius: var(--rfl-rayon);
  padding: 22px 20px; display: flex; flex-direction: column; gap: 6px;
  border-top: 3px solid var(--rfl-laiton);
}
.rfl-tuile svg { width: 56px; height: 56px; color: var(--rfl-laiton-fonce); margin-bottom: 4px; }
.rfl-tuile h3 { margin: 4px 0 2px; }
.rfl-tuile p { margin: 0; color: var(--rfl-texte-2); font-size: 0.95rem; }
.rfl-tuile__lien { margin-top: auto; padding-top: 10px; font-weight: 600; }
.rfl-tuile__lien::after { content: ' \2192'; }
.rfl-tuiles--4 .rfl-tuile { align-items: center; text-align: center; border-top-width: 1px; border-radius: 999px 999px var(--rfl-rayon) var(--rfl-rayon); padding-top: 34px; }
.rfl-tuiles--4 .rfl-tuile svg { width: 72px; height: 72px; }

/* signatures */
.rfl-signatures { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--rfl-laiton); border-bottom: 1px solid var(--rfl-laiton); }
.rfl-signatures li + li { border-left: 1px solid var(--rfl-filet); }
.rfl-signatures a { display: block; padding: 26px 12px; text-align: center; text-decoration: none; font-family: var(--rfl-titres); font-weight: 600; font-size: 1.15rem; letter-spacing: 0.08em; color: var(--rfl-texte); }
.rfl-signatures a:hover { color: var(--rfl-laiton-fonce); background: var(--rfl-carte); }
@media (max-width: 720px) { .rfl-signatures { grid-template-columns: repeat(2, minmax(0, 1fr)); } .rfl-signatures li:nth-child(3) { border-left: 0; } .rfl-signatures li:nth-child(n+3) { border-top: 1px solid var(--rfl-filet); } }

/* moment d'achat */
.rfl-moment { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px; background: var(--rfl-carte); border: 1px solid var(--rfl-filet); border-left: 4px solid var(--rfl-laiton); padding: 24px 26px; }
.rfl-moment p { margin: 0; color: var(--rfl-texte-2); max-width: 60ch; }

/* ---------- pied ---------- */
.rfl-pied { margin-top: 24px; background: var(--rfl-carte); border-top: 1px solid var(--rfl-filet); padding: 40px 0 28px; font-size: 0.92rem; color: var(--rfl-texte-2); }
.rfl-pied__liens { list-style: none; display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 0 0 18px; padding: 0; }
.rfl-pied__liens a { color: var(--rfl-texte); text-decoration: none; }
.rfl-pied__liens a:hover { color: var(--rfl-laiton-fonce); text-decoration: underline; }
.rfl-pied p { margin: 6px 0; max-width: 80ch; }

/* ---------- menus déroulants ---------- */
.rfl-deroule { position: relative; }
.rfl-deroule > summary { list-style: none; }
.rfl-deroule > summary::-webkit-details-marker { display: none; }
.rfl-deroule > ul { position: absolute; top: calc(100% + 6px); left: 0; z-index: 10; min-width: 250px; margin: 0; padding: 8px 0; list-style: none;
  background: var(--rfl-carte); border: 1px solid var(--rfl-filet); border-top: 2px solid var(--rfl-laiton); box-shadow: 0 10px 24px rgba(36, 39, 44, 0.08); }
.rfl-deroule > ul a { display: block; padding: 9px 16px; text-decoration: none; color: var(--rfl-texte); white-space: nowrap; }
.rfl-deroule > ul a:hover { background: var(--rfl-fond); color: var(--rfl-laiton-fonce); }

/* ---------- fil d'Ariane, tête de page, mentions ---------- */
.rfl-fil { font-size: 0.85rem; color: var(--rfl-texte-2); padding: 12px 0 0; }
.rfl-fil a { color: var(--rfl-texte-2); }
.rfl-tete-page { padding: 28px 0 8px; max-width: 860px; }
.rfl-tete-page h1 { margin-top: 0.1em; }
.rfl-page-n { font-size: 0.55em; color: var(--rfl-texte-2); font-weight: 600; }
.rfl-signature { font-size: 0.85rem; color: var(--rfl-texte-2); margin: 0 0 12px; }
.rfl-provisoire { background: #FFF3C4; outline: 1px dashed #C9A227; padding: 0 4px; }

/* ---------- catalogue ---------- */
.rfl-catalogue section > h2, .rfl-liste > h2 { margin-top: 0.6em; }
.rfl-filtres { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px 18px; margin: 0 0 20px; padding: 14px 16px; background: var(--rfl-carte); border: 1px solid var(--rfl-filet); }
.rfl-filtres label { display: flex; flex-direction: column; gap: 4px; font-size: 0.82rem; color: var(--rfl-texte-2); }
.rfl-filtres select { font: 500 0.95rem var(--rfl-corps); padding: 7px 8px; border: 1px solid var(--rfl-filet); background: #fff; color: var(--rfl-texte); min-width: 150px; }
.rfl-compteur { margin: 0 0 0 auto; font-weight: 600; color: var(--rfl-texte); }
.rfl-grille { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
@media (max-width: 1100px) { .rfl-grille { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) { .rfl-grille { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } }
@media (max-width: 420px) { .rfl-grille { grid-template-columns: 1fr; } }
.rfl-carte { display: flex; flex-direction: column; background: var(--rfl-carte); border: 1px solid var(--rfl-filet); border-radius: var(--rfl-rayon); padding: 12px; }
.rfl-carte[hidden] { display: none; }
.rfl-carte__vue { aspect-ratio: 1; display: grid; place-items: center; background: #fff; border-radius: 4px; overflow: hidden; }
.rfl-carte__vue img { width: 100%; height: 100%; object-fit: contain; }
.rfl-carte__nom { font-size: 1rem; margin: 10px 0 2px; }
.rfl-carte__nom a { color: var(--rfl-texte); text-decoration: none; }
.rfl-carte__nom a:hover { color: var(--rfl-laiton-fonce); text-decoration: underline; }
.rfl-carte__marque { margin: 0; font-size: 0.85rem; color: var(--rfl-texte-2); }
.rfl-carte .rfl-reperes { font-size: 0.86rem; margin-bottom: 10px; }
.rfl-carte .rfl-prix strong { font-size: 1.25rem; }
.rfl-comparer { display: flex; align-items: center; gap: 6px; margin-top: 10px; font-size: 0.85rem; color: var(--rfl-texte-2); cursor: pointer; }
.rfl-carte__analyse { margin-top: 8px; font-size: 0.88rem; font-weight: 600; }
.rfl-pages { display: flex; flex-wrap: wrap; gap: 6px; margin: 26px 0; }
.rfl-pages a, .rfl-pages span { display: inline-block; min-width: 40px; padding: 8px 12px; text-align: center; border: 1px solid var(--rfl-filet); background: var(--rfl-carte); text-decoration: none; }
.rfl-pages span { background: var(--rfl-laiton-fonce); color: #fff; border-color: var(--rfl-laiton-fonce); }
.rfl-barre-comparer { position: fixed; right: 16px; bottom: 16px; z-index: 20; padding: 12px 16px; background: var(--rfl-tain); color: #fff; text-decoration: none; font-weight: 600; box-shadow: 0 8px 20px rgba(36, 39, 44, 0.18); }
.rfl-barre-comparer[hidden] { display: none; }

/* ---------- textes rédigés (guides, fiches, marques, articles) ---------- */
.rfl-guide, .rfl-article, .rfl-service, .rfl-marque-page { padding-bottom: 40px; }
.rfl-guide > :not(.rfl-tete-page):not(.rfl-tableau-defile):not(.rfl-trio), .rfl-article > *, .rfl-service > *, .rfl-marque-page > * { max-width: 820px; }
.rfl-guide h2, .rfl-article h2, .rfl-fiche h2, .rfl-marque-page h2 { margin-top: 1.6em; }
.rfl-guide h4.rfl-sous, .rfl-fiche h4.rfl-sous { font-family: var(--rfl-titres); font-size: 1rem; letter-spacing: 0.04em; margin: 1em 0 0.3em; color: var(--rfl-laiton-fonce); }
.rfl-nette { background: var(--rfl-carte); border: 1px solid var(--rfl-filet); border-left: 4px solid var(--rfl-tain); padding: 14px 18px; margin: 12px 0 18px; }
.rfl-nette .rfl-capitales { color: var(--rfl-tain); margin: 0 0 4px; }
.rfl-nette p:last-child { margin-bottom: 0; }
.rfl-essentiel { background: var(--rfl-argent); padding: 14px 18px; margin: 10px 0 18px; }
.rfl-tableau-defile { overflow-x: auto; margin: 14px 0 22px; -webkit-overflow-scrolling: touch; }
.rfl-tableau { border-collapse: collapse; width: 100%; min-width: 560px; background: var(--rfl-carte); font-size: 0.94rem; }
.rfl-tableau th, .rfl-tableau td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--rfl-filet); vertical-align: top; }
.rfl-tableau thead th { font-family: var(--rfl-titres); font-weight: 600; background: var(--rfl-fond); border-bottom: 2px solid var(--rfl-laiton); }
.rfl-tableau--carac { min-width: 0; }
.rfl-tableau--carac th { width: 40%; color: var(--rfl-texte-2); font-weight: 500; }
.rfl-trio--guide { margin: 18px 0 26px; }
.rfl-achat { display: flex; flex-direction: column; gap: 6px; background: var(--rfl-carte); border: 1px solid var(--rfl-filet); padding: 14px; margin: 12px 0; max-width: 340px; }
.rfl-achat img { width: 100%; max-height: 260px; object-fit: contain; background: #fff; }
.rfl-faq h3 { font-size: 1.05rem; margin-top: 1.2em; }
.rfl-cite { font-size: 0.92rem; color: var(--rfl-texte-2); }
.rfl-partage { display: flex; flex-wrap: wrap; gap: 10px; }
.rfl-partage button { font: 500 0.9rem var(--rfl-corps); padding: 8px 12px; border: 1px solid var(--rfl-filet); background: var(--rfl-carte); cursor: pointer; color: var(--rfl-texte); }

/* ---------- fiche : texte et colonne d'achat ---------- */
.rfl-fiche__grille { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 32px; align-items: start; }
@media (max-width: 900px) { .rfl-fiche__grille { grid-template-columns: 1fr; } .rfl-colonne { order: -1; } }
.rfl-colonne { position: sticky; top: 16px; display: flex; flex-direction: column; gap: 14px; }
.rfl-colonne .rfl-achat { max-width: none; margin: 0; }
.rfl-versions { background: var(--rfl-carte); border: 1px solid var(--rfl-filet); padding: 10px 14px; font-size: 0.9rem; }
.rfl-versions ul { padding-left: 18px; margin: 8px 0 0; }
.rfl-note { background: var(--rfl-carte); border: 1px solid var(--rfl-filet); border-top: 3px solid var(--rfl-laiton); padding: 14px; }
.rfl-note .rfl-capitales { margin: 0; }
.rfl-note__valeur { font-family: var(--rfl-titres); font-size: 2.2rem; font-weight: 700; margin: 4px 0 8px; }
.rfl-note__valeur span { font-size: 1rem; color: var(--rfl-texte-2); }
.rfl-note ul { list-style: none; padding: 0; margin: 0; font-size: 0.9rem; }
.rfl-note li { display: flex; justify-content: space-between; padding: 4px 0; border-bottom: 1px dashed var(--rfl-filet); }

/* ---------- page marque ---------- */
.rfl-modeles__liste { padding-left: 18px; }
.rfl-modeles__liste li { padding: 5px 0; }
.rfl-pied__marques { font-size: 0.88rem; }
.rfl-tableau--rayon { min-width: 0; }
.rfl-tableau--rayon td:not(:first-child), .rfl-tableau--rayon th:not(:first-child) { text-align: right; white-space: nowrap; }
.rfl-note--bloc { display: inline-flex; align-items: baseline; gap: 12px; padding: 8px 14px; margin: 6px 0 12px; }
.rfl-note--bloc .rfl-note__valeur { font-size: 1.6rem; margin: 0; }

/* ---------- blocs des rédacteurs (brief type) ---------- */
.rfl-intro { font-size: 1.06rem; }
.rfl-intro p:first-child { font-size: 1.12rem; }
.rfl-produit { border-top: 1px solid var(--rfl-filet); padding-top: 8px; margin-top: 28px; }
.rfl-produit > h3 { font-size: 1.3rem; margin-bottom: 4px; }
.rfl-produit .rfl-role { display: inline-block; font: 600 0.78rem var(--rfl-titres); letter-spacing: 0.1em; text-transform: uppercase; color: var(--rfl-laiton-fonce); border: 1px solid var(--rfl-laiton); padding: 3px 10px; margin: 0 0 10px; }
.rfl-carac { columns: 2 220px; padding-left: 18px; font-size: 0.95rem; }
.rfl-forts li::marker { content: '+  '; color: var(--rfl-tain); font-weight: 700; }
.rfl-faibles li::marker { content: '−  '; color: var(--rfl-laiton-fonce); font-weight: 700; }
.rfl-recap { background: var(--rfl-argent); padding: 4px 20px 14px; margin-top: 28px; }
.rfl-arbitrage { border-top: 3px solid var(--rfl-laiton); margin-top: 28px; }
.rfl-methode, .rfl-sources { font-size: 0.95rem; color: var(--rfl-texte-2); }
.rfl-sources ul { padding-left: 18px; }
.rfl-reponse { margin: 0 0 6px; }
.rfl-maj { font-size: 0.9rem; color: var(--rfl-texte-2); margin: 2px 0 10px; }
.rfl-fait { background: var(--rfl-carte); border: 1px solid var(--rfl-filet); border-left: 4px solid var(--rfl-laiton); padding: 12px 16px; margin: 12px 0 18px; }

/* formulaire de la page Contact */
.rfl-formulaire { margin: 28px 0; display: grid; gap: 14px; }
.rfl-formulaire p { margin: 0; }
.rfl-formulaire label { display: block; font-weight: 600; margin-bottom: 6px; }
.rfl-formulaire input, .rfl-formulaire textarea { width: 100%; box-sizing: border-box; font: inherit; padding: 11px 12px; border: 1px solid var(--rfl-filet); border-radius: var(--rfl-rayon); background: var(--rfl-carte); color: var(--rfl-texte); }
.rfl-formulaire input:focus, .rfl-formulaire textarea:focus { outline: 2px solid var(--rfl-tain); outline-offset: 1px; border-color: var(--rfl-tain); }
.rfl-formulaire__piege { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.rfl-formulaire__etat { padding: 12px 14px; border-radius: var(--rfl-rayon); border-left: 4px solid var(--rfl-laiton); background: var(--rfl-argent); }
.rfl-formulaire__etat--erreur { border-left-color: #A4452F; }
