/* =====================================================================
   L'OLIVIER FORGÉ — CSS GLOBAL (base partagée)
   À coller UNE SEULE FOIS dans :
   Elementor > Réglages du site > CSS personnalisé
   Le CSS spécifique à chaque section sera AJOUTÉ à la suite de ce fichier.
   ===================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Jost:wght@300;400;500&display=swap');

:root{
  --olf-cream:#faf7f1;
  --olf-paper:#fffdf9;
  --olf-ink:#211e1b;
  --olf-char:#2a2723;
  --olf-gold:#b08d57;
  --olf-muted:#8c857a;
  --olf-line:#e7e0d3;
}

/* Empêche le scroll horizontal généré par les sections 100vw */
html,body{ overflow-x:hidden; }

/* --- Pleine largeur robuste (breakout, indépendant du thème) --- */
.olf-full{
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
}
/* Contraintes de largeur réservées aux contenus internes uniquement */
.olf-wrap{ max-width:1180px; margin-left:auto; margin-right:auto; }

/* --- Typographie --- */
.olf-serif{ font-family:'Cormorant Garamond',Georgia,serif; }
.olf-sans{ font-family:'Jost',-apple-system,Segoe UI,sans-serif; }
.olf-ey{
  font-family:'Jost',sans-serif; font-weight:400;
  letter-spacing:.26em; text-transform:uppercase; color:var(--olf-muted);
}

/* --- Boutons --- */
.olf-btn{
  font-family:'Jost',sans-serif; font-weight:400;
  letter-spacing:.2em; text-transform:uppercase; font-size:11px;
  display:inline-flex; align-items:center; justify-content:center;
  padding:15px 34px; cursor:pointer; text-decoration:none;
  transition:all .45s ease;
}
.olf-btn--ghost-light{ border:1px solid rgba(255,255,255,.6); color:#fff; background:transparent; }
.olf-btn--ghost-light:hover{ background:#fff; color:var(--olf-ink); border-color:#fff; }

/* --- Système d'animations « reveal » (partagé par toutes les sections) --- */
.olf-reveal{
  opacity:0; transform:translateY(18px);
  transition:opacity 1s cubic-bezier(.2,.7,.2,1), transform 1s cubic-bezier(.2,.7,.2,1);
  transition-delay:var(--olf-d,0s); will-change:opacity,transform;
}
.olf-reveal.olf-in{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){
  .olf-reveal{ opacity:1!important; transform:none!important; transition:none!important; }
}
