/* Maison YAMM — Institutional Pages 1.0.12 */
body.yamm-ip-active #page-container{overflow:visible!important}
.yamm-ip-main,.yamm-ip-main *,.yamm-ip-main *::before,.yamm-ip-main *::after{box-sizing:border-box}
.yamm-ip-main{position:relative;width:100%;margin:0;padding:20px 0 0;background:#f5f5f5;color:#0b0b0b;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;overflow:visible}
.yamm-ip-container{width:min(calc(100% - 40px),1440px);margin:0 auto;padding:0;overflow:visible}
.yamm-ip-content{width:100%;margin:0;padding:0;overflow:visible}
.yamm-ip-main h1,.yamm-ip-main h2,.yamm-ip-main h3,.yamm-ip-main h4,.yamm-ip-main h5,.yamm-ip-main h6{font-family:"Intrepid","Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;text-transform:none;color:#090909;word-break:normal;overflow-wrap:normal}
.yamm-ip-main a{color:#111;text-underline-offset:3px;text-decoration-thickness:1px}

/* V1.0.3 — En-tête institutionnel unique : un seul H1, sans logo ni kicker. */
.yamm-ip-page-head{
 width:100%;max-width:1120px;margin:0 auto 30px;padding:5px 12px 0;text-align:center;
}
.yamm-ip-page-head h1{
 width:100%;max-width:none;margin:0;padding:0;color:#090909!important;
 font-family:"Intrepid","Helvetica Neue",Helvetica,Arial,sans-serif!important;
 font-size:clamp(32px,3.15vw,48px)!important;font-style:normal!important;font-weight:500!important;
 line-height:1.08!important;letter-spacing:-.018em!important;text-align:center!important;text-transform:none!important;
 word-spacing:0!important;word-break:normal!important;overflow-wrap:normal!important;text-wrap:balance;
}
/* Filet de sécurité : les anciens héros ne doivent jamais réafficher un second H1,
   un logo d'introduction ou un kicker Maison YAMM. Les kickers de sections restent intacts. */
.yamm-ip-legacy h1{display:none!important}
.yamm-ip-legacy .about-logo,.yamm-ip-legacy .delete-logo,.yamm-ip-legacy .newsletter-logo,.yamm-ip-legacy .perso-logo,.yamm-ip-legacy .rdv-logo,.yamm-ip-legacy .refill-logo,.yamm-ip-legacy .socials-logo{display:none!important}
.yamm-ip-legacy .about-kicker,.yamm-ip-legacy .delete-kicker,.yamm-ip-legacy .newsletter-kicker,.yamm-ip-legacy .perso-kicker,.yamm-ip-legacy .rdv-kicker,.yamm-ip-legacy .refill-kicker,.yamm-ip-legacy .socials-kicker{display:none!important}
.yamm-ip-copyright{
 display:block!important;position:relative!important;z-index:5!important;clear:both!important;
 width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;
 margin:20px 0 0!important;padding:14px 10px 20px!important;
 border-top:1px solid rgba(0,0,0,.09)!important;background:#fff!important;
 color:rgba(0,0,0,.55)!important;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif!important;
 font-size:12px!important;font-weight:400!important;line-height:1.55!important;text-align:center!important;
 overflow:visible!important;clip:auto!important;clip-path:none!important;filter:none!important;transform:none!important;
}
.yamm-ip-copyright__text{
 display:block!important;position:static!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;
 margin:0!important;padding:0!important;color:inherit!important;font:inherit!important;line-height:inherit!important;text-align:center!important;
 overflow:visible!important;clip:auto!important;clip-path:none!important;transform:none!important;filter:none!important;opacity:1!important;
 -webkit-text-fill-color:currentColor!important;text-shadow:none!important;letter-spacing:0!important;text-transform:none!important;
}
.yamm-ip-copyright__line{
 display:block!important;position:static!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;
 margin:0!important;padding:0!important;color:rgba(0,0,0,.55)!important;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif!important;
 font-size:12px!important;font-weight:400!important;line-height:1.55!important;text-align:center!important;letter-spacing:0!important;text-transform:none!important;
 white-space:normal!important;overflow:visible!important;clip:auto!important;clip-path:none!important;mask:none!important;-webkit-mask:none!important;
 transform:none!important;filter:none!important;opacity:1!important;visibility:visible!important;-webkit-text-fill-color:rgba(0,0,0,.55)!important;
}
.yamm-ip-copyright__line+.yamm-ip-copyright__line{margin-top:2px!important}
.yamm-ip-copyright strong{color:rgba(0,0,0,.75)!important;font-weight:600!important;-webkit-text-fill-color:rgba(0,0,0,.75)!important}
.yamm-ip-copyright__registration{display:block!important;color:rgba(0,0,0,.55)!important;-webkit-text-fill-color:rgba(0,0,0,.55)!important}


/* Native Contact */
.yamm-contact{width:100%;margin:0;padding:0}
.yamm-contact__hero{max-width:980px;margin:0 auto 32px;padding:5px 8px 0;text-align:center}
.yamm-contact__hero h1{margin:0 0 14px;padding:0;font-size:clamp(32px,3.15vw,48px);font-weight:500;line-height:1.06;letter-spacing:-.018em;text-align:center}
.yamm-contact__hero p{max-width:900px;margin:0 auto;color:rgba(0,0,0,.66);font-size:clamp(15px,1.3vw,18px);line-height:1.7;text-align:center}
.yamm-contact__card{width:100%;margin:0;padding:clamp(28px,3.4vw,52px);border:1px solid rgba(0,0,0,.09);border-radius:24px;background:#fff;box-shadow:0 18px 55px rgba(0,0,0,.055)}
.yamm-contact__card::before{content:"";display:block;width:100%;height:1px;margin:0 0 34px;background:linear-gradient(90deg,transparent,rgba(0,0,0,.17),transparent)}
.yamm-contact__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:44px;width:100%}
.yamm-contact__section{min-width:0;width:100%;margin:0;padding:0}
.yamm-contact__section h2{width:100%;margin:0 0 20px;padding:0 0 13px;border-bottom:1px solid rgba(0,0,0,.11);font-size:clamp(24px,2.1vw,31px);font-weight:500;line-height:1.16;letter-spacing:-.012em;text-align:left;word-spacing:0}
.yamm-contact__intro{margin:0 0 24px;color:rgba(0,0,0,.67);font-size:15px;line-height:1.72}
.yamm-form-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;width:100%;margin:0 0 17px}
.yamm-field{display:flex;flex-direction:column;gap:8px;min-width:0;width:100%}
.yamm-field label{font-size:13px;font-weight:600;line-height:1.45;color:rgba(0,0,0,.82)}
.is-required::after{content:" *";color:#ad1d1d}
.yamm-field input,.yamm-field textarea{display:block;width:100%;max-width:100%;margin:0;padding:12px 15px;border:1px solid rgba(0,0,0,.15);border-radius:11px;outline:none;background:#fff;color:rgba(0,0,0,.89);font:400 16px/1.55 "Helvetica Neue",Helvetica,Arial,sans-serif;appearance:none;-webkit-appearance:none}
.yamm-field input:focus,.yamm-field textarea:focus{border-color:rgba(0,0,0,.52);box-shadow:0 0 0 4px rgba(0,0,0,.05)}
.yamm-field input::placeholder,.yamm-field textarea::placeholder{color:rgba(0,0,0,.36);opacity:1}
.yamm-field textarea{min-height:170px;resize:vertical}
.yamm-field small{color:rgba(0,0,0,.51);font-size:12px;line-height:1.55}
.yamm-hp{position:absolute!important;left:-9999px!important;width:0!important;height:0!important;opacity:0!important;pointer-events:none!important}
.yamm-consent{display:flex;align-items:flex-start;gap:11px;width:100%;margin:18px 0 0}
.yamm-consent input{flex:0 0 18px;width:18px;height:18px;margin:2px 0 0;accent-color:#111}
.yamm-consent label{font-size:13px;font-weight:400;line-height:1.62;color:rgba(0,0,0,.71)}
#yamm-contact-feedback{display:none;width:100%;margin:16px 0 0;padding:12px 14px;border-radius:10px;font-size:14px;line-height:1.52}
#yamm-contact-feedback.is-visible{display:block}
#yamm-contact-feedback.is-success{border:1px solid rgba(21,128,61,.26);background:rgba(21,128,61,.07)}
#yamm-contact-feedback.is-error{border:1px solid rgba(185,28,28,.26);background:rgba(185,28,28,.065)}
.yamm-contact__actions{display:flex;flex-wrap:wrap;gap:12px;width:100%;margin:25px 0 0}
.yamm-btn{display:inline-flex;align-items:center;justify-content:center;min-width:180px;min-height:48px;padding:12px 27px;border:1px solid #111;border-radius:999px;background:#111;color:#fff!important;box-shadow:0 11px 28px rgba(0,0,0,.11);font-size:14px;font-weight:600;line-height:1.2;text-align:center;text-decoration:none!important;cursor:pointer}
.yamm-btn--ghost{background:#fff;color:#111!important;box-shadow:none}
.yamm-contact__aside address,.yamm-contact__aside p{margin:0 0 15px;color:rgba(0,0,0,.72);font-size:14px;font-style:normal;line-height:1.78}
.yamm-contact__note{margin:19px 0 0;padding:14px 16px;border-left:3px solid rgba(0,0,0,.23);border-radius:8px;background:rgba(0,0,0,.03);color:rgba(0,0,0,.62);font-size:13px;line-height:1.66}
.yamm-contact__section--spaced{margin-top:36px}
.yamm-contact__links{display:flex;flex-direction:column;align-items:flex-start;gap:11px}
.yamm-contact__links a{font-size:14px;line-height:1.48}
.yamm-contact__seo{margin-top:46px;padding-top:6px}
.yamm-contact__seo p{max-width:1050px;margin:0 0 16px;color:rgba(0,0,0,.66);font-size:15px;line-height:1.76}

/* Legacy adapter: isolates migrated source while pages are refactored one by one. */
.yamm-ip-legacy{width:100%;max-width:100%;margin:0;padding:0;overflow:visible}
.yamm-ip-legacy>main,.yamm-ip-legacy>section,.yamm-ip-legacy>article,.yamm-ip-legacy>div{max-width:100%}
.yamm-ip-legacy img{max-width:100%;height:auto}
.yamm-ip-legacy input,.yamm-ip-legacy textarea,.yamm-ip-legacy select{max-width:100%}
.yamm-legacy-footer-note{margin-top:24px}
.yamm-ip-dynamic{width:100%;margin:0;padding:0}

@media(min-width:981px){.yamm-ip-main{padding-top:50px!important}.yamm-ip-main[data-yamm-page="contact"]{padding-top:70px!important}.yamm-contact__grid{grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:clamp(42px,4vw,70px)}.yamm-form-grid--2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media(min-width:768px) and (max-width:980.98px){
 .yamm-ip-main{padding:112px 0 0!important}
 .yamm-ip-page-head{margin-bottom:30px!important}
 .yamm-ip-page-head h1{font-size:clamp(30px,4.8vw,41px)!important}
 .yamm-ip-main [id]{scroll-margin-top:112px}
}
@media(max-width:767px){
 .yamm-ip-main{padding:96px 0 0!important}
 .yamm-ip-page-head{margin:0 auto 28px!important;padding:5px 5px 0!important}
 .yamm-ip-page-head h1{font-size:clamp(27px,7.2vw,32px)!important;line-height:1.08!important;max-width:360px!important;margin:0 auto!important}
 .yamm-ip-main [id]{scroll-margin-top:96px}
 .yamm-ip-container{width:calc(100% - 30px);max-width:none}
 .yamm-ip-copyright{margin-top:20px!important;padding:14px 4px 20px!important;font-size:11.5px!important;line-height:1.5!important}
 .yamm-ip-copyright__line{font-size:11.5px!important;line-height:1.5!important}
 .yamm-ip-copyright__registration{font-size:11px!important;line-height:1.45!important;white-space:nowrap!important}
 .yamm-contact__hero{width:100%;max-width:none;margin:0 auto 28px;padding:5px 4px 0}
 .yamm-contact__hero h1{max-width:330px;margin:0 auto 14px;font-size:clamp(27px,7.4vw,32px);line-height:1.08;text-align:center;text-wrap:balance}
 .yamm-contact__hero p{max-width:620px;font-size:15px;line-height:1.62;text-align:center}
 .yamm-contact__card{padding:25px 17px;border-radius:18px;box-shadow:0 12px 34px rgba(0,0,0,.04)}
 .yamm-contact__card::before{margin-bottom:27px}
 .yamm-contact__section h2{font-size:clamp(24px,6.7vw,28px);line-height:1.12;text-align:left;word-spacing:0}
 .yamm-form-grid,.yamm-form-grid--2{grid-template-columns:minmax(0,1fr)}
 .yamm-contact__actions{flex-direction:column;align-items:stretch}.yamm-btn{width:100%;min-width:0}
 .yamm-contact__seo{margin-top:38px}
 .yamm-ip-legacy{width:100%!important;max-width:100%!important;overflow:hidden!important}
 .yamm-ip-legacy *{max-width:100%}
}
@media(max-width:390px){
 .yamm-ip-copyright__registration{font-size:10.4px!important;letter-spacing:-.01em!important}
}
@media(prefers-reduced-motion:reduce){.yamm-ip-main *,.yamm-ip-main *::before,.yamm-ip-main *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}


/* ========================================================================== */
/* V1.0.4 — Mentions légales uniquement                                      */
/* Supprime les anciens décalages négatifs du contenu migré et garantit       */
/* l'affichage complet de l'introduction et des liens de fin de page.          */
/* ========================================================================== */
.yamm-ip-main[data-yamm-page="mentions-legales"] #yamm-legacy-mentions-legales{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}
.yamm-ip-main[data-yamm-page="mentions-legales"] #yamm-legal-wrapper{
  width:100%!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:0 10px!important;
  overflow:visible!important;
}
.yamm-ip-main[data-yamm-page="mentions-legales"] #yamm-legal-wrapper .legal-container,
.yamm-ip-main[data-yamm-page="mentions-legales"] #yamm-legal-wrapper .legal-article,
.yamm-ip-main[data-yamm-page="mentions-legales"] #yamm-legal-wrapper .legal-header,
.yamm-ip-main[data-yamm-page="mentions-legales"] #yamm-legal-wrapper .legal-content,
.yamm-ip-main[data-yamm-page="mentions-legales"] #yamm-legal-wrapper .legal-footer{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
}
.yamm-ip-main[data-yamm-page="mentions-legales"] #yamm-legal-wrapper .legal-header{
  margin:0 0 40px!important;
}
.yamm-ip-main[data-yamm-page="mentions-legales"] #yamm-legal-wrapper .legal-footer{
  display:block!important;
  margin:22px 0 0!important;
  padding:16px 0 0!important;
  border-top:1px solid rgba(0,0,0,.10)!important;
  text-align:center!important;
}
.yamm-ip-main[data-yamm-page="mentions-legales"] #yamm-legal-wrapper .legal-footer-links{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  line-height:1.7!important;
  white-space:normal!important;
  overflow:visible!important;
  clip:auto!important;
  transform:none!important;
}
.yamm-ip-main[data-yamm-page="mentions-legales"] #yamm-legal-wrapper .legal-footer-links a{
  display:inline!important;
  white-space:normal!important;
}

@media(max-width:767px){
  .yamm-ip-main[data-yamm-page="mentions-legales"] #yamm-legacy-mentions-legales{
    overflow:visible!important;
  }
  .yamm-ip-main[data-yamm-page="mentions-legales"] #yamm-legacy-mentions-legales *{
    max-width:100%;
  }
  .yamm-ip-main[data-yamm-page="mentions-legales"] #yamm-legal-wrapper{
    margin:0!important;
    padding:0!important;
  }
  .yamm-ip-main[data-yamm-page="mentions-legales"] #yamm-legal-wrapper .legal-container{
    width:100%!important;
    margin:0 auto!important;
    padding:0 15px!important;
  }
  .yamm-ip-main[data-yamm-page="mentions-legales"] #yamm-legal-wrapper .legal-header{
    margin:0 0 34px!important;
    padding:0 6px!important;
  }
  .yamm-ip-main[data-yamm-page="mentions-legales"] #yamm-legal-wrapper .legal-lead{
    margin-top:0!important;
  }
  .yamm-ip-main[data-yamm-page="mentions-legales"] #yamm-legal-wrapper .legal-footer{
    margin:20px 0 0!important;
    padding:16px 4px 0!important;
  }
  .yamm-ip-main[data-yamm-page="mentions-legales"] #yamm-legal-wrapper .legal-footer-links{
    font-size:12.5px!important;
    line-height:1.8!important;
  }
}


/* ========================================================================== */
/* V1.0.5 — Shortcodes dynamiques : un seul titre institutionnel              */
/* Nouveautés et Origine gardent leur contenu métier, sans mini-héros interne. */
/* ========================================================================== */
.yamm-ip-main[data-yamm-page="nouveaux-produit"] #yamm-mosaic-wrapper{
  min-height:0!important;
  margin:0!important;
  padding-top:0!important;
}
.yamm-ip-main[data-yamm-page="nouveaux-produit"] #yamm-mosaic-wrapper .mosaic-logo,
.yamm-ip-main[data-yamm-page="nouveaux-produit"] #yamm-mosaic-wrapper .mosaic-header h2{
  display:none!important;
}
.yamm-ip-main[data-yamm-page="nouveaux-produit"] #yamm-mosaic-wrapper .mosaic-header{
  margin-top:0!important;
}

.yamm-ip-main[data-yamm-page="origin"] #yamm-origins-wrapper{
  min-height:0!important;
  margin-top:0!important;
  padding-top:0!important;
}
.yamm-ip-main[data-yamm-page="origin"] #yamm-origins-wrapper .origins-logo,
.yamm-ip-main[data-yamm-page="origin"] #yamm-origins-wrapper .origins-kicker,
.yamm-ip-main[data-yamm-page="origin"] #yamm-origins-wrapper #yamm-origins-title{
  display:none!important;
}
.yamm-ip-main[data-yamm-page="origin"] #yamm-origins-wrapper .origins-header{
  margin-top:0!important;
}


/* ========================================================================== */
/* V1.0.6 — finition : titres + copyright interne Origine                     */
/* ========================================================================== */
/* Le shortcode Origine possédait encore son propre copyright historique. */
.yamm-ip-main[data-yamm-page="origin"] #yamm-origins-wrapper .origins-footer{
  display:none!important;
}


/* ========================================================================== */
/* V1.0.7 — finition globale : respiration desktop + séparation contenu/footer */
/* ========================================================================== */
/* Le contenu institutionnel est uniformément #f5f5f5. Le copyright commun et
   le vrai footer Divi forment ensuite une zone blanche continue. */
body.yamm-ip-active,
body.yamm-ip-active #page-container,
body.yamm-ip-active #et-main-area{
  background:#f5f5f5!important;
}

body.yamm-ip-active .yamm-ip-main{
  background:#f5f5f5!important;
}

body.yamm-ip-active .yamm-ip-copyright{
  width:100%!important;
  max-width:none!important;
  background:#fff!important;
  color:#111!important;
}

/* Le footer du Theme Builder doit rester blanc sur TOUTES les pages gérées,
   même si un ancien template/page lui transmettait le gris du contenu. */
body.yamm-ip-active footer,
body.yamm-ip-active .et-l--footer,
body.yamm-ip-active footer.et-l--footer,
body.yamm-ip-active #main-footer,
body.yamm-ip-active .et-l--footer .et_pb_section,
body.yamm-ip-active .et-l--footer .et_pb_row,
body.yamm-ip-active .et-l--footer .et_pb_column,
body.yamm-ip-active .et-l--footer .et_pb_module{
  background-color:#fff!important;
}

body.yamm-ip-active .et-l--footer,
body.yamm-ip-active .et-l--footer p,
body.yamm-ip-active .et-l--footer li,
body.yamm-ip-active .et-l--footer span,
body.yamm-ip-active .et-l--footer a,
body.yamm-ip-active #main-footer,
body.yamm-ip-active #main-footer a{
  color:#111!important;
}

/* ========================================================================== */
/* V1.0.8 — finition desktop : titres plus bas/plus fins + footer blanc réel  */
/* ========================================================================== */

/*
 * Desktop uniquement : le H1 fait réellement partie de la respiration haute.
 * On ajoute 30 px avant le bloc-titre (et donc avant tout le contenu qui suit)
 * sans modifier la géométrie mobile/tablette déjà validée.
 */
@media (min-width:981px){
  .yamm-ip-page-head{
    margin-top:30px!important;
  }

  .yamm-ip-page-head h1{
    font-size:clamp(30px,2.7vw,42px)!important;
    line-height:1.07!important;
  }

  /* Contact possède son H1 natif et non .yamm-ip-page-head. */
  .yamm-contact__hero{
    margin-top:30px!important;
  }

  .yamm-contact__hero h1{
    font-size:clamp(30px,2.7vw,42px)!important;
    line-height:1.07!important;
  }
}

/*
 * Zone légale commune : le blanc doit gagner même face aux anciens styles
 * embarqués dans certains contenus migrés.
 */
html body.yamm-ip-active #yamm-institutional-main .yamm-ip-copyright{
  background:#ffffff!important;
  background-color:#ffffff!important;
  background-image:none!important;
  color:#111111!important;
}

html body.yamm-ip-active #yamm-institutional-main .yamm-ip-copyright::before,
html body.yamm-ip-active #yamm-institutional-main .yamm-ip-copyright::after{
  background:#ffffff!important;
  background-image:none!important;
}

/*
 * Footer Theme Builder : Divi utilise en pratique .et-l.et-l--footer et son
 * .et_builder_inner_content. On cible donc toute la chaîne réelle, et pas
 * seulement <footer>, avec une spécificité supérieure aux anciens bundles.
 */
html body.yamm-ip-active #page-container .et-l.et-l--footer,
html body.yamm-ip-active #page-container .et-l--footer,
html body.yamm-ip-active #page-container footer.et-l--footer,
html body.yamm-ip-active #page-container #main-footer,
html body.yamm-ip-active #page-container .et-l.et-l--footer > .et_builder_inner_content,
html body.yamm-ip-active #page-container .et-l--footer > .et_builder_inner_content,
html body.yamm-ip-active #page-container .et-l--footer .et_pb_section,
html body.yamm-ip-active #page-container .et-l--footer .et_pb_row,
html body.yamm-ip-active #page-container .et-l--footer .et_pb_column{
  background:#ffffff!important;
  background-color:#ffffff!important;
  background-image:none!important;
}

/* Les modules restent transparents sur la surface blanche du footer. */
html body.yamm-ip-active #page-container .et-l--footer .et_pb_module,
html body.yamm-ip-active #page-container .et-l--footer .et_pb_text,
html body.yamm-ip-active #page-container .et-l--footer .et_pb_text_inner{
  background-color:transparent!important;
  background-image:none!important;
}

/* Texte noir uniforme dans le vrai footer. */
html body.yamm-ip-active #page-container .et-l--footer,
html body.yamm-ip-active #page-container .et-l--footer p,
html body.yamm-ip-active #page-container .et-l--footer li,
html body.yamm-ip-active #page-container .et-l--footer span,
html body.yamm-ip-active #page-container .et-l--footer a,
html body.yamm-ip-active #page-container #main-footer,
html body.yamm-ip-active #page-container #main-footer p,
html body.yamm-ip-active #page-container #main-footer li,
html body.yamm-ip-active #page-container #main-footer span,
html body.yamm-ip-active #page-container #main-footer a{
  color:#111111!important;
}

/* ========================================================================== */
/* V1.0.9 — surface institutionnelle uniforme + footer/logo nettoyé            */
/* ========================================================================== */

/*
 * Toute la zone éditoriale reste #f5f5f5 jusqu'au copyright.
 * Plusieurs anciens modules Divi embarqués conservaient un fond blanc sur leur
 * wrapper racine : on ne neutralise ici QUE ces wrappers de niveau 1 afin de
 * préserver les cartes/blocs blancs internes voulus par chaque page.
 */
html body.yamm-ip-active #yamm-institutional-main,
html body.yamm-ip-active #yamm-institutional-main .yamm-ip-container,
html body.yamm-ip-active #yamm-institutional-main .yamm-ip-content,
html body.yamm-ip-active #yamm-institutional-main .yamm-ip-legacy,
html body.yamm-ip-active #yamm-institutional-main .yamm-ip-dynamic,
html body.yamm-ip-active #yamm-institutional-main .yamm-ip-legacy > div[id^="yamm-"],
html body.yamm-ip-active #yamm-institutional-main .yamm-ip-legacy > section[id^="yamm-"],
html body.yamm-ip-active #yamm-institutional-main .yamm-ip-legacy > main[id^="yamm-"],
html body.yamm-ip-active #yamm-institutional-main .yamm-ip-dynamic > #yamm-mosaic-wrapper,
html body.yamm-ip-active #yamm-institutional-main .yamm-ip-dynamic > #yamm-origins-wrapper{
  background:#f5f5f5!important;
  background-color:#f5f5f5!important;
  background-image:none!important;
}

/* Wrappers historiques connus : filet de sécurité si leur structure change. */
html body.yamm-ip-active #yamm-institutional-main #yamm-cgv-wrapper,
html body.yamm-ip-active #yamm-institutional-main #yamm-care-wrapper,
html body.yamm-ip-active #yamm-institutional-main #yamm-env-wrapper,
html body.yamm-ip-active #yamm-institutional-main #yamm-faq-wrapper,
html body.yamm-ip-active #yamm-institutional-main #yamm-custom-wrapper,
html body.yamm-ip-active #yamm-institutional-main #yamm-legal-wrapper,
html body.yamm-ip-active #yamm-institutional-main #yamm-newsletter-wrapper,
html body.yamm-ip-active #yamm-institutional-main #yamm-perso-wrapper,
html body.yamm-ip-active #yamm-institutional-main #yamm-privacy-wrapper,
html body.yamm-ip-active #yamm-institutional-main #yamm-cookies-wrapper,
html body.yamm-ip-active #yamm-institutional-main #yamm-about-wrapper,
html body.yamm-ip-active #yamm-institutional-main #yamm-rdv-wrapper,
html body.yamm-ip-active #yamm-institutional-main #yamm-refill-wrapper,
html body.yamm-ip-active #yamm-institutional-main #yamm-returns-wrapper,
html body.yamm-ip-active #yamm-institutional-main #yamm-socials-wrapper,
html body.yamm-ip-active #yamm-institutional-main #yamm-retractation,
html body.yamm-ip-active #yamm-institutional-main #yamm-delete-wrapper{
  background:#f5f5f5!important;
  background-color:#f5f5f5!important;
  background-image:none!important;
}

/*
 * À partir du copyright, on bascule définitivement sur une surface blanche.
 * Le copyright est plein écran ; aucun parent gris ne doit réapparaître dans
 * ses marges ou derrière le footer Theme Builder.
 */
html body.yamm-ip-active #yamm-institutional-main .yamm-ip-copyright{
  background:#fff!important;
  background-color:#fff!important;
  background-image:none!important;
  box-shadow:none!important;
}

html body.yamm-ip-active #page-container .et-l.et-l--footer,
html body.yamm-ip-active #page-container .et-l--footer,
html body.yamm-ip-active #page-container footer.et-l--footer,
html body.yamm-ip-active #page-container .et-l--footer > .et_builder_inner_content,
html body.yamm-ip-active #page-container .et-l--footer .et_builder_inner_content,
html body.yamm-ip-active #page-container .et-l--footer .et_pb_section,
html body.yamm-ip-active #page-container .et-l--footer .et_pb_row,
html body.yamm-ip-active #page-container .et-l--footer .et_pb_column{
  background:#fff!important;
  background-color:#fff!important;
  background-image:none!important;
}

/*
 * Signature du footer : reset uniquement du module de marque.
 * On évite les artefacts de rasterisation/trait horizontal hérités des anciens
 * styles, sans toucher à la pseudo-ligne GENEVE mobile déjà en production.
 */
html body.yamm-ip-active #page-container .et-l--footer .et_pb_text_8_tb_footer,
html body.yamm-ip-active #page-container .et-l--footer .et_pb_text_8_tb_footer .et_pb_text_inner{
  position:relative!important;
  overflow:visible!important;
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
  filter:none!important;
  clip:auto!important;
  clip-path:none!important;
  mask:none!important;
  -webkit-mask:none!important;
}

html body.yamm-ip-active #page-container .et-l--footer .et_pb_text_8_tb_footer h1,
html body.yamm-ip-active #page-container .et-l--footer .et_pb_text_8_tb_footer h1 a,
html body.yamm-ip-active #page-container .et-l--footer .et_pb_text_8_tb_footer .yamm-footer-brand,
html body.yamm-ip-active #page-container .et-l--footer .et_pb_text_8_tb_footer .yamm-footer-brand a{
  position:relative!important;
  z-index:1!important;
  overflow:visible!important;
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
  filter:none!important;
  clip:auto!important;
  clip-path:none!important;
  mask:none!important;
  -webkit-mask:none!important;
  text-decoration:none!important;
  text-decoration-line:none!important;
  text-shadow:none!important;
  color:#111!important;
  -webkit-text-fill-color:currentColor!important;
  -webkit-text-stroke:0 transparent!important;
  line-height:1!important;
}

@media (min-width:981px){
  html body.yamm-ip-active #page-container .et-l--footer .et_pb_text_8_tb_footer h1::before,
  html body.yamm-ip-active #page-container .et-l--footer .et_pb_text_8_tb_footer h1::after,
  html body.yamm-ip-active #page-container .et-l--footer .et_pb_text_8_tb_footer .yamm-footer-brand::before,
  html body.yamm-ip-active #page-container .et-l--footer .et_pb_text_8_tb_footer .yamm-footer-brand::after{
    content:none!important;
    display:none!important;
  }
}

/* Le footer reste noir sur blanc, mais sans imposer text-fill à tous les spans. */
html body.yamm-ip-active #page-container .et-l--footer,
html body.yamm-ip-active #page-container .et-l--footer p,
html body.yamm-ip-active #page-container .et-l--footer li,
html body.yamm-ip-active #page-container .et-l--footer span,
html body.yamm-ip-active #page-container .et-l--footer a{
  color:#111!important;
}


/* ========================================================================== */
/* V1.0.10 — cartes blanches + correction signature footer desktop            */
/* ========================================================================== */

/*
 * La page reste #f5f5f5. Tous les composants « posés » sur cette surface
 * (cartes, sommaires, notes, panneaux, étapes...) passent en blanc afin de
 * retrouver une hiérarchie visuelle nette et cohérente sur toutes les pages.
 */
html body.yamm-ip-active #yamm-institutional-main :is(
  .legal-toc,
  .cgv-toc,
  .privacy-toc,
  .cookies-toc,
  .origin-card,
  .origins-disclosure,
  .origins-intro > li,
  .origins-final-note,
  .about-sheet,
  .perfumer-note,
  .timeline-item,
  .pillar-card,
  .info-panel,
  .info-section,
  .info-list,
  .zone-card,
  .returns-content,
  .returns-note,
  .faq-content,
  .faq-note,
  .env-content,
  .env-section,
  .env-card,
  .env-note,
  .care-note,
  .card,
  .process-card,
  .editorial-card,
  .social-card,
  .eco-note,
  .perso-content,
  .rdv-content,
  .refill-content,
  .newsletter-sheet,
  .newsletter-benefits,
  .public-reference,
  .delete-note,
  .service,
  .tile,
  .step,
  .slot,
  .day,
  .yamm-retractation__legal-note,
  .yamm-retractation__card,
  .yamm-retractation__order-card,
  .yamm-retractation__order-card > div,
  .yamm-retractation__item,
  .cgv-note,
  .privacy-note,
  .cookies-note
){
  background:#ffffff!important;
  background-color:#ffffff!important;
  background-image:none!important;
}

/* Les champs de formulaires restent eux aussi nettement blancs sur le fond gris. */
html body.yamm-ip-active #yamm-institutional-main input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
html body.yamm-ip-active #yamm-institutional-main select,
html body.yamm-ip-active #yamm-institutional-main textarea{
  background-color:#ffffff!important;
}

/*
 * Footer desktop : la micro-rayure observée sur MAISON YAMM provient d'un
 * élément de séparation du footer qui peut se peindre au-dessus du module de
 * marque. On crée un vrai plan d'empilement pour la rangée de signature et on
 * place le texte de marque au premier plan, sans toucher au footer mobile.
 */
@media (min-width:981px){
  html body.yamm-ip-active #page-container .et-l--footer .et_pb_row:has(.et_pb_text_8_tb_footer){
    position:relative!important;
    z-index:20!important;
    isolation:isolate!important;
    overflow:visible!important;
    background:#ffffff!important;
  }

  html body.yamm-ip-active #page-container .et-l--footer .et_pb_row:has(.et_pb_text_8_tb_footer) .et_pb_divider,
  html body.yamm-ip-active #page-container .et-l--footer .et_pb_row:has(.et_pb_text_8_tb_footer) hr{
    position:relative!important;
    z-index:0!important;
  }

  html body.yamm-ip-active #page-container .et-l--footer .et_pb_text_8_tb_footer,
  html body.yamm-ip-active #page-container .et-l--footer .et_pb_text_8_tb_footer .et_pb_text_inner,
  html body.yamm-ip-active #page-container .et-l--footer .et_pb_text_8_tb_footer h1,
  html body.yamm-ip-active #page-container .et-l--footer .et_pb_text_8_tb_footer h1 a,
  html body.yamm-ip-active #page-container .et-l--footer .et_pb_text_8_tb_footer .yamm-footer-brand,
  html body.yamm-ip-active #page-container .et-l--footer .et_pb_text_8_tb_footer .yamm-footer-brand a{
    position:relative!important;
    z-index:50!important;
    isolation:isolate!important;
    transform:none!important;
    opacity:1!important;
    filter:none!important;
    text-decoration:none!important;
    text-decoration-line:none!important;
    border:0!important;
    box-shadow:none!important;
  }

  /* Surface opaque minimale derrière la marque : aucun séparateur ne peut
     désormais traverser visuellement les glyphes Nicolas Cochin. */
  html body.yamm-ip-active #page-container .et-l--footer .et_pb_text_8_tb_footer h1,
  html body.yamm-ip-active #page-container .et-l--footer .et_pb_text_8_tb_footer .yamm-footer-brand{
    display:table!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding:0 6px!important;
    background:#ffffff!important;
    background-image:none!important;
  }
}


/* ========================================================================== */
/* V1.0.12 — signature footer desktop : suppression totale du trait parasite */
/* ========================================================================== */

/*
 * Le trait visible suivait exactement la largeur du lien MAISON YAMM : il
 * appartenait donc au calque peint par le lien / sa décoration héritée et non
 * à un séparateur pleine largeur du footer. Pour ne plus dépendre d'aucun
 * style Divi ou navigateur appliqué au <a>, le texte visible est maintenant
 * dessiné par le <p>. Le lien réel reste cliquable mais devient un calque
 * transparent (opacity:0), donc il ne peut plus peindre bordure, overline,
 * underline ou autre décoration au-dessus des glyphes.
 */
@media (min-width:981px){

  html body.yamm-ip-active #page-container .et-l--footer .et_pb_text_9_tb_footer,
  html body.yamm-ip-active #page-container .et-l--footer .et_pb_text_9_tb_footer .et_pb_text_inner{
    position:relative!important;
    z-index:50!important;
    overflow:visible!important;
    background:#fff!important;
    background-color:#fff!important;
    background-image:none!important;
    border:0!important;
    box-shadow:none!important;
    filter:none!important;
    text-decoration:none!important;
  }

  html body.yamm-ip-active #page-container .et-l--footer .et_pb_text_9_tb_footer .yamm-footer-brand{
    position:relative!important;
    z-index:51!important;
    display:table!important;
    width:auto!important;
    max-width:none!important;
    margin:0 auto!important;
    padding:0 8px!important;
    background:#fff!important;
    background-color:#fff!important;
    background-image:none!important;
    border:0!important;
    border-top:0!important;
    border-right:0!important;
    border-bottom:0!important;
    border-left:0!important;
    outline:0!important;
    box-shadow:none!important;
    filter:none!important;
    text-decoration:none!important;
    text-decoration-line:none!important;
    text-decoration-style:solid!important;
    text-decoration-color:transparent!important;
    text-align:center!important;
    line-height:1!important;
    isolation:isolate!important;
  }

  /* Texte visible : porté par le paragraphe, pas par le lien. */
  html body.yamm-ip-active #page-container .et-l--footer .et_pb_text_9_tb_footer .yamm-footer-brand::before{
    content:"MAISON YAMM"!important;
    position:relative!important;
    z-index:2!important;
    display:block!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
    background-image:none!important;
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
    text-decoration:none!important;
    text-decoration-line:none!important;
    text-shadow:none!important;
    color:#111!important;
    -webkit-text-fill-color:#111!important;
    -webkit-text-stroke:0 transparent!important;
    font-family:var(--yamm-nicolas-cochin-local,"NicolasCochin-regula","NicolasCochin-Regular","Nicolas Cochin TT","Nicolas Cochin",Cochin,"Bodoni 72",Didot,"Times New Roman",serif)!important;
    font-size:clamp(28px,2.2vw,37px)!important;
    font-weight:400!important;
    font-style:normal!important;
    font-synthesis:none!important;
    line-height:.92!important;
    letter-spacing:.055em!important;
    text-transform:uppercase!important;
    white-space:nowrap!important;
    -webkit-font-smoothing:antialiased!important;
    text-rendering:geometricPrecision!important;
  }

  html body.yamm-ip-active #page-container .et-l--footer .et_pb_text_9_tb_footer .yamm-footer-brand::after{
    content:none!important;
    display:none!important;
  }

  /*
   * Le lien couvre le mot pour conserver le clic, mais opacity:0 supprime
   * réellement TOUT son rendu graphique, décoration comprise.
   */
  html body.yamm-ip-active #page-container .et-l--footer .et_pb_text_9_tb_footer .yamm-footer-brand > a{
    position:absolute!important;
    z-index:5!important;
    inset:0!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    margin:0!important;
    padding:0!important;
    opacity:0!important;
    color:transparent!important;
    -webkit-text-fill-color:transparent!important;
    font-size:0!important;
    line-height:0!important;
    background:transparent!important;
    background-image:none!important;
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
    filter:none!important;
    text-decoration:none!important;
    text-decoration-line:none!important;
    text-decoration-color:transparent!important;
    text-shadow:none!important;
    cursor:pointer!important;
  }

  html body.yamm-ip-active #page-container .et-l--footer .et_pb_text_9_tb_footer .yamm-footer-brand > a::before,
  html body.yamm-ip-active #page-container .et-l--footer .et_pb_text_9_tb_footer .yamm-footer-brand > a::after{
    content:none!important;
    display:none!important;
    border:0!important;
    box-shadow:none!important;
    text-decoration:none!important;
  }

  /* GENEVE reste le module suivant et conserve son rendu existant. */
  html body.yamm-ip-active #page-container .et-l--footer .et_pb_text_10_tb_footer,
  html body.yamm-ip-active #page-container .et-l--footer .et_pb_text_10_tb_footer .et_pb_text_inner,
  html body.yamm-ip-active #page-container .et-l--footer .et_pb_text_10_tb_footer .yamm-footer-geneve,
  html body.yamm-ip-active #page-container .et-l--footer .et_pb_text_10_tb_footer .yamm-footer-geneve > a{
    background:#fff!important;
    background-image:none!important;
    border:0!important;
    box-shadow:none!important;
    text-decoration:none!important;
    text-decoration-line:none!important;
    text-shadow:none!important;
  }
}
