/* Page de résultats : groupes « Cycles » et « Auteurs » et titre « Textes » (shortcode [lrv_resultats], modules/recherche.php).
   Chargé sur les pages de recherche seulement. Règles de design : docs/regles-design.md (§ 3 : section qui s'ouvre = filet fin
   + trait vert de 40 × 2 px ; élément de liste = filet seul ; § 6 : angles droits sur les images, avatar rond en couleurs avec
   filet à 10 %, zoom doux au survol). Mêmes jetons que le reste du site, repli en dur au cas où. */

.lrv-sr { margin: 0; }

/* Section qui s'ouvre dans la page */
.lrv-sr-group { position: relative; margin: 64px 0 0; padding: 36px 0 0; border-top: 1px solid rgba(36, 33, 36, .12); }
.lrv-sr-group::before { content: ""; position: absolute; top: -1px; left: 0; width: 40px; height: 2px; background: var(--lrv-green, #547038); }

/* Tête : titre à gauche, nombre trouvé à droite */
.lrv-sr-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin: 0 0 12px; }
.lrv-sr-h { margin: 0; color: var(--lrv-ink, #242124); font-family: var(--lrv-font-title, 'Oswald'), sans-serif; font-weight: 400; font-size: clamp(24px, calc(.6vw + 19px), 28px); line-height: 1.1; letter-spacing: -.005em; text-transform: none; }
.lrv-sr-total { flex: none; color: var(--lrv-grey, #55595c); font-family: var(--lrv-font-title, 'Oswald'), sans-serif; font-weight: 400; font-size: 15px; line-height: 1.2; letter-spacing: .03em; white-space: nowrap; }

/* « Textes » : le titre ouvre la boucle des cartes */
.lrv-sr-texts .lrv-sr-head { margin: 0 0 28px; }

/* Rangées : une colonne sur téléphone (et pour les cycles en tablette), deux ou trois (auteurs) plus large ; filet seul entre les éléments */
.lrv-sr-list { display: grid; grid-template-columns: minmax(0, 1fr); column-gap: 48px; margin: 0; padding: 0; list-style: none; }
.lrv-sr-list li { margin: 0; padding: 0; border-top: 1px solid var(--lrv-line, #e4e4e2); }
.lrv-sr-list li:first-child { border-top: 0; }

.lrv-sr-item { display: flex; align-items: center; gap: 20px; padding: 18px 0; color: var(--lrv-ink, #242124); text-decoration: none; }
.lrv-sr-item:focus-visible { outline: 2px solid var(--lrv-green, #547038); outline-offset: 2px; }

/* Vignette d'un cycle : 16:9, angles droits, filet d'image à 10 %, zoom doux au survol */
.lrv-sr-thumb { position: relative; flex: none; display: block; width: 192px; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 0; background: var(--lrv-surface, #efeeec); outline: 1px solid rgba(36, 33, 36, .1); outline-offset: -1px; }
.lrv-sr-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 0; transition: transform 1.2s cubic-bezier(.2, .7, .2, 1); }
.lrv-sr-item:hover .lrv-sr-thumb img { transform: scale(1.04); }

/* Portrait d'un auteur : rond, en couleurs, filet à 10 % ; les initiales passent dessous quand il n'y a pas de photo */
.lrv-sr-avatar { position: relative; flex: none; display: block; width: 64px; height: 64px; overflow: hidden; border-radius: 50%; background: var(--lrv-surface, #efeeec); outline: 1px solid rgba(36, 33, 36, .1); outline-offset: -1px; }
.lrv-sr-initials { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: var(--lrv-grey, #55595c); font-family: var(--lrv-font-title, 'Oswald'), sans-serif; font-weight: 400; font-size: 22px; letter-spacing: .04em; }
.lrv-sr-photo { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }

.lrv-sr-txt { display: block; min-width: 0; }
.lrv-sr-kick { display: block; margin: 0 0 3px; color: var(--lrv-grey, #55595c); font-family: var(--lrv-font-title, 'Oswald'), sans-serif; font-weight: 400; font-size: 15px; line-height: 1.2; letter-spacing: .03em; }
.lrv-sr-title { display: block; font-family: var(--lrv-font-title, 'Oswald'), sans-serif; font-weight: 400; font-size: 22px; line-height: 1.2; transition: color .25s ease; }
.lrv-sr-count { display: block; margin: 5px 0 0; color: var(--lrv-grey, #55595c); font-family: var(--lrv-font-title, 'Oswald'), sans-serif; font-weight: 400; font-size: 14px; line-height: 1.2; letter-spacing: .03em; }
.lrv-sr-item:hover .lrv-sr-title { color: var(--lrv-green, #547038); }

/* Mot cherché : surlignage doux, sans fond plein */
.lrv-sr-mark { padding: 0; background: transparent; color: inherit; box-shadow: inset 0 -.4em 0 rgba(84, 112, 56, .22); }

.lrv-sr-more { margin: 4px 0 0; padding: 14px 0 0; border-top: 1px solid var(--lrv-line, #e4e4e2); color: var(--lrv-grey, #55595c); font-family: var(--lrv-font-text, 'Lato'), sans-serif; font-size: 16px; line-height: 1.4; }

/* Tablette : cycles et auteurs sur deux colonnes */
@media (min-width: 768px) {
  .lrv-sr-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lrv-sr-list li:nth-child(2) { border-top: 0; }
}

/* Tablette : les cycles restent en rangées sur une colonne (à deux colonnes de 300 px, le titre n'avait que 158 px) */
@media (min-width: 768px) and (max-width: 1023px) {
  .lrv-sr-group--cycles .lrv-sr-list { grid-template-columns: minmax(0, 1fr); }
  .lrv-sr-group--cycles .lrv-sr-list li:nth-child(2) { border-top: 1px solid var(--lrv-line, #e4e4e2); }
}

/* Ordinateur : auteurs sur trois colonnes */
@media (min-width: 1024px) {
  .lrv-sr-group--auteurs .lrv-sr-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .lrv-sr-group--auteurs .lrv-sr-list li:nth-child(3) { border-top: 0; }
}

/* Téléphone */
@media (max-width: 767px) {
  .lrv-sr-group { margin-top: 48px; padding-top: 28px; }
  .lrv-sr-item { gap: 16px; padding: 16px 0; }
  .lrv-sr-thumb { width: 112px; }
  .lrv-sr-avatar { width: 56px; height: 56px; }
  .lrv-sr-initials { font-size: 19px; }
  .lrv-sr-title { font-size: 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .lrv-sr-title, .lrv-sr-thumb img { transition: none; }
  .lrv-sr-item:hover .lrv-sr-thumb img { transform: none; }
}
