/* ==========================================================================
   OLIVER STONE Paris — base.css
   Variables globales, reset, utilitaires partagés par toutes les pages
   ========================================================================== */
:root{
  --blanc:#FFFFFF; --ivoire:#FAF8F4; --noir:#0C0C0E; --encre:#17171A;
  --or:#B08D57; --or-clair:#C9A96E; --gris:#6E6E73; --ligne:#E7E2D9;
  --rose:#F7E4E8; --bleu:#E5EEF7; --teal:#DDF0F3;
  --r:14px; --tr:.28s cubic-bezier(.4,0,.2,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
body{font-family:'Jost',sans-serif;font-weight:300;color:var(--encre);background:var(--blanc);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
button{font-family:inherit;cursor:pointer;border:none;background:none;touch-action:manipulation}
a{color:inherit;text-decoration:none}
.wrap{width:min(1240px,92vw);margin:0 auto}
.eyebrow{font-size:.72rem;letter-spacing:.34em;text-transform:uppercase;color:var(--or);font-weight:400}
.h-serif{font-family:'Cormorant Garamond',serif;font-weight:300;line-height:1.08}
.diamond-rule{display:flex;align-items:center;gap:14px;justify-content:center;margin:22px 0}
.diamond-rule::before,.diamond-rule::after{content:"";height:1px;width:64px;background:currentColor;opacity:.35}
.diamond-rule span{width:6px;height:6px;background:currentColor;transform:rotate(45deg);opacity:.8}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s ease}
.reveal.in{opacity:1;transform:none}
[id]{scroll-margin-top:115px}

/* EDITO plein écran (bandeau image pleine largeur, réutilisé entre les sections) */
.edito{background:var(--noir)}
.edito img{width:100%;height:auto;display:block}

/* TOAST (confirmation flottante, utilisée par le panier, la newsletter et le contact) */
.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,20px);background:var(--noir);color:#fff;padding:14px 26px;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;border-radius:100px;opacity:0;pointer-events:none;transition:all .35s;z-index:600}
.toast.on{opacity:1;transform:translate(-50%,0)}
