/* Page /rechercher : recherche dans les arbres des membres (esprit Geneanet, couleurs GeneBase) */
.rch { padding: calc(var(--nav-height, 70px) + var(--space-5)) 0 var(--space-12); background: var(--clr-bg); }
.rch-fil { font-size: var(--text-xs); color: var(--clr-text-muted); margin-bottom: 4px; }
.rch-fil a { color: var(--clr-text-secondary); text-decoration: none; }
.rch-titre { font-family: var(--font-serif); font-size: var(--text-3xl); margin: 0 0 var(--space-3); color: var(--clr-text); }
.rch-intro { max-width: 760px; color: var(--clr-text-secondary); margin: 0 0 var(--space-5); }
.rch-carte { background: var(--clr-bg-elevated); border: 1px solid var(--clr-border); border-radius: var(--radius-md); box-shadow: var(--shadow-xs); }
.rch-petit { font-size: var(--text-sm); color: var(--clr-text-secondary); }
.rch-centre { text-align: center; }

/* ── Formulaire ── */
.rch-carte--formulaire { display: grid; grid-template-columns: minmax(0, 1fr) 300px; overflow: hidden; }
.rch-form { padding: var(--space-5) var(--space-6); }
.rch-groupe { border: 0; margin: 0 0 var(--space-4); padding: 0; min-width: 0; }
.rch-groupe legend { font-weight: 700; font-size: var(--text-sm); color: var(--clr-text); margin-bottom: var(--space-2); padding: 0; }
.rch-ligne { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); margin-bottom: var(--space-3); }
.rch-ligne--sexe { grid-template-columns: 180px 1fr; align-items: end; }
.rch-ligne--dates { grid-template-columns: minmax(0, 1.4fr) 120px 110px 110px; align-items: end; }
.rch-champ { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.rch-champ > span { font-size: var(--text-xs); color: var(--clr-text-secondary); }
.rch-champ[hidden] { display: none; }
.rch-aide { justify-self: end; font-size: var(--text-xs); color: var(--clr-text-secondary); }
.rch-aide summary { cursor: pointer; }
.rch-aide p { position: absolute; z-index: 5; max-width: 280px; margin: 6px 0 0; padding: var(--space-3); background: var(--clr-bg-elevated);
  border: 1px solid var(--clr-border-strong); border-radius: var(--radius-sm); box-shadow: var(--shadow-sm); right: auto; }
.rch-envoi { display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: center; justify-content: space-between;
  border-top: 1px solid var(--clr-border); padding-top: var(--space-4); margin-top: var(--space-2); }
.rch-case { display: flex; gap: 8px; align-items: center; font-size: var(--text-sm); }
.rch-bouton { min-width: 160px; }
.rch-illustration { background: linear-gradient(160deg, var(--clr-primary), color-mix(in srgb, var(--clr-primary) 70%, #000));
  color: #fff; padding: var(--space-8) var(--space-6); display: flex; flex-direction: column; justify-content: center; gap: var(--space-5); }
.rch-illustration svg { width: 140px; align-self: center; fill: rgba(255,255,255,.85); stroke: rgba(255,255,255,.6); stroke-width: 2; }
.rch-illustration p { margin: 0; font-family: var(--font-serif); font-size: var(--text-lg); line-height: 1.5; }

/* ── Résultats ── */
.rch-resultats { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: var(--space-5); align-items: start; }
.rch-cote { display: flex; flex-direction: column; gap: var(--space-4); }
.rch-criteres { padding: var(--space-4); }
.rch-criteres h2, .rch-filtres h2 { font-family: var(--font-serif); font-size: var(--text-lg); margin: 0 0 var(--space-3); display: inline; }
.rch-criteres dl { margin: var(--space-3) 0; display: grid; grid-template-columns: auto 1fr; gap: 2px 8px; font-size: var(--text-sm); }
.rch-criteres dt { color: var(--clr-text-secondary); }
.rch-criteres dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
.rch-modifier > summary { list-style: none; display: block; text-align: center; margin: var(--space-2) auto; width: max-content; cursor: pointer; }
.rch-modifier > summary::-webkit-details-marker { display: none; }
.rch-modifier[open] > summary { display: none; }
.rch-modifier .rch-form { padding: var(--space-3) 0 0; }
.rch-modifier .rch-ligne, .rch-modifier .rch-ligne--dates, .rch-modifier .rch-ligne--sexe { grid-template-columns: 1fr; }
.rch-filtres { padding: var(--space-4); }
.rch-filtres > summary { cursor: pointer; list-style: none; }
.rch-filtres > summary::-webkit-details-marker { display: none; }
.rch-filtres h3 { font-size: var(--text-sm); margin: var(--space-4) 0 var(--space-2); color: var(--clr-text); }
.rch-filtres ul { list-style: none; margin: 0; padding: 0; font-size: var(--text-sm); }
.rch-filtres li { display: flex; justify-content: space-between; gap: 8px; padding: 3px 0; }
.rch-filtres li span { color: var(--clr-text-muted); font-variant-numeric: tabular-nums; }
.rch-filtres a { color: var(--clr-text); text-decoration: none; }
.rch-filtres a:hover { color: var(--clr-primary); text-decoration: underline; }
.rch-filtres a.actif { font-weight: 700; color: var(--clr-primary); }
.rch-filtres a.actif::before { content: '✓ '; }
.rch-filtres__long { max-height: 260px; overflow: auto; padding-right: 4px !important; }

.rch-liste { display: flex; flex-direction: column; gap: var(--space-3); min-width: 0; }
.rch-entete { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-2); padding: var(--space-3) var(--space-4); align-items: center; }
.rch-tri { font-size: var(--text-sm); color: var(--clr-text-secondary); }
.rch-tri a { color: var(--clr-text-secondary); }
.rch-tri a.actif { color: var(--clr-primary); font-weight: 700; text-decoration: none; }
.rch-message { padding: var(--space-5); }
.rch-message ul { margin: var(--space-2) 0 0; padding-left: 1.2em; font-size: var(--text-sm); }

.rch-cartes { list-style: none; margin: 0; padding: 0 var(--space-4); }
.rch-personne { display: grid; grid-template-columns: 56px 22px minmax(0, 1.3fr) 130px minmax(0, 1.4fr); gap: var(--space-3);
  padding: var(--space-4) 0; border-bottom: 1px solid var(--clr-border); align-items: start; }
.rch-personne:last-child { border-bottom: 0; }
.rch-personne__photo { width: 56px; height: 68px; border-radius: var(--radius-sm); overflow: hidden; background: var(--clr-bg-secondary);
  display: flex; align-items: flex-end; justify-content: center; }
.rch-personne__photo img { width: 100%; height: 100%; object-fit: cover; }
.rch-personne__photo svg { width: 85%; fill: #9AA3AD; }
.rch-personne__fleches { display: flex; flex-direction: column; gap: 6px; font-size: 12px; font-weight: 700; color: var(--clr-primary); letter-spacing: -2px; padding-top: 2px; }
.rch-eteint { color: var(--clr-border-strong); }
.rch-personne__nom { font-weight: 700; color: var(--clr-primary); text-decoration: none; font-size: var(--text-base); }
.rch-personne__nom:hover { text-decoration: underline; }
.rch-arbre { font-style: italic; margin-top: 4px; }
.rch-arbre a { color: var(--clr-text-secondary); }
.rch-personne__dates { display: grid; grid-template-columns: auto 1fr; gap: 2px 8px; margin: 0; font-size: var(--text-sm); }
.rch-personne__dates dt { color: var(--clr-text-secondary); }
.rch-personne__dates dd { margin: 0; font-weight: 600; }
.rch-personne__lieux { list-style: none; margin: 0; padding: 0; font-size: var(--text-sm); color: var(--clr-text); }
.rch-personne__lieux li { display: grid; grid-template-columns: 16px 1fr; gap: 4px; margin-bottom: 3px; }
.rch-personne__lieux span { color: var(--clr-text-muted); font-weight: 700; text-align: center; }

.rch-pages { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; padding: var(--space-3) 0; }
.rch-pages a { padding: 4px 10px; border: 1px solid var(--clr-border); border-radius: var(--radius-sm); text-decoration: none; color: var(--clr-text); background: var(--clr-bg-elevated); }
.rch-pages a.actif { background: var(--clr-primary); border-color: var(--clr-primary); color: #fff; }

/* ── Téléphone et tablette ── */
@media (max-width: 960px) {
  .rch-carte--formulaire { grid-template-columns: 1fr; }
  .rch-illustration { display: none; }
  .rch-resultats { grid-template-columns: 1fr; }
  .rch-filtres:not([open]) { padding-bottom: var(--space-4); }
  .rch-personne { grid-template-columns: 56px minmax(0, 1fr); }
  .rch-personne__fleches { display: none; }
  .rch-personne__dates, .rch-personne__lieux { grid-column: 2; }
}
@media (max-width: 560px) {
  .rch-form { padding: var(--space-4); }
  .rch-ligne, .rch-ligne--sexe, .rch-ligne--dates { grid-template-columns: 1fr; }
}

/* ── Mode sombre ── */
[data-theme="dark"] .rch-illustration { background: linear-gradient(160deg, #1E2D3F, #0E1520); }
[data-theme="dark"] .rch-pages a.actif { color: var(--clr-text-inverse); }
[data-theme="dark"] .rch-personne__photo svg { fill: #5A6675; }
.rch-invitation { margin: var(--space-2) 0 0; }
