/* =========================================================
   ed-pc-v5.css — cohérence PC (≥ 961 px). Mobile : on masque seulement les ajouts PC.
   ========================================================= */
@media (max-width: 960px) {
  [data-ed-pc-only].logo__svg--pc, .logo__svg--pc, .nav__cta-pc, .ed-hero-phrase, .ed-hero-meta, .ed-benefits-pc-wrap { display: none !important; }
}
@media (min-width: 961px) {
  :root { --ed-green: #5f7553; --ed-green-deep: #3f5237; }

  /* Logo unique : le cœur */
  .logo:has(.logo__svg--pc) > .logo__svg:not(.logo__svg--pc) { display: none !important; }
  .logo__svg--pc { display: block; }

  /* Bouton unique « Réserver », vert plein */
  body:not(#ed) .navbar .nav__cta > .btn:not(.nav__cta-pc) { display: none !important; }
  body:not(#ed) .navbar .nav__cta .nav__cta-pc {
    display: inline-flex !important; align-items: center; gap: 8px; border-radius: 999px; text-transform: uppercase; font-weight: 700;
    background: var(--ed-green) !important; border: 1px solid var(--ed-green) !important; color: #fff !important;
    box-shadow: 0 6px 18px rgba(63,82,55,.22);
  }
  body:not(#ed) .navbar .nav__cta .nav__cta-pc:hover { background: var(--ed-green-deep) !important; border-color: var(--ed-green-deep) !important; }
  body:not(#ed) .navbar .nav__cta .nav__cta-pc i { color: #fff !important; }

  /* Élément actif : même style partout */
  body:not(#ed) .navbar .nav__menu > a.active, body:not(#ed) .navbar .nav__more-btn.active {
    color: var(--brown, #5a3e3e) !important; font-weight: 600; background: none !important; border: 0 !important;
    box-shadow: inset 0 -2px 0 var(--ed-green) !important;
  }

  /* ---------- En-tête unique et sobre ---------- */
  body:not(#ed) .atelier-hero, body:not(#ed) .sx-hero .sx-hero__grid { min-height: clamp(480px, 58vh, 560px) !important; }
  body:not(#ed) .atelier-hero .atelier-hero__text { padding: 56px 64px 56px var(--ed-gutter) !important; gap: 20px !important; }
  body:not(#ed) .atelier-hero .atelier-hero__eyebrow,
  body:not(#ed) .atelier-hero .hero-benefits,
  body:not(#ed) .atelier-hero .atelier-hero__heart { display: none !important; }
  /* Photo nette jusqu'au bord, sans fondu pâle */
  body:not(#ed) .atelier-hero .atelier-hero__visual, body:not(#ed) .sx-hero .sx-hero__visual { -webkit-mask-image: none !important; mask-image: none !important; }
  body:not(#ed) .atelier-hero .atelier-hero__visual img, body:not(#ed) .sx-hero .sx-hero__visual img { opacity: 1 !important; filter: none !important; }
  /* Pastilles → une ligne d'infos discrète en texte */
  body:not(#ed) .atelier-hero .ed-chips, body:not(#ed) .sx-hero .ed-chips, body:not(#ed) .sx-hero [class*="chips"] {
    display: block !important; margin: 0 !important; padding: 0 !important; font-size: .95rem; color: var(--brown-light, #7a5e5e);
  }
  body:not(#ed) .atelier-hero .ed-chip, body:not(#ed) .sx-hero .ed-chips > *, body:not(#ed) .sx-hero [class*="chips"] > * {
    display: inline !important; background: none !important; border: 0 !important; box-shadow: none !important; padding: 0 !important;
    font-size: .95rem !important; color: var(--brown-light, #7a5e5e) !important; font-weight: 400 !important;
  }
  body:not(#ed) .atelier-hero .ed-chip i, body:not(#ed) .sx-hero [class*="chips"] > * i { display: none !important; }
  body:not(#ed) .atelier-hero .ed-chip + .ed-chip::before, body:not(#ed) .sx-hero [class*="chips"] > * + *::before { content: " · "; padding: 0 4px; }
  body:not(#ed) .atelier-hero + section, body:not(#ed) .sx-hero + section { padding-top: 80px !important; margin-top: 0 !important; }

  /* Bain : titre + phrase + une ligne + 2 boutons */
  body.page-bain:not(#ed) .atelier-hero .ed-chips, body.page-bain:not(#ed) .atelier-hero .atelier-hero__sensoriel { display: none !important; }
  .ed-hero-phrase { font-size: 1.2rem !important; line-height: 1.6 !important; color: var(--brown-light, #7a5e5e); margin: 0 !important; max-width: 480px; }
  .ed-hero-meta { font-size: .95rem; color: var(--brown-light, #7a5e5e); letter-spacing: .2px; margin: 0 !important; }
  .ed-benefits-pc-wrap { margin: 0 auto 64px; max-width: 1080px; }
  .ed-benefits-pc { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px 36px; list-style: none; margin: 0; padding: 0; }
  .ed-benefits-pc li { display: flex; gap: 12px; align-items: flex-start; font-size: .98rem; line-height: 1.5; color: var(--brown, #5a3e3e); }
  .ed-benefits-pc li i { color: var(--rose-dark, #c48e8e); width: 20px; margin-top: 4px; flex: none; }

  /* Séances : même en-tête que les autres pages (pas de carte) */
  body:not(#ed) .sx-hero { background: var(--cream, #faf6f0) !important; margin: 0 !important; padding: 0 !important; }
  body:not(#ed) .sx-hero .sx-hero__grid { background: none !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; overflow: hidden; }
  body:not(#ed) .sx-hero .sx-hero__copy {
    background: none !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
    padding: 56px 64px 56px var(--ed-gutter) !important; display: flex; flex-direction: column; align-items: flex-start; gap: 20px;
  }
  body:not(#ed) .sx-hero .sx-hero__copy > * { margin-top: 0 !important; margin-bottom: 0 !important; }
  body:not(#ed) .sx-hero .sx-hero__title { font-size: clamp(2.5rem, 3.3vw, 3.4rem) !important; line-height: 1.08 !important; font-weight: 500; }
  body:not(#ed) .sx-hero .sx-hero__lead { font-size: 1.15rem !important; line-height: 1.65 !important; }

  /* ---------- Accueil ---------- */
  body:not(#ed) .hero .hero__body { padding-left: var(--ed-gutter) !important; padding-right: 48px !important; }
  body:not(#ed) .hero .ed-hero-offres__cta { width: auto !important; max-width: calc(100% - 40px) !important; box-sizing: border-box; }
  body:not(#ed) .hero .hero__media, body:not(#ed) .hero .hero__media picture, body:not(#ed) .hero .hero__media img { -webkit-mask-image: none !important; mask-image: none !important; }
  body:not(#ed) .hero .hero__media::before, body:not(#ed) .hero .hero__media::after { content: none !important; }
  /* Doublon « Deux expériences » retiré (déjà dans le héros) */
  body:not(#ed) .choice#accompagnements { display: none !important; }

  /* Bloc Séances = UNE carte */
  body:not(#ed) .sx-home { padding: 88px 32px !important; background: transparent !important; }
  body:not(#ed) .sx-home .sx-home__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; max-width: 1180px !important; margin: 0 auto !important; min-height: 440px !important;
    background: var(--white, #fff) !important; border-radius: 28px !important; overflow: hidden;
    box-shadow: 0 0 0 1px rgba(90,62,62,.06), 0 24px 60px rgba(120,90,70,.10) !important;
  }
  body:not(#ed) .sx-home .sx-home__visual { -webkit-mask-image: none !important; mask-image: none !important; }
  body:not(#ed) .sx-home .sx-home__copy { padding: 56px !important; }
  body:not(#ed) .sx-home .sx-home__copy > * { max-width: none; }
  body:not(#ed) .sx-home .sx-home__title { font-size: clamp(2rem, 2.6vw, 2.6rem) !important; }
  body:not(#ed) .sx-home .sx-home__lead { margin: 0 0 26px !important; }
  body:not(#ed) .sx-home .sx-home__list { max-width: none; margin: 0 0 30px !important; padding: 18px 0 !important;
    border-top: 1px solid rgba(90,62,62,.10) !important; border-bottom: 1px solid rgba(90,62,62,.10) !important; }

  /* ---------- Pied de page : vert profond uni, grille 3 colonnes ---------- */
  body:not(#ed) .footer {
    background: var(--ed-green-deep) !important; background-image: none !important; color: rgba(255,255,255,.86) !important;
    margin-top: 0 !important; padding: 56px 0 0 !important; border: 0 !important;
  }
  body:not(#ed) .footer::before, body:not(#ed) .footer::after { content: none !important; display: none !important; }
  body:not(#ed) .footer .footer__top {
    display: grid !important; grid-template-columns: 1.4fr 1fr 1fr !important; align-items: start !important;
    gap: 56px !important; max-width: 1180px !important; margin: 0 auto !important; padding: 0 32px 44px !important;
  }
  body:not(#ed) .footer .footer__brand { gap: 14px !important; }
  body:not(#ed) .footer .footer__brand .logo__svg { height: 46px !important; filter: brightness(0) invert(1); }
  body:not(#ed) .footer .footer__tagline { font-style: normal !important; font-family: var(--font-body, 'Lato', sans-serif) !important;
    color: rgba(255,255,255,.85) !important; font-size: .95rem !important; line-height: 1.55 !important; max-width: 300px; }
  body:not(#ed) .footer .footer__social { display: flex !important; gap: 10px !important; }
  body:not(#ed) .footer .footer__social a { width: 38px; height: 38px; display: inline-flex !important; align-items: center; justify-content: center;
    border-radius: 50%; background: rgba(255,255,255,.14) !important; border: 0 !important; color: #fff !important; }
  body:not(#ed) .footer .footer__social a:hover { background: rgba(255,255,255,.26) !important; }
  body:not(#ed) .footer .footer__social a i { color: #fff !important; }
  body:not(#ed) .footer .footer__col::before { display: block; font-size: .72rem; letter-spacing: 1.8px; text-transform: uppercase; font-weight: 700; color: rgba(255,255,255,.62); margin-bottom: 16px; }
  body:not(#ed) .footer .footer__col--explorer::before { content: "Découvrir"; }
  body:not(#ed) .footer .footer__col--contact::before { content: "Contact"; }
  body:not(#ed) .footer .footer__col ul { flex-direction: column !important; flex-wrap: nowrap !important; gap: 10px !important; }
  body:not(#ed) .footer .footer__col li, body:not(#ed) .footer .footer__col li * { color: rgba(255,255,255,.92) !important; text-align: left !important; font-size: .95rem !important; font-weight: 400 !important; }
  body:not(#ed) .footer .footer__col a:hover { color: #fff !important; text-decoration: underline; }
  body:not(#ed) .footer .footer__col--contact li br { display: inline !important; }
  body:not(#ed) .footer .footer__bottom { border-top: 1px solid rgba(255,255,255,.14) !important; background: none !important; }
  body:not(#ed) .footer .footer__bottom-inner { max-width: 1180px !important; margin: 0 auto !important; padding: 18px 32px !important; font-size: .82rem !important; }
  body:not(#ed) .footer .footer__bottom-inner, body:not(#ed) .footer .footer__bottom-inner a, body:not(#ed) .footer .footer__bottom-inner span { color: rgba(255,255,255,.75) !important; }
  body:not(#ed) .footer .footer__bottom-inner a:hover { color: #fff !important; }
}

@media (max-width: 960px) {
  /* Séances mobile : même carte que sur PC, plus compacte */
  body:not(#ed) .sx .sx-card { position: relative; padding: 18px 18px 16px !important; }
  body:not(#ed) .sx .sx-card .sx-card__illus { display: none !important; }
  body:not(#ed) .sx .sx-card .sx-card__picto {
    display: block !important; position: absolute; top: 16px; right: 16px; width: 48px; height: 48px; padding: 5px;
    box-sizing: border-box; border-radius: 50%; object-fit: contain; pointer-events: none;
  }
  body:not(#ed) .sx .sx-card--sage .sx-card__picto { background: rgba(156,175,143,.16); }
  body:not(#ed) .sx .sx-card--rose .sx-card__picto { background: rgba(212,165,165,.18); }
  body:not(#ed) .sx .sx-card .sx-card__when { margin: 0 0 8px !important; padding-right: 58px; }
  body:not(#ed) .sx .sx-card .sx-card__title { padding-right: 58px; }
  body:not(#ed) .sx .sx-card .sx-card__kind { margin: 0 0 12px !important; }
  body:not(#ed) .sx .sx-card .sx-card__foot { display: flex !important; flex-direction: row !important; align-items: center !important; justify-content: space-between !important; gap: 12px !important; margin-top: 0 !important; }
  body:not(#ed) .sx .sx-card .sx-card__foot > a { width: auto !important; flex: 0 0 auto !important; margin: 0 !important; }
}
@media (min-width: 961px) {
  /* Séances : picto du flyer en haut à droite de chaque carte */
  body:not(#ed) .sx-card { position: relative; }
  body:not(#ed) .sx-card .sx-card__picto {
    position: absolute; top: 18px; right: 18px; width: 56px; height: 56px; padding: 6px; box-sizing: border-box;
    border-radius: 50%; object-fit: contain; pointer-events: none;
  }
  body:not(#ed) .sx-card--sage .sx-card__picto { background: rgba(156,175,143,.16); }
  body:not(#ed) .sx-card--rose .sx-card__picto { background: rgba(212,165,165,.18); }
  body:not(#ed) .sx-card .sx-card__title, body:not(#ed) .sx-card .sx-card__when { padding-right: 64px; }
}
@media (min-width: 961px) {
  /* Bain : grille du héros sur toute la hauteur */
  body:not(#ed) .atelier-hero .atelier-hero__inner { min-height: clamp(480px, 58vh, 560px) !important; grid-template-columns: minmax(0, 1fr) 50vw !important; }
  body:not(#ed) .atelier-hero .atelier-hero__text { align-items: flex-start !important; text-align: left !important; }
}

/* ---------- Cadrage des photos d'en-tête (v7) ----------
   La zone photo (50vw) prend la hauteur naturelle de l'image : le sujet reste entier.
   Si le texte est plus haut, la photo s'étire en hauteur et object-position garde le sujet. */
@media (min-width: 961px) {
  body:not(#ed) .atelier-hero, body:not(#ed) .sx-hero .sx-hero__grid { --ed-r: 1.5; --ed-pos: 50% 40%; }
  body:not(#ed) .atelier-hero:has(img[src*="premiers-liens-banniere"]) { --ed-r: 1.333; --ed-pos: 50% 30%; }
  body:not(#ed) .atelier-hero:has(img[src*="bain-enveloppant-banniere"]) { --ed-r: 1.4; --ed-pos: 50% 45%; }
  body:not(#ed) .atelier-hero:has(img[src*="belly-painting/W"]) { --ed-r: 1.4; --ed-pos: 40% 25%; }
  body:not(#ed) .atelier-hero:has(img[src*="stephanie-fregapane-psychomotricienne"]) { --ed-r: 1.5; --ed-pos: 50% 72%; }
  body:not(#ed) .atelier-hero:has(img[src*="peinture-vetement-bebe/banniere"]) { --ed-r: 1.5; --ed-pos: 50% 50%; }
  body:not(#ed) .atelier-hero:has(img[src*="offrir-un-souvenir"]) { --ed-r: 1.5; --ed-pos: 50% 35%; }
  body:not(#ed) .atelier-hero,
  body:not(#ed) .atelier-hero .atelier-hero__inner,
  body:not(#ed) .sx-hero .sx-hero__grid { min-height: min(80vh, 640px, calc(54vw / var(--ed-r))) !important; }
  body:not(#ed) .atelier-hero .atelier-hero__inner,
  body:not(#ed) .sx-hero .sx-hero__grid { grid-template-columns: minmax(0, 1fr) 54vw !important; }
  body:not(#ed) .atelier-hero .atelier-hero__visual, body:not(#ed) .sx-hero .sx-hero__visual { align-self: stretch !important; }
  body:not(#ed) .atelier-hero .atelier-hero__visual img,
  body:not(#ed) .sx-hero .sx-hero__visual img { object-position: var(--ed-pos) !important; }
  /* Séances : la photo occupe aussi 50vw, comme sur les autres pages */
  body:not(#ed) .sx-hero .sx-hero__grid { }
}

/* ---------- Code couleur (v7) : vert = ateliers, rose = bain → éléments globaux en neutre ---------- */
@media (min-width: 961px) {
  :root { --ed-neutral: #5a3e3e; --ed-neutral-deep: #46302f; --ed-footer-bg: #f1e8dd; }
  body:not(#ed) .navbar .nav__cta .nav__cta-pc {
    background: var(--ed-neutral) !important; border-color: var(--ed-neutral) !important; box-shadow: 0 6px 18px rgba(90,62,62,.22) !important;
  }
  body:not(#ed) .navbar .nav__cta .nav__cta-pc:hover { background: var(--ed-neutral-deep) !important; border-color: var(--ed-neutral-deep) !important; }
  body:not(#ed) .navbar .nav__menu > a.active, body:not(#ed) .navbar .nav__more-btn.active,
  body:not(#ed) .navbar .nav__menu > a.nav--rose.active, body:not(#ed) .navbar .nav__menu > a.nav--sage.active {
    color: var(--ed-neutral) !important; box-shadow: inset 0 -2px 0 var(--ed-neutral) !important; border: 0 !important;
  }

  /* Pied de page neutre : crème franc, texte brun foncé */
  body:not(#ed) .footer { background: var(--ed-footer-bg) !important; color: var(--ed-neutral) !important; border-top: 1px solid rgba(90,62,62,.10) !important; }
  body:not(#ed) .footer .footer__brand .logo__svg { filter: none !important; }
  body:not(#ed) .footer .footer__tagline { color: #5f4a46 !important; }
  body:not(#ed) .footer .footer__social a { background: rgba(90,62,62,.08) !important; color: var(--ed-neutral) !important; }
  body:not(#ed) .footer .footer__social a:hover { background: rgba(90,62,62,.16) !important; }
  body:not(#ed) .footer .footer__social a i { color: var(--ed-neutral) !important; }
  body:not(#ed) .footer .footer__col::before { color: #8a7268 !important; }
  body:not(#ed) .footer .footer__col li, body:not(#ed) .footer .footer__col li * { color: var(--ed-neutral) !important; }
  body:not(#ed) .footer .footer__col a:hover { color: var(--ed-neutral-deep) !important; }
  body:not(#ed) .footer .footer__bottom { border-top: 1px solid rgba(90,62,62,.12) !important; }
  body:not(#ed) .footer .footer__bottom-inner, body:not(#ed) .footer .footer__bottom-inner a, body:not(#ed) .footer .footer__bottom-inner span { color: #6f5a55 !important; }
  body:not(#ed) .footer .footer__bottom-inner a:hover { color: var(--ed-neutral) !important; }

  /* Accueil : photo pleine hauteur jusqu'au bord, colonne élargie, scène lisible */
  body:not(#ed) .hero .hero__grid { grid-template-columns: minmax(0, 1fr) 50vw !important; min-height: min(80vh, 640px) !important; align-items: stretch !important; }
  body:not(#ed) .hero .hero__media {
    align-self: stretch !important; width: auto !important; height: auto !important; min-height: 100% !important; max-height: none !important;
    aspect-ratio: auto !important; margin: 0 !important; position: relative; overflow: hidden; border-radius: 0 !important;
  }
  body:not(#ed) .hero .hero__media picture, body:not(#ed) .hero .hero__media img {
    position: absolute !important; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: 50% 50% !important;
  }
}

/* ---------- Menu du haut harmonisé avec le pied de page (crème, brun) ---------- */
@media (min-width: 961px) {
  body:not(#ed) .navbar {
    background: var(--ed-footer-bg, #f1e8dd) !important; background-image: none !important;
    -webkit-backdrop-filter: none !important; backdrop-filter: none !important; opacity: 1 !important;
    border-bottom: 1px solid rgba(90,62,62,.10) !important; box-shadow: none !important;
  }
  body:not(#ed) .navbar .nav__menu > a, body:not(#ed) .navbar .nav__more-btn { color: var(--ed-neutral, #5a3e3e) !important; }
  body:not(#ed) .navbar .nav__menu > a:hover, body:not(#ed) .navbar .nav__more-btn:hover { color: var(--ed-neutral-deep, #46302f) !important; }
  body:not(#ed) .navbar .nav__more-menu { background: #fbf6f0 !important; }
}
@media (min-width: 961px) {
  /* Accueil : colonne texte moins serrée → en-tête moins haut → photo moins zoomée */
  body:not(#ed) .hero .hero__body { padding-left: max(48px, calc(var(--ed-gutter) - 12px)) !important; padding-right: 40px !important; padding-top: 32px !important; padding-bottom: 32px !important; }
  body:not(#ed) .hero .ed-hero-offres { grid-template-columns: 1fr 1fr !important; }
}

/* ---------- v7c : photo d'en-tête en fond pleine largeur, dégradé crème à gauche, texte par-dessus ---------- */
@media (min-width: 961px) {
  body:not(#ed) .atelier-hero, body:not(#ed) .sx .sx-hero, body:not(#ed) .hero { position: relative !important; overflow: hidden !important; isolation: isolate; }
  body:not(#ed) .atelier-hero .atelier-hero__inner,
  body:not(#ed) .sx-hero .sx-hero__grid,
  body:not(#ed) .hero .hero__grid {
    display: grid !important; grid-template-columns: minmax(0, 1fr) !important; position: static !important;
    min-height: min(80vh, 620px) !important; align-items: center !important; background: none !important;
  }
  body:not(#ed) .atelier-hero, body:not(#ed) .atelier-hero .atelier-hero__inner { min-height: min(80vh, 600px) !important; }
  /* Photo : calque de fond */
  body:not(#ed) .atelier-hero .atelier-hero__visual,
  body:not(#ed) .sx-hero .sx-hero__visual,
  body:not(#ed) .hero .hero__media {
    position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; min-height: 0 !important;
    grid-column: auto !important; grid-row: auto !important; z-index: 0 !important; margin: 0 !important; border-radius: 0 !important;
    -webkit-mask-image: none !important; mask-image: none !important; aspect-ratio: auto !important;
  }
  body:not(#ed) .atelier-hero .atelier-hero__visual picture, body:not(#ed) .atelier-hero .atelier-hero__visual img,
  body:not(#ed) .sx-hero .sx-hero__visual picture, body:not(#ed) .sx-hero .sx-hero__visual img,
  body:not(#ed) .hero .hero__media picture, body:not(#ed) .hero .hero__media img {
    position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important;
  }
  /* Dégradé crème de gauche vers la droite */
  body:not(#ed) .atelier-hero .atelier-hero__visual::after,
  body:not(#ed) .sx-hero .sx-hero__visual::after,
  body:not(#ed) .hero .hero__media::after {
    content: "" !important; display: block !important; position: absolute !important; inset: 0 !important; z-index: 1; pointer-events: none;
    background: linear-gradient(90deg, #faf6f0 0%, rgba(250,246,240,.97) 30%, rgba(250,246,240,.82) 40%, rgba(250,246,240,.35) 52%, rgba(250,246,240,0) 64%) !important;
  }
  /* Texte par-dessus, à gauche */
  body:not(#ed) .atelier-hero .atelier-hero__text,
  body:not(#ed) .sx-hero .sx-hero__copy,
  body:not(#ed) .hero .hero__body {
    position: relative !important; z-index: 2 !important; grid-column: 1 !important; grid-row: 1 !important;
    width: min(46vw, 640px) !important; max-width: none !important; background: none !important;
    padding: 56px 32px 56px var(--ed-gutter) !important; box-sizing: content-box;
  }
  body:not(#ed) .hero .hero__body { width: min(44vw, 600px) !important; padding: 40px 32px 40px max(48px, calc(var(--ed-gutter) - 12px)) !important; }
  body:not(#ed) .hero .hero__suite { display: none !important; }

  /* Cadrage par page : sujet visible à droite */
  body:not(#ed) .hero .hero__media img { object-position: 70% 50% !important; }
  body:not(#ed) .atelier-hero:has(img[src*="premiers-liens-banniere"]) .atelier-hero__visual img { object-position: 85% 35% !important; }
  body:not(#ed) .atelier-hero:has(img[src*="bain-enveloppant-banniere"]) .atelier-hero__visual img { object-position: 80% 45% !important; }
  body:not(#ed) .atelier-hero:has(img[src*="belly-painting/W"]) .atelier-hero__visual img { object-position: 70% 25% !important; }
  body:not(#ed) .atelier-hero:has(img[src*="stephanie-fregapane-psychomotricienne"]) .atelier-hero__visual img { object-position: 80% 72% !important; }
  body:not(#ed) .atelier-hero:has(img[src*="peinture-vetement-bebe/banniere"]) .atelier-hero__visual img { object-position: 80% 50% !important; }
  body:not(#ed) .atelier-hero:has(img[src*="offrir-un-souvenir"]) .atelier-hero__visual img { object-position: 85% 35% !important; }
  body:not(#ed) .sx-hero .sx-hero__visual img { object-position: 70% 55% !important; }
}
@media (min-width: 961px) {
  /* v7c : la photo démarre sous le texte (left 26 %) pour limiter le zoom ; dégradé crème sur sa partie gauche */
  body:not(#ed) .atelier-hero .atelier-hero__visual,
  body:not(#ed) .sx-hero .sx-hero__visual,
  body:not(#ed) .hero .hero__media { left: 26% !important; width: auto !important; right: 0 !important; }
  body:not(#ed) .atelier-hero .atelier-hero__visual::after,
  body:not(#ed) .sx-hero .sx-hero__visual::after,
  body:not(#ed) .hero .hero__media::after {
    background: linear-gradient(90deg, #faf6f0 0%, rgba(250,246,240,.95) 14%, rgba(250,246,240,.7) 26%, rgba(250,246,240,.25) 38%, rgba(250,246,240,0) 50%) !important;
  }
  body:not(#ed) .atelier-hero, body:not(#ed) .sx .sx-hero, body:not(#ed) .hero { background: #faf6f0 !important; }
  /* Cadrage par page (image de largeur ~74vw) */
  body:not(#ed) .hero .hero__media img { object-position: 60% 50% !important; }
  body:not(#ed) .atelier-hero:has(img[src*="premiers-liens-banniere"]) .atelier-hero__visual img { object-position: 60% 35% !important; }
  body:not(#ed) .atelier-hero:has(img[src*="bain-enveloppant-banniere"]) .atelier-hero__visual img { object-position: 60% 45% !important; }
  body:not(#ed) .atelier-hero:has(img[src*="belly-painting/W"]) .atelier-hero__visual img { object-position: 50% 30% !important; }
  body:not(#ed) .atelier-hero:has(img[src*="stephanie-fregapane-psychomotricienne"]) .atelier-hero__visual img { object-position: 60% 72% !important; }
  body:not(#ed) .atelier-hero:has(img[src*="peinture-vetement-bebe/banniere"]) .atelier-hero__visual img { object-position: 60% 50% !important; }
  body:not(#ed) .atelier-hero:has(img[src*="offrir-un-souvenir"]) .atelier-hero__visual img { object-position: 65% 35% !important; }
  body:not(#ed) .sx-hero .sx-hero__visual img { object-position: 60% 55% !important; }
}

/* ---------- v9 : mini-planning Séances (accueil) ---------- */
@media (max-width: 960px) { .sx-home__planning { display: none !important; } }
@media (min-width: 961px) {
  body:not(#ed) .sx-home .sx-home__list { display: none !important; }
  body:not(#ed) .sx-home .sx-home__planning {
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 0 0 30px;
    padding: 18px 0; border-top: 1px solid rgba(90,62,62,.10); border-bottom: 1px solid rgba(90,62,62,.10);
  }
  .sx-plan__day { padding: 0 16px; border-left: 1px solid rgba(90,62,62,.10); }
  .sx-plan__day:first-child { padding-left: 0; border-left: 0; }
  .sx-plan__label { margin: 0 0 10px !important; font-size: .66rem; letter-spacing: 1.4px; text-transform: uppercase; font-weight: 700; color: #879b7b; white-space: nowrap; }
  .sx-plan__row { display: flex; flex-direction: column; margin: 0 0 10px !important; line-height: 1.25; }
  .sx-plan__row:last-child { margin-bottom: 0 !important; }
  .sx-plan__time { font-family: var(--font-script, 'Cormorant Garamond', serif); font-size: 1.45rem; font-weight: 600; color: #5a3e3e; }
  .sx-plan__who { font-size: .86rem; color: #6b5552; white-space: nowrap; }

  /* Ateliers / premiers liens : photo plus à droite, la femme de gauche n'est plus sous le titre */
  body:not(#ed) .atelier-hero:has(img[src*="premiers-liens-banniere"]) .atelier-hero__visual { left: 42% !important; }
  body:not(#ed) .atelier-hero:has(img[src*="premiers-liens-banniere"]) .atelier-hero__visual img { object-position: 50% 35% !important; }
  body:not(#ed) .atelier-hero:has(img[src*="premiers-liens-banniere"]) .atelier-hero__visual::after {
    background: linear-gradient(90deg, #faf6f0 0%, rgba(250,246,240,.6) 8%, rgba(250,246,240,0) 22%) !important;
  }

  /* Menu et footer adoucis : crème très clair, taupe doux, bouton léger */
  :root { --ed-soft-bg: #fbf7f2; --ed-soft-ink: #6b5552; }
  body:not(#ed) .navbar { background: var(--ed-soft-bg) !important; border-bottom: 1px solid rgba(107,85,82,.08) !important; }
  body:not(#ed) .navbar .nav__menu > a, body:not(#ed) .navbar .nav__more-btn { color: var(--ed-soft-ink) !important; }
  body:not(#ed) .navbar .nav__menu > a.active, body:not(#ed) .navbar .nav__more-btn.active,
  body:not(#ed) .navbar .nav__menu > a.nav--rose.active, body:not(#ed) .navbar .nav__menu > a.nav--sage.active {
    color: #5a4643 !important; box-shadow: inset 0 -1.5px 0 rgba(107,85,82,.55) !important;
  }
  body:not(#ed) .navbar .nav__cta .nav__cta-pc {
    background: transparent !important; border: 1px solid rgba(107,85,82,.45) !important; color: var(--ed-soft-ink) !important; box-shadow: none !important;
  }
  body:not(#ed) .navbar .nav__cta .nav__cta-pc i { color: var(--ed-soft-ink) !important; }
  body:not(#ed) .navbar .nav__cta .nav__cta-pc:hover { background: #f3e9e4 !important; border-color: rgba(107,85,82,.6) !important; color: #5a4643 !important; }
  body:not(#ed) .footer { background: var(--ed-soft-bg) !important; border-top: 1px solid rgba(107,85,82,.08) !important; }
  body:not(#ed) .footer .footer__col li, body:not(#ed) .footer .footer__col li *, body:not(#ed) .footer .footer__tagline { color: var(--ed-soft-ink) !important; }
  body:not(#ed) .footer .footer__social a { background: rgba(107,85,82,.06) !important; }
  body:not(#ed) .footer .footer__social a i { color: var(--ed-soft-ink) !important; }
  body:not(#ed) .footer .footer__bottom { border-top: 1px solid rgba(107,85,82,.08) !important; }
  body:not(#ed) .footer .footer__bottom-inner, body:not(#ed) .footer .footer__bottom-inner a, body:not(#ed) .footer .footer__bottom-inner span { color: #8a7570 !important; }
}

/* ---------- v10 : cartes d'offre de l'accueil, sans pastilles ---------- */
@media (max-width: 960px) { .ed-offre-pc { display: none !important; } }
@media (min-width: 961px) {
  body:not(#ed) .hero .ed-hero-offres__formules,
  body:not(#ed) .hero .ed-hero-offres__faits,
  body:not(#ed) .hero .ed-hero-offres__offre-rose { display: none !important; }
  .ed-offre-pc { display: flex; flex-direction: column; gap: 2px; margin-top: 6px; padding-top: 14px; border-top: 1px solid rgba(107,85,82,.12); }
  .ed-offre-pc__row { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 8px 0 0 !important; }
  .ed-offre-pc__row:first-child { margin-top: 0 !important; }
  .ed-offre-pc__nom { line-height: 1.25; font-size: .95rem; font-weight: 600; color: #5a4643; }
  .ed-offre-pc__prix { font-family: var(--font-script, 'Cormorant Garamond', serif); font-size: 1.7rem; line-height: 1; font-weight: 600; white-space: nowrap; margin: 0 !important; }
  .ed-offre-pc__prix small { font-family: var(--font-body, 'Lato', sans-serif); font-size: .78rem; font-weight: 400; color: #8a7570; margin-left: 2px; }
  .ed-offre-pc__prix--solo { font-size: 2.3rem; }
  .ed-offre-pc--sage .ed-offre-pc__prix { color: #5f7553; }
  .ed-offre-pc--rose .ed-offre-pc__prix { color: #b06f70; }
  .ed-offre-pc__meta { margin: 10px 0 0 !important; font-size: .8rem; line-height: 1.5; color: #8a7570; font-weight: 400; }
  .ed-offre-pc__meta--sub { margin: 2px 0 0 !important; font-size: .8rem; }
  .ed-offre-pc__meta i { font-size: .74rem; margin-right: 3px; opacity: .8; }
  .ed-offre-pc--sage .ed-offre-pc__meta i { color: #879b7b; }
  .ed-offre-pc--rose .ed-offre-pc__meta i { color: #c48e8e; }
}
@media (min-width: 961px) { .ed-offre-pc__meta span { white-space: nowrap; } }
@media (min-width: 961px) and (max-width: 1360px) { .ed-offre-pc__meta { font-size: .74rem; letter-spacing: -.01em; } .ed-offre-pc__meta i { margin-right: 1px; } }

/* ---------- Séances mobile : en-tête centré et allégé ---------- */
@media (min-width: 961px) { .sx-m-only { display: none !important; } }
@media (max-width: 960px) {
  body:not(#ed) .sx-hero .sx-hero__copy { text-align: center !important; align-items: center !important; }
  body:not(#ed) .sx-hero .sx-eyebrow { font-size: .62rem !important; letter-spacing: 1.4px !important; text-align: center !important; text-wrap: balance; max-width: 19rem; margin-left: auto !important; margin-right: auto !important; }
  body:not(#ed) .sx-hero .sx-hero__title { text-align: center !important; }
  body:not(#ed) .sx-hero .sx-hero__lead:not(.sx-m-only) { display: none !important; }
  body:not(#ed) .sx-hero .sx-hero__lead.sx-m-only { text-align: center !important; margin: 0 auto 10px !important; max-width: 20rem; }
  body:not(#ed) .sx-hero .sx-chips, body:not(#ed) .sx-hero .sx-btn { display: none !important; }
  body:not(#ed) .sx-hero .sx-m-meta { margin: 0 0 12px !important; font-size: .82rem; color: #8a7570; letter-spacing: .2px; text-align: center; }
  body:not(#ed) .sx-hero .sx-m-link { display: inline-flex; align-items: center; gap: 6px; font-size: .82rem; font-weight: 600; color: #6b5552; text-decoration: none; border-bottom: 1px solid rgba(107,85,82,.25); padding-bottom: 1px; }
  body:not(#ed) .sx-hero .sx-m-link i { font-size: .7rem; }
  body:not(#ed) .sx-hero .sx-hero__visual img { aspect-ratio: 16 / 9 !important; height: auto !important; object-fit: cover !important; object-position: 50% 55% !important; }
}
@media (max-width: 960px) {
  /* Séances mobile : rythme vertical serré (≈40–48px entre sections) */
  body:not(#ed) .sx > .sx-hero { padding-top: 20px !important; padding-bottom: 0 !important; }
  body:not(#ed) .sx-hero .sx-hero__grid { gap: 20px !important; }
  body:not(#ed) .sx-hero .sx-eyebrow { margin-bottom: 8px !important; }
  body:not(#ed) .sx-hero .sx-hero__title { margin: 0 0 10px !important; }
  body:not(#ed) .sx > .sx-sessions { padding-top: 44px !important; padding-bottom: 0 !important; }
  body:not(#ed) .sx-sessions .sx-sessions__head { text-align: center !important; margin: 0 auto 20px !important; max-width: none !important; }
  body:not(#ed) .sx-sessions .sx-h2 { text-align: center !important; margin: 0 0 6px !important; }
  body:not(#ed) .sx-sessions .sx-sessions__lead { text-align: center !important; margin: 0 !important; font-size: .86rem !important; color: #8a7570 !important; }
  body:not(#ed) .sx-sessions .sx-grid { gap: 14px !important; }
  body:not(#ed) .sx > .sx-more { padding-top: 40px !important; padding-bottom: 48px !important; margin: 0 auto !important; }
  body:not(#ed) .sx-more .sx-pills { gap: 10px !important; justify-content: center !important; margin: 0 0 14px !important; }
  body:not(#ed) .sx-more .sx-address { margin: 0 auto !important; max-width: 20rem; text-align: center !important; }
}

/* ================= Accueil mobile (<961px) : séances, offres, en pratique ================= */
@media (min-width: 961px) { .ed-m-only { display: none !important; } }
@media (max-width: 960px) {
  /* --- Carte Séances : photo en tête, mini-planning, bouton fin vert --- */
  body:not(#ed) .hero .sx-mhome { padding: 0 0 18px !important; overflow: hidden !important; text-align: center !important; }
  body:not(#ed) .hero .sx-mhome > *:not(.sx-mhome__photo) { margin-left: 18px !important; margin-right: 18px !important; }
  body:not(#ed) .hero .sx-mhome__photo { display: block; width: 100%; height: 180px; object-fit: cover; object-position: 50% 60%; border-radius: 0; margin: 0 0 14px !important; }
  body:not(#ed) .hero .sx-mhome .sx-eyebrow { font-size: .6rem !important; letter-spacing: 1.3px !important; text-wrap: balance; margin-bottom: 6px !important; text-align: center !important; }
  body:not(#ed) .hero .sx-mhome__title { margin: 0 0 4px !important; text-align: center !important; }
  body:not(#ed) .hero .sx-mhome__lead { margin: 0 0 12px !important; font-size: .86rem !important; text-align: center !important; }
  body:not(#ed) .hero .sx-mhome__chips { display: none !important; }
  .sx-mplan { margin: 0 0 14px !important; padding: 0; border-top: 1px solid rgba(90,62,62,.10); text-align: left; }
  .sx-mplan__day { display: grid; grid-template-columns: 74px 1fr; align-items: baseline; gap: 8px; padding: 8px 0; border-bottom: 1px solid rgba(90,62,62,.10); }
  .sx-mplan dt { font-size: .58rem; letter-spacing: 1.1px; text-transform: uppercase; font-weight: 700; color: #879b7b; line-height: 1.3; }
  .sx-mplan dd { margin: 0; display: flex; flex-direction: column; gap: 2px; font-size: .82rem; color: #6b5552; line-height: 1.3; }
  .sx-mplan dd b { font-family: var(--font-script, 'Cormorant Garamond', serif); font-size: 1.05rem; font-weight: 600; color: #5a3e3e; margin-right: 4px; }
  body:not(#ed) .hero .sx-mhome .sx-btn {
    display: inline-flex !important; width: auto !important; min-height: 0 !important; padding: 9px 20px !important; font-size: .7rem !important;
    background: transparent !important; color: #5f7553 !important; border: 1px solid #879b7b !important; box-shadow: none !important;
  }

  /* --- Offres : Baby shower (vert) et Bain (rose), compactes et centrées --- */
  body:not(#ed) .hero .ed-choix-groupe { text-align: center !important; }
  body:not(#ed) .hero .ed-choix-grid, body:not(#ed) .hero .ed-choix-groupe--sage > .ed-points, body:not(#ed) .hero .ed-mini--bain .ed-points { display: none !important; }
  .ed-moffre { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  .ed-moffre__item { background: #fffdfa; border: 1px solid rgba(135,155,123,.28); border-radius: 14px; padding: 12px 10px; text-align: center; }
  .ed-moffre__nom { margin: 0 0 4px !important; font-family: var(--font-script, 'Cormorant Garamond', serif); font-size: 1.08rem; font-weight: 600; line-height: 1.2; color: #5a3e3e; }
  .ed-moffre__ligne { margin: 0 !important; font-size: .74rem; color: #8a7570; white-space: nowrap; }
  .ed-moffre__prix { font-family: var(--font-script, 'Cormorant Garamond', serif); font-size: 1.35rem; font-weight: 600; color: #5f7553; margin-right: 1px; }
  .ed-moffre__meta { margin: 10px auto 0 !important; max-width: 19rem; font-size: .78rem; line-height: 1.45; color: #8a7570; text-align: center; text-wrap: balance; }
  body:not(#ed) .hero .ed-mini--bain { text-align: center !important; padding: 16px 16px 18px !important; display: flex !important; flex-direction: column !important; align-items: center !important; gap: 0 !important; }
  body:not(#ed) .hero .ed-mini--bain .ed-mini-prix-hero { font-size: 2.1rem !important; line-height: 1 !important; margin: 0 !important; text-align: center !important; width: auto !important; }
  .ed-moffre__meta--rose { margin: 6px auto 14px !important; }
  body:not(#ed) .hero .ed-mini--bain .ed-mini__cta-bain { width: auto !important; min-width: 70% !important; min-height: 0 !important; padding: 10px 22px !important; font-size: .72rem !important; box-shadow: none !important; margin: 0 auto !important; }

  /* --- En pratique / Me rencontrer : compact et centré --- */
  body:not(#ed) #contact .contact__info { text-align: center !important; padding-top: 22px !important; }
  body:not(#ed) #contact .contact__intro { text-align: center !important; margin: 0 auto 14px !important; max-width: 19rem; }
  body:not(#ed) #contact .ed-access { display: flex !important; flex-direction: column !important; align-items: center !important; gap: 0 !important; margin: 0 0 14px !important; }
  body:not(#ed) #contact .ed-access__line { display: none !important; }
  body:not(#ed) #contact .ed-access__line:first-child { display: block !important; }
  body:not(#ed) #contact .ed-access__line:first-child > i { display: none !important; }
  body:not(#ed) #contact .ed-access__corps { display: flex !important; flex-direction: column !important; align-items: center !important; gap: 2px !important; font-size: .82rem; white-space: nowrap; }
  body:not(#ed) #contact .ed-access__itineraire { min-height: 0 !important; padding: 2px 0 !important; }
  .ed-maccess { margin: 10px auto 0 !important; max-width: 19rem; font-size: .76rem; line-height: 1.45; color: #8a7570; text-wrap: balance; }
  body:not(#ed) #contact .contact__list-label { text-align: center !important; margin: 0 0 8px !important; }
  body:not(#ed) #contact .contact__list { display: flex !important; flex-direction: column !important; align-items: center !important; gap: 8px !important; }
  body:not(#ed) #contact .contact__row { display: inline-flex !important; align-items: center !important; gap: 8px !important; padding: 7px 14px !important; border: 1px solid rgba(90,62,62,.14) !important; border-radius: 999px !important; margin: 0 !important; }
  body:not(#ed) #contact .contact__row > i { width: auto !important; height: auto !important; background: none !important; color: #879b7b !important; font-size: .8rem !important; }
  body:not(#ed) #contact .contact__rlabel { display: none !important; }
  body:not(#ed) #contact .contact__rval, body:not(#ed) #contact .contact__rval a { font-size: .84rem !important; min-height: 0 !important; }
  body:not(#ed) #contact .contact__map { height: 200px !important; min-height: 0 !important; }
  body:not(#ed) #contact .contact__map iframe { height: 100% !important; min-height: 0 !important; }
}

/* ================= Ateliers (ateliers, peinture, premiers liens) ================= */
/* Code couleur : icônes « Où ça se passe » en vert (ateliers), PC et mobile */
body:not(#ed) .ateliers-jourj .ed-access__line i { color: var(--sage-dark, #879b7b) !important; }
@media (max-width: 960px) {
  /* 3 mini-colonnes : groupe, lieu privé, date modifiable */
  body:not(#ed) .ed-avantages-cartes { margin: 0 0 18px !important; padding: 0 !important; }
  body:not(#ed) .ed-avantages-cartes .ed-avantages-cartes__grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 8px !important; }
  body:not(#ed) .ed-avantages-cartes .ed-avantages-cartes__item { display: flex !important; flex-direction: column !important; align-items: center !important; text-align: center !important; gap: 6px !important; padding: 10px 4px !important; margin: 0 !important; min-height: 0 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; }
  body:not(#ed) .ed-avantages-cartes .ed-avantages-cartes__icon { width: 34px !important; height: 34px !important; min-width: 0 !important; border-radius: 50% !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; background: rgba(156,175,143,.16) !important; color: #5f7553 !important; font-size: .82rem !important; margin: 0 !important; }
  body:not(#ed) .ed-avantages-cartes .ed-avantages-cartes__icon i { color: #5f7553 !important; font-size: .82rem !important; }
  body:not(#ed) .ed-avantages-cartes .ed-avantages-cartes__titre, body:not(#ed) .ed-avantages-cartes .ed-avantages-cartes__texte { display: none !important; }
  .ed-av-m { margin: 0 !important; display: flex; flex-direction: column; line-height: 1.25; }
  .ed-av-m b { font-size: .8rem; font-weight: 600; color: #5a3e3e; white-space: nowrap; }
  .ed-av-m span { font-size: .7rem; color: #8a7570; }

  /* « Où ça se passe » : compact et centré, sans brindille */
  body:not(#ed) .ateliers-jourj { padding-top: 40px !important; padding-bottom: 40px !important; }
  body:not(#ed) .ateliers-jourj .section-head { margin-bottom: 14px !important; text-align: center !important; }
  body:not(#ed) .ateliers-jourj .title-flourish { display: none !important; }
  body:not(#ed) .ateliers-jourj .ed-access { display: flex !important; flex-direction: column !important; align-items: center !important; gap: 0 !important; margin: 0 auto 18px !important; padding: 0 !important; text-align: center !important; background: none !important; border: 0 !important; box-shadow: none !important; }
  body:not(#ed) .ateliers-jourj .ed-access__line { display: none !important; }
  body:not(#ed) .ateliers-jourj .ed-access__line:first-child { display: block !important; }
  body:not(#ed) .ateliers-jourj .ed-access__line:first-child > i { display: none !important; }
  body:not(#ed) .ateliers-jourj .ed-access__corps { display: flex !important; flex-direction: column !important; align-items: center !important; gap: 2px !important; font-size: .82rem; white-space: nowrap; }
  body:not(#ed) .ateliers-jourj .ed-access__itineraire { min-height: 0 !important; padding: 2px 0 !important; }
  body:not(#ed) .ateliers-jourj__layout { gap: 0 !important; }
  .ed-maccess { text-align: center !important; }
}
@media (max-width: 960px) {
  /* Ateliers « Pas à pas » : étapes compactes (vignette + texte) */
  body:not(#ed) .ateliers-etapes { padding-top: 40px !important; padding-bottom: 40px !important; }
  body:not(#ed) .ateliers-etapes .section-title { margin-bottom: 16px !important; }
  body:not(#ed) .frise-etapes { display: flex !important; flex-direction: column !important; gap: 10px !important; }
  body:not(#ed) .frise-etapes .frise-etapes__step { display: grid !important; grid-template-columns: 84px 1fr !important; grid-template-areas: "photo corps" !important; align-items: center !important; gap: 12px !important; text-align: left !important; padding: 0 !important; margin: 0 !important; }
  body:not(#ed) .frise-etapes .frise-etapes__num { display: none !important; }
  body:not(#ed) .frise-etapes .frise-etapes__photo { grid-area: photo !important; width: 84px !important; height: 84px !important; margin: 0 !important; border-radius: 14px !important; overflow: hidden !important; display: block !important; }
  body:not(#ed) .frise-etapes .frise-etapes__photo img { width: 100% !important; height: 100% !important; object-fit: cover !important; border-radius: 14px !important; aspect-ratio: auto !important; }
  body:not(#ed) .frise-etapes .frise-etapes__corps { grid-area: corps !important; text-align: left !important; margin: 0 !important; }
  body:not(#ed) .frise-etapes .frise-etapes__corps h3 { margin: 0 0 2px !important; font-size: .95rem !important; text-align: left !important; }
  body:not(#ed) .frise-etapes .frise-etapes__corps p { margin: 0 !important; font-size: .8rem !important; line-height: 1.4 !important; text-align: left !important; }
}
/* Code couleur : icônes du héros ateliers en vert (PC et mobile) */
body:not(#ed):has(.ateliers-jourj) .atelier-hero__points i { color: var(--sage-dark, #879b7b) !important; }
@media (max-width: 960px) {
  /* « Où ça se passe » : durée en texte taupe fin, sans pastille */
  body:not(#ed) .ateliers-jourj .ed-duree-pastille { background: none !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; min-height: 0 !important; color: #8a7570 !important; font-size: .76rem !important; font-weight: 400 !important; gap: 4px !important; }
  body:not(#ed) .ateliers-jourj .ed-duree-pastille__ico { width: 11px !important; height: 11px !important; opacity: .7; }
}
@media (max-width: 960px) {
  /* Barre du bas (accueil) : « Bain enveloppement » lisible en entier */
  body:not(#ed) .ed-cta-bar--duo .ed-cta-bar__btn--primary { padding: 0 8px !important; letter-spacing: 0 !important; font-size: .74rem !important; }
  body:not(#ed) .ed-cta-bar--duo .ed-cta-bar__btn--primary.ed-cta-bar__btn--rose { flex: 1.45 1 0 !important; }
}

/* Accueil PC : photo du bain pleine hauteur (bord haut/bas/droit), bébé entier */
@media (min-width: 961px) {
  body:not(#ed) .hero .hero__media { left: 38% !important; right: 0 !important; width: auto !important; }
  body:not(#ed) .hero .hero__media img { object-fit: cover !important; object-position: 6% 50% !important; }
}

/* En-têtes PC : photo pleine largeur, texte d'en-tête et logo alignés près du bord (--ed-hero-x).
   Le contenu sous l'en-tête reste dans son cadre centré d'origine (doux, aéré). */
@media (min-width: 961px) {
  :root { --ed-hero-x: max(clamp(24px, 2.5vw, 48px), calc((100vw - 1824px) / 2)); }
  body:not(#ed) .atelier-hero .atelier-hero__text,
  body:not(#ed) .sx-hero .sx-hero__copy,
  body:not(#ed) .hero .hero__body { padding-left: var(--ed-hero-x) !important; }
  body:not(#ed) .navbar .navbar__inner { max-width: none !important; margin: 0 !important; padding-left: calc(var(--ed-hero-x) - 18px) !important; padding-right: var(--ed-hero-x) !important; }
  /* Titres d'en-tête : pas de largeur étroite, coupure équilibrée */
  body:not(#ed) :is(.hero__title, .atelier-hero h1, .sx-hero__title, .gal-hero__title) { max-width: none !important; text-wrap: balance; }
  body:not(#ed) .atelier-hero .atelier-hero__text > h1 { max-width: none !important; }
}

/* =========================================================
   PC — corrections ciblées (contenu dans son cadre centré)
   ========================================================= */
@media (min-width: 961px) {
  /* Étapes verticales → frise horizontale (En 3 messages, paiement en 2 étapes) */
  body:not(#ed) :is(.ed-etapes-ligne, .ed-paiement-etapes) {
    max-width: 1000px !important; width: 100% !important; margin: 28px auto 0 !important; padding: 0 !important;
    display: grid !important; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 28px !important; position: relative;
  }
  body:not(#ed) :is(.ed-etapes-ligne, .ed-paiement-etapes)::before {
    left: calc(100% / 6) !important; right: calc(100% / 6) !important; top: 27px !important; bottom: auto !important; width: auto !important; height: 2px !important;
  }
  body:not(#ed) .ed-paiement-etapes::before { left: 25% !important; right: 25% !important; }
  body:not(#ed) :is(.ed-etapes-ligne__item, .ed-paiement-etapes__item) {
    display: flex !important; flex-direction: column; align-items: center; text-align: center !important; gap: 14px !important; padding: 0 !important;
  }
  body:not(#ed) :is(.ed-etapes-ligne__badge, .ed-paiement-etapes__num) { width: 56px !important; height: 56px !important; font-size: 1.25rem !important; box-shadow: 0 0 0 8px var(--cream, #faf6f0), 0 6px 14px rgba(156,175,143,.35) !important; }
  body:not(#ed) .ed-etapes-ligne__titre { font-size: 1.35rem !important; }
  body:not(#ed) .ed-etapes-ligne__texte { font-size: 1rem !important; }
  body:not(#ed) .ed-paiement-etapes__pastilles { justify-content: center; }

  /* Belly : « La séance pas à pas » — texte 30 %, photos sur le reste de la carte */
  body:not(#ed) .process .step__grid { max-width: none !important; margin: 0 !important; grid-template-columns: minmax(0, 3fr) minmax(0, 7fr) !important; gap: 40px !important; align-items: center !important; }
  body:not(#ed) .process .step__media { grid-template-columns: none !important; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 16px !important; }
  body:not(#ed) .process .step__aside { text-align: left !important; }

  /* Belly : « Après la séance » — titre + texte et citation côte à côte, 2 grandes photos sur toute la largeur */
  body:not(#ed) .after .after__intro { max-width: none !important; margin: 0 0 28px !important; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr) !important; gap: 48px !important; align-items: center !important; }
  body:not(#ed) .after .after__quote { margin: 0 !important; max-width: none !important; }
  body:not(#ed) .after .after__media { max-width: none !important; margin: 0 !important; gap: 20px !important; }
  body:not(#ed) .after .after__media img { aspect-ratio: 1 / 1 !important; object-position: center 40% !important; }

  /* Belly : « Bon à savoir » — 3 cartes en ligne */
  body:not(#ed) .ed-info-lignes:not(.ed-info-lignes--organiser) {
    max-width: 1000px !important; margin: 24px auto 0 !important; padding: 0 !important; display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 20px !important;
  }
  body:not(#ed) .ed-info-lignes:not(.ed-info-lignes--organiser) .ed-info-lignes__item {
    display: flex !important; flex-direction: column; align-items: center; text-align: center; gap: 12px; padding: 26px 22px !important; margin: 0 !important;
    background: var(--white, #fffdfa); border-radius: 18px; box-shadow: 0 0 0 1px rgba(90,62,62,.06), 0 10px 26px rgba(120,90,70,.07); border: 0 !important;
  }
  body:not(#ed) .ed-info-lignes:not(.ed-info-lignes--organiser) .ed-info-lignes__label strong { display: block; margin-bottom: 4px; }

  /* Belly : « Organiser la séance » — 3 colonnes serrées sous le titre */
  body:not(#ed) .resa__head .ed-info-lignes--organiser { max-width: 900px !important; margin: 18px auto 0 !important; display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 20px !important; }

  /* À propos : citation + boutons = un seul bloc centré, trait aligné */
  body:not(#ed) .vision__quote { max-width: 760px !important; margin: 48px auto 0 !important; text-align: center !important; font-size: clamp(1.7rem, 2.4vw, 2.2rem) !important; }
  body:not(#ed) .vision__quote::before { margin: 0 auto 20px !important; }
  body:not(#ed) .vision__cta { display: flex !important; justify-content: center !important; gap: 14px; margin-top: 28px !important; }

  /* Bon cadeau : vidéo à gauche, « Quel montant ? » à droite */
  body:not(#ed) .gc-formules > .container { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 48px; align-items: start; }
  body:not(#ed) .gc-formules > .container > * { grid-column: 2; max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
  body:not(#ed) .gc-formules > .container > .gc-formules__video { grid-column: 1; grid-row: 1 / span 6; align-self: stretch; margin: 0 !important; position: relative !important; min-width: 0; width: 100% !important; min-height: 520px; overflow: hidden; border-radius: 22px; }
  body:not(#ed) .gc-formules > .container > .gc-formules__video video { position: absolute !important; inset: 0; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; object-position: center 35%; border-radius: 22px; }
  body:not(#ed) .gc-formules .gc-formules__action, body:not(#ed) .gc-formules .gc-other-types { text-align: center; padding: 0 !important; width: auto !important; }
  body:not(#ed) .gc-formules .section-head { text-align: center; }
}
/* En images : bandeau « Et si vous l'offriez… » → 2 cartes (PC uniquement) */
.ed-suite-cartes { display: none; }
@media (min-width: 961px) {
  body:not(#ed) .suite .suite__text, body:not(#ed) .suite .suite__actions { display: none !important; }
  body:not(#ed) .ed-suite-cartes { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; max-width: 1000px; margin: 26px auto 0; }
  body:not(#ed) .ed-suite-carte { display: flex; flex-direction: column; border-radius: 22px; overflow: hidden; background: var(--white, #fffdfa); box-shadow: 0 0 0 1px rgba(90,62,62,.06), 0 16px 40px rgba(120,90,70,.09); text-decoration: none; transition: transform .2s ease; }
  body:not(#ed) .ed-suite-carte:hover { transform: translateY(-3px); }
  body:not(#ed) .ed-suite-carte--sage { border-top: 4px solid var(--sage, #9caf8f); }
  body:not(#ed) .ed-suite-carte--rose { border-top: 4px solid var(--rose, #d4a5a5); }
  body:not(#ed) .ed-suite-carte img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; display: block; }
  body:not(#ed) .ed-suite-carte__corps { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 18px; padding: 26px 28px 30px; }
  body:not(#ed) .ed-suite-carte__texte { color: var(--brown-soft, #6f5350); font-size: 1rem; line-height: 1.6; }
}
/* Pied de page PC : crème, chaleureux, moderne (mobile inchangé) */
.ed-footer-band { display: none; }
@media (min-width: 961px) {
  body:not(#ed) .footer { background: linear-gradient(180deg, #f6efe6 0%, #f3ebe1 100%) !important; color: var(--brown-soft, #6f5350) !important; padding: 0 !important; border-top: 1px solid rgba(90,62,62,.08) !important; }
  body:not(#ed) .ed-footer-band { display: flex; align-items: center; justify-content: space-between; gap: 32px; max-width: 1180px; margin: 0 auto; padding: 56px 32px 48px; border-bottom: 1px solid rgba(90,62,62,.10); }
  body:not(#ed) .ed-footer-band__titre { font-family: var(--serif, 'Cormorant Garamond', serif); font-size: clamp(1.7rem, 2.4vw, 2.3rem); line-height: 1.2; color: var(--brown, #5a3e3e); margin: 0; max-width: 30ch; }
  body:not(#ed) .ed-footer-band__actions { display: flex; gap: 14px; flex-wrap: wrap; justify-content: flex-end; }
  body:not(#ed) .footer .footer__top { padding: 48px 32px 40px !important; }
  body:not(#ed) .footer .footer__brand .logo__svg { filter: none !important; }
  body:not(#ed) .footer .footer__tagline { color: var(--brown-soft, #6f5350) !important; }
  body:not(#ed) .footer .footer__social a { background: #fffdfa !important; box-shadow: 0 0 0 1px rgba(90,62,62,.10); color: var(--brown, #5a3e3e) !important; }
  body:not(#ed) .footer .footer__social a:hover { background: #fff !important; box-shadow: 0 0 0 1px rgba(90,62,62,.22); }
  body:not(#ed) .footer .footer__social a i { color: var(--brown, #5a3e3e) !important; }
  body:not(#ed) .footer .footer__col::before { color: var(--muted, #9a8580) !important; }
  body:not(#ed) .footer .footer__col h2 { display: none !important; }
  body:not(#ed) .footer .footer__col li, body:not(#ed) .footer .footer__col li * { color: var(--brown, #5a3e3e) !important; }
  body:not(#ed) .footer .footer__col a:hover { color: var(--rose-dark, #b07a7a) !important; text-decoration: none !important; }
  body:not(#ed) .footer .footer__col--explorer ul { display: grid !important; grid-template-columns: 1fr 1fr; column-gap: 28px; row-gap: 10px !important; }
  body:not(#ed) .footer .footer__col--contact li:nth-child(1)::before { content: "\f095"; }
  body:not(#ed) .footer .footer__col--contact li:nth-child(2)::before { content: "\f0e0"; }
  body:not(#ed) .footer .footer__col--contact li:nth-child(3)::before { content: "\f3c5"; }
  body:not(#ed) .footer .footer__col--contact li::before { font-family: "Font Awesome 6 Free", "Font Awesome 5 Free"; font-weight: 900; color: var(--rose, #d4a5a5); margin-right: 10px; display: inline-block; width: 16px; }
  body:not(#ed) .footer .footer__bottom { border-top: 1px solid rgba(90,62,62,.10) !important; }
  body:not(#ed) .footer .footer__bottom-inner, body:not(#ed) .footer .footer__bottom-inner a, body:not(#ed) .footer .footer__bottom-inner span { color: var(--muted, #9a8580) !important; }
  body:not(#ed) .footer .footer__bottom-inner a:hover { color: var(--brown, #5a3e3e) !important; }
}
/* ---- Passe 2 (PR #37) ---- */
.ed-pc-txt { display: none; }
@media (min-width: 961px) {
  body:not(#ed) .ed-pc-txt { display: block; }
  /* À propos — Ma vision : 2 colonnes équilibrées */
  body:not(#ed) .vision .vision__grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr) !important; gap: 56px !important; align-items: center !important; max-width: 1080px !important; margin: 0 auto !important; }
  body:not(#ed) .vision .vision__text p { max-width: 52ch !important; font-size: 1rem !important; }
  body:not(#ed) .vision .vision__img { max-width: none !important; }
  body:not(#ed) .vision .vision__img img { aspect-ratio: 4 / 5; max-height: 560px; width: 100%; object-fit: cover; object-position: center 35%; }

  /* Bon cadeau — Trois étapes : cartes alignées, images de même taille, bouton centré */
  body:not(#ed) .gc-howto .gc-steps { align-items: stretch !important; }
  body:not(#ed) .gc-howto .gc-steps > * { display: flex !important; flex-direction: column !important; align-items: center; text-align: center !important; }
  body:not(#ed) .gc-howto .gc-steps > * h3 { min-height: 2.6em; display: flex; align-items: center; justify-content: center; }
  body:not(#ed) .gc-howto .gc-steps > * p { flex: 1 0 auto; }
  body:not(#ed) .gc-howto .gc-step__photo { width: calc(100% - 32px) !important; margin-left: 16px !important; margin-right: 16px !important; margin-bottom: 16px !important; aspect-ratio: 4 / 3 !important; height: auto !important; margin-top: auto !important; overflow: hidden; border-radius: 14px; padding: 0 !important; box-sizing: border-box; }
  body:not(#ed) .gc-howto .gc-step__photo img { width: 100% !important; height: 100% !important; object-fit: cover; border-radius: 14px; }
  body:not(#ed) .gc-howto__action { text-align: center !important; display: flex; justify-content: center; }

  /* Bon cadeau — Un cadeau pour… : hauteurs égales, pas de petit cœur isolé */
  body:not(#ed) .gc-personas__grid { align-items: stretch !important; }
  body:not(#ed) .gc-personas__grid > * { height: 100%; display: flex !important; flex-direction: column; align-items: center; text-align: center !important; }
  body:not(#ed) .gc-personas__grid > * .gc-persona__mark { display: none !important; }

  /* Bon cadeau — Quel montant ? : vidéo entière (pas recadrée) */
  body:not(#ed) .gc-formules > .container > .gc-formules__video { min-height: 0 !important; align-self: center !important; overflow: visible !important; }
  body:not(#ed) .gc-formules > .container > .gc-formules__video video { position: static !important; width: 100% !important; height: auto !important; object-fit: contain !important; display: block; }

  /* Accueil — Offrez un bon cadeau : le texte occupe la carte */
  body:not(#ed) .cadeau .cadeau__body, body:not(#ed) .cadeau .offre__promesse { max-width: none !important; }
  body:not(#ed) .cadeau .cadeau__card { gap: 48px !important; align-items: center !important; }
}
@media (min-width: 961px) {
  body:not(#ed) .footer .footer__col--explorer li { display: list-item !important; list-style: none; }
  body:not(#ed) .footer .footer__col--explorer li:has(a[href="index.html"]) { display: none !important; }
  body:not(#ed) .footer .footer__col--explorer ul li a { white-space: nowrap; }
  body:not(#ed) .footer .footer__top { grid-template-columns: 1.2fr 1.3fr 1fr !important; }
}
@media (max-width: 960px) { .vision__text p:nth-last-child(3) { margin-bottom: 0 !important; } }

/* =========================================================
   MOBILE (≤ 960 px) — en-têtes épurés + pages ateliers compactes
   ========================================================= */
@media (max-width: 960px) {
  /* En-tête : photo plus haute, titre ≤ 2 lignes, une ligne d'infos, un bouton */
  body:not(#ed) .atelier-hero .atelier-hero__visual { min-height: 0 !important; height: auto !important; aspect-ratio: 4 / 3.2; }
  body:not(#ed) .atelier-hero .atelier-hero__visual :is(img, picture) { width: 100% !important; height: 100% !important; object-fit: cover; }
  body:not(#ed) .atelier-hero .atelier-hero__title { font-size: clamp(1.7rem, 7.4vw, 2.05rem) !important; line-height: 1.12 !important; text-wrap: balance; margin-bottom: 6px !important; }
  body:not(#ed) .atelier-hero .atelier-hero__eyebrow { font-size: 1.35rem !important; margin-bottom: 4px !important; }
  body:not(#ed) .atelier-hero :is(.ed-hook, .bc-hero__lead) { font-size: 1.02rem !important; line-height: 1.45 !important; margin-bottom: 10px !important; }
  /* Pastilles → une ligne d'infos sobre */
  body:not(#ed) .atelier-hero .ed-chips { display: flex !important; flex-wrap: wrap; justify-content: flex-start !important; gap: 4px 14px !important; margin: 0 0 14px !important; }
  body:not(#ed) .atelier-hero .ed-chips > * { background: none !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; font-size: .92rem !important; color: var(--brown-soft, #6f5350) !important; min-height: 0 !important; }
  /* Listes à puces, prochaine date, encarts : déjà repris plus bas dans la page */
  body:not(#ed) .atelier-hero :is(.ed-choix, .atelier-hero__next, .hero-benefits, .atelier-hero__sensoriel, .atelier-hero__choix, .atelier-hero__heart) { display: none !important; }
  /* Un seul bouton « Choisir une date » : la barre fixe du bas suffit sur les pages qui l'ont */
  body.ed-cta-bar-pad:not(#ed) .atelier-hero :is(.atelier-hero__cta, .atelier-hero__actions, .hero__cta) > * + * { display: none !important; }
  body:not(#ed) .atelier-hero .atelier-hero__text { padding-top: 22px !important; padding-bottom: 26px !important; }

  /* Bon à savoir (facts) : grille 2×2 compacte, icône à côté du texte */
  body:not(#ed) .facts { padding: 32px 0 !important; }
  body:not(#ed) .facts .facts__grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 10px !important; max-width: none !important; }
  body:not(#ed) .facts .fact { flex-direction: row !important; align-items: flex-start !important; text-align: left !important; gap: 10px !important; padding: 12px !important; background: var(--white, #fffdfa); border-radius: 14px; box-shadow: 0 0 0 1px rgba(90,62,62,.06); }
  body:not(#ed) .facts .fact__icon { width: 34px !important; height: 34px !important; font-size: .9rem !important; }
  body:not(#ed) .facts .fact :is(h3, strong, [class*="title"]) { font-size: 1rem !important; margin: 0 0 2px !important; }
  body:not(#ed) .facts .fact p { font-size: .84rem !important; line-height: 1.35 !important; margin: 0 !important; }

  /* Pages ateliers : photos juste après l'en-tête, en carrousel horizontal */
  body.page-premiers-liens:not(#ed), body:not(#ed):has(.process--photos-dense) { display: flex; flex-direction: column; }
  body.page-premiers-liens:not(#ed) > *, body:not(#ed):has(.process--photos-dense) > * { order: 10; }
  body.page-premiers-liens:not(#ed) > .navbar, body:not(#ed):has(.process--photos-dense) > .navbar { order: 0; }
  body.page-premiers-liens:not(#ed) > .atelier-hero, body:not(#ed):has(.process--photos-dense) > .atelier-hero { order: 1; }
  body.page-premiers-liens:not(#ed) > .ateliers-photos, body:not(#ed):has(.process--photos-dense) > .process { order: 2; }
  body:not(#ed) .process .step__media, body:not(#ed) .ateliers-photos :is([class*="grid"], [class*="galerie"], [class*="photos__"]):has(img) {
    display: flex !important; grid-template-columns: none !important; overflow-x: auto; scroll-snap-type: x mandatory; gap: 10px !important; padding-bottom: 6px; -webkit-overflow-scrolling: touch; scrollbar-width: none;
  }
  body:not(#ed) .process .step__media > *, body:not(#ed) .ateliers-photos :is([class*="grid"], [class*="galerie"], [class*="photos__"]):has(img) > * { flex: 0 0 78% !important; scroll-snap-align: start; }
  body:not(#ed) .process .step__media img { aspect-ratio: 4 / 5 !important; width: 100% !important; height: auto !important; object-fit: cover; }

  /* Espacements resserrés */
  body:not(#ed) :is(.process, .after, .ateliers-organiser, .ateliers-jourj, .ateliers-faq, .resa-section, .quatre, .ateliers-photos, .passerelle) { padding-top: 32px !important; padding-bottom: 32px !important; }
  body:not(#ed) .process .step { padding: 14px 0 !important; }
  body:not(#ed) .process .step__grid { gap: 12px !important; }
  body:not(#ed) .section-head { margin-bottom: 16px !important; }
}
@media (max-width: 960px) {
  body.ed-cta-bar-pad:not(#ed) .atelier-hero :is(.atelier-hero__cta, .atelier-hero__actions, .hero__cta) { display: none !important; }
  body:not(#ed) .atelier-hero .atelier-hero__text, body:not(#ed) .atelier-hero .atelier-hero__text > * { text-align: left !important; margin-left: 0 !important; margin-right: 0 !important; }
}
@media (max-width: 960px) {
  body:not(#ed) :is(.process .step__media, .ateliers-photos .ateliers-photos__row) img { flex: 0 0 78% !important; width: 78% !important; max-width: none !important; aspect-ratio: 4 / 5 !important; height: auto !important; object-fit: cover; scroll-snap-align: start; border-radius: 14px; }
  body:not(#ed) .ateliers-photos .ateliers-photos__row { display: flex !important; overflow-x: auto; scroll-snap-type: x mandatory; gap: 10px !important; scrollbar-width: none; flex-wrap: nowrap !important; }
  body:not(#ed) .process .step__aside { gap: 4px !important; }
  body:not(#ed) .process .step__heart { display: none !important; }
}
@media (max-width: 960px) {
  body:not(#ed) .facts .fact { display: grid !important; grid-template-columns: 34px minmax(0, 1fr) !important; column-gap: 10px !important; row-gap: 2px !important; align-items: start !important; }
  body:not(#ed) .facts .fact > .fact__icon { grid-row: 1 / span 3; }
  body:not(#ed) .facts .fact > :not(.fact__icon) { grid-column: 2; text-align: left !important; min-width: 0; overflow-wrap: anywhere; }
}
@media (max-width: 960px) {
  body:not(#ed) .facts .fact > :is(span, p, a) { font-size: .84rem !important; line-height: 1.35 !important; }
  body:not(#ed) .facts .fact > strong { font-size: .98rem !important; line-height: 1.2 !important; }
  body:not(#ed) .facts .fact { padding: 10px !important; }
}

/* ---- Mobile passe 2 ---- */
@media (max-width: 960px) {
  /* Étapes : accordéon */
  body:not(#ed) .process .ed-acc > p { display: none !important; }
  body:not(#ed) .process .ed-acc.is-open > p { display: block !important; }
  body:not(#ed) .process .ed-acc h3 { cursor: pointer; display: flex !important; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 0 !important; }
  body:not(#ed) .process .ed-acc h3::after { content: "+"; font-family: var(--sans, system-ui, sans-serif); font-size: 1.3rem; color: var(--sage-dark, #5f7552); width: 28px; height: 28px; border-radius: 50%; border: 1px solid rgba(95,117,82,.35); display: inline-flex; align-items: center; justify-content: center; flex: none; }
  body:not(#ed) .process .ed-acc.is-open h3::after { content: "–"; }
  body:not(#ed) .process .step__aside.ed-acc { display: grid !important; grid-template-columns: auto 1fr; column-gap: 12px; align-items: center; text-align: left !important; }
  body:not(#ed) .process .step__aside.ed-acc > .step__num { margin: 0 !important; }
  body:not(#ed) .process .step__aside.ed-acc > :not(.step__num) { grid-column: 1 / -1; }
  body:not(#ed) .process .step__aside.ed-acc > h3 { grid-column: 2; }

  /* Cookies : petit panneau en bas, au-dessus de la barre fixe ; ne pousse plus le haut de page */
  body.has-ed-consent:not(#ed) { padding-top: 0 !important; }
  body:not(#ed) .ed-consent { top: auto !important; bottom: calc(var(--ed-cta-bar-h, 64px) + env(safe-area-inset-bottom, 0px) + 10px) !important; left: 10px !important; right: 10px !important; }
  body:not(#ed) .ed-consent .ed-consent__inner { flex-direction: row !important; align-items: center !important; flex-wrap: wrap; gap: 8px 10px !important; padding: 10px 12px !important; border-radius: 16px !important; box-shadow: 0 12px 32px rgba(90,62,62,.18) !important; }
  body:not(#ed) .ed-consent .ed-consent__text { font-size: .8rem !important; line-height: 1.35 !important; min-width: 0 !important; flex: 1 1 100% !important; }
  body:not(#ed) .ed-consent .ed-consent__actions { width: 100% !important; gap: 8px !important; }
  body:not(#ed) .ed-consent .ed-consent__btn { min-height: 36px !important; font-size: .8rem !important; padding: 0 12px !important; }

  /* Accueil : carte Séances plus jolie */
  body:not(#ed) .sx-mhome { border-radius: 22px !important; overflow: hidden; }
  body:not(#ed) .sx-mhome .sx-mhome__photo { aspect-ratio: 4 / 3 !important; width: 100% !important; height: auto !important; object-fit: cover; }
  body:not(#ed) .sx-mhome .sx-mhome__title { font-size: 1.75rem !important; line-height: 1.2 !important; margin: 10px 0 8px !important; }
  body:not(#ed) .sx-mhome .sx-mhome__lead { margin-bottom: 14px !important; }
  body:not(#ed) .sx-mplan { display: grid !important; gap: 12px !important; margin: 0 0 18px !important; }
  body:not(#ed) .sx-mplan .sx-mplan__day { display: block !important; border: 0 !important; padding: 0 !important; text-align: left; }
  body:not(#ed) .sx-mplan dt { font-size: .72rem !important; letter-spacing: 1.6px; text-transform: uppercase; color: var(--sage-dark, #5f7552); margin: 0 0 6px !important; }
  body:not(#ed) .sx-mplan dd { display: flex !important; flex-wrap: wrap; gap: 6px !important; margin: 0 !important; }
  body:not(#ed) .sx-mplan dd span { display: inline-flex !important; align-items: baseline; gap: 6px; padding: 6px 12px !important; border-radius: 999px; background: rgba(156,175,143,.14); color: var(--brown, #5a3e3e); font-size: .85rem !important; }
  body:not(#ed) .sx-mplan dd span b { font-family: var(--serif, serif); font-weight: 600; }
  body:not(#ed) .sx-mhome .sx-btn { background: var(--sage, #9caf8f) !important; border-color: var(--sage, #9caf8f) !important; color: #fff !important; box-shadow: 0 8px 20px rgba(156,175,143,.35) !important; width: 100%; justify-content: center; }

  /* Premiers liens : surtitre aligné comme le titre */
  body:not(#ed) .atelier-hero .atelier-hero__eyebrow { text-align: left !important; margin-left: 0 !important; margin-right: auto !important; align-self: flex-start !important; display: block !important; width: 100%; }
}
@media (max-width: 960px) {
  body:not(#ed) .atelier-hero .ed-m-info { font-size: .92rem; color: var(--brown-soft, #6f5350); margin: 0 0 4px; text-align: left; }
  body.page-premiers-liens:not(#ed) .atelier-hero .atelier-hero__visual { aspect-ratio: 4 / 3 !important; }
  body.page-premiers-liens:not(#ed) .atelier-hero .atelier-hero__visual img { object-position: 50% 50% !important; }
  body.page-premiers-liens:not(#ed) .atelier-hero :is(.atelier-hero__title, .ed-hook) { text-align: left !important; }
}
@media (max-width: 960px) {
  body.page-premiers-liens:not(#ed) .atelier-hero .atelier-hero__text { text-align: left !important; align-items: flex-start !important; padding-bottom: 18px !important; }
  body.page-premiers-liens:not(#ed) .atelier-hero :is(.atelier-hero__title, .ed-hook, .ed-m-info) { text-align: left !important; margin-left: 0 !important; margin-right: 0 !important; max-width: none !important; width: 100%; }
}
@media (max-width: 960px) {
  body:not(#ed) .sx-mhome .sx-mplan dd > span { flex: 0 0 auto !important; width: auto !important; }
  body:not(#ed) .sx-mhome a.btn.sx-btn, body:not(#ed) .sx-mhome a.btn.sx-btn:visited { background: var(--sage-dark, #6f8562) !important; border-color: var(--sage-dark, #6f8562) !important; color: #fff !important; display: flex !important; width: 100% !important; box-shadow: 0 8px 20px rgba(111,133,98,.28) !important; }
}
@media (max-width: 960px) {
  body:not(#ed) .sx-mhome .sx-mplan dd { flex-direction: row !important; align-items: center !important; }
  body:not(#ed) .sx-mhome a.btn.sx-btn { box-sizing: border-box !important; margin-left: 0 !important; margin-right: 0 !important; max-width: 100% !important; }
}
@media (max-width: 960px) {
  body:not(#ed) .sx-mhome a.btn.sx-btn { width: calc(100% - 48px) !important; margin: 4px auto 22px !important; }
}
