/*
Theme Name: Magic Garden Enfant
Template: magicgarden
Version: 1.0.37
Description: Theme enfant Magic Garden (maquette Open Design).
*/


/* ============================================================
   MAGIC GARDEN — Système de design (CSS pur, autonome)
   Tokens préfixés --mg-* (noms réservés de l'hôte non redéfinis).
   Contraste AA vérifié — ratios réels indiqués en commentaire.
   ============================================================ */
:root{
  --mg-ground:#FBFDFC;      /* fond de page */
  --mg-surface:#FFFFFF;     /* cartes */
  --mg-ink:#16302A;         /* texte principal — 14.9:1 sur ground */
  --mg-ink-muted:#4C6B63;   /* texte secondaire — 5.4:1 sur ground (AA) */
  --mg-primary:#2E9E63;     /* vert Magic Garden (décor / accents) */
  --mg-primary-dark:#1F7A4C;/* vert action — 4.9:1 avec blanc (AA) */
  --mg-sky:#4EA8DE;         /* bleu ciel */
  --mg-sky-soft:#DCEFF9;    /* bleu ciel clair (fonds) */
  --mg-coral:#F4795B;       /* corail chaud — 5.2:1 avec encre (AA) */
  --mg-sun:#FFC94D;         /* jaune soleil — 10.1:1 avec encre (AA) */
  --mg-border:#DCEAE4;

  --mg-radius-sm:8px; --mg-radius-md:14px; --mg-radius-lg:24px; --mg-radius-pill:999px;
  --mg-shadow:0 8px 24px rgba(22,48,42,.08);
  --mg-max:1160px; --mg-gutter:20px;
  --mg-font-display:ui-rounded,"Segoe UI Variable Display","Segoe UI",system-ui,sans-serif;
  --mg-font-body:"Segoe UI Variable Text","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  --mg-ease:cubic-bezier(.2,.7,.3,1);
}
@media (min-width:768px){ :root{ --mg-gutter:32px; } }

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0; background:var(--mg-ground); color:var(--mg-ink);
  font-family:var(--mg-font-body); font-size:17px; line-height:1.6;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
h1,h2,h3,h4{ font-family:var(--mg-font-display); line-height:1.12; margin:0; letter-spacing:-.01em; }
p{ margin:0; }
a{ color:var(--mg-primary-dark); }
img{ max-width:100%; height:auto; display:block; }
ul{ margin:0; padding:0; list-style:none; }
button{ font:inherit; }

.mg-container{ width:100%; max-width:var(--mg-max); margin-inline:auto; padding-inline:var(--mg-gutter); }
.mg-section{ padding-block:clamp(56px,8vw,96px); }
.mg-eyebrow{ font-size:12px; text-transform:uppercase; letter-spacing:.06em; font-weight:700; color:var(--mg-primary-dark); margin-bottom:12px; }
.mg-lead{ color:var(--mg-ink-muted); font-size:clamp(16px,2.4vw,19px); max-width:62ch; }
.mg-h2{ font-size:clamp(28px,4.4vw,36px); }
.mg-center{ text-align:center; margin-inline:auto; }

/* Accessibilité ------------------------------------------------ */
.mg-skip{ position:absolute; left:-999px; top:0; z-index:100; background:var(--mg-ink); color:#fff; padding:12px 18px; border-radius:0 0 var(--mg-radius-sm) 0; }
.mg-skip:focus{ left:0; }
:focus-visible{ outline:3px solid var(--mg-sky); outline-offset:2px; border-radius:4px; }
.mg-visually-hidden{ position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }

/* Boutons ------------------------------------------------------ */
.mg-btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:48px; padding:12px 22px; border-radius:var(--mg-radius-pill); font-weight:700; font-size:16px; text-decoration:none; cursor:pointer; border:1px solid transparent; transition:transform .18s var(--mg-ease), box-shadow .18s var(--mg-ease), background-color .18s var(--mg-ease), color .18s var(--mg-ease); }
.mg-btn:hover{ transform:translateY(-2px); }
.mg-btn:active{ transform:translateY(0); }
.mg-btn--primary{ background:var(--mg-primary-dark); color:#fff; }
.mg-btn--primary:hover{ background:#196440; box-shadow:var(--mg-shadow); }
.mg-btn--coral{ background:var(--mg-coral); color:var(--mg-ink); }
.mg-btn--coral:hover{ background:#ef6847; box-shadow:var(--mg-shadow); }
.mg-btn--ghost{ background:transparent; color:var(--mg-ink); border-color:var(--mg-border); }
.mg-btn--ghost:hover{ background:var(--mg-surface); border-color:var(--mg-primary); }
.mg-btn[disabled],.mg-btn[aria-disabled="true"]{ opacity:.55; cursor:not-allowed; transform:none; box-shadow:none; }

/* En-tête collant --------------------------------------------- */
.mg-header{ position:sticky; top:0; z-index:50; background:rgba(251,253,252,.92); backdrop-filter:saturate(140%) blur(10px); border-bottom:1px solid var(--mg-border); }
.mg-header__inner{ display:flex; align-items:center; gap:12px; min-height:70px; justify-content:space-between; }
.mg-brand{ display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--mg-ink); flex:0 0 auto; }
.mg-brand__logo{ height:40px; width:auto; border-radius:6px; }
.mg-nav{ display:none; }
.mg-nav ul{ display:flex; gap:0; }
.mg-nav a{ display:inline-block; padding:8px 10px; border-radius:var(--mg-radius-pill); color:var(--mg-ink); text-decoration:none; font-weight:600; font-size:14px; transition:background-color .18s var(--mg-ease), color .18s var(--mg-ease); }
.mg-nav a:hover{ background:var(--mg-sky-soft); color:var(--mg-primary-dark); }
.mg-nav a.is-active{ background:var(--mg-sky-soft); color:var(--mg-primary-dark); }
.mg-header__cta{ display:none; gap:8px; align-items:center; flex:0 0 auto; }
.mg-header__cta .mg-btn{ min-height:44px; padding:10px 16px; font-size:15px; }
.mg-burger{ display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px; border-radius:var(--mg-radius-sm); border:1px solid var(--mg-border); background:var(--mg-surface); cursor:pointer; }
.mg-burger span,.mg-burger span::before,.mg-burger span::after{ content:""; display:block; width:20px; height:2px; background:var(--mg-ink); border-radius:2px; position:relative; }
.mg-burger span::before{ position:absolute; top:-6px; }
.mg-burger span::after{ position:absolute; top:6px; }
#mg-menu-toggle{ position:absolute; opacity:0; pointer-events:none; }
.mg-mobile-menu{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .26s var(--mg-ease); border-top:0 solid var(--mg-border); }
.mg-mobile-menu > div{ overflow:hidden; }
#mg-menu-toggle:checked ~ .mg-mobile-menu{ grid-template-rows:1fr; border-top-width:1px; }
.mg-mobile-menu ul{ padding:10px 0 18px; }
.mg-mobile-menu a{ display:block; padding:12px 4px; text-decoration:none; color:var(--mg-ink); font-weight:600; border-bottom:1px solid var(--mg-border); }
.mg-mobile-menu .mg-btn{ width:100%; }
.mg-mobile-menu .mg-header__actions{ display:grid; gap:10px; margin-top:14px; }
@media (min-width:1200px){ .mg-nav{ display:block; } .mg-header__cta{ display:flex; } .mg-burger{ display:none; } .mg-mobile-menu{ display:none; } }

/* Héro (accueil) ---------------------------------------------- */
.mg-hero{ position:relative; overflow:hidden; color:#fff; isolation:isolate; }
.mg-hero__media{ position:absolute; inset:0; z-index:-2; }
.mg-hero__slide{ position:absolute; inset:0; opacity:1; background-size:cover; background-position:center; background-image:url("/wp-content/uploads/mg/gallery-01.jpg"); }
.mg-hero__scrim{ position:absolute; inset:0; z-index:-1; background:linear-gradient(105deg, rgba(22,48,42,.86) 0%, rgba(22,48,42,.62) 45%, rgba(31,122,76,.45) 100%); }
.mg-hero__inner{ padding-block:clamp(72px,14vw,140px); max-width:720px; }
.mg-hero h1{ font-size:clamp(34px,6vw,56px); }
.mg-hero__accent{ color:var(--mg-sun); }
.mg-hero__sub{ margin-top:18px; font-size:clamp(17px,2.6vw,20px); color:#EAF4EF; max-width:56ch; }
.mg-hero__actions{ display:flex; flex-wrap:wrap; gap:14px; margin-top:32px; }
.mg-hero__badges{ display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.mg-chip{ display:inline-flex; align-items:center; gap:8px; padding:7px 14px; border-radius:var(--mg-radius-pill); background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.32); font-size:14px; font-weight:600; color:#fff; }
.mg-chip svg{ flex:none; }

/* Héro de page (pages intérieures) ---------------------------- */
.mg-pagehero{ position:relative; overflow:hidden; background:linear-gradient(180deg,var(--mg-sky-soft),var(--mg-ground)); border-bottom:1px solid var(--mg-border); }
.mg-pagehero__inner{ position:relative; z-index:2; padding-block:clamp(34px,5vw,56px) clamp(96px,15vw,150px); max-width:780px; }
.mg-pagehero h1{ font-size:clamp(30px,5vw,46px); }
.mg-pagehero .mg-lead{ margin-top:14px; }
.mg-pagehero__art{ position:absolute; left:0; right:0; bottom:-2px; width:100%; height:auto; z-index:1; display:block; pointer-events:none; }
.mg-crumbs{ font-size:13.5px; color:var(--mg-ink-muted); margin-bottom:12px; }
.mg-crumbs a{ color:var(--mg-ink-muted); text-decoration:none; }
.mg-crumbs a:hover{ color:var(--mg-primary-dark); text-decoration:underline; }
.mg-crumbs span{ color:var(--mg-ink); font-weight:600; }

/* Blocs de contenu -------------------------------------------- */
.mg-prose{ max-width:70ch; color:var(--mg-ink-muted); }
.mg-prose p + p{ margin-top:14px; }
.mg-grid-2{ display:grid; gap:26px; grid-template-columns:1fr; }
@media (min-width:860px){ .mg-grid-2{ grid-template-columns:1fr 1fr; } }
.mg-grid-3{ display:grid; gap:22px; grid-template-columns:1fr; margin-top:40px; }
@media (min-width:760px){ .mg-grid-3{ grid-template-columns:repeat(3,1fr); } }
.mg-block{ background:var(--mg-surface); border:1px solid var(--mg-border); border-radius:var(--mg-radius-lg); padding:26px; box-shadow:var(--mg-shadow); }
.mg-block h3{ font-size:21px; margin-bottom:10px; }
.mg-block p{ color:var(--mg-ink-muted); font-size:15.5px; }
.mg-block p + p{ margin-top:10px; }
.mg-num{ width:46px; height:46px; border-radius:var(--mg-radius-md); display:grid; place-items:center; font-family:var(--mg-font-display); font-weight:800; font-size:18px; background:var(--mg-sky-soft); color:var(--mg-primary-dark); margin-bottom:14px; }
.mg-list{ display:grid; gap:8px; margin-top:12px; }
.mg-list li{ display:flex; gap:10px; font-size:15.5px; color:var(--mg-ink-muted); }
.mg-list svg{ flex:none; margin-top:4px; color:var(--mg-primary); }
.mg-sprout{ width:52px; height:auto; display:block; margin:0 auto 14px; }
.mg-illus{ display:block; width:100%; height:auto; border-radius:var(--mg-radius-lg); }
.mg-figure{ margin:0; background:var(--mg-surface); border:1px solid var(--mg-border); border-radius:var(--mg-radius-lg); overflow:hidden; box-shadow:var(--mg-shadow); }
.mg-figure figcaption{ padding:14px 18px; font-size:14px; color:var(--mg-ink-muted); }

/* Atouts / cartes --------------------------------------------- */
.mg-features{ display:grid; gap:20px; grid-template-columns:1fr; margin-top:44px; }
@media (min-width:600px){ .mg-features{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1024px){ .mg-features{ grid-template-columns:repeat(4,1fr); } }
.mg-card{ background:var(--mg-surface); border:1px solid var(--mg-border); border-radius:var(--mg-radius-lg); padding:26px 22px; box-shadow:var(--mg-shadow); transition:transform .2s var(--mg-ease), box-shadow .2s var(--mg-ease), border-color .2s var(--mg-ease); }
.mg-card:hover{ transform:translateY(-4px); border-color:#c7e0d5; box-shadow:0 14px 30px rgba(22,48,42,.12); }
.mg-feature__icon{ width:56px; height:56px; border-radius:var(--mg-radius-md); display:grid; place-items:center; background:var(--mg-sky-soft); color:var(--mg-primary-dark); margin-bottom:16px; }
.mg-feature:nth-child(2) .mg-feature__icon{ background:#FCE9E3; color:#C64A2E; }
.mg-feature:nth-child(3) .mg-feature__icon{ background:#FFF3D4; color:#8A6A00; }
.mg-feature:nth-child(4) .mg-feature__icon{ background:#E4F6EC; color:var(--mg-primary-dark); }
.mg-feature h3{ font-size:19px; margin-bottom:8px; }
.mg-feature p{ color:var(--mg-ink-muted); font-size:15.5px; }

/* Programmes --------------------------------------------------- */
.mg-programs{ display:grid; gap:26px; grid-template-columns:1fr; margin-top:44px; }
@media (min-width:860px){ .mg-programs{ grid-template-columns:repeat(2,1fr); } }
.mg-program{ background:var(--mg-surface); border:1px solid var(--mg-border); border-radius:var(--mg-radius-lg); overflow:hidden; box-shadow:var(--mg-shadow); display:flex; flex-direction:column; }
.mg-program__media{ position:relative; aspect-ratio:16/10; overflow:hidden; }
.mg-program__media img{ width:100%; height:100%; object-fit:cover; }
.mg-program__badge{ position:absolute; top:14px; left:14px; background:var(--mg-surface); color:var(--mg-ink); border-radius:var(--mg-radius-pill); padding:7px 14px; font-weight:700; font-size:14px; box-shadow:var(--mg-shadow); border:1px solid var(--mg-border); }
.mg-program__body{ padding:24px; display:flex; flex-direction:column; flex:1; }
.mg-program__age{ font-size:13px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--mg-primary-dark); }
.mg-program h3{ font-size:23px; margin:8px 0 10px; }
.mg-program p{ color:var(--mg-ink-muted); }
.mg-points{ display:grid; gap:10px; margin:18px 0 22px; }
.mg-points li{ display:flex; gap:10px; align-items:flex-start; font-size:15.5px; }
.mg-points svg{ flex:none; margin-top:3px; color:var(--mg-primary); }
.mg-program .mg-btn{ margin-top:auto; align-self:flex-start; }

/* Hub infos ---------------------------------------------------- */
.mg-hub{ display:grid; gap:20px; grid-template-columns:1fr; margin-top:44px; }
@media (min-width:760px){ .mg-hub{ grid-template-columns:repeat(3,1fr); } }
.mg-hub__tile{ display:flex; flex-direction:column; text-decoration:none; color:inherit; }
.mg-hub__tile .mg-feature__icon{ margin-bottom:14px; }
.mg-hub__tile h3{ font-size:19px; margin-bottom:8px; }
.mg-hub__tile p{ color:var(--mg-ink-muted); font-size:15.5px; margin-bottom:16px; }
.mg-hub__more{ margin-top:auto; font-weight:700; color:var(--mg-primary-dark); display:inline-flex; align-items:center; gap:6px; }
.mg-hub__tile:hover .mg-hub__more{ gap:10px; }

/* Actualités --------------------------------------------------- */
.mg-news-grid{ display:grid; gap:22px; grid-template-columns:1fr; margin-top:40px; }
@media (min-width:760px){ .mg-news-grid{ grid-template-columns:repeat(3,1fr); } }
.mg-article{ display:flex; flex-direction:column; text-decoration:none; color:inherit; }
.mg-article time{ font-size:13px; color:var(--mg-ink-muted); font-weight:600; }
.mg-article h3{ font-size:18px; margin:8px 0; }
.mg-article p{ color:var(--mg-ink-muted); font-size:15px; margin-bottom:14px; }
.mg-article .mg-hub__more{ margin-top:auto; }

/* Tableaux (aucun défilement horizontal) ---------------------- */
.mg-tablewrap{ margin-top:28px; }
.mg-table{ width:100%; border-collapse:collapse; table-layout:fixed; font-size:15.5px; }
.mg-table caption{ text-align:left; font-size:12px; text-transform:uppercase; letter-spacing:.06em; font-weight:700; color:var(--mg-primary-dark); padding-bottom:12px; }
.mg-table th,.mg-table td{ text-align:left; padding:12px 12px; border-bottom:1px solid var(--mg-border); vertical-align:top; overflow-wrap:anywhere; }
.mg-table thead th{ font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:var(--mg-ink-muted); font-weight:700; }
.mg-table tbody tr:hover{ background:#F4FAF7; }
.mg-table td strong{ color:var(--mg-ink); }
.mg-table .mg-amount{ font-variant-numeric:tabular-nums; }
@media (max-width:560px){ .mg-table{ font-size:14px; } .mg-table th,.mg-table td{ padding:10px 8px; } }

/* Galerie ------------------------------------------------------ */
.mg-gallery{ display:grid; gap:14px; grid-template-columns:repeat(2,1fr); margin-top:40px; }
@media (min-width:640px){ .mg-gallery{ grid-template-columns:repeat(3,1fr); } }
@media (min-width:1024px){ .mg-gallery{ grid-template-columns:repeat(4,1fr); } }
.mg-gallery figure{ margin:0; border-radius:var(--mg-radius-md); overflow:hidden; border:1px solid var(--mg-border); box-shadow:var(--mg-shadow); background:var(--mg-surface); }
.mg-gallery img{ width:100%; aspect-ratio:4/3; object-fit:cover; transition:transform .3s var(--mg-ease); }
.mg-gallery figure:hover img{ transform:scale(1.05); }
.mg-gallery figcaption{ padding:10px 12px; font-size:13px; color:var(--mg-ink-muted); }

/* Étapes (inscriptions) --------------------------------------- */
.mg-steps{ display:grid; gap:18px; margin-top:40px; }
.mg-step{ display:flex; gap:16px; align-items:flex-start; background:var(--mg-surface); border:1px solid var(--mg-border); border-radius:var(--mg-radius-lg); padding:22px; box-shadow:var(--mg-shadow); }
.mg-step__num{ flex:none; width:42px; height:42px; border-radius:50%; background:var(--mg-primary-dark); color:#fff; display:grid; place-items:center; font-weight:800; font-family:var(--mg-font-display); }
.mg-step h3{ font-size:18px; margin-bottom:6px; }
.mg-step p{ color:var(--mg-ink-muted); font-size:15.5px; }

/* Contact ------------------------------------------------------ */
.mg-contact{ display:grid; gap:32px; grid-template-columns:1fr; margin-top:44px; }
@media (min-width:960px){ .mg-contact{ grid-template-columns:1fr 1fr; align-items:start; } }
.mg-contact__list{ display:grid; gap:18px; margin:0; }
.mg-contact__item{ display:flex; gap:14px; align-items:flex-start; }
.mg-contact__item .mg-feature__icon{ width:46px; height:46px; margin:0; }
.mg-contact__item dt{ font-size:12px; text-transform:uppercase; letter-spacing:.06em; color:var(--mg-ink-muted); font-weight:700; }
.mg-contact__item dd{ margin:2px 0 0; font-size:16.5px; }
.mg-contact__item a{ color:var(--mg-ink); text-decoration:none; font-weight:600; }
.mg-contact__item a:hover{ color:var(--mg-primary-dark); text-decoration:underline; }

/* Carte stylisée CSS/SVG */
.mg-map{ position:relative; border-radius:var(--mg-radius-lg); overflow:hidden; border:1px solid var(--mg-border); box-shadow:var(--mg-shadow); background:var(--mg-sky-soft); }
.mg-map svg{ display:block; width:100%; height:auto; }
.mg-map__pin{ position:absolute; left:50%; top:44%; transform:translate(-50%,-100%); display:flex; flex-direction:column; align-items:center; gap:6px; pointer-events:none; }
.mg-map__pin .dot{ width:16px; height:16px; border-radius:50%; background:var(--mg-coral); border:3px solid #fff; box-shadow:var(--mg-shadow); }
.mg-map__label{ background:var(--mg-surface); color:var(--mg-ink); font-weight:700; font-size:13px; padding:6px 12px; border-radius:var(--mg-radius-pill); box-shadow:var(--mg-shadow); border:1px solid var(--mg-border); white-space:nowrap; }
.mg-map__open{ position:absolute; right:12px; bottom:12px; }

/* Formulaires -------------------------------------------------- */
.mg-news{ background:var(--mg-surface); border:1px solid var(--mg-border); border-radius:var(--mg-radius-lg); padding:26px; box-shadow:var(--mg-shadow); margin-top:28px; }
.mg-news h3{ font-size:19px; margin-bottom:6px; }
.mg-news p{ color:var(--mg-ink-muted); font-size:15px; margin-bottom:16px; }
.mg-form{ display:grid; gap:16px; }
.mg-field{ display:flex; flex-direction:column; gap:6px; }
.mg-field label{ font-size:13px; font-weight:700; color:var(--mg-ink); }
.mg-field input,.mg-field textarea{ min-height:48px; padding:12px 14px; border-radius:var(--mg-radius-sm); border:1px solid var(--mg-border); background:var(--mg-ground); color:var(--mg-ink); font:inherit; transition:border-color .18s var(--mg-ease), box-shadow .18s var(--mg-ease); }
.mg-field textarea{ min-height:130px; resize:vertical; }
.mg-field input:focus,.mg-field textarea:focus{ outline:none; border-color:var(--mg-primary); box-shadow:0 0 0 3px rgba(46,158,99,.22); }
.mg-field input:user-invalid,.mg-field textarea:user-invalid{ border-color:#C64A2E; }
.mg-news__row{ display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.mg-news__row .mg-field{ flex:1 1 220px; }
.mg-news__msg{ font-size:14.5px; margin-top:12px; min-height:20px; }
.mg-news__msg[data-state="success"]{ color:var(--mg-primary-dark); font-weight:600; }
.mg-news__msg[data-state="error"]{ color:#B23A1F; font-weight:600; }
.mg-news__msg[data-state="loading"]{ color:var(--mg-ink-muted); }
.mg-spinner{ width:16px; height:16px; border:2px solid var(--mg-border); border-top-color:var(--mg-primary); border-radius:50%; display:inline-block; vertical-align:-3px; margin-right:8px; animation:mg-spin .7s linear infinite; }
@keyframes mg-spin{ to{ transform:rotate(360deg); } }

/* Pied de page ------------------------------------------------- */
.mg-footer{ background:#10241F; color:#D9E7E1; padding-block:48px 28px; margin-top:24px; }
.mg-footer a{ color:#D9E7E1; text-decoration:none; }
.mg-footer a:hover{ color:#fff; text-decoration:underline; }
.mg-footer__grid{ display:grid; gap:28px; grid-template-columns:1fr; }
@media (min-width:720px){ .mg-footer__grid{ grid-template-columns:2fr 1fr 1fr; } }
.mg-footer h4{ color:#fff; font-size:15px; margin-bottom:12px; }
.mg-footer li{ margin-bottom:8px; font-size:15px; }
.mg-footer__logo{ height:48px; width:auto; border-radius:6px; }
.mg-footer__bottom{ border-top:1px solid rgba(255,255,255,.14); margin-top:34px; padding-top:20px; font-size:13.5px; color:#A9C2B9; display:flex; flex-wrap:wrap; gap:8px; justify-content:space-between; }

@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  .mg-hero__slide{ animation:none; }
  *,*::before,*::after{ animation-duration:.001ms!important; animation-iteration-count:1!important; transition-duration:.001ms!important; }
}
.page-id-2 .site-header, .page-id-38 .site-header, .page-id-26 .site-header, .page-id-32 .site-header, .page-id-36 .site-header, .page-id-239 .site-header, .page-id-22 .site-header, .page-id-255 .site-header, .page-id-34 .site-header, .page-id-24 .site-header,.page-id-2 .site-navigation, .page-id-38 .site-navigation, .page-id-26 .site-navigation, .page-id-32 .site-navigation, .page-id-36 .site-navigation, .page-id-239 .site-navigation, .page-id-22 .site-navigation, .page-id-255 .site-navigation, .page-id-34 .site-navigation, .page-id-24 .site-navigation,.page-id-2 .site-footer, .page-id-38 .site-footer, .page-id-26 .site-footer, .page-id-32 .site-footer, .page-id-36 .site-footer, .page-id-239 .site-footer, .page-id-22 .site-footer, .page-id-255 .site-footer, .page-id-34 .site-footer, .page-id-24 .site-footer,.page-id-2 #secondary, .page-id-38 #secondary, .page-id-26 #secondary, .page-id-32 #secondary, .page-id-36 #secondary, .page-id-239 #secondary, .page-id-22 #secondary, .page-id-255 #secondary, .page-id-34 #secondary, .page-id-24 #secondary,.page-id-2 .widget-area, .page-id-38 .widget-area, .page-id-26 .widget-area, .page-id-32 .widget-area, .page-id-36 .widget-area, .page-id-239 .widget-area, .page-id-22 .widget-area, .page-id-255 .widget-area, .page-id-34 .widget-area, .page-id-24 .widget-area,.page-id-2 .storefront-handheld-footer-bar, .page-id-38 .storefront-handheld-footer-bar, .page-id-26 .storefront-handheld-footer-bar, .page-id-32 .storefront-handheld-footer-bar, .page-id-36 .storefront-handheld-footer-bar, .page-id-239 .storefront-handheld-footer-bar, .page-id-22 .storefront-handheld-footer-bar, .page-id-255 .storefront-handheld-footer-bar, .page-id-34 .storefront-handheld-footer-bar, .page-id-24 .storefront-handheld-footer-bar{display:none !important;}.page-id-2 .col-full, .page-id-38 .col-full, .page-id-26 .col-full, .page-id-32 .col-full, .page-id-36 .col-full, .page-id-239 .col-full, .page-id-22 .col-full, .page-id-255 .col-full, .page-id-34 .col-full, .page-id-24 .col-full{max-width:100% !important;padding:0 !important;}.mg-hero h1{color:#fff !important;}.mg-hero__accent{color:#FFC94D !important;}.mg-nav a,.mg-footer a{text-decoration:none !important;border-bottom:none !important;}.mg-btn{text-decoration:none !important;border-bottom:none !important;}
/* ===== entry-header masque (10 pages) ===== */
.page-id-2 .entry-header,.page-id-38 .entry-header,.page-id-26 .entry-header,.page-id-32 .entry-header,.page-id-36 .entry-header,.page-id-239 .entry-header,.page-id-22 .entry-header,.page-id-255 .entry-header,.page-id-34 .entry-header,.page-id-24 .entry-header{display:none !important;}
/* ===== restaurer titres maquette (theme force 300/#333) ===== */
.mg-h2,.mg-feature h3,.mg-article h3,.mg-program h3,.mg-hub__tile h3,.mg-block h3,.mg-step h3,.mg-news h3,.mg-center h2{color:#16302A !important;font-weight:700 !important;}

/* ===== titres h1-h4 gras (maquette = UA bold) ===== */
h1,h2,h3,h4{font-weight:700 !important;}

/* ===== header: pastille active + CTA coral (maquette) ===== */
.mg-nav a.is-active{background:#E8F3EC !important;color:#16302A !important;}
.mg-btn--coral{color:#FFFFFF !important;}
.mg-btn--coral:hover{color:#FFFFFF !important;}
.mg-btn{padding:.8rem 1.6rem !important;}


/* ===== Refonte header (704) : plus etire, logo agrandi, fond blanc pur ===== */
.mg-header{background:#FFFFFF;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:1px solid var(--mg-border);box-shadow:0 1px 0 rgba(22,48,42,.03);}
@media (min-width:1200px){
  .mg-header .mg-container{max-width:1440px;padding-inline:32px;}
}
.mg-header__inner{min-height:84px;gap:20px;flex-wrap:nowrap;}
.mg-brand{display:inline-flex;align-items:center;min-width:220px;}
.mg-brand__logo{height:52px;max-height:52px;width:auto;border-radius:10px;}
.mg-nav ul{display:flex;flex-wrap:nowrap;gap:4px;white-space:nowrap;justify-content:center;}
.mg-nav a{padding:9px 12px;white-space:nowrap;}
@media (min-width:1200px) and (max-width:1439px){
  .mg-header .mg-container{padding-inline:20px;}
  .mg-header__inner{gap:16px;}
  .mg-brand{min-width:180px;}
  .mg-brand__logo{height:44px;max-height:44px;}
  .mg-nav ul{gap:2px;}
  .mg-nav a{font-size:13px;padding:7px 8px;}
  .mg-header__cta .mg-btn{font-size:13px;padding:8px 12px;min-height:40px;}
}
@media (max-width:1199px){
  .mg-header .mg-container{padding-inline:20px;}
  .mg-header__inner{min-height:72px;gap:14px;}
  .mg-brand{min-width:160px;}
  .mg-brand__logo{height:44px;max-height:44px;}
}
@media (max-width:767px){
  .mg-header .mg-container{padding-inline:16px;}
  .mg-header__inner{min-height:64px;gap:10px;}
  .mg-brand{min-width:140px;}
  .mg-brand__logo{height:42px;max-height:42px;border-radius:8px;}
}

/* ===== Hero : variation de couleur (scrim multi-degrades) ===== */
.mg-hero__scrim{
  background:
    radial-gradient(130% 100% at 8% 30%, rgba(22,48,42,.94) 0%, rgba(22,48,42,.86) 45%, rgba(22,48,42,.58) 72%, rgba(22,48,42,0) 100%),
    radial-gradient(70% 70% at 88% 10%, rgba(255,201,77,.40), transparent 62%),
    radial-gradient(80% 80% at 94% 92%, rgba(244,121,91,.36), transparent 60%),
    radial-gradient(62% 62% at 62% 52%, rgba(78,168,222,.30), transparent 66%),
    linear-gradient(105deg, rgba(31,122,76,.60) 0%, rgba(46,158,99,.42) 55%, rgba(78,168,222,.34) 100%);
}
.mg-hero__scrim::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:5px;
  background:linear-gradient(90deg,#2E9E63 0%,#4EA8DE 38%,#F4795B 70%,#FFC94D 100%);
}
.page-id-2 main,.page-id-38 main,.page-id-26 main,.page-id-32 main,.page-id-36 main,.page-id-239 main,.page-id-22 main,.page-id-255 main,.page-id-34 main,.page-id-24 main{margin-bottom:0 !important;}.mg-footer ~ p:empty{display:none !important;}.mg-footer{padding-block:72px 40px !important;}.mg-footer .mg-container{max-width:1280px;}.mg-footer__grid{gap:48px !important;}@media (min-width:720px){.mg-footer__grid{grid-template-columns:1.7fr 1fr 1.3fr !important;}}.mg-footer h4{margin-bottom:18px !important;letter-spacing:.02em;}.mg-footer li{margin-bottom:12px !important;line-height:1.55;}.mg-footer__bottom{margin-top:48px !important;padding-top:28px !important;}.mg-footer__logo{height:56px !important;}.mg-contact__row{display:flex;gap:10px;align-items:flex-start;}.mg-contact__row .mg-ico{width:22px;height:22px;flex:0 0 auto;color:#7FD1A6;margin-top:2px;line-height:0;}.mg-contact__row .mg-ico svg{display:block;width:22px;height:22px;}

/* === patch 756 : bande, focus, illustrations === */
.mg-footer ~ p{display:none !important;}
.entry-content{padding-bottom:0 !important;}
.mg-nav a:focus,.mg-burger:focus{outline:none !important;}
.mg-nav a:focus-visible{background:#E8F3EC !important;color:#1F7A4C !important;outline:none !important;}
.mg-header__cta .mg-btn:focus{outline:none !important;}
.mg-header__cta .mg-btn:focus-visible,.mg-burger:focus-visible{outline:none !important;box-shadow:0 0 0 3px rgba(31,122,76,.35) !important;}
.mg-illus img{width:100%;height:auto;display:block;border-radius:24px;}

/* patch 756b : bande = marge .content-area */
.page-id-2 .content-area,.page-id-38 .content-area,.page-id-26 .content-area,.page-id-32 .content-area,.page-id-36 .content-area,.page-id-239 .content-area,.page-id-22 .content-area,.page-id-255 .content-area,.page-id-34 .content-area,.page-id-24 .content-area{margin-bottom:0 !important;}

.mg-card{position:relative;}
.mg-card .mg-hub__more{position:static;}
.mg-card a.mg-hub__more{text-decoration:none !important;}
.mg-card a.mg-hub__more::after{content:"";position:absolute;inset:0;border-radius:inherit;}
.mg-card a.mg-hub__more:hover{color:#1F7A4C;}
.mg-banner{background:var(--mg-sky-soft);border:1px solid var(--mg-border);border-radius:var(--mg-radius-md);padding:12px 20px;max-width:760px;margin:24px auto !important;text-align:center;}.mg-map--live{border-radius:0 !important;border-left:none !important;border-right:none !important;}.mg-map--live iframe{display:block;width:100%;height:480px;border:0;}@media (max-width:767px){.mg-map--live iframe{height:360px;}}
.mg-section:has(.mg-map--live){padding-bottom:0 !important;}.page-id-2 article.hentry,.page-id-38 article.hentry,.page-id-26 article.hentry,.page-id-32 article.hentry,.page-id-36 article.hentry,.page-id-239 article.hentry,.page-id-22 article.hentry,.page-id-255 article.hentry,.page-id-34 article.hentry,.page-id-24 article.hentry{margin-bottom:0 !important;}

.mg-follow__panel{background:#E8F3EC;border-radius:24px;padding:clamp(24px,4vw,44px);display:flex;flex-wrap:wrap;gap:20px 32px;align-items:center;justify-content:space-between;}

/* mg-article v1.0.11 — articles 983/984/985. Parent Storefront intact. */
/* Masquage Storefront : hauteur rendue 0, #secondary hors flux. */
.single-post .site-header,.single-post .site-footer{height:0!important;min-height:0!important;max-height:0!important;padding:0!important;margin:0!important;border:0!important;overflow:hidden!important;visibility:hidden!important;}
.single-post #secondary{display:none!important;}
.single-post .storefront-handheld-footer-bar{display:none!important;}
/* Bandeau 4 bandes 6px en haut. */
.single-post .mg-page-nouvelle{background:#FBFDFC;color:#16302A;font-family:system-ui,"Segoe UI",Roboto,sans-serif;padding:116px 32px 64px;}
.single-post .mg-page-nouvelle::before{content:"";display:block;height:6px;border-radius:999px;background:linear-gradient(to right,#2E9E63 0 25%,#4EA8DE 25% 50%,#F4795B 50% 75%,#FFC94D 75% 100%);margin-bottom:32px;}
/* En-tête mg 84px blanc fixe. */
.single-post .mg-header{background:#FFFFFF;min-height:84px;position:sticky;top:0;z-index:50;display:flex;align-items:center;}
.single-post .mg-header__inner{width:1280px;max-width:100%;margin:0 auto;display:flex;align-items:center;gap:24px;padding:0 32px;min-height:84px;}
/* Fil Ariane 36px. */
.single-post .mg-fil{min-height:36px;font-size:13px;margin-bottom:16px;}
.single-post .mg-fil a{color:#1F7A4C;text-decoration:underline;text-underline-offset:2px;}
.single-post .mg-fil span[aria-current]{color:#16302A;}
/* Bandeau compact blanc radius 24. */
.single-post .mg-chapeau{background:#FFFFFF;border-radius:24px;box-shadow:0 8px 24px rgba(22,48,42,.08);padding:32px 40px;max-width:1280px;margin:0 auto 24px;}
.single-post .mg-pastille{display:inline-flex;align-items:center;min-height:28px;padding:0 14px;border-radius:999px;background:#F4795B;color:#16302A;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin:0 0 16px;}
.single-post .mg-titre{font-family:ui-rounded,"SF Pro Rounded","Segoe UI Rounded",Nunito,system-ui,sans-serif;font-size:36px;line-height:1.22;letter-spacing:-.01em;font-weight:800;color:#16302A;margin:0 0 12px;max-width:20ch;}
.single-post .mg-meta{font-size:14px;font-weight:500;color:#16302A;margin:0;}
.single-post .mg-resume{font-size:17px;line-height:1.7;margin:16px 0 0;max-width:68ch;}
/* Frise SVG 120px. */
.single-post .mg-motif{max-width:1280px;margin:0 auto 24px;}
.single-post .mg-motif img{display:block;width:100%;height:120px;object-fit:contain;background:#FFFFFF;border-radius:14px;}
/* Corps mesure ~68 signes. */
.single-post .mg-corps{max-width:620px;margin:0 auto;font-size:17px;line-height:1.7;}
.single-post .mg-corps p{margin:0 0 24px;}
.single-post .mg-corps h2{font-size:24px;line-height:1.3;font-weight:700;margin:40px 0 16px;}
.single-post .mg-corps a{color:#1F7A4C;text-decoration:underline;text-underline-offset:2px;}
.single-post .mg-corps img{max-width:100%;height:auto;border-radius:8px;}
/* Encadré encre radius 24. */
.single-post .mg-action{background:#16302A;border-radius:24px;padding:28px;max-width:620px;margin:32px auto;}
.single-post .mg-action__titre{color:#FFFFFF;font-size:20px;margin:0 0 8px;}
.single-post .mg-action__texte{color:#FFFFFF;font-size:16px;line-height:1.6;margin:0 0 16px;}
.single-post .mg-action__boutons{display:flex;gap:12px;margin:0;}
.single-post .mg-bouton{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:999px;font-weight:700;text-decoration:none;min-width:44px;}
.single-post .mg-bouton--principal{background:#1F7A4C;color:#FFFFFF;}
.single-post .mg-bouton--principal:hover{background:#16302A;transform:translateY(-1px);}
.single-post .mg-bouton--soleil{background:#FFC94D;color:#16302A;}
/* Partage 48px, pastilles 44px. */
.single-post .mg-partage{display:flex;align-items:center;gap:12px;min-height:48px;max-width:620px;margin:24px auto;flex-wrap:wrap;}
.single-post .mg-partage__etiquette{font-size:14px;margin:0;}
.single-post .mg-pastille-partage{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#FFFFFF;border:1px solid #16302A;color:#16302A;cursor:pointer;}
.single-post .mg-pastille-partage:hover{background:#FFC94D;}
.single-post .mg-partage__message{font-size:14px;margin:0;}
/* Liés : 1120, 3x352 gouttière 24. */
.single-post .mg-lies{max-width:1120px;margin:40px auto 0;}
.single-post .mg-lies__titre{font-size:24px;margin:0 0 20px;}
.single-post .mg-lies__grille{display:grid;grid-template-columns:repeat(3,352px);gap:24px;justify-content:center;}
.single-post .mg-carte{background:#FFFFFF;border-radius:14px;box-shadow:0 8px 24px rgba(22,48,42,.08);overflow:hidden;border-bottom:4px solid transparent;}
.single-post .mg-carte:hover{transform:translateY(-2px);border-bottom-color:#2E9E63;}
.single-post .mg-carte__dessin{display:block;width:100%;height:144px;object-fit:contain;background:#FBFDFC;}
.single-post .mg-carte__corps{padding:20px;}
.single-post .mg-carte__pastille{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#1F7A4C;margin:0 0 8px;}
.single-post .mg-carte__titre{font-size:18px;margin:0 0 8px;color:#16302A;}
.single-post .mg-carte:hover .mg-carte__titre{text-decoration:underline;}
.single-post .mg-carte__meta{font-size:13px;margin:0 0 12px;}
.single-post .mg-carte__lien{font-size:15px;font-weight:700;color:#1F7A4C;text-decoration:none;}
.single-post .mg-lies__origine{font-size:13px;margin:16px 0 0;}
/* NAP + pied #10241F. */
.single-post .mg-nap{display:block;max-width:620px;margin:32px auto 0;font-style:normal;font-size:15px;}
.single-post .mg-footer{background:#10241F;color:#FFFFFF;padding:48px 32px;margin-top:48px;}
.single-post .mg-footer a{color:#FFFFFF;}
.single-post .mg-footer__titre{color:#FFC94D;font-size:15px;margin:0 0 12px;}
/* Focus global AA : 3px soleil + trait encre, offset 2px, cibles 44px. */
.single-post a:focus-visible,.single-post button:focus-visible{outline:3px solid #FFC94D;outline-offset:2px;box-shadow:inset 0 0 0 2px #16302A;}
/* 768 : H1 30, corps 640, cartes 2 col + 3e pleine largeur. */
@media (max-width:900px){
.single-post .mg-page-nouvelle{padding:116px 24px 48px;}
.single-post .mg-titre{font-size:30px;}
.single-post .mg-corps{max-width:640px;}
.single-post .mg-lies__grille{grid-template-columns:1fr 1fr;}
.single-post .mg-lies__grille .mg-carte:last-child{grid-column:1/-1;}
}
/* 360 : gouttières 16, H1 26, bandeau radius 14 padding 20, corps 16px, boutons et cartes empilés, pied 1 col. */
@media (max-width:480px){
.single-post .mg-page-nouvelle{padding:116px 16px 40px;}
.single-post .mg-chapeau{border-radius:14px;padding:20px;}
.single-post .mg-titre{font-size:26px;}
.single-post .mg-corps{font-size:16px;max-width:328px;}
.single-post .mg-action__boutons{flex-direction:column;}
.single-post .mg-bouton{width:100%;}
.single-post .mg-lies__grille{grid-template-columns:1fr;gap:16px;}
}

/* mg-article fullwidth v1.0.12 */ .single-post .col-full{max-width:100% !important;padding:0 !important;} .single-post article.hentry{margin-bottom:0 !important;} .single-post .mg-footer{margin-top:32px !important;}



/* Banniere + rythme texte v1.0.13 */
.single-post .mg-page-nouvelle{display:flex;flex-direction:column;}
.single-post .mg-page-nouvelle::before{order:-1;}
.single-post .mg-fil{order:1;width:100%;}
.single-post .mg-motif{order:2;width:100%;height:clamp(260px,30vw,380px);margin:16px 0 28px;border-radius:24px;overflow:hidden;background:#16302A;}
.single-post .mg-motif img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;}
.single-post .mg-chapeau{order:3;}
.single-post .mg-corps{order:4;width:100%;max-width:660px;margin-left:auto;margin-right:auto;}
.single-post .mg-corps p{font-size:18px;line-height:1.8;margin:0 0 28px;color:#16302A;}
.single-post .mg-action{order:5;}
.single-post .mg-partage{order:6;}
.single-post .mg-lies{order:7;}
.single-post .mg-nap{order:8;}
@media (max-width:900px){.single-post .mg-motif{height:240px;margin:12px 0 24px;border-radius:24px;}.single-post .mg-corps p{font-size:17px;line-height:1.8;margin-bottom:24px;}}
@media (max-width:480px){.single-post .mg-motif{height:180px;margin:8px 0 20px;border-radius:14px;}.single-post .mg-corps p{font-size:17px;line-height:1.75;margin-bottom:22px;}}
/* MG-MENU-MOBILE-891 */
.mg-container > p:has(> #mg-menu-toggle){margin:0 !important;padding:0 !important;line-height:0 !important;}
#mg-menu-toggle{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none;}
@media (max-width:1199.98px){
.mg-header__inner{position:relative;justify-content:center;}
.mg-brand{margin-inline:auto;}
label.mg-burger{position:absolute;right:16px;top:50%;transform:translateY(-50%);}
label.mg-burger span,label.mg-burger span::before,label.mg-burger span::after{transition:transform .25s ease,opacity .2s ease,background-color .2s ease;}
label.mg-burger.is-open span{background:transparent;}
label.mg-burger.is-open span::before{top:0;transform:rotate(45deg);}
label.mg-burger.is-open span::after{top:0;transform:rotate(-45deg);}
.mg-mobile-menu{max-height:0;overflow:hidden;visibility:hidden;opacity:0;margin:0;padding-top:0;padding-bottom:0;border-top:0 solid var(--mg-border);transition:max-height .32s ease,visibility 0s linear .32s,opacity .25s ease,padding .25s ease;}
.mg-mobile-menu.is-open{grid-template-rows:1fr;max-height:calc(100dvh - 64px);overflow-y:auto;visibility:visible;opacity:1;padding-top:8px;padding-bottom:20px;border-top:1px solid var(--mg-border);box-shadow:0 12px 32px rgba(22,48,42,.12);transition:max-height .36s ease,opacity .25s ease,padding .25s ease;}
.mg-mobile-menu a{display:flex;align-items:center;min-height:48px;padding:12px 8px;color:var(--mg-ink);text-decoration:none;border-bottom:1px solid #EEF2EE;font-size:17px;}
.mg-mobile-menu a.is-active,.mg-mobile-menu a[aria-current="page"]{background:#E8F3EC;border-radius:8px;border-bottom-color:transparent;}
.mg-mobile-menu .mg-header__actions{display:grid;gap:12px;margin-top:12px;padding-top:8px;}
.mg-mobile-menu .mg-header__actions .mg-btn{min-height:48px;justify-content:center;}
}
@media (min-width:1200px){.mg-mobile-menu{display:none !important;}}
.mg-burger:focus,.mg-burger:focus-visible,.mg-nav a:focus,.mg-nav a:focus-visible,.mg-mobile-menu a:focus,.mg-mobile-menu a:focus-visible,.mg-header__cta .mg-btn:focus,.mg-header__cta .mg-btn:focus-visible,.mg-brand:focus,.mg-brand:focus-visible{outline:none !important;box-shadow:none !important;}
.mg-header__inner > p{display:none !important;}
.mg-mobile-menu ul li a,.mg-mobile-menu .mg-header__actions a{text-decoration:none !important;border-bottom:none !important;}

/* MG-BURGER-FORCE-20261006 — fix burger mobile : 1 span + ::before/::after, idempotent, ne pas dupliquer */
@media (max-width:1199.98px){
  .mg-header__inner{position:relative !important;}
  label.mg-burger{
    position:absolute !important;
    right:16px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
    min-height:48px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex:0 0 auto !important;
    margin:0 !important;
    padding:0 !important;
    background:#FFFFFF !important;
    border:1px solid #DCEAE4 !important;
    border-radius:8px !important;
    cursor:pointer !important;
    z-index:60 !important;
    box-sizing:border-box !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }
  label.mg-burger > span{
    display:block !important;
    width:24px !important;
    height:2px !important;
    min-width:24px !important;
    min-height:2px !important;
    background:#16302A !important;
    border:0 !important;
    border-radius:2px !important;
    padding:0 !important;
    margin:0 !important;
    position:relative !important;
    flex:0 0 auto !important;
  }
  label.mg-burger > span::before,
  label.mg-burger > span::after{
    content:"" !important;
    display:block !important;
    position:absolute !important;
    left:0 !important;
    width:24px !important;
    height:2px !important;
    background:#16302A !important;
    border:0 !important;
    border-radius:2px !important;
    padding:0 !important;
    margin:0 !important;
    transform-origin:center !important;
  }
  label.mg-burger > span::before{top:-7px !important;}
  label.mg-burger > span::after{top:7px !important;}
  label.mg-burger > span,
  label.mg-burger > span::before,
  label.mg-burger > span::after{transition:transform .25s ease, top .25s ease, background-color .2s ease !important;}
  label.mg-burger.is-open > span{background:transparent !important;}
  label.mg-burger.is-open > span::before{top:0 !important;transform:rotate(45deg) !important;}
  label.mg-burger.is-open > span::after{top:0 !important;transform:rotate(-45deg) !important;}
  label.mg-burger:focus,
  label.mg-burger:focus-visible{outline:none !important;box-shadow:none !important;}
}
/* MG-AERATION-MOBILE-20261006 — respiration mobile seul, bureau inchangé */
@media (max-width:767px){
  .mg-hero__inner{padding-block:100px !important;}
  .mg-section{padding-block:80px !important;}
  .mg-features,.mg-news-grid,.mg-hub__grid,.mg-footer__grid{gap:28px !important;}
  .mg-card{padding:28px !important;}
  .mg-card p{margin-bottom:16px !important;}
  .mg-footer{padding:72px 0 64px !important;}
}

/* MG-BURGER-P-FIX-20261006 — le p wpautop autour du burger ne doit pas etre masque */
.mg-header__inner > p:has(label.mg-burger){display:contents !important;}


/* MG-FULLBLEED-MOBILE — petit écran seul : contenu bord à bord */
@media (max-width:767.98px){
  .page-id-2 .col-full,.page-id-38 .col-full,.page-id-26 .col-full,.page-id-32 .col-full,.page-id-36 .col-full,.page-id-239 .col-full,.page-id-22 .col-full,.page-id-255 .col-full,.page-id-34 .col-full,.page-id-24 .col-full,.single-post .col-full{
    margin-inline:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
    max-width:100% !important;
    padding:0 !important;
  }
  main .mg-container,.entry-content .mg-container,.site-main .mg-container{
    padding-inline:12px !important;
    max-width:100% !important;
  }
  .mg-header .mg-container,.mg-footer .mg-container{
    padding-inline:16px !important;
  }
  h1,h2,h3{
    overflow-wrap:anywhere !important;
    min-width:0 !important;
  }
  .mg-card img,.mg-illus img,.mg-program__media img,img{
    max-width:100% !important;
  }
  html,body{
    overflow-x:hidden !important;
  }
}

/* MG-FULLBLEED-FIX2 */ @media (max-width:767.98px){ body main .entry-content .mg-container, body .site-main .mg-container{padding-inline:12px !important;max-width:100% !important;} }

/* MG-INSCRIPTIONS-MOBILE-20261006 */
@media (max-width: 767.98px) {
  .mg-step {
    flex-wrap: wrap !important;
    align-items: flex-start !important;
  }
  .mg-step > .mg-num {
    flex: 0 0 auto !important;
    align-self: flex-start !important;
  }
  .mg-step > h3 {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }
  .mg-step > p {
    flex: 1 1 100% !important;
    flex-basis: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
  }
  .mg-btn--coral + br,
  div:has(> .mg-btn--coral) > br {
    display: none !important;
  }
  div:has(> .mg-btn--coral) {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 10px !important;
    max-width: 100% !important;
  }
  .mg-btn--coral,
  .mg-btn--ghost {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    min-height: 44px !important;
    height: auto !important;
    padding: 12px 10px !important;
    font-size: 0.9rem !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }
}

@media (max-width:767.98px){
/* MG-BURGER-ROW-LOGO-LEFT : boutons menu cote a cote + logo a gauche */
.mg-mobile-menu .mg-header__actions{display:flex !important;flex-direction:row !important;align-items:stretch !important;gap:10px !important;width:100% !important;max-width:100% !important;box-sizing:border-box !important;}
.mg-mobile-menu .mg-header__actions > br{display:none !important;}
.mg-mobile-menu .mg-header__actions .mg-btn,.mg-mobile-menu .mg-btn{flex:1 1 0 !important;min-width:0 !important;width:auto !important;max-width:100% !important;min-height:44px !important;display:flex !important;align-items:center !important;justify-content:center !important;text-align:center !important;white-space:normal !important;overflow-wrap:anywhere !important;box-sizing:border-box !important;}
.mg-header__inner{justify-content:flex-start !important;}
.mg-brand{margin-left:0 !important;margin-right:auto !important;margin-inline-start:0 !important;margin-inline-end:auto !important;text-align:left !important;}
}

/* MG-HEADER16-FIX */
@media (max-width:767.98px){ body .mg-header .mg-container, body .mg-footer .mg-container{padding-inline:16px !important;} }

/* MG-HEADER16B-FIX */
html body .mg-header .mg-container, html body .mg-footer .mg-container{padding-inline:16px !important;}

/* MG-RYTHME-ARTICLE v1.0.24 DÉBUT
   Rythme de lecture des articles : motif, chapeau, corps, action, partage, lies.
   Teintes : fond #FBFDFC, encre #16302A, vert #2E9E63, vert fonce #1F7A4C, ciel #4EA8DE, corail #F4795B, soleil #FFC94D.
   Grande largeur : valeurs 1440. Ecran etroit (fin du bloc) : valeurs 390.
   Choix du filet : filet haut sur les cartes (trait du haut), pour garder intact le trait bas qui porte le survol vert.
   Bloc adresse NAP : aucune retouche dans ce bloc.
*/

/* Bandeau a motif : rang 2 garde, hauteur 340, marge basse 24, fond clair, bordure verte, coins 24, debordement masque. */
.single-post .mg-motif{order:2;width:100%;height:340px;margin-bottom:24px;background:#FBFDFC;border:1px solid #2E9E63;border-radius:24px;overflow:hidden;}
/* Dessin du bandeau : plein cadre, remplissage du cadre, cadrage 50% 35%. Fichiers SVG 800x520 actuels gardes, aucun ajout. */
.single-post .mg-motif img{width:100%;height:100%;object-fit:cover;object-position:50% 35%;display:block;}
/* Chapeau : rembourrage 32 et 40 gardes. */
.single-post .mg-chapeau{padding:32px 40px;}
/* Pastille : marge basse 12, interligne 1.4. */
.single-post .mg-pastille{margin-bottom:12px;line-height:1.4;}
/* Titre du chapeau : marge basse 16, interligne 1.2. */
.single-post .mg-chapeau h1,.single-post .mg-titre{margin-bottom:16px;line-height:1.2;}
/* Ligne de date et auteur : marge basse 12, interligne 1.6. */
.single-post .mg-meta{margin-bottom:12px;line-height:1.6;}
/* Resume : marge basse 16, interligne 1.7. */
.single-post .mg-resume{margin-bottom:16px;line-height:1.7;}
/* Corps : marge haute 32. */
.single-post .mg-corps{margin-top:32px;}
/* Paragraphes du corps : 18 et 32.4 gardes, marge basse 28, encre gardee. */
.single-post .mg-corps p{font-size:18px;line-height:1.8;margin-bottom:28px;color:#16302A;}
/* Encadre d appel : marge haute 32, marge basse 32, bordure vert fonce. */
.single-post .mg-action{margin-top:32px;margin-bottom:32px;border:1px solid #1F7A4C;}
/* Partage : marge haute 32, marge basse 16. */
.single-post .mg-partage{margin-top:32px;margin-bottom:16px;}
/* Lies : marge haute 48. */
.single-post .mg-lies{margin-top:48px;}
/* Cartes liees : coins 8, filet haut ciel. Le trait bas d origine reste libre pour le survol. */
.single-post .mg-carte{border-radius:8px;border-top:4px solid #4EA8DE;}

/* Ecran etroit 390 : hauteurs, marges et cadrage reduits. Rembourrage du chapeau 24 et 20. */
@media (max-width:480px){
  /* Bandeau : hauteur 200, marge basse 16, coins 14. */
  .single-post .mg-motif{height:200px;margin-bottom:16px;border-radius:14px;}
  /* Dessin : meme remplissage, cadrage 50% 30%. */
  .single-post .mg-motif img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;}
  /* Chapeau etroit : 24 en haut et bas, 20 a gauche et droite. */
  .single-post .mg-chapeau{padding:24px 20px;}
  /* Pastille : marge basse 10. */
  .single-post .mg-pastille{margin-bottom:10px;}
  /* Titre : marge basse 12. */
  .single-post .mg-chapeau h1,.single-post .mg-titre{margin-bottom:12px;}
  /* Date et auteur : marge basse 10. */
  .single-post .mg-meta{margin-bottom:10px;}
  /* Resume : marge basse 12. */
  .single-post .mg-resume{margin-bottom:12px;}
  /* Corps : marge haute 24. */
  .single-post .mg-corps{margin-top:24px;}
  /* Paragraphes : 18 et interligne gardes, marge basse 20. */
  .single-post .mg-corps p{font-size:18px;line-height:1.8;margin-bottom:20px;}
  /* Encadre : marges 24 et 24. */
  .single-post .mg-action{margin-top:24px;margin-bottom:24px;}
  /* Partage : marge haute 24, marge basse 12. */
  .single-post .mg-partage{margin-top:24px;margin-bottom:12px;}
  /* Lies : marge haute 32. Coins 8 et filet haut gardes du grand ecran. */
  .single-post .mg-lies{margin-top:32px;}
}
/* MG-RYTHME-ARTICLE v1.0.24 FIN */

/* MG-NOFOCUS-BOUTONS v1.0.25 début — retire le contour visible des boutons. Prolonge MG-BURGER, MG-MENU-MOBILE-891 et correctif 756 sans les répéter. Bureau + mobile, sans condition de largeur. */
.mg-btn:focus,
.mg-btn:focus-visible,
.mg-btn--primary:focus,
.mg-btn--primary:focus-visible,
.mg-btn--coral:focus,
.mg-btn--coral:focus-visible,
.mg-btn--ghost:focus,
.mg-btn--ghost:focus-visible,
.mg-bouton:focus,
.mg-bouton:focus-visible,
.mg-bouton--principal:focus,
.mg-bouton--principal:focus-visible,
.mg-bouton--soleil:focus,
.mg-bouton--soleil:focus-visible,
.single-post .mg-bouton:focus,
.single-post .mg-bouton:focus-visible,
button:focus,
button:focus-visible,
.single-post button:focus,
.single-post button:focus-visible,
input[type="submit"]:focus,
input[type="submit"]:focus-visible,
.mg-field input[type="submit"]:focus,
.mg-field input[type="submit"]:focus-visible,
.wp-block-button__link:focus,
.wp-block-button__link:focus-visible,
.single-post .wp-block-button__link:focus,
.single-post .wp-block-button__link:focus-visible {
  outline: none !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
}
/* MG-NOFOCUS-BOUTONS v1.0.25 fin */

/* MG-LOGO-DESKTOP-20261006 : logo lisible et bien assis dans le header desktop */
@media (min-width:1200px){
  .mg-brand{align-items:center !important;}
  .mg-brand__logo{height:72px !important;max-height:72px !important;width:auto !important;object-fit:contain !important;display:block !important;}
}
/* MG-LOGO-AIR 1.0.28 */
@media (min-width:1200px){
  .mg-header .mg-brand{position:relative;top:3px;}
}

/* MG-LOGO-GAP 1.0.29 */
@media (min-width: 1200px) {
  .mg-header__inner {
    justify-content: flex-start;
    gap: 0;
    flex-wrap: nowrap;
    align-items: center;
  }
  .mg-brand {
    flex: 0 0 auto;
    margin-left: 0;
    margin-right: 28px;
  }
  .mg-nav {
    flex: 0 1 auto;
    min-width: 0;
    margin-left: 0;
    margin-right: 12px;
  }
  .mg-nav ul {
    flex-wrap: nowrap;
    white-space: nowrap;
  }
  .mg-nav a {
    white-space: nowrap;
  }
  .mg-header__cta {
    flex: 0 0 auto;
    margin-left: auto;
    margin-right: 0;
    white-space: nowrap;
    flex-wrap: nowrap;
  }
}

/* MG-HEADER-BOXED 1.0.30 — en-tete en boite sur grand ecran : marges laterales visibles, acquis 1.0.28 et 1.0.29 gardes */@media (min-width: 1200px){.mg-header .mg-container{max-width:1280px !important;margin-inline:auto !important;padding-inline:24px !important;box-sizing:border-box !important;}}

/* MG-CORAL-AA 1.0.31 */
.mg-btn--coral{color:#16302A !important;}
.mg-btn--coral:hover{color:#16302A !important;}

/* MG-LOGO-LEFT-V2 DEBUT - logo a gauche + burger a droite sur etroit seul, bureau inchange, menu .is-open intact */
@media (max-width:767.98px){
body .mg-header .mg-header__inner{justify-content:flex-start !important;}
body .mg-header .mg-brand{margin-left:0 !important;margin-right:auto !important;margin-inline:0 !important;margin-inline-start:0 !important;margin-inline-end:auto !important;text-align:left !important;}
body .mg-header label.mg-burger{position:absolute !important;right:16px !important;top:50% !important;transform:translateY(-50%) !important;}
body .mg-header .mg-header__cta{display:none !important;}
}
/* MG-LOGO-LEFT-V2 FIN */

/* mg-pleine-largeur-mobile v1 debut
   Piste B : marges negatives -16px compensant la gouttiere du contenant header.
   Piste A (fixed) ecartee : top fige fragile + instabilite iOS.
*/
@media (max-width:767.98px){
  body .mg-header .mg-mobile-menu.is-open{
    margin-left:-16px;
    margin-right:-16px;
    padding-left:16px;
    padding-right:16px;
    width:auto;
    max-width:none;
    box-sizing:border-box;
    overflow-x:hidden;
  }
  body .mg-header .mg-mobile-menu.is-open > div{
    min-width:0;
    max-width:100%;
    box-sizing:border-box;
  }
}
/* mg-pleine-largeur-mobile v1 fin */

/* MG-LOGO-MOB-CONTACT DEBUT - ecran etroit seul : logo agrandi a 54 et lien Contact retire du menu mobile, bureau inchange */
@media (max-width:767.98px){
  body .mg-header .mg-header__inner{min-height:64px !important;}
  body .mg-header .mg-brand{min-width:0 !important;max-width:calc(100% - 76px) !important;}
  body .mg-header .mg-brand__logo{height:54px !important;max-height:54px !important;width:auto !important;max-width:100% !important;object-fit:contain !important;display:block !important;}
  body .mg-header .mg-mobile-menu ul a[href="/contact/"]{display:none !important;}
}
/* MG-LOGO-MOB-CONTACT FIN */

/* mg-hero-actions-v1 */
/* Hero : boutons a proportions egales sur ecran etroit seul — bureau inchange.
   Cible : .mg-hero__actions (baniere d accueil, 2 liens).
   But : meme largeur, meme hauteur, meme police, meme rembourrage, sans debordement a 390 ni 360.
   Rangée souple avec retour a la ligne : cote a cote quand la place suffit, empiles quand l ecran est tres petit (zoom 200 %).
   Teintes et coins inchanges (jetons mg-*) : vert fonce #1F7A4C, corail #F4795B, encre #16302A, fond #FBFDFC, coins pilule gardes. */
@media (max-width:767.98px){
  body .mg-hero__actions{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:wrap !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:10px !important;
    width:100% !important;
    max-width:calc(100vw - 24px) !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    margin-top:24px !important;
    margin-inline:0 !important;
    overflow-wrap:break-word !important;
  }
  body .mg-hero__actions>br{display:none !important;}
  body .mg-hero__actions .mg-btn,
  body .mg-hero__actions .mg-btn--primary,
  body .mg-hero__actions .mg-btn--coral,
  body .mg-hero__actions .mg-btn--ghost{
    flex:1 1 140px !important;
    min-width:0 !important;
    max-width:100% !important;
    width:auto !important;
    box-sizing:border-box !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    min-height:52px !important;
    height:auto !important;
    padding:12px 14px !important;
    font-size:15px !important;
    line-height:1.35 !important;
    font-weight:700 !important;
    white-space:normal !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
  }
}
/* mg-hero-actions-v1 fin */
