/* Overrides responsive pour les styles inline des pages.
   Les sélecteurs ciblent les motifs d'attribut style ; !important requis
   pour battre les styles inline. Le runtime resérialise les attributs style
   ("prop: valeur"), d'où les doubles sélecteurs avec et sans espace.
   Aucun effet au-dessus de 900px. */

@media (max-width: 900px) {
  header > div { flex-wrap: wrap; }

  [style*="grid-template-columns:repeat(4"],
  [style*="grid-template-columns: repeat(4"],
  [style*="grid-template-columns:repeat(3"],
  [style*="grid-template-columns: repeat(3"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 768px) {
  /* Grilles à 2 colonnes asymétriques, footer 4 colonnes → 1 colonne */
  [style*="grid-template-columns:minmax"],
  [style*="grid-template-columns: minmax"],
  [style*="grid-template-columns:1fr 1fr"],
  [style*="grid-template-columns: 1fr 1fr"],
  [style*="grid-template-columns:repeat(2"],
  [style*="grid-template-columns: repeat(2"] {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  /* Agenda du Programme : horaire au-dessus du titre, lieu aligné à gauche */
  [style*="grid-template-columns:160px"],
  [style*="grid-template-columns: 160px"] {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
  }
  [style*="grid-template-columns: 160px"] [style*="text-align: right"],
  [style*="grid-template-columns:160px"] [style*="text-align:right"] {
    text-align: left !important;
  }
}

@media (max-width: 640px) {
  h1 { font-size: clamp(30px, 9vw, 42px) !important; }
  h2 { font-size: clamp(24px, 7vw, 32px) !important; }

  [style*="max-width:1280px"],
  [style*="max-width: 1280px"] {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  [style*="grid-template-columns:repeat(3"],
  [style*="grid-template-columns: repeat(3"] {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  [style*="grid-auto-rows:190px"],
  [style*="grid-auto-rows: 190px"] { grid-auto-rows: 140px !important; }

  [style*="height:400px"], [style*="height: 400px"],
  [style*="height:420px"], [style*="height: 420px"],
  [style*="height:470px"], [style*="height: 470px"] {
    height: 300px !important;
  }
}
