/* ════════════════════════════════════════════════════════════
   AQM ORGANIQUE PLUS — V2
   Mix : fond hero aquarelle + ovales actualités + cercles "rejoindre"
   Toutes les règles scopées body.aqm-theme-organique
════════════════════════════════════════════════════════════ */

/* ════════════════════════════════════════════════════════════
   RESPONSIVE GRANDS ÉCRANS — version douce
   ───────────────────────────────────────────────────────────
   On élargit UNIQUEMENT les containers pour combler le vide
   sur les côtés. La typographie reste identique (le thème
   parent gère déjà très bien le scaling des textes).
════════════════════════════════════════════════════════════ */

/* ── Moniteur 2K (1600px+) : on respire un peu plus ── */
@media (min-width: 1600px) {
  #infos-pratiques .container,
  #news .container,
  #about .container,
  #join .container,
  #partners .container,
  #stats .container,
  .aqm-page-body .container { max-width: 1320px !important; }
}

/* ── FullHD (1920px+) : containers à 1440px ── */
@media (min-width: 1920px) {
  #infos-pratiques .container,
  #news .container,
  #about .container,
  #join .container,
  #partners .container,
  #stats .container,
  .aqm-page-body .container { max-width: 1440px !important; }
}

/* ── 4K / TV / Projecteur (2400px+) : containers à 1600px ── */
@media (min-width: 2400px) {
  #infos-pratiques .container,
  #news .container,
  #about .container,
  #join .container,
  #partners .container,
  #stats .container,
  .aqm-page-body .container { max-width: 1600px !important; }
}

/* ────────────── Animations ────────────── */
@keyframes aqm-drift-slow {
  0%, 100% { transform: translate(0, 0) scale(1); }
  50%      { transform: translate(-30px, 40px) scale(1.08); }
}
@keyframes aqm-morph {
  0%, 100% { border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%; }
  50%      { border-radius: 30% 60% 70% 40% / 50% 60% 30% 60%; }
}
@keyframes aqm-watercolor {
  0%, 100% { transform: translate(0, 0) scale(1); opacity: .55; }
  33%      { transform: translate(40px, -30px) scale(1.1); opacity: .7; }
  66%      { transform: translate(-40px, 30px) scale(.95); opacity: .5; }
}

/* ════════════════════════════════════════════════════════════
   HERO — Fond aquarelle multicolore (pêche / corail / mint / teal)
════════════════════════════════════════════════════════════ */
body.aqm-theme-organique #hero {
  position: relative;
  overflow: hidden;
  background: var(--bg) !important;
  isolation: isolate;
}
/* 4 grands blobs flous qui se mélangent en fond */
body.aqm-theme-organique #hero::before,
body.aqm-theme-organique #hero::after,
body.aqm-theme-organique #hero .hero-blob-1,
body.aqm-theme-organique #hero .hero-blob-2 {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 0;
  border-radius: 50%;
  filter: blur(80px);
  animation: aqm-watercolor 22s ease-in-out infinite;
}
body.aqm-theme-organique #hero::before {
  width: 60vw; height: 60vw;
  top: -15%; left: -10%;
  background: radial-gradient(circle, #FFB69D 0%, transparent 70%);
}
body.aqm-theme-organique #hero::after {
  width: 55vw; height: 55vw;
  top: 10%; right: -12%;
  background: radial-gradient(circle, #B4E5DD 0%, transparent 70%);
  animation-delay: -7s;
  animation-duration: 26s;
}
/* Pour ajouter 2 blobs supplémentaires sans toucher au HTML, on utilise
   un pseudo-élément sur .hero-inner ou .hero (mais ils sont déjà occupés).
   On dispose donc d'un overlay supplémentaire via box-shadow translucide. */
body.aqm-theme-organique #hero .container,
body.aqm-theme-organique #hero .hero-inner {
  position: relative;
  z-index: 1;
}
/* Petits halos additionnels via les bordures pseudo */
body.aqm-theme-organique #hero {
  background:
    radial-gradient(circle at 15% 80%, rgba(255,179,154,.5) 0%, transparent 35%),
    radial-gradient(circle at 85% 60%, rgba(180,229,221,.5) 0%, transparent 40%),
    radial-gradient(circle at 50% 30%, rgba(255,210,196,.4) 0%, transparent 45%),
    radial-gradient(circle at 70% 90%, rgba(214,160,53,.25) 0%, transparent 30%),
    var(--bg) !important;
}
/* En mode sombre on garde la même magie mais en plus saturée */
[data-theme="dark"] body.aqm-theme-organique #hero,
body.aqm-theme-organique[data-theme="dark"] #hero {
  background:
    radial-gradient(circle at 15% 80%, rgba(232,130,93,.35) 0%, transparent 40%),
    radial-gradient(circle at 85% 60%, rgba(31,188,188,.3) 0%, transparent 45%),
    radial-gradient(circle at 50% 30%, rgba(214,160,53,.2) 0%, transparent 45%),
    radial-gradient(circle at 70% 90%, rgba(142,34,48,.25) 0%, transparent 35%),
    var(--bg) !important;
}

/* ════════════════════════════════════════════════════════════
   STATS — Pas de pétale ici (on garde le bandeau bottom du hero
   plus propre). On laisse les chiffres tels quels.
════════════════════════════════════════════════════════════ */

/* ════════════════════════════════════════════════════════════
   ACTUALITÉS — Images en OVALE pur (sans animation morph)
════════════════════════════════════════════════════════════ */
body.aqm-theme-organique #news .news-card-img,
body.aqm-theme-organique .news-list .news-card-img {
  border-radius: 50% / 38% !important;        /* ellipse propre */
  overflow: hidden !important;
  transition: transform .5s cubic-bezier(.22,.61,.36,1), box-shadow .5s !important;
  box-shadow: 0 20px 50px -22px rgba(43,26,18,.45) !important;
}
body.aqm-theme-organique #news .news-card-img:hover,
body.aqm-theme-organique .news-list .news-card-img:hover {
  transform: translateY(-8px) scale(1.02) !important;
  box-shadow: 0 30px 60px -22px rgba(43,26,18,.55) !important;
}
body.aqm-theme-organique #news .news-card-img img {
  transition: transform 1s cubic-bezier(.22,.61,.36,1) !important;
}

/* Sur l'archive d'actualités (body.aqm-news-archive-page) — appliquer aussi */
body.aqm-theme-organique.aqm-news-archive-page .news-list .news-card-img {
  aspect-ratio: 5/4 !important;
}

/* ════════════════════════════════════════════════════════════
   INFOS PRATIQUES — Coins fluides, gros bandeau couleur
════════════════════════════════════════════════════════════ */
body.aqm-theme-organique #infos-pratiques .info-card {
  border-radius: 32px 32px 48px 32px !important;
  transition: border-radius .6s ease, transform .4s, box-shadow .4s !important;
}
body.aqm-theme-organique #infos-pratiques .info-card:nth-child(odd) {
  border-radius: 32px 48px 32px 32px !important;
}
body.aqm-theme-organique #infos-pratiques .info-card:hover {
  border-radius: 24px !important;
}
body.aqm-theme-organique #infos-pratiques .info-card::before {
  height: 6px !important;
}
body.aqm-theme-organique #infos-pratiques .info-card-img {
  border-radius: 28px 28px 0 0 !important;
}
/* Blobs en fond — retirés (::before moutarde du parent + ::after teal) */
body.aqm-theme-organique #infos-pratiques::before,
body.aqm-theme-organique #infos-pratiques::after {
  display: none !important;
}

/* ════════════════════════════════════════════════════════════
   NOS ACTIONS — Blobs flottants + cartes arrondies
════════════════════════════════════════════════════════════ */
body.aqm-theme-organique #actions {
  position: relative;
  overflow: hidden;
}
body.aqm-theme-organique #actions::before,
body.aqm-theme-organique #actions::after {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 0;
  filter: blur(70px);
  border-radius: 50%;
  animation: aqm-watercolor 30s ease-in-out infinite;
}
body.aqm-theme-organique #actions::before,
body.aqm-theme-organique #actions::after {
  display: none !important;
}
body.aqm-theme-organique #actions > * { position: relative; z-index: 1; }
/* Mode sombre — blobs #actions atténués */
[data-theme="dark"] body.aqm-theme-organique #actions::before,
body.aqm-theme-organique[data-theme="dark"] #actions::before { opacity: .06 !important; }
[data-theme="dark"] body.aqm-theme-organique #actions::after,
body.aqm-theme-organique[data-theme="dark"] #actions::after { opacity: .07 !important; }

body.aqm-theme-organique .action-card {
  border-radius: 40px 40px 60px 40px !important;
  transition: border-radius .6s ease, transform .4s, box-shadow .4s !important;
}
body.aqm-theme-organique .action-card:nth-child(even) {
  border-radius: 40px 40px 40px 60px !important;
}
body.aqm-theme-organique .action-card:hover {
  border-radius: 32px !important;
  transform: translateY(-8px) !important;
}

/* Cartes modules (action-cell) — pétales asymétriques colorés */
body.aqm-theme-organique .action-cell {
  position: relative;
  border-radius: 36px 14px 36px 14px !important;
  padding: 2rem 1.6rem !important;
  background: var(--bg-surf) !important;
  box-shadow: 0 22px 50px -24px rgba(43,26,18,.3) !important;
  overflow: hidden !important;
  transition: border-radius .6s ease, transform .4s, box-shadow .4s !important;
}
body.aqm-theme-organique .action-cell:nth-child(even) {
  border-radius: 14px 36px 14px 36px !important;
}
body.aqm-theme-organique .action-cell:hover {
  border-radius: 28px !important;
  transform: translateY(-8px) !important;
  box-shadow: 0 32px 70px -24px rgba(43,26,18,.4) !important;
}
/* Carte cliquable : focus clavier visible + petit chevron au hover */
body.aqm-theme-organique .action-cell[role="link"]:focus-visible {
  outline: 3px solid #E8825D !important;
  outline-offset: 4px !important;
  border-radius: 28px !important;
}
body.aqm-theme-organique .action-cell[role="link"]::after {
  content: "→";
  position: absolute;
  bottom: 1.2rem;
  right: 1.4rem;
  font-size: 1.4rem;
  color: #E8825D;
  opacity: 0;
  transform: translateX(-6px);
  transition: opacity .3s ease, transform .3s ease;
  pointer-events: none;
  z-index: 2;
}
body.aqm-theme-organique .action-cell[role="link"]:hover::after {
  opacity: 1;
  transform: translateX(0);
}
body.aqm-theme-organique .action-cell > * {
  position: relative;
  z-index: 1;
}

/* Bande accent — plus ronde et plus marquée */
body.aqm-theme-organique .action-cell .action-accent {
  width: 48px !important;
  height: 6px !important;
  border-radius: 999px !important;
  margin-bottom: 1.1rem !important;
}

/* Titre du module — serif + couleur d'accent */
body.aqm-theme-organique .action-cell h3 {
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: 1.35rem !important;
  font-weight: 800 !important;
  letter-spacing: -.01em;
  margin: 0 0 .8rem !important;
  color: var(--ink) !important;
}

/* Accroche mise en valeur : 1er <strong> du paragraphe = phrase d'accroche */
body.aqm-theme-organique .action-cell p {
  font-size: .95rem !important;
  line-height: 1.6 !important;
  color: var(--ink-2) !important;
  margin: 0 0 .9rem !important;
}
body.aqm-theme-organique .action-cell p strong:first-child {
  display: block;
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 700;
  font-style: italic;
  font-size: 1rem;
  line-height: 1.4;
  color: var(--ink);
  margin-bottom: .6rem;
  padding-left: .9rem;
  border-left: 3px solid #E8825D;
}

/* Badge tag — pilule plus douce */
body.aqm-theme-organique .action-cell .action-tag {
  display: inline-block;
  border-radius: 999px !important;
  padding: .35rem .9rem !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  letter-spacing: .06em;
  text-transform: uppercase;
}

/* La grille passe à 3-4 colonnes selon largeur pour bien afficher 7 modules */
@media (min-width: 1100px) {
  body.aqm-theme-organique .actions-grid {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}
/* Tablette : 2 colonnes confortables */
@media (min-width: 700px) and (max-width: 1099px) {
  body.aqm-theme-organique .actions-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 1.6rem !important;
  }
  body.aqm-theme-organique .action-cell {
    padding: 1.8rem 1.5rem !important;
    border-radius: 32px 12px 32px 12px !important;
  }
  body.aqm-theme-organique .action-cell:nth-child(even) {
    border-radius: 12px 32px 12px 32px !important;
  }
  body.aqm-theme-organique .action-cell h3 {
    font-size: 1.25rem !important;
  }
  body.aqm-theme-organique .action-cell p {
    font-size: .92rem !important;
    line-height: 1.55 !important;
  }
  body.aqm-theme-organique #actions {
    padding: 4rem 0 !important;
  }
}
/* Mobile : 1 colonne */
@media (max-width: 699px) {
  body.aqm-theme-organique .actions-grid {
    grid-template-columns: 1fr !important;
    gap: 1.2rem !important;
  }
  body.aqm-theme-organique .action-cell {
    padding: 1.6rem 1.3rem !important;
    border-radius: 28px 14px 28px 14px !important;
  }
  body.aqm-theme-organique .action-cell h3 {
    font-size: 1.2rem !important;
  }
}

/* ════════════════════════════════════════════════════════════
   2 VOLETS — Cartes colorées asymétriques + citation magnifiée
════════════════════════════════════════════════════════════ */
body.aqm-theme-organique #about,
body.aqm-theme-organique .about,
body.aqm-theme-organique section:has(> .container > .about-grid) {
  position: relative;
  overflow: hidden;
}
/* Halo coloré derrière la section */
body.aqm-theme-organique .about-grid {
  position: relative;
  gap: 2rem !important;
}
body.aqm-theme-organique .about-grid::before,
body.aqm-theme-organique .about-grid::after {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 0;
  filter: blur(80px);
  border-radius: 50%;
  animation: aqm-watercolor 28s ease-in-out infinite;
}
body.aqm-theme-organique .about-grid::before,
body.aqm-theme-organique .about-grid::after {
  display: none !important;
}
/* Mode sombre — halos #about atténués */
[data-theme="dark"] body.aqm-theme-organique .about-grid::before,
body.aqm-theme-organique[data-theme="dark"] .about-grid::before,
[data-theme="dark"] body.aqm-theme-organique .about-grid::after,
body.aqm-theme-organique[data-theme="dark"] .about-grid::after {
  opacity: .06 !important;
}

/* CARTES VOLET — coins asymétriques marqués, large padding, bord couleur */
body.aqm-theme-organique .volet {
  position: relative;
  z-index: 1;
  background: var(--bg-surf) !important;
  border: none !important;
  border-radius: 60px 24px 60px 24px !important;
  padding: 3rem 2.5rem !important;
  box-shadow: 0 28px 60px -28px rgba(43,26,18,.35) !important;
  overflow: hidden !important;
  transition: transform .4s cubic-bezier(.22,.61,.36,1), box-shadow .4s ease !important;
}
body.aqm-theme-organique .volet:nth-child(2) {
  border-radius: 24px 60px 24px 60px !important;
}
body.aqm-theme-organique .volet:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 36px 80px -28px rgba(43,26,18,.5) !important;
}

/* Couleur d'accent par volet — gros liseré coloré en haut */
body.aqm-theme-organique .volet::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 6px;
  background: linear-gradient(90deg, #E8825D 0%, #FFB69D 100%);
}
body.aqm-theme-organique .volet:nth-child(2)::before {
  background: linear-gradient(90deg, #136669 0%, #6FCFAF 100%);
}

/* Blobs colorés décoratifs supprimés à la demande — cartes nettes */
body.aqm-theme-organique .volet::after {
  display: none !important;
}
body.aqm-theme-organique .volet:nth-child(2)::after {
  display: none !important;
  right: auto;
}
body.aqm-theme-organique .volet > * { position: relative; z-index: 1; }

/* Tag du volet — pastille colorée plus grosse */
body.aqm-theme-organique .volet-tag {
  display: inline-flex !important;
  align-items: center !important;
  gap: .5rem !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: .72rem !important;
  font-weight: 800 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  color: #E8825D !important;
  background: rgba(232, 130, 93, .14) !important;
  padding: 8px 16px !important;
  border-radius: 999px !important;
  margin-bottom: 1.2rem !important;
}
body.aqm-theme-organique .volet:nth-child(2) .volet-tag {
  color: #136669 !important;
  background: rgba(19, 102, 105, .14) !important;
}
body.aqm-theme-organique .volet-tag::before {
  content: "●";
  font-size: 1.2em;
  line-height: 1;
}

/* Titre h3 du volet — plus grand, plus serif */
body.aqm-theme-organique .volet h3 {
  font-family: 'Fraunces', Georgia, serif !important;
  font-weight: 800 !important;
  font-size: clamp(1.4rem, 2.4vw, 1.9rem) !important;
  line-height: 1.15 !important;
  letter-spacing: -.015em !important;
  margin: 0 0 1rem !important;
  color: var(--ink) !important;
}

/* Liste des items — puces colorées en gros tirets */
body.aqm-theme-organique .volet ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 1.5rem 0 0 !important;
}
body.aqm-theme-organique .volet ul li {
  position: relative;
  padding-left: 1.8rem !important;
  margin-bottom: .7rem !important;
  font-size: .98rem !important;
  line-height: 1.5 !important;
  color: var(--ink-2) !important;
}
body.aqm-theme-organique .volet ul li::before {
  content: "→";
  position: absolute;
  left: 0;
  top: 0;
  color: #E8825D !important;
  font-weight: 800;
  font-size: 1.1em;
}
body.aqm-theme-organique .volet:nth-child(2) ul li::before {
  color: #136669 !important;
}

/* CITATION — Carte avec énorme guillemet en gradient */
body.aqm-theme-organique .quote-strip {
  position: relative;
  z-index: 1;
  background: var(--bg-surf) !important;
  border: 1px solid var(--border) !important;
  border-radius: 40px 16px 40px 16px !important;
  padding: 3rem 3rem 3rem 6rem !important;
  margin-top: 4rem !important;
  transition: transform .4s cubic-bezier(.22,.61,.36,1), box-shadow .4s ease !important;
  overflow: hidden !important;
}
body.aqm-theme-organique .quote-strip:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 30px 70px -28px rgba(43,26,18,.4) !important;
}
body.aqm-theme-organique .quote-strip::before {
  display: none !important;
}
body.aqm-theme-organique .quote-strip > * { position: relative; z-index: 1; }

/* Guillemet géant en gradient */
body.aqm-theme-organique .quote-strip .quote-mark {
  font-family: 'Fraunces', Georgia, serif !important;
  font-style: italic !important;
  font-weight: 900 !important;
  font-size: 8rem !important;
  line-height: .8 !important;
  position: absolute !important;
  top: 1.5rem !important;
  left: 1.5rem !important;
  background: linear-gradient(135deg, #8E2230 0%, #E8825D 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
  opacity: .9 !important;
}

body.aqm-theme-organique .quote-strip .quote-text {
  font-family: 'Fraunces', Georgia, serif !important;
  font-style: italic !important;
  font-weight: 600 !important;
  font-size: clamp(1.3rem, 2.6vw, 1.9rem) !important;
  line-height: 1.3 !important;
  letter-spacing: -.01em !important;
  color: var(--ink) !important;
  margin: 0 0 1rem !important;
  max-width: 720px !important;
}

body.aqm-theme-organique .quote-strip .quote-author {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: .82rem !important;
  font-weight: 700 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  color: var(--ink-3) !important;
  margin: 0 !important;
}
body.aqm-theme-organique .quote-strip .quote-author::before {
  content: "— ";
  color: #E8825D;
  font-weight: 800;
}

/* Responsive : sur mobile, les coins asymétriques deviennent plus doux */
@media (max-width: 800px) {
  body.aqm-theme-organique .volet,
  body.aqm-theme-organique .volet:nth-child(2) {
    border-radius: 28px !important;
    padding: 2.2rem 1.8rem !important;
  }
  body.aqm-theme-organique .quote-strip {
    border-radius: 24px !important;
    padding: 2.5rem 1.8rem !important;
  }
  body.aqm-theme-organique .quote-strip .quote-mark {
    font-size: 5rem !important;
    top: .5rem !important;
    left: 1rem !important;
  }
}

/* ════════════════════════════════════════════════════════════
   PARTENAIRES — Légère respiration sur les logos
════════════════════════════════════════════════════════════ */
body.aqm-theme-organique .marquee-track > *,
body.aqm-theme-organique .partners-grid > * {
  transition: transform .35s ease;
}
body.aqm-theme-organique .marquee-track > *:hover,
body.aqm-theme-organique .partners-grid > *:hover {
  transform: scale(1.1);
}

/* ════════════════════════════════════════════════════════════
   NOUS REJOINDRE — GROSSES FORMES PÉTALES + NUMÉROS GRADIENT
   C'est le "money shot" du style organique
════════════════════════════════════════════════════════════ */
body.aqm-theme-organique #join {
  position: relative;
  overflow: hidden;
  background: var(--bg-alt) !important;
}
/* Blobs #join retirés */
body.aqm-theme-organique #join::before,
body.aqm-theme-organique #join::after {
  display: none !important;
}
body.aqm-theme-organique #join > * { position: relative; z-index: 1; }

/* La grille des 3 cellules : forcer aération */
body.aqm-theme-organique .join-grid {
  gap: 2rem !important;
  align-items: center !important;
}

/* Chaque cellule = GROSSE FORME ovale/pétale, fond crème, padding énorme */
body.aqm-theme-organique .join-cell {
  position: relative;
  background: var(--bg-surf) !important;
  border: none !important;
  border-radius: 50% / 45% !important;          /* gros ovale */
  padding: 4rem 2.8rem !important;
  text-align: center !important;
  aspect-ratio: 1 / 1.05;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  box-shadow: 0 30px 80px -30px rgba(43,26,18,.35) !important;
  transition: border-radius .8s ease, transform .5s, box-shadow .5s !important;
  animation: aqm-morph 22s ease-in-out infinite;
}
body.aqm-theme-organique .join-cell:nth-child(2) {
  animation-delay: -7s;
  animation-duration: 26s;
}
body.aqm-theme-organique .join-cell:nth-child(3) {
  animation-delay: -14s;
  animation-duration: 28s;
}
body.aqm-theme-organique .join-cell:hover {
  border-radius: 50px !important;
  transform: translateY(-10px) scale(1.02) !important;
  box-shadow: 0 40px 100px -30px rgba(43,26,18,.5) !important;
}

/* Le numéro : ÉNORME, italic Fraunces, gradient bordeaux→corail */
body.aqm-theme-organique .join-cell .join-num {
  font-family: 'Fraunces', Georgia, serif !important;
  font-style: italic !important;
  font-weight: 800 !important;
  font-size: clamp(4rem, 7vw, 6rem) !important;
  line-height: 1 !important;
  margin: 0 0 1rem !important;
  background: linear-gradient(135deg, #8E2230 0%, #E8825D 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}

body.aqm-theme-organique .join-cell h3 {
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  margin: 0 0 .8rem !important;
  color: var(--ink) !important;
}

body.aqm-theme-organique .join-cell p {
  font-size: .95rem !important;
  line-height: 1.55 !important;
  color: var(--ink-2) !important;
  max-width: 220px !important;
  margin: 0 auto !important;
}

/* Responsive : sur petit écran, les ovales deviennent juste arrondis */
@media (max-width: 900px) {
  body.aqm-theme-organique .join-cell {
    aspect-ratio: auto !important;
    border-radius: 32px !important;
    padding: 2.5rem 2rem !important;
    animation: none !important;
  }
  body.aqm-theme-organique .join-cell:hover { border-radius: 24px !important; }
}

/* ════════════════════════════════════════════════════════════
   QUI SOMMES-NOUS ? (#status) — Pétale + blobs aquarelle
   Mise en valeur du long texte de présentation
════════════════════════════════════════════════════════════ */
body.aqm-theme-organique #status {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: 7rem 0 6rem !important;
  background: var(--bg) !important;
}
/* Blobs #status retirés (fond neutre) */
body.aqm-theme-organique #status::before,
body.aqm-theme-organique #status::after {
  display: none !important;
}

/* En-tête : label en pilule colorée, titre serif puissant */
body.aqm-theme-organique #status .status-header {
  margin-bottom: 4rem !important;
}
/* Label + titre : style standard identique aux autres sections (pas de pilule, pas de dégradé) */

/* Carte texte organique : coins asymétriques, dégradé doux, ombre douce */
body.aqm-theme-organique #status .status-content {
  position: relative;
  z-index: 1;
  background: var(--bg-surf);
  border-radius: 60px 24px 60px 24px;
  padding: 3rem 3rem 2.5rem !important;
  box-shadow: 0 28px 70px -28px rgba(43,26,18,.32);
  overflow: hidden;
  transition: transform .4s cubic-bezier(.22,.61,.36,1), box-shadow .4s ease;
}
body.aqm-theme-organique #status .status-content:hover {
  transform: translateY(-5px);
  box-shadow: 0 36px 90px -28px rgba(43,26,18,.42);
}
/* Liseré dégradé en haut de la carte */
body.aqm-theme-organique #status .status-content::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 6px;
  background: linear-gradient(90deg, #E8825D 0%, #D6A035 50%, #136669 100%);
}
/* Blob décoratif supprimé — fond propre */
body.aqm-theme-organique #status .status-content::after {
  display: none !important;
}

/* Texte : confort de lecture pour un long paragraphe */
body.aqm-theme-organique #status .status-text {
  position: relative;
  z-index: 1;
  font-size: 1.05rem !important;
  line-height: 1.8 !important;
  color: var(--ink-2);
  column-gap: 2.5rem;
}
body.aqm-theme-organique #status .status-text p {
  margin: 0 0 1.1rem !important;
}
/* Lettrine sur le premier paragraphe */
body.aqm-theme-organique #status .status-text p:first-of-type::first-letter {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 900;
  font-size: 4.2rem;
  line-height: .85;
  float: left;
  padding: .35rem .8rem 0 0;
  color: #E8825D;
  background: linear-gradient(135deg, #E8825D 0%, #D6A035 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
body.aqm-theme-organique #status .status-text strong {
  color: #136669;
  font-weight: 700;
  background: linear-gradient(180deg, transparent 65%, rgba(31,188,188,.22) 65%);
  padding: 0 .15em;
}

/* Stats : chaque chiffre dans une bulle organique colorée */
body.aqm-theme-organique #status .status-stats {
  border-top: none !important;
  padding-top: 2rem !important;
  margin-top: 1rem;
  position: relative;
  gap: 1.25rem !important;
}
body.aqm-theme-organique #status .status-stats::before {
  content: "";
  position: absolute;
  top: 0; left: 10%; right: 10%;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(232,130,93,.5) 30%, rgba(19,102,105,.5) 70%, transparent);
  border-radius: 2px;
}
body.aqm-theme-organique #status .status-stat {
  position: relative;
  padding: 1.4rem 1.2rem !important;
  border-radius: 30px 12px 30px 12px;
  background: var(--bg-surf);
  border: 1px solid var(--border);
  transition: transform .4s ease, border-radius .6s ease, box-shadow .4s ease;
  overflow: hidden;
}
body.aqm-theme-organique #status .status-stat:nth-child(2) {
  border-radius: 12px 30px 12px 30px;
}
body.aqm-theme-organique #status .status-stat:hover {
  transform: translateY(-4px);
  border-radius: 20px !important;
  box-shadow: 0 18px 40px -18px rgba(43,26,18,.3);
}
body.aqm-theme-organique #status .status-stat-n {
  background: linear-gradient(120deg, #E8825D 0%, #D6A035 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
  font-size: clamp(1.9rem, 3.2vw, 2.5rem) !important;
}
body.aqm-theme-organique #status .status-stat:nth-child(2) .status-stat-n {
  background: linear-gradient(120deg, #D6A035 0%, #8B3A1A 100%);
  -webkit-background-clip: text;
  background-clip: text;
}
body.aqm-theme-organique #status .status-stat:nth-child(3) .status-stat-n {
  background: linear-gradient(120deg, #1FBCBC 0%, #136669 100%);
  -webkit-background-clip: text;
  background-clip: text;
}
body.aqm-theme-organique #status .status-stat-l {
  color: var(--ink-2) !important;
  font-size: .82rem !important;
}

/* Visuel à droite : forme pétale qui morphe doucement
   (uniquement quand il y a une vraie image — le placeholder est masqué) */
body.aqm-theme-organique #status .status-visual--placeholder {
  display: none !important;
}
body.aqm-theme-organique #status .status-visual {
  position: relative;
  z-index: 1;
  border-radius: 60% 40% 55% 45% / 50% 60% 40% 50% !important;
  width: 100% !important;
  max-width: 440px !important;
  height: auto !important;
  aspect-ratio: 4/5 !important;
  margin: 0 auto !important;
  overflow: hidden !important;
  box-shadow: 0 35px 70px -25px rgba(43,26,18,.45);
  animation: aqm-morph 18s ease-in-out infinite;
  transition: transform .6s cubic-bezier(.22,.61,.36,1), box-shadow .6s;
}
body.aqm-theme-organique #status .status-visual img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: inherit !important;
}
/* Contrainte sur la grille pour éviter tout débordement */
body.aqm-theme-organique #status .status-grid {
  align-items: center;
}
body.aqm-theme-organique #status .status-grid > .status-visual,
body.aqm-theme-organique #status .status-grid > .status-visual--placeholder {
  justify-self: center;
  min-width: 0;
}
body.aqm-theme-organique #status .status-visual:hover {
  transform: translateY(-8px) rotate(-1deg);
  box-shadow: 0 45px 90px -25px rgba(43,26,18,.55);
}
/* Halo coloré derrière la photo — retiré */
body.aqm-theme-organique #status .status-visual::before {
  display: none !important;
}
body.aqm-theme-organique #status .status-visual img {
  border-radius: inherit;
}

/* Mode sombre — halos très atténués pour un rendu naturel */
[data-theme="dark"] body.aqm-theme-organique #status,
body.aqm-theme-organique[data-theme="dark"] #status {
  background:
    radial-gradient(circle at 12% 18%, rgba(232,130,93,.06) 0%, transparent 48%),
    radial-gradient(circle at 88% 82%, rgba(31,188,188,.05) 0%, transparent 50%),
    var(--bg) !important;
}

/* Responsive — Tablette (700-1024px) */
@media (min-width: 700px) and (max-width: 1024px) {
  body.aqm-theme-organique #status {
    padding: 4.5rem 0 4rem !important;
  }
  body.aqm-theme-organique #status .status-grid {
    grid-template-columns: 1fr !important;
    gap: 2.5rem !important;
  }
  body.aqm-theme-organique #status .status-content {
    padding: 2.4rem 2rem 2rem !important;
    border-radius: 48px 20px 48px 20px;
  }
  body.aqm-theme-organique #status .status-text {
    font-size: 1rem !important;
    line-height: 1.7 !important;
  }
  body.aqm-theme-organique #status .status-text p:first-of-type::first-letter {
    font-size: 3.6rem;
    padding: .2rem .6rem 0 0;
  }
  body.aqm-theme-organique #status .status-visual {
    max-width: 380px !important;
    aspect-ratio: 5/4 !important;
  }
  body.aqm-theme-organique #status .status-stats {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 1rem !important;
  }
  body.aqm-theme-organique #status .status-stat {
    padding: 1.1rem .9rem !important;
  }
}

/* Mobile (< 700px) */
@media (max-width: 699px) {
  body.aqm-theme-organique #status { padding: 4rem 0 3.5rem !important; }
  body.aqm-theme-organique #status .status-content {
    padding: 2rem 1.4rem 1.8rem !important;
    border-radius: 36px 16px 36px 16px;
  }
  body.aqm-theme-organique #status .status-text {
    font-size: .98rem !important;
    line-height: 1.65 !important;
  }
  body.aqm-theme-organique #status .status-text p:first-of-type::first-letter {
    font-size: 3rem;
    padding: .15rem .5rem 0 0;
  }
  body.aqm-theme-organique #status .status-stats {
    grid-template-columns: 1fr 1fr !important;
    gap: .8rem !important;
  }
  body.aqm-theme-organique #status .status-stat:nth-child(3) {
    grid-column: 1 / -1;
  }
  body.aqm-theme-organique #status .status-stat {
    padding: 1rem .8rem !important;
  }
  body.aqm-theme-organique #status .status-visual {
    max-width: 320px !important;
  }
}

/* ════════════════════════════════════════════════════════════
   BOUTONS — Pilule asymétrique au hover
════════════════════════════════════════════════════════════ */
body.aqm-theme-organique .btn,
body.aqm-theme-organique .btn-solid,
body.aqm-theme-organique .btn-ghost {
  border-radius: 999px !important;
  transition: border-radius .5s ease, transform .3s, box-shadow .3s, background .25s !important;
}
body.aqm-theme-organique .btn:hover,
body.aqm-theme-organique .btn-solid:hover,
body.aqm-theme-organique .btn-ghost:hover {
  border-radius: 24px 999px 999px 24px !important;
  transform: translateY(-2px) !important;
}

/* ════════════════════════════════════════════════════════════
   PAGE ARTICLE SINGLE — Image principale en OVALE
   (cohérence avec le screenshot du single)
════════════════════════════════════════════════════════════ */
body.aqm-theme-organique .article-card-layout .aqm-card .wp-block-image:first-of-type img,
body.aqm-theme-organique .article-card-layout .aqm-card .wp-block-gallery figure.wp-block-image img {
  border-radius: 50% / 38% !important;
}

/* ════════════════════════════════════════════════════════════
   NAV BAR — Logo collé à gauche, items bien répartis
════════════════════════════════════════════════════════════ */
body.aqm-theme-organique .nav-inner {
  max-width: none !important;
  width: 100% !important;
  padding: 0 2.5rem !important;
  gap: 2rem !important;
}
/* Logo à gauche, ne flex-grow pas */
body.aqm-theme-organique .nav-inner .logo,
body.aqm-theme-organique .nav-inner > a:first-child {
  margin-right: auto !important;
  flex: 0 0 auto !important;
}
/* Liens centrés au milieu, plus d'espace entre chaque */
body.aqm-theme-organique .nav-links {
  flex: 1 1 auto !important;
  justify-content: center !important;
  gap: 2.8rem !important;
}
/* Bloc de droite (toggle clair/sombre + éventuelle CTA) bien à droite */
body.aqm-theme-organique .nav-right {
  margin-left: auto !important;
  flex: 0 0 auto !important;
}

@media (max-width: 1300px) {
  body.aqm-theme-organique .nav-links { gap: 2rem !important; }
  body.aqm-theme-organique .nav-inner  { padding: 0 1.5rem !important; }
}

/* ════════════════════════════════════════════════════════════
   RESPONSIVE TABLETTE — Burger jusqu'à 1100 px
   (iPad Air 820, iPad Pro 1024, Android tablet, etc.)
════════════════════════════════════════════════════════════ */
@media (max-width: 1100px) {
  body.aqm-theme-organique .nav-links,
  body.aqm-theme-organique .nav-cta,
  body.aqm-theme-organique .nav-right {
    display: none !important;
  }
  body.aqm-theme-organique .burger {
    display: flex !important;
    margin-left: auto !important;
  }
  /* Logo / titre peut rester à gauche */
  body.aqm-theme-organique .nav-inner {
    justify-content: space-between !important;
  }
  /* Menu mobile : occupe toute la largeur, scrollable si long */
  body.aqm-theme-organique .mobile-menu {
    width: 100% !important;
    max-height: calc(100vh - 70px);
    overflow-y: auto;
    border-radius: 0 0 32px 32px;
    padding: 1rem 1.5rem 2rem !important;
    box-shadow: 0 30px 60px -20px rgba(43,26,18,.35);
  }
  body.aqm-theme-organique .mobile-menu a {
    font-size: 1rem;
    padding: .9rem 0 !important;
  }
  body.aqm-theme-organique .mobile-menu a.mob-parent {
    font-family: 'Fraunces', Georgia, serif;
    font-size: 1.1rem;
    color: #136669;
  }
  body.aqm-theme-organique .mobile-menu a.mob-child {
    padding-left: 1rem !important;
    font-size: .92rem;
    opacity: .85;
  }
}

/* Hero plus compact sur tablette : réduit l'énorme vide sous la nav */
@media (max-width: 1100px) {
  body.aqm-theme-organique #hero {
    min-height: auto !important;
    padding-top: 5.5rem !important;
    padding-bottom: 3rem !important;
    justify-content: flex-start !important;
  }
}
@media (max-width: 600px) {
  body.aqm-theme-organique #hero {
    padding-top: 4.5rem !important;
    padding-bottom: 2rem !important;
  }
}

/* Ajustements pétales sur tablette */
@media (max-width: 1100px) and (min-width: 700px) {
  body.aqm-theme-organique .actions-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  body.aqm-theme-organique .status-grid {
    grid-template-columns: 1fr !important;
    gap: 2.5rem !important;
  }
  body.aqm-theme-organique #status .status-visual {
    max-width: 380px !important;
  }
}

/* ════════════════════════════════════════════════════════════
   PAGE ANIMATION QUARTIER — Pluie de confettis dans le HERO
════════════════════════════════════════════════════════════ */
@keyframes aqm-confetti-fall-bg {
  from { background-position: 0 0; }
  to   { background-position: 0 600px; }
}
@keyframes aqm-confetti-sway-x {
  0%   { transform: translateX(-18px); }
  100% { transform: translateX(18px); }
}

/* Le hero devient le conteneur des confettis — fond propre, plus de halos */
body[class*="animation-quartier"].aqm-theme-organique .aqm-page-hero,
body.page-animation-quartier.aqm-theme-organique .aqm-page-hero {
  position: relative !important;
  overflow: hidden !important;
  background: var(--bg) !important;
}
/* Le halo subtil derrière le titre injecté par le parent : on masque aussi */
body[class*="animation-quartier"].aqm-theme-organique .aqm-page-hero .container::before,
body.page-animation-quartier.aqm-theme-organique .aqm-page-hero .container::before {
  display: none !important;
  content: none !important;
}

/* Couche confettis — radial-gradients en mosaïque (20 dots colorés AQM)
   Approche 100% CSS sans SVG, scroll continu via background-position.
   !important partout pour battre le reset inline du template parent. */
body[class*="animation-quartier"].aqm-theme-organique .aqm-page-hero::before,
body.page-animation-quartier.aqm-theme-organique .aqm-page-hero::before {
  content: "" !important;
  display: block !important;        /* le parent met display: none !important — on force */
  visibility: visible !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  pointer-events: none !important;
  z-index: 1 !important;
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='600' viewBox='0 0 400 600'%3E%3Crect x='30' y='40' width='10' height='6' fill='%23E8825D' transform='rotate(30 35 43)'/%3E%3Crect x='120' y='90' width='12' height='6' fill='%23136669' transform='rotate(-25 126 93)'/%3E%3Crect x='200' y='30' width='8' height='10' fill='%23D6A035' transform='rotate(60 204 35)'/%3E%3Crect x='280' y='120' width='6' height='12' fill='%238B1A34' transform='rotate(-40 283 126)'/%3E%3Crect x='60' y='180' width='10' height='5' fill='%231FBCBC' transform='rotate(15 65 182)'/%3E%3Crect x='180' y='210' width='8' height='8' fill='%23FFB69D' transform='rotate(-15 184 214)'/%3E%3Crect x='320' y='250' width='12' height='6' fill='%23136669' transform='rotate(45 326 253)'/%3E%3Crect x='40' y='280' width='6' height='10' fill='%23E8825D' transform='rotate(-30 43 285)'/%3E%3Crect x='150' y='330' width='10' height='6' fill='%23D6A035' transform='rotate(25 155 333)'/%3E%3Crect x='260' y='360' width='8' height='8' fill='%238B1A34' transform='rotate(-50 264 364)'/%3E%3Crect x='90' y='400' width='12' height='6' fill='%231FBCBC' transform='rotate(35 96 403)'/%3E%3Crect x='220' y='420' width='6' height='12' fill='%23FFB69D' transform='rotate(-20 223 426)'/%3E%3Crect x='340' y='470' width='10' height='6' fill='%233D5C38' transform='rotate(50 345 473)'/%3E%3Crect x='70' y='510' width='8' height='10' fill='%23136669' transform='rotate(-35 74 515)'/%3E%3Crect x='190' y='540' width='12' height='6' fill='%23D6A035' transform='rotate(15 196 543)'/%3E%3Crect x='290' y='570' width='6' height='10' fill='%238B1A34' transform='rotate(-25 293 575)'/%3E%3Crect x='130' y='140' width='8' height='8' fill='%23FFB69D' transform='rotate(40 134 144)'/%3E%3Crect x='240' y='160' width='6' height='10' fill='%231FBCBC' transform='rotate(-45 243 165)'/%3E%3Crect x='350' y='80' width='10' height='6' fill='%23E8825D' transform='rotate(20 355 83)'/%3E%3Crect x='50' y='460' width='12' height='6' fill='%233D5C38' transform='rotate(-30 56 463)'/%3E%3Crect x='160' y='490' width='8' height='8' fill='%238B1A34' transform='rotate(55 164 494)'/%3E%3C/svg%3E") !important;
  background-repeat: repeat !important;
  background-size: 400px 600px !important;
  background-position: 0 0 !important;
  background-color: transparent !important;
  filter: none !important;
  opacity: .9 !important;
  border-radius: 0 !important;
  animation: aqm-confetti-fall-bg 14s linear infinite,
             aqm-confetti-sway-x 6s ease-in-out infinite alternate !important;
}

/* ════════════════════════════════════════════════════════════
   PAGE ANIMATION QUARTIER — Galerie photos éparpillées
   Cible toute image inside .wp-block-image / gallery sous le hero
════════════════════════════════════════════════════════════ */
body[class*="animation-quartier"].aqm-theme-organique .aqm-page-body,
body.page-animation-quartier.aqm-theme-organique .aqm-page-body {
  padding: 4rem 2rem !important;
}

/* Conteneur de la galerie : grille fluide avec colonnes confortables */
body[class*="animation-quartier"].aqm-theme-organique .wp-block-gallery,
body.page-animation-quartier.aqm-theme-organique .wp-block-gallery {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  gap: 3rem 2.5rem !important;
  padding: 3rem 0 !important;
  list-style: none !important;
  max-width: 1400px;
  margin: 0 auto;
}

/* Chaque vignette : remplit la cellule + pétale asymétrique */
body[class*="animation-quartier"].aqm-theme-organique .wp-block-gallery > .wp-block-image,
body[class*="animation-quartier"].aqm-theme-organique .wp-block-gallery > li,
body[class*="animation-quartier"].aqm-theme-organique .wp-block-gallery figure.wp-block-image,
body.page-animation-quartier.aqm-theme-organique .wp-block-gallery > .wp-block-image,
body.page-animation-quartier.aqm-theme-organique .wp-block-gallery > li,
body.page-animation-quartier.aqm-theme-organique .wp-block-gallery figure.wp-block-image {
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 10px !important;
  background: var(--bg-surf) !important;
  border-radius: 22px 44px 22px 44px !important;
  box-shadow: 0 20px 45px -20px rgba(43,26,18,.35) !important;
  transition: transform .45s cubic-bezier(.22,.61,.36,1),
              box-shadow .45s ease,
              border-radius .6s ease !important;
}
body[class*="animation-quartier"].aqm-theme-organique .wp-block-gallery img,
body[class*="animation-quartier"].aqm-theme-organique .wp-block-image img,
body.page-animation-quartier.aqm-theme-organique .wp-block-gallery img,
body.page-animation-quartier.aqm-theme-organique .wp-block-image img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 220px !important;
  object-fit: cover !important;
  border-radius: 16px 36px 16px 36px !important;
  aspect-ratio: 4/3 !important;
}

/* Rotations alternées pour effet éparpillé */
body[class*="animation-quartier"].aqm-theme-organique .wp-block-gallery .wp-block-image:nth-child(4n+1),
body.page-animation-quartier.aqm-theme-organique .wp-block-gallery .wp-block-image:nth-child(4n+1) {
  transform: rotate(-3deg) translateY(8px);
}
body[class*="animation-quartier"].aqm-theme-organique .wp-block-gallery .wp-block-image:nth-child(4n+2),
body.page-animation-quartier.aqm-theme-organique .wp-block-gallery .wp-block-image:nth-child(4n+2) {
  transform: rotate(2deg) translateY(-12px);
  border-radius: 40px 20px 40px 20px;
}
body[class*="animation-quartier"].aqm-theme-organique .wp-block-gallery .wp-block-image:nth-child(4n+3),
body.page-animation-quartier.aqm-theme-organique .wp-block-gallery .wp-block-image:nth-child(4n+3) {
  transform: rotate(-1.5deg) translateY(16px);
  border-radius: 40px 20px 20px 40px;
}
body[class*="animation-quartier"].aqm-theme-organique .wp-block-gallery .wp-block-image:nth-child(4n),
body.page-animation-quartier.aqm-theme-organique .wp-block-gallery .wp-block-image:nth-child(4n) {
  transform: rotate(3deg) translateY(-6px);
  border-radius: 20px 40px 40px 20px;
}

/* Hover : se redresse, s'agrandit, passe au-dessus */
body[class*="animation-quartier"].aqm-theme-organique .wp-block-image:hover,
body.page-animation-quartier.aqm-theme-organique .wp-block-image:hover {
  transform: rotate(0deg) translateY(-10px) scale(1.05) !important;
  z-index: 5;
  box-shadow: 0 30px 60px -20px rgba(43,26,18,.5);
  border-radius: 24px !important;
}

/* Petit accent coloré derrière chaque photo (alternance des 4 couleurs AQM) */
body[class*="animation-quartier"].aqm-theme-organique .wp-block-image::before,
body.page-animation-quartier.aqm-theme-organique .wp-block-image::before {
  content: "";
  position: absolute;
  inset: -4px;
  border-radius: inherit;
  z-index: -1;
  background: linear-gradient(135deg, #E8825D, #FFB69D);
  opacity: .25;
  transition: opacity .4s ease;
}
body[class*="animation-quartier"].aqm-theme-organique .wp-block-gallery .wp-block-image:nth-child(4n+2)::before,
body.page-animation-quartier.aqm-theme-organique .wp-block-gallery .wp-block-image:nth-child(4n+2)::before {
  background: linear-gradient(135deg, #136669, #1FBCBC);
}
body[class*="animation-quartier"].aqm-theme-organique .wp-block-gallery .wp-block-image:nth-child(4n+3)::before,
body.page-animation-quartier.aqm-theme-organique .wp-block-gallery .wp-block-image:nth-child(4n+3)::before {
  background: linear-gradient(135deg, #D6A035, #FFB69D);
}
body[class*="animation-quartier"].aqm-theme-organique .wp-block-gallery .wp-block-image:nth-child(4n)::before,
body.page-animation-quartier.aqm-theme-organique .wp-block-gallery .wp-block-image:nth-child(4n)::before {
  background: linear-gradient(135deg, #8B1A34, #E8825D);
}
body[class*="animation-quartier"].aqm-theme-organique .wp-block-image:hover::before,
body.page-animation-quartier.aqm-theme-organique .wp-block-image:hover::before {
  opacity: .5;
}

/* Mobile : on dé-éparpille pour lisibilité */
@media (max-width: 700px) {
  body[class*="animation-quartier"].aqm-theme-organique .wp-block-gallery,
  body.page-animation-quartier.aqm-theme-organique .wp-block-gallery {
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important;
    gap: 1.5rem !important;
  }
  body[class*="animation-quartier"].aqm-theme-organique .wp-block-gallery .wp-block-image,
  body.page-animation-quartier.aqm-theme-organique .wp-block-gallery .wp-block-image {
    transform: none !important;
  }
}

/* Titre du hero passe au-dessus des confettis */
body[class*="animation-quartier"].aqm-theme-organique .aqm-page-hero > *,
body.page-animation-quartier.aqm-theme-organique .aqm-page-hero > * {
  position: relative;
  z-index: 2;
}

/* Mobile : confettis plus discrets */
@media (max-width: 700px) {
  body[class*="animation-quartier"].aqm-theme-organique .aqm-page-hero::before,
  body.page-animation-quartier.aqm-theme-organique .aqm-page-hero::before {
    background-size: 280px 420px;
    opacity: .7;
  }
}

/* ════════════════════════════════════════════════════════════
   PAGES DEDIEES MODULES — Accroche en intro mise en valeur
════════════════════════════════════════════════════════════ */
body.aqm-theme-organique .page-accroche,
body.aqm-theme-organique p.page-accroche {
  font-family: 'Fraunces', Georgia, serif;
  font-style: italic;
  font-weight: 600;
  font-size: clamp(1.25rem, 2.2vw, 1.6rem);
  line-height: 1.4;
  color: #136669;
  padding-left: 1.2rem;
  border-left: 4px solid #E8825D;
  margin: 1.5rem 0 2rem;
  max-width: 800px;
}
body.aqm-theme-organique .page-accroche strong,
body.aqm-theme-organique .page-accroche em {
  font-style: italic;
  font-weight: 600;
}

/* ════════════════════════════════════════════════════════════
   HEROS DES 3 PAGES DE PÔLE — Ambiance organique aux couleurs du pôle
   Inspiré du hero de la home : 2 blobs aquarelle + halos radiaux
   - AEJ : jaune (#D4920F) + teal (#136669)
   - CS  : corail (#E8825D) + bordeaux (#8B1A34)
   - IE  : vert (#3D5C38) + teal clair (#1FBCBC)
════════════════════════════════════════════════════════════ */
@keyframes aqm-pole-hero-blob {
  0%, 100% { transform: translate(0, 0) scale(1); opacity: .35; }
  50%      { transform: translate(30px, -25px) scale(1.08); opacity: .5; }
}

/* Base commune aux 3 pôles */
body.aqm-subpage-animation-enfance-jeunesse.aqm-theme-organique .aqm-page-hero,
body.aqm-subpage-cohesion-sociale.aqm-theme-organique .aqm-page-hero,
body.aqm-subpage-insertion-et-emploi.aqm-theme-organique .aqm-page-hero {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate;
}
body.aqm-subpage-animation-enfance-jeunesse.aqm-theme-organique .aqm-page-hero::before,
body.aqm-subpage-cohesion-sociale.aqm-theme-organique .aqm-page-hero::before,
body.aqm-subpage-insertion-et-emploi.aqm-theme-organique .aqm-page-hero::before,
body.aqm-subpage-animation-enfance-jeunesse.aqm-theme-organique .aqm-page-hero::after,
body.aqm-subpage-cohesion-sociale.aqm-theme-organique .aqm-page-hero::after,
body.aqm-subpage-insertion-et-emploi.aqm-theme-organique .aqm-page-hero::after {
  content: "" !important;
  display: block !important;
  visibility: visible !important;
  position: absolute !important;
  pointer-events: none !important;
  border-radius: 50% !important;
  filter: blur(70px) !important;
  z-index: 0 !important;
}
/* Le contenu (titre / label) passe au-dessus des blobs */
body.aqm-subpage-animation-enfance-jeunesse.aqm-theme-organique .aqm-page-hero > *,
body.aqm-subpage-cohesion-sociale.aqm-theme-organique .aqm-page-hero > *,
body.aqm-subpage-insertion-et-emploi.aqm-theme-organique .aqm-page-hero > * {
  position: relative;
  z-index: 1;
}

/* ─── Animation enfance jeunesse — jaune + teal ─── */
body.aqm-subpage-animation-enfance-jeunesse.aqm-theme-organique .aqm-page-hero {
  background:
    radial-gradient(circle at 18% 22%, rgba(212,146,15,.32) 0%, transparent 40%),
    radial-gradient(circle at 82% 78%, rgba(19,102,105,.28) 0%, transparent 42%),
    radial-gradient(circle at 60% 10%, rgba(255,212,148,.28) 0%, transparent 35%),
    var(--bg) !important;
}
body.aqm-subpage-animation-enfance-jeunesse.aqm-theme-organique .aqm-page-hero::before {
  width: 520px !important; height: 520px !important;
  top: -130px !important; left: -120px !important;
  background: radial-gradient(circle, #D4920F 0%, transparent 70%) !important;
  opacity: .35 !important;
  animation: aqm-pole-hero-blob 22s ease-in-out infinite !important;
}
body.aqm-subpage-animation-enfance-jeunesse.aqm-theme-organique .aqm-page-hero::after {
  width: 460px !important; height: 460px !important;
  bottom: -120px !important; right: -100px !important;
  background: radial-gradient(circle, #136669 0%, transparent 70%) !important;
  opacity: .3 !important;
  animation: aqm-pole-hero-blob 26s ease-in-out infinite !important;
  animation-delay: -11s !important;
}
body.aqm-subpage-animation-enfance-jeunesse.aqm-theme-organique .aqm-page-hero .section-title,
body.aqm-subpage-animation-enfance-jeunesse.aqm-theme-organique .aqm-page-hero h1 {
  background: linear-gradient(120deg, #D4920F 0%, #FFB347 40%, #136669 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
}
body.aqm-subpage-animation-enfance-jeunesse.aqm-theme-organique .aqm-page-hero .section-label {
  color: #D4920F !important;
}

/* ─── Cohésion sociale — corail + bordeaux ─── */
body.aqm-subpage-cohesion-sociale.aqm-theme-organique .aqm-page-hero {
  background:
    radial-gradient(circle at 15% 25%, rgba(232,130,93,.32) 0%, transparent 40%),
    radial-gradient(circle at 85% 75%, rgba(139,26,52,.22) 0%, transparent 42%),
    radial-gradient(circle at 65% 15%, rgba(255,182,157,.3) 0%, transparent 38%),
    var(--bg) !important;
}
body.aqm-subpage-cohesion-sociale.aqm-theme-organique .aqm-page-hero::before {
  width: 520px !important; height: 520px !important;
  top: -130px !important; left: -120px !important;
  background: radial-gradient(circle, #E8825D 0%, transparent 70%) !important;
  opacity: .35 !important;
  animation: aqm-pole-hero-blob 22s ease-in-out infinite !important;
}
body.aqm-subpage-cohesion-sociale.aqm-theme-organique .aqm-page-hero::after {
  width: 460px !important; height: 460px !important;
  bottom: -120px !important; right: -100px !important;
  background: radial-gradient(circle, #8B1A34 0%, transparent 70%) !important;
  opacity: .25 !important;
  animation: aqm-pole-hero-blob 26s ease-in-out infinite !important;
  animation-delay: -11s !important;
}
body.aqm-subpage-cohesion-sociale.aqm-theme-organique .aqm-page-hero .section-title,
body.aqm-subpage-cohesion-sociale.aqm-theme-organique .aqm-page-hero h1 {
  background: linear-gradient(120deg, #E8825D 0%, #D6A035 40%, #8B1A34 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
}
body.aqm-subpage-cohesion-sociale.aqm-theme-organique .aqm-page-hero .section-label {
  color: #E8825D !important;
}

/* ─── Insertion et emploi — vert + teal clair ─── */
body.aqm-subpage-insertion-et-emploi.aqm-theme-organique .aqm-page-hero {
  background:
    radial-gradient(circle at 18% 22%, rgba(61,92,56,.3) 0%, transparent 40%),
    radial-gradient(circle at 82% 78%, rgba(31,188,188,.32) 0%, transparent 42%),
    radial-gradient(circle at 50% 10%, rgba(180,229,221,.3) 0%, transparent 38%),
    var(--bg) !important;
}
body.aqm-subpage-insertion-et-emploi.aqm-theme-organique .aqm-page-hero::before {
  width: 520px !important; height: 520px !important;
  top: -130px !important; left: -120px !important;
  background: radial-gradient(circle, #3D5C38 0%, transparent 70%) !important;
  opacity: .3 !important;
  animation: aqm-pole-hero-blob 22s ease-in-out infinite !important;
}
body.aqm-subpage-insertion-et-emploi.aqm-theme-organique .aqm-page-hero::after {
  width: 460px !important; height: 460px !important;
  bottom: -120px !important; right: -100px !important;
  background: radial-gradient(circle, #1FBCBC 0%, transparent 70%) !important;
  opacity: .35 !important;
  animation: aqm-pole-hero-blob 26s ease-in-out infinite !important;
  animation-delay: -11s !important;
}
body.aqm-subpage-insertion-et-emploi.aqm-theme-organique .aqm-page-hero .section-title,
body.aqm-subpage-insertion-et-emploi.aqm-theme-organique .aqm-page-hero h1 {
  background: linear-gradient(120deg, #3D5C38 0%, #136669 50%, #1FBCBC 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
}
body.aqm-subpage-insertion-et-emploi.aqm-theme-organique .aqm-page-hero .section-label {
  color: #136669 !important;
}

/* Le halo subtil que le parent injecte derrière le titre — on l'efface pour les 3 pôles */
body.aqm-subpage-animation-enfance-jeunesse.aqm-theme-organique .aqm-page-hero .container::before,
body.aqm-subpage-cohesion-sociale.aqm-theme-organique .aqm-page-hero .container::before,
body.aqm-subpage-insertion-et-emploi.aqm-theme-organique .aqm-page-hero .container::before {
  display: none !important;
  content: none !important;
}

/* Mode sombre — blobs des héros de pôle atténués (rendu plus naturel) */
[data-theme="dark"] body.aqm-subpage-animation-enfance-jeunesse.aqm-theme-organique .aqm-page-hero::before,
[data-theme="dark"] body.aqm-subpage-cohesion-sociale.aqm-theme-organique .aqm-page-hero::before,
[data-theme="dark"] body.aqm-subpage-insertion-et-emploi.aqm-theme-organique .aqm-page-hero::before,
body.aqm-subpage-animation-enfance-jeunesse.aqm-theme-organique[data-theme="dark"] .aqm-page-hero::before,
body.aqm-subpage-cohesion-sociale.aqm-theme-organique[data-theme="dark"] .aqm-page-hero::before,
body.aqm-subpage-insertion-et-emploi.aqm-theme-organique[data-theme="dark"] .aqm-page-hero::before {
  opacity: .09 !important;
}
[data-theme="dark"] body.aqm-subpage-animation-enfance-jeunesse.aqm-theme-organique .aqm-page-hero::after,
[data-theme="dark"] body.aqm-subpage-cohesion-sociale.aqm-theme-organique .aqm-page-hero::after,
[data-theme="dark"] body.aqm-subpage-insertion-et-emploi.aqm-theme-organique .aqm-page-hero::after,
body.aqm-subpage-animation-enfance-jeunesse.aqm-theme-organique[data-theme="dark"] .aqm-page-hero::after,
body.aqm-subpage-cohesion-sociale.aqm-theme-organique[data-theme="dark"] .aqm-page-hero::after,
body.aqm-subpage-insertion-et-emploi.aqm-theme-organique[data-theme="dark"] .aqm-page-hero::after {
  opacity: .09 !important;
}

/* ════════════════════════════════════════════════════════════
   PAGES DE PÔLE — Mise en page complète (intro / chiffres / modules / CTA)
   3 thèmes de couleur : .pole-aej (or), .pole-cs (corail), .pole-ie (teal)
════════════════════════════════════════════════════════════ */

/* Couleur dominante par pôle (utilisée via var(--pole-accent)) */
body.aqm-theme-organique .pole-aej { --pole-accent: #D4920F; --pole-accent-2: #FFD494; }
body.aqm-theme-organique .pole-cs  { --pole-accent: #E8825D; --pole-accent-2: #FFB69D; }
body.aqm-theme-organique .pole-ie  { --pole-accent: #136669; --pole-accent-2: #1FBCBC; }

/* ─── Intro ─── */
body.aqm-theme-organique .pole-intro {
  max-width: 920px;
  margin: 0 auto;
  padding: 4.5rem 2rem 2rem;
  text-align: center;
}
body.aqm-theme-organique .pole-lead {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 500;
  font-style: italic;
  font-size: clamp(1.15rem, 2.1vw, 1.5rem);
  line-height: 1.55;
  color: var(--ink-2);
  position: relative;
  display: inline-block;
  padding: 0 1.5rem;
}
body.aqm-theme-organique .pole-lead::before,
body.aqm-theme-organique .pole-lead::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 60px;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--pole-accent));
  border-radius: 2px;
}
body.aqm-theme-organique .pole-lead::before { right: 100%; transform: translateX(-1rem); }
body.aqm-theme-organique .pole-lead::after  { left: 100%; transform: translateX(1rem) scaleX(-1); }

/* ─── Chiffres-clés ─── */
body.aqm-theme-organique .pole-stats {
  max-width: 1100px;
  margin: 3rem auto 5rem;
  padding: 0 2rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
body.aqm-theme-organique .pole-stat {
  position: relative;
  padding: 2.2rem 1.5rem;
  text-align: center;
  background: var(--bg-surf);
  border-radius: 32px 16px 32px 16px;
  border: 1px solid var(--border);
  box-shadow: 0 18px 40px -22px rgba(43,26,18,.25);
  transition: transform .4s cubic-bezier(.22,.61,.36,1), border-radius .6s ease, box-shadow .4s ease;
}
body.aqm-theme-organique .pole-stat:nth-child(2) { border-radius: 16px 32px 16px 32px; }
body.aqm-theme-organique .pole-stat:nth-child(3) { border-radius: 32px 32px 16px 16px; }
body.aqm-theme-organique .pole-stat:hover {
  transform: translateY(-6px);
  box-shadow: 0 28px 60px -22px rgba(43,26,18,.4);
  border-radius: 24px;
}
body.aqm-theme-organique .pole-stat-n {
  display: block;
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 800;
  font-size: clamp(2.4rem, 4.5vw, 3.4rem);
  line-height: 1;
  letter-spacing: -.02em;
  background: linear-gradient(135deg, var(--pole-accent) 0%, var(--pole-accent-2) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  margin-bottom: .6rem;
}
body.aqm-theme-organique .pole-stat-l {
  display: block;
  font-family: 'Inter', system-ui, sans-serif;
  font-size: .88rem;
  font-weight: 600;
  letter-spacing: .04em;
  color: var(--ink-3);
  line-height: 1.4;
}

/* ─── Section modules ─── */
body.aqm-theme-organique .pole-modules {
  max-width: 1280px;
  margin: 0 auto;
  padding: 2rem 2rem 5rem;
}
body.aqm-theme-organique .pole-section-title {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 800;
  font-size: clamp(1.8rem, 3.2vw, 2.4rem);
  text-align: center;
  margin: 0 0 3rem;
  color: var(--ink);
  position: relative;
  letter-spacing: -.01em;
}
body.aqm-theme-organique .pole-section-title::after {
  content: "";
  display: block;
  width: 60px;
  height: 3px;
  margin: 1rem auto 0;
  background: var(--pole-accent);
  border-radius: 3px;
}

/* Grille fluide : 2 col en desktop pour 2 modules, 3 col pour 3 modules */
body.aqm-theme-organique .pole-modules-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 2rem;
}

/* Carte module — clickable, organique */
body.aqm-theme-organique .pole-module-card {
  --accent: var(--pole-accent);
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 2.2rem 2rem 4.5rem;
  background: var(--bg-surf);
  border-radius: 40px 16px 40px 16px;
  border: 1px solid var(--border);
  box-shadow: 0 20px 50px -24px rgba(43,26,18,.3);
  text-decoration: none !important;
  color: inherit !important;
  overflow: hidden;
  transition: transform .45s cubic-bezier(.22,.61,.36,1),
              border-radius .6s ease,
              box-shadow .4s ease;
}
body.aqm-theme-organique .pole-module-card:nth-child(even) {
  border-radius: 16px 40px 16px 40px;
}
body.aqm-theme-organique .pole-module-card:nth-child(3n) {
  border-radius: 40px 40px 16px 16px;
}
body.aqm-theme-organique .pole-module-card::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 5px;
  background: linear-gradient(90deg, var(--accent), color-mix(in srgb, var(--accent) 40%, white));
}
body.aqm-theme-organique .pole-module-card:hover {
  transform: translateY(-10px);
  border-radius: 28px;
  box-shadow: 0 36px 80px -24px rgba(43,26,18,.45);
}

body.aqm-theme-organique .pole-module-tag {
  display: inline-block;
  padding: .4rem 1rem;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--accent);
  background: color-mix(in srgb, var(--accent) 12%, transparent);
  border-radius: 999px;
  margin-bottom: 1.2rem;
  width: fit-content;
}

body.aqm-theme-organique .pole-module-title {
  display: block;
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 800;
  font-size: clamp(1.4rem, 2.4vw, 1.7rem);
  line-height: 1.2;
  letter-spacing: -.015em;
  color: var(--ink);
  margin: 0 0 1rem;
}

body.aqm-theme-organique .pole-module-accroche {
  display: block;
  font-family: 'Fraunces', Georgia, serif;
  font-style: italic;
  font-weight: 500;
  font-size: 1.02rem;
  line-height: 1.5;
  color: var(--ink-2);
  margin: 0;
  flex-grow: 1;
}

body.aqm-theme-organique .pole-module-arrow {
  position: absolute;
  bottom: 1.8rem;
  right: 2rem;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: color-mix(in srgb, var(--accent) 14%, transparent);
  color: var(--accent);
  font-size: 1.3rem;
  font-weight: 700;
  transition: background .35s ease, transform .4s cubic-bezier(.22,.61,.36,1);
}
body.aqm-theme-organique .pole-module-card:hover .pole-module-arrow {
  background: var(--accent);
  color: #fff;
  transform: translateX(6px);
}

/* ─── CTA Contact ─── */
body.aqm-theme-organique .pole-cta {
  max-width: 1100px;
  margin: 0 auto 5rem;
  padding: 4rem 2.5rem;
  text-align: center;
  background:
    radial-gradient(circle at 20% 20%, color-mix(in srgb, var(--pole-accent) 20%, transparent) 0%, transparent 55%),
    radial-gradient(circle at 80% 80%, color-mix(in srgb, var(--pole-accent-2) 25%, transparent) 0%, transparent 55%),
    var(--bg-surf);
  border-radius: 48px 20px 48px 20px;
  border: 1px solid var(--border);
  position: relative;
  overflow: hidden;
}
body.aqm-theme-organique .pole-cta-title {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 800;
  font-size: clamp(1.5rem, 2.8vw, 2.1rem);
  line-height: 1.2;
  margin: 0 0 1rem;
  color: var(--ink);
  letter-spacing: -.01em;
}
body.aqm-theme-organique .pole-cta-sub {
  display: block;
  font-size: 1.05rem;
  line-height: 1.55;
  color: var(--ink-2);
  margin: 0 auto 2rem;
  max-width: 580px;
}
body.aqm-theme-organique .pole-cta-btn {
  display: inline-block;
  padding: 1rem 2.4rem;
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: .04em;
  text-decoration: none !important;
  color: #fff !important;
  background: linear-gradient(135deg, var(--pole-accent), var(--pole-accent-2));
  border-radius: 999px;
  box-shadow: 0 14px 30px -10px color-mix(in srgb, var(--pole-accent) 60%, transparent);
  transition: transform .35s ease, box-shadow .35s ease, border-radius .5s ease;
}
body.aqm-theme-organique .pole-cta-btn:hover {
  transform: translateY(-3px);
  border-radius: 16px 999px 999px 16px;
  box-shadow: 0 22px 45px -12px color-mix(in srgb, var(--pole-accent) 70%, transparent);
}

/* ─── Responsive ─── */
@media (max-width: 900px) {
  body.aqm-theme-organique .pole-stats { grid-template-columns: 1fr; gap: 1.2rem; }
  body.aqm-theme-organique .pole-stat,
  body.aqm-theme-organique .pole-stat:nth-child(2),
  body.aqm-theme-organique .pole-stat:nth-child(3) { border-radius: 24px; }
  body.aqm-theme-organique .pole-modules-grid { grid-template-columns: 1fr; }
  body.aqm-theme-organique .pole-module-card,
  body.aqm-theme-organique .pole-module-card:nth-child(even),
  body.aqm-theme-organique .pole-module-card:nth-child(3n) { border-radius: 28px; }
  body.aqm-theme-organique .pole-cta { padding: 3rem 1.5rem; border-radius: 32px; }
}

/* ════════════════════════════════════════════════════════════
   TITRES DES PAGES DE PÔLES — Police Caveat (manuscrit) partout
   Surclasse les blocs inline du template parent (Inter, Fraunces, etc.)
════════════════════════════════════════════════════════════ */
body.aqm-theme-organique .aqm-page-hero .section-title,
body.aqm-theme-organique .aqm-page-hero h1,
body.aqm-theme-organique .aqm-page-hero h2 {
  font-family: 'Fraunces', Georgia, serif !important;
  font-weight: 800 !important;
  font-style: normal !important;
  font-size: clamp(2.2rem, 4.2vw, 3.4rem) !important;
  line-height: 1.1 !important;
  letter-spacing: -.015em !important;
  text-transform: none !important;
}
/* Le petit trait sous le titre — on l'allonge un peu pour rester cohérent */
body.aqm-theme-organique .aqm-page-hero .section-title::after {
  width: 80px !important;
  height: 3px !important;
  margin-top: .8rem !important;
}

/* ════════════════════════════════════════════════════════════
   PAGES SIMPLES (légales, éditoriales) — lisibilité du contenu
════════════════════════════════════════════════════════════ */
body.aqm-theme-organique .aqm-page-body--simple {
  padding: 4rem 0 5rem;
}
body.aqm-theme-organique .aqm-page-article {
  max-width: 820px;
  margin: 0 auto;
  font-size: 1.02rem;
  line-height: 1.75;
  color: var(--ink-2);
}
body.aqm-theme-organique .aqm-page-article h2 {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 800;
  font-size: clamp(1.3rem, 2.4vw, 1.7rem);
  line-height: 1.25;
  color: var(--ink);
  margin: 2.4rem 0 .8rem;
  padding-left: 1rem;
  border-left: 4px solid #E8825D;
}
body.aqm-theme-organique .aqm-page-article h2:first-child {
  margin-top: 0;
}
body.aqm-theme-organique .aqm-page-article h3 {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 700;
  font-size: 1.2rem;
  color: var(--ink);
  margin: 1.8rem 0 .6rem;
}
body.aqm-theme-organique .aqm-page-article p {
  margin: 0 0 1.1rem;
}
body.aqm-theme-organique .aqm-page-article a {
  color: #136669;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}
body.aqm-theme-organique .aqm-page-article a:hover {
  color: #E8825D;
}
body.aqm-theme-organique .aqm-page-article ul,
body.aqm-theme-organique .aqm-page-article ol {
  margin: 0 0 1.1rem 1.4rem;
}
body.aqm-theme-organique .aqm-page-article li {
  margin-bottom: .4rem;
}

/* ════════════════════════════════════════════════════════════
   PAGE 404 — Cette page s'est égarée
════════════════════════════════════════════════════════════ */
body.aqm-theme-organique.error404 .aqm-404-hero {
  background:
    radial-gradient(circle at 15% 25%, rgba(232,130,93,.18) 0%, transparent 42%),
    radial-gradient(circle at 85% 75%, rgba(31,188,188,.18) 0%, transparent 45%),
    var(--bg) !important;
}
body.aqm-theme-organique .aqm-404-sub {
  font-family: 'Fraunces', Georgia, serif;
  font-style: italic;
  font-size: clamp(1.05rem, 1.8vw, 1.25rem);
  color: var(--ink-2);
  max-width: 580px;
  margin: 1.5rem auto 0;
  line-height: 1.5;
  text-align: center;
}
body.aqm-theme-organique .aqm-404-body {
  text-align: center;
  padding: 3rem 2rem 5rem;
}
@keyframes aqm-404-pulse {
  0%, 100% { transform: scale(1); }
  50%      { transform: scale(1.06); }
}
body.aqm-theme-organique .aqm-404-illustration {
  display: flex;
  justify-content: center;
  gap: .3rem;
  margin-bottom: 2.5rem;
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 900;
  font-size: clamp(7rem, 18vw, 12rem);
  line-height: 1;
  letter-spacing: -.04em;
  user-select: none;
}
body.aqm-theme-organique .aqm-404-number {
  background: linear-gradient(135deg, #E8825D 0%, #D6A035 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
body.aqm-theme-organique .aqm-404-zero {
  background: linear-gradient(135deg, #136669 0%, #1FBCBC 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: aqm-404-pulse 2.5s ease-in-out infinite;
  display: inline-block;
}
body.aqm-theme-organique .aqm-404-actions {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 4rem;
}
body.aqm-theme-organique .aqm-404-btn {
  display: inline-block;
  padding: .9rem 1.8rem;
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 700;
  font-size: .98rem;
  text-decoration: none !important;
  border-radius: 999px;
  transition: transform .3s ease, box-shadow .3s ease, border-radius .4s ease, background .25s ease, color .25s ease;
}
body.aqm-theme-organique .aqm-404-btn--primary {
  color: #fff !important;
  background: linear-gradient(135deg, #E8825D, #D6A035);
  box-shadow: 0 14px 30px -10px rgba(232,130,93,.55);
}
body.aqm-theme-organique .aqm-404-btn--primary:hover {
  transform: translateY(-3px);
  border-radius: 16px 999px 999px 16px;
  box-shadow: 0 22px 45px -12px rgba(232,130,93,.65);
}
body.aqm-theme-organique .aqm-404-btn:not(.aqm-404-btn--primary) {
  color: #136669 !important;
  background: transparent;
  border: 2px solid #136669;
}
body.aqm-theme-organique .aqm-404-btn:not(.aqm-404-btn--primary):hover {
  background: #136669;
  color: #fff !important;
  transform: translateY(-3px);
}
body.aqm-theme-organique .aqm-404-suggestions {
  max-width: 520px;
  margin: 0 auto;
  padding: 2rem;
  background: var(--bg-surf);
  border: 1px solid var(--border);
  border-radius: 28px 12px 28px 12px;
  text-align: left;
}
body.aqm-theme-organique .aqm-404-suggestions h2 {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 700;
  font-size: 1.1rem;
  margin: 0 0 1rem;
  color: var(--ink);
}
body.aqm-theme-organique .aqm-404-suggestions ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
body.aqm-theme-organique .aqm-404-suggestions li {
  padding: .5rem 0;
  border-bottom: 1px dashed var(--border);
}
body.aqm-theme-organique .aqm-404-suggestions li:last-child { border-bottom: none; }
body.aqm-theme-organique .aqm-404-suggestions a {
  color: var(--ink-2);
  text-decoration: none;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  transition: color .25s ease, transform .25s ease;
}
body.aqm-theme-organique .aqm-404-suggestions a::before {
  content: "→";
  color: #E8825D;
  font-weight: 700;
  transition: transform .25s ease;
}
body.aqm-theme-organique .aqm-404-suggestions a:hover {
  color: #E8825D;
}
body.aqm-theme-organique .aqm-404-suggestions a:hover::before {
  transform: translateX(4px);
}

/* ════════════════════════════════════════════════════════════
   BANDEAU COOKIES — discret, en bas, aux couleurs AQM
════════════════════════════════════════════════════════════ */
.aqm-cookie-banner {
  position: fixed;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  z-index: 9999;
  max-width: 760px;
  margin: 0 auto;
  background: var(--bg-surf, #fff);
  border: 1px solid var(--border, rgba(0,0,0,.1));
  border-radius: 24px 12px 24px 12px;
  box-shadow: 0 24px 60px -20px rgba(43,26,18,.45);
  padding: 1.2rem 1.4rem;
  animation: aqm-cookie-rise .5s cubic-bezier(.22,.61,.36,1) both;
}
.aqm-cookie-banner[hidden] { display: none; }
@keyframes aqm-cookie-rise {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}
.aqm-cookie-inner {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  flex-wrap: wrap;
}
.aqm-cookie-text {
  flex: 1 1 320px;
  margin: 0;
  font-size: .92rem;
  line-height: 1.5;
  color: var(--ink-2, #444);
}
.aqm-cookie-text a {
  color: #136669;
  font-weight: 600;
  text-decoration: underline;
}
.aqm-cookie-actions {
  display: flex;
  gap: .6rem;
  flex-shrink: 0;
}
.aqm-cookie-btn {
  font-family: 'Inter', system-ui, sans-serif;
  font-weight: 700;
  font-size: .85rem;
  padding: .6rem 1.3rem;
  border-radius: 999px;
  cursor: pointer;
  border: 1px solid var(--border, rgba(0,0,0,.15));
  transition: transform .25s ease, background .25s ease, color .25s ease, border-radius .4s ease;
}
.aqm-cookie-refuse {
  background: transparent;
  color: var(--ink-2, #444);
}
.aqm-cookie-refuse:hover {
  background: var(--bg-alt, rgba(0,0,0,.04));
  transform: translateY(-2px);
}
.aqm-cookie-accept {
  background: linear-gradient(135deg, #E8825D, #D6A035);
  color: #fff;
  border-color: transparent;
}
.aqm-cookie-accept:hover {
  transform: translateY(-2px);
  border-radius: 12px 999px 999px 12px;
  box-shadow: 0 12px 26px -10px rgba(232,130,93,.6);
}
@media (max-width: 600px) {
  .aqm-cookie-actions { width: 100%; }
  .aqm-cookie-btn { flex: 1; }
}

/* ════════════════════════════════════════════════════════════
   ACCESSIBILITÉ — Désactive animations si prefers-reduced-motion
════════════════════════════════════════════════════════════ */
@media (prefers-reduced-motion: reduce) {
  body.aqm-theme-organique *,
  body.aqm-theme-organique *::before,
  body.aqm-theme-organique *::after {
    animation: none !important;
    transition: none !important;
  }
}

/* ════════════════════════════════════════════════════════════
   PHOTOS DE PERSONNES — éviter de couper les visages
   Quand on utilise object-fit: cover, l'image est rognée pour
   remplir le cadre. Sans object-position, c'est rogné au CENTRE,
   ce qui coupe systématiquement la tête sur les portraits.
   On force "center top" : on garde le haut de l'image (donc le visage).
════════════════════════════════════════════════════════════ */
body.aqm-theme-organique .wp-block-gallery .wp-block-image img,
body.aqm-theme-organique .wp-block-image img,
body.aqm-theme-organique .news-card-img img,
body.aqm-theme-organique .news-card-img,
body.aqm-theme-organique .info-card-img,
body.aqm-theme-organique .info-card-img img,
body.aqm-theme-organique #status .status-visual img,
body.aqm-theme-organique .action-card img,
body.aqm-theme-organique .aqm-card img {
  object-position: center top !important;
}

/* Les images de profil / membres (cercles) : on garde le visage centré */
body.aqm-theme-organique .team-member img,
body.aqm-theme-organique .member-photo img,
body.aqm-theme-organique .aqm-member img,
body.aqm-theme-organique img[class*="avatar"],
body.aqm-theme-organique img[class*="profile"] {
  object-fit: cover !important;
  object-position: center 25% !important;
}

/* ════════════════════════════════════════════════════════════
   GALERIES DES SOUS-PAGES — Afficher l'image en ENTIER
   On annule les aspect-ratio forcés (4/3, 16/10, etc.) et le
   object-fit: cover qui rognent les photos. La page devient
   plus longue mais on voit les visages en entier.
   Spécificité élevée pour battre les <style> inline du parent.
════════════════════════════════════════════════════════════ */
body.aqm-theme-organique[class*="aqm-subpage-"] .aqm-page-body .wp-block-gallery .wp-block-image img,
html body.aqm-theme-organique .aqm-page-body .wp-block-gallery figure.wp-block-image img,
html body.aqm-theme-organique .aqm-page-body .wp-block-gallery .wp-block-image > img {
  aspect-ratio: auto !important;
  object-fit: contain !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
  display: block !important;
  margin: 0 auto !important;
}

/* La cellule du polaroid s'adapte aussi à l'image (pas de hauteur fixe) */
body.aqm-theme-organique[class*="aqm-subpage-"] .aqm-page-body .wp-block-gallery figure.wp-block-image,
html body.aqm-theme-organique .aqm-page-body .wp-block-gallery figure.wp-block-image {
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  align-self: start !important;
}

/* La grille n'étire pas les cellules à la hauteur de la plus haute */
body.aqm-theme-organique[class*="aqm-subpage-"] .aqm-page-body .wp-block-gallery,
html body.aqm-theme-organique .aqm-page-body .wp-block-gallery {
  align-items: start !important;
}

/* Galeries : layout en colonnes (style Pinterest)
   Les images de hauteurs différentes (portrait/paysage) se distribuent
   verticalement sans laisser de vide à côté des plus courtes.
   EXCLUSIONS : pages polaroid (sortie-famille, vacances, accueil-loisir-espace-ado)
   qui ont leur propre layout flex avec scotch tape. */
body.aqm-theme-organique[class*="aqm-subpage-"]:not(.aqm-subpage-sortie-famille):not(.aqm-subpage-vacances):not(.aqm-subpage-accueil-loisir-espace-ado):not(.aqm-subpage-animation-quartier) .aqm-page-body .wp-block-gallery {
  display: block !important;          /* override grid */
  max-width: 1400px !important;
  padding-left: 2rem !important;
  padding-right: 2rem !important;
  column-count: 3;
  column-gap: 2.5rem;
}
body.aqm-theme-organique[class*="aqm-subpage-"]:not(.aqm-subpage-sortie-famille):not(.aqm-subpage-vacances):not(.aqm-subpage-accueil-loisir-espace-ado):not(.aqm-subpage-animation-quartier) .aqm-page-body .wp-block-gallery .wp-block-image {
  display: block !important;
  break-inside: avoid !important;
  -webkit-column-break-inside: avoid !important;
  page-break-inside: avoid !important;
  width: 100% !important;
  margin: 0 0 2.5rem !important;
}
/* Tablette : 2 colonnes */
@media (max-width: 1199px) {
  body.aqm-theme-organique[class*="aqm-subpage-"]:not(.aqm-subpage-sortie-famille):not(.aqm-subpage-vacances):not(.aqm-subpage-accueil-loisir-espace-ado):not(.aqm-subpage-animation-quartier) .aqm-page-body .wp-block-gallery {
    column-count: 2;
    column-gap: 1.8rem;
  }
  body.aqm-theme-organique[class*="aqm-subpage-"]:not(.aqm-subpage-sortie-famille):not(.aqm-subpage-vacances):not(.aqm-subpage-accueil-loisir-espace-ado):not(.aqm-subpage-animation-quartier) .aqm-page-body .wp-block-gallery .wp-block-image {
    margin-bottom: 1.8rem !important;
  }
}
/* Mobile : 1 colonne */
@media (max-width: 699px) {
  body.aqm-theme-organique[class*="aqm-subpage-"]:not(.aqm-subpage-sortie-famille):not(.aqm-subpage-vacances):not(.aqm-subpage-accueil-loisir-espace-ado):not(.aqm-subpage-animation-quartier) .aqm-page-body .wp-block-gallery {
    column-count: 1;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  body.aqm-theme-organique[class*="aqm-subpage-"]:not(.aqm-subpage-sortie-famille):not(.aqm-subpage-vacances):not(.aqm-subpage-accueil-loisir-espace-ado):not(.aqm-subpage-animation-quartier) .aqm-page-body .wp-block-gallery .wp-block-image {
    margin-bottom: 1.5rem !important;
  }
}

/* Pour les pages polaroid : on garde leur layout flex mais on s'assure que
   les images ne sont pas étirées en aspect-ratio carré (laisse l'image entière) */
body.aqm-theme-organique.aqm-subpage-sortie-famille .aqm-page-body .wp-block-gallery .wp-block-image img,
body.aqm-theme-organique.aqm-subpage-vacances .aqm-page-body .wp-block-gallery .wp-block-image img,
body.aqm-theme-organique.aqm-subpage-accueil-loisir-espace-ado .aqm-page-body .wp-block-gallery .wp-block-image img {
  aspect-ratio: auto !important;
  object-fit: contain !important;
  height: auto !important;
}

/* ════════════════════════════════════════════════════════════
   LIGHTBOX — Photo agrandie avec fond flou
   Géré par le JS injecté en footer (functions.php)
════════════════════════════════════════════════════════════ */
.aqm-lightbox {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 3rem 2rem;
  background: rgba(15, 12, 8, .55);
  backdrop-filter: blur(18px) saturate(1.05);
  -webkit-backdrop-filter: blur(18px) saturate(1.05);
  opacity: 0;
  transition: opacity .25s ease;
  cursor: zoom-out;
}
.aqm-lightbox.is-open {
  opacity: 1;
}
.aqm-lightbox[hidden] {
  display: none;
}
.aqm-lightbox-img {
  max-width: 92vw;
  max-height: 88vh;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 16px;
  box-shadow:
    0 40px 80px -20px rgba(0, 0, 0, .6),
    0 0 0 1px rgba(255, 255, 255, .08);
  transform: scale(.92);
  transition: transform .35s cubic-bezier(.22, .61, .36, 1);
  cursor: default;
}
.aqm-lightbox.is-open .aqm-lightbox-img {
  transform: scale(1);
}
.aqm-lightbox-close {
  position: fixed;
  top: 1.2rem;
  right: 1.4rem;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.2rem;
  font-weight: 300;
  line-height: 1;
  color: #fff;
  background: rgba(255, 255, 255, .12);
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 50%;
  cursor: pointer;
  transition: background .25s ease, transform .25s ease;
  z-index: 1;
}
.aqm-lightbox-close:hover {
  background: rgba(255, 255, 255, .25);
  transform: scale(1.08);
}
.aqm-lightbox-close:focus-visible {
  outline: 3px solid #E8825D;
  outline-offset: 2px;
}

/* Petit indice visuel : les images cliquables ont un curseur zoom-in */
body.aqm-theme-organique .wp-block-gallery img,
body.aqm-theme-organique .wp-block-image:not(:has(a)) img,
body.aqm-theme-organique .news-card-img img,
body.aqm-theme-organique #status .status-visual img {
  cursor: zoom-in;
}

@media (prefers-reduced-motion: reduce) {
  .aqm-lightbox,
  .aqm-lightbox-img,
  .aqm-lightbox-close { transition: none !important; }
}
