/* ==========================================================================
   Téléphone et tablette : pages Portes ouvertes, Actualités et articles.
   ========================================================================== */

@media (max-width: 1060px), (pointer: coarse) {
  /* Fils d'Ariane : liens à 44 px de haut. */
  :is(.jpo-compte__fil, .act-une__fil, .act-article__fil) { align-items: center; flex-wrap: wrap; }
  :is(.jpo-compte__fil, .act-une__fil, .act-article__fil) a { display: inline-flex; align-items: center; min-height: 44px; }
  /* Choix de l'année et des thèmes, boutons de la carte du rendez-vous. */
  .act-liste__annee select { min-height: 44px; }
  .act-liste .chip { min-height: 44px; }
  .jpo-compte__cta .btn, .act-article__evt .btn { min-height: 48px; }
  .jpo-agenda .ins-contact { min-height: 44px; display: inline-flex; align-items: center; }
  .jpo-agenda__carte .link-arrow { min-height: 44px; display: inline-flex; align-items: center; }
  /* Pas de survol au doigt : l'invitation « Lire » des cartes à la une reste visible. */
  .act-une__lire { opacity: 1; transform: none; }
  /* Dates des articles récents et des voisins lisibles sans zoom. */
  :is(.act-article__recent, .act-article__voisin) time { font-size: 0.875rem; }
}

@media (max-width: 700px) {
  /* À la une : la date de l'affiche ne chevauche plus le titre de l'article. */
  .act-une__carte--grande:has(.act-une__affiche) { min-height: 0; }
  .act-une__carte--grande .act-une__lien:has(.act-une__affiche) { display: flex; flex-direction: column; min-height: 0; }
  .act-une__carte--grande .act-une__affiche { position: relative !important; inset: auto; z-index: auto; min-height: 150px; padding: var(--space-m); }
  .act-une__carte--grande .act-une__affiche b { font-size: 3.6rem; }
  .act-une__carte--grande .act-une__affiche span { font-size: 1.15rem; }
  .act-une__carte--grande .act-une__affiche ~ .act-une__texte { position: relative; background: var(--navy); }
  .act-une__carte--grande .act-une__lien:has(.act-une__affiche)::after { display: none; }
  .act-une__carte--petite { min-height: 260px; }

  /* Article : précédent et suivant l'un sous l'autre, en pleine largeur. */
  .act-article__voisins { grid-template-columns: minmax(0, 1fr); }
  .act-article__voisin--vide { display: none; }
  .act-article__voisin--suiv { text-align: left; justify-items: start; }

  /* Rendez-vous : le compte à rebours tient sur une ligne. */
  .jpo-compte__rebours { gap: 0.5rem; }
}

@media (max-width: 900px) {
  /* Fil des actualités : vignette carrée à gauche, texte à droite (liste plus courte au doigt). */
  .act-liste__bouton { grid-template-columns: 132px minmax(0, 1fr); gap: 1rem; align-items: start; }
  .act-liste__vignette { aspect-ratio: 1; border-radius: 14px; }
  .act-liste__vignette--date { padding: 0 0.8rem; }
  .act-liste__vignette--date b { font-size: 2.4rem; }
  .act-liste__vignette--date span { font-size: 0.8rem; }
  .act-liste__meta { flex-wrap: wrap; row-gap: 0.3rem; }
}
@media (max-width: 480px) {
  .act-liste__bouton { grid-template-columns: 96px minmax(0, 1fr); gap: 0.9rem; }
  .act-liste__vignette--date { padding: 0 0.6rem; }
  .act-liste__vignette--date b { font-size: 2rem; }
  .act-liste__vignette--date span { font-size: 0.75rem; }
}
