/* Références des bailleurs (src/references.js), ouvert au-dessus de la recherche foncière :
   filtres à gauche, carte et liste au milieu, la fiche d'une référence par-dessus la liste */
.rf .pg-appli { grid-template-columns: 290px minmax(0, 1fr); }
.rf-plateau { position: relative; }
.rf-plateau .fc-resultats { display: flex; flex-direction: column; gap: 10px; }
/* au bureau, la règle commune (style.css) fige les résultats pour faire défiler un TABLEAU dedans ;
   ici c'est une liste : c'est le bloc lui-même qui défile (Henri, 27/09 : « pas de slide vertical ») */
@media (min-width: 900px) { .rf-plateau .fc-resultats { overflow-y: auto; overscroll-behavior: contain; } }
.rf-legende { flex-direction: row; flex-wrap: wrap; max-width: calc(100% - 70px); }
.rf-pastille { display: inline-block; width: 9px; height: 9px; margin-right: 6px; border-radius: 50%; vertical-align: 1px; }
.rf-duo { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px; }
/* les champs gardent leur largeur de grille : sinon le « max » sortait du panneau (vu le 27/09) */
.rf-duo .pg-champ { min-width: 0; }
.rf-duo .pg-champ input { width: 100%; min-width: 0; }
.rf .pg-reglages { overflow-x: hidden; }
.rf-formes { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.rf-forme { display: grid; grid-template-columns: 22px 1fr auto; align-items: center; gap: 6px; min-height: 34px; padding: 4px 8px; border: 0; border-radius: var(--r-bouton); background: var(--survol); box-shadow: inset 0 0 0 1px var(--filet); color: var(--encre-3); font: inherit; font-size: var(--t-12); text-align: left; cursor: pointer; }
.rf-forme svg { width: 22px; height: 19px; }
.rf-forme small { color: var(--encre-4); font-size: var(--t-11); font-variant-numeric: tabular-nums; }
.rf-forme[aria-pressed="true"] { background: var(--actif); color: var(--encre); box-shadow: inset 0 0 0 1px var(--filet-2); }
.rf-forme[aria-pressed="true"] svg { color: var(--accent-fort); }
.rf-tri { display: flex; align-items: center; gap: 6px; font-size: var(--t-13); color: var(--encre-3); }
.rf-tri select { height: 30px; padding: 0 6px; border: 0; border-radius: var(--r-bouton); background: var(--survol); box-shadow: inset 0 0 0 1px var(--filet-2); color: var(--encre); font: inherit; font-size: var(--t-13); }
/* La liste : la silhouette de la parcelle, puis qui, où, et les chiffres de la forme */
.rf-liste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.rf-ligne { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 12px; width: 100%; padding: 8px 10px; border: 0; border-radius: var(--r-moyen); background: var(--surface); box-shadow: inset 0 0 0 1px var(--filet); color: var(--encre-2); font: inherit; text-align: left; cursor: pointer; }
.rf-ligne:hover { background: var(--survol); }
.rf-ligne.actif { box-shadow: inset 0 0 0 2px var(--accent-fort); }
.rf-silhouette { display: block; border-radius: var(--r-bouton); background: var(--survol); }
.rf-corps { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.rf-nom { display: flex; align-items: center; font-size: var(--t-13); font-weight: 600; color: var(--encre); }
.rf-nom em { margin-left: auto; padding-left: 8px; font-style: normal; font-weight: 500; font-size: var(--t-12); color: var(--accent-fort); white-space: nowrap; }
.rf-sous { font-size: var(--t-12); color: var(--encre-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rf-chiffres { display: flex; flex-wrap: wrap; gap: 4px 12px; margin-top: 3px; font-size: var(--t-12); color: var(--encre-3); font-variant-numeric: tabular-nums; }
.rf-chiffres b { color: var(--encre); font-weight: 600; }
/* La fiche : par-dessus la liste (bureau), plein écran (téléphone) */
.rf-fiche { position: absolute; z-index: 5; top: 0; right: 0; bottom: 0; width: min(560px, 100%); overflow-y: auto; padding: 12px 14px 40px; background: var(--surface); border-left: 1px solid var(--filet); box-shadow: var(--ombre-flottant); display: flex; flex-direction: column; gap: 12px; }
.rf-fiche[hidden] { display: none; }
/* La fiche défile : ses blocs gardent leur hauteur. Sans cela Safari iOS écrasait le diaporama
   (overflow: hidden, donc un minimum de 0) en une bande de 20 px (simulateur, 30/09). */
.rf-fiche > * { flex-shrink: 0; }
.rf-fiche-tete { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.rf-fiche-tete b { display: block; font-size: var(--t-17); font-weight: 600; color: var(--encre); }
.rf-fiche-tete span { font-size: var(--t-13); color: var(--encre-3); }
.rf-diapo { position: relative; overflow: hidden; border-radius: var(--r-moyen); }
.rf-diapo-piste { display: flex; transition: transform 0.3s ease; }
.rf-diapo-vue { flex: 0 0 100%; margin: 0; }
/* `[data-vue]` (style.css, téléphone) réserve 72 px sous les vues de la carte : pas sous les deux
   planches du diaporama, qui ont le même attribut (un vide sous l'image au simulateur, 30/09) */
.rf-diapo-vue[data-vue] { padding-bottom: 0; }
.rf-diapo-cadre { aspect-ratio: 180 / 120; }
.rf-diapo-vue figcaption { padding: 6px 2px 0; font-size: var(--t-12); color: var(--encre-3); }
.rf-diapo-vue figcaption b { color: var(--encre); font-weight: 600; }
.rf-fleche { position: absolute; top: calc(50% - 30px); width: 34px; height: 34px; border: 0; border-radius: 50%; background: var(--panneau); box-shadow: var(--ombre-flottant); color: var(--encre); font-size: var(--t-22); line-height: 1; cursor: pointer; }
.rf-fleche:disabled { opacity: 0; pointer-events: none; }
.rf-fleche-g { left: 8px; }
.rf-fleche-d { right: 8px; }
.rf-points { display: flex; justify-content: center; gap: 4px; margin-top: 6px; }
.rf-points button { height: 26px; padding: 0 10px; border: 0; border-radius: var(--r-bouton); background: none; color: var(--encre-3); font: inherit; font-size: var(--t-12); font-weight: 600; cursor: pointer; }
.rf-points button[aria-pressed="true"] { background: var(--actif); color: var(--encre); box-shadow: 0 0 0 1px var(--filet-2); }
.rf-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 2px solid var(--encre); background: var(--survol); }
.rf-strip > div { padding: 8px 10px; border-right: 1px solid var(--filet); }
.rf-strip > div:last-child { border-right: 0; }
.rf-strip b { display: block; font-size: var(--t-15); color: var(--encre); font-variant-numeric: tabular-nums; }
.rf-strip span { font-size: var(--t-11); color: var(--encre-3); }
.rf-table { font-size: var(--t-13); }
.rf-table th, .rf-table td { padding: 7px 8px; white-space: normal; vertical-align: top; }
.rf-table th { width: 32%; color: var(--encre-3); position: static; }
.rf-table small { color: var(--encre-4); }
.rf-table a { color: var(--accent-fort); }
.rf-actions { display: flex; gap: 8px; }
.rf .og-barre [data-rf-ici][aria-pressed="true"] { box-shadow: inset 0 0 0 2px var(--accent-fort); }
@media (max-width: 899px) {
  .rf .pg-appli { grid-template-columns: 1fr; }
  /* sur téléphone : la carte et la liste d'abord, les filtres derrière le bouton « Filtres » */
  .rf .pg-reglages { display: none; }
  .rf.rf-filtres-ouverts .pg-reglages { display: flex; border-right: 0; border-bottom: 1px solid var(--filet); padding-bottom: 14px; }
  .rf .fc-plateau { grid-template-rows: 42svh auto; }
  /* Filtres ouverts, la liste se peignait sur eux (vu le 30/09 en réglant la période) : la même
     cause que la recherche foncière le 28/09 (foncier.css) — des pistes de grille retombées au
     minimum de 0 quand le contenu déborde. Des pistes à la hauteur de leur contenu. */
  .rf > .pg-appli { grid-auto-rows: max-content; }
  .rf .pg-reglages, .rf .fc-plateau { min-height: auto; }
  .rf-fiche { position: fixed; z-index: 40; top: 0; width: 100%; border-left: 0; }
  .rf-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rf-strip > div:nth-child(2) { border-right: 0; }
  .rf-strip > div:nth-child(-n+2) { border-bottom: 1px solid var(--filet); }
  .rf-duo input { font-size: 1rem; }
  .rf-sous { white-space: normal; }
}
/* D'où vient une ligne (30/09) : une opération (permis) ou le patrimoine (DGFiP) */
.rf-source { display: inline-block; margin-right: 6px; padding: 0 5px; border-radius: var(--r-fin); box-shadow: inset 0 0 0 1px var(--filet-2); font-size: var(--t-11); letter-spacing: 0.03em; text-transform: uppercase; color: var(--encre-2); }
.rf-source-parc { color: var(--encre-3); background: var(--survol); }
