/* Oza – échelle d'espacement unique (21/10/2026). Fichier partagé, chargé en dernier sur toutes les pages.
   Desktop ≥1200 / tablette 810–1199 / mobile <810 */
:root{--oz-gutter:24px;--oz-container:1152px;--oz-sec:80px;--oz-head:48px;--oz-btn:32px;--oz-grid:24px;--oz-card:24px;--oz-prose-sec:40px;--oz-prose-head:20px;--oz-hero-gap:20px}
@media (min-width:810px) and (max-width:1199.98px){:root{--oz-sec:64px;--oz-head:40px;--oz-btn:32px;--oz-grid:24px;--oz-card:24px;--oz-prose-sec:32px}}
@media (max-width:809.98px){:root{--oz-gutter:20px;--oz-sec:48px;--oz-head:32px;--oz-btn:24px;--oz-grid:16px;--oz-card:24px;--oz-prose-sec:24px}}

/* 1. Sections : même marge haut/bas partout */
[data-framer-root]>[data-framer-name]:not([class*="-container"]):not([data-framer-name="S1 Hero"]):not([data-framer-name="Hero"]):not([data-framer-name="S VSL"]){padding-top:var(--oz-sec)!important;padding-bottom:var(--oz-sec)!important}
/* Héros : le haut ne change pas, le bas rejoint l'échelle */
[data-framer-root]>[data-framer-name="Hero"],[data-framer-root]>[data-framer-name="S1 Hero"],[data-framer-root]>[data-framer-name="S VSL"]{padding-bottom:var(--oz-sec)!important}

/* 2. En-tête de section → contenu (cartes, FAQ, formulaire, tableau…) */
[data-framer-root]>[data-framer-name]:not([data-framer-name="S1 Hero"]):not([data-framer-name="Hero"]):not([data-framer-name="S VSL"]):not([data-framer-name="S2 Clients"]):not([data-framer-name^="Article"])>[data-framer-name="Contenu"]{row-gap:var(--oz-head)!important}
/* Sections de texte (titre + paragraphes) : titre → texte plus serré */
[data-framer-root]>[data-framer-name]:not([data-framer-name="S1 Hero"]):not([data-framer-name="Hero"]):not([data-framer-name="S VSL"]):not([data-framer-name="S2 Clients"]):not([data-framer-name^="Article"])>[data-framer-name="Contenu"][data-framer-name]:has(>[data-framer-name="Texte"]){row-gap:var(--oz-prose-head)!important}

/* 3. Boutons : toujours le même écart avec ce qui les précède */
[data-framer-root]>[data-framer-name]:not([data-framer-name="S1 Hero"]):not([data-framer-name="Hero"]):not([data-framer-name="S VSL"])>[data-framer-name="Contenu"]>:is([data-framer-name="Boutons"],[data-framer-name="CTA"],[data-framer-name="Pied"]){margin-top:calc(var(--oz-btn) - var(--oz-head))!important}
[data-framer-root]>:is([data-framer-name="S1 Hero"],[data-framer-name="Hero"],[data-framer-name="S VSL"])>[data-framer-name="Contenu"]>:is([data-framer-name="Boutons"],[data-framer-name="CTA"]){margin-top:calc(var(--oz-btn) - var(--oz-hero-gap))!important}
[data-framer-root] [data-framer-name="Contenu"]>[data-framer-name="Boutons"]{column-gap:12px!important;row-gap:12px!important}

/* 4. Grilles de cartes : même écart entre cartes, même marge intérieure */
[data-framer-root]>[data-framer-name]:not([data-framer-name="S4 Méthode"])>[data-framer-name="Contenu"]>:is([data-framer-name^="Grille"],[data-framer-name="Cartes"]){row-gap:var(--oz-grid)!important;column-gap:var(--oz-grid)!important}
[data-framer-root]>[data-framer-name]:not([data-framer-name="S4 Méthode"]):not([data-framer-name="S Sites réalisés"])>[data-framer-name="Contenu"]>:is([data-framer-name^="Grille"],[data-framer-name="Cartes"])>[data-border]{padding:var(--oz-card)!important}
/* Cartes Méthode (pile animée, image à fond perdu) : marges intérieures d’origine conservées */

/* 5. Pages de texte (articles, mentions) : les sous-parties d'un même document sont plus rapprochées */
[data-framer-root]>:is([data-framer-name]:has(>[data-framer-name="Contenu"]>[data-framer-name="Texte"]),[data-framer-name^="Article"]):has(+[data-framer-name]>[data-framer-name="Contenu"]>[data-framer-name="Texte"]){padding-bottom:var(--oz-prose-sec)!important}
[data-framer-root]>:is([data-framer-name]:has(>[data-framer-name="Contenu"]>[data-framer-name="Texte"]),[data-framer-name^="Article"])+[data-framer-name]:has(>[data-framer-name="Contenu"]>[data-framer-name="Texte"]){padding-top:var(--oz-prose-sec)!important}
/* Boutons placés dans l’en-tête (sous le texte d’intro) : même écart que les autres boutons */
[data-framer-root] [data-framer-name="En-tête"]>[data-framer-name="Boutons"]{margin-top:calc(var(--oz-btn) - 14px)!important;column-gap:12px!important;row-gap:12px!important}

/* 6. Filet de séparation (21/10/2026) : 1px, largeur du conteneur (bords des cartes : 1152px max, marge 24px / 20px mobile),
   en haut de chaque section, au milieu de l’écart. Pseudo-élément : aucune hauteur ajoutée, aucun débordement.
   Pas de filet : héros, vidéo (suite du héros), bandeau sombre « Réserver », sous-parties d’un même article ou d’une page légale.
   Le pied de page n’est pas une section de la page : aucun filet au-dessus. */
[data-framer-root]>[data-framer-name]:not([class*="-container"]):not([data-framer-name="S1 Hero"]):not([data-framer-name="Hero"]):not([data-framer-name="S VSL"]):not([data-framer-name="S10 Réserver"])::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:min(var(--oz-container),calc(100% - 2*var(--oz-gutter)));height:1px;background:rgba(0,0,0,.06);pointer-events:none;z-index:1}
[data-framer-root]>:is([data-framer-name]:has(>[data-framer-name="Contenu"]>[data-framer-name="Texte"]),[data-framer-name^="Article"])+[data-framer-name]:has(>[data-framer-name="Contenu"]>[data-framer-name="Texte"])::before{content:none}
/* Mobile : même marge latérale (20px) pour toutes les sections, pour que cartes et filets aient les mêmes bords */
@media (max-width:809.98px){[data-framer-root]>[data-framer-name]:not([class*="-container"]):not([data-framer-name="S1 Hero"]):not([data-framer-name="Hero"]):not([data-framer-name="S VSL"]){padding-left:var(--oz-gutter)!important;padding-right:var(--oz-gutter)!important}}
/* Formulaire (Formspree) : message de confirmation / d’erreur sous le bouton */
.oza-form-status{margin:0;padding:12px 14px;border-radius:10px;font-family:"Switzer","Switzer Placeholder",system-ui,sans-serif;font-size:15px;line-height:1.45;text-align:left;width:100%;box-sizing:border-box}
.oza-form-status[hidden]{display:none!important}
.oza-form-status[data-etat="ok"]{background:#E8F4FA;color:#035A8A;border:1px solid rgba(0,119,182,.25)}
.oza-form-status[data-etat="erreur"]{background:#FDECEC;color:#B42318;border:1px solid rgba(180,35,24,.25)}
form[data-framer-form] button[type="submit"][disabled]{opacity:.7;cursor:progress}

/* ===== Menu mobile / tablette ouvert, façon leadarc.io (21/10/2026) ===== */
html.oza-menu-open,html.oza-menu-open body{overflow:hidden!important}
html.oza-menu-open [name="Header"][data-framer-name$=" ouvert"]{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;height:100dvh!important;max-height:none!important;overflow-y:auto!important;background:#fff!important;z-index:2147483000!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-items:stretch!important;gap:0!important;padding:0!important;margin:0!important;box-shadow:none!important;border-radius:0!important;transform:none!important}
html.oza-menu-open [name="Header"][data-framer-name$=" ouvert"]>[data-framer-name="Bandeau"]{display:none!important}
html.oza-menu-open [name="Header"][data-framer-name$=" ouvert"]>[data-framer-name="Navigation"]{flex:none!important;width:100%!important;height:64px!important;min-height:64px!important;padding:0 20px!important;margin:0!important;background:#fff!important;box-shadow:none!important;border-radius:0!important;--border-top-width:0px!important;--border-left-width:0px!important;--border-right-width:0px!important;--border-bottom-width:1px!important;--border-style:solid!important;--border-color:rgba(0,0,0,.08)!important;position:relative!important}
html.oza-menu-open [name="Header"][data-framer-name$=" ouvert"]>[data-framer-name="Navigation"]>[data-framer-name="Conteneur"]{width:100%!important;max-width:none!important;height:100%!important;padding:0!important;margin:0!important;display:flex!important;align-items:center!important;justify-content:space-between!important}
html.oza-menu-open [name="Header"][data-framer-name$=" ouvert"] [data-framer-name="Burger"]{width:42px!important;height:42px!important;margin:0!important;border:1px solid rgba(0,0,0,.1)!important;border-radius:8px!important;background:transparent!important;box-shadow:none!important;display:flex!important;align-items:center!important;justify-content:center!important}
html.oza-menu-open [name="Header"][data-framer-name$=" ouvert"]>[data-framer-name="Menu"]{flex:none!important;width:100%!important;height:auto!important;padding:16px 20px 24px!important;margin:0!important;gap:0!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;background:#fff!important;box-shadow:none!important;border-radius:0!important;--border-top-width:0px!important;--border-left-width:0px!important;--border-right-width:0px!important;--border-bottom-width:0px!important}
html.oza-menu-open [name="Header"][data-framer-name$=" ouvert"]>[data-framer-name="Menu"]>:is([data-framer-name^="Item "],[data-framer-name="Téléphone grand"]){flex:none!important;width:100%!important;height:auto!important;min-height:0!important;padding:14px 0!important;margin:0!important;gap:0!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;border:0!important;border-bottom:1px solid rgba(0,0,0,.06)!important;--border-top-width:0px!important;--border-left-width:0px!important;--border-right-width:0px!important;--border-bottom-width:0px!important}
html.oza-menu-open [name="Header"][data-framer-name$=" ouvert"]>[data-framer-name="Menu"]>[data-framer-name^="Item "] svg{display:none!important}
html.oza-menu-open [name="Header"][data-framer-name$=" ouvert"]>[data-framer-name="Menu"]>:is([data-framer-name^="Item "],[data-framer-name="Téléphone grand"]) :is(div,p,a){width:auto!important;flex:none!important;font-family:Switzer,"Switzer Placeholder",sans-serif!important;--framer-font-family:Switzer,"Switzer Placeholder",sans-serif!important;font-size:16px!important;--framer-font-size:16px!important;font-weight:500!important;--framer-font-weight:500!important;line-height:18px!important;--framer-line-height:18px!important;letter-spacing:0!important;--framer-letter-spacing:0!important;color:rgb(38,38,38)!important;--framer-text-color:rgb(38,38,38)!important;text-align:left!important;text-decoration:none!important;white-space:nowrap!important}
html.oza-menu-open [name="Header"][data-framer-name$=" ouvert"]>[data-framer-name="Menu"]>[data-framer-name="Téléphone grand"]>p{width:100%!important}
html.oza-menu-open [name="Header"][data-framer-name$=" ouvert"]>[data-framer-name="Menu"]>[data-framer-name="Téléphone grand"] a{display:block!important;width:100%!important}
html.oza-menu-open [name="Header"][data-framer-name$=" ouvert"]>[data-framer-name="Menu"]>[data-framer-name="Bouton Marque"]{flex:none!important;width:100%!important;height:48px!important;min-height:48px!important;margin:12px 0 0!important;padding:0 16px!important;gap:0!important;border-radius:10px!important;display:flex!important;align-items:center!important;justify-content:center!important;box-shadow:none!important}
html.oza-menu-open [name="Header"][data-framer-name$=" ouvert"]>[data-framer-name="Menu"]>[data-framer-name="Bouton Marque"] svg{display:none!important}
html.oza-menu-open [name="Header"][data-framer-name$=" ouvert"]>[data-framer-name="Menu"]>[data-framer-name="Bouton Marque"] p{font-size:14px!important;--framer-font-size:14px!important;font-weight:500!important;--framer-font-weight:500!important;line-height:18px!important;color:#fff!important;--framer-text-color:#fff!important}

/* ===== Navigation bureau : liens centrés sur la page (21/10/2026) ===== */
@media (min-width:1200px){[data-framer-name="Navigation"]>[data-framer-name="Conteneur"]{position:relative!important}[data-framer-name="Navigation"]>[data-framer-name="Conteneur"]>[data-framer-name="Liens"]{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;margin:0!important}}
html.oza-menu-open [data-framer-name="Barre mobile"]{display:none!important}

/* ===== Grilles de cartes : écart identique entre toutes les cartes (24/24/16 = --oz-grid), lignes à hauteur de contenu (21/10/2026)
   Cause : Framer impose des lignes de grille égales (grid-auto-rows:minmax(0,1fr)) et aligne les cartes en haut,
   d'où un grand vide sous les cartes plus courtes. Ici : lignes « auto » et cartes étirées sur leur ligne. ===== */
[data-framer-root]>:is([data-framer-name="S3 Résultats"],[data-framer-name="S Missions"],[data-framer-name="S Les cinq services"],[data-framer-name="S Services"],[data-framer-name="S Me joindre directement"],[data-framer-name="S Moyens de contact"],[data-framer-name="S Pour qui"],[data-framer-name="S Quatre principes."],[data-framer-name="S Articles"],[data-framer-name="S Comment choisir"],[data-framer-name="S Moins de 90 jours"]) :is([data-framer-name="Grille"],[data-framer-name="Grille résultats"],[data-framer-name="Cartes"]){grid-template-rows:none!important;grid-auto-rows:auto!important;row-gap:var(--oz-grid)!important;column-gap:var(--oz-grid)!important;align-items:stretch!important}
[data-framer-root]>:is([data-framer-name="S3 Résultats"],[data-framer-name="S Missions"],[data-framer-name="S Les cinq services"],[data-framer-name="S Services"],[data-framer-name="S Me joindre directement"],[data-framer-name="S Moyens de contact"],[data-framer-name="S Pour qui"],[data-framer-name="S Quatre principes."],[data-framer-name="S Articles"],[data-framer-name="S Comment choisir"],[data-framer-name="S Moins de 90 jours"]) :is([data-framer-name="Grille"],[data-framer-name="Grille résultats"],[data-framer-name="Cartes"])>:is(:not(.ssr-variant),.ssr-variant>*){align-self:stretch!important;height:auto!important}
/* Méthode (cartes empilées) : même écart que les autres grilles */
[data-framer-root]>[data-framer-name="S4 Méthode"] [data-framer-name="Cartes"]{row-gap:var(--oz-grid)!important}

/* ===== H1 des héros en mobile (<810px) : taille et interligne de leadarc.io, 34px / 1.16 (21/10/2026) ===== */
@media (max-width:809.98px){[data-framer-root]>:is([data-framer-name="S1 Hero"],[data-framer-name="Hero"]) :is([data-framer-name="H1"],[data-framer-name="Titre"]) :is(h1,div:where([data-oza-h="1"])){--framer-font-size:34px!important;--framer-line-height:1.16em!important}}
