/* JEBOOKTOO V3.20.7 — Règles transversales desktop & menu unique
   Complète V3.20.6 : ne change pas le header, les images ni les composants éditoriaux.
   Le hamburger est dessiné uniquement par ses trois vrais éléments HTML,
   jamais par un glyphe ni des pseudo-éléments hérités. */
.jbx-head .jbx-burger{font-size:0!important;line-height:0!important;align-items:center!important;justify-content:center!important;touch-action:manipulation!important;-webkit-tap-highlight-color:transparent}
.jbx-head .jbx-burger::before,.jbx-head .jbx-burger::after{content:none!important;display:none!important;background:none!important}
.jbx-head .jbx-burger-icon{display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:4px!important;pointer-events:none!important;width:22px;height:22px}
.jbx-head .jbx-burger-icon>span{display:block!important;flex:0 0 2px!important;width:20px!important;height:2px!important;border-radius:2px!important;background:currentColor!important;opacity:1!important;transform:none;transition:transform .22s ease, opacity .16s ease}
.jbx-head .jbx-burger[aria-expanded="true"] .jbx-burger-icon>span:first-child{transform:translateY(6px) rotate(45deg)}
.jbx-head .jbx-burger[aria-expanded="true"] .jbx-burger-icon>span:nth-child(2){opacity:0!important;transform:scaleX(0)}
.jbx-head .jbx-burger[aria-expanded="true"] .jbx-burger-icon>span:last-child{transform:translateY(-6px) rotate(-45deg)}
.jbx-head .jbx-burger:focus-visible{outline:2px solid #ffe8d0!important;outline-offset:4px!important}
@media(min-width:1481px){.jbx-head .jbx-burger{display:none!important}}
@media(max-width:1480px){.jbx-head .jbx-burger{display:flex!important}}

/* Design system bureau — cohérence plutôt qu'uniformisation artificielle :
   Grille commune 1180px, marges >=48px, premier contenu lisible sous le menu,
   ancres alignées sur la hauteur du header, compositions photographiques intactes. */
@media(min-width:1181px){
 :root{--jbt-desktop-content:1180px;--jbt-desktop-gutter:clamp(48px,4.4vw,72px);--jbt-desktop-clear:116px;--jbt-desktop-section-space:clamp(60px,5.5vw,92px)}
 html{scroll-padding-top:110px!important}
 :where(main,section,footer) [id],main[id],section[id],footer[id]{scroll-margin-top:110px!important}
 /* Une même largeur de contenu sur toutes les pages éditoriales. Les
    pages légales conservent leur largeur étroite pour la lisibilité. */
 body:not([data-jbt-page="index"]):not([data-jbt-page="mentions-legales"]):not([data-jbt-page="confidentialite"]) main .wrap,
 body[data-jbt-page="autres-evenements"] main .beyond-wrap{
   width:min(var(--jbt-desktop-content),calc(100% - 2 * var(--jbt-desktop-gutter)))!important;
   max-width:100%!important;
   margin-inline:auto!important;
 }
 /* Pages avec texte par-dessus une photo : aligner la colonne éditoriale
    sans toucher au cadrage ni à l'image pleine largeur. */
 body[data-jbt-page="notre-histoire"] main>.history-hero:first-child>.hero-copy{
   width:min(var(--jbt-desktop-content),calc(100% - 2 * var(--jbt-desktop-gutter)))!important;
   max-width:1180px!important;
   margin-inline:auto!important;
 }
 /* Plus aucun texte dans la zone du menu flottant. */
 body[data-jbt-page="agenda-mariage"] main>.hero:first-child,
 body[data-jbt-page="carnet-inspiration"] main>.hero:first-child{padding-top:var(--jbt-desktop-clear)!important}
 /* Pages juridiques : l'action retour doit être elle aussi sous le bandeau. */
 body[data-jbt-page="mentions-legales"] main,
 body[data-jbt-page="confidentialite"] main{margin-top:85px!important}
 body[data-jbt-page] main :is(h1,h2,h3,p){overflow-wrap:break-word}
 body[data-jbt-page] main img,body[data-jbt-page] main video{max-width:100%}
}
@media(min-width:761px) and (max-width:1180px){
 :root{--jbt-tablet-gutter:clamp(24px,3vw,40px)}
 /* Le design mobile et les règles tablette V3.20.6 restent prioritaires. */
 html{scroll-padding-top:124px!important}
 :where(main,section,footer) [id],main[id],section[id],footer[id]{scroll-margin-top:124px!important}
}
@media(prefers-reduced-motion:reduce){.jbx-head .jbx-burger-icon>span{transition:none!important}}
