/* ===================================================================
   AEMERA · socle visuel 2026
   Commun à toutes les pages : couleurs, typographie, boutons, bandeau
   cookies, apparitions. Chaque famille de pages ajoute sa propre feuille
   (accueil-2026.css, produit-2026.css, formulaires-2026.css…).
   Aucun texte, champ ni script d'origine n'est modifié par ces feuilles.

   Motif de marque : « la découpe A », l'angle coupé en haut à droite
   qui reprend la diagonale du monogramme AEMERA.
   =================================================================== */
:root{
  --a-bg:#FFFFFF;
  --a-paper:#F3F5F0;
  --a-sage-pale:#E1E9DD;
  --a-sage:#84A593;
  --a-sage-deep:#4F7A68;   /* sauge foncé : lisible en texte sur blanc, et blanc lisible dessus (≥ 4,5) */
  --a-forest:#0A3D31;
  --a-forest-2:#124D3F;
  --a-ink:#2B2823;
  --a-ink-soft:#5B5852;
  --a-mute:#C8CFC6;
  --a-line:#E2E5DF;
  --a-warn:#B7862F;

  --f-display:'Crimson Text',Georgia,'Times New Roman',serif;
  --f-body:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --f-mono:'DM Mono',ui-monospace,'SFMono-Regular',Menlo,monospace;

  --a-max:1200px;
  --a-gutter:clamp(1.25rem,4vw,2.5rem);
  --a-section:clamp(4.5rem,8vw,7.5rem);
  --cut:clamp(18px,2.4vw,34px);
  --cut-sm:10px;
  --ease:cubic-bezier(.2,.7,.1,1);
}

.dz-cut{clip-path:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,0 100%);border-radius:0!important}
.dz-cut-sm{clip-path:polygon(0 0,calc(100% - var(--cut-sm)) 0,100% var(--cut-sm),100% 100%,0 100%);border-radius:0!important}

/* ---------- Base ---------- */
/* Défilement instantané par défaut : avec le défilement doux d'origine, un
   changement de page commençait au milieu puis remontait sous les yeux. Les
   ancres gardent leur défilement doux (demandé explicitement par le script). */
html{-webkit-text-size-adjust:100%;scroll-behavior:auto!important}
body{font-family:var(--f-body);font-size:1.0625rem;line-height:1.65;color:var(--a-ink);background:var(--a-bg)}
@media(min-width:900px){body{font-size:1.125rem}}
body::after{display:none}
a{color:var(--a-forest)}
p{max-width:62ch}
::selection{background:var(--a-sage-pale)}
:focus-visible{outline:2px solid var(--a-forest);outline-offset:3px}

h1,h2{font-family:var(--f-display);font-weight:400;letter-spacing:-.022em;line-height:1.02;color:var(--a-forest);text-wrap:balance}
h1{font-size:clamp(2.6rem,6vw,4.6rem)}
h2{font-size:clamp(2.2rem,5vw,3.9rem)}
h3{font-family:var(--f-body);font-weight:600;letter-spacing:-.005em;line-height:1.3;color:var(--a-ink);font-size:clamp(1.1rem,1.6vw,1.25rem)}

.eyebrow,.mono{font-family:var(--f-mono);font-weight:500;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--a-forest)}
.eyebrow{margin-bottom:1.2rem;display:flex!important;align-items:center;gap:.7rem}
.eyebrow::before{content:'';width:18px;height:1.5px;background:currentColor;flex:none}
#page-accueil section p.eyebrow{font-size:.76rem;line-height:1.4;max-width:none}
#page-accueil .promesse .eyebrow,#page-accueil .cta-final .eyebrow{justify-content:center}

.container{max-width:var(--a-max);padding:0 var(--a-gutter)}
.section{padding:var(--a-section) 0}
.section+.section::before{display:none}

/* Révélations d'origine neutralisées : les nouvelles viennent du script */
.rv,.rv-s,.rv-l,.rv-r{opacity:1!important;transform:none!important;transition:none!important}

/* ---------- Boutons : rectangles à angle coupé + tuile flèche ---------- */
.btn-primary,.nav-cta,.avis-submit,.mc-go,.nl-toast-form button{
  --arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 8h11M9 4l4 4-4 4' fill='none' stroke='black' stroke-width='1.6'/%3E%3C/svg%3E");
  font-family:var(--f-body)!important;font-weight:600;letter-spacing:.005em;border-radius:0!important;
  clip-path:polygon(0 0,calc(100% - var(--cut-sm)) 0,100% var(--cut-sm),100% 100%,0 100%);
  box-shadow:none!important;transform:none!important}
.btn-primary{position:relative;display:inline-flex;align-items:center;justify-content:space-between;gap:1.1rem;
  min-height:56px;padding:.5rem .5rem .5rem 1.4rem;font-size:1rem;color:#fff;overflow:hidden;
  background:linear-gradient(var(--a-sage-deep),var(--a-sage-deep)) no-repeat left/0% 100%,var(--a-forest);
  transition:background-size .45s var(--ease),color .2s!important;isolation:isolate}
.btn-primary::after{content:'';flex:none;width:40px;height:40px;background-color:rgba(255,255,255,.14);transition:background-color .2s}
.btn-primary::before{content:'';position:absolute;right:.5rem;top:50%;width:40px;height:40px;margin-top:-20px;z-index:1;
  background:#fff;-webkit-mask:var(--arrow) center/16px no-repeat;mask:var(--arrow) center/16px no-repeat;transition:translate .35s var(--ease)}
.btn-primary:hover{background-size:100% 100%,auto}
.btn-primary:hover::before{translate:4px 0}
.btn-primary.is-loading::before{display:none}
.how-cta{width:100%}

.btn-light{font-family:var(--f-body)!important;font-weight:600;font-size:1rem;color:var(--a-forest);background:#fff;border-radius:0!important;
  padding:1.05rem 1.5rem;clip-path:polygon(0 0,calc(100% - var(--cut-sm)) 0,100% var(--cut-sm),100% 100%,0 100%);
  box-shadow:none!important;transform:none!important;
  background:linear-gradient(var(--a-sage-pale),var(--a-sage-pale)) no-repeat left/0% 100%,#fff;transition:background-size .45s var(--ease)!important}
.btn-light:hover{background-size:100% 100%,auto}
.btn-secondary{border-radius:0!important;font-family:var(--f-body)!important}
.cta-pulse-wrap::before,.cta-pulse-wrap::after{display:none}

/* ---------- Modales, bandeau cookies ---------- */
.mc-box,.nl-modal-card{background:#fff;border-radius:0!important;clip-path:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,0 100%)}
.mc-box h3,.nl-modal-card h3{font-family:var(--f-display);font-weight:400;font-size:1.9rem;color:var(--a-forest);line-height:1.1}
.mc-box input,.nl-toast-form input{font-family:var(--f-body);font-size:1rem;border-radius:0!important;border:0;border-bottom:1.5px solid var(--a-mute);background:var(--a-paper)}
.nl-toast-form button,.mc-go{background:var(--a-forest)}
.mc-skip{font-family:var(--f-body)}
#aemera-consent{font-family:var(--f-body)!important;background:#fff!important;border:1px solid var(--a-line)!important;border-radius:0!important;box-shadow:0 24px 60px -24px rgba(10,61,49,.4)!important}
#aemera-consent p{font-size:14.5px!important}
#aemera-consent button{border-radius:0!important}
.pay-banner{font-family:var(--f-body)}

/* ---------- Apparitions (seulement si le script est là) ---------- */
.dz-js .dz-reveal{clip-path:inset(0 0 100% 0);translate:0 28px;transition:clip-path 1s var(--ease),translate 1s var(--ease)}
/* État final très large : la découpe ne rogne jamais les accents ni les jambages */
.dz-js .dz-reveal.dz-in{clip-path:inset(-45% -10% -45% -10%);translate:0 0}
.dz-js .dz-rise{opacity:0;translate:0 24px;transition:opacity .8s ease,translate .9s var(--ease)}
.dz-js .dz-rise.dz-in{opacity:1;translate:0 0}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}
  .dz-js .dz-reveal,.dz-js .dz-rise{clip-path:none;opacity:1;translate:none}
}

/* ---------- Marque : monogramme A et grand logotype ---------- */
:root{
  --a-mono:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='22 18 56 64'%3E%3Cpath d='M50 22 L74 78 L60 78 L50 52 L40 78 L26 78 Z' fill='%230A3D31'/%3E%3Cpath d='M50 22 L50 52 L40 78 L26 78 Z' fill='%2384A593'/%3E%3C/svg%3E");
  --a-mono-clair:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='22 18 56 64'%3E%3Cpath d='M50 22 L74 78 L60 78 L50 52 L40 78 L26 78 Z' fill='%23FFFFFF'/%3E%3Cpath d='M50 22 L50 52 L40 78 L26 78 Z' fill='%2384A593'/%3E%3C/svg%3E");
}
.nav-brand,.entete a.marque,.brand,.footer-brand{display:inline-flex!important;align-items:center;gap:.6rem}
.nav-brand::before,.entete a.marque::before,.brand::before{content:'';width:26px;height:30px;flex:none;background:var(--a-mono) center/contain no-repeat}
.footer-brand::before{content:'';width:26px;height:30px;flex:none;background:var(--a-mono-clair) center/contain no-repeat}
/* Grand logotype en bas de chaque page */
footer{position:relative;overflow:hidden}
footer::after{content:"AEMERA";content:"AEMERA" / "";display:block;grid-column:1 / -1;width:100%;margin:clamp(2rem,5vw,3.5rem) 0 -.12em;
  font-family:var(--f-display);font-weight:400;font-size:clamp(4.6rem,20vw,19rem);line-height:.78;letter-spacing:-.04em;text-align:center;
  color:rgba(255,255,255,.09);pointer-events:none;user-select:none}

/* ---------- Lecture sur téléphone (la majorité des visiteurs) ----------
   Sections moins espacées, petits textes agrandis, rien sous 13 px. */
@media(max-width:600px){
  :root{--a-section:3.75rem}
  .eyebrow,.mono{font-size:.8rem!important;letter-spacing:.1em}
}
footer::after{color:rgba(255,255,255,.11)}
@media(max-width:600px){footer::after{font-size:24vw}}
