/* Jebooktoo 3.20.6 | DESIGN SYSTEM — grille mobile commune
 * Navigation flottante conservée. Aucun effet sur la page d'accueil immersive.
 * Règle mesurable : le premier élément éditorial/photographique commence
 * à >= 112px du haut de l'écran sur smartphone (header se termine vers 76px).
 * Espace visible : ~36px minimum. Aucun contenu sous le menu.
 */
@media(max-width:760px){
 :root{--jbt-mobile-safe-top:112px;--jbt-mobile-gutter:clamp(22px,5.5vw,28px);--jbt-mobile-block-gap:22px}
 html{scroll-padding-top:112px!important}
 :where(main,section,footer) [id],main[id],section[id],footer[id]{scroll-margin-top:112px!important}
 /* Une marge de confort commune pour les pages éditoriales */
 body:not([data-jbt-page="index"]) main :is(.wrap,.container,.beyond-wrap){
   max-width:calc(100% - 2 * var(--jbt-mobile-gutter))!important;
   margin-inline:auto!important;
 }
 /* Hero texte/images : le haut de la composition est défini par un seul jeton */
 body[data-jbt-page="agenda-mariage"] main>.hero:first-child,
 body[data-jbt-page="carnet-inspiration"] main>.hero:first-child{
   padding-top:var(--jbt-mobile-safe-top)!important;
 }
 body[data-jbt-page="agenda-mariage"] main>.hero:first-child>.wrap,
 body[data-jbt-page="carnet-inspiration"] main>.hero:first-child>.wrap{
   padding-top:0!important;
 }
 body[data-jbt-page="application-maries"] main>.hero:first-child>.wrap,
 body[data-jbt-page="jebooktoo-academy"] main>.hero:first-child>.wrap{
   padding-top:var(--jbt-mobile-safe-top)!important;
 }
 /* L'histoire privilégie sa photo sur mobile, suivie des titres et paragraphes. */
 body[data-jbt-page="notre-histoire"] main>.history-hero:first-child{
   padding-top:var(--jbt-mobile-safe-top)!important;
 }
 body[data-jbt-page="notre-histoire"] main>.history-hero:first-child>.hero-copy{
   padding-top:0!important;
 }
 /* Page événements : alignement du premier texte sur la grille commune. */
 body[data-jbt-page="autres-evenements"] main>.beyond-hero:first-child{
   padding-top:var(--jbt-mobile-safe-top)!important;
   justify-content:flex-start!important;
   align-items:flex-start!important;
 }
 body[data-jbt-page="autres-evenements"] main>.beyond-hero:first-child .beyond-hero-content{
   margin-top:0!important;
 }
 /* Pages pratiques : leur premier lien respecte le même départ de lecture. */
 body[data-jbt-page="mentions-legales"] main,
 body[data-jbt-page="confidentialite"] main{
   margin-top:0!important;
   padding-top:calc(var(--jbt-mobile-safe-top) - 5px)!important;
 }
 /* Container hero : mêmes marges quelle que soit l'origine du fichier CSS. */
 body[data-jbt-page="application-maries"] main>.hero:first-child>.wrap,
 body[data-jbt-page="jebooktoo-academy"] main>.hero:first-child>.wrap,
 body[data-jbt-page="agenda-mariage"] main>.hero:first-child>.wrap,
 body[data-jbt-page="carnet-inspiration"] main>.hero:first-child>.wrap,
 body[data-jbt-page="notre-histoire"] main>.history-hero:first-child>.hero-copy,
 body[data-jbt-page="autres-evenements"] main>.beyond-hero:first-child>.beyond-hero-content{
   width:calc(100% - 2 * var(--jbt-mobile-gutter))!important;
   max-width:calc(100% - 2 * var(--jbt-mobile-gutter))!important;
   margin-inline:auto!important;
 }
 /* Pas de contrôles multimédia qui élargissent l'écran. */
 main img,main video,main iframe{max-width:100%;height:auto}
 main :is(h1,h2,h3,p,figcaption){overflow-wrap:break-word}
}
/* Tablettes verticales : mêmes limites de sécurité sous la navigation plus haute. */
@media(min-width:761px) and (max-width:1180px){
 :root{--jbt-tablet-safe-top:124px}
 html{scroll-padding-top:124px!important}
 :where(main,section,footer) [id],main[id],section[id],footer[id]{scroll-margin-top:124px!important}
 body[data-jbt-page="agenda-mariage"] main>.hero:first-child,
 body[data-jbt-page="carnet-inspiration"] main>.hero:first-child{padding-top:var(--jbt-tablet-safe-top)!important}
 body[data-jbt-page="agenda-mariage"] main>.hero:first-child>.wrap,
 body[data-jbt-page="carnet-inspiration"] main>.hero:first-child>.wrap{padding-top:0!important}
}
