/* =============================================================================
   assets/css/api-excel-2027.css - turf.bzh
   -----------------------------------------------------------------------------
   Tutoriel du pack Excel (api-excel.php), 20/10/2026.

   S'ajoute à institution-2027.css et guide-2027.css, qui doivent être chargés
   avant. Ce fichier n'ajoute que ce que le tutoriel a de propre, sous
   .ip-page .ex-... :
     - cibles tactiles de 44 px pour le fil d'Ariane, le sommaire et les blocs « Voir aussi », et
       texte de « Partie précédente, partie suivante » au contraste de 4,5 au survol (#075d6e sur #ecf7fa : 6,6:1) ;
     - captures affichées à leur taille réelle (jamais agrandies, donc jamais
       floues), centrées verticalement dans une cible d'au moins 44 px ;
     - animations (.ex-video) : lecteur natif, cadre sombre, affiche ;
     - transcription en texte de l'animation (.ex-legende), repères ronds de
       la couleur des repères des captures.

   CONTRASTE (texte sur son fond, mesuré) : #334155 sur #ffffff 10,4:1 ;
   blanc sur #be123c 6,5:1.

   Aucun !important. Mouvement : aucune animation ni transition ajoutée.

   @author Claude (2026-10-20)
   @version 1.0.0
   ========================================================================== */

/* ------------------------------------------- cibles tactiles de 44 px -- */
.ip-page .ip-fil{ margin-bottom: .2rem; }
.ip-page .ip-fil a{ display: inline-flex; align-items: center; min-height: 2.75rem; }
.ip-page .ip-sommaire a{ align-items: center; min-height: 2.75rem; }
.ip-page .gd-voir-c a{ align-items: center; min-height: 2.75rem; }
.ip-page .gd-suite-a:hover, .ip-page .gd-suite-a:hover > i{ color: var(--ip-acc-d); }

/* ---------------------------------------------------------- captures -- */
.ip-page .ex-fig .gd-zoom{
  display: flex; align-items: center; justify-content: center;
  width: fit-content; max-width: 100%; min-height: 2.75rem;
}
.ip-page .ex-fig .gd-zoom img{ width: auto; max-width: 100%; height: auto; }

/* ---------------------------------------------------------- animations -- */
.ip-page .ex-video{ max-width: 100%; }
.ip-page .ex-video-cadre{
  max-width: 80rem; line-height: 0; overflow: hidden;
  background: #0f172a; border: 1px solid var(--ip-bd); border-radius: var(--ip-r-sm); box-shadow: var(--ip-sh-sm);
}
.ip-page .ex-video-cadre video{ display: block; width: 100%; height: auto; background: #0f172a; }

/* -------------------------------------------- transcription en texte -- */
.ip-page .ex-legende-t{ margin: 1rem 0 0; font-size: .92rem; font-weight: 700; line-height: 1.4; color: var(--ip-ink); }
.ip-page .ex-legende{
  list-style: none; counter-reset: ex; margin: .6rem 0 0; padding: 0; display: grid; gap: .5rem;
}
.ip-page .ex-legende li{
  counter-increment: ex; display: flex; align-items: flex-start; gap: .7rem; margin: 0;
  font-size: .94rem; line-height: 1.5; color: var(--ip-ink3);
}
.ip-page .ex-legende li::before{
  content: counter(ex); flex: 0 0 1.6rem; height: 1.6rem; margin-top: .05rem;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 50%; background: #be123c; color: #fff;
  font-size: .82rem; font-weight: 800; line-height: 1;
}

/* ------------------------------------------------------- impression -- */
@media print{
  .ip-page .ex-video-cadre{ display: none; }
  .ip-page .ex-fig .gd-zoom{ min-height: 0; display: block; }
  .ip-page .ex-legende li::before{ background: none; color: #000; border: 1px solid #000; }
}
