/*
 Theme Name:   maisha Child
 Description:  maisha Child Theme (Dossier ronceray en ftp)
 Author:       moi
 Template:     maishawp
 Version:      8.4.0
 */

/* =========================================================
   SOMMAIRE (l'ordre compte : chaque partie peut corriger la précédente)
    1. Palette
    2. Accueil – présentation
    3. Accueil – bloc central
    4. Accueil – carrousel du haut
    5. Accueil – carrousel du bas
    6. Réglages généraux du thème
    7. Bandeaux des pages
    8. En-tête et bandeau sur mobile
    9. Pied de page
   10. Cinéma – À l'affiche du Royal
   11. Base .mjc-infos (Infos pratiques)
   12. Compléments .mjc-infos (Billetterie)
   13. Agenda
   14. Saison culturelle
   15. Jeune public – rendez-vous
   16. Jeune public – prochains spectacles
   17. Scène culturelle de proximité
   18. Superforma
   19. Info Pratik!
   20. Mode d'emploi
   21. L'équipe
   22. Expositions
   23. Horaires
   24. Les ateliers
   25. Disciplines et activités (Musique, Danse… et leurs ateliers)
   26. Stages et brochure
   27. Fiches événements (Modern Events Calendar)
   28. Section La MJC (projets, affiches)
   29. Fiche activité homogène (pages d'atelier en blocs)
   30. Menu mobile
   31. Recherche et page introuvable (404)
   32. Bandeau cookies et reCAPTCHA
   33. Page Contact
   34. Newsletter, politique de confidentialité, informations légales
   35. Pages de catégories d'événements (MEC)
   36. Compatibilité blocs WordPress (toujours en dernier)

   Pour ajouter une nouvelle page : coller son bloc JUSTE AVANT
   la partie « Compatibilité blocs WordPress », qui reste la dernière.
   ========================================================= */


/* ##### 1. PALETTE ##### */

/* #########################################################
   PALETTE MJC RONCERAY
   Toutes les couleurs du site sont définies ici, une seule fois.
   Pour changer une couleur partout : modifier uniquement cette liste.
   ######################################################### */

:root {
  /* Rose MJC : boutons, bandeaux, traits, éléments forts */
  --mjc-rose:        #ed0181;
  /* Rose foncé : survols, liens et petits textes roses (plus lisible) */
  --mjc-rose-fonce:  #c9006d;
  /* Rose pâle : fonds de cartes et d'encadrés */
  --mjc-rose-pale:   #fdeef6;

  /* Textes */
  --mjc-encre:       #1a1a1a;   /* titres */
  --mjc-texte:       #444444;   /* paragraphes */
  --mjc-gris:        #6b6b6b;   /* infos secondaires */

  /* Fonds et filets */
  --mjc-fond-clair:  #f7f7f7;
  --mjc-filet:       #e6e6e6;

  /* Couleurs des types d'événements (réglées dans MEC, rappel) */
  --mjc-expo:        #ecc078;
  --mjc-spectacle:   #e68b88;
  --mjc-jeune:       #89be9b;
  --mjc-temps-fort:  #7893af;
}


/* ##### 2. ACCUEIL – PRÉSENTATION ##### */

/* =========================================================
   MJC Ronceray – Bloc de présentation de l'accueil
   (texte « La MJC Ronceray… » + boutons, puis « Envie de vous inscrire ? »)
   1) une présentation aérée avec deux boutons côte à côte
   2) l'inscription dans une carte rose pâle, bien visible
   ========================================================= */

/* Les traits de séparation ne servent plus */
#post-7195 .entry-content > hr.wp-block-separator {
  display: none !important;
}

/* Paragraphe vide en fin de bloc, et marge du thème en bas */
#post-7195 .entry-content > p:empty {
  display: none !important;
}

#post-7195 .entry-content {
  padding-bottom: 0 !important;
}

/* ---------- 1. Présentation ---------- */

#post-7195 .entry-content > h2:nth-of-type(1) {
  max-width: 820px;
  margin: 72px auto 20px !important;
  padding: 0 20px !important;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: clamp(26px, 3.2vw, 38px) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  color: var(--mjc-encre) !important;
  text-align: center !important;
}

/* Petit trait rose sous le titre */
#post-7195 .entry-content > h2:nth-of-type(1)::after {
  content: "";
  display: block;
  width: 48px;
  height: 4px;
  margin: 18px auto 0;
  background: var(--mjc-rose);
  border-radius: 2px;
}

#post-7195 .entry-content > p:nth-of-type(1) {
  max-width: 720px;
  margin: 0 auto 32px !important;
  padding: 0 20px !important;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: 17px !important;
  font-style: normal !important;
  font-weight: 500 !important;
  line-height: 1.75 !important;
  color: var(--mjc-texte) !important;
  text-align: center !important;
}

/* ---------- Boutons (communs aux deux parties) ---------- */

/* Les deux colonnes de boutons deviennent une rangée centrée */
#post-7195 .entry-content > .wp-block-columns {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 14px !important;
  max-width: 720px;
  margin: 0 auto !important;
  padding: 0 20px !important;
  box-sizing: border-box;
}

#post-7195 .entry-content > .wp-block-columns > .wp-block-column {
  flex: 0 0 auto !important;
  width: auto !important;
  margin: 0 !important;
}

#post-7195 .entry-content .wp-block-button {
  width: auto !important;
}

#post-7195 .entry-content .wp-block-button__link {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 200px;
  padding: 14px 28px !important;
  border: 2px solid var(--mjc-rose) !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: var(--mjc-rose) !important;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  font-style: normal !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: background .2s, color .2s, transform .2s;
}

#post-7195 .entry-content .wp-block-button__link strong {
  font-weight: inherit !important;
}

#post-7195 .entry-content .wp-block-button__link:hover {
  background: var(--mjc-rose) !important;
  color: #fff !important;
  transform: translateY(-2px);
}

/* Le premier bouton de chaque rangée est plein (action principale) */
#post-7195 .entry-content > .wp-block-columns > .wp-block-column:first-child .wp-block-button__link {
  background: var(--mjc-rose) !important;
  color: #fff !important;
}

#post-7195 .entry-content > .wp-block-columns > .wp-block-column:first-child .wp-block-button__link:hover {
  background: var(--mjc-rose-fonce) !important;
  border-color: var(--mjc-rose-fonce) !important;
}

/* ---------- 2. Carte « Envie de vous inscrire ? » ---------- */

/* La carte est faite de 3 morceaux empilés : titre, texte, boutons */
#post-7195 .entry-content > h2:nth-of-type(2),
#post-7195 .entry-content > p:nth-of-type(2),
#post-7195 .entry-content > .wp-block-columns:nth-of-type(2) {
  max-width: 820px;
  margin-left: auto !important;
  margin-right: auto !important;
  background: var(--mjc-rose-pale);
  box-sizing: border-box;
}

#post-7195 .entry-content > h2:nth-of-type(2) {
  margin-top: 72px !important;
  margin-bottom: 0 !important;
  padding: 48px 32px 12px !important;
  border-radius: 24px 24px 0 0;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: clamp(22px, 2.4vw, 28px) !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  color: var(--mjc-encre) !important;
  text-align: center !important;
}

#post-7195 .entry-content > p:nth-of-type(2) {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 32px 28px !important;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: 16px !important;
  font-style: normal !important;
  font-weight: 500 !important;
  line-height: 1.7 !important;
  color: var(--mjc-texte) !important;
  text-align: center !important;
}

#post-7195 .entry-content > p:nth-of-type(2) a {
  color: var(--mjc-rose-fonce) !important;
  font-weight: 700;
  text-decoration: none !important;
}

#post-7195 .entry-content > .wp-block-columns:nth-of-type(2) {
  margin-top: 0 !important;
  margin-bottom: 24px !important;
  padding: 0 32px 48px !important;
  border-radius: 0 0 24px 24px;
}

/* ---------- Tablette et mobile ---------- */
/* Le thème ajoute de grosses marges latérales qui écrasent le texte */
@media (max-width: 960px) {
  #post-7195 .entry-content {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* ---------- Mobile ---------- */
@media (max-width: 600px) {
  #post-7195 .entry-content {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  #post-7195 .entry-content > h2:nth-of-type(1) {
    margin-top: 48px !important;
  }
  #post-7195 .entry-content > p:nth-of-type(1) {
    font-size: 16px !important;
    text-align: left !important;
  }
  #post-7195 .entry-content > .wp-block-columns {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  #post-7195 .entry-content .wp-block-button,
  #post-7195 .entry-content .wp-block-button__link {
    width: 100% !important;
    min-width: 0;
  }
  /* La carte prend presque toute la largeur */
  #post-7195 .entry-content > h2:nth-of-type(2),
  #post-7195 .entry-content > p:nth-of-type(2),
  #post-7195 .entry-content > .wp-block-columns:nth-of-type(2) {
    margin-left: 12px !important;
    margin-right: 12px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  #post-7195 .entry-content > h2:nth-of-type(2) {
    margin-top: 48px !important;
    padding-top: 36px !important;
  }
  #post-7195 .entry-content > .wp-block-columns:nth-of-type(2) {
    margin-bottom: 16px !important;
    padding-bottom: 36px !important;
  }
}


/* ##### 3. ACCUEIL – BLOC CENTRAL ##### */

/* =========================================================
   MJC Ronceray – Bloc central de l'accueil
   (le vaisseau + les 4 encadrés avec pictogrammes)
   Vaisseau plus grand à gauche, les 4 infos en grille 2 × 2 à droite.
   Même largeur que les carrousels. Responsive.
   ========================================================= */

/* 1. Le bloc devient une grille : vaisseau | 4 infos */
#post-8324 > .entry-content {
  display: grid !important;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  align-items: center;
  gap: 48px;
  padding: 24px 110px 40px !important;
  box-sizing: border-box;
}

#post-8324 > .entry-content::before,
#post-8324 > .entry-content::after {
  display: none !important;
}

#post-8324 > .entry-content > .one_third,
#post-8324 > .entry-content > .two_third {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 2. Le vaisseau, plus grand et centré dans sa colonne */
#post-8324 > .entry-content > .one_third {
  display: flex;
  justify-content: center;
}

/* L'image du vaisseau contient beaucoup de vide au-dessus et en dessous :
   on le recadre pour qu'il occupe toute la place, sans blanc inutile */
#post-8324 > .entry-content > .one_third img {
  display: block;
  width: 100% !important;
  max-width: 560px;
  height: auto !important;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  object-position: 50% 51%;
}

/* 3. Les 4 infos en grille 2 × 2, toutes de même hauteur */
#post-8324 .two_third {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 40px 36px;
}

#post-8324 .two_third > article,
#post-8324 .two_third > article > .entry-content {
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  float: none !important;
}

#post-8324 .two_third > article > .entry-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

/* Pictogramme au-dessus du titre */
#post-8324 .two_third .featured-image {
  float: none !important;
  width: 52px !important;
  height: 52px !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
}

#post-8324 .two_third .featured-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
}

#post-8324 .two_third .content-right-block {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
}

/* Titres homogènes */
#post-8324 .two_third .content-right-block h2.entry-title {
  margin: 0 0 8px !important;
  padding: 0 !important;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: 19px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  color: var(--mjc-encre) !important;
  text-align: left !important;
}

/* Petit trait rose sous chaque titre */
#post-8324 .two_third .content-right-block h2.entry-title::after {
  content: "";
  display: block;
  width: 28px;
  height: 3px;
  margin-top: 10px;
  background: var(--mjc-rose);
  border-radius: 2px;
}

/* Textes homogènes : ni italique ni gras, même police que le titre de l'accueil */
#post-8324 .two_third .content-right-block p,
#post-8324 .two_third .content-right-block p em,
#post-8324 .two_third .content-right-block p strong {
  margin: 0 !important;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: 15px !important;
  font-style: normal !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
  color: var(--mjc-texte) !important;
  text-align: left !important;
}

/* 4. Tablette : vaisseau au-dessus, infos en 2 × 2 */
@media (max-width: 960px) {
  #post-8324 > .entry-content {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 24px 110px 32px !important;
  }
  #post-8324 > .entry-content > .one_third img {
    max-width: 420px;
  }
}

/* Sous 769 px, mêmes marges que les carrousels */
@media (max-width: 768px) {
  #post-8324 > .entry-content {
    padding: 16px 20px 32px !important;
  }
}

/* 5. Mobile : une info par ligne */
@media (max-width: 600px) {
  #post-8324 > .entry-content > .one_third img {
    max-width: 320px;
  }
  #post-8324 .two_third {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}


/* ##### 4. ACCUEIL – CARROUSEL DU HAUT ##### */

/* =========================================================
   MJC Ronceray – Carrousel du haut (code court MEC 7821)
   Version aérée : cartes espacées, coins arrondis,
   bandeau coloré du type d'événement, date + titre en dessous.
   Même largeur et même espacement que le carrousel du bas,
   sur ordinateur, tablette et mobile.
   ========================================================= */

/* 1. Même largeur que le carrousel du bas
      (mêmes marges que le thème : 100 px de chaque côté à partir de 769 px) */
#mec_skin_7821 {
  margin: 0 !important;
  padding: 40px 100px 16px !important;
  box-sizing: border-box;
}

#mec_skin_7821 .mec-owl-carousel {
  width: 102% !important;   /* le thème élargit le carrousel du bas de 2 % */
  max-width: none !important;
  margin-right: 0 !important;
}

/* Espace entre les cartes, identique au carrousel du bas */
#mec_skin_7821 .owl-item {
  padding: 0 10px;
  box-sizing: border-box;
}

/* 2. Carte : fond blanc, aucune ombre ni bordure */
#mec_skin_7821 .mec-event-article {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

#mec_skin_7821 .event-carousel-type1-head,
#mec_skin_7821 .mec-event-date {
  position: static !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  box-shadow: none !important;
}

/* 3. Image au format 3:2, coins arrondis */
#mec_skin_7821 .mec-event-image {
  position: relative !important;
  margin: 0 !important;
  border-radius: 14px;
  overflow: hidden;
}

#mec_skin_7821 .mec-event-image a {
  display: block;
}

#mec_skin_7821 .mec-event-image img {
  display: block;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  transition: transform .6s ease;
}

#mec_skin_7821 .mec-event-article:hover .mec-event-image img {
  transform: scale(1.03);
}

/* 4. Bandeau coloré du type d'événement, à plat en bas de l'image
      (chaque type garde la couleur définie dans MEC) */
#mec_skin_7821 .mec-event-image .mec-event-label-captions {
  position: absolute !important;
  top: auto !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  z-index: 2;
  display: block !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  transform: none !important;
  margin: 0 !important;
  padding: 8px 18px !important;
  border-radius: 0 !important;
  color: var(--mjc-encre) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  line-height: 1.2 !important;
  text-align: left !important;
  text-transform: uppercase !important;
}

/* 5. Date sur une ligne, en petit rose MJC */
#mec_skin_7821 .mec-event-date-carousel {
  position: static !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 20px 4px 6px !important;
  background: none !important;
  box-shadow: none !important;
}

#mec_skin_7821 .mec-event-date-carousel::before,
#mec_skin_7821 .mec-event-date-carousel::after {
  display: none !important;
}

#mec_skin_7821 .mec-event-date-carousel > div:first-child {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  align-items: baseline !important;
  width: auto !important;
  gap: 0 6px;
}

#mec_skin_7821 .mec-event-date-carousel > div:first-child > div {
  width: auto !important;
  margin: 0 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  color: var(--mjc-rose) !important;
  text-transform: uppercase;
  letter-spacing: .06em;
}

/* Périodes : « 01 décembre – 11 janvier » */
#mec_skin_7821 .mec-event-date-carousel > div:first-child > div + div::before {
  content: "– ";
}

/* L'année n'est pas utile ici */
#mec_skin_7821 .mec-event-date-carousel > div:last-child {
  display: none !important;
}

/* 6. Titre en casse normale, et plus de catégorie en double */
#mec_skin_7821 .mec-event-carousel-content {
  margin: 0 !important;
  padding: 0 4px 8px !important;
  background: none !important;
  border: 0 !important;
  text-align: left !important;
}

#mec_skin_7821 .mec-event-carousel-title {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 21px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

#mec_skin_7821 .mec-event-carousel-title a {
  color: var(--mjc-encre) !important;
  text-decoration: none !important;
  transition: color .2s;
}

#mec_skin_7821 .mec-event-carousel-title a:hover {
  color: var(--mjc-rose) !important;
}

#mec_skin_7821 .mec-carousel-event-location {
  display: none !important;
}

/* 7. Tablette */
@media (max-width: 960px) {
  #mec_skin_7821 {
    padding: 32px 100px 12px !important;
  }
  #mec_skin_7821 .mec-event-carousel-title {
    font-size: 19px !important;
  }
}

/* Sous 955 px, le thème n'élargit plus le carrousel du bas */
@media (max-width: 954px) {
  #mec_skin_7821 .mec-owl-carousel {
    width: 100% !important;
  }
}

/* Sous 769 px, le carrousel du bas n'a plus de marges latérales */
@media (max-width: 768px) {
  #mec_skin_7821 {
    padding: 32px 0 12px !important;
  }
}

/* 8. Mobile */
@media (max-width: 600px) {
  #mec_skin_7821 {
    padding: 24px 0 8px !important;
  }
  #mec_skin_7821 .mec-event-image {
    border-radius: 12px;
  }
  #mec_skin_7821 .mec-event-image .mec-event-label-captions {
    padding: 7px 14px !important;
  }
  #mec_skin_7821 .mec-event-date-carousel {
    padding-top: 14px !important;
  }
  #mec_skin_7821 .mec-event-carousel-title {
    font-size: 18px !important;
  }
}


/* ##### 5. ACCUEIL – CARROUSEL DU BAS ##### */

/* =========================================================
   MJC Ronceray – Carrousel du bas (code court MEC 8126)
   Version minimaliste : sans partage ni bouton « Voir le détail »
   ========================================================= */

/* 1. Masquer le bouton de partage et le bouton « Voir le détail » */
#mec_skin_8126 .mec-event-sharing-wrap,
#mec_skin_8126 .mec-booking-button {
  display: none !important;
}

/* 2. Masquer l'adresse (toujours la même : la MJC) */
#mec_skin_8126 .mec-carousel-event-location {
  display: none !important;
}

/* Un peu d'air avant le pied de page */
#mec_skin_8126 {
  margin-bottom: 48px !important;
}

#mec_skin_8126 .owl-stage-outer {
  padding-bottom: 12px;
}

/* 3. Carte épurée : image arrondie, texte aligné à gauche */
#mec_skin_8126 .mec-event-article {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

#mec_skin_8126 .mec-event-image {
  border-radius: 12px;
  overflow: hidden;
}

#mec_skin_8126 .mec-event-image img {
  display: block;
  width: 100%;
  height: auto !important;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  transition: transform .4s ease;
}

#mec_skin_8126 .mec-event-article:hover .mec-event-image img {
  transform: scale(1.04);
}

#mec_skin_8126 .mec-event-footer-carousel-type3 {
  background: transparent !important;
  border: 0 !important;
  display: block !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 14px 2px 0 !important;
  text-align: left !important;
  min-height: 0 !important;
}

/* 4. Date en petite étiquette rose MJC */
#mec_skin_8126 .mec-event-date-info {
  display: inline-block;
  margin: 0 0 6px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--mjc-rose);
}

#mec_skin_8126 .mec-event-date-info .mec-start-date-label {
  color: var(--mjc-rose) !important;
  font-size: inherit !important;
}

/* 5. Titre : plus présent, sans majuscules forcées */
#mec_skin_8126 .mec-event-carousel-title {
  margin: 0 !important;
  font-size: 17px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  text-transform: none !important;
}

#mec_skin_8126 .mec-event-carousel-title a {
  color: var(--mjc-encre) !important;
  text-decoration: none;
}

#mec_skin_8126 .mec-event-carousel-title a:hover {
  color: var(--mjc-rose) !important;
}

/* 6. Flèches : deux petits ronds roses centrés sous le carrousel */
#mec_skin_8126 .owl-nav {
  position: static !important;
  display: flex !important;
  justify-content: center;
  gap: 10px;
  margin-top: 18px !important;
}

#mec_skin_8126 .owl-nav button.owl-prev,
#mec_skin_8126 .owl-nav button.owl-next {
  position: static !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  transform: none !important;
  width: 38px !important;
  height: 38px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1.5px solid var(--mjc-rose) !important;
  border-radius: 50% !important;
  background: #fff !important;
  box-shadow: none !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  transition: background .2s;
}

#mec_skin_8126 .owl-nav button i {
  color: var(--mjc-rose) !important;
  font-size: 12px !important;
  line-height: 1 !important;
}

#mec_skin_8126 .owl-nav button:hover {
  background: var(--mjc-rose) !important;
}

#mec_skin_8126 .owl-nav button:hover i {
  color: #fff !important;
}


/* ##### 6. RÉGLAGES GÉNÉRAUX DU THÈME ##### */

/* #########################################################
   RÉGLAGES GÉNÉRAUX DU THÈME
   (anciennes règles, triées, dédoublonnées et corrigées)
   ######################################################### */

/* ---------- Couleur d'accent du thème ----------
   Le thème parent utilise un orange (#f7931d) et la couleur réglée dans
   Personnaliser (#cc675b, brique). On les remplace par le rose MJC. */

.headerblock .navigation-main a:hover,
.navigation-main ul li.current-menu-item > a,
.navigation-main ul li.current-menu-ancestor > a {
  color: var(--mjc-rose) !important;
}

input[type="submit"],
.button {
  background: var(--mjc-rose) !important;
  border-color: var(--mjc-rose) !important;
  color: #fff !important;
}

input[type="submit"]:hover,
.button:hover {
  background: var(--mjc-rose-fonce) !important;
  border-color: var(--mjc-rose-fonce) !important;
}

.color,
.cd-panel-content a,
.page-template-staff-page .staff-column ul a,
.page-template-full-bg-page .aboutpage ul a {
  color: var(--mjc-rose-fonce) !important;
}

blockquote,
.wp-block-quote {
  border-left-color: var(--mjc-rose) !important;
  background: var(--mjc-rose-pale) !important;
}

.page-template-projects-page .columns hr,
.page-template-causes-page .columns hr,
.page-template-stories-page .columns hr {
  background-color: var(--mjc-rose) !important;
}

.social-navigation,
.widget_calendar tbody a {
  background: var(--mjc-rose) !important;
}

/* Liens dans le texte : rose foncé, plus lisible que le rose vif */
.entry-content p a {
  color: var(--mjc-rose-fonce);
}

/* ---------- Typographie ---------- */

p {
  font-size: 94%;
  margin-bottom: 1em;
}

h2,
h3 {
  margin-top: 1em;
}

h3 {
  margin-bottom: 0.185em;
}

h5 {
  color: var(--mjc-rose-fonce);
}

.entry-content h2 {
  margin-top: 0;
  margin-bottom: 0.2em;
  font-weight: 800;
}

.entry-content h3 {
  margin-top: 0;
  margin-bottom: 0.185em;
  font-weight: 800;
  color: var(--mjc-rose);
}

.entry-content h4 {
  font-size: 2em;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
  line-height: 1;
  color: var(--mjc-rose);
}

.entry-content h5 {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
  font-weight: 800;
}

.entry-content a:hover {
  color: var(--mjc-rose-fonce);
}

hr {
  border: 0;
  border-top: 1px solid var(--mjc-filet);
  width: 100%;
  margin-bottom: 0.5em;
}

.widget hr,
.widget p {
  margin-bottom: 0.5em;
}

/* Tableau Concertation */
.wp-block-table.is-style-stripes td {
  font-size: 70%;
}

/* ---------- En-tête : logos, menu, recherche ---------- */

.custom-logo-link.var_left {
  position: absolute;
  top: 10px;
  left: 50px;
  max-width: 160px;
}

.custom-logo-link.var_right {
  position: absolute;
  top: 20px;
  right: 50px;
  max-width: 200px;
}

.menu-toggle {
  position: absolute;
  left: 50%;
  top: 15px;
  margin: 0;
  padding: 0;
  transform: translateX(-50%);
}

.navigation-main ul li.menu-item-has-children > a,
.navigation-main ul ul li.menu-item-has-children > a,
.main-small-navigation ul li.menu-item-has-children > a,
.main-small-navigation ul ul li.menu-item-has-children > a {
  font-size: 1.2em;
}

.navigation-main ul li.menu-item-has-children > a::after {
  color: var(--mjc-rose-fonce);
  font-size: 10px;
}

.navigation-main ul ul {
  padding-top: 0.2em;
}

.navigation-main ul ul a {
  padding: 0.2em 15px;
}

.navigation-main ul ul a:hover {
  border-color: var(--mjc-rose-fonce);
}

/* Bouton loupe et champ de recherche */
.fixed .search-toggle {
  right: 0;
  top: 80px;
  background: var(--mjc-rose);
}

.fixed .search-box-wrapper {
  right: 77px;
  left: auto;
  top: 80px;
  width: 200px;
  margin-top: 0;
}

.search-box .search-field {
  float: right;
  width: 100%;
  border: 0;
  outline: 0;
  background: #333;
  color: #fff;
  font-size: 14px;
  font-size: 1.4rem;
}

button:focus,
input[type="button"]:focus,
input[type="reset"]:focus {
  box-shadow: none;
}

/* ---------- Mise en page ---------- */

.entry-header,
.single-themes-page,
.child-pages,
.page .entry-footer,
.site-info div.content,
.themes-grid {
  padding: 0 15%;
}

.entry-content .entry-summary {
  padding: 0 10% 7%;
}

#secondary {
  padding-top: 20px;
}

@media screen and (min-width: 956px) {
  #secondary {
    text-align: center;
  }
}

.block-one .hentry {
  padding-top: 1%;
}

.block-three {
  padding: 0;
}

@media (min-width: 769px) {
  .block-four {
    padding: 0 100px;
  }
}

.block-four .entry-header,
.block-four .post-thumbnail {
  text-align: center;
}

.block-four .post .entry-title {
  border-bottom: 3px solid var(--mjc-rose-fonce);
}

.block-four .widget-title {
  display: none;
}

.block-four figure img {
  transition: all 3s cubic-bezier(0, .53, .52, .97);
}

.second-block .overlay {
  background: var(--mjc-fond-clair);
}

a.post-thumbnail,
a.post-thumbnail:hover {
  border-bottom: none;
  transition: all 1s;
}

.page a.more-link {
  display: none;
}

/* Pages « à propos » et pages de base : image de fond */
.cd-fixed-bg {
  min-height: 150px;
}

.cd-fixed-bg-one {
  margin-bottom: 30px;
}

.page-template-front-page.fixed-image .cd-fixed-bg {
  background-size: contain;
}

.aboutpage .cd-fixed-bg-one {
  background-size: contain;
  background-color: #fff;
}

.aboutpage .cd-fixed-bg-one .overlay {
  position: relative;
  background-size: contain;
}

.aboutpage .cd-fixed-bg-one .entry-content {
  display: none;
}

.page-template-default .aboutpage .cd-fixed-bg-one {
  padding: 103px 0;
}

.page-template-basic-page .main {
  padding: 1.333% 0 0 0;
}

.page-template-basic-page .cd-fixed-bg-one {
  background-size: cover;
}

.page-template-basic-page .aboutpage .cd-fixed-bg-one {
  position: relative;
  padding: 200px 0;
  background-size: cover;
}

/* Pages Projets / Activités / Équipe */
.page-template-projects-page .fourcolumn {
  border-right: 0;
  border-bottom: 0;
}

.page-template-causes-page .fourcolumn {
  border: 0;
}

.page-template-projects-page .columns .entry-title,
.page-template-causes-page .columns .entry-title {
  font-size: 1.8rem;
}

.page-template-projects-page .columns .entry-content,
.page-template-causes-page .columns .entry-content,
.page-template-stories-page .columns .entry-content {
  font-size: 3.6rem;
}

.page-template-projects-page .columns hr {
  margin-bottom: 0.6em;
}

.page-template-causes-page .main {
  padding: 0;
}

.page.page-template-staff-page .columns .staff-column .entry-content {
  display: none;
}

.single-themes-page .content-area {
  margin-top: 20px;
  padding: 10px 20px 20px;
  box-shadow: 10px -5px 40px -6px #c1c1c1;
}

/* Fil d'Ariane */
.breadcrumbs,
#breadcrumbs {
  margin: 0 auto;
  font-size: 0.7em;
  letter-spacing: 0.09em;
  inline-size: max-content;
}

#breadcrumbs a:hover {
  color: var(--mjc-rose-fonce);
}

/* Diaporama du jardin partagé */
.sow-slider-base {
  width: 80%;
  margin-left: auto;
  margin-right: auto;
}

/* ---------- Formulaires ---------- */

input,
textarea {
  border: 1px solid var(--mjc-filet);
  background: var(--mjc-fond-clair);
}

form.wpcf7-form {
  padding: 0;
}

/* Billetterie */
#weezmulti {
  width: 100%;
}

/* ---------- Pied de page : logos partenaires ---------- */

.footer_partenaires {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.footer_partenaires > aside.widget {
  margin: 0 10px;
  text-align: center;
}

.footer_partenaires > aside.widget img {
  filter: grayscale(100%);
}

.footer_partenaires > aside.widget:hover img {
  filter: none;
}

#media_image-11,
#media_image-12,
#media_image-18 {
  flex-shrink: 1.2;
}

/* ---------- Agenda MEC (hors accueil) ---------- */

/* Masque la mention « en cours » */
.mec-holding-status-ongoing {
  display: none;
}

/* Bandeau de catégorie en diagonale (pages agenda) */
.mec-event-label-captions {
  top: 45px;
  right: -62px;
  width: 230px;
  max-width: 230px;
  padding: 1px;
  font-size: 11px;
}

.mec-event-carousel-content {
  border: 0;
}

.mec-owl-carousel .owl-item img {
  display: block;
  width: 100%;
  height: 300px;
}

.mec-event-footer .mec-booking-button {
  padding: 0 10px;
}

.mec-event-grid-classic .mec-event-date {
  height: 56px;
  line-height: 50px;
}

/* Grande image en haut d'une fiche événement */
.mec-events-event-image {
  position: relative;
  overflow: hidden;
  min-height: 420px;
  background: rgba(0, 0, 0, 0.1);
}

.mec-events-event-image img {
  display: block;
  width: 100%;
  height: 530px;
  object-fit: cover;
  object-position: center 45%;
}

.mec-single-event .mec-events-event-image img {
  max-width: 100%;
  border-radius: 5px;
}

.mec-events-event-image::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 200px;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, 0.5) 100%);
  pointer-events: none;
}


/* ##### 7. BANDEAUX DES PAGES ##### */

/* =========================================================
   MJC Ronceray – Bandeau image en haut des pages
   (toutes les pages au modèle « Basic page » : cinéma, infos pratiques…)
   Le bandeau s'affiche en entier, sans couper le logo,
   et prend moins de place à l'écran.
   ========================================================= */

.page-template-basic-page .aboutpage .cd-fixed-bg-one {
  height: clamp(140px, 17vw, 340px) !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

/* Fil d'Ariane sous le bandeau : discret et centré */
.page-template-basic-page .breadcrumbs {
  margin: 18px auto 0 !important;
  font-family: 'Raleway', Arial, sans-serif;
  font-size: 13px !important;
  font-style: normal !important;
  letter-spacing: .02em;
  color: var(--mjc-gris);
  text-align: center;
}

.page-template-basic-page .breadcrumbs a {
  color: var(--mjc-gris) !important;
  text-decoration: none !important;
}

.page-template-basic-page .breadcrumbs a:hover {
  color: var(--mjc-rose-fonce) !important;
}

@media (max-width: 600px) {
  .page-template-basic-page .aboutpage .cd-fixed-bg-one {
    height: 120px !important;
  }
}


/* ##### 8. EN-TÊTE ET BANDEAU SUR MOBILE ##### */

/* =========================================================
   MJC Ronceray – En-tête mobile et tablette (menu mobile, jusqu'à 1200 px)
   1. La loupe devient un petit rond rose dans l'en-tête, à droite :
      elle ne recouvre plus le bandeau image.
   2. Le champ de recherche s'ouvre juste sous l'en-tête.
   3. Le bandeau image est plus haut et recadré au centre :
      l'illustration reste lisible au lieu d'être minuscule.
   À placer APRÈS « Bandeaux des pages » (ou avant « Compatibilité blocs »)
   ========================================================= */

@media (max-width: 1200px) {

  /* 1. Loupe : rond rose fixé dans l'en-tête mobile */
  .fixed .search-toggle,
  .search-toggle {
    position: fixed !important;
    top: calc(var(--wp-admin--admin-bar--height, 0px) + 26px) !important;
    right: 10px !important;
    left: auto !important;
    z-index: 10001 !important;
    float: none !important;
    width: 36px !important;
    height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 50%;
    background: var(--mjc-rose) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .15);
    text-align: center;
  }

  /* Loupe bien centrée dans le rond */
  .fixed .search-toggle,
  .search-toggle {
    display: flex !important;
    align-items: center;
    justify-content: center;
  }

  .search-toggle::before {
    position: static !important;
    top: auto !important;
    left: auto !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    font-size: 18px !important;
    line-height: 1 !important;
  }

  .search-toggle > a.screen-reader-text {
    position: absolute !important;
  }

  .search-toggle.active {
    background: var(--mjc-rose-fonce) !important;
  }

  /* Le logo laisse la place à la loupe */
  .mob-menu-logo-holder img.mob-standard-logo {
    width: auto !important;
    height: auto !important;
    max-width: calc(100vw - 150px) !important;
    max-height: 56px !important;
    object-fit: contain;
  }

  /* 2. Champ de recherche : bandeau blanc sous l'en-tête */
  .fixed .search-box-wrapper,
  .search-box-wrapper {
    position: fixed !important;
    top: calc(var(--wp-admin--admin-bar--height, 0px) + 89px) !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 10001 !important;
    width: auto !important;
    margin: 0 !important;
    padding: 10px 16px !important;
    background: #fff !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, .12);
    box-sizing: border-box;
  }

  .search-box-wrapper.hide {
    display: none !important;
  }

  .search-box-wrapper .search-field {
    width: 100% !important;
    height: 44px;
    padding: 0 18px !important;
    border: 1px solid var(--mjc-filet) !important;
    border-radius: 999px;
    background: var(--mjc-fond-clair) !important;
    color: var(--mjc-encre) !important;
    font-size: 16px !important; /* 16 px : évite le zoom automatique sur iPhone */
    box-sizing: border-box;
  }
}

/* 3. Bandeau image en haut des pages */
@media (max-width: 640px) {
  .page-template-basic-page .aboutpage .cd-fixed-bg-one,
  .aboutpage .cd-fixed-bg-one {
    height: clamp(150px, 44vw, 240px) !important;
    background-size: cover !important;
    background-position: center center !important;
  }

  /* Bandeau « logos MJC + L'Alambik! » (pages sans bandeau illustré) :
     c'est du texte, on l'affiche en entier plutôt que de le couper */
  .aboutpage .cd-fixed-bg-one[style*="Logos-ensemble"] {
    height: auto !important;
    aspect-ratio: 2560 / 524;
    margin: 12px 16px 0 !important;
    background-size: contain !important;
  }
}


/* ##### 9. PIED DE PAGE ##### */

/* =========================================================
   MJC Ronceray – Pied de page (toutes les pages)
   Fond encre avec un filet rose, colonnes alignées, textes lisibles,
   bandeau blanc pour les logos partenaires, mentions en bas.
   Mobile : logo centré, liens sur deux colonnes, tout reste lisible.
   Les widgets ne changent pas (Apparence → Widgets).
   ========================================================= */

/* 1. Fond et typographie */
#colophon.site-footer {
  border-top: 4px solid var(--mjc-rose);
  background: var(--mjc-encre) !important;
}

#colophon .footer,
#colophon .site-info,
#colophon .site-info .hfeed,
#colophon .site-info .site-content {
  background: transparent !important;
}

/* Le thème ajoute de grandes marges latérales : on les retire,
   chaque zone gère ses propres marges */
#colophon .site-info .site-content {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

#colophon .footer-widget-area {
  max-width: 1100px;
  margin: 0 auto !important;
  padding: 48px 24px 36px !important;
  box-sizing: border-box;
}

#colophon,
#colophon p,
#colophon span,
#colophon a,
#colophon em,
#colophon strong,
#colophon .widget-title {
  font-family: 'Raleway', Arial, sans-serif !important;
  font-style: normal !important;
}

/* 2. Les colonnes : logo | liens | nous trouver | liens | réseaux */
#colophon .more-than-three-widgets {
  display: grid !important;
  grid-template-columns: 1.1fr 1fr 1.3fr 1fr 1fr;
  align-items: start;
  gap: 32px;
}

#colophon .more-than-three-widgets > .widget {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#colophon .widget_media_image img {
  display: block;
  width: 150px !important;
  max-width: 100%;
  height: auto !important;
}

/* Titres de colonne */
#colophon .widget-title {
  margin: 0 0 14px !important;
  padding: 0 !important;
  border: 0 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  line-height: 1.3 !important;
  color: var(--mjc-rose) !important;
  text-transform: uppercase;
}

#colophon .widget-title::after,
#colophon .widget-title::before {
  display: none !important;
}

/* Textes et liens */
#colophon .textwidget p {
  margin: 0 0 10px !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  color: rgba(255, 255, 255, .72) !important;
}

#colophon .textwidget span {
  color: rgba(255, 255, 255, .72) !important;
  font-size: 15px !important;
}

#colophon .textwidget a,
#colophon .textwidget a strong {
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .06em;
  color: #fff !important;
  text-decoration: none !important;
  border: 0 !important;
  transition: color .2s;
}

#colophon .textwidget a:hover,
#colophon .textwidget a:hover strong {
  color: var(--mjc-rose) !important;
}

/* Le nom « MJC Ronceray » de l'adresse (lien vers la carte) */
#colophon #sow-editor-2 .textwidget a {
  font-size: 15px !important;
  letter-spacing: 0;
}

/* Mentions légales : plus discret */
#colophon .textwidget em a {
  font-weight: 500 !important;
  letter-spacing: 0;
  color: rgba(255, 255, 255, .6) !important;
}

/* Réseaux sociaux : ronds blancs, alignés à gauche */
#colophon .sfsi_widget {
  min-height: 0 !important;
}

#colophon .sfsi_wDiv {
  display: flex !important;
  gap: 10px;
  width: auto !important;
}

#colophon .sfsi_wicons {
  width: 40px !important;
  height: 40px !important;
  margin: 0 !important;
}

#colophon .sfsi_wicons img,
#colophon .sfsi_wicons .inerCnt,
#colophon .sfsi_wicons a {
  width: 40px !important;
  height: 40px !important;
}

#colophon .sfsi_wicons img {
  border-radius: 50%;
  transition: transform .2s;
}

#colophon .sfsi_wicons a:hover img {
  transform: scale(1.08);
}

/* 3. Logos partenaires : bandeau blanc arrondi */
#colophon .footer_partenaires {
  display: flex !important;
  width: auto !important;
  float: none !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 18px 40px;
  max-width: 1100px;
  margin: 0 auto 0 !important;
  padding: 20px 28px !important;
  border-radius: 16px;
  background: #fff;
  box-sizing: border-box;
}

#colophon .footer_partenaires > .widget {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

#colophon .footer_partenaires img {
  display: block;
  width: auto !important;
  height: 40px !important;
  max-width: 160px;
  object-fit: contain;
}

/* 4. Mentions du bas */
#colophon .copyright {
  max-width: 1100px;
  margin: 0 auto !important;
  padding: 22px 24px 28px !important;
  font-size: 13px !important;
  font-style: normal !important;
  color: rgba(255, 255, 255, .55) !important;
  text-align: center;
  box-sizing: border-box;
}

#colophon .copyright a {
  font-size: 13px !important;
  font-weight: 500;
  color: rgba(255, 255, 255, .7) !important;
  text-decoration: none !important;
  border: 0 !important;
}

#colophon .copyright a:hover {
  color: var(--mjc-rose) !important;
}

#colophon .copyright .scroll-to-top {
  display: inline-block;
  margin-left: 16px;
}

/* Espace autour du bandeau partenaires */
#colophon .footer_partenaires {
  margin-left: 24px !important;
  margin-right: 24px !important;
}

@media (min-width: 1149px) {
  #colophon .footer_partenaires {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* 5. Tablette */
@media (max-width: 960px) {
  #colophon .more-than-three-widgets {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px 24px;
  }
  #colophon .more-than-three-widgets > .widget_media_image {
    grid-column: 1 / -1;
  }
}

/* 6. Mobile */
@media (max-width: 640px) {
  #colophon .footer-widget-area {
    padding: 36px 20px 28px !important;
  }
  #colophon .more-than-three-widgets {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 26px 20px;
  }
  /* Logo centré en haut */
  #colophon .more-than-three-widgets > .widget_media_image {
    grid-column: 1 / -1;
  }
  #colophon .widget_media_image img {
    width: 130px !important;
    margin: 0 auto;
  }
  /* « Nous trouver » et « Rejoignez-nous » sur toute la largeur */
  #colophon #sow-editor-2,
  #colophon .widget.sfsi {
    grid-column: 1 / -1;
  }
  /* Ordre : logo, liens + liens, adresse, réseaux */
  #colophon .widget_media_image { order: 1; }
  #colophon #sow-editor-3 { order: 2; }
  #colophon #sow-editor-4 { order: 3; }
  #colophon #sow-editor-2 { order: 4; }
  #colophon .widget.sfsi { order: 5; }

  #colophon .textwidget a,
  #colophon .textwidget a strong {
    font-size: 13px !important;
    letter-spacing: .03em;
    word-break: keep-all;
    overflow-wrap: normal;
  }
  #colophon .footer_partenaires {
    gap: 14px 24px;
    margin-left: 16px !important;
    margin-right: 16px !important;
    padding: 16px !important;
  }
  #colophon .footer_partenaires img {
    height: 32px !important;
    max-width: 120px;
  }
  #colophon .copyright {
    padding: 18px 20px 24px !important;
    line-height: 1.8;
  }
  #colophon .copyright .scroll-to-top {
    display: block;
    margin: 6px 0 0;
  }
}


/* ##### 10. CINÉMA – À L'AFFICHE DU ROYAL ##### */

/* =========================================================
   MJC Ronceray – Page « À l'affiche du Royal » (cinéma)
   Chaque film devient une carte : affiche à gauche, infos à droite,
   séances bien visibles dans un encadré rose, bouton bande-annonce.
   ========================================================= */

/* 1. Largeur : mêmes marges que le reste du site, contenu centré */
#post-8347 .entry-content {
  max-width: 1040px;
  margin: 0 auto !important;
  padding: 48px 24px 64px !important;
  box-sizing: border-box;
}

/* Les traits rouges entre les films ne servent plus */
#post-8347 .entry-content > hr.wp-block-separator {
  display: none !important;
}

/* 2. Introduction */
#post-8347 .entry-content > h2:first-child {
  margin: 0 0 16px !important;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: clamp(24px, 3vw, 34px) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  color: var(--mjc-encre) !important;
  text-align: center !important;
}

#post-8347 .entry-content > h2:first-child::after {
  content: "";
  display: block;
  width: 48px;
  height: 4px;
  margin: 16px auto 0;
  background: var(--mjc-rose);
  border-radius: 2px;
}

#post-8347 .entry-content > p {
  max-width: 720px;
  margin: 0 auto 16px !important;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: 16px !important;
  font-style: normal !important;
  line-height: 1.7 !important;
  color: var(--mjc-texte) !important;
  text-align: center !important;
}

#post-8347 .entry-content > p a {
  color: var(--mjc-rose-fonce) !important;
  text-decoration: none !important;
}

/* 3. Carte film */
#post-8347 .wp-block-media-text {
  display: grid !important;
  grid-template-columns: 220px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 32px;
  margin: 28px 0 0 !important;
  padding: 28px !important;
  border: 1px solid var(--mjc-filet);
  border-radius: 18px;
  background: #fff;
  box-sizing: border-box;
}

#post-8347 .wp-block-media-text > * {
  grid-row: auto !important;
}

/* Affiche */
#post-8347 .wp-block-media-text__media {
  grid-column: 1 !important;
  align-self: start !important;
  margin: 0 !important;
  border-radius: 12px;
  overflow: hidden;
  background: var(--mjc-fond-clair);
}

#post-8347 .wp-block-media-text__media img {
  display: block;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 3 / 4;
  object-fit: cover;
}

/* Infos */
#post-8347 .wp-block-media-text__content {
  font-variant-numeric: lining-nums;
  grid-column: 2 !important;
  align-self: start !important;
  padding: 0 !important;
  font-family: 'Raleway', Arial, sans-serif;
}

/* Titre du film */
#post-8347 .wp-block-media-text__content h2 {
  margin: 0 0 12px !important;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: 24px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  color: var(--mjc-encre) !important;
  text-transform: none !important;
}

/* Un deuxième titre (ex. « Soirée Bis » puis le nom du film) */
#post-8347 .wp-block-media-text__content h2 + h2 {
  margin-top: -6px !important;
}

/* Textes : synopsis et fiche technique */
#post-8347 .wp-block-media-text__content p {
  margin: 0 0 14px !important;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: 15px !important;
  font-style: normal !important;
  font-weight: 500 !important;
  line-height: 1.65 !important;
  color: var(--mjc-texte) !important;
}

/* Fiche technique (date, durée, réalisateur) un peu plus discrète */
#post-8347 .wp-block-media-text__content h2 ~ p:nth-of-type(2) {
  font-size: 13px !important;
  color: var(--mjc-gris) !important;
}

/* 4. Séances : encadré rose pâle, bien visible */
#post-8347 .wp-block-media-text__content p:has(> strong):not(:has(a)) {
  display: inline-block;
  margin: 4px 0 16px !important;
  padding: 12px 18px !important;
  border-left: 4px solid var(--mjc-rose);
  border-radius: 0 10px 10px 0;
  background: var(--mjc-rose-pale);
  color: var(--mjc-encre) !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
}

#post-8347 .wp-block-media-text__content p:has(> strong):not(:has(a)) strong {
  font-weight: 700 !important;
}

/* 5. Bande-annonce : petit bouton */
#post-8347 .wp-block-media-text__content p:has(a[href*="allocine"]),
#post-8347 .wp-block-media-text__content p:last-child:has(a) {
  margin: 0 !important;
}

#post-8347 .wp-block-media-text__content p:has(a[href*="allocine"]) a,
#post-8347 .wp-block-media-text__content p:last-child:has(a) a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  border: 2px solid var(--mjc-rose);
  border-radius: 999px;
  color: var(--mjc-rose-fonce) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .06em;
  text-transform: uppercase;
  text-decoration: none !important;
  transition: background .2s, color .2s;
}

#post-8347 .wp-block-media-text__content p:has(a[href*="allocine"]) a::before,
#post-8347 .wp-block-media-text__content p:last-child:has(a) a::before {
  content: "▶";
  font-size: 10px;
}

#post-8347 .wp-block-media-text__content p:has(a[href*="allocine"]) a:hover,
#post-8347 .wp-block-media-text__content p:last-child:has(a) a:hover {
  background: var(--mjc-rose);
  color: #fff !important;
}

/* 6. Tablette */
@media (max-width: 960px) {
  #post-8347 .wp-block-media-text {
    grid-template-columns: 170px minmax(0, 1fr) !important;
    gap: 24px;
    padding: 22px !important;
  }
  #post-8347 .wp-block-media-text__content h2 {
    font-size: 21px !important;
  }
}

/* 7. Mobile : affiche au-dessus, centrée */
@media (max-width: 600px) {
  /* Sur mobile, on récupère la largeur perdue dans les marges du thème */
  .page-id-8347 .single-themes-page {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  .page-id-8347 .single-themes-page .content-area {
    padding: 0 !important;
    box-shadow: none !important;
  }
  #post-8347 .entry-content {
    padding: 28px 0 40px !important;
  }
  #post-8347 .wp-block-media-text {
    grid-template-columns: 1fr !important;
    gap: 18px;
    padding: 18px !important;
  }
  #post-8347 .wp-block-media-text__media,
  #post-8347 .wp-block-media-text__content {
    grid-column: 1 !important;
  }
  #post-8347 .wp-block-media-text__media {
    width: 62%;
    margin: 0 auto !important;
  }
  #post-8347 .wp-block-media-text__content h2 {
    font-size: 20px !important;
  }
  #post-8347 .wp-block-media-text__content p:has(> strong):not(:has(a)) {
    display: block;
  }
}


/* ##### 11. BASE .MJC-INFOS (INFOS PRATIQUES) ##### */

/* =========================================================
   MJC Ronceray – Bloc « infos pratiques » (.mjc-infos)
   Fonctionne sur toute page qui contient ce bloc HTML.
   ========================================================= */

/* La page qui contient le bloc récupère toute sa largeur */
.entry-content:has(> .mjc-infos),
.entry-content:has(> .wp-block-html > .mjc-infos) {
  max-width: 1040px;
  margin: 0 auto !important;
  padding: 40px 24px 64px !important;
  box-sizing: border-box;
}

.mjc-infos {
  font-family: 'Raleway', Arial, sans-serif;
  color: var(--mjc-texte);
  /* Raleway dessine les chiffres « à l'ancienne » (0 ressemble à o) :
     on force des chiffres classiques, plus lisibles pour les prix et horaires */
  font-variant-numeric: lining-nums;
}

.mjc-infos h2,
.mjc-infos h3,
.mjc-infos p,
.mjc-infos li {
  font-family: 'Raleway', Arial, sans-serif !important;
  font-style: normal !important;
  text-align: left !important;
}

.mjc-infos p {
  margin: 0 0 10px !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
  color: var(--mjc-texte) !important;
}

/* 1. En-tête : photo + adresse */
.mjc-infos__hero {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  align-items: center;
  gap: 40px;
  margin-bottom: 40px;
}

.mjc-infos__photo {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 5 / 4;
  object-fit: cover;
  border-radius: 18px;
}

.mjc-infos p.mjc-infos__surtitre {
  margin: 0 0 6px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--mjc-rose-fonce) !important;
}

.mjc-infos h2 {
  margin: 0 0 16px !important;
  font-size: clamp(28px, 3.4vw, 40px) !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  color: var(--mjc-encre) !important;
}

.mjc-infos h2::after {
  content: "";
  display: block;
  width: 48px;
  height: 4px;
  margin-top: 16px;
  background: var(--mjc-rose);
  border-radius: 2px;
}

.mjc-infos .mjc-infos__contact a {
  font-size: 20px;
  font-weight: 800;
  color: var(--mjc-encre) !important;
  text-decoration: none !important;
}

.mjc-infos .mjc-infos__contact a:hover {
  color: var(--mjc-rose-fonce) !important;
}

/* Boutons */
.mjc-infos p.mjc-infos__boutons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 20px !important;
}

.mjc-infos .mjc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 24px;
  border: 2px solid var(--mjc-rose) !important;
  border-radius: 999px;
  color: var(--mjc-rose-fonce) !important;
  font-family: 'Raleway', Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  text-decoration: none !important;
  transition: background .2s, color .2s;
}

.mjc-infos .mjc-btn:hover {
  background: var(--mjc-rose);
  color: #fff !important;
}

.mjc-infos .mjc-btn--plein {
  background: var(--mjc-rose);
  color: #fff !important;
}

.mjc-infos .mjc-btn--plein:hover {
  background: var(--mjc-rose-fonce);
  border-color: var(--mjc-rose-fonce) !important;
}

/* 2. Grille de cartes */
.mjc-infos__grille {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.mjc-infos__carte {
  padding: 28px;
  border: 1px solid var(--mjc-filet);
  border-radius: 18px;
  background: #fff;
}

.mjc-infos__carte--large {
  grid-column: 1 / -1;
}

.mjc-infos__carte--tarifs {
  background: var(--mjc-rose-pale);
  border-color: transparent;
}

.mjc-infos h3 {
  margin: 0 0 14px !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  color: var(--mjc-encre) !important;
}

.mjc-infos h3.mjc-infos__sous-titre {
  margin-top: 24px !important;
}

.mjc-infos p.mjc-infos__alerte {
  display: inline-block;
  margin: 0 0 14px !important;
  padding: 4px 12px;
  border-radius: 999px;
  background: var(--mjc-rose);
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .06em;
  text-transform: uppercase;
}

/* Liste des tarifs : intitulé à gauche, prix à droite */
.mjc-infos__tarifs {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.mjc-infos__tarifs li {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
  margin: 0 !important;
  padding: 12px 0 !important;
  border-bottom: 1px solid rgba(201, 0, 109, .15);
  font-size: 16px !important;
  line-height: 1.4 !important;
}

.mjc-infos__tarifs li:last-child {
  border-bottom: 0;
}

.mjc-infos__tarifs small {
  font-size: 13px;
  color: var(--mjc-gris);
}

.mjc-infos__tarifs strong {
  flex: none;
  font-size: 18px;
  font-weight: 800;
  color: var(--mjc-rose-fonce);
}

/* Étapes d'accès numérotées */
.mjc-infos__etapes {
  margin: 0 0 16px !important;
  padding: 0 !important;
  list-style: none !important;
  counter-reset: etape;
}

.mjc-infos__etapes li {
  position: relative;
  margin: 0 0 12px !important;
  padding-left: 44px !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
  counter-increment: etape;
}

.mjc-infos__etapes li::before {
  content: counter(etape);
  position: absolute;
  left: 0;
  top: 0;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--mjc-rose-pale);
  color: var(--mjc-rose-fonce);
  font-size: 14px;
  font-weight: 800;
  line-height: 28px;
  text-align: center;
}

.mjc-infos p.mjc-infos__note {
  display: inline-block;
  margin: 0 !important;
  padding: 8px 14px;
  border-radius: 10px;
  background: var(--mjc-fond-clair);
  font-size: 14px !important;
  font-weight: 600 !important;
}

/* 3. Tablette et mobile */
@media (max-width: 860px) {
  .mjc-infos__hero {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

@media (max-width: 640px) {
  .single-themes-page:has(.mjc-infos) {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  .single-themes-page:has(.mjc-infos) .content-area {
    padding: 0 !important;
    box-shadow: none !important;
  }
  .entry-content:has(> .mjc-infos),
  .entry-content:has(> .wp-block-html > .mjc-infos) {
    padding: 28px 0 48px !important;
  }
  .mjc-infos__grille {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  /* Boutons l'un sous l'autre, pleine largeur : rien n'est coupé */
  .mjc-infos .mjc-infos__boutons .mjc-btn {
    flex: 1 1 100%;
  }
  .mjc-infos__carte {
    padding: 22px;
  }
}


/* ##### 12. COMPLÉMENTS .MJC-INFOS (BILLETTERIE) ##### */

/* =========================================================
   MJC Ronceray – Compléments au style .mjc-infos
   (page Billetterie, et toute page qui en a besoin)
   À placer APRÈS le bloc « infos pratiques » dans style.css
   ========================================================= */

/* Introduction centrée */
.mjc-infos .mjc-infos__intro {
  max-width: 680px;
  margin: 0 auto 28px;
  text-align: center;
}

.mjc-infos .mjc-infos__intro p,
.mjc-infos .mjc-infos__intro h2 {
  text-align: center !important;
}

.mjc-infos .mjc-infos__intro h2::after {
  margin-left: auto;
  margin-right: auto;
}

.mjc-infos .mjc-infos__intro p:last-child {
  font-size: 17px !important;
}

/* Bandeau d'information (ex. concerts Superforma) */
.mjc-infos .mjc-infos__bandeau {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin: 0 0 24px;
  padding: 18px 24px;
  border-radius: 14px;
  background: var(--mjc-fond-clair);
}

.mjc-infos .mjc-infos__bandeau p {
  margin: 0 !important;
}

.mjc-infos .mjc-infos__bandeau .mjc-btn {
  flex: none;
}

/* Le module de billetterie Weezevent, présenté dans une carte */
.entry-content > div:has(> #weezmulti) {
  margin: 0 0 32px !important;
  padding: 20px;
  border: 1px solid var(--mjc-filet);
  border-radius: 18px;
  background: #fff;
}

.entry-content > div:has(> #weezmulti)::after {
  content: "";
  display: block;
  clear: both;
}

#weezmulti {
  display: block;
  min-height: 220px;
}

/* Liste à puces roses */
.mjc-infos .mjc-infos__puces {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.mjc-infos .mjc-infos__puces li {
  position: relative;
  margin: 0 0 10px !important;
  padding-left: 24px !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
}

.mjc-infos .mjc-infos__puces li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: .6em;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--mjc-rose);
}

.mjc-infos .mjc-infos__puces li:last-child {
  margin-bottom: 0 !important;
}

/* Liens dans les étapes et les textes */
.mjc-infos .mjc-infos__etapes a,
.mjc-infos .mjc-infos__carte p:not(.mjc-infos__contact) a:not(.mjc-btn) {
  color: var(--mjc-rose-fonce) !important;
  border-bottom: 1px solid currentColor !important;
}

/* Prix mis en avant */
.mjc-infos p.mjc-infos__prix {
  margin: 0 0 6px !important;
  font-size: 28px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  color: var(--mjc-rose-fonce) !important;
}

/* Carte contact : texte à gauche, coordonnées à droite */
.mjc-infos .mjc-infos__carte--contact {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.mjc-infos .mjc-infos__carte--contact > div:first-child p {
  margin: 0 !important;
}

.mjc-infos .mjc-infos__contact-liens {
  text-align: right;
}

.mjc-infos .mjc-infos__contact-liens p {
  margin: 0 0 4px !important;
  text-align: right !important;
}

.mjc-infos .mjc-infos__contact-liens a {
  font-size: 18px !important;
  border-bottom: 0 !important;
}

/* Tablette et mobile */
@media (max-width: 640px) {
  .mjc-infos .mjc-infos__bandeau,
  .mjc-infos .mjc-infos__carte--contact {
    flex-direction: column;
    align-items: stretch;
    text-align: left;
  }
  .mjc-infos .mjc-infos__bandeau .mjc-btn {
    width: 100%;
    box-sizing: border-box;
  }
  .mjc-infos .mjc-infos__contact-liens,
  .mjc-infos .mjc-infos__contact-liens p {
    text-align: left !important;
  }
  .entry-content > div:has(> #weezmulti) {
    padding: 10px;
  }
  /* Sur mobile, chaque spectacle prend plus de hauteur dans le module */
  #weezmulti {
    min-height: 300px;
  }
}


/* ##### 13. AGENDA ##### */

/* =========================================================
   MJC Ronceray – Page Agenda (code court MEC 7839, vue « grille », style Clean)
   Les événements deviennent des cartes, comme le carrousel de l'accueil :
   image arrondie, bandeau coloré du type d'événement, date en rose, titre.
   ========================================================= */

/* 1. Largeur et marges de la page */
#post-6970 .entry-content {
  max-width: 1100px;
  margin: 0 auto !important;
  padding: 40px 24px 64px !important;
  box-sizing: border-box;
}

/* Introduction */
#post-6970 .entry-content > h2:first-child {
  margin: 0 0 12px !important;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: clamp(28px, 3.4vw, 40px) !important;
  font-weight: 800 !important;
  font-style: normal !important;
  line-height: 1.15 !important;
  color: var(--mjc-encre) !important;
  text-align: center !important;
  text-transform: none !important;
}

#post-6970 .entry-content > h2:first-child *,
#post-6970 .entry-content > p:nth-of-type(1) * {
  font-style: normal !important;
  font-weight: inherit !important;
}

#post-6970 .entry-content > h2:first-child::after {
  content: "";
  display: block;
  width: 48px;
  height: 4px;
  margin: 16px auto 0;
  background: var(--mjc-rose);
  border-radius: 2px;
}

#post-6970 .entry-content > p:nth-of-type(1) {
  max-width: 640px;
  margin: 0 auto 32px !important;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
  color: var(--mjc-texte) !important;
  text-align: center !important;
}

#post-6970 .entry-content > p:empty,
#post-6970 .entry-content > p:nth-of-type(1) br {
  display: none;
}

/* 2. Barre de recherche : catégorie, mois/année, mot-clé */
:is(#mec_skin_7839, .tax-mec_category .mec-wrap) .mec-search-form {
  display: flex !important;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0 0 40px !important;
  padding: 16px !important;
  border: 0 !important;
  border-radius: 16px;
  background: var(--mjc-fond-clair) !important;
  box-shadow: none !important;
}

:is(#mec_skin_7839, .tax-mec_category .mec-wrap) .mec-search-form > div {
  flex: 1 1 220px;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

:is(#mec_skin_7839, .tax-mec_category .mec-wrap) .mec-search-form .mec-dropdown-search,
:is(#mec_skin_7839, .tax-mec_category .mec-wrap) .mec-search-form .mec-date-search,
:is(#mec_skin_7839, .tax-mec_category .mec-wrap) .mec-search-form .mec-text-input-search {
  display: flex !important;
  align-items: center;
  width: auto !important;
  margin: 0 !important;
  border: 1px solid var(--mjc-filet) !important;
  border-radius: 999px !important;
  background: #fff !important;
  overflow: hidden;
}

/* La liste « Catégorie » ne déborde plus de sa pastille */
:is(#mec_skin_7839, .tax-mec_category .mec-wrap) .mec-search-form .mec-dropdown-wrap {
  display: block !important;
  width: auto !important;
  min-width: 0;
}

:is(#mec_skin_7839, .tax-mec_category .mec-wrap) .mec-search-form .mec-dropdown-search {
  width: 100% !important;
  box-sizing: border-box;
}

:is(#mec_skin_7839, .tax-mec_category .mec-wrap) .mec-search-form i {
  flex: none;
  width: 44px !important;
  height: 44px !important;
  line-height: 44px !important;
  margin: 0 !important;
  border: 0 !important;
  background: none !important;
  color: var(--mjc-rose) !important;
  text-align: center;
}

:is(#mec_skin_7839, .tax-mec_category .mec-wrap) .mec-search-form select,
:is(#mec_skin_7839, .tax-mec_category .mec-wrap) .mec-search-form input[type="search"] {
  flex: 1 1 0;
  min-width: 0;
  width: auto !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 0 8px !important;
  border: 0 !important;
  background-color: transparent !important;
  box-shadow: none !important;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: 15px !important;
  color: var(--mjc-texte) !important;
}

/* 3. Grille : 3 cartes par ligne, sans les colonnes du plugin */
:is(#mec_skin_7839, .tax-mec_category .mec-wrap) .mec-event-grid-clean {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: 40px 24px;
}

/* Les « clearfix » du plugin ne doivent pas occuper une case de la grille */
:is(#mec_skin_7839, .tax-mec_category .mec-wrap) .mec-event-grid-clean::before,
:is(#mec_skin_7839, .tax-mec_category .mec-wrap) .mec-event-grid-clean::after,
:is(#mec_skin_7839, .tax-mec_category .mec-wrap) .mec-event-grid-clean > .row::before,
:is(#mec_skin_7839, .tax-mec_category .mec-wrap) .mec-event-grid-clean > .row::after {
  display: none !important;
  content: none !important;
}

:is(#mec_skin_7839, .tax-mec_category .mec-wrap) .mec-event-grid-clean > .row {
  display: contents !important;
}

:is(#mec_skin_7839, .tax-mec_category .mec-wrap) .mec-event-grid-clean .row > div {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Les colonnes vides de la dernière ligne ne prennent pas de place */
:is(#mec_skin_7839, .tax-mec_category .mec-wrap) .mec-event-grid-clean .row > div:empty {
  display: none !important;
}

/* 4. Carte : image, bandeau, date, titre */
:is(#mec_skin_7839, .tax-mec_category .mec-wrap) .mec-event-article {
  display: flex !important;
  flex-direction: column;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

:is(#mec_skin_7839, .tax-mec_category .mec-wrap) .mec-event-article::before,
:is(#mec_skin_7839, .tax-mec_category .mec-wrap) .mec-event-article::after {
  display: none !important;
}

/* L'en-tête coloré du plugin disparaît : ses éléments sont replacés */
:is(#mec_skin_7839, .tax-mec_category .mec-wrap) .event-grid-t2-head,
:is(#mec_skin_7839, .tax-mec_category .mec-wrap) .event-grid-t2-head .mec-event-detail {
  display: contents !important;
}

/* Dans cet en-tête, on ne garde que le bandeau (pas le lieu) */
:is(#mec_skin_7839, .tax-mec_category .mec-wrap) .event-grid-t2-head .mec-event-detail > *:not(.mec-event-label-captions) {
  display: none !important;
}

/* Image : 3:2, arrondie en haut */
:is(#mec_skin_7839, .tax-mec_category .mec-wrap) .mec-event-image {
  order: 1;
  position: relative;
  width: 100% !important;
  margin: 0 !important;
  border-radius: 14px 14px 0 0;
  overflow: hidden;
  background: var(--mjc-fond-clair);
}

:is(#mec_skin_7839, .tax-mec_category .mec-wrap) .mec-event-article:not(:has(.mec-event-label-captions)) .mec-event-image {
  border-radius: 14px;
}

:is(#mec_skin_7839, .tax-mec_category .mec-wrap) .mec-event-image a {
  display: block;
  border: 0 !important;
}

:is(#mec_skin_7839, .tax-mec_category .mec-wrap) .mec-event-image img {
  display: block;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  transition: transform .6s ease;
}

:is(#mec_skin_7839, .tax-mec_category .mec-wrap) .mec-event-article:hover .mec-event-image img {
  transform: scale(1.03);
}

/* Bandeau coloré du type d'événement, à plat sous l'image */
:is(#mec_skin_7839, .tax-mec_category .mec-wrap) .mec-event-label-captions {
  order: 2;
  position: static !important;
  display: block !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  transform: none !important;
  margin: 0 !important;
  padding: 8px 18px !important;
  border-radius: 0 0 14px 14px !important;
  color: #1a1a1a !important;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  line-height: 1.4 !important;
  text-align: left !important;
  text-transform: uppercase !important;
}

/* Date en petit rose */
:is(#mec_skin_7839, .tax-mec_category .mec-wrap) .mec-event-month {
  order: 3;
  display: block !important;
  margin: 18px 0 0 !important;
  padding: 0 4px !important;
  background: none !important;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: .06em;
  line-height: 1.3 !important;
  color: var(--mjc-rose-fonce) !important;
  text-transform: uppercase;
  font-variant-numeric: lining-nums;
}

:is(#mec_skin_7839, .tax-mec_category .mec-wrap) .mec-event-month span {
  color: inherit !important;
  font: inherit !important;
}

/* Titre */
:is(#mec_skin_7839, .tax-mec_category .mec-wrap) .mec-event-content {
  order: 4;
  margin: 0 !important;
  padding: 6px 4px 0 !important;
  border: 0 !important;
  background: none !important;
  text-align: left !important;
}

:is(#mec_skin_7839, .tax-mec_category .mec-wrap) .mec-event-title {
  margin: 0 !important;
  padding: 0 !important;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

:is(#mec_skin_7839, .tax-mec_category .mec-wrap) .mec-event-title a {
  color: var(--mjc-encre) !important;
  border-bottom: 0 !important;
}

:is(#mec_skin_7839, .tax-mec_category .mec-wrap) .mec-event-title a:hover {
  color: var(--mjc-rose-fonce) !important;
}

:is(#mec_skin_7839, .tax-mec_category .mec-wrap) .mec-event-title .event-color {
  display: none !important;
}

/* Lieu vide, partage et « Voir le détail » : retirés */
:is(#mec_skin_7839, .tax-mec_category .mec-wrap) .mec-grid-event-location,
:is(#mec_skin_7839, .tax-mec_category .mec-wrap) .mec-event-footer {
  display: none !important;
}

/* 5. Tablette et mobile */
@media (max-width: 960px) {
  :is(#mec_skin_7839, .tax-mec_category .mec-wrap) .mec-event-grid-clean {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .page-id-6970 .single-themes-page {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  .page-id-6970 .single-themes-page .content-area {
    padding: 0 !important;
    box-shadow: none !important;
  }
  #post-6970 .entry-content {
    padding: 28px 0 48px !important;
  }
  :is(#mec_skin_7839, .tax-mec_category .mec-wrap) .mec-event-grid-clean {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  :is(#mec_skin_7839, .tax-mec_category .mec-wrap) .mec-event-title {
    font-size: 19px !important;
  }
}


/* ##### 14. SAISON CULTURELLE ##### */

/* =========================================================
   MJC Ronceray – Page « Saison culturelle »
   Un édito agréable à lire + la brochure dans une carte.
   S'appuie sur le style .mjc-infos (infos pratiques + billetterie) :
   à placer APRÈS ces deux blocs dans style.css
   ========================================================= */

/* Boutons sous l'introduction */
.mjc-saison .mjc-saison__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin: 0 0 48px;
}

/* Colonne de lecture : étroite, aérée, alignée à gauche */
.mjc-saison .mjc-saison__edito {
  max-width: 680px;
  margin: 0 auto 48px;
}

.mjc-saison .mjc-saison__edito p {
  margin: 0 0 20px !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  line-height: 1.75 !important;
}

.mjc-saison .mjc-saison__edito p strong {
  font-weight: 700;
  color: var(--mjc-encre);
}

/* Premier paragraphe en chapeau, plus grand */
.mjc-saison .mjc-saison__edito p.mjc-saison__chapo {
  margin-bottom: 28px !important;
  font-size: 20px !important;
  line-height: 1.6 !important;
  color: var(--mjc-encre) !important;
}

/* Phrase forte mise en exergue */
.mjc-saison .mjc-saison__edito p.mjc-saison__exergue {
  margin: 36px 0 !important;
  padding: 4px 0 4px 22px !important;
  border-left: 4px solid var(--mjc-rose);
  font-size: 22px !important;
  font-weight: 800 !important;
  line-height: 1.4 !important;
  color: var(--mjc-rose-fonce) !important;
}

/* Citation d'Edgar Morin */
.mjc-saison .mjc-saison__citation {
  margin: 36px 0 !important;
  padding: 28px 32px !important;
  border: 0 !important;
  border-radius: 18px;
  background: var(--mjc-rose-pale) !important;
  text-align: center;
}

.mjc-saison .mjc-saison__citation p {
  margin: 0 0 10px !important;
  font-size: 20px !important;
  font-style: italic !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  color: var(--mjc-encre) !important;
  text-align: center !important;
}

.mjc-saison .mjc-saison__citation cite {
  font-family: 'Raleway', Arial, sans-serif;
  font-size: 13px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--mjc-rose-fonce);
}

/* Signature */
.mjc-saison .mjc-saison__edito p.mjc-saison__signature {
  margin-top: 28px !important;
  font-weight: 700 !important;
  color: var(--mjc-rose-fonce) !important;
}

/* Carte brochure : texte à gauche, liseuse à droite */
.mjc-saison .mjc-saison__brochure {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
  align-items: center;
  gap: 32px;
}

.mjc-saison .mjc-saison__brochure-texte .mjc-btn {
  margin-top: 8px;
}

.mjc-saison .mjc-saison__liseuse {
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}

.mjc-saison .mjc-saison__liseuse iframe {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  height: auto;
  border: 0;
}

/* Tablette et mobile */
@media (max-width: 860px) {
  .mjc-saison .mjc-saison__brochure {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .mjc-saison .mjc-saison__actions .mjc-btn {
    flex: 1 1 100%;
  }
  .mjc-saison .mjc-saison__edito p {
    font-size: 16px !important;
  }
  .mjc-saison .mjc-saison__edito p.mjc-saison__chapo {
    font-size: 18px !important;
  }
  .mjc-saison .mjc-saison__edito p.mjc-saison__exergue,
  .mjc-saison .mjc-saison__citation p {
    font-size: 19px !important;
  }
  .mjc-saison .mjc-saison__citation {
    padding: 22px 20px !important;
  }
}


/* ##### 15. JEUNE PUBLIC – RENDEZ-VOUS ##### */

/* =========================================================
   MJC Ronceray – Grille de « rendez-vous » (.mjc-rdv)
   Utilisée sur la page En famille / Jeune public.
   S'appuie sur .mjc-infos et .mjc-saison :
   à placer APRÈS le bloc « saison culturelle » dans style.css
   ========================================================= */

.mjc-infos .mjc-rdv {
  margin: 0 0 40px;
}

.mjc-infos h3.mjc-rdv__titre {
  margin: 0 0 20px !important;
  font-size: 24px !important;
  text-align: center !important;
}

.mjc-infos .mjc-rdv__grille {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.mjc-infos .mjc-rdv__carte {
  position: relative;
  padding: 22px 22px 20px;
  border: 1px solid var(--mjc-filet);
  border-radius: 16px;
  background: #fff;
}

/* Petit trait de couleur en haut de chaque carte */
.mjc-infos .mjc-rdv__carte::before {
  content: "";
  display: block;
  width: 32px;
  height: 4px;
  margin-bottom: 14px;
  border-radius: 2px;
  background: var(--mjc-jeune);
}

/* Les rendez-vous cinéma ont un trait rose */
.mjc-infos .mjc-rdv__carte--cinema::before {
  background: var(--mjc-rose);
}

.mjc-infos .mjc-rdv__carte p {
  margin: 0 !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
}

.mjc-infos p.mjc-rdv__nom {
  margin: 0 0 6px !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  color: var(--mjc-encre) !important;
}

.mjc-infos p.mjc-rdv__fin {
  margin: 24px 0 0 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--mjc-rose-fonce) !important;
  text-align: center !important;
}

/* Espace entre la carte brochure et la carte contact */
.mjc-infos .mjc-rdv__contact {
  margin-top: 24px;
}

/* Tablette et mobile */
@media (max-width: 860px) {
  .mjc-infos .mjc-rdv__grille {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .mjc-infos .mjc-rdv__grille {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}


/* ##### 16. JEUNE PUBLIC – PROCHAINS SPECTACLES ##### */

/* =========================================================
   MJC Ronceray – Page En famille : prochains spectacles (MEC, vue Grille)
   Mêmes cartes que la page Agenda. Le CSS vise la grille MEC
   de cette page uniquement, quel que soit le numéro du code court.
   À placer APRÈS le bloc « jeune public » dans style.css
   ========================================================= */

/* Titre de la section */
.mjc-infos h3.mjc-prochains__titre {
  margin: 0 0 8px !important;
  font-size: 24px !important;
  text-align: center !important;
}

.mjc-infos p.mjc-prochains__intro {
  margin: 0 0 24px !important;
  text-align: center !important;
}

/* La grille MEC prend la même largeur que le reste du contenu */
#post-7743 .entry-content > .mec-wrap,
#post-7743 .entry-content > .wp-block-shortcode,
#post-7743 .entry-content > p:has(> .mec-wrap) {
  max-width: 1040px;
  margin: 0 auto 32px !important;
  padding: 0 24px;
  box-sizing: border-box;
}

#post-7743 .mec-skin-grid-container .mec-search-form {
  display: none !important;
}

/* 3. Grille : 3 cartes par ligne, sans les colonnes du plugin */
#post-7743 .mec-skin-grid-container .mec-event-grid-clean {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: 40px 24px;
}

/* Les « clearfix » du plugin ne doivent pas occuper une case de la grille */
#post-7743 .mec-skin-grid-container .mec-event-grid-clean::before,
#post-7743 .mec-skin-grid-container .mec-event-grid-clean::after,
#post-7743 .mec-skin-grid-container .mec-event-grid-clean > .row::before,
#post-7743 .mec-skin-grid-container .mec-event-grid-clean > .row::after {
  display: none !important;
  content: none !important;
}

#post-7743 .mec-skin-grid-container .mec-event-grid-clean > .row {
  display: contents !important;
}

#post-7743 .mec-skin-grid-container .mec-event-grid-clean .row > div {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Les colonnes vides de la dernière ligne ne prennent pas de place */
#post-7743 .mec-skin-grid-container .mec-event-grid-clean .row > div:empty {
  display: none !important;
}

/* 4. Carte : image, bandeau, date, titre */
#post-7743 .mec-skin-grid-container .mec-event-article {
  display: flex !important;
  flex-direction: column;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#post-7743 .mec-skin-grid-container .mec-event-article::before,
#post-7743 .mec-skin-grid-container .mec-event-article::after {
  display: none !important;
}

/* L'en-tête coloré du plugin disparaît : ses éléments sont replacés */
#post-7743 .mec-skin-grid-container .event-grid-t2-head,
#post-7743 .mec-skin-grid-container .event-grid-t2-head .mec-event-detail {
  display: contents !important;
}

/* Dans cet en-tête, on ne garde que le bandeau (pas le lieu) */
#post-7743 .mec-skin-grid-container .event-grid-t2-head .mec-event-detail > *:not(.mec-event-label-captions) {
  display: none !important;
}

/* Image : 3:2, arrondie en haut */
#post-7743 .mec-skin-grid-container .mec-event-image {
  order: 1;
  position: relative;
  width: 100% !important;
  margin: 0 !important;
  border-radius: 14px 14px 0 0;
  overflow: hidden;
  background: var(--mjc-fond-clair);
}

#post-7743 .mec-skin-grid-container .mec-event-image a {
  display: block;
  border: 0 !important;
}

#post-7743 .mec-skin-grid-container .mec-event-image img {
  display: block;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  transition: transform .6s ease;
}

#post-7743 .mec-skin-grid-container .mec-event-article:hover .mec-event-image img {
  transform: scale(1.03);
}

/* Bandeau coloré du type d'événement, à plat sous l'image */
#post-7743 .mec-skin-grid-container .mec-event-label-captions {
  order: 2;
  position: static !important;
  display: block !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  transform: none !important;
  margin: 0 !important;
  padding: 8px 18px !important;
  border-radius: 0 0 14px 14px !important;
  color: #1a1a1a !important;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  line-height: 1.4 !important;
  text-align: left !important;
  text-transform: uppercase !important;
}

/* Date en petit rose */
#post-7743 .mec-skin-grid-container .mec-event-month {
  order: 3;
  display: block !important;
  margin: 18px 0 0 !important;
  padding: 0 4px !important;
  background: none !important;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: .06em;
  line-height: 1.3 !important;
  color: var(--mjc-rose-fonce) !important;
  text-transform: uppercase;
  font-variant-numeric: lining-nums;
}

#post-7743 .mec-skin-grid-container .mec-event-month span {
  color: inherit !important;
  font: inherit !important;
}

/* Titre */
#post-7743 .mec-skin-grid-container .mec-event-content {
  order: 4;
  margin: 0 !important;
  padding: 6px 4px 0 !important;
  border: 0 !important;
  background: none !important;
  text-align: left !important;
}

#post-7743 .mec-skin-grid-container .mec-event-title {
  margin: 0 !important;
  padding: 0 !important;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

#post-7743 .mec-skin-grid-container .mec-event-title a {
  color: var(--mjc-encre) !important;
  border-bottom: 0 !important;
}

#post-7743 .mec-skin-grid-container .mec-event-title a:hover {
  color: var(--mjc-rose-fonce) !important;
}

#post-7743 .mec-skin-grid-container .mec-event-title .event-color {
  display: none !important;
}

/* Lieu vide, partage et « Voir le détail » : retirés */
#post-7743 .mec-skin-grid-container .mec-grid-event-location,
#post-7743 .mec-skin-grid-container .mec-event-footer {
  display: none !important;
}

/* Bouton « Tout l'agenda » sous la grille */
.mjc-infos .mjc-prochains__suite {
  display: flex;
  justify-content: center;
  margin: 0 0 48px;
}

/* Tablette et mobile */
@media (max-width: 960px) {
  #post-7743 .mec-skin-grid-container .mec-event-grid-clean {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  #post-7743 .entry-content > .mec-wrap,
  #post-7743 .entry-content > .wp-block-shortcode,
  #post-7743 .entry-content > p:has(> .mec-wrap) {
    padding: 0;
  }
  #post-7743 .mec-skin-grid-container .mec-event-grid-clean {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}


/* ##### 17. SCÈNE CULTURELLE DE PROXIMITÉ ##### */

/* =========================================================
   MJC Ronceray – Page « Scène culturelle de proximité »
   Chiffres clés + les 3 missions en alternance photo / texte.
   S'appuie sur .mjc-infos (infos pratiques + billetterie) :
   à placer APRÈS ces blocs dans style.css
   ========================================================= */

/* La page récupère la largeur (l'ancien contenu SiteOrigin est remplacé) */
.page-id-13128 .entry-content:has(.mjc-scene) {
  max-width: 1040px;
  margin: 0 auto !important;
  padding: 40px 24px 64px !important;
  box-sizing: border-box;
}

/* WordPress ajoute parfois des paragraphes vides entre les éléments
   d'un bloc HTML : ils cassaient la mise en page photo / texte.
   (Cette règle protège aussi les autres pages en .mjc-infos.) */
.mjc-infos p:empty {
  display: none !important;
}

/* 1. Chiffres clés */
.mjc-infos .mjc-chiffres {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 8px 0 56px;
}

.mjc-infos .mjc-chiffres__item {
  padding: 24px 20px;
  border-radius: 18px;
  background: var(--mjc-rose-pale);
  text-align: center;
}

.mjc-infos p.mjc-chiffres__nombre {
  margin: 0 0 4px !important;
  font-size: clamp(22px, 2.4vw, 30px) !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  color: var(--mjc-rose-fonce) !important;
  text-align: center !important;
}

.mjc-infos p.mjc-chiffres__legende {
  margin: 0 !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
  text-align: center !important;
}

/* 2. Missions : photo et texte côte à côte, en alternance */
.mjc-infos .mjc-missions {
  display: flex;
  flex-direction: column;
  gap: 56px;
  margin: 0 0 56px;
}

.mjc-infos .mjc-mission {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: start;
  gap: 40px;
}

/* Une mission sur deux : photo à droite */
.mjc-infos .mjc-mission:nth-child(even) .mjc-mission__photo {
  order: 2;
}

.mjc-infos .mjc-mission__photo {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 18px;
}

.mjc-infos p.mjc-mission__numero {
  margin: 0 0 6px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--mjc-rose-fonce) !important;
}

.mjc-infos .mjc-mission h3 {
  margin: 0 0 16px !important;
  font-size: clamp(22px, 2.4vw, 28px) !important;
}

.mjc-infos .mjc-mission h3::after {
  content: "";
  display: block;
  width: 36px;
  height: 4px;
  margin-top: 14px;
  background: var(--mjc-rose);
  border-radius: 2px;
}

.mjc-infos .mjc-mission__texte p {
  margin: 0 0 14px !important;
  line-height: 1.7 !important;
}

.mjc-infos p.mjc-mission__lien {
  margin: 20px 0 0 !important;
}

/* 3. Partenaires */
.mjc-infos .mjc-scene__partenaires ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px 24px;
}

/* Tablette et mobile */
@media (max-width: 860px) {
  /* Chiffres : un par ligne, nombre à gauche, légende à droite */
  .mjc-infos .mjc-chiffres {
    grid-template-columns: 1fr;
    gap: 10px;
    margin-bottom: 40px;
  }
  .mjc-infos .mjc-chiffres__item {
    display: flex;
    align-items: baseline;
    gap: 14px;
    padding: 16px 22px;
    text-align: left;
  }
  .mjc-infos p.mjc-chiffres__nombre,
  .mjc-infos p.mjc-chiffres__legende {
    margin: 0 !important;
    text-align: left !important;
  }
  .mjc-infos p.mjc-chiffres__nombre {
    flex: none;
  }
  .mjc-infos .mjc-mission {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .mjc-infos .mjc-mission:nth-child(even) .mjc-mission__photo {
    order: 0;
  }
}

@media (max-width: 640px) {
  .page-id-13128 .entry-content:has(.mjc-scene) {
    padding: 28px 0 48px !important;
  }
  .mjc-infos .mjc-chiffres__item {
    flex-direction: column;
    gap: 2px;
  }
  .mjc-infos .mjc-missions {
    gap: 40px;
  }
  .mjc-infos .mjc-scene__partenaires ul {
    grid-template-columns: 1fr;
  }
  .mjc-infos p.mjc-mission__lien .mjc-btn {
    width: 100%;
    box-sizing: border-box;
  }
}


/* ##### 18. SUPERFORMA ##### */

/* =========================================================
   MJC Ronceray – Page « Superforma »
   Offre adhérents (prix en grand), lieux du réseau, projet.
   S'appuie sur .mjc-infos, .mjc-saison et .mjc-rdv :
   à placer APRÈS les blocs « jeune public » et « scène » dans style.css
   ========================================================= */

/* La page récupère la largeur (l'ancien contenu SiteOrigin est remplacé) */
.page-id-7711 .entry-content:has(.mjc-infos) {
  max-width: 1040px;
  margin: 0 auto !important;
  padding: 40px 24px 64px !important;
  box-sizing: border-box;
}

/* 1. Offre adhérents : prix en grand à gauche, texte à droite */
.mjc-infos .mjc-offre {
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr);
  align-items: center;
  gap: 36px;
  margin: 0 0 56px;
}

.mjc-infos .mjc-offre__prix {
  padding: 28px 16px;
  border-radius: 18px;
  background: var(--mjc-rose);
  text-align: center;
}

.mjc-infos p.mjc-offre__montant {
  margin: 0 !important;
  font-size: 56px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  color: #fff !important;
  text-align: center !important;
  font-variant-numeric: lining-nums;
}

.mjc-infos p.mjc-offre__barre {
  margin: 10px 0 0 !important;
  font-size: 15px !important;
  line-height: 1.3 !important;
  color: rgba(255, 255, 255, .85) !important;
  text-align: center !important;
  text-decoration: line-through;
}

.mjc-infos .mjc-offre__texte h3 {
  margin: 10px 0 12px !important;
}

.mjc-infos .mjc-offre__texte p.mjc-infos__alerte {
  display: inline-block;
  margin: 0 !important;
  padding: 5px 12px;
  font-size: 12px !important;
  line-height: 1.4 !important;
  color: #fff !important;
}

/* Numéro de téléphone sur une seule ligne */
.mjc-infos .mjc-infos__contact a {
  white-space: nowrap;
}

/* 2. Lieux du réseau */
.mjc-infos .mjc-lieux {
  margin-bottom: 56px;
}

.mjc-infos p.mjc-lieux__intro {
  max-width: 640px;
  margin: -6px auto 24px !important;
  text-align: center !important;
  color: var(--mjc-gris) !important;
}

/* L'Alambik! sur toute la largeur, les 3 autres lieux en dessous */
.mjc-infos .mjc-lieux__grille {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mjc-infos a.mjc-lieux__carte {
  display: block;
  text-decoration: none !important;
  border-bottom: 1px solid var(--mjc-filet) !important;
  color: inherit !important;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.mjc-infos a.mjc-lieux__carte::before {
  background: var(--mjc-rose);
}

.mjc-infos a.mjc-lieux__carte:hover,
.mjc-infos a.mjc-lieux__carte:focus-visible {
  transform: translateY(-3px);
  border-color: var(--mjc-rose) !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, .08);
}

/* Petite flèche après le nom du lieu */
.mjc-infos .mjc-lieux__carte .mjc-rdv__nom::after {
  content: " →";
  color: var(--mjc-rose);
  transition: margin-left .2s ease;
}

.mjc-infos .mjc-lieux__carte--alambik {
  grid-column: 1 / -1;
  padding: 28px 30px 24px !important;
  border-color: transparent !important;
  background: var(--mjc-rose-pale) !important;
}

.mjc-infos .mjc-lieux__carte--alambik p.mjc-rdv__nom {
  font-size: 22px !important;
}

.mjc-infos .mjc-lieux__carte--alambik p:not(.mjc-rdv__nom):not(.mjc-lieux__etiquette) {
  max-width: 720px;
  font-size: 16px !important;
  line-height: 1.6 !important;
}

.mjc-infos p.mjc-lieux__etiquette {
  display: inline-block;
  margin: 14px 0 0 !important;
  padding: 5px 12px;
  border-radius: 999px;
  background: #fff;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--mjc-rose-fonce) !important;
}

/* 3. Le projet */
.mjc-infos .mjc-superforma__projet h3 {
  margin: 0 0 18px !important;
  font-size: 24px !important;
  text-align: center !important;
}

/* 4. Vous jouez de la musique ? */
.mjc-infos .mjc-musiciens {
  margin-bottom: 24px;
}

.mjc-infos .mjc-musiciens a {
  font-weight: 700;
  color: var(--mjc-rose-fonce) !important;
  text-decoration: none !important;
  border-bottom: 1px solid currentColor !important;
}

.mjc-infos .mjc-musiciens a:hover {
  color: var(--mjc-rose) !important;
}

/* Tablette et mobile */
@media (max-width: 860px) {
  .mjc-infos .mjc-offre {
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .mjc-infos .mjc-offre__prix {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 14px;
    padding: 20px 16px;
  }
  .mjc-infos p.mjc-offre__barre {
    margin: 0 !important;
  }
  .mjc-infos .mjc-lieux__grille {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .page-id-7711 .entry-content:has(.mjc-infos) {
    padding: 28px 0 48px !important;
  }
  .mjc-infos p.mjc-offre__montant {
    font-size: 44px !important;
  }
  .mjc-infos .mjc-lieux__grille {
    grid-template-columns: 1fr;
  }
  /* Axes du projet : 2 colonnes pour limiter la hauteur */
  .mjc-infos .mjc-rdv:not(.mjc-lieux) .mjc-rdv__grille {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  .mjc-infos .mjc-rdv:not(.mjc-lieux) .mjc-rdv__carte {
    padding: 16px 14px 14px;
  }
  .mjc-infos .mjc-rdv:not(.mjc-lieux) .mjc-rdv__carte p {
    font-size: 14px !important;
  }
  .mjc-infos .mjc-lieux__carte--alambik {
    padding: 22px 22px 20px !important;
  }
}


/* ##### 19. INFO PRATIK! ##### */

/* =========================================================
   MJC Ronceray – Page « Info Pratik! » (L'Alambik!)
   Jauges, galerie photo, infos pratiques.
   S'appuie sur .mjc-infos, .mjc-saison et .mjc-chiffres :
   à placer APRÈS le bloc « Superforma » dans style.css
   ========================================================= */

/* La page récupère la largeur (l'ancien contenu SiteOrigin est remplacé) */
.entry-content:has(.mjc-alambik) {
  max-width: 1040px;
  margin: 0 auto !important;
  padding: 40px 24px 64px !important;
  box-sizing: border-box;
}

/* Galerie : une grande photo + cinq petites (remplace le diaporama) */
.mjc-infos .mjc-alambik__galerie {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: 170px;
  gap: 10px;
  margin: 0 0 48px;
}

.mjc-infos .mjc-alambik__galerie img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 14px;
}

.mjc-infos .mjc-alambik__galerie img:first-child {
  grid-column: span 2;
  grid-row: span 2;
}

/* Jauges collées à la galerie */
.mjc-alambik .mjc-chiffres {
  margin-bottom: 24px;
}

/* Sous-titres dans les cartes : un peu d'air au-dessus */
.mjc-alambik .mjc-infos__carte h3.mjc-infos__sous-titre {
  margin-top: 26px !important;
}

/* Lien vers le studio d'enregistrement */
.mjc-alambik .mjc-infos__puces a {
  color: var(--mjc-rose-fonce) !important;
  text-decoration: none !important;
  border-bottom: 1px solid currentColor;
}

/* Carte contact détachée des deux cartes du dessus */
.mjc-alambik .mjc-infos__carte--contact {
  margin-top: 24px;
}

/* L'édito juste avant les cartes : moins d'espace */
.mjc-alambik .mjc-saison__edito {
  margin-bottom: 40px;
}

/* Liens rapides en bas de page : bien espacés */
.mjc-infos .mjc-alambik__liens {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px 18px;
  margin: 40px 0 0;
}

.mjc-infos .mjc-alambik__liens .mjc-btn {
  margin: 0 !important;
  min-width: 180px;
  padding-left: 28px;
  padding-right: 28px;
  text-align: center;
  box-sizing: border-box;
}

/* Tablette et mobile */
@media (max-width: 860px) {
  .mjc-infos .mjc-alambik__galerie {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 130px;
  }
  /* La dernière photo prend toute la largeur pour ne pas laisser de trou */
  .mjc-infos .mjc-alambik__galerie img:last-child {
    grid-column: span 2;
  }
}

@media (max-width: 640px) {
  .entry-content:has(.mjc-alambik) {
    padding: 28px 0 48px !important;
  }
  .mjc-infos .mjc-alambik__galerie {
    grid-auto-rows: 110px;
    gap: 8px;
    margin-bottom: 36px;
  }
  .mjc-infos .mjc-alambik__galerie img {
    border-radius: 10px;
  }
  /* Sur mobile : un bouton par ligne, pleine largeur */
  .mjc-infos .mjc-alambik__liens {
    flex-direction: column;
    gap: 10px;
    margin-top: 32px;
  }
  .mjc-infos .mjc-alambik__liens .mjc-btn {
    width: 100%;
    min-width: 0;
  }
}


/* ##### 20. MODE D'EMPLOI ##### */

/* =========================================================
   MJC Ronceray – Page « Mode d'emploi » (tarifs, inscriptions)
   S'appuie sur .mjc-infos, .mjc-saison, .mjc-rdv et .mjc-chiffres :
   à placer APRÈS le bloc « Info Pratik! » dans style.css
   ========================================================= */

/* La page récupère la largeur (l'ancien contenu est remplacé) */
.entry-content:has(.mjc-mode) {
  max-width: 1040px;
  margin: 0 auto !important;
  padding: 40px 24px 64px !important;
  box-sizing: border-box;
}

/* Espacement régulier entre les blocs */
.mjc-mode > :is(.mjc-infos__grille, .mjc-infos__carte, figure, .mjc-mode__bloc),
.mjc-mode > .wp-block-group__inner-container > :is(.mjc-infos__grille, .mjc-infos__carte, figure, .mjc-mode__bloc) {
  margin-top: 0;
  margin-bottom: 24px;
}

.mjc-mode .mjc-infos__carte h3.mjc-infos__sous-titre {
  margin-top: 26px !important;
}

/* Liens dans les listes à puces */
.mjc-mode .mjc-infos__puces a {
  color: var(--mjc-rose-fonce) !important;
  text-decoration: none !important;
  border-bottom: 1px solid currentColor;
}

/* Grille des tarifs (image) */
.mjc-infos figure.mjc-mode__grille-tarifs {
  margin: 0 0 40px !important;
  padding: 0;
  text-align: center;
}

.mjc-infos .mjc-mode__grille-tarifs img {
  display: block;
  width: 100%;
  max-width: 768px;
  height: auto;
  margin: 0 auto;
  border-radius: 16px;
}

/* Moyens de paiement en pastilles */
.mjc-infos ul.mjc-mode__moyens {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.mjc-infos ul.mjc-mode__moyens li {
  margin: 0 !important;
  padding: 7px 14px !important;
  border-radius: 999px;
  background: var(--mjc-rose-pale);
  font-size: 14px !important;
  font-weight: 600;
  line-height: 1.3 !important;
  color: var(--mjc-encre);
  list-style: none !important;
}

.mjc-infos ul.mjc-mode__moyens li::before {
  display: none !important;
}

/* Réductions : 4 encadrés */
.mjc-mode .mjc-mode__bloc {
  margin-top: 40px !important;
}

.mjc-infos .mjc-mode__reductions {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 14px;
}

.mjc-infos .mjc-mode__reductions .mjc-chiffres__item {
  padding: 22px 16px;
}

.mjc-infos p.mjc-mode__precision {
  margin: 0 !important;
  font-size: 14px !important;
  color: var(--mjc-gris) !important;
  text-align: center !important;
}

/* Mention RGPD discrète */
.mjc-infos p.mjc-mode__rgpd {
  max-width: 760px;
  margin: 32px auto 0 !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
  color: var(--mjc-gris) !important;
  text-align: center !important;
}

/* Tablette et mobile */
@media (max-width: 860px) {
  .mjc-infos .mjc-mode__reductions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  /* On garde les encadrés centrés (pas la version en ligne de la page Scène) */
  .mjc-infos .mjc-mode__reductions .mjc-chiffres__item {
    display: block;
    text-align: center;
  }
  .mjc-infos .mjc-mode__reductions p.mjc-chiffres__nombre,
  .mjc-infos .mjc-mode__reductions p.mjc-chiffres__legende {
    text-align: center !important;
  }
  .mjc-infos .mjc-mode__reductions p.mjc-chiffres__nombre {
    margin-bottom: 4px !important;
  }
}

@media (max-width: 640px) {
  .entry-content:has(.mjc-mode) {
    padding: 28px 0 48px !important;
  }
  .mjc-infos .mjc-mode__reductions {
    gap: 10px;
  }
  .mjc-infos .mjc-mode__reductions .mjc-chiffres__item {
    padding: 16px 12px;
  }
  .mjc-infos .mjc-mode__reductions p.mjc-chiffres__legende {
    font-size: 13px !important;
  }
}


/* ##### 21. L'ÉQUIPE ##### */

/* =========================================================
   MJC Ronceray – Page « L'équipe »
   Équipe permanente, bureau et CA, intervenants des ateliers.
   S'appuie sur .mjc-infos, .mjc-saison et .mjc-rdv :
   à placer APRÈS le bloc « Mode d'emploi » dans style.css
   ========================================================= */

.entry-content:has(.mjc-equipe) {
  max-width: 1040px;
  margin: 0 auto !important;
  padding: 40px 24px 64px !important;
  box-sizing: border-box;
}

/* Sections : ancrage sous le menu fixe + espacement */
.mjc-equipe .mjc-equipe__section {
  margin: 0 0 56px;
  scroll-margin-top: 120px;
}

/* Cartes « rôle + nom » */
.mjc-infos .mjc-equipe__grille {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.mjc-infos .mjc-equipe__carte {
  padding: 20px 22px;
  border: 1px solid var(--mjc-filet);
  border-left: 4px solid var(--mjc-rose);
  border-radius: 14px;
  background: #fff;
}

.mjc-infos p.mjc-equipe__role {
  margin: 0 0 6px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--mjc-rose-fonce) !important;
}

.mjc-infos p.mjc-equipe__nom {
  margin: 0 !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  color: var(--mjc-encre) !important;
}

.mjc-infos p.mjc-equipe__note {
  margin: 14px 0 24px !important;
  font-size: 14px !important;
  font-style: italic;
  color: var(--mjc-gris) !important;
  text-align: center !important;
}

/* Bureau : les 5 rôles sur une ligne */
.mjc-infos .mjc-equipe__grille--bureau {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.mjc-infos .mjc-equipe__grille--bureau .mjc-equipe__carte {
  padding: 18px 16px;
}

.mjc-infos .mjc-equipe__grille--bureau p.mjc-equipe__nom {
  font-size: 15px !important;
}

/* Dernière section : moins d'espace avant la carte contact */
.mjc-equipe #equipe-ateliers {
  margin-bottom: 20px;
}

/* Bénévoles : prénoms en pastilles */
.mjc-infos ul.mjc-equipe__pastilles {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 14px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.mjc-infos ul.mjc-equipe__pastilles li {
  margin: 0 !important;
  padding: 6px 14px !important;
  border-radius: 999px;
  background: #fff;
  font-size: 14px !important;
  font-weight: 600;
  line-height: 1.3 !important;
  color: var(--mjc-encre);
  list-style: none !important;
}

.mjc-infos ul.mjc-equipe__pastilles li::before {
  display: none !important;
}

/* Conseil d'administration : noms sur 3 colonnes */
.mjc-infos .mjc-equipe__ca {
  margin-top: 16px;
}

.mjc-infos ul.mjc-equipe__noms {
  columns: 3;
  column-gap: 32px;
  margin: 8px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.mjc-infos ul.mjc-equipe__noms li {
  break-inside: avoid;
  margin: 0 !important;
  padding: 7px 0 !important;
  border-bottom: 1px solid var(--mjc-filet);
  font-size: 15px !important;
  font-weight: 600;
  line-height: 1.4 !important;
  color: var(--mjc-encre);
  list-style: none !important;
}

.mjc-infos ul.mjc-equipe__noms li::before {
  display: none !important;
}

.mjc-infos ul.mjc-equipe__noms small,
.mjc-infos ul.mjc-equipe__noms em {
  display: block;
  font-size: 13px;
  font-style: normal;
  font-weight: 400;
  color: var(--mjc-gris);
}

/* Intervenants : une carte par discipline, en colonnes */
.mjc-infos .mjc-equipe__ateliers {
  columns: 2;
  column-gap: 20px;
}

.mjc-infos .mjc-equipe__discipline {
  display: inline-block;
  width: 100%;
  margin: 0 0 20px !important;
  box-sizing: border-box;
  break-inside: avoid;
}

.mjc-infos .mjc-equipe__discipline h3 {
  margin: 0 0 8px !important;
}

.mjc-infos ul.mjc-equipe__liste {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.mjc-infos ul.mjc-equipe__liste li {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
  margin: 0 !important;
  padding: 9px 0 !important;
  border-bottom: 1px solid var(--mjc-filet);
  font-size: 15px !important;
  line-height: 1.4 !important;
  color: var(--mjc-texte);
  list-style: none !important;
}

.mjc-infos ul.mjc-equipe__liste li:last-child {
  border-bottom: 0;
}

.mjc-infos ul.mjc-equipe__liste li::before {
  display: none !important;
}

.mjc-infos ul.mjc-equipe__liste strong {
  flex: none;
  max-width: 55%;
  font-weight: 700;
  color: var(--mjc-encre);
  text-align: right;
}

/* Tablette et mobile */
@media (max-width: 1000px) {
  .mjc-infos .mjc-equipe__grille--bureau {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 860px) {
  .mjc-infos .mjc-equipe__grille,
  .mjc-infos .mjc-equipe__grille--bureau {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .mjc-infos ul.mjc-equipe__noms {
    columns: 2;
  }
  .mjc-infos .mjc-equipe__ateliers {
    columns: 1;
  }
}

@media (max-width: 640px) {
  .entry-content:has(.mjc-equipe) {
    padding: 28px 0 48px !important;
  }
  .mjc-equipe .mjc-equipe__section {
    margin-bottom: 40px;
  }
  .mjc-infos .mjc-equipe__grille,
  .mjc-infos .mjc-equipe__grille--bureau {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .mjc-infos .mjc-equipe__carte {
    padding: 14px 18px;
  }
  .mjc-infos ul.mjc-equipe__noms {
    columns: 1;
  }
  /* Activité au-dessus, intervenant en dessous */
  .mjc-infos ul.mjc-equipe__liste li {
    display: block;
  }
  .mjc-infos ul.mjc-equipe__liste li {
    font-size: 14px !important;
    color: var(--mjc-gris);
  }
  .mjc-infos ul.mjc-equipe__liste strong {
    display: block;
    max-width: none;
    font-size: 15px;
    text-align: left;
  }
}


/* ##### 22. EXPOSITIONS ##### */

/* =========================================================
   MJC Ronceray – Page « Expositions » (code court MEC 8258, vue Liste)
   Chaque exposition devient une carte : visuel carré à gauche,
   dates en rose, titre, texte de présentation, lien « Voir l'exposition ».
   À placer APRÈS le bloc « L'équipe » (avant « Compatibilité blocs »)
   ========================================================= */

/* 1. Largeur de la page, comme les autres pages */
#post-8259 .entry-content {
  max-width: 1040px;
  margin: 0 auto !important;
  padding: 40px 24px 64px !important;
  box-sizing: border-box;
}

/* Ancien titre en majuscules (si on garde l'ancien contenu) */
#post-8259 .entry-content > h2:first-child {
  margin: 0 0 32px !important;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: clamp(24px, 3vw, 32px) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  color: var(--mjc-encre) !important;
  text-align: center !important;
}

/* Nouvelle introduction : un peu moins d'espace avant la liste */
#post-8259 .mjc-expos__intro {
  margin-bottom: 8px;
}

/* 2. Filtre mois / année : inutile pour quelques expositions */
#mec_skin_8258 .mec-search-form {
  display: none !important;
}

/* 3. Séparateurs de mois : discrets */
#mec_skin_8258 .mec-month-divider {
  margin: 48px 0 20px !important;
  padding: 0 !important;
  border: 0 !important;
  text-align: left !important;
}

#mec_skin_8258 .mec-month-divider:first-child {
  margin-top: 8px !important;
}

#mec_skin_8258 .mec-month-divider span {
  display: inline-block;
  padding: 0 !important;
  background: none !important;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  color: var(--mjc-rose-fonce) !important;
  text-transform: uppercase;
}

#mec_skin_8258 .mec-month-divider span::before,
#mec_skin_8258 .mec-month-divider::before,
#mec_skin_8258 .mec-month-divider::after,
#mec_skin_8258 .mec-month-divider i {
  display: none !important;
}

/* 4. La carte d'une exposition */
#mec_skin_8258 .mec-event-article {
  display: grid !important;
  grid-template-columns: 260px minmax(0, 1fr);
  grid-template-rows: auto auto 1fr;
  column-gap: 32px;
  margin: 0 0 24px !important;
  padding: 0 !important;
  border: 1px solid var(--mjc-filet) !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: none !important;
  overflow: hidden;
  transition: box-shadow .2s ease, border-color .2s ease;
}

#mec_skin_8258 .mec-event-article:hover {
  border-color: var(--mjc-rose) !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, .07) !important;
}

#mec_skin_8258 .mec-event-article::before,
#mec_skin_8258 .mec-event-article::after {
  display: none !important;
}

/* Les colonnes du plugin disparaissent : on replace leurs éléments */
#mec_skin_8258 .mec-topsec {
  display: contents !important;
}

#mec_skin_8258 .mec-topsec > div {
  display: block !important;
  float: none !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: none !important;
}

/* Visuel carré, sur toute la hauteur de la carte */
#mec_skin_8258 .mec-event-image-wrap {
  grid-column: 1;
  grid-row: 1 / -1;
  align-self: stretch;
  padding: 0 !important;
}

#mec_skin_8258 .mec-event-image,
#mec_skin_8258 .mec-event-image a {
  display: block;
  height: 100%;
  margin: 0 !important;
  border: 0 !important;
}

#mec_skin_8258 .mec-event-image img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  min-height: 260px;
  object-fit: cover;
  border-radius: 0 !important;
  transition: transform .6s ease;
}

#mec_skin_8258 .mec-event-article:hover .mec-event-image img {
  transform: scale(1.03);
}

/* Dates en haut, en rose */
#mec_skin_8258 .mec-event-meta-wrap {
  grid-column: 2;
  grid-row: 1;
  padding: 28px 28px 0 0 !important;
  text-align: left !important;
}

#mec_skin_8258 .mec-event-meta {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

#mec_skin_8258 .mec-date-details {
  margin: 0 !important;
  padding: 0 !important;
}

#mec_skin_8258 .mec-date-details svg,
#mec_skin_8258 .mec-date-details i {
  display: none !important;
}

#mec_skin_8258 .mec-date-details span {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  line-height: 1.4 !important;
  color: var(--mjc-rose-fonce) !important;
  text-transform: uppercase;
  font-variant-numeric: lining-nums;
}

/* Horaire (toujours 18 h – 18 h), lieu (toujours la MJC)
   et bandeau « Expositions » en biais : inutiles ici */
#mec_skin_8258 .mec-time-details,
#mec_skin_8258 .mec-venue-details,
#mec_skin_8258 .mec-address,
#mec_skin_8258 .mec-event-meta > *:not(.mec-date-details),
#mec_skin_8258 .mec-event-label-captions {
  display: none !important;
}

/* Titre et texte */
#mec_skin_8258 .mec-event-content-wrap {
  grid-column: 2;
  grid-row: 2;
  padding: 0 28px 0 0 !important;
}

#mec_skin_8258 .mec-event-content {
  margin: 0 !important;
  padding: 0 !important;
}

#mec_skin_8258 .mec-event-title {
  margin: 8px 0 12px !important;
  padding: 0 !important;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: clamp(20px, 2.2vw, 26px) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
}

#mec_skin_8258 .mec-event-title a {
  font-family: 'Raleway', Arial, sans-serif !important;
  font-weight: 800 !important;
  color: var(--mjc-encre) !important;
  border: 0 !important;
}

#mec_skin_8258 .mec-event-title a:hover {
  color: var(--mjc-rose-fonce) !important;
}

#mec_skin_8258 .mec-event-title .event-color {
  display: none !important;
}

#mec_skin_8258 .mec-event-description {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
  margin: 0 !important;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
  color: var(--mjc-texte) !important;
}

#mec_skin_8258 .mec-event-description .more-link {
  display: none !important;
}

/* Pied de carte : on garde seulement le bouton, sans le partage */
#mec_skin_8258 .mec-event-footer {
  grid-column: 2;
  grid-row: 3;
  align-self: end;
  display: flex !important;
  justify-content: flex-start;
  height: auto !important;
  margin: 0 !important;
  padding: 18px 28px 26px 0 !important;
  border: 0 !important;
  background: none !important;
}

#mec_skin_8258 .mec-event-sharing-wrap {
  display: none !important;
}

#mec_skin_8258 .mec-booking-button {
  position: static !important;
  display: inline-flex !important;
  align-items: center;
  margin: 0 !important;
  padding: 10px 22px !important;
  border: 2px solid var(--mjc-rose) !important;
  border-radius: 999px !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--mjc-rose-fonce) !important;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  line-height: 1.3 !important;
  text-transform: uppercase !important;
  transition: background .2s, color .2s;
}

#mec_skin_8258 .mec-booking-button:hover {
  background: var(--mjc-rose) !important;
  color: #fff !important;
}

/* « Voir le détail » devient « Voir l'exposition » */
#mec_skin_8258 .mec-booking-button {
  font-size: 0 !important;
}

#mec_skin_8258 .mec-booking-button::after {
  content: "Voir l'exposition";
  font-size: 12px;
}

/* 5. Tablette et mobile */
@media (max-width: 760px) {
  #mec_skin_8258 .mec-event-article {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }
  /* Ordre sur mobile : visuel, dates, titre et texte, bouton */
  #mec_skin_8258 .mec-event-image-wrap,
  #mec_skin_8258 .mec-event-meta-wrap,
  #mec_skin_8258 .mec-event-content-wrap,
  #mec_skin_8258 .mec-event-footer {
    grid-column: 1;
  }
  #mec_skin_8258 .mec-event-image-wrap { grid-row: 1; }
  #mec_skin_8258 .mec-event-meta-wrap { grid-row: 2; }
  #mec_skin_8258 .mec-event-content-wrap { grid-row: 3; }
  #mec_skin_8258 .mec-event-footer { grid-row: 4; }
  #mec_skin_8258 .mec-event-image img {
    min-height: 0;
    height: auto !important;
    aspect-ratio: 3 / 2;
  }
  #mec_skin_8258 .mec-event-meta-wrap {
    padding: 22px 22px 0 !important;
  }
  #mec_skin_8258 .mec-event-content-wrap {
    padding: 0 22px !important;
  }
  #mec_skin_8258 .mec-event-footer {
    padding: 16px 22px 22px !important;
  }
}

@media (max-width: 640px) {
  .page-id-8259 .single-themes-page {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  .page-id-8259 .single-themes-page .content-area {
    padding: 0 !important;
    box-shadow: none !important;
  }
  #post-8259 .entry-content {
    padding: 28px 0 48px !important;
  }
  #mec_skin_8258 .mec-booking-button {
    width: 100%;
    justify-content: center;
    box-sizing: border-box;
  }
}


/* ##### 23. HORAIRES ##### */

/* =========================================================
   MJC Ronceray – Page « Horaires »
   Jours et heures dans une carte rose, soirs de spectacle,
   Médiathèque, coordonnées. S'appuie sur .mjc-infos.
   À placer APRÈS « Expositions » (avant « Compatibilité blocs »)
   ========================================================= */

/* Horaires alignés à droite, sur deux lignes le mercredi et le samedi */
.mjc-infos .mjc-horaires__semaine strong {
  font-size: 17px !important;
  line-height: 1.35;
  text-align: right;
  white-space: nowrap;
  font-variant-numeric: lining-nums tabular-nums;
}

.mjc-infos .mjc-horaires__semaine li > span,
.mjc-infos .mjc-horaires__semaine li {
  font-weight: 600;
  color: var(--mjc-encre);
}

.mjc-horaires .mjc-infos__carte--tarifs .mjc-infos__note {
  margin-top: 16px !important;
  background: #fff;
}

/* Carte coordonnées détachée de la grille */
.mjc-horaires .mjc-horaires__contact {
  margin-top: 24px;
}

@media (max-width: 640px) {
  .mjc-infos .mjc-horaires__semaine strong {
    font-size: 16px !important;
  }
}


/* ##### 24. LES ATELIERS ##### */

/* =========================================================
   MJC Ronceray – Page « Les ateliers » (modèle « Basic page »)
   Six cartes illustrées, chacune mène à sa discipline.
   À placer APRÈS « Horaires » (avant « Compatibilité blocs »)
   ========================================================= */

.mjc-infos .mjc-ateliers__grille {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin: 0 0 32px;
}

/* Toute la carte est cliquable (le lien du bas s'étend sur la carte) */
.mjc-infos .mjc-ateliers__carte {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 24px 24px 22px;
  border: 1px solid var(--mjc-filet);
  border-radius: 18px;
  background: #fff;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.mjc-infos .mjc-ateliers__carte:hover,
.mjc-infos .mjc-ateliers__carte:focus-within {
  transform: translateY(-4px);
  border-color: var(--mjc-rose);
  box-shadow: 0 14px 30px rgba(0, 0, 0, .08);
}

/* Illustration (elle contient déjà le nom de la discipline) */
.mjc-infos .mjc-ateliers__visuel,
.mjc-infos .mjc-ateliers__visuel img {
  display: block;
  width: auto !important;
  max-width: 100%;
  height: 200px !important;
  margin: 0 auto 16px !important;
  object-fit: contain;
}

.mjc-infos figure.mjc-ateliers__visuel {
  height: auto !important;
  overflow: visible;
}

.mjc-infos p.mjc-ateliers__activites {
  flex: 1;
  margin: 0 0 16px !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  text-align: center !important;
}

.mjc-infos p.mjc-ateliers__lien {
  margin: 0 !important;
  text-align: center !important;
}

.mjc-infos .mjc-ateliers__lien a {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--mjc-rose-fonce) !important;
  text-decoration: none !important;
  border: 0 !important;
}

.mjc-infos .mjc-ateliers__lien a::after {
  content: " →";
}

/* Le lien couvre toute la carte */
.mjc-infos .mjc-ateliers__lien a::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 18px;
}

.mjc-ateliers .mjc-ateliers__contact {
  margin-top: 8px;
}

/* Tablette et mobile */
@media (max-width: 860px) {
  .mjc-infos .mjc-ateliers__grille {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }
}

@media (max-width: 520px) {
  .mjc-infos .mjc-ateliers__grille {
    grid-template-columns: 1fr;
  }
  .mjc-infos .mjc-ateliers__carte {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    column-gap: 16px;
    align-items: center;
    padding: 16px;
    text-align: left;
  }
  .mjc-infos .mjc-ateliers__visuel,
  .mjc-infos .mjc-ateliers__visuel img {
    grid-row: 1 / span 2;
    height: 120px !important;
    margin: 0 !important;
  }
  .mjc-infos p.mjc-ateliers__activites,
  .mjc-infos p.mjc-ateliers__lien {
    text-align: left !important;
  }
  .mjc-infos p.mjc-ateliers__activites {
    margin-bottom: 8px !important;
    font-size: 14px !important;
  }
}

/* Bandeau « Activités 26/27 » : c'est du texte, on l'affiche toujours en entier */
.page-id-7245 .aboutpage .cd-fixed-bg-one {
  height: auto !important;
  aspect-ratio: 2560 / 478;
  background-size: contain !important;
  background-position: center !important;
}


/* ##### 25. DISCIPLINES ET ACTIVITÉS ##### */

/* =========================================================
   MJC Ronceray – Pages des disciplines et des activités
   (Musique, Forme, Théâtre, Danse, Création, Loisirs
    + toutes leurs pages d'activité, ex. « Éveil musical »)
   Rien à changer dans les pages : la mise en forme s'applique
   automatiquement, y compris aux futures activités.
   ========================================================= */

/* ---------------------------------------------------------
   A. PAGES DISCIPLINE (modèle « Projects page »)
   --------------------------------------------------------- */

/* Bandeau : l'illustration (verticale) est affichée en entier */
.page-template-projects-page .aboutpage .cd-fixed-bg-one {
  height: 240px !important;
  background-color: #fff !important;
  background-size: contain !important;
  background-position: center !important;
}

/* Grille des activités */
.page-template-projects-page .child-pages {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  max-width: 1100px;
  margin: 0 auto !important;
  padding: 32px 24px 72px !important;
  box-sizing: border-box;
}

.page-template-projects-page .child-pages::before,
.page-template-projects-page .child-pages::after {
  display: none !important;
}

.page-template-projects-page .child-pages > div {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* La carte : photo, nom, lien ; toute la carte est cliquable */
.page-template-projects-page .child-pages article {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  margin: 0 !important;
  border: 1px solid var(--mjc-filet);
  border-radius: 18px;
  background: #fff;
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.page-template-projects-page .child-pages article:hover,
.page-template-projects-page .child-pages article:focus-within {
  transform: translateY(-4px);
  border-color: var(--mjc-rose);
  box-shadow: 0 14px 30px rgba(0, 0, 0, .08);
}

.page-template-projects-page .child-pages .post-thumbnail {
  margin: 0 !important;
  overflow: hidden;
}

.page-template-projects-page .child-pages .post-thumbnail a {
  display: block;
  border: 0 !important;
}

.page-template-projects-page .child-pages .post-thumbnail img {
  display: block;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 7;
  object-fit: cover;
  filter: grayscale(1);
  transition: transform .6s ease, filter .4s ease;
}

/* Au survol de la carte : la photo passe en couleur et grossit légèrement */
.page-template-projects-page .child-pages article:hover .post-thumbnail img,
.page-template-projects-page .child-pages article:focus-within .post-thumbnail img {
  filter: grayscale(0) !important;
  transform: scale(1.04);
}

.page-template-projects-page .child-pages .entry-content {
  display: flex;
  flex-direction: column;
  flex: 1;
  margin: 0 !important;
  padding: 18px 22px 20px !important;
  text-align: left !important;
}

.page-template-projects-page .child-pages .entry-title {
  margin: 0 0 10px !important;
  padding: 0 !important;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  letter-spacing: .02em !important;
  text-align: left !important;
}

.page-template-projects-page .child-pages .entry-title a {
  font-family: 'Raleway', Arial, sans-serif !important;
  font-weight: 800 !important;
  color: var(--mjc-encre) !important;
  border: 0 !important;
  text-decoration: none !important;
}

/* Le lien du titre s'étend sur toute la carte */
.page-template-projects-page .child-pages .entry-title a::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}

.page-template-projects-page .child-pages hr.short {
  display: none !important;
}

/* « plus d'infos » devient un petit lien rose en bas de carte */
.page-template-projects-page .child-pages .entry-content > h3 {
  margin: auto 0 0 !important;
  padding: 0 !important;
  font-size: 0 !important;
  line-height: 1 !important;
}

.page-template-projects-page .child-pages .more-link {
  display: inline-block !important;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: 0 !important;
  border: 0 !important;
  text-decoration: none !important;
}

.page-template-projects-page .child-pages .more-link::after {
  content: "En savoir plus →";
  font-family: 'Raleway', Arial, sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--mjc-rose-fonce);
}

.page-template-projects-page .child-pages .edit-link {
  position: relative;
  z-index: 2;
  margin-top: 8px;
}

@media (max-width: 960px) {
  .page-template-projects-page .child-pages {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }
}

@media (max-width: 560px) {
  .page-template-projects-page .aboutpage .cd-fixed-bg-one {
    height: 180px !important;
  }
  .page-template-projects-page .child-pages {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 20px 16px 48px !important;
  }
}

/* ---------------------------------------------------------
   B. PAGES ACTIVITÉ (enfants des 6 disciplines)
   Structure de chaque page : titre, public, intervenant,
   présentation, puis un encadré « horaires et tarif ».
   --------------------------------------------------------- */

:is(.parent-pageid-6940, .parent-pageid-7309, .parent-pageid-7137,
    .parent-pageid-7156, .parent-pageid-7366, .parent-pageid-7466) #primary .entry-content {
  max-width: 760px;
  margin: 0 auto !important;
  padding: 44px 24px 64px !important;
  box-sizing: border-box;
  font-family: 'Raleway', Arial, sans-serif !important;
  color: var(--mjc-texte);
  font-variant-numeric: lining-nums;
}

:is(.parent-pageid-6940, .parent-pageid-7309, .parent-pageid-7137,
    .parent-pageid-7156, .parent-pageid-7366, .parent-pageid-7466) #primary .entry-content * {
  font-family: 'Raleway', Arial, sans-serif !important;
  font-style: normal !important;
}

/* Paragraphes vides laissés par l'éditeur
   (un paragraphe qui ne contient qu'un retour à la ligne peut aussi
   contenir du texte : on ne le masque donc pas) */
:is(.parent-pageid-6940, .parent-pageid-7309, .parent-pageid-7137,
    .parent-pageid-7156, .parent-pageid-7366, .parent-pageid-7466) #primary .entry-content p:empty {
  display: none !important;
}

/* 1. Titre de l'activité */
:is(.parent-pageid-6940, .parent-pageid-7309, .parent-pageid-7137,
    .parent-pageid-7156, .parent-pageid-7366, .parent-pageid-7466) #primary .entry-content > h3 {
  margin: 0 0 18px !important;
  font-size: clamp(26px, 3.6vw, 38px) !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  letter-spacing: .01em;
  color: var(--mjc-encre) !important;
}

:is(.parent-pageid-6940, .parent-pageid-7309, .parent-pageid-7137,
    .parent-pageid-7156, .parent-pageid-7366, .parent-pageid-7466) #primary .entry-content > h3::after {
  content: "";
  display: block;
  width: 48px;
  height: 4px;
  margin-top: 16px;
  border-radius: 2px;
  background: var(--mjc-rose);
}

/* Titre vide laissé avant le vrai titre (certaines pages) */
:is(.parent-pageid-6940, .parent-pageid-7309, .parent-pageid-7137,
    .parent-pageid-7156, .parent-pageid-7366, .parent-pageid-7466) #primary .entry-content > h3:has(+ h3) {
  display: none !important;
}

/* 2. Public (âge) : pastille rose */
:is(.parent-pageid-6940, .parent-pageid-7309, .parent-pageid-7137,
    .parent-pageid-7156, .parent-pageid-7366, .parent-pageid-7466) #primary .entry-content > h3 + p:has(strong, em) {
  display: inline-block;
  margin: 0 0 18px !important;
  padding: 6px 14px !important;
  border-radius: 999px;
  background: var(--mjc-rose-pale);
}

:is(.parent-pageid-6940, .parent-pageid-7309, .parent-pageid-7137,
    .parent-pageid-7156, .parent-pageid-7366, .parent-pageid-7466) #primary .entry-content > h3 + p:has(strong, em),
:is(.parent-pageid-6940, .parent-pageid-7309, .parent-pageid-7137,
    .parent-pageid-7156, .parent-pageid-7366, .parent-pageid-7466) #primary .entry-content > h3 + p:has(strong, em) * {
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: .06em;
  color: var(--mjc-rose-fonce) !important;
  text-transform: uppercase;
}

:is(.parent-pageid-6940, .parent-pageid-7309, .parent-pageid-7137,
    .parent-pageid-7156, .parent-pageid-7366, .parent-pageid-7466) #primary .entry-content > h3 + p:has(strong, em) br {
  display: none;
}

/* 4. Présentation */
:is(.parent-pageid-6940, .parent-pageid-7309, .parent-pageid-7137,
    .parent-pageid-7156, .parent-pageid-7366, .parent-pageid-7466) #primary .entry-content > p {
  font-size: 17px !important;
  line-height: 1.75 !important;
  text-align: left !important;
  color: var(--mjc-texte) !important;
}

/* 5. Encadré « Horaires et tarif » (le bloc qui suit le texte) */
:is(.parent-pageid-6940, .parent-pageid-7309, .parent-pageid-7137,
    .parent-pageid-7156, .parent-pageid-7366, .parent-pageid-7466) #primary .entry-content > div:not(.mjc-activite):not(.sharedaddy):not(:empty) {
  margin: 28px 0 0 !important;
  padding: 24px 28px !important;
  border-radius: 18px;
  background: var(--mjc-rose-pale);
}

:is(.parent-pageid-6940, .parent-pageid-7309, .parent-pageid-7137,
    .parent-pageid-7156, .parent-pageid-7366, .parent-pageid-7466) #primary .entry-content > div:not(.mjc-activite):not(.sharedaddy):not(:empty)::before {
  content: "Horaires et tarif";
  display: block;
  margin-bottom: 12px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
  color: var(--mjc-rose-fonce);
  text-transform: uppercase;
}

:is(.parent-pageid-6940, .parent-pageid-7309, .parent-pageid-7137,
    .parent-pageid-7156, .parent-pageid-7366, .parent-pageid-7466) #primary .entry-content > div:not(.mjc-activite) div,
:is(.parent-pageid-6940, .parent-pageid-7309, .parent-pageid-7137,
    .parent-pageid-7156, .parent-pageid-7366, .parent-pageid-7466) #primary .entry-content > div:not(.mjc-activite) p {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: var(--mjc-texte) !important;
}

/* Les créneaux (en gras) : plus présents */
:is(.parent-pageid-6940, .parent-pageid-7309, .parent-pageid-7137,
    .parent-pageid-7156, .parent-pageid-7366, .parent-pageid-7466) #primary .entry-content > div:not(.mjc-activite) strong {
  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1.8 !important;
  color: var(--mjc-encre) !important;
}

:is(.parent-pageid-6940, .parent-pageid-7309, .parent-pageid-7137,
    .parent-pageid-7156, .parent-pageid-7366, .parent-pageid-7466) #primary .entry-content > div:not(.mjc-activite) strong strong {
  font-size: inherit !important;
}

/* Créneaux écrits en gras hors de l'encadré (certaines pages) :
   même couleur que l'encadré, ligne par ligne.
   (Le dernier paragraphe est exclu : souvent un gras vide laissé par l'éditeur.) */
:is(.parent-pageid-6940, .parent-pageid-7309, .parent-pageid-7137,
    .parent-pageid-7156, .parent-pageid-7366, .parent-pageid-7466) #primary .entry-content > p:not(h3 + p):has(> strong:only-child, > span:only-child > strong:only-child):not(:has(> strong:empty, > strong > br:only-child)):not(:last-of-type) {
  margin: 0 0 8px !important;
  padding: 10px 16px !important;
  border-left: 4px solid var(--mjc-rose);
  border-radius: 10px;
  background: var(--mjc-rose-pale);
}

:is(.parent-pageid-6940, .parent-pageid-7309, .parent-pageid-7137,
    .parent-pageid-7156, .parent-pageid-7366, .parent-pageid-7466) #primary .entry-content > p:not(h3 + p):has(> strong:only-child, > span:only-child > strong:only-child) strong {
  font-weight: 800 !important;
  color: var(--mjc-encre) !important;
}

/* 6. Lien « S'inscrire » ajouté sous l'encadré : voir le modèle de bloc fourni */
:is(.parent-pageid-6940, .parent-pageid-7309, .parent-pageid-7137,
    .parent-pageid-7156, .parent-pageid-7366, .parent-pageid-7466) #primary .entry-content .mjc-activite__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

@media (max-width: 640px) {
  :is(.parent-pageid-6940, .parent-pageid-7309, .parent-pageid-7137,
      .parent-pageid-7156, .parent-pageid-7366, .parent-pageid-7466) .single-themes-page {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  :is(.parent-pageid-6940, .parent-pageid-7309, .parent-pageid-7137,
      .parent-pageid-7156, .parent-pageid-7366, .parent-pageid-7466) .single-themes-page .content-area {
    padding: 0 !important;
    box-shadow: none !important;
  }
  :is(.parent-pageid-6940, .parent-pageid-7309, .parent-pageid-7137,
      .parent-pageid-7156, .parent-pageid-7366, .parent-pageid-7466) #primary .entry-content {
    padding: 28px 6px 48px !important;
  }
  :is(.parent-pageid-6940, .parent-pageid-7309, .parent-pageid-7137,
      .parent-pageid-7156, .parent-pageid-7366, .parent-pageid-7466) #primary .entry-content > p {
    font-size: 16px !important;
  }
  :is(.parent-pageid-6940, .parent-pageid-7309, .parent-pageid-7137,
      .parent-pageid-7156, .parent-pageid-7366, .parent-pageid-7466) #primary .entry-content > div:not(.mjc-activite):not(.sharedaddy):not(:empty) {
    padding: 20px !important;
  }
}


/* ##### 26. STAGES ET BROCHURE ##### */

/* =========================================================
   MJC Ronceray – Page « Stages » (code court MEC 8139)
   Mêmes cartes que la page Agenda : à condition de régler le
   code court 8139 en vue « Grille » (Grid View), style « Clean »,
   comme le code court 7839 de l'agenda.
   ========================================================= */

/* 2. Barre de recherche : catégorie, mois/année, mot-clé */
#mec_skin_8139 .mec-search-form {
  display: flex !important;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0 0 40px !important;
  padding: 16px !important;
  border: 0 !important;
  border-radius: 16px;
  background: var(--mjc-fond-clair) !important;
  box-shadow: none !important;
}

#mec_skin_8139 .mec-search-form > div {
  flex: 1 1 220px;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#mec_skin_8139 .mec-search-form .mec-dropdown-search,
#mec_skin_8139 .mec-search-form .mec-date-search,
#mec_skin_8139 .mec-search-form .mec-text-input-search {
  display: flex !important;
  align-items: center;
  width: auto !important;
  margin: 0 !important;
  border: 1px solid var(--mjc-filet) !important;
  border-radius: 999px !important;
  background: #fff !important;
  overflow: hidden;
}

/* La liste « Catégorie » ne déborde plus de sa pastille */
#mec_skin_8139 .mec-search-form .mec-dropdown-wrap {
  display: block !important;
  width: auto !important;
  min-width: 0;
}

#mec_skin_8139 .mec-search-form .mec-dropdown-search {
  width: 100% !important;
  box-sizing: border-box;
}

#mec_skin_8139 .mec-search-form i {
  flex: none;
  width: 44px !important;
  height: 44px !important;
  line-height: 44px !important;
  margin: 0 !important;
  border: 0 !important;
  background: none !important;
  color: var(--mjc-rose) !important;
  text-align: center;
}

#mec_skin_8139 .mec-search-form select,
#mec_skin_8139 .mec-search-form input[type="search"] {
  flex: 1 1 0;
  min-width: 0;
  width: auto !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 0 8px !important;
  border: 0 !important;
  background-color: transparent !important;
  box-shadow: none !important;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: 15px !important;
  color: var(--mjc-texte) !important;
}

/* 3. Grille : 3 cartes par ligne, sans les colonnes du plugin */
#mec_skin_8139 .mec-event-grid-clean {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: 40px 24px;
}

/* Les « clearfix » du plugin ne doivent pas occuper une case de la grille */
#mec_skin_8139 .mec-event-grid-clean::before,
#mec_skin_8139 .mec-event-grid-clean::after,
#mec_skin_8139 .mec-event-grid-clean > .row::before,
#mec_skin_8139 .mec-event-grid-clean > .row::after {
  display: none !important;
  content: none !important;
}

#mec_skin_8139 .mec-event-grid-clean > .row {
  display: contents !important;
}

#mec_skin_8139 .mec-event-grid-clean .row > div {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Les colonnes vides de la dernière ligne ne prennent pas de place */
#mec_skin_8139 .mec-event-grid-clean .row > div:empty {
  display: none !important;
}

/* 4. Carte : image, bandeau, date, titre */
#mec_skin_8139 .mec-event-article {
  display: flex !important;
  flex-direction: column;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#mec_skin_8139 .mec-event-article::before,
#mec_skin_8139 .mec-event-article::after {
  display: none !important;
}

/* L'en-tête coloré du plugin disparaît : ses éléments sont replacés */
#mec_skin_8139 .event-grid-t2-head,
#mec_skin_8139 .event-grid-t2-head .mec-event-detail {
  display: contents !important;
}

/* Dans cet en-tête, on ne garde que le bandeau (pas le lieu) */
#mec_skin_8139 .event-grid-t2-head .mec-event-detail > *:not(.mec-event-label-captions) {
  display: none !important;
}

/* Image : 3:2, arrondie en haut */
#mec_skin_8139 .mec-event-image {
  order: 1;
  position: relative;
  width: 100% !important;
  margin: 0 !important;
  border-radius: 14px 14px 0 0;
  overflow: hidden;
  background: var(--mjc-fond-clair);
}

#mec_skin_8139 .mec-event-image a {
  display: block;
  border: 0 !important;
}

#mec_skin_8139 .mec-event-image img {
  display: block;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  transition: transform .6s ease;
}

#mec_skin_8139 .mec-event-article:hover .mec-event-image img {
  transform: scale(1.03);
}

/* Bandeau coloré du type d'événement, à plat sous l'image */
#mec_skin_8139 .mec-event-label-captions {
  order: 2;
  position: static !important;
  display: block !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  transform: none !important;
  margin: 0 !important;
  padding: 8px 18px !important;
  border-radius: 0 0 14px 14px !important;
  color: #1a1a1a !important;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  line-height: 1.4 !important;
  text-align: left !important;
  text-transform: uppercase !important;
}

/* Date en petit rose */
#mec_skin_8139 .mec-event-month {
  order: 3;
  display: block !important;
  margin: 18px 0 0 !important;
  padding: 0 4px !important;
  background: none !important;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: .06em;
  line-height: 1.3 !important;
  color: var(--mjc-rose-fonce) !important;
  text-transform: uppercase;
  font-variant-numeric: lining-nums;
}

#mec_skin_8139 .mec-event-month span {
  color: inherit !important;
  font: inherit !important;
}

/* Titre */
#mec_skin_8139 .mec-event-content {
  order: 4;
  margin: 0 !important;
  padding: 6px 4px 0 !important;
  border: 0 !important;
  background: none !important;
  text-align: left !important;
}

#mec_skin_8139 .mec-event-title {
  margin: 0 !important;
  padding: 0 !important;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

#mec_skin_8139 .mec-event-title a {
  color: var(--mjc-encre) !important;
  border-bottom: 0 !important;
}

#mec_skin_8139 .mec-event-title a:hover {
  color: var(--mjc-rose-fonce) !important;
}

#mec_skin_8139 .mec-event-title .event-color {
  display: none !important;
}

/* Lieu vide, partage et « Voir le détail » : retirés */
#mec_skin_8139 .mec-grid-event-location,
#mec_skin_8139 .mec-event-footer {
  display: none !important;
}

/* 5. Tablette et mobile */
@media (max-width: 960px) {
  #mec_skin_8139 .mec-event-grid-clean {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {

  #mec_skin_8139 .mec-event-grid-clean {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  #mec_skin_8139 .mec-event-title {
    font-size: 19px !important;
  }
}

/* Stages : pas de bandeau de catégorie → image entièrement arrondie */
#mec_skin_8139 .mec-event-article:not(:has(.mec-event-label-captions)) .mec-event-image {
  border-radius: 14px;
}

/* Stages : l'horaire est utile, on le garde sous la date */
#mec_skin_8139 .mec-time-details {
  order: 4;
  display: block !important;
  margin: 2px 0 0 !important;
  padding: 0 4px !important;
  background: none !important;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  color: var(--mjc-gris) !important;
}

#mec_skin_8139 .mec-time-details span {
  font: inherit !important;
  color: inherit !important;
}

#mec_skin_8139 .mec-time-details i,
#mec_skin_8139 .mec-time-details svg {
  display: none !important;
}

#mec_skin_8139 .mec-event-content {
  order: 5;
}

/* Bandeau « réservation » et liens du bas */
.mjc-stages .mjc-stages__reservation {
  margin: 0 0 32px;
  background: var(--mjc-rose-pale);
}

.mjc-stages .mjc-stages__liens {
  margin: 40px 0 0;
}

/* Page Brochure : dates de la saison */
.mjc-brochure .mjc-saison__brochure {
  margin-bottom: 24px;
}

.mjc-infos .mjc-brochure__dates strong {
  font-size: 16px;
  text-align: right;
}


/* ##### 27. FICHES ÉVÉNEMENTS (MODERN EVENTS CALENDAR) ##### */

/* =========================================================
   MJC Ronceray – Fiches événements (Modern Events Calendar)
   S'applique automatiquement à TOUS les événements, anciens et nouveaux.
   1. Image du haut : toujours la même hauteur, recadrée au centre,
      avec un dégradé blanc en bas qui amène vers le contenu.
   2. Titre, puis date / heure / catégorie en petites cartes.
   3. Texte de présentation aéré.
   4. Billetterie Weezevent : encadré rose « Billetterie » ajouté tout seul
      dès que le widget Weezevent est collé dans la description.
   5. Partage, événements similaires, navigation.
   ========================================================= */

/* --- Largeur générale --- */
.single-mec-events .mec-wrap {
  max-width: 1100px;
  margin: 0 auto !important;
  padding: 0 24px !important;
  box-sizing: border-box;
  font-family: 'Raleway', Arial, sans-serif;
}

.single-mec-events .mec-single-event {
  display: flex;
  flex-direction: column;
  margin: 0 !important;
}

/* Fil d'Ariane : discret */
.single-mec-events .mec-breadcrumbs {
  order: 0;
  margin: 18px 0 14px !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
}

.single-mec-events .mec-breadcrumbs .mec-address,
.single-mec-events .mec-breadcrumbs a,
.single-mec-events .mec-breadcrumbs span {
  font-size: 12px !important;
  line-height: 1.5 !important;
  color: var(--mjc-gris) !important;
  text-decoration: none !important;
  border: 0 !important;
}

.single-mec-events .mec-breadcrumbs a:hover {
  color: var(--mjc-rose-fonce) !important;
}

.single-mec-events .mec-breadcrumbs .mec-current {
  color: var(--mjc-encre) !important;
  font-weight: 600;
}

.single-mec-events .mec-breadcrumbs i {
  margin: 0 6px !important;
  font-size: 8px !important;
  color: var(--mjc-rose) !important;
}

/* --- 1. Image du haut : hauteur fixe + dégradé --- */
.single-mec-events .mec-single-event .mec-events-event-image {
  order: 1;
  position: relative;
  width: 100%;
  height: clamp(240px, 36vw, 460px);
  min-height: 0 !important;
  margin: 0 !important;
  border-radius: 24px;
  overflow: hidden;
  background: var(--mjc-fond-clair);
}

.single-mec-events .mec-single-event .mec-events-event-image img {
  display: block;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  object-fit: cover;
  object-position: center 35%;
  border-radius: 0 !important;
}

.single-mec-events .mec-single-event .mec-events-event-image::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 60%;
  background: linear-gradient(to bottom,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, .55) 45%,
    rgba(255, 255, 255, .92) 80%,
    #fff 100%);
  pointer-events: none;
}

/* La colonne latérale vide de MEC */
.single-mec-events .mec-single-event > .col-md-4 {
  display: none !important;
}

/* --- Le contenu remonte sur le dégradé --- */
.single-mec-events .mec-single-event > .col-md-8 {
  order: 2;
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  float: none !important;
  width: 100% !important;
  max-width: 820px;
  margin: -96px auto 0 !important;
  padding: 0 24px !important;
  box-sizing: border-box;
}

/* Le titre passe au-dessus de la barre date/heure */
.single-mec-events .mec-single-event .mec-event-content {
  display: contents;
}

.single-mec-events .mec-single-event .mec-single-title {
  order: 1;
  margin: 0 0 22px !important;
  padding: 0 !important;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: clamp(28px, 4.2vw, 46px) !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  letter-spacing: .01em !important;
  color: var(--mjc-encre) !important;
  text-align: left !important;
}

.single-mec-events .mec-single-event .mec-single-title::after {
  content: "";
  display: block;
  width: 56px;
  height: 4px;
  margin-top: 16px;
  border-radius: 2px;
  background: var(--mjc-rose);
}

/* --- 2. Date / heure / catégorie en petites cartes --- */
.single-mec-events .mec-single-event .mec-single-event-bar {
  order: 2;
  display: flex !important;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0 0 32px !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
}

.single-mec-events .mec-single-event-bar::before,
.single-mec-events .mec-single-event-bar::after {
  display: none;
}

.single-mec-events .mec-single-event-bar > div {
  float: none !important;
  width: auto !important;
  min-width: 150px;
  flex: 0 1 auto;
  margin: 0 !important;
  padding: 12px 18px !important;
  border: 1px solid var(--mjc-filet) !important;
  border-radius: 14px;
  background: #fff !important;
  box-sizing: border-box;
}

.single-mec-events .mec-single-event-bar > div i {
  display: none !important;
}

.single-mec-events .mec-single-event-bar h3 {
  margin: 0 0 4px !important;
  padding: 0 !important;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: .12em !important;
  color: var(--mjc-rose-fonce) !important;
  text-transform: uppercase;
}

/* « Labels » devient « Catégorie » */
.single-mec-events .mec-single-event-label h3 {
  font-size: 0 !important;
}

.single-mec-events .mec-single-event-label h3::after {
  content: "Catégorie";
  font-size: 11px;
}

.single-mec-events .mec-single-event-bar dl {
  margin: 0 !important;
  padding: 0 !important;
}

.single-mec-events .mec-single-event-bar > div:not(.mec-single-event-label) dd,
.single-mec-events .mec-single-event-bar dd * {
  margin: 0 !important;
  padding: 0 !important;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  color: var(--mjc-encre) !important;
  text-decoration: none !important;
  border: 0 !important;
}

/* La catégorie garde sa couleur (expo, spectacle, jeune public…) en pastille */
.single-mec-events .mec-single-event-label dd {
  display: inline-block;
  margin: 2px 0 0 !important;
  padding: 3px 12px !important;
  border-radius: 999px;
  box-shadow: inset 0 0 0 40px currentColor;
  -webkit-text-fill-color: var(--mjc-encre);
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.5 !important;
  letter-spacing: .08em;
}

/* Compte à rebours MEC (événements à venir) : masqué, la date suffit */
.single-mec-events .mec-single-event .mec-events-meta-group-countdown {
  display: none !important;
}

/* Rappel « billetterie en ligne » quand l'événement en a une */
.single-mec-events .mec-single-event:has(iframe[src*="weezevent"], .weezevent-widget-integration) .mec-single-event-bar::after {
  content: "Billetterie en ligne en bas de page ↓";
  display: flex;
  align-items: center;
  padding: 12px 18px;
  border-radius: 14px;
  background: var(--mjc-rose);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .06em;
  color: #fff;
  text-transform: uppercase;
}

/* --- 3. Texte de présentation --- */
.single-mec-events .mec-single-event-description {
  order: 3;
  margin: 0 !important;
  padding: 0 !important;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-variant-numeric: lining-nums;
}

.single-mec-events .mec-single-event-description * {
  font-family: 'Raleway', Arial, sans-serif !important;
}

.single-mec-events .mec-single-event-description :is(h1, h2, h3, h4, p):empty {
  display: none !important;
}

.single-mec-events .mec-single-event-description p,
.single-mec-events .mec-single-event-description li {
  margin: 0 0 16px !important;
  font-size: 17px !important;
  line-height: 1.75 !important;
  color: var(--mjc-texte) !important;
  text-align: left !important;
}

.single-mec-events .mec-single-event-description strong {
  color: var(--mjc-encre);
  font-weight: 700;
}

.single-mec-events .mec-single-event-description :is(h1, h2, h3, h4) {
  margin: 8px 0 14px !important;
  padding: 0 !important;
  font-size: clamp(20px, 2.4vw, 26px) !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  letter-spacing: .01em !important;
  color: var(--mjc-rose-fonce) !important;
  text-align: left !important;
}

.single-mec-events .mec-single-event-description :is(h1, h2, h3, h4) * {
  font-size: inherit !important;
  color: inherit !important;
}

.single-mec-events .mec-single-event-description a:not(.wp-block-button__link) {
  color: var(--mjc-rose-fonce) !important;
  font-weight: 700;
  text-decoration: underline !important;
  text-underline-offset: 3px;
  border: 0 !important;
}

.single-mec-events .mec-single-event-description img {
  max-width: 100%;
  height: auto;
  border-radius: 14px;
}

.single-mec-events .mec-single-event-description iframe:not([src*="weezevent"]) {
  max-width: 100%;
  border-radius: 14px;
}

/* Boutons WordPress (« Inscription en ligne »…) */
.single-mec-events .mec-single-event-description .wp-block-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 24px 0 !important;
}

.single-mec-events .mec-single-event-description .wp-block-button__link {
  display: inline-block;
  padding: 14px 28px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--mjc-rose) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .08em;
  line-height: 1.2 !important;
  color: #fff !important;
  text-decoration: none !important;
  text-transform: uppercase;
  transition: background .2s, transform .2s;
}

.single-mec-events .mec-single-event-description .wp-block-button__link:hover {
  background: var(--mjc-rose-fonce) !important;
  transform: translateY(-2px);
}

/* --- 4. Billetterie Weezevent --- */
.single-mec-events .mec-single-event-description > div:has(> iframe[src*="weezevent"]),
.single-mec-events .mec-single-event-description > a.weezevent-widget-integration {
  display: block;
  margin: 36px 0 12px !important;
  padding: 26px 26px 18px !important;
  border-radius: 22px;
  background: var(--mjc-rose-pale);
  box-sizing: border-box;
}

.single-mec-events .mec-single-event-description > div:has(> iframe[src*="weezevent"])::before {
  content: "Billetterie";
  display: block;
  margin: 0 0 4px;
  font-size: 24px;
  font-weight: 800;
  color: var(--mjc-encre);
}

.single-mec-events .mec-single-event-description > div:has(> iframe[src*="weezevent"])::after {
  content: "";
  display: block;
  clear: both;
}

.single-mec-events .mec-single-event-description > div:has(> iframe[src*="weezevent"]) iframe {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  margin: 16px 0 10px !important;
  border: 0 !important;
  border-radius: 14px;
  background: #fff;
}

/* « Powered by Weezevent » : discret */
.single-mec-events .mec-single-event-description > div:has(> iframe[src*="weezevent"]) > a {
  font-size: 11px !important;
  font-weight: 500 !important;
  color: var(--mjc-gris) !important;
  text-decoration: none !important;
}

/* --- 5. Partage --- */
.single-mec-events .mec-single-event .mec-event-social {
  order: 4;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
  margin: 32px 0 0 !important;
  padding: 20px 0 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--mjc-filet) !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
}

.single-mec-events .mec-event-social .mec-frontbox-title {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  color: var(--mjc-gris) !important;
  text-transform: uppercase;
  text-align: left !important;
}

.single-mec-events .mec-event-social .mec-frontbox-title::before,
.single-mec-events .mec-event-social .mec-frontbox-title::after {
  display: none !important;
}

.single-mec-events .mec-event-social .mec-event-sharing,
.single-mec-events .mec-event-social .mec-links-details,
.single-mec-events .mec-event-social ul {
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

.single-mec-events .mec-event-social li.mec-event-social-icon {
  margin: 0 6px 0 0 !important;
}

/* --- Événements similaires --- */
.single-mec-events .mec-related-events-wrap {
  max-width: none;
  margin: 56px 0 0 !important;
  padding: 36px 0 0 !important;
  border-top: 1px solid var(--mjc-filet);
}

.single-mec-events .mec-related-events-wrap .mec-rec-events-title {
  margin: 0 0 20px !important;
  padding: 0 !important;
  border: 0 !important;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
  color: var(--mjc-encre) !important;
  text-transform: none !important;
}

.single-mec-events .mec-related-events-wrap .mec-rec-events-title::before,
.single-mec-events .mec-related-events-wrap .mec-rec-events-title::after {
  display: none !important;
}

.single-mec-events .mec-related-events {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  margin: 0 !important;
}

.single-mec-events .mec-related-events::before,
.single-mec-events .mec-related-events::after {
  display: none !important;
}

.single-mec-events .mec-related-event-post {
  position: relative;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--mjc-filet);
  border-radius: 16px;
  background: #fff;
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.single-mec-events .mec-related-event-post:hover {
  transform: translateY(-4px);
  border-color: var(--mjc-rose);
  box-shadow: 0 14px 30px rgba(0, 0, 0, .08);
}

.single-mec-events .mec-related-event-post figure {
  margin: 0 !important;
  overflow: hidden;
}

.single-mec-events .mec-related-event-post img {
  display: block;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 0 !important;
}

.single-mec-events .mec-related-event-content {
  margin: 0 !important;
  padding: 14px 16px 16px !important;
}

.single-mec-events .mec-related-event-content span {
  display: block;
  margin-bottom: 4px;
  font-size: 12px !important;
  font-weight: 700;
  letter-spacing: .06em;
  color: var(--mjc-rose-fonce) !important;
  text-transform: uppercase;
}

.single-mec-events .mec-related-event-content h5 {
  margin: 0 !important;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
}

.single-mec-events .mec-related-event-content h5 a {
  color: var(--mjc-encre) !important;
  text-decoration: none !important;
  border: 0 !important;
}

/* Toute la carte est cliquable */
.single-mec-events .mec-related-event-content h5 a::after {
  content: "";
  position: absolute;
  inset: 0;
}

/* --- Événement précédent / suivant --- */
.single-mec-events .mec-next-previous-events {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px;
  margin: 36px 0 64px !important;
  padding: 0 !important;
  list-style: none;
}

.single-mec-events .mec-next-previous-events li {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  list-style: none;
}

.single-mec-events .mec-next-previous-events li.mec-next-event {
  margin-left: auto !important;
}

.single-mec-events .mec-next-previous-events a {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  padding: 11px 22px !important;
  border: 1px solid var(--mjc-rose) !important;
  border-radius: 999px !important;
  background: #fff !important;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .06em;
  color: var(--mjc-rose-fonce) !important;
  text-decoration: none !important;
  text-transform: uppercase;
  transition: background .2s, color .2s;
}

.single-mec-events .mec-next-previous-events a:hover {
  background: var(--mjc-rose) !important;
  color: #fff !important;
}

.single-mec-events .mec-next-previous-events a i {
  margin: 0 !important;
  color: inherit !important;
}

/* --- Tablette --- */
@media (max-width: 960px) {
  .single-mec-events .mec-related-events {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* --- Mobile --- */
@media (max-width: 640px) {
  /* Le thème ajoute de grandes marges autour du calendrier : on les retire */
  .single-mec-events .mec-container {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .single-mec-events .mec-wrap {
    padding: 0 14px !important;
  }
  .single-mec-events .mec-breadcrumbs {
    display: none !important;
  }
  .single-mec-events .mec-single-event .mec-events-event-image {
    height: clamp(210px, 62vw, 300px);
    margin-top: 14px !important;
    border-radius: 18px;
  }
  .single-mec-events .mec-single-event > .col-md-8 {
    margin-top: -56px !important;
    padding: 0 6px !important;
  }
  .single-mec-events .mec-single-event-bar {
    gap: 8px;
  }
  .single-mec-events .mec-single-event-bar > div {
    flex: 1 1 40%;
    min-width: 0;
    padding: 10px 14px !important;
  }
  .single-mec-events .mec-single-event-bar > div:not(.mec-single-event-label) dd,
  .single-mec-events .mec-single-event-bar dd * {
    font-size: 14px !important;
  }
  .single-mec-events .mec-single-event:has(iframe[src*="weezevent"], .weezevent-widget-integration) .mec-single-event-bar::after {
    flex: 1 1 100%;
    justify-content: center;
    font-size: 12px;
  }
  .single-mec-events .mec-single-event-description p,
  .single-mec-events .mec-single-event-description li {
    font-size: 16px !important;
  }
  .single-mec-events .mec-single-event-description > div:has(> iframe[src*="weezevent"]) {
    margin-left: -6px !important;
    margin-right: -6px !important;
    padding: 20px 12px 14px !important;
  }
  .single-mec-events .mec-related-events {
    gap: 12px;
  }
  .single-mec-events .mec-related-event-content {
    padding: 10px 12px 12px !important;
  }
  .single-mec-events .mec-related-event-content h5 {
    font-size: 14px !important;
  }
}


/* ##### 28. SECTION LA MJC (PROJETS, AFFICHES) ##### */

/* =========================================================
   MJC Ronceray – Pages de la section « La MJC »
   (Parcours Éloquence, Actions culturelles, Projets du quotidien,
   Concertation jeunesse, Café Coop, AMAP)
   Ces pages utilisent les cartes .mjc-infos déjà en place.
   Ajout : .mjc-affiches = rangée d'affiches / flyers en entier,
   sans recadrage (remplacer une image dans l'éditeur suffit).
   ========================================================= */

.mjc-infos h3.mjc-affiches__titre {
  margin: 40px 0 16px !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  color: var(--mjc-encre) !important;
}

.mjc-infos .mjc-affiches,
.mjc-infos .mjc-affiches > .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 18px;
  margin: 0 0 40px;
}

.mjc-infos .mjc-affiches > .wp-block-group__inner-container {
  display: contents;
}

.mjc-infos .mjc-affiches figure,
.mjc-infos .mjc-affiches > img {
  margin: 0 !important;
  border-radius: 14px;
  overflow: hidden;
  background: var(--mjc-fond-clair);
  box-shadow: 0 6px 18px rgba(0, 0, 0, .08);
  transition: transform .2s ease, box-shadow .2s ease;
}

.mjc-infos .mjc-affiches figure:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 26px rgba(0, 0, 0, .12);
}

.mjc-infos .mjc-affiches img {
  display: block;
  width: 100% !important;
  height: auto !important;
  object-fit: contain;
}

/* Affiches cliquables : un clic ouvre l'affiche en grand (nouvel onglet),
   où l'on peut zoomer pour lire, y compris sur téléphone */
.mjc-infos .mjc-affiches figure {
  position: relative;
}

.mjc-infos .mjc-affiches figure a {
  display: block;
  border: 0 !important;
  cursor: zoom-in;
}

.mjc-infos .mjc-affiches figure:has(a)::after {
  content: "Agrandir";
  position: absolute;
  right: 10px;
  bottom: 10px;
  padding: 6px 12px 6px 30px;
  border-radius: 999px;
  background: rgba(26, 26, 26, .78) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5 21 21M10.5 7.5v6M7.5 10.5h6'/%3E%3C/svg%3E") no-repeat 10px center / 14px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  color: #fff;
  pointer-events: none;
  opacity: .9;
  transition: opacity .2s, background-color .2s;
}

.mjc-infos .mjc-affiches figure:has(a):hover::after {
  opacity: 1;
  background-color: var(--mjc-rose);
}

/* Les longues adresses e-mail passent à la ligne sur mobile */
.mjc-projet a[href^="mailto"] {
  overflow-wrap: anywhere;
}

/* Photo d'en-tête plus petite (AMAP, Projets du quotidien) */
.mjc-projet .mjc-infos__hero {
  margin-bottom: 32px;
}

@media (max-width: 640px) {
  .mjc-infos .mjc-affiches,
  .mjc-infos .mjc-affiches > .wp-block-group__inner-container {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  .mjc-infos .mjc-affiches figure {
    border-radius: 10px;
  }
}


/* ##### 29. FICHE ACTIVITÉ HOMOGÈNE ##### */

/* =========================================================
   MJC Ronceray – Fiche activité homogène (toutes les pages d'atelier)
   Une seule structure, en blocs WordPress, pour les 43 ateliers :
     pastille public · titre · « Animé par » · texte ·
     encadré rose « Horaires / Tarif / Lieu » · boutons.
   Pour modifier : changer le texte dans l'éditeur, rien d'autre.
   (Les anciennes fiches non converties gardent leur style,
   partie « Disciplines et activités ».)
   ========================================================= */

.mjc-infos.mjc-activite {
  max-width: 760px;
  margin: 0 auto !important;
  padding: 0 !important;
}

/* Pastille du public */
.mjc-infos.mjc-activite p.mjc-activite__public {
  display: inline-block;
  margin: 0 0 14px !important;
  padding: 6px 14px !important;
  border-radius: 999px;
  background: var(--mjc-rose-pale);
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: .06em;
  color: var(--mjc-rose-fonce) !important;
  text-transform: uppercase;
}

/* Titre */
.mjc-infos.mjc-activite h2 {
  margin: 0 0 18px !important;
  font-size: clamp(26px, 3.6vw, 38px) !important;
}

/* Animé par */
.mjc-infos.mjc-activite p.mjc-activite__anime {
  margin: 0 0 22px !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  color: var(--mjc-encre) !important;
}

.mjc-infos.mjc-activite p.mjc-activite__anime::before {
  content: "Animé par";
  display: block;
  margin-bottom: 2px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .1em;
  color: var(--mjc-gris);
  text-transform: uppercase;
}

/* Texte de présentation */
.mjc-infos.mjc-activite > p:not([class]),
.mjc-infos.mjc-activite > .wp-block-group__inner-container > p:not([class]) {
  margin: 0 0 14px !important;
  font-size: 17px !important;
  line-height: 1.75 !important;
}

/* Encadré Horaires / Tarif / Lieu */
.mjc-infos.mjc-activite .mjc-activite__infos {
  margin: 28px 0 24px !important;
  padding: 22px 26px !important;
  border-radius: 18px;
  background: var(--mjc-rose-pale);
}

.mjc-infos.mjc-activite .mjc-activite__infos h3 {
  margin: 0 0 4px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  color: var(--mjc-rose-fonce) !important;
  text-transform: uppercase;
}

.mjc-infos.mjc-activite .mjc-activite__infos ul + h3 {
  margin-top: 18px !important;
}

.mjc-infos.mjc-activite .mjc-activite__infos li {
  font-size: 16px !important;
  font-weight: 700;
  color: var(--mjc-encre);
}

.mjc-infos.mjc-activite .mjc-activite__infos li > em {
  font-weight: 500;
}

.mjc-infos.mjc-activite .mjc-activite__infos li > strong {
  font-size: 17px !important;
  text-align: right;
}

.mjc-infos.mjc-activite .mjc-activite__tarifs li > strong {
  white-space: nowrap;
}

.mjc-infos.mjc-activite .mjc-activite__infos p {
  margin: 14px 0 0 !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}

.mjc-infos.mjc-activite .mjc-activite__infos p + p {
  margin-top: 6px !important;
}

.mjc-infos.mjc-activite .mjc-activite__infos p strong {
  color: var(--mjc-encre);
}

.mjc-infos.mjc-activite p.mjc-activite__note {
  padding-left: 14px !important;
  border-left: 3px solid var(--mjc-rose);
  color: var(--mjc-texte) !important;
}

.mjc-infos.mjc-activite .mjc-activite__contact a {
  color: var(--mjc-rose-fonce) !important;
  font-weight: 700;
  overflow-wrap: anywhere;
}

/* Pas d'inscription en ligne pour les ateliers (seulement les stages) :
   le bouton GoAsso est masqué s'il reste sur une fiche */
.mjc-infos.mjc-activite .wp-block-button:has(a[href*="goasso"]),
.mjc-infos.mjc-activite a.mjc-btn[href*="goasso"] {
  display: none !important;
}

/* Sur les pages Musique, Danse… (cartes des ateliers) : la fiche complète
   ne doit pas s'afficher dans la carte, seulement « En savoir plus » */
.page-template-projects-page .child-pages .mjc-activite {
  display: none !important;
}

.page-template-projects-page .child-pages .entry-content:has(.mjc-activite)::after {
  content: "En savoir plus →";
  margin-top: 2px;
  padding-left: 4px;
  font-family: 'Raleway', Arial, sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: .08em;
  color: var(--mjc-rose-fonce);
  text-transform: uppercase;
}

@media (max-width: 640px) {
  .mjc-infos.mjc-activite .mjc-activite__infos {
    margin-left: -6px !important;
    margin-right: -6px !important;
    padding: 18px 16px !important;
  }
  .mjc-infos.mjc-activite > p:not([class]),
  .mjc-infos.mjc-activite > .wp-block-group__inner-container > p:not([class]) {
    font-size: 16px !important;
  }
  .mjc-infos.mjc-activite .mjc-activite__infos li > strong {
    font-size: 16px !important;
  }
}


/* ##### 30. MENU MOBILE ##### */

/* =========================================================
   MJC Ronceray – Menu mobile (extension « WP Mobile Menu »)
   Panneau blanc plus large, bandeau rose « Menu », rubriques
   en gras avec chevrons roses, sous-menus sur fond clair,
   rubrique ouverte surlignée en rose, fond du site assombri.
   Les liens se gèrent toujours dans Apparence → Menus.
   ========================================================= */

/* Bouton « hamburger » de l'en-tête : rose */
.mob-menu-header-holder .mobmenu-left-bt svg path,
.mob-menu-header-holder .mobmenu-left-bt i {
  fill: var(--mjc-rose) !important;
  color: var(--mjc-rose) !important;
}

/* Fond du site assombri derrière le menu */
.mobmenu-overlay {
  background: rgba(26, 26, 26, .55) !important;
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
}

/* Le panneau */
.mobmenu-left-panel {
  width: min(86vw, 360px) !important;
  background: #fff !important;
}

/* Ombre seulement quand le menu est ouvert (sinon elle dépasse sur le bord) */
.show-nav-left .mobmenu-left-panel {
  box-shadow: 8px 0 30px rgba(0, 0, 0, .18);
}

.mobmenu-left-panel .mob-menu-left-bg-holder {
  display: none !important;
}

/* Bandeau rose en haut du panneau */
.mobmenu-left-panel .mobmenu-content {
  padding: 0 0 32px !important;
  margin-top: 0 !important;
}

.mobmenu-left-panel .mobmenu-content::before {
  content: "Menu";
  display: block;
  padding: 22px 64px 20px 24px;
  border-bottom: 4px solid var(--mjc-rose);
  background: var(--mjc-encre);
  font-family: 'Raleway', Arial, sans-serif;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .2em;
  color: #fff;
  text-transform: uppercase;
}

/* Bouton fermer : rond blanc sur le bandeau */
.mobmenu-left-panel > .mobmenu-left-bt {
  position: absolute !important;
  top: 12px !important;
  right: 14px !important;
  z-index: 2;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 38px !important;
  height: 38px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 50%;
  background: rgba(255, 255, 255, .16);
}

.mobmenu-left-panel > .mobmenu-left-bt svg {
  width: 16px !important;
  height: 16px !important;
}

.mobmenu-left-panel > .mobmenu-left-bt svg path {
  fill: #fff !important;
}

/* Rubriques principales */
#mobmenuleft {
  margin: 0 !important;
  padding: 0 !important;
}

#mobmenuleft > li {
  margin: 0 !important;
  border-bottom: 1px solid var(--mjc-filet) !important;
}

#mobmenuleft li a {
  position: relative;
  display: block !important;
  font-family: 'Raleway', Arial, sans-serif !important;
  text-decoration: none !important;
  border: 0 !important;
}

#mobmenuleft > li > a {
  padding: 17px 64px 17px 24px !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  letter-spacing: .01em !important;
  color: var(--mjc-encre) !important;
  background: #fff !important;
}

/* Rubrique ouverte */
#mobmenuleft > li:has(> .sub-menu.show-sub-menu) > a {
  color: var(--mjc-rose-fonce) !important;
  background: var(--mjc-rose-pale) !important;
}

/* Chevron : petit rond rose à droite */
#mobmenuleft .mob-expand-submenu {
  position: absolute !important;
  top: 50% !important;
  right: 18px !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 32px !important;
  height: 32px !important;
  margin: -16px 0 0 !important;
  padding: 0 !important;
  border-radius: 50%;
  background: var(--mjc-rose-pale);
}

#mobmenuleft > li:has(> .sub-menu.show-sub-menu) .mob-expand-submenu {
  background: var(--mjc-rose);
}

#mobmenuleft .mob-expand-submenu i,
#mobmenuleft .mob-expand-submenu i::before {
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1 !important;
  color: var(--mjc-rose-fonce) !important;
}

#mobmenuleft > li:has(> .sub-menu.show-sub-menu) .mob-expand-submenu i::before {
  color: #fff !important;
}

/* Sous-menus */
#mobmenuleft .sub-menu {
  margin: 0 !important;
  padding: 6px 0 12px !important;
  background: var(--mjc-fond-clair) !important;
}

#mobmenuleft .sub-menu li {
  margin: 0 !important;
  border: 0 !important;
}

#mobmenuleft .sub-menu a {
  padding: 11px 24px 11px 44px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  color: var(--mjc-texte) !important;
  background: transparent !important;
}

#mobmenuleft .sub-menu a::before {
  content: "";
  position: absolute;
  left: 26px;
  top: 50%;
  width: 6px;
  height: 6px;
  margin-top: -3px;
  border-radius: 50%;
  background: var(--mjc-rose);
  opacity: .45;
}

#mobmenuleft .sub-menu a:active,
#mobmenuleft .sub-menu a:hover {
  color: var(--mjc-rose-fonce) !important;
}

/* Page en cours : en rose */
#mobmenuleft li.current-menu-item > a,
#mobmenuleft li.current_page_item > a {
  color: var(--mjc-rose-fonce) !important;
}

#mobmenuleft .sub-menu li.current-menu-item > a::before {
  opacity: 1;
}

/* Titres de sous-menu sans lien (« L'Alambik ! », « La MJC »…) : masqués,
   ils répètent le nom de la rubrique */
#mobmenuleft .sub-menu li > a:not([href]) {
  display: none !important;
}


/* ##### 31. RECHERCHE ET PAGE INTROUVABLE ##### */

/* =========================================================
   MJC Ronceray – Résultats de recherche et page « introuvable »
   Recherche : cartes en grille (image, type, titre, « Voir »),
   colonne latérale vide retirée, pagination en pastilles.
   404 : page « Oups » (page 7482) en blocs, bandeau gris masqué.
   ========================================================= */

/* ---------- Recherche ---------- */
:is(.search-results, .search-no-results) .single-themes-page {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

:is(.search-results, .search-no-results) #primary {
  box-shadow: none !important;
  background: transparent !important;
}

:is(.search-results, .search-no-results) #primary .page-header,
:is(.search-results, .search-no-results) .page-title {
  border: 0 !important;
  padding-bottom: 0 !important;
}

:is(.search-results, .search-no-results) .page-title::before {
  display: none !important;
}

.search-results .one_third,
.search-no-results .one_third {
  display: none !important;
}

:is(.search-results, .search-no-results) .two_third {
  float: none !important;
  width: 100% !important;
  max-width: 1100px;
  margin: 0 auto !important;
  padding: 0 24px !important;
  box-sizing: border-box;
}

.search-results #primary {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  padding: 36px 0 64px !important;
}

:is(.search-results, .search-no-results) #primary .page-header {
  grid-column: 1 / -1;
  margin: 0 0 6px !important;
  padding: 0 !important;
  border: 0 !important;
}

:is(.search-results, .search-no-results) .page-title {
  margin: 0 !important;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: clamp(24px, 3vw, 34px) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: .01em !important;
  color: var(--mjc-encre) !important;
  text-align: left !important;
  text-transform: none !important;
}

:is(.search-results, .search-no-results) .page-title::after {
  content: "";
  display: block;
  width: 48px;
  height: 4px;
  margin-top: 14px;
  border-radius: 2px;
  background: var(--mjc-rose);
}

/* Les cartes */
.search-results #primary > article {
  position: relative;
  display: flex;
  flex-direction: column;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--mjc-filet);
  border-radius: 16px;
  background: #fff;
  overflow: hidden;
  box-shadow: none !important;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.search-results #primary > article:hover {
  transform: translateY(-4px);
  border-color: var(--mjc-rose);
  box-shadow: 0 14px 30px rgba(0, 0, 0, .08) !important;
}

.search-results #primary > article > img {
  order: 0;
  display: block;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  margin: 0 !important;
}

/* Carte sans image : bandeau rose pâle */
.search-results #primary > article:not(:has(> img))::before {
  content: "";
  display: block;
  aspect-ratio: 4 / 3;
  background: var(--mjc-rose-pale);
}

.search-results #primary > article .entry-header {
  order: 1;
  margin: 0 !important;
  padding: 16px 18px 0 !important;
}

/* Type de contenu */
.search-results #primary > article .entry-header::before {
  content: "Page";
  display: block;
  margin-bottom: 6px;
  font-family: 'Raleway', Arial, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  color: var(--mjc-gris);
  text-transform: uppercase;
}

.search-results #primary > article.type-mec-events .entry-header::before {
  content: "Événement";
  color: var(--mjc-rose-fonce);
}

.search-results #primary > article.type-post .entry-header::before {
  content: "Actualité";
}

.search-results #primary > article .entry-title {
  margin: 0 !important;
  padding: 0 !important;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  letter-spacing: .01em !important;
  text-align: left !important;
}

.search-results #primary > article .entry-title a {
  color: var(--mjc-encre) !important;
  text-decoration: none !important;
  border: 0 !important;
}

/* Toute la carte est cliquable */
.search-results #primary > article .entry-title a::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}

.search-results #primary > article .entry-content {
  order: 2;
  margin: auto 0 0 !important;
  padding: 10px 18px 16px !important;
}

.search-results #primary > article .entry-content p {
  margin: 0 !important;
  font-size: 0 !important;
}

.search-results #primary > article .entry-content p:not(:has(.more-link)) {
  display: none;
}

.search-results #primary > article .more-link {
  display: inline !important;
  padding: 0 !important;
  font-size: 0 !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

.search-results #primary > article .more-link::after,
.search-results #primary > article:not(:has(.more-link)) .entry-header::after {
  content: "Voir →";
  font-family: 'Raleway', Arial, sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  color: var(--mjc-rose-fonce);
  text-transform: uppercase;
}

.search-results #primary > article:not(:has(.more-link)) .entry-header::after {
  display: block;
  margin-top: 10px;
}

.search-results #primary > article .entry-footer {
  order: 3;
  position: relative;
  z-index: 2;
  margin: 0 !important;
  padding: 0 18px 12px !important;
}

/* Pagination */
.search-results #primary .navigation.pagination {
  grid-column: 1 / -1;
  margin: 16px 0 0 !important;
}

.search-results .nav-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}

.search-results .nav-links .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 42px;
  padding: 0 14px;
  border: 1px solid var(--mjc-rose) !important;
  border-radius: 999px;
  background: #fff;
  font-family: 'Raleway', Arial, sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: var(--mjc-rose-fonce) !important;
  text-decoration: none !important;
  box-sizing: border-box;
}

.search-results .nav-links .page-numbers.current,
.search-results .nav-links a.page-numbers:hover {
  background: var(--mjc-rose);
  color: #fff !important;
}

.search-results .nav-links .page-numbers.dots {
  border-color: transparent !important;
}

@media (max-width: 960px) {
  .search-results #primary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }
}

@media (max-width: 560px) {
  :is(.search-results, .search-no-results) .two_third {
    padding: 0 14px !important;
  }
  .search-results #primary {
    gap: 12px;
    padding: 24px 0 48px !important;
  }
  .search-results #primary > article .entry-header {
    padding: 12px 12px 0 !important;
  }
  .search-results #primary > article .entry-title {
    font-size: 14px !important;
  }
  .search-results #primary > article .entry-content {
    padding: 8px 12px 12px !important;
  }
}

/* ---------- Page « introuvable » (404, page 7482) ---------- */
.page-id-7482 .cd-fixed-bg-one.withoutimg {
  display: none !important;
}

.mjc-infos.mjc-404 .wp-block-search {
  max-width: 520px;
  margin: 8px auto 32px !important;
}

.mjc-infos.mjc-404 .mjc-infos__grille {
  margin-bottom: 20px !important;
}

.mjc-infos.mjc-404 .wp-block-search__inside-wrapper {
  display: flex;
  gap: 8px;
  padding: 0 !important;
  border: 0 !important;
}

.mjc-infos.mjc-404 .wp-block-search__input {
  flex: 1;
  height: 48px;
  padding: 0 20px !important;
  border: 1px solid var(--mjc-filet) !important;
  border-radius: 999px !important;
  background: var(--mjc-fond-clair) !important;
  font-family: 'Raleway', Arial, sans-serif;
  font-size: 16px !important;
  color: var(--mjc-encre) !important;
}

.mjc-infos.mjc-404 .wp-block-search__button {
  height: 48px;
  margin: 0 !important;
  padding: 0 24px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--mjc-rose) !important;
  font-family: 'Raleway', Arial, sans-serif;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .06em;
  color: #fff !important;
  text-transform: uppercase;
  cursor: pointer;
}

.mjc-infos.mjc-404 .wp-block-search__button:hover {
  background: var(--mjc-rose-fonce) !important;
}


/* ##### 32. BANDEAU COOKIES ET RECAPTCHA ##### */

/* =========================================================
   MJC Ronceray – Bandeau cookies (Cookie Notice) et reCAPTCHA
   Bandeau : fond encre, texte lisible, boutons « Accepter » et
   « Refuser » de même taille (exigence CNIL), lien « En savoir plus ».
   reCAPTCHA : le badge flottant est masqué ; la mention obligatoire
   est ajoutée sous le formulaire de contact (Contact Form 7).
   ========================================================= */

#cookie-notice {
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: none !important;
  background: var(--mjc-encre) !important;
  border-top: 4px solid var(--mjc-rose);
  box-shadow: 0 -8px 24px rgba(0, 0, 0, .18);
  font-family: 'Raleway', Arial, sans-serif !important;
  min-width: 0 !important;
}

#cookie-notice .cookie-notice-container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 14px 28px;
  max-width: 1100px;
  margin: 0 auto;
  padding: 18px 24px !important;
  box-sizing: border-box;
  text-align: left !important;
}

#cookie-notice #cn-notice-text {
  flex: 1 1 420px;
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: rgba(255, 255, 255, .85) !important;
}

#cookie-notice #cn-notice-buttons {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 0 !important;
}

#cookie-notice .cn-button {
  min-width: 120px;
  margin: 0 !important;
  padding: 11px 22px !important;
  border: 2px solid var(--mjc-rose) !important;
  border-radius: 999px !important;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  line-height: 1.2 !important;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color .2s, color .2s;
}

/* Accepter et Refuser : même taille, même poids visuel */
#cookie-notice #cn-accept-cookie,
#cookie-notice #cn-refuse-cookie {
  background: var(--mjc-rose) !important;
  color: #fff !important;
}

#cookie-notice #cn-accept-cookie:hover,
#cookie-notice #cn-refuse-cookie:hover {
  background: var(--mjc-rose-fonce) !important;
  border-color: var(--mjc-rose-fonce) !important;
}

/* En savoir plus : bouton discret */
#cookie-notice #cn-more-info {
  min-width: 0;
  background: transparent !important;
  border-color: rgba(255, 255, 255, .35) !important;
  color: #fff !important;
}

#cookie-notice #cn-more-info:hover {
  border-color: #fff !important;
}

#cookie-notice .cn-close-icon {
  display: none !important;
}

/* Après le choix : petit bouton « Gérer les cookies » en bas à gauche
   (au lieu d'un bandeau permanent) */
#cookie-notice.cookie-notice-hidden.cookie-revoke-visible {
  left: 16px !important;
  right: auto !important;
  bottom: 16px !important;
  width: auto !important;
  min-width: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

#cookie-notice .cookie-revoke-container {
  padding: 0 !important;
}

#cookie-notice #cn-revoke-text {
  display: none !important;
}

#cookie-notice #cn-revoke-cookie {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 8px 14px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--mjc-encre) !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, .2);
  font-size: 0 !important;
  line-height: 1 !important;
  cursor: pointer;
}

#cookie-notice #cn-revoke-cookie::after {
  content: "Gérer les cookies";
  font-family: 'Raleway', Arial, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  color: #fff;
  text-transform: uppercase;
}

#cookie-notice #cn-revoke-cookie:hover {
  background: var(--mjc-rose) !important;
}

@media (max-width: 640px) {
  #cookie-notice .cookie-notice-container {
    padding: 16px !important;
    gap: 12px;
  }
  #cookie-notice #cn-notice-text {
    flex-basis: 100%;
    font-size: 13px !important;
  }
  #cookie-notice #cn-notice-buttons {
    width: 100%;
  }
  #cookie-notice #cn-accept-cookie,
  #cookie-notice #cn-refuse-cookie {
    flex: 1 1 0;
    min-width: 0;
  }
  #cookie-notice #cn-more-info {
    flex: 1 1 100%;
  }
}

/* ---------- reCAPTCHA ---------- */
/* Badge flottant masqué (il cachait le bas de l'écran sur mobile).
   Google l'autorise si la mention est affichée près du formulaire. */
.grecaptcha-badge {
  visibility: hidden !important;
}

.wpcf7 .mjc-recaptcha-mention {
  margin: 14px 0 0 !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  color: var(--mjc-gris) !important;
}

.wpcf7 .mjc-recaptcha-mention a {
  color: var(--mjc-gris) !important;
  text-decoration: underline !important;
}


/* ##### 33. PAGE CONTACT ##### */

/* =========================================================
   MJC Ronceray – Page Contact (page 6810)
   Deux colonnes : coordonnées + plan à gauche, formulaire à droite.
   Les champs du formulaire (Contact Form 7) prennent le style du site :
   intitulés lisibles, champs arrondis, bouton rose.
   ========================================================= */

.mjc-infos .mjc-contact__grille,
.mjc-infos .mjc-contact__grille > .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr);
  align-items: start;
  gap: 24px;
}

.mjc-infos .mjc-contact__grille > .wp-block-group__inner-container {
  display: contents;
}

/* Plan Google */
.mjc-infos .mjc-contact__coordonnees iframe {
  display: block;
  width: 100% !important;
  height: 240px !important;
  margin: 18px 0 0 !important;
  border: 0 !important;
  border-radius: 14px;
}

/* ---------- Formulaire ---------- */
.mjc-contact .wpcf7 {
  margin: 0 !important;
}

.mjc-contact .wpcf7-form p {
  margin: 0 0 16px !important;
}

.mjc-contact .wpcf7-form label {
  display: block;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: 13px !important;
  font-style: normal !important;
  font-weight: 700 !important;
  letter-spacing: .02em;
  color: var(--mjc-encre) !important;
}

.mjc-contact .wpcf7-form label br {
  display: none;
}

.mjc-contact .wpcf7-form-control-wrap {
  display: block;
  margin-top: 6px;
}

.mjc-contact .wpcf7-form :is(input[type="text"], input[type="email"], input[type="tel"], select, textarea) {
  width: 100% !important;
  max-width: none !important;
  min-height: 46px;
  margin: 0 !important;
  padding: 10px 16px !important;
  border: 1px solid var(--mjc-filet) !important;
  border-radius: 12px !important;
  background: var(--mjc-fond-clair) !important;
  box-shadow: none !important;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: 16px !important;
  font-style: normal !important;
  color: var(--mjc-encre) !important;
  box-sizing: border-box;
  transition: border-color .2s, background-color .2s;
}

.mjc-contact .wpcf7-form select {
  appearance: none;
  padding-right: 44px !important;
  background: var(--mjc-fond-clair) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c9006d' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 16px center / 16px !important;
  cursor: pointer;
}

.mjc-contact .wpcf7-form textarea {
  min-height: 160px;
  height: 180px;
  resize: vertical;
}

.mjc-contact .wpcf7-form :is(input, select, textarea):focus {
  outline: none;
  border-color: var(--mjc-rose) !important;
  background-color: #fff !important;
  box-shadow: 0 0 0 3px rgba(237, 1, 129, .15) !important;
}

/* Bouton Envoyer */
.mjc-contact .wpcf7-form input[type="submit"] {
  display: inline-flex;
  min-width: 180px;
  margin: 4px 0 0 !important;
  padding: 14px 32px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--mjc-rose) !important;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  color: #fff !important;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .2s, transform .2s;
}

.mjc-contact .wpcf7-form input[type="submit"]:hover {
  background: var(--mjc-rose-fonce) !important;
  transform: translateY(-2px);
}

.mjc-contact .wpcf7-spinner {
  vertical-align: middle;
}

/* Messages d'erreur et de confirmation */
.mjc-contact .wpcf7-not-valid-tip {
  margin-top: 4px;
  font-size: 13px !important;
  color: #c0392b !important;
}

.mjc-contact .wpcf7 form .wpcf7-response-output {
  margin: 16px 0 0 !important;
  padding: 12px 16px !important;
  border-width: 0 0 0 4px !important;
  border-radius: 10px;
  background: var(--mjc-fond-clair);
  font-size: 14px !important;
}

.mjc-contact .wpcf7 form.sent .wpcf7-response-output {
  border-color: #46b450 !important;
  background: #eef8ef;
}

/* Mentions sous le formulaire */
.mjc-infos .mjc-contact__formulaire p.mjc-contact__rgpd,
.mjc-infos .mjc-contact__formulaire p.mjc-recaptcha-mention {
  margin: 14px 0 0 !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
  color: var(--mjc-gris) !important;
}

.mjc-infos .mjc-contact__formulaire p.mjc-contact__rgpd a,
.mjc-infos .mjc-contact__formulaire p.mjc-recaptcha-mention a {
  color: var(--mjc-gris) !important;
  border-bottom: 1px solid currentColor !important;
}

@media (max-width: 860px) {
  .mjc-infos .mjc-contact__grille,
  .mjc-infos .mjc-contact__grille > .wp-block-group__inner-container {
    grid-template-columns: 1fr;
  }
}


/* ##### 34. NEWSLETTER ET PAGES LÉGALES ##### */

/* =========================================================
   MJC Ronceray – Newsletter (page 8523), politique de confidentialité
   (page 3) et informations légales / CGV (page 1164)
   ========================================================= */

/* ---------- Newsletter ---------- */
.mjc-infos .mjc-newsletter__grille,
.mjc-infos .mjc-newsletter__grille > .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr);
  align-items: start;
  gap: 24px;
}

.mjc-infos .mjc-newsletter__grille > .wp-block-group__inner-container {
  display: contents;
}

/* Formulaire MailPoet */
.mjc-newsletter .mailpoet_form {
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
}

.mjc-newsletter .mailpoet_form .mailpoet_paragraph {
  margin: 0 0 16px !important;
}

.mjc-newsletter .mailpoet_form :is(.mailpoet_text_label, .mailpoet_checkbox_label, .mailpoet_segment_label, label) {
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: 13px !important;
  font-style: normal !important;
  font-weight: 700 !important;
  color: var(--mjc-encre) !important;
}

.mjc-newsletter .mailpoet_form input.mailpoet_text {
  display: block;
  width: 100% !important;
  max-width: none !important;
  height: 46px;
  margin: 6px 0 0 !important;
  padding: 10px 16px !important;
  border: 1px solid var(--mjc-filet) !important;
  border-radius: 12px !important;
  background: var(--mjc-fond-clair) !important;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: 16px !important;
  color: var(--mjc-encre) !important;
  box-sizing: border-box;
}

.mjc-newsletter .mailpoet_form input.mailpoet_text:focus {
  outline: none;
  border-color: var(--mjc-rose) !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(237, 1, 129, .15);
}

/* Cases à cocher des listes : pastilles */
.mjc-newsletter .mailpoet_form .mailpoet_checkbox_label {
  display: flex !important;
  align-items: center;
  gap: 10px;
  margin: 8px 0 0 !important;
  padding: 10px 14px !important;
  border: 1px solid var(--mjc-filet);
  border-radius: 12px;
  background: #fff;
  font-weight: 600 !important;
  cursor: pointer;
}

.mjc-newsletter .mailpoet_form .mailpoet_checkbox_label:has(input:checked) {
  border-color: var(--mjc-rose);
  background: var(--mjc-rose-pale);
}

.mjc-newsletter .mailpoet_form input.mailpoet_checkbox {
  width: 18px;
  height: 18px;
  margin: 0 !important;
  accent-color: var(--mjc-rose);
}

.mjc-newsletter .mailpoet_form input.mailpoet_submit {
  display: inline-block;
  width: auto !important;
  min-width: 200px;
  margin: 6px 0 0 !important;
  padding: 14px 32px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--mjc-rose) !important;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  color: #fff !important;
  text-transform: uppercase;
  cursor: pointer;
}

.mjc-newsletter .mailpoet_form input.mailpoet_submit:hover {
  background: var(--mjc-rose-fonce) !important;
}

.mjc-newsletter .mailpoet_message p {
  margin: 12px 0 0 !important;
  font-size: 14px !important;
}

.mjc-infos .mjc-newsletter__formulaire p.mjc-newsletter__rgpd {
  margin: 14px 0 0 !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
  color: var(--mjc-gris) !important;
}

.mjc-infos .mjc-newsletter__formulaire p.mjc-newsletter__rgpd a {
  color: var(--mjc-gris) !important;
  border-bottom: 1px solid currentColor !important;
}

@media (max-width: 860px) {
  .mjc-infos .mjc-newsletter__grille,
  .mjc-infos .mjc-newsletter__grille > .wp-block-group__inner-container {
    grid-template-columns: 1fr;
  }
  .mjc-infos .mjc-newsletter__formulaire {
    order: -1;
  }
}

/* ---------- Politique de confidentialité (texte suivi) ---------- */
.mjc-infos.mjc-legal {
  max-width: 760px;
  margin-left: auto !important;
  margin-right: auto !important;
}

.mjc-infos.mjc-legal h3 {
  margin: 34px 0 12px !important;
  padding-top: 0 !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  color: var(--mjc-encre) !important;
}

.mjc-infos.mjc-legal h3::before {
  content: "";
  display: block;
  width: 32px;
  height: 3px;
  margin-bottom: 12px;
  border-radius: 2px;
  background: var(--mjc-rose);
}

.mjc-infos.mjc-legal > p,
.mjc-infos.mjc-legal > .wp-block-group__inner-container > p {
  font-size: 16px !important;
  line-height: 1.75 !important;
}

.mjc-infos.mjc-legal a {
  color: var(--mjc-rose-fonce) !important;
  border-bottom: 1px solid currentColor !important;
}

.mjc-infos.mjc-legal .mjc-infos__carte h3 {
  margin-top: 0 !important;
}

.mjc-infos.mjc-legal .mjc-infos__tarifs strong {
  font-size: 15px !important;
  text-align: right;
}

/* ---------- Informations légales & CGV (ancienne mise en page) ---------- */
.page-id-1164 #primary .entry-content:not(:has(.mjc-legal)) {
  max-width: 820px;
  margin: 0 auto !important;
  padding: 40px 24px 64px !important;
  box-sizing: border-box;
}

.page-id-1164 #primary .entry-content:not(:has(.mjc-legal)),
.page-id-1164 #primary .entry-content:not(:has(.mjc-legal)) * {
  font-family: 'Raleway', Arial, sans-serif !important;
  font-style: normal !important;
  text-align: left !important;
}

.page-id-1164 #primary .entry-content:not(:has(.mjc-legal)) hr {
  display: none;
}

.page-id-1164 #primary .entry-content:not(:has(.mjc-legal)) h2 {
  margin: 0 0 8px !important;
  font-size: clamp(24px, 3vw, 32px) !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  color: var(--mjc-encre) !important;
}

.page-id-1164 #primary .entry-content:not(:has(.mjc-legal)) p {
  margin: 0 0 14px !important;
  font-size: 15px !important;
  line-height: 1.75 !important;
  color: var(--mjc-texte) !important;
}

/* Titres de parties (paragraphes en gras seuls) */
.page-id-1164 #primary .entry-content:not(:has(.mjc-legal)) p:has(> strong:only-child):not(:has(br)) {
  margin: 36px 0 12px !important;
  padding-top: 14px !important;
  border-top: 1px solid var(--mjc-filet);
}

.page-id-1164 #primary .entry-content:not(:has(.mjc-legal)) p > strong:only-child {
  font-size: 19px !important;
  font-weight: 800 !important;
  color: var(--mjc-encre) !important;
}

.page-id-1164 #primary .entry-content:not(:has(.mjc-legal)) a {
  color: var(--mjc-rose-fonce) !important;
  border-bottom: 1px solid currentColor !important;
  overflow-wrap: anywhere;
}

@media (max-width: 640px) {
  .page-id-1164 #primary .entry-content:not(:has(.mjc-legal)) {
    padding: 28px 8px 48px !important;
  }
}


/* ##### 35. PAGES DE CATÉGORIES D'ÉVÉNEMENTS ##### */

/* =========================================================
   MJC Ronceray – Pages de catégories d'événements
   (/catégories/spectacle-vivant/, /catégories/jeune-public-…/, etc.)
   Réglage MEC → Paramètres → Pages d'archive : catégorie en « Grille »,
   style « Clean ». Les cartes reprennent celles de l'Agenda (partie 13) ;
   ici : largeur, marges et titre de la page.
   ========================================================= */

.tax-mec_category #main-content {
  width: auto !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
  padding: 48px 24px 72px !important;
  box-sizing: border-box;
}

/* Titre : petit surtitre « Agenda », grand titre, trait rose */
.tax-mec_category #main-content > h1 {
  margin: 0 0 40px !important;
  padding: 0 !important;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: clamp(28px, 3.4vw, 40px) !important;
  font-weight: 800 !important;
  font-style: normal !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
  color: var(--mjc-encre) !important;
  text-align: center !important;
  text-transform: none !important;
}

.tax-mec_category #main-content > h1 * {
  font-style: normal !important;
}

.tax-mec_category #main-content > h1::before {
  content: "Agenda";
  display: block;
  margin-bottom: 10px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .16em;
  color: var(--mjc-rose-fonce);
  text-transform: uppercase;
}

.tax-mec_category #main-content > h1::after {
  content: "";
  display: block;
  width: 48px;
  height: 4px;
  margin: 16px auto 0;
  border-radius: 2px;
  background: var(--mjc-rose);
}

/* Aucun événement à venir : message centré dans une carte */
.tax-mec_category .mec-wrap .mec-skin-grid-events-container:not(:has(article)) {
  max-width: 560px;
  margin: 0 auto !important;
  padding: 28px 24px !important;
  border: 1px solid var(--mjc-filet);
  border-radius: 16px;
  background: var(--mjc-fond-clair);
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: 16px !important;
  color: var(--mjc-texte) !important;
  text-align: center;
}

/* Bouton « Charger plus » (le plugin l'appelle « En savoir plus ») */
.tax-mec_category .mec-wrap .mec-load-more-wrap {
  margin: 48px 0 0 !important;
  text-align: center;
}

.tax-mec_category .mec-wrap .mec-load-more-button {
  display: inline-block !important;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 14px 32px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--mjc-rose) !important;
  box-shadow: none !important;
  font-size: 0 !important;
  line-height: 1 !important;
  cursor: pointer;
}

.tax-mec_category .mec-wrap .mec-load-more-button::after {
  content: "Voir plus de dates";
  font-family: 'Raleway', Arial, sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .08em;
  color: #fff;
  text-transform: uppercase;
}

.tax-mec_category .mec-wrap .mec-load-more-button:hover {
  background: var(--mjc-rose-fonce) !important;
}

@media (max-width: 600px) {
  .tax-mec_category #main-content {
    padding: 28px 16px 48px !important;
  }
  .tax-mec_category #main-content > h1 {
    margin-bottom: 28px !important;
  }
}


/* ##### 36. COMPATIBILITÉ BLOCS WORDPRESS (TOUJOURS EN DERNIER) ##### */

/* =========================================================
   MJC Ronceray – Compatibilité « blocs WordPress »
   Permet aux pages construites en blocs (Groupe, Paragraphe,
   Liste, Boutons) de garder exactement le même rendu que les
   versions « HTML personnalisé ».
   À placer APRÈS tous les blocs de pages dans style.css.
   ========================================================= */

/* 1. WordPress ajoute une boîte intermédiaire dans chaque Groupe
      (thèmes classiques) : on la rend « transparente » pour que
      les grilles et colonnes fonctionnent comme avant. */
.mjc-infos .wp-block-group__inner-container {
  display: contents;
}

.mjc-infos .wp-block-group {
  box-sizing: border-box;
}

/* 2. Boutons WordPress = boutons MJC (contour rose) */
.mjc-infos .wp-block-button .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 24px !important;
  border: 2px solid var(--mjc-rose) !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: var(--mjc-rose-fonce) !important;
  font-family: 'Raleway', Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: .06em;
  text-transform: uppercase;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: background .2s, color .2s;
}

.mjc-infos .wp-block-button .wp-block-button__link:hover,
.mjc-infos .wp-block-button .wp-block-button__link:focus-visible {
  background: var(--mjc-rose) !important;
  color: #fff !important;
}

/* Bouton plein : ajouter la classe « mjc-btn--plein » au bloc Bouton
   (Réglages du bloc → Avancé → Classe(s) CSS additionnelle(s)) */
.mjc-infos .wp-block-button.mjc-btn--plein .wp-block-button__link {
  background: var(--mjc-rose) !important;
  color: #fff !important;
}

.mjc-infos .wp-block-button.mjc-btn--plein .wp-block-button__link:hover {
  background: var(--mjc-rose-fonce) !important;
  border-color: var(--mjc-rose-fonce) !important;
}

/* La classe « mjc-btn--plein » est posée sur le cadre du bouton :
   seul le lien à l'intérieur doit être coloré */
.mjc-infos .wp-block-button.mjc-btn--plein {
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
}

/* Rangées de boutons */
.mjc-infos .wp-block-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.mjc-infos .wp-block-buttons > .wp-block-button {
  margin: 0 !important;
}

.mjc-saison .wp-block-buttons.mjc-saison__actions {
  justify-content: center;
}

@media (max-width: 640px) {
  .mjc-saison .mjc-saison__actions > .wp-block-button {
    flex: 1 1 100%;
  }
  .mjc-saison .mjc-saison__actions .wp-block-button__link {
    width: 100%;
    box-sizing: border-box;
  }
}

/* 3. Listes : les puces du thème sont déjà gérées par nos classes ;
      on neutralise les marges ajoutées par WordPress */
.mjc-infos .wp-block-list {
  margin-left: 0;
}

/* 4. Marges : WordPress peut ajouter un espace au-dessus de chaque bloc ;
      on l'annule, nos propres règles gardent la main */
.mjc-infos :where(.wp-block-group, .wp-block-buttons, .wp-block-image, .wp-block-quote, ul, ol, p, h2, h3) {
  margin-block-start: 0;
}

/* 5. Boutons placés dans certaines zones */
.mjc-infos .wp-block-buttons.mjc-mission__lien {
  margin-top: 20px !important;
}

.mjc-infos .mjc-infos__bandeau .wp-block-buttons {
  flex: none;
}

.mjc-saison .mjc-saison__brochure-texte .wp-block-buttons {
  margin-top: 8px;
}

.mjc-infos .mjc-alambik__liens {
  gap: 14px 18px !important;
}

.mjc-infos .mjc-alambik__liens .wp-block-button__link {
  min-width: 180px;
  padding-left: 28px !important;
  padding-right: 28px !important;
  box-sizing: border-box;
}

@media (max-width: 640px) {
  .mjc-infos .mjc-mission__lien > .wp-block-button,
  .mjc-infos .mjc-infos__bandeau .wp-block-buttons,
  .mjc-infos .mjc-infos__bandeau .wp-block-button,
  .mjc-infos .mjc-alambik__liens .wp-block-button {
    flex: 1 1 100%;
    width: 100%;
  }
  .mjc-infos .mjc-mission__lien .wp-block-button__link,
  .mjc-infos .mjc-infos__bandeau .wp-block-button__link,
  .mjc-infos .mjc-alambik__liens .wp-block-button__link {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }
}

/* 6. Images (bloc Image) : la photo remplit son cadre
      (règles « faibles » : celles de chaque page restent prioritaires) */
.mjc-infos :where(figure.wp-block-image) {
  margin: 0;
  overflow: hidden;
}

.mjc-infos :where(figure.wp-block-image) img {
  display: block;
  width: 100%;
}

.mjc-infos figure.mjc-infos__photo img,
.mjc-infos figure.mjc-mission__photo img,
.mjc-infos .mjc-alambik__galerie figure img {
  height: 100% !important;
  object-fit: cover;
}

.mjc-infos .mjc-alambik__galerie figure {
  border-radius: 14px;
}

.mjc-infos .mjc-alambik__galerie figure:first-child {
  grid-column: span 2;
  grid-row: span 2;
}

@media (max-width: 860px) {
  .mjc-infos .mjc-alambik__galerie figure:last-child {
    grid-column: span 2;
  }
}

@media (max-width: 640px) {
  .mjc-infos .mjc-alambik__galerie figure {
    border-radius: 10px;
  }
}

/* Carte contact : le texte de gauche */
.mjc-infos .mjc-infos__carte--contact > .wp-block-group__inner-container > div:first-child p {
  margin: 0 !important;
}

/* 7. Listes de tarifs : intitulé (et précision en italique) à gauche,
      prix en gras à droite */
.mjc-infos .mjc-infos__tarifs li:not(:has(> span)) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: 16px;
  row-gap: 2px;
  align-items: start;
}

.mjc-infos .mjc-infos__tarifs li:not(:has(> span)) > strong {
  grid-column: 2;
  grid-row: 1;
}

.mjc-infos .mjc-infos__tarifs li:not(:has(> span)) > em {
  grid-column: 1;
  font-size: 13px;
  font-style: normal;
  color: var(--mjc-gris);
}

/* 8. Cartes « lieux » (page Superforma) : toute la carte est cliquable */
.mjc-infos div.mjc-lieux__carte {
  position: relative;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.mjc-infos div.mjc-lieux__carte::before {
  background: var(--mjc-rose);
}

.mjc-infos div.mjc-lieux__carte .mjc-rdv__nom a {
  color: inherit !important;
  text-decoration: none !important;
  border: 0 !important;
}

.mjc-infos div.mjc-lieux__carte .mjc-rdv__nom a::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
}

.mjc-infos div.mjc-lieux__carte:hover,
.mjc-infos div.mjc-lieux__carte:focus-within {
  transform: translateY(-3px);
  border-color: var(--mjc-rose) !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, .08);
}