/* =========================================================
   Oze Joaillerie — Thème WordPress
   Palette reprise du site oze-joaillerie.com :
   - Navbar / sections bleu clair : #ADD0DA
   - Fond crème : #F9F6EE
   - Bleu très clair : #C4DFE3
   - Accent beige : #C6A887
   - Texte : #121212
   ========================================================= */

:root{
  /* Palette Oze complète */
  --bg-page:     #F9F6EE;  /* Crème principal */
  --oze-blue:    #ADD0DA;  /* Bleu navbar / signature */
  --oze-blue-2:  #C4DFE3;  /* Bleu très clair */
  --oze-pink:    #F4BCC0;  /* Rose poudré */
  --oze-pink-2:  #FCE3E5;  /* Rose très pâle */
  --oze-yellow:  #FBE889;  /* Jaune beurre */
  --oze-yellow-2:#FDF2BE;  /* Jaune crème */
  --oze-olive:   #BCC161;  /* Olive vintage */
  --oze-olive-2: #DCE0A5;  /* Olive doux */
  --oze-warm:    #FFF5EA;  /* Crème chaud */

  /* Alias historiques (compat) */
  --bg-blue:     var(--oze-blue);
  --bg-blue-2:   var(--oze-blue-2);
  --bg-blue-3:   #8BCDCD;
  --accent:      #C6A887;  /* Beige doré (signature) */

  --text:        #121212;
  --text-soft:   rgba(18,18,18,.74);
  --muted:       rgba(18,18,18,.55);
  --line:        rgba(18,18,18,.12);
  --white:       #FFFFFF;
  --serif: 'Libre Baskerville', 'Times New Roman', serif;
  --sans:  'Poppins', -apple-system, BlinkMacSystemFont, sans-serif;
  --ease:  cubic-bezier(.2,.7,.2,1);
  --container: 1400px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-font-smoothing:antialiased; }
body{
  margin:0; background:var(--bg-page); color:var(--text);
  font-family:var(--sans); font-weight:400; font-size:16px; line-height:1.6;
}
img,svg,video{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; }

.container{ max-width:var(--container); margin:0 auto; padding:0 32px; }
.container--narrow{ max-width:920px; }

/* ─── Typo display ─── */
h1,h2,h3,h4{ font-family:var(--serif); font-weight:400; letter-spacing:-.005em; }
.oze-display{
  font-family:var(--serif); font-weight:400; line-height:1.1;
  font-size:clamp(2.2rem, 4.5vw, 4.4rem);
  color:var(--text); margin:0;
}
.oze-eyebrow{
  font-family:var(--sans); font-size:.72rem; letter-spacing:.22em; text-transform:uppercase;
  color:var(--text); margin:0 0 1.2rem; font-weight:500;
}
.oze-lead{ font-family:var(--serif); font-size:clamp(1.1rem,1.4vw,1.35rem); color:var(--text-soft); line-height:1.55; }

/* ─── Loader — wordmark sur bleu Oze ─── */
.oze-loader{
  position:fixed; inset:0; background:var(--oze-blue); z-index:9999;
  display:flex; align-items:center; justify-content:center;
  transition:opacity .8s var(--ease) .2s, visibility 0s 1s;
}
.oze-loader.is-hidden{ opacity:0; visibility:hidden; }
.oze-loader__inner{
  display:inline-flex; align-items:flex-end; gap:.18em;
  color:var(--bg-page); line-height:.85;
  animation:ozeFadeInUp 1s var(--ease) forwards;
}
.oze-loader__main{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(4rem, 12vw, 9rem);
  letter-spacing:-.015em; line-height:.82;
  color:inherit;
  animation:ozeLogoPulse 2.6s ease-in-out infinite;
}
.oze-loader__sub{
  font-family:var(--serif); font-style:italic; font-weight:300;
  font-size:clamp(1.2rem, 3vw, 2.2rem);
  letter-spacing:.04em; color:inherit; opacity:.92;
  padding-bottom:.4em;
  animation:ozeFadeInUp 1.2s var(--ease) .25s both;
}
@keyframes ozeFadeInUp{ from{ opacity:0; transform:translateY(10px); } to{ opacity:1; transform:none; } }
@keyframes ozeLogoPulse{ 0%,100%{ opacity:1; } 50%{ opacity:.78; } }

/* ─── Marquee — palette Oze ─── */
.oze-marquee{
  background:var(--bg-blue); color:var(--text); overflow:hidden;
  font-size:.7rem; letter-spacing:.28em; text-transform:uppercase; padding:.7rem 0; font-weight:500;
  position:relative; z-index:60;
}
.oze-marquee__track{ display:flex; gap:1.8rem; white-space:nowrap; width:max-content; animation:ozeMarquee 60s linear infinite; align-items:center; }
.oze-marquee__track .dot{ color:var(--accent); font-size:.65em; }
.oze-marquee__track .dot:nth-child(6n+1){ color:var(--oze-pink); }
.oze-marquee__track .dot:nth-child(6n+3){ color:var(--oze-yellow); }
.oze-marquee__track .dot:nth-child(6n+5){ color:var(--oze-olive); }
.oze-marquee__track span{ font-family:var(--sans); }
@keyframes ozeMarquee{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

/* ─── Header (verrouillé) ─── */
.oze-header{
  position:sticky; top:0; z-index:50;
  background:var(--bg-blue);
  color:var(--text);
  height:72px;
  transition: background .45s var(--ease), color .45s var(--ease), border-color .45s var(--ease), box-shadow .45s var(--ease);
  border-bottom:1px solid transparent;
}
.oze-header__inner{
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  padding:0 32px; height:100%; max-width:var(--container); margin:0 auto;
}
.oze-logo{
  display:inline-flex; align-items:flex-end; height:100%;
  font-family:var(--serif); line-height:.9; color:var(--bg-page);
  flex-shrink:0; position:relative; gap:.18em;
  padding:6px 0 8px;
  text-decoration:none;
}
.oze-logo__main{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(1.8rem, 3.4vw, 2.4rem);
  letter-spacing:-.01em; line-height:.85;
  color:inherit;
}
.oze-logo__sub{
  font-family:var(--serif); font-style:italic; font-weight:300;
  font-size:clamp(.7rem, 1vw, .85rem);
  letter-spacing:.04em;
  color:inherit; opacity:.85;
  padding-bottom:.15em;
}

/* Transparent sur home (avant scroll) — bascule sur le logo blanc */
.oze-header--transparent:not(.is-scrolled){
  background:transparent;
  border-bottom-color:transparent;
  color:var(--bg-page);
  box-shadow:none;
}
.oze-header--transparent:not(.is-scrolled) .oze-nav__list a,
.oze-header--transparent:not(.is-scrolled) .oze-cart-link,
.oze-header--transparent:not(.is-scrolled) .oze-header__menu-btn{ color:var(--bg-page); }
.oze-header--transparent:not(.is-scrolled) .oze-cart-count{ background:var(--bg-page); color:var(--text); }
.oze-header--transparent:not(.is-scrolled) .oze-logo{ color:var(--bg-page); }

.oze-header.is-scrolled{
  background:var(--bg-blue);
  border-bottom-color:rgba(18,18,18,.06);
  box-shadow:0 4px 30px -10px rgba(18,18,18,.08);
}

.oze-nav__list{
  list-style:none; padding:0; margin:0; display:flex; gap:36px;
  font-size:.82rem; letter-spacing:.16em; text-transform:uppercase; font-weight:500;
}
.oze-nav__list a{ position:relative; padding:6px 0; transition:opacity .3s; }
.oze-nav__list a::after{
  content:''; position:absolute; left:0; right:0; bottom:0;
  height:1px; background:currentColor; transform:scaleX(0); transform-origin:right;
  transition:transform .5s var(--ease);
}
.oze-nav__list a:hover::after{ transform:scaleX(1); transform-origin:left; }

/* Sous-menu (Expertises) — dropdown desktop */
.oze-nav__list li{ position:relative; }
.oze-nav__list li.menu-item-has-children > a::before{
  content:''; display:inline-block; width:5px; height:5px;
  border-right:1px solid currentColor; border-bottom:1px solid currentColor;
  transform:rotate(45deg); margin-right:8px; margin-bottom:3px;
  transition:transform .3s var(--ease); vertical-align:middle;
}
.oze-nav__list li.menu-item-has-children:hover > a::before{ transform:rotate(225deg); margin-bottom:0; }
.oze-nav__list .sub-menu{
  position:absolute; top:100%; left:50%;
  transform:translateX(-50%) translateY(18px);
  list-style:none; padding:10px; margin:0; min-width:312px;
  background:#fff;
  border:1px solid rgba(18,18,18,.05);
  border-radius:0 ;
  box-shadow:0 28px 56px -20px rgba(18,18,18,.30), 0 8px 20px -12px rgba(18,18,18,.16);
  opacity:0; visibility:hidden;
  transition:opacity .34s var(--ease), transform .44s var(--ease), visibility 0s .44s;
  z-index:60;
}
.oze-nav__list li:hover > .sub-menu,
.oze-nav__list li:focus-within > .sub-menu{
  opacity:1; visibility:visible;
  transform:translateX(-50%) translateY(12px);
  transition-delay:0s;
}
.oze-nav__list .sub-menu li{ width:100%; }
.oze-nav__list .sub-menu li + li{ border-top:1px solid rgba(18,18,18,.05); }
.oze-nav__list .sub-menu a{
  display:block; position:relative;
  padding:12px 40px 12px 18px; border-radius:0 ;
  font-family:var(--serif); font-size:.96rem; letter-spacing:.015em;
  text-transform:none; font-weight:400; color:var(--text);
  white-space:nowrap;
  transition:background .28s var(--ease), color .28s var(--ease);
}
.oze-nav__list .sub-menu a::after{
  content:'→'; display:block; position:absolute;
  right:16px; top:50%;
  transform:translateY(-50%) translateX(-6px);
  font-family:var(--sans); font-size:.82rem; line-height:1;
  color:var(--accent); opacity:0;
  transition:opacity .28s var(--ease), transform .28s var(--ease);
}
.oze-nav__list .sub-menu a:hover{ background:var(--bg-page); color:var(--accent); }
.oze-nav__list .sub-menu a:hover::after{
  opacity:1; transform:translateY(-50%) translateX(0);
}
/* Pont invisible pour ne pas perdre le hover entre l'item et le dropdown */
.oze-nav__list li.menu-item-has-children::after{
  content:''; position:absolute; top:100%; left:0; right:0; height:18px;
}

/* Sous-menu mobile — stylé dans le bloc « Menu mobile premium » ci-dessous */

.oze-header__actions{ display:flex; align-items:center; gap:14px; }
.oze-cart-link{ position:relative; display:inline-flex; padding:8px; }
.oze-cart-link svg{ width:22px; height:22px; }
.oze-cart-link{ background:none; border:0; cursor:pointer; }
.oze-cart-count{
  position:absolute; top:2px; right:2px; min-width:18px; height:18px; padding:0 5px;
  background:var(--text); color:var(--bg-page); border-radius:0 ;
  font-size:.65rem; font-weight:600; display:flex; align-items:center; justify-content:center;
  transition:background .4s var(--ease), color .4s var(--ease), transform .4s var(--ease);
}
.oze-cart-count:empty, .oze-cart-count:where([data-cart-count="0"]){ display:none; }
.oze-header__menu-btn{ background:none; border:0; padding:8px; display:none; color:var(--text); }
.oze-header__menu-btn svg{ width:24px; height:24px; }

/* ─── Menu mobile premium ─── */
.oze-menu{
  position:fixed; inset:0;
  background:var(--oze-deep);
  color:var(--bg-page);
  z-index:300;
  display:flex; flex-direction:column;
  opacity:0; visibility:hidden;
  transition:opacity .5s var(--ease), visibility 0s .5s;
  overflow-y:auto;
}
.oze-menu.is-open{
  opacity:1; visibility:visible;
  transition:opacity .5s var(--ease);
}
.oze-menu__header{
  display:flex; justify-content:space-between; align-items:center;
  padding:22px 28px; flex-shrink:0;
}
.oze-menu__logo{
  display:inline-flex; align-items:flex-end; gap:.16em;
  color:#fff; line-height:.85;
}
.oze-menu__logo img{ height:40px; width:auto; filter:brightness(0) invert(1); }
.oze-menu__close{
  background:rgba(255,255,255,.1); border:0; border-radius:0 ;
  width:46px; height:46px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; color:#fff;
  transition:transform .35s var(--ease), background .3s;
}
.oze-menu__close:hover{ transform:rotate(90deg); background:rgba(255,255,255,.2); }
.oze-menu__close svg{ width:22px; height:22px; }

.oze-menu__nav{
  flex:1; display:flex; align-items:flex-start;
  padding:16px 28px 26px;
}
.oze-menu__list{
  list-style:none; padding:0; margin:0;
  display:flex; flex-direction:column;
  width:100%; text-align:left;
}
.oze-menu__list > li{
  opacity:0; transform:translateX(-18px);
  transition:opacity .5s var(--ease), transform .5s var(--ease);
  border-bottom:1px solid rgba(255,255,255,.1);
}
.oze-menu__list > li:last-child{ border-bottom:0; }
.oze-menu.is-open .oze-menu__list > li{ opacity:1; transform:none; }
.oze-menu.is-open .oze-menu__list > li:nth-child(1){ transition-delay:.1s; }
.oze-menu.is-open .oze-menu__list > li:nth-child(2){ transition-delay:.16s; }
.oze-menu.is-open .oze-menu__list > li:nth-child(3){ transition-delay:.22s; }
.oze-menu.is-open .oze-menu__list > li:nth-child(4){ transition-delay:.28s; }
.oze-menu.is-open .oze-menu__list > li:nth-child(5){ transition-delay:.34s; }
.oze-menu.is-open .oze-menu__list > li:nth-child(6){ transition-delay:.40s; }

.oze-menu__list a{
  font-size:clamp(1.65rem, 6.4vw, 2.3rem);
  line-height:1.12; color:#fff;
  display:block; padding:16px 0;
  transition:color .3s var(--ease), padding-left .3s var(--ease);
}
.oze-menu__list > li > a{ position:relative; }
.oze-menu__list > li > a:hover{ color:var(--accent); padding-left:12px; }
.oze-menu__list a::after{ display:none; }
.oze-menu__list li.menu-item-has-children > a::after{
  content:'+'; display:inline-block; margin-left:.4em;
  font-size:.5em; opacity:.55; vertical-align:middle;
  transition:transform .3s var(--ease);
}
.oze-menu__list li.menu-item-has-children.is-open > a::after{
  transform:rotate(45deg); opacity:.9;
}

/* Sous-menu mobile — replié par défaut (accordéon) */
.oze-menu__list .sub-menu{
  list-style:none; margin:0; padding:0;
  display:flex; flex-direction:column;
  max-height:0; overflow:hidden;
  transition:max-height .45s var(--ease);
}
.oze-menu__list li.menu-item-has-children.is-open > .sub-menu{
  max-height:560px; padding:2px 0 16px;
}
.oze-menu__list .sub-menu a{
  font-family:var(--serif) !important; font-style:italic; font-weight:400 !important;
  font-size:1.05rem; color:rgba(249,246,238,.66);
  padding:9px 0 9px 2px;
}
.oze-menu__list .sub-menu a:hover{ color:var(--accent); padding-left:12px; }

.oze-menu__footer{
  padding:22px 28px 34px; flex-shrink:0;
  text-align:left;
  border-top:1px solid rgba(255,255,255,.12);
  opacity:0; transition:opacity .8s var(--ease) .35s;
}
.oze-menu.is-open .oze-menu__footer{ opacity:1; }
.oze-menu__contact{
  font-family:var(--serif); font-size:1.12rem; color:#fff;
  display:inline-block; padding-bottom:4px;
  border-bottom:1px solid var(--accent);
}
.oze-menu__tagline{
  margin:14px 0 0; font-size:.68rem; letter-spacing:.22em; text-transform:uppercase;
  color:rgba(249,246,238,.5); font-family:var(--sans);
}

/* ─── Boutons ─── */
.oze-btn{
  display:inline-flex; align-items:center; gap:10px; padding:15px 30px;
  font-family:var(--sans); font-size:.9rem; font-weight:500;
  letter-spacing:.2em; text-transform:uppercase;
  border:1px solid transparent; transition:all .35s var(--ease); cursor:pointer;
}
.oze-btn svg{ width:18px; height:18px; transition:transform .4s var(--ease); }
.oze-btn:hover svg{ transform:translateX(4px); }
.oze-btn--dark{ background:var(--text); color:var(--bg-page); border-color:var(--text); }
.oze-btn--dark:hover{ background:transparent; color:var(--text); }
.oze-btn--ghost{ background:transparent; color:var(--text); border-color:var(--text); }
.oze-btn--ghost:hover{ background:var(--text); color:var(--bg-page); }
.oze-btn--light{ background:var(--bg-page); color:var(--text); border-color:var(--bg-page); }
.oze-btn--light:hover{ background:transparent; color:var(--bg-page); border-color:var(--bg-page); }

.oze-link{
  display:inline-flex; align-items:center; gap:10px;
  font-size:.78rem; letter-spacing:.18em; text-transform:uppercase; font-weight:500;
  border-bottom:1px solid var(--text); padding-bottom:4px; transition:all .3s;
}
.oze-link svg{ width:16px; height:16px; transition:transform .4s var(--ease); }
.oze-link:hover svg{ transform:translateX(4px); }

/* ─── HERO ─── */
.oze-hero{
  position:relative;
  min-height:100vh;
  margin-top:-72px;          /* le hero passe SOUS la navbar transparente */
  padding-top:72px;          /* on compense pour que le contenu ne soit pas masqué */
  display:flex; align-items:center;
  color:var(--bg-page); overflow:hidden;
}
.oze-hero__bg{
  position:absolute; inset:0; background-size:cover; background-position:center;
  will-change:transform; transform:scale(1.05);
}
.oze-hero__overlay{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.25) 0%, rgba(0,0,0,.15) 40%, rgba(0,0,0,.5) 100%);
}
.oze-hero__inner{
  position:relative; z-index:2; max-width:var(--container); width:100%; margin:0 auto;
  padding:0 32px; text-align:center;
}
.oze-hero__title{
  font-family:var(--serif); color:var(--bg-page); margin:0 auto 2rem;
  font-size:clamp(2.4rem, 5.5vw, 4.8rem); max-width:22ch; line-height:1.1;
}
.oze-hero__ctas{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

/* ─── Split text (par lettre, optionnel) ─── */
.oze-split .char{
  display:inline-block; opacity:0; transform:translateY(60%);
  transition:opacity .8s var(--ease), transform .8s var(--ease);
  transition-delay:calc(var(--i) * 24ms);
}
.oze-split.is-visible .char{ opacity:1; transform:none; }

/* ─── Reveal on scroll ─── */
.reveal{ opacity:0; transform:translateY(30px); transition:opacity .9s var(--ease), transform .9s var(--ease); transition-delay:var(--d, 0s); }
.reveal.is-visible{ opacity:1; transform:none; }

/* ─── Sections ─── */
section{ padding:90px 0; }
.oze-section__head{ text-align:center; max-width:60ch; margin:0 auto 60px; }
.oze-section__head h2{ margin:0 0 1rem; }

/* ─── L'écrin du moment ─── */
.oze-ecrin{ background:var(--bg-page); }
.oze-ecrin__head{ text-align:center; margin-bottom:60px; }
.oze-ecrin__head h2{ margin:0 0 1.2rem; }
.oze-ecrin__head p{ font-family:var(--serif); font-size:1.2rem; color:var(--text-soft); max-width:50ch; margin:0 auto; }

/* ─── Product grid ─── */
.oze-product-grid,
.products{
  display:grid; grid-template-columns:repeat(4, 1fr); gap:56px 24px;
  list-style:none; padding:0; margin:0;
}
.oze-product-grid--4{ grid-template-columns:repeat(4, 1fr); }
.oze-card{
  display:block; position:relative;
  transition:transform .5s var(--ease);
}
.oze-card:hover{ transform:translateY(-4px); }

.oze-card__media{
  position:relative;
  width:100%;
  aspect-ratio:4/5;
  overflow:hidden;
  background:#EFE9DF;
  isolation:isolate;
}
/* Garde-fou : toute image dans le media remplit en cover */
.oze-card__media > img,
.oze-card__img{
  position:absolute !important;
  top:0 !important; left:0 !important; right:0 !important; bottom:0 !important;
  width:100% !important; height:100% !important;
  max-width:none !important; max-height:none !important;
  object-fit:cover !important;
  object-position:center !important;
  display:block !important;
  transition:opacity .6s var(--ease), transform 1.4s var(--ease) !important;
}
.oze-card__img--2{ opacity:0 !important; }
.oze-card:hover .oze-card__img--1{ opacity:0 !important; }
.oze-card:hover .oze-card__img--2{ opacity:1 !important; transform:scale(1.04) !important; }
.oze-card:hover .oze-card__img--1.is-only{ opacity:1 !important; transform:scale(1.04) !important; }

/* Halo doré au survol */
.oze-card__media::after{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(180deg, transparent 60%, rgba(18,18,18,.10) 100%);
  opacity:0; transition:opacity .5s var(--ease);
  z-index:2;
}
.oze-card:hover .oze-card__media::after{ opacity:1; }

/* Eyebrow "Pièce unique" */
.oze-card__tag{
  position:absolute; top:14px; left:14px; z-index:3;
  background:rgba(249,246,238,.92); backdrop-filter:blur(4px);
  color:var(--text); padding:6px 12px;
  font-family:var(--sans); font-size:.62rem; letter-spacing:.22em; text-transform:uppercase;
  font-weight:500;
}

/* Body : layout vertical raffiné, centré */
.oze-card__body{
  padding:18px 4px 4px;
  display:flex; flex-direction:row; align-items:baseline;
  justify-content:space-between; gap:16px; text-align:left;
  font-family:var(--serif);
}
.oze-card__body h3{
  font-size:1.18rem; margin:0; font-weight:400; line-height:1.25;
  letter-spacing:.005em; transition:color .35s;
}
.oze-card:hover .oze-card__body h3{ color:var(--accent); }
.oze-card__separator{
  display:none;
  width:24px; height:1px; background:var(--line);
  transition:width .45s var(--ease), background .35s;
}
.oze-card:hover .oze-card__separator{ width:50px; background:var(--accent); }
/* Séparateurs de cartes : rotation des accents Oze pour un effet maison */
.oze-card:nth-child(4n+1):hover .oze-card__separator{ background:var(--oze-pink); }
.oze-card:nth-child(4n+2):hover .oze-card__separator{ background:var(--oze-yellow); }
.oze-card:nth-child(4n+3):hover .oze-card__separator{ background:var(--oze-olive); }
.oze-card:nth-child(4n+4):hover .oze-card__separator{ background:var(--oze-blue); }
.oze-card .oze-price{
  font-family:var(--serif); font-size:1.05rem; color:var(--text);
  font-weight:500; letter-spacing:.01em;
}
.oze-card .oze-price del{ color:var(--muted); margin-right:8px; font-weight:300; }
.oze-card .oze-price ins{ text-decoration:none; }

.oze-badge{
  position:absolute; top:14px; right:14px; z-index:3;
  background:var(--text); color:var(--bg-page);
  padding:6px 11px; font-size:.62rem; letter-spacing:.22em; text-transform:uppercase;
}
.products li.product{ list-style:none; margin:0; padding:0; }

.oze-ecrin__more{ margin-top:60px; text-align:center; }

/* ─── Pourquoi Oser Oze — manifeste éditorial ─── */
.oze-why{
  background:var(--bg-blue-2);
  padding:130px 0;
  position:relative;
  overflow:hidden;
}
.oze-why::before{
  content:''; position:absolute; left:50%; top:0; bottom:0; width:1px;
  background:linear-gradient(180deg, transparent, rgba(18,18,18,.15), transparent);
  opacity:.5;
}
.oze-why__layout{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:100px;
  max-width:1100px;
  margin:0 auto;
  align-items:flex-start;
  position:relative; z-index:1;
}
.oze-why__aside{
  position:sticky; top:120px;
}
.oze-why__eyebrow{
  font-family:var(--sans); font-size:.72rem; letter-spacing:.28em; text-transform:uppercase;
  color:var(--text); margin:0 0 1.5rem; font-weight:500;
}
.oze-why__title{
  font-family:var(--serif); font-weight:300;
  font-size:clamp(2.4rem, 4.5vw, 4rem);
  line-height:1; letter-spacing:-.015em;
  color:var(--text);
  margin:0;
  text-transform:none;
}
.oze-why__ornament{
  display:block; width:60px; height:1px;
  background:var(--accent);
  margin-top:2.5rem;
}
.oze-why__body{
  display:flex; flex-direction:column; align-items:flex-start;
  padding-left:0;
}
.oze-why__para{
  font-family:var(--serif);
  font-size:clamp(1.1rem, 1.4vw, 1.35rem);
  line-height:1.6; letter-spacing:.005em;
  color:var(--text); margin:0;
  max-width:42ch;
}
.oze-why__para:first-letter{
  font-size:1.15em; color:var(--accent);
}
.oze-why__dot{
  display:block; color:var(--accent);
  font-size:.7rem; margin:1.5rem 0;
  letter-spacing:.5em;
}
.oze-why__dot:nth-of-type(3n+1){ color:var(--oze-pink); }
.oze-why__dot:nth-of-type(3n+2){ color:var(--oze-olive); }
.oze-why__dot:nth-of-type(3n+3){ color:var(--oze-yellow); }
.oze-why__para:first-letter{ color:var(--oze-pink); }
.oze-why__para:nth-child(3):first-letter{ color:var(--oze-olive); }
.oze-why__para:nth-child(5):first-letter{ color:var(--oze-yellow); }

@media (max-width:1024px){
  .oze-why{ padding:90px 0; }
  .oze-why::before{ display:none; }
  .oze-why__layout{ grid-template-columns:1fr; gap:50px; max-width:600px; }
  .oze-why__aside{ position:static; text-align:center; }
  .oze-why__ornament{ margin-left:auto; margin-right:auto; }
  .oze-why__body{ align-items:center; text-align:center; }
  .oze-why__para{ max-width:54ch; }
}
@media (max-width:768px){
  .oze-why{ padding:70px 0; }
  .oze-why__title{ font-size:clamp(2rem, 8vw, 2.6rem); }
  .oze-why__para{ font-size:1.05rem; }
}

/* ─── Des bijoux en or vintage (split image+text) ─── */
.oze-vintage{ padding:120px 0; background:var(--oze-pink-2); position:relative; }
.oze-vintage::before{
  content:''; position:absolute; top:0; left:50%; transform:translateX(-50%);
  width:80px; height:3px; background:var(--oze-pink);
}
.oze-vintage__grid{ display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.oze-vintage__img img{ width:100%; aspect-ratio:4/5; object-fit:cover; }
.oze-vintage__text h2{ margin:0 0 1.5rem; }
.oze-vintage__text p{ font-family:var(--serif); font-size:1.15rem; color:var(--text-soft); margin:0 0 1.2rem; line-height:1.6; }

/* ─── Footer ─── */
.oze-footer{ background:var(--text); color:var(--bg-page); padding:80px 0 30px; }
.oze-footer__top{
  display:grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap:60px;
  padding-bottom:50px; border-bottom:1px solid rgba(255,255,255,.12);
}
.oze-footer__col h4{
  font-size:.75rem; letter-spacing:.22em; text-transform:uppercase;
  color:var(--bg-blue); margin:0 0 1.4rem; font-family:var(--sans); font-weight:500;
}
.oze-footer__logo{ display:block; margin-bottom:1.2rem; }
.oze-footer__logo img{ max-width:180px; height:auto; filter:brightness(0) invert(1); }
.oze-footer__wordmark{ font-family:var(--serif); font-size:2.2rem; color:var(--bg-page); margin:0 0 1rem; font-weight:400; }
.oze-footer__wordmark em{ font-style:italic; }
.oze-footer__desc{ color:rgba(249,246,238,.65); line-height:1.65; font-size:.95rem; max-width:32ch; }
.oze-footer__list{
  list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.7rem;
  font-family:var(--serif); font-size:1.02rem;
}
.oze-footer__list a{ color:rgba(249,246,238,.85); transition:color .3s; }
.oze-footer__list a:hover{ color:var(--bg-blue); }

.oze-footer__payments{
  display:flex; align-items:center; gap:20px; padding:30px 0 24px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.oze-footer__payments span{ font-size:.7rem; letter-spacing:.22em; text-transform:uppercase; color:rgba(249,246,238,.5); font-weight:500; }
.oze-footer__payments ul{ list-style:none; padding:0; margin:0; display:flex; gap:8px; }
.oze-footer__payments li{ width:42px; }
.oze-footer__payments li svg{ width:100%; height:auto; display:block; border-radius:0 ; }

.oze-footer__bottom{ display:flex; justify-content:space-between; padding-top:24px; font-size:.78rem; color:rgba(249,246,238,.5); flex-wrap:wrap; gap:10px; }
.oze-footer__bottom a{ color:var(--bg-blue); }

/* Wordmark géant en bas du footer */
.oze-footer__wordmark{
  position:relative;
  margin-top:40px;
  padding:0 5vw;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:.06em;
  line-height:1;
  color:var(--bg-page);
  pointer-events:none;
  overflow:hidden;
}
.oze-footer__wordmark-main{
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(4rem, 17vw, 13rem);
  letter-spacing:-.02em;
  line-height:.96;
  display:block;
}
.oze-footer__wordmark-sub{
  font-family:var(--serif);
  font-style:italic;
  font-weight:300;
  font-size:clamp(1.1rem, 3.4vw, 3rem);
  letter-spacing:.02em;
  color:var(--bg-blue);
  align-self:flex-end;
  padding-bottom:clamp(.6rem, 2.4vw, 2.4rem);
  margin-left:.35em;
}
@media (max-width:768px){
  .oze-footer__wordmark{ margin-top:18px; padding:0 16px; }
  .oze-footer__wordmark-main{ font-size:clamp(3.4rem, 21vw, 7.5rem); }
  .oze-footer__wordmark-sub{ font-size:clamp(.85rem, 4vw, 1.5rem); padding-bottom:.45em; }
}

/* ─── Pages internes ─── */
/* ─── Pages standards (légales, expertises) ─── */
.oze-page{ min-height:60vh; }
.oze-page__header{
  text-align:center; padding:80px 0 50px;
  border-bottom:1px solid var(--line); margin-bottom:60px;
}
.oze-page__header h1{
  font-family:var(--serif); font-weight:300;
  font-size:clamp(2.4rem, 4.5vw, 3.8rem); letter-spacing:-.015em; line-height:1.05;
  margin:0;
}
.oze-page__header::after{
  content:''; display:block; width:54px; height:1px; background:var(--accent);
  margin:26px auto 0;
}
.oze-page__cover{ margin:0 0 50px; aspect-ratio:21/9; overflow:hidden; }
.oze-page__cover img{ width:100%; height:100%; object-fit:cover; }
.oze-page .oze-article{ padding-bottom:100px; }
/* Lisibilité du contenu légal long */
.oze-page .oze-content{ font-size:1.05rem; line-height:1.8; color:var(--text-soft); }
.oze-page .oze-content h2{
  font-family:var(--serif); font-weight:400; font-size:1.7rem;
  color:var(--text); margin:2.6rem 0 1rem;
}
.oze-page .oze-content h3{
  font-family:var(--serif); font-weight:400; font-size:1.3rem;
  color:var(--text); margin:2rem 0 .8rem;
}
.oze-page .oze-content p{ margin:0 0 1.2rem; }
.oze-page .oze-content ul,
.oze-page .oze-content ol{ margin:0 0 1.4rem; padding-left:1.5rem; }
.oze-page .oze-content li{ margin-bottom:.5rem; }
.oze-page .oze-content a{ color:var(--accent); border-bottom:1px solid var(--accent); }
.oze-page .oze-content strong{ color:var(--text); }
@media (max-width:768px){
  .oze-page .oze-article{ padding-bottom:60px; }
}
.oze-content{ font-family:var(--serif); font-size:1.15rem; line-height:1.7; color:var(--text); }
.oze-content p{ margin:0 0 1.4rem; }
.oze-content h2{ font-size:2rem; margin:2.4rem 0 1.2rem; font-family:var(--serif); }
.oze-content h3{ font-size:1.5rem; margin:2rem 0 1rem; }
.oze-content ul,.oze-content ol{ padding-left:1.4rem; margin:0 0 1.4rem; }
.oze-content li{ margin-bottom:.5rem; }
.oze-content a{ border-bottom:1px solid var(--text); }
.oze-content em{ font-style:italic; }
.oze-content blockquote{ font-style:italic; font-size:1.5rem; margin:2rem 0; padding-left:1.5rem; border-left:2px solid var(--text); }

/* ─── Page Histoire — éditorial premium ─── */
.oze-histoire__hero{
  background:var(--oze-blue); padding:110px 0 90px; text-align:center;
}
.oze-histoire__hero .oze-eyebrow{ color:var(--text); }
.oze-histoire__title{
  font-family:var(--serif); font-weight:300;
  font-size:clamp(2.8rem, 6vw, 5rem); line-height:1; letter-spacing:-.02em;
  margin:0 0 1.6rem; color:var(--text);
}
.oze-histoire__intro{
  font-family:var(--serif); font-style:italic;
  font-size:clamp(1.2rem, 1.7vw, 1.6rem); line-height:1.5;
  color:var(--text); max-width:46ch; margin:0 auto;
}
.oze-histoire__cover{
  margin:0; aspect-ratio:21/9; overflow:hidden;
}
.oze-histoire__cover img{ width:100%; height:100%; object-fit:cover; }

.oze-histoire__body{ padding:100px 0 90px; }
.oze-histoire__body .oze-content{ font-size:1.18rem; line-height:1.8; }
.oze-histoire__body .oze-content p:first-of-type::first-letter{
  font-size:3.4rem; line-height:.9; float:left; margin:6px 14px 0 0;
  font-family:var(--serif); color:var(--accent);
}

.oze-histoire__claim{
  text-align:center; padding:100px 0; background:var(--oze-pink-2);
  position:relative;
}
.oze-histoire__claim::before{
  content:''; position:absolute; top:0; left:50%; transform:translateX(-50%);
  width:70px; height:3px; background:var(--oze-pink);
}
.oze-histoire__claim-title{
  font-family:var(--serif); font-weight:300;
  font-size:clamp(2.2rem,4vw,3.4rem); line-height:1.05; letter-spacing:-.01em;
  margin:0 0 1.4rem; color:var(--text);
}
.oze-histoire__claim-lead{
  font-family:var(--serif); font-size:1.3rem; font-weight:500;
  color:var(--text); margin:0 0 1rem;
}
.oze-histoire__claim-text{
  font-family:var(--serif); font-size:1.15rem; line-height:1.6;
  color:var(--text-soft); max-width:58ch; margin:0 auto 2.4rem;
}

/* Le mot de la fondatrice — split éditorial */
.oze-founder{ padding:110px 0; }
.oze-founder__grid{
  display:grid; grid-template-columns:1fr 1.15fr; gap:80px; align-items:flex-start;
  max-width:1100px; margin:0 auto;
}
.oze-founder__aside{ position:sticky; top:110px; }
.oze-founder__aside .oze-eyebrow{ color:var(--accent); }
.oze-founder__quote{
  font-family:var(--serif); font-style:italic; font-weight:300;
  font-size:clamp(2rem, 3vw, 2.8rem); line-height:1.15; letter-spacing:-.01em;
  color:var(--text); margin:1rem 0 0; border:0; padding:0;
}
.oze-founder__rule{
  display:block; width:64px; height:1px; background:var(--accent); margin-top:2rem;
}
.oze-founder__text{ font-size:1.1rem; line-height:1.8; }
.oze-founder__text p:first-child{ margin-top:0; }
@media (max-width:1024px){
  .oze-founder__grid{ grid-template-columns:1fr; gap:40px; }
  .oze-founder__aside{ position:static; }
}
@media (max-width:768px){
  .oze-histoire__hero{ padding:70px 0 56px; }
  .oze-histoire__cover{ aspect-ratio:4/3; }
  .oze-histoire__body{ padding:60px 0; }
  .oze-histoire__claim{ padding:64px 0; }
  .oze-founder{ padding:64px 0; }
}

/* Contact */
.oze-contact{ padding:100px 0; }
.oze-contact__grid{ display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; }
.oze-contact__left h1{ font-size:clamp(2rem,3.5vw,3rem); margin:0 0 1rem; }
.oze-contact__left p.intro{ font-family:var(--serif); font-size:1.2rem; color:var(--text-soft); margin:0 0 .5rem; }
.oze-contact__left p.cta{ font-family:var(--serif); font-size:1.1rem; margin:1rem 0 0; }
.oze-contact__infos{ list-style:none; padding:0; margin:36px 0 0; display:flex; flex-direction:column; gap:18px; }
.oze-contact__infos li{ display:flex; flex-direction:column; gap:4px; padding-bottom:14px; border-bottom:1px solid var(--line); }
.oze-contact__infos span{ font-size:.7rem; letter-spacing:.22em; text-transform:uppercase; color:var(--muted); }
.oze-contact__infos a, .oze-contact__infos address, .oze-contact__infos div{ font-family:var(--serif); font-size:1.15rem; font-style:normal; color:var(--text); }
.oze-contact__form{ background:var(--oze-blue); padding:clamp(34px,4vw,54px); }
.oze-contact__form p{ margin:0 0 20px; }
.oze-contact__form label{ display:block; font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; color:var(--text); margin-bottom:8px; font-weight:600; font-family:var(--sans); }
.oze-contact__form input[type=text], .oze-contact__form input[type=email], .oze-contact__form input[type=tel], .oze-contact__form textarea{
  width:100%; background:var(--bg-page); border:1px solid transparent;
  border-radius:0 ;
  padding:15px 18px; font-family:var(--sans); font-size:1rem; color:var(--text);
  outline:none; transition:border-color .3s, box-shadow .3s;
}
.oze-contact__form input:focus, .oze-contact__form textarea:focus{
  border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(198,168,135,.22);
}
.oze-contact__form textarea{ min-height:150px; resize:vertical; }
.oze-contact__form .wpcf7-submit, .oze-contact__form input[type=submit]{
  background:var(--oze-deep); color:#fff; padding:18px 40px; border:0;
  border-radius:0 ;
  font-size:.78rem; letter-spacing:.18em; text-transform:uppercase; cursor:pointer;
  font-weight:600; font-family:var(--sans);
  box-shadow:0 16px 34px -18px rgba(47,74,79,.6);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease);
}
.oze-contact__form .wpcf7-submit:hover{
  transform:translateY(-2px);
  box-shadow:0 22px 42px -18px rgba(47,74,79,.72);
}
/* Messages de validation CF7 */
.oze-contact__form .wpcf7-not-valid-tip{
  color:#9a3b3b; font-family:var(--sans); font-size:.8rem; margin-top:6px;
}
.oze-contact__form .wpcf7-not-valid{ border-color:#d98a8a !important; }
.oze-contact__form .wpcf7-response-output{
  border-radius:0 ; border-width:1px; margin:20px 0 0; padding:14px 18px;
  font-family:var(--sans); font-size:.9rem;
}
.oze-contact__form .wpcf7-spinner{ background-color:var(--oze-deep); }

/* Guide tailles */
.oze-guide__hero{ background:var(--bg-blue); padding:80px 0; text-align:center; }
.oze-guide__hero h1{ font-size:clamp(2.2rem,4vw,3.4rem); margin:0; }
.oze-guide__body{ padding:80px 0; }

/* ─── Boutique ─── */
.oze-shop-hero{ background:var(--bg-blue); padding:80px 0 70px; text-align:center; }
.oze-shop-hero h1{ font-size:clamp(2rem,3.5vw,3rem); margin:0 0 1rem; letter-spacing:.05em; }
.oze-shop-hero .oze-lead{ max-width:55ch; margin:0 auto; }
.oze-shop{ padding:80px 0 120px; }
.woocommerce-notices-wrapper:empty{ display:none; }
.woocommerce-result-count, .woocommerce-ordering{ font-size:.82rem; color:var(--muted); margin-bottom:24px; }

/* ═══════════════════════════════════════════════════════════════
   FICHE PRODUIT — layout éditorial premium
   ═══════════════════════════════════════════════════════════════ */
.oze-single{ padding:24px 0 120px; background:var(--bg-page); }
.oze-product{ position:relative; }
.oze-product > .container{ position:relative; z-index:1; }
.oze-product .woocommerce-product-gallery{ display:none !important; }

.oze-breadcrumb{
  font-size:.74rem; letter-spacing:.06em; color:var(--muted);
  display:flex; gap:8px; margin-bottom:36px; flex-wrap:wrap;
}
.oze-breadcrumb a{ transition:color .3s; }
.oze-breadcrumb a:hover{ color:var(--text); }
.oze-breadcrumb .current{ color:var(--text); }

.oze-product__layout{
  display:grid; grid-template-columns:1.25fr 1fr; gap:70px; align-items:flex-start;
}

/* ── Galerie : pile d'images en 1 colonne (defile sous le résumé sticky) ── */
.oze-gallery-grid{
  display:grid; grid-template-columns:1fr; gap:14px;
}
.oze-gallery-grid__item{
  margin:0; position:relative; aspect-ratio:4/5;
  background:#EFE9DF; overflow:hidden;
}
.oze-gallery-grid__item:first-child:nth-last-child(odd){ grid-column:auto; aspect-ratio:4/5; }
.oze-gallery-grid__img{
  position:absolute !important; inset:0 !important;
  width:100% !important; height:100% !important;
  max-width:none !important; max-height:none !important;
  object-fit:cover !important; object-position:center !important;
  display:block !important;
  transition:transform 1.4s var(--ease) !important;
}
.oze-gallery-grid__item:hover .oze-gallery-grid__img{ transform:scale(1.04); }

/* ── Colonne résumé : épinglée pendant le défilement des photos ── */
.oze-product__summary{ position:sticky; top:120px; padding-top:6px; align-self:start; }

.oze-product__top{
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  margin-bottom:18px;
}
.oze-product__category{ display:flex; align-items:center; gap:16px; min-width:0; }
.oze-product__category span:first-child{
  font-family:var(--sans); font-size:.72rem; letter-spacing:.2em; text-transform:uppercase;
  color:var(--muted); font-weight:500; white-space:nowrap;
}
.oze-product__rule{ display:block; width:60px; height:1px; background:var(--line); }
.oze-product__wishlist{
  background:transparent; border:0; padding:6px; cursor:pointer; color:var(--text);
  transition:color .3s, transform .3s var(--ease); flex-shrink:0;
}
.oze-product__wishlist svg{ width:24px; height:24px; }
.oze-product__wishlist:hover{ color:var(--oze-pink); transform:scale(1.1); }
.oze-product__wishlist.is-active svg{ fill:var(--oze-pink); stroke:var(--oze-pink); }

.oze-product__heading{
  display:flex; align-items:flex-start; justify-content:space-between; gap:24px;
  margin-bottom:18px;
}
.oze-product__title{
  font-family:var(--serif); font-weight:300;
  font-size:clamp(2rem, 3vw, 2.9rem); line-height:1.05; letter-spacing:-.01em;
  margin:0; color:var(--text);
}
.oze-product__price{
  font-family:var(--serif); font-weight:500;
  font-size:clamp(1.3rem, 1.8vw, 1.7rem); color:var(--text);
  white-space:nowrap; padding-top:.4em;
}
.oze-product__price del{ color:var(--muted); font-weight:300; font-size:.7em; margin-right:8px; }
.oze-product__price ins{ text-decoration:none; }

.oze-product__pill{
  display:inline-block; margin:0 0 28px;
  background:var(--oze-blue-2); color:var(--text);
  padding:8px 16px;
  font-family:var(--sans); font-size:.78rem; font-weight:500; letter-spacing:.04em;
}

.oze-product__cart{ margin:0 0 18px; }

/* Produit simple : form.cart = ligne quantité + bouton */
.oze-product form.cart{ display:flex; gap:12px; align-items:stretch; margin:0; flex-wrap:nowrap; }
/* Produit variable : form.cart = colonne (variations puis bouton) */
.oze-product form.variations_form.cart{ display:block; }

/* Tableau des variations */
.oze-product .variations{ width:100%; margin:0 0 18px; border-collapse:collapse; }
.oze-product .variations tr{ display:block; margin-bottom:14px; }
.oze-product .variations th,
.oze-product .variations td{ display:block; padding:0; text-align:left; }
.oze-product .variations th.label{
  font-family:var(--sans); font-size:.72rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--muted); font-weight:500; margin-bottom:8px;
}
.oze-product .variations th.label label{ margin:0; }
.oze-product .variations select{
  width:100%; padding:16px 14px; border:1px solid var(--line);
  background:var(--bg-page); font-family:var(--serif); font-size:1.05rem; color:var(--text);
  cursor:pointer; -webkit-appearance:none; appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23121212' fill='none' stroke-width='1.4'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 16px center;
}
.oze-product .variations select:focus{ outline:1px solid var(--text); }
.oze-product .reset_variations{
  display:inline-block; margin-top:6px;
  font-size:.78rem; color:var(--muted); border-bottom:1px solid var(--muted);
}

/* Prix de la variation sélectionnée */
.oze-product .single_variation{
  margin-bottom:14px; font-family:var(--serif);
}
.oze-product .single_variation .price{
  font-size:1.5rem; font-weight:500; color:var(--text);
}
.oze-product .woocommerce-variation-availability{ font-size:.9rem; color:var(--muted); }

/* Ligne quantité + bouton (simple ET variable) */
.oze-product .woocommerce-variation-add-to-cart,
.oze-product form.cart > .quantity ~ .single_add_to_cart_button{ /* fallback */ }
.oze-product .woocommerce-variation-add-to-cart{
  display:flex; gap:12px; align-items:stretch; flex-wrap:nowrap;
}
.oze-product .quantity{ flex-shrink:0; display:flex; }
.oze-product .quantity input{
  width:68px; min-height:62px; padding:0 8px;
  border:1px solid var(--line); background:var(--bg-page);
  font-family:var(--serif); font-size:1.1rem; text-align:center; color:var(--text);
}
.oze-product .single_add_to_cart_button{
  flex:1; background:var(--text) !important; color:var(--bg-page) !important;
  border:0 !important; border-radius:0 !important;
  padding:22px 30px !important; cursor:pointer; min-height:62px;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--sans) !important; font-size:.8rem !important; font-weight:500 !important;
  letter-spacing:.22em; text-transform:uppercase; line-height:1.3;
  transition:background .35s var(--ease), letter-spacing .35s var(--ease) !important;
}
.oze-product .single_add_to_cart_button:hover{
  background:var(--accent) !important; letter-spacing:.26em;
}
.oze-product .single_add_to_cart_button.disabled,
.oze-product .single_add_to_cart_button:disabled{ opacity:.4; cursor:not-allowed; }

/* Infos paiement / livraison */
.oze-product__reassure{
  list-style:none; margin:4px 0 8px; padding:0;
  border-top:1px solid var(--line);
}
.oze-product__reassure li{
  display:flex; align-items:center; gap:16px;
  padding:15px 2px;
  border-bottom:1px solid var(--line);
}
.oze-product__reassure-ic{
  flex-shrink:0; width:44px; height:44px; border-radius:0 ;
  background:var(--oze-blue-2); color:var(--text);
  display:flex; align-items:center; justify-content:center;
}
.oze-product__reassure-ic svg{ width:21px; height:21px; }
.oze-product__reassure div{ display:flex; flex-direction:column; gap:3px; }
.oze-product__reassure strong{
  font-family:var(--serif); font-size:1.06rem; font-weight:500; color:var(--text);
  line-height:1.2;
}
.oze-product__reassure span{ font-size:.84rem; color:var(--muted); }

/* ── Accordéons ── */
.oze-accordion{ margin-top:14px; }
.oze-accordion__item{ border-bottom:1px solid var(--line); }
.oze-accordion__head{
  list-style:none; cursor:pointer;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:22px 0;
  font-family:var(--serif); font-size:1.2rem; font-weight:400; color:var(--text);
}
.oze-accordion__head::-webkit-details-marker{ display:none; }
.oze-accordion__head::marker{ content:''; }
.oze-accordion__icon{
  position:relative; width:16px; height:16px; flex-shrink:0;
}
.oze-accordion__icon::before,
.oze-accordion__icon::after{
  content:''; position:absolute; background:var(--text);
  transition:transform .35s var(--ease), opacity .35s var(--ease);
}
.oze-accordion__icon::before{ top:50%; left:0; width:100%; height:1.5px; transform:translateY(-50%); }
.oze-accordion__icon::after{ left:50%; top:0; width:1.5px; height:100%; transform:translateX(-50%); }
.oze-accordion__item[open] .oze-accordion__icon::after{ opacity:0; transform:translateX(-50%) rotate(90deg); }
.oze-accordion__body{
  padding:0 0 26px;
  font-family:var(--serif); font-size:1.02rem; line-height:1.7; color:var(--text-soft);
  animation:ozeAccordion .4s var(--ease);
}
@keyframes ozeAccordion{ from{ opacity:0; transform:translateY(-6px); } to{ opacity:1; transform:none; } }
.oze-accordion__body p{ margin:0 0 .9rem; }
.oze-accordion__body p:last-child{ margin-bottom:0; }
.oze-accordion__body ul{ margin:0 0 .9rem; padding-left:1.2rem; }

.oze-product__specs{ margin:0; display:grid; grid-template-columns:auto 1fr; gap:10px 24px; }
.oze-product__specs dt{
  font-family:var(--sans); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--muted); align-self:center;
}
.oze-product__specs dd{ margin:0; font-family:var(--serif); font-size:1.05rem; color:var(--text); }

/* ── Section "Vous aimerez aussi" ── */
.oze-related{ margin-top:120px; padding-top:70px; border-top:1px solid var(--line); }
.oze-related__head{ text-align:center; margin-bottom:54px; }
.oze-related__head .oze-eyebrow{ color:var(--accent); margin-bottom:.8rem; }
.oze-related__head h2{ margin:0; font-weight:300; font-size:clamp(2rem,3vw,3rem); letter-spacing:-.01em; }

/* ── Responsive fiche produit ── */
@media (max-width:1024px){
  .oze-product__layout{ grid-template-columns:1fr; gap:48px; }
  .oze-product__summary{ position:static; }
  .oze-gallery-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:560px){
  /* Galerie produit : carrousel horizontal (swipe) */
  .oze-gallery-grid{
    display:flex; grid-template-columns:none;
    gap:10px;
    overflow-x:auto; scroll-snap-type:x mandatory;
    scrollbar-width:none; -webkit-overflow-scrolling:touch;
  }
  .oze-gallery-grid::-webkit-scrollbar{ display:none; }
  .oze-gallery-grid__item,
  .oze-gallery-grid__item:first-child:nth-last-child(odd){
    flex:0 0 88%; scroll-snap-align:center;
    aspect-ratio:4/5; grid-column:auto;
  }
  /* Pas d'effet de révélation au défilement — photo affichée directement */
  .oze-gallery-grid__item.oze-reveal-img::after{ display:none !important; }
  .oze-gallery-grid__item.oze-reveal-img img{ transform:none !important; transition:none !important; }
  .oze-product__heading{ flex-direction:column; gap:10px; }
  .oze-product .cart{ flex-wrap:wrap; }
  .oze-product .single_add_to_cart_button{ flex:1 1 100%; }
}

/* ─── Cart/Checkout ─── */
.woocommerce-cart .container, .woocommerce-checkout .container{ padding-top:60px; padding-bottom:80px; }
.woocommerce table.shop_table{ border:0; }
.woocommerce table.shop_table th{ font-family:var(--sans); font-weight:500; font-size:.74rem; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); padding:18px 12px; border-bottom:1px solid var(--line); }
.woocommerce table.shop_table td{ padding:24px 12px; border-bottom:1px solid var(--line); font-family:var(--serif); font-size:1.05rem; }
.woocommerce .button, .woocommerce a.button{ background:var(--text); color:var(--bg-page); padding:14px 28px; border-radius:0 ; font-size:.76rem; letter-spacing:.2em; text-transform:uppercase; }
.woocommerce .button:hover{ background:rgba(18,18,18,.85); color:var(--bg-page); }

/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE — passe premium mobile + tablette
   Breakpoints : 1280 (large tablet) · 1024 (tablet) · 768 (mobile L) · 480 (mobile)
   ═══════════════════════════════════════════════════════════════ */

/* ── Grand desktop / tablet large (≤1280) ───────────────────── */
@media (max-width:1280px){
  .oze-product-grid, .oze-product-grid--4, .products{ grid-template-columns:repeat(3,1fr); gap:48px 22px; }
  .container{ padding:0 28px; }
  .oze-footer__top{ grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:40px; }
}

/* ── Tablette (≤1024) ───────────────────────────────────────── */
@media (max-width:1024px){
  .oze-nav{ display:none; }
  .oze-header__menu-btn{ display:inline-flex; }
  .oze-header__inner{ padding:0 24px; }

  .oze-hero__inner{ padding:0 24px; }
  .oze-hero__title{ font-size:clamp(2.4rem, 6vw, 4rem); }

  .oze-intro__grid, .oze-vintage__grid, .oze-product__layout, .oze-contact__grid{
    grid-template-columns:1fr; gap:50px;
  }
  .oze-product-grid, .oze-product-grid--4, .products, .oze-related .products{
    grid-template-columns:repeat(3,1fr); gap:40px 20px;
  }
  .oze-footer__top{ grid-template-columns:1fr 1fr; gap:40px 30px; }
  .oze-footer__brand{ grid-column:1 / -1; }
  .oze-pillars__grid{ grid-template-columns:repeat(2,1fr); }
  section, .oze-why, .oze-vintage, .oze-collection, .oze-quote{ padding:80px 0; }

  /* Single product : layout stack sur tablette */
  .oze-pg{ grid-template-columns:1fr; gap:14px; }
  .oze-pg__main{ order:1; }
  .oze-pg__thumbs{ order:2; flex-direction:row; flex-wrap:wrap; gap:8px; }
  .oze-pg__thumb{ width:64px; }
  .oze-product__summary{ position:static; padding-top:10px; }
}

/* ── Mobile large (≤768) — passe premium ────────────────────── */
@media (max-width:768px){
  :root{ --container: 100%; }
  .container{ padding:0 20px; }
  body{ font-size:15px; }
  section{ padding:60px 0; }

  /* Marquee plus discret */
  .oze-marquee{ font-size:.62rem; padding:.55rem 0; letter-spacing:.22em; }

  /* Header compact */
  .oze-header{ height:64px; }
  .oze-header__inner{ padding:0 20px; gap:16px; }
  .oze-logo img{ height:38px !important; max-height:38px !important; }
  .oze-header__menu-btn{ padding:10px 6px 10px 0; }
  .oze-cart-link{ padding:10px 0 10px 6px; }

  /* HERO mobile */
  .oze-hero{ min-height:88vh; padding-top:0; margin-top:-64px; padding-top:64px; }
  .oze-hero__title{
    font-size:clamp(2.2rem, 9vw, 3.4rem); margin-bottom:1.5rem; max-width:18ch;
  }
  .oze-hero__ctas{ flex-direction:column; gap:12px; width:100%; padding:0 24px; max-width:340px; margin:0 auto; }
  .oze-hero__ctas .oze-btn{ width:100%; justify-content:center; }

  /* Display tighter */
  .oze-display{ font-size:clamp(1.9rem, 7vw, 2.6rem); }
  .oze-eyebrow{ font-size:.68rem; margin-bottom:.9rem; }
  .oze-lead{ font-size:1.05rem; }

  /* Sections content */
  .oze-ecrin__head{ margin-bottom:40px; }
  .oze-ecrin__head p{ font-size:1rem; }
  .oze-ecrin--rose .oze-ecrin__head h2{ white-space:normal; }
  .oze-why{ padding:70px 0; }
  .oze-why p{ font-size:1.05rem; }
  .oze-vintage{ padding:70px 0; }

  /* Product grid : 2 colonnes denses */
  .oze-product-grid, .oze-product-grid--4, .products, .oze-related .products{
    grid-template-columns:repeat(2,1fr); gap:32px 12px;
  }
  .oze-card__body{ padding-top:12px; gap:10px; }
  .oze-card__body h3{ font-size:1.02rem; }
  .oze-card .oze-price{ font-size:.92rem; }
  .oze-ecrin__more{ margin-top:50px; }
  .oze-ecrin__more .oze-btn{ width:100%; max-width:340px; justify-content:center; }

  /* Pillars */
  .oze-pillars{ padding:80px 0; }
  .oze-pillars__grid{ grid-template-columns:1fr; gap:32px; }

  /* Quote */
  .oze-quote{ padding:80px 0; }
  .quote-mark{ font-size:4rem; }

  /* Pages */
  .oze-page__header{ padding:50px 0 30px; }
  .oze-histoire__hero, .oze-guide__hero, .oze-shop-hero{ padding:60px 0 50px; }
  .oze-histoire__body, .oze-founder, .oze-contact__inner{ padding:60px 0; }
  .oze-histoire__claim{ padding:60px 0; }
  .oze-founder__quote{ font-size:1.4rem; }

  /* Contact */
  .oze-contact__form{ padding:30px 24px; }
  .oze-contact__infos{ margin-top:28px; }

  /* Single product mobile */
  .oze-single{ padding:20px 0 100px; } /* bottom padding pour sticky bar */
  .oze-breadcrumb{ font-size:.7rem; margin-bottom:24px; gap:6px; }
  .oze-product__layout{ gap:36px; }
  .oze-pg__thumbs{ flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
  .oze-pg__thumbs::-webkit-scrollbar{ display:none; }
  .oze-pg__thumb{ width:60px; flex-shrink:0; }
  .oze-product__category{ margin-bottom:14px; }
  .oze-product__heading{ gap:6px; margin-bottom:14px; }
  .oze-product__title{ font-size:clamp(2rem, 8vw, 2.6rem); margin-bottom:0; }
  .oze-product__price{ font-size:clamp(1.6rem, 6vw, 2rem); padding:0; margin:0; }
  .oze-product__pill{ margin:0 0 22px; }
  .oze-product__short{ font-size:.98rem; }
  .oze-product__meta{ grid-template-columns:1fr 1fr; gap:14px 20px; }
  .oze-product__meta strong{ font-size:.98rem; }
  .oze-product__description{ margin-top:56px; padding-top:44px; }
  .oze-related{ margin-top:72px; padding-top:46px; }
  .oze-related .products{ grid-template-columns:repeat(2,1fr); }
  .oze-product form.cart{ gap:10px; }
  .oze-product .single_add_to_cart_button{
    flex:1; justify-content:center; padding:18px 20px !important; min-height:60px;
  }
  .oze-product .cart{ width:100%; }
  .oze-product .quantity{ width:auto; flex-shrink:0; }
  .oze-product .quantity input{ width:66px !important; min-height:60px; }

  /* Footer mobile */
  .oze-footer{ padding:52px 0 20px; }
  .oze-footer__top{ grid-template-columns:1fr; gap:0; padding-bottom:26px; }
  .oze-footer__brand{ grid-column:auto; text-align:left; padding:0 0 28px; }
  .oze-footer__col{ padding:22px 0; border-top:1px solid rgba(18,18,18,.14); }
  .oze-footer__brand{ border-top:0; }
  .oze-footer__col h4{ margin-bottom:.85rem; font-size:.72rem; }
  .oze-footer__list{ font-size:1.06rem; gap:.45rem; }
  .oze-footer__desc{ max-width:none; }
  .oze-footer__payments{ flex-direction:column; align-items:flex-start; gap:12px; padding:24px 0; }
  .oze-footer__bottom{ flex-direction:column; gap:6px; padding-top:20px; }

  /* Cart drawer plein écran */
  .oze-cart-drawer{ width:100vw; }
  .oze-cart-drawer__header, .oze-cart-drawer__body, .oze-cart-drawer__footer{ padding-left:20px; padding-right:20px; }
  .oze-cart-drawer__title{ font-size:1.4rem; }
  .oze-cart-item{ grid-template-columns:78px 1fr; gap:14px; padding:20px 0; }
  .oze-cart-item__name{ font-size:1.05rem; }
  .oze-cart-item__price{ font-size:1rem; }
}

/* ── Petit mobile (≤480) ────────────────────────────────────── */
@media (max-width:480px){
  .container{ padding:0 16px; }
  .oze-header__inner{ padding:0 16px; }
  .oze-marquee__track{ gap:1.2rem; }

  /* Hero un peu plus haut */
  .oze-hero__title{ font-size:clamp(2rem, 10vw, 2.8rem); }
  .oze-hero__ctas .oze-btn{ padding:14px 22px; font-size:.72rem; }

  /* Sections */
  section, .oze-why, .oze-vintage, .oze-collection, .oze-quote, .oze-cta-final{ padding:54px 0; }
  .oze-page__header{ padding:36px 0 24px; }
  .oze-histoire__hero, .oze-guide__hero, .oze-shop-hero{ padding:44px 0 34px; }

  /* Product card : 1 colonne sur très petit écran ? Non on garde 2 mais on resserre */
  .oze-product-grid, .oze-product-grid--4, .products, .oze-related .products{
    gap:26px 10px;
  }
  .oze-card__body h3{ font-size:.98rem; }

  /* Single product padding sticky */
  .oze-single{ padding-bottom:120px; }
  .oze-product__layout{ gap:28px; }

  /* Footer */
  .oze-footer{ padding:50px 0 20px; }
}

/* ── Sticky add-to-cart bar (mobile seulement) ──────────────── */
.oze-mobile-buy{
  position:fixed; left:0; right:0; bottom:0; z-index:80;
  background:var(--bg-page); border-top:1px solid var(--line);
  padding:12px 16px calc(12px + env(safe-area-inset-bottom));
  display:none; align-items:center; justify-content:space-between; gap:14px;
  box-shadow:0 -6px 20px -10px rgba(18,22,18,.15);
  transform:translateY(100%); transition:transform .5s var(--ease);
}
.oze-mobile-buy.is-visible{ transform:translateY(0); }
.oze-mobile-buy__left{ flex:1; min-width:0; }
.oze-mobile-buy__name{ font-family:var(--serif); font-size:.95rem; color:var(--text); margin:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.oze-mobile-buy__price{ font-family:var(--serif); font-size:1.15rem; color:var(--text); font-weight:500; }
.oze-mobile-buy__btn{
  background:var(--text); color:var(--bg-page); padding:14px 22px; border:0; cursor:pointer;
  font-family:var(--sans); font-size:.72rem; letter-spacing:.18em; text-transform:uppercase;
  flex-shrink:0;
}
.oze-mobile-buy__btn:hover{ opacity:.85; }
@media (max-width:768px){
  body.single-product .oze-mobile-buy{ display:flex; }
  body.single-product{ padding-bottom:80px; }
}

/* ── Reduce motion ──────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{ animation-duration:.01s !important; transition-duration:.01s !important; }
}

/* ═══════════════════════════════════════════════════════════════
   CART DRAWER — panier latéral premium
   ═══════════════════════════════════════════════════════════════ */
.oze-cart-overlay{
  position:fixed; inset:0; background:rgba(18,18,18,.5);
  opacity:0; visibility:hidden; z-index:200;
  transition:opacity .5s var(--ease), visibility 0s .5s;
  backdrop-filter:blur(4px);
}
.oze-cart-overlay.is-open{ opacity:1; visibility:visible; transition:opacity .5s var(--ease); }

.oze-cart-drawer{
  position:fixed; top:0; right:0; bottom:0;
  width:min(458px, 94vw);
  background:var(--bg-page);
  z-index:210;
  transform:translateX(100%);
  transition:transform .6s var(--ease);
  display:flex; flex-direction:column;
  box-shadow:-30px 0 80px -28px rgba(18,18,18,.32);
}
.oze-cart-drawer.is-open{ transform:translateX(0); }
.oze-cart-drawer__inner-content{
  display:flex; flex-direction:column; flex:1; min-height:0;
}

/* Header */
.oze-cart-drawer__header{
  display:flex; align-items:center; justify-content:space-between;
  padding:30px 28px 20px;
  flex-shrink:0;
}
.oze-cart-drawer__title{
  font-family:var(--serif); font-size:1.6rem; font-weight:700; margin:0;
  display:flex; align-items:center; gap:12px; color:var(--text);
}
.oze-cart-drawer__count{
  font-family:var(--sans); font-size:.72rem; font-weight:600; letter-spacing:.02em;
  background:var(--accent); color:#fff;
  min-width:24px; height:24px; padding:0 7px;
  border-radius:0 ;
  display:inline-flex; align-items:center; justify-content:center;
}
.oze-cart-drawer__close{
  background:#fff; border:1px solid var(--line); border-radius:0 ;
  width:40px; height:40px; padding:0; cursor:pointer;
  color:var(--text); display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
  transition:transform .35s var(--ease), background .3s;
}
.oze-cart-drawer__close:hover{ transform:rotate(90deg); background:var(--oze-blue-2); }
.oze-cart-drawer__close svg{ width:18px; height:18px; }

/* Body */
.oze-cart-drawer__body{
  flex:1; overflow-y:auto; padding:6px 22px 24px;
  scrollbar-width:thin;
}
.oze-cart-drawer__body::-webkit-scrollbar{ width:5px; }
.oze-cart-drawer__body::-webkit-scrollbar-thumb{ background:rgba(18,18,18,.14); border-radius:0 ; }

/* Empty state */
.oze-cart-empty{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; padding:90px 24px;
  font-family:var(--serif); color:var(--text-soft);
}
.oze-cart-empty__icon{
  width:84px; height:84px; border-radius:0 ; background:var(--oze-blue-2);
  display:flex; align-items:center; justify-content:center; margin-bottom:22px;
  color:var(--text);
}
.oze-cart-empty__icon svg{ width:34px; height:34px; }
.oze-cart-empty p{ font-size:1.2rem; margin:0 0 26px; color:var(--text); }

/* Cart list — cartes */
.oze-cart-list{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:14px; }
.oze-cart-item{
  display:grid; grid-template-columns:86px 1fr; gap:16px;
  padding:16px; align-items:flex-start;
  background:#fff; border-radius:0 ;
  box-shadow:0 12px 32px -24px rgba(18,18,18,.55);
  animation:ozeFadeInUp .4s var(--ease);
}
.oze-cart-item__media{
  display:block; aspect-ratio:1/1; background:var(--oze-blue-2);
  overflow:hidden; border-radius:0 ;
}
.oze-cart-item__media img{ width:100%; height:100%; object-fit:cover; display:block; }

.oze-cart-item__body{ display:flex; flex-direction:column; gap:8px; min-width:0; }
.oze-cart-item__top{ display:flex; justify-content:space-between; align-items:flex-start; gap:10px; }
.oze-cart-item__name{
  font-family:var(--serif); font-size:1.1rem; line-height:1.3; color:var(--text);
  font-weight:700; transition:color .3s; max-width:calc(100% - 28px);
}
.oze-cart-item__name:hover{ color:var(--accent); }
.oze-cart-item__remove{
  flex-shrink:0; color:var(--muted); padding:2px; transition:color .3s, transform .3s;
  display:inline-flex;
}
.oze-cart-item__remove:hover{ color:var(--text); transform:rotate(90deg); }
.oze-cart-item__remove svg{ width:15px; height:15px; }

.oze-cart-item__meta{
  font-size:.72rem; color:var(--muted); text-transform:uppercase; letter-spacing:.1em;
  font-family:var(--sans);
}
.oze-cart-item__meta dl{ margin:0; display:flex; flex-wrap:wrap; gap:4px 12px; }
.oze-cart-item__meta dt, .oze-cart-item__meta dd{ display:inline; margin:0; }
.oze-cart-item__meta dt::after{ content:" :"; }

.oze-cart-item__bottom{
  display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:4px;
}
.oze-cart-item__price{
  font-family:var(--serif); font-size:1.05rem; color:var(--text); font-weight:700;
}

/* Quantity controls — pilule */
.oze-qty{
  display:inline-flex; align-items:center;
  border:1px solid var(--line); border-radius:0 ;
  background:var(--bg-page); overflow:hidden;
}
.oze-qty__btn{
  background:transparent; border:0; width:32px; height:32px;
  font-family:var(--sans); font-size:1rem; color:var(--text);
  cursor:pointer; transition:background .2s; line-height:1;
}
.oze-qty__btn:hover{ background:var(--oze-blue-2); }
.oze-qty__input{
  width:32px; height:32px; border:0; background:transparent; text-align:center;
  font-family:var(--serif); font-size:.95rem; font-weight:700; color:var(--text);
  -moz-appearance:textfield; outline:none;
}
.oze-qty__input::-webkit-outer-spin-button,
.oze-qty__input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }

/* Footer — panneau surélevé */
.oze-cart-drawer__footer{
  flex-shrink:0; padding:24px 26px 26px;
  background:#fff;
  border-radius:0 ;
  box-shadow:0 -18px 44px -34px rgba(18,18,18,.5);
}
.oze-cart-drawer__totals{ margin-bottom:16px; }
.oze-cart-drawer__row{
  display:flex; justify-content:space-between; align-items:baseline;
  font-family:var(--serif); margin-bottom:6px;
}
.oze-cart-drawer__row span{ font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); font-family:var(--sans); font-weight:600; }
.oze-cart-drawer__row strong{ font-size:1.5rem; font-weight:700; color:var(--text); }
.oze-cart-drawer__note{
  font-size:.76rem; color:var(--muted); margin:6px 0 0; font-family:var(--sans);
}
.oze-cart-drawer__actions{ display:flex; flex-direction:column; gap:12px; align-items:stretch; margin-top:18px; }
.oze-btn--block{ width:100%; justify-content:center; padding:18px 30px; }
.oze-cart-drawer__link{
  text-align:center; font-size:.74rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--muted); padding:4px 0; transition:color .3s; font-weight:600;
}
.oze-cart-drawer__link:hover{ color:var(--text); }

/* Loading state */
.oze-cart-drawer.is-loading .oze-cart-drawer__body{ opacity:.45; pointer-events:none; }

/* Body locked when drawer open */
body.no-scroll{ overflow:hidden; }

@media (max-width:480px){
  .oze-cart-drawer{ width:100vw; }
  .oze-cart-drawer__header, .oze-cart-drawer__body, .oze-cart-drawer__footer{ padding-left:20px; padding-right:20px; }
  .oze-cart-item{ grid-template-columns:80px 1fr; gap:14px; }
}

/* ─── Palette signature Oze (juste avant le footer) ─── */
.oze-palette{
  padding:80px 0 70px;
  text-align:center;
  background:var(--bg-page);
}
.oze-palette__strip{
  display:flex; gap:0;
  max-width:760px; margin:0 auto;
  height:60px;
  overflow:hidden;
}
.oze-palette__strip span{
  flex:1;
  background:var(--c);
  transition:flex .55s var(--ease);
}
.oze-palette__strip:hover span{ flex:1; }
.oze-palette__strip span:hover{ flex:2.4; }
.oze-palette__label{
  font-family:var(--sans);
  font-size:.72rem; letter-spacing:.32em; text-transform:uppercase;
  color:var(--muted); margin:24px 0 0; font-weight:500;
}
@media (max-width:768px){
  .oze-palette{ padding:60px 0 50px; }
  .oze-palette__strip{ height:46px; margin:0 20px; }
}

/* ═══════════════════════════════════════════════════════════════
   HOME — nouvelle structure selon wireframe
   ═══════════════════════════════════════════════════════════════ */

/* ─── 1. HERO SPLIT (BLEU) ─── */
.oze-hero-split{
  background:var(--oze-blue);
  padding:56px 0;
  margin-top:-72px;       /* glisse sous la navbar transparente */
  padding-top:128px;      /* compense (72px nav + 56px respiration) */
  position:relative;
  overflow:hidden;
}
.oze-hero-split__grid{
  display:grid;
  grid-template-columns: 1.05fr 1fr;
  gap:80px;
  align-items:center;
  min-height:460px;
}
.oze-hero-split__text{
  position:relative; padding-right:20px;
  color:var(--text);
}
.oze-hero-split__eyebrow{
  font-family:var(--sans); font-size:.72rem; letter-spacing:.28em; text-transform:uppercase;
  color:var(--text); margin:0 0 1.8rem; font-weight:500;
}
.oze-hero-split__title{
  font-family:var(--serif); font-weight:300;
  font-size:clamp(2.6rem, 5vw, 4.6rem);
  letter-spacing:-.015em; line-height:1.03;
  color:var(--text); margin:0;
}
.oze-hero-split__rule{
  display:block; width:60px; height:1px;
  background:var(--text); opacity:.6;
  margin:2.2rem 0;
}
.oze-hero-split__sub{
  font-family:var(--serif); font-size:clamp(1.1rem, 1.4vw, 1.35rem);
  line-height:1.55; color:var(--text); max-width:42ch; margin:0 0 2.4rem;
}
.oze-hero-split__ctas{ display:flex; gap:14px; flex-wrap:wrap; }
.oze-hero-split__ctas .oze-btn--ghost{ color:var(--text); border-color:var(--text); }
.oze-hero-split__ctas .oze-btn--ghost:hover{ background:var(--text); color:var(--oze-blue); }
.oze-hero-split__visual{
  position:relative; aspect-ratio:4/5;
  background:var(--oze-blue-2); overflow:hidden;
  box-shadow:0 30px 80px -30px rgba(18,18,18,.25);
}
.oze-hero-split__visual img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  transition:transform 12s var(--ease);
}
.oze-hero-split:hover .oze-hero-split__visual img{ transform:scale(1.05); }

/* ─── 2. BASELINE STRIP (OLIVE, marquee) ─── */
.oze-baseline{
  background:var(--oze-olive);
  padding:28px 0;
  position:relative;
  overflow:hidden;
}
.oze-baseline__track{
  display:flex; align-items:center;
  gap:36px;
  white-space:nowrap; width:max-content;
  animation:ozeBaselineScroll 44s linear infinite;
  will-change:transform;
}
.oze-baseline:hover .oze-baseline__track{ animation-play-state:paused; }
.oze-baseline__item{
  font-family:var(--sans); font-weight:400;
  font-size:clamp(1.15rem, 1.5vw, 1.6rem);
  letter-spacing:.01em; text-transform:none;
  color:#fff;
  flex-shrink:0;
}
.oze-baseline__dot{
  color:#fff; opacity:.95;
  font-size:.7em;
  flex-shrink:0;
}
.oze-baseline__dot svg *{ fill:var(--oze-yellow); }
@keyframes ozeBaselineScroll{
  from{ transform:translateX(0); }
  to  { transform:translateX(-50%); }
}
@media (max-width:768px){
  .oze-baseline{ padding:20px 0; }
  .oze-baseline__track{ gap:24px; animation-duration:62s; }
  .oze-baseline__item{ font-size:1rem; letter-spacing:.18em; }
}

/* ─── 3. ÉCRIN ROSE ─── */
.oze-ecrin--rose{
  background:var(--bg-page);
  padding:110px 0 100px;
  position:relative;
}
.oze-ecrin--rose::before{ display:none; }
.oze-ecrin--rose::after{ display:none !important; }

/* Grille composée 3×3 sur desktop (legacy) */
.oze-product-grid--composed{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:32px 24px;
}

/* Header de la section écrin sur la home */
.oze-ecrin--rose .oze-ecrin__head{
  text-align:center; max-width:none; margin:0 auto 60px;
}
.oze-ecrin--rose .oze-ecrin__head .oze-eyebrow{ color:var(--text); margin-bottom:1rem; }
.oze-ecrin--rose .oze-ecrin__head h2{ margin:0 0 1.2rem; white-space:nowrap; }
.oze-ecrin--rose .oze-ecrin__head p{
  font-family:var(--serif); font-size:1.15rem; color:var(--text-soft);
  margin:0 auto; max-width:60ch;
}

/* Bandeau "Oze le vintage" en pleine largeur sous l'écrin */
.oze-vintage-cta{ padding:60px 0 110px; background:var(--oze-pink-2); }
.oze-vintage-cta .oze-card--feature{
  aspect-ratio:auto; min-height:280px;
  flex-direction:row; align-items:center; justify-content:space-between;
  padding:50px 60px;
  background:var(--oze-yellow);
}
.oze-vintage-cta .oze-card--feature__inner{
  flex-direction:row; align-items:center; justify-content:space-between;
  width:100%; gap:40px;
}
.oze-vintage-cta .oze-card--feature__inner > *{ flex-shrink:0; }
.oze-vintage-cta .oze-card--feature__title{ flex:1; max-width:50%; }
.oze-vintage-cta .oze-card--feature__text{ flex:1; max-width:32ch; }
@media (max-width:768px){
  .oze-vintage-cta{ padding:40px 0 70px; }
  .oze-vintage-cta .oze-card--feature{ padding:32px 24px; }
  .oze-vintage-cta .oze-card--feature__inner{ flex-direction:column; align-items:flex-start; gap:18px; }
  .oze-vintage-cta .oze-card--feature__title, .oze-vintage-cta .oze-card--feature__text{ max-width:none; }
}

/* Cartes "feature" — intro et vintage */
.oze-card--feature{
  display:flex; flex-direction:column; justify-content:flex-end;
  position:relative; aspect-ratio:4/5;
  padding:32px;
  background:var(--bg-page);
  transition:transform .5s var(--ease), box-shadow .5s var(--ease);
  text-decoration:none;
}
.oze-card--feature:hover{
  transform:translateY(-4px);
  box-shadow:0 25px 50px -25px rgba(18,18,18,.2);
}
.oze-card--feature__inner{
  display:flex; flex-direction:column; gap:14px;
  height:100%; justify-content:flex-end;
  position:relative; z-index:1;
}
.oze-card--feature .oze-eyebrow{ margin:0 0 .5rem; color:var(--text); }
.oze-card--feature__title{
  font-family:var(--serif); font-weight:300;
  font-size:clamp(1.6rem, 2.4vw, 2.2rem);
  letter-spacing:-.005em; line-height:1.05;
  margin:0; color:var(--text);
}
.oze-card--feature__text{
  font-family:var(--serif); font-size:1.02rem; line-height:1.5;
  color:var(--text-soft); margin:0; max-width:30ch;
}
.oze-card--feature__arrow{
  display:inline-flex; align-items:center; justify-content:center;
  width:42px; height:42px; border-radius:0 ;
  border:1px solid var(--text); color:var(--text);
  margin-top:14px; transition:background .35s, color .35s, transform .35s var(--ease);
}
.oze-card--feature__arrow svg{ width:18px; height:18px; }
.oze-card--feature:hover .oze-card--feature__arrow{
  background:var(--text); color:var(--bg-page); transform:translate(4px,-4px);
}

/* Variante VINTAGE (jaune) */
.oze-card--vintage{ background:var(--oze-yellow); }
.oze-card--vintage .oze-card--feature__arrow{ border-color:var(--text); }
.oze-card--vintage:hover .oze-card--feature__arrow{ background:var(--text); color:var(--oze-yellow); }

.oze-ecrin__more{ margin-top:60px; text-align:center; }

/* ─── 4. CTA CARTE CADEAU (ROSE) ─── */
.oze-gift{
  background:var(--oze-pink);
  padding:120px 0;
  position:relative;
}
.oze-gift__grid{
  display:grid; grid-template-columns:1fr 1fr; gap:80px;
  align-items:center; max-width:1200px; margin:0 auto;
}
.oze-gift__visual{
  aspect-ratio:5/4; overflow:hidden;
  background:var(--oze-pink-2);
  box-shadow:0 30px 80px -30px rgba(18,18,18,.25);
}
.oze-gift__visual img{ width:100%; height:100%; object-fit:contain; padding:clamp(16px,3vw,40px); }
.oze-gift__placeholder{
  width:100%; height:100%;
  background:linear-gradient(135deg, var(--oze-yellow) 25%, var(--oze-blue-2) 25% 50%, var(--oze-olive-2) 50% 75%, var(--oze-pink-2) 75%);
}
.oze-gift__text{ color:var(--text); }
.oze-gift__text .oze-eyebrow{ color:var(--text); }
.oze-gift__text .oze-display{
  font-weight:300; font-size:clamp(2.4rem, 4vw, 3.8rem);
  letter-spacing:-.015em; line-height:1.05; margin:0 0 1.5rem;
}
.oze-gift__text .oze-display em{ font-style:italic; }
.oze-gift__text .oze-lead{ color:var(--text); opacity:.85; max-width:42ch; margin-bottom:2rem; }

/* ─── Responsive home wireframe ─── */
@media (max-width:1024px){
  .oze-hero-split{ padding:50px 0 80px; padding-top:132px; }
  .oze-hero-split__grid{ grid-template-columns:1fr; gap:50px; min-height:auto; }
  .oze-hero-split__text{ padding-right:0; text-align:left; }
  .oze-hero-split__visual{ max-width:500px; margin:0 auto; }
  .oze-product-grid--composed{ grid-template-columns:repeat(2, 1fr); gap:28px 18px; }
  .oze-gift__grid{ grid-template-columns:1fr; gap:50px; }
  .oze-gift__visual{ max-width:500px; margin:0 auto; }
}
@media (max-width:768px){
  .oze-hero-split{ padding-top:100px; padding-bottom:60px; }
  .oze-hero-split__title{ font-size:clamp(2.2rem, 9vw, 3.4rem); }
  .oze-hero-split__ctas{ flex-direction:column; align-items:stretch; }
  .oze-hero-split__ctas .oze-btn{ width:100%; justify-content:center; }
  .oze-baseline{ padding:18px 0; }
  .oze-baseline__strip{ gap:14px; font-size:.66rem; letter-spacing:.18em; }
  .oze-ecrin--rose{ padding:70px 0 60px; }
  .oze-product-grid--composed{ gap:20px 12px; }
  .oze-card--feature{ padding:22px; }
  .oze-gift{ padding:70px 0; }
  .oze-gift__text .oze-display{ font-size:clamp(2rem, 8vw, 2.8rem); }
}

/* ─── Newsletter (bleu) ─── */
.oze-newsletter-block{ background:var(--oze-blue); padding:100px 0; text-align:center; }
.oze-newsletter-block__inner{ max-width:680px; margin:0 auto; }
.oze-newsletter-block .oze-eyebrow{ color:var(--text); }
.oze-newsletter-block h2{ margin:0 0 .6rem; font-weight:300; }
.oze-newsletter-block__sub{
  font-family:var(--serif); font-size:1.15rem; color:var(--text); opacity:.8; margin:0 0 2.4rem;
}
.oze-newsletter-form{
  display:flex; max-width:560px; margin:0 auto;
  box-shadow:0 20px 50px -25px rgba(18,18,18,.3);
}
.oze-newsletter-form input{
  flex:1; min-width:0; border:0; background:var(--bg-page);
  padding:20px 24px; font-family:var(--sans); font-size:1rem; color:var(--text); outline:none;
}
.oze-newsletter-form input::placeholder{ color:var(--muted); }
.oze-newsletter-form button{
  flex-shrink:0; border:0; cursor:pointer;
  background:var(--text); color:var(--bg-page);
  padding:0 32px; font-family:var(--sans); font-size:.78rem; font-weight:500;
  letter-spacing:.16em; text-transform:uppercase;
  transition:background .35s var(--ease);
}
.oze-newsletter-form button:hover{ background:var(--accent); }
.oze-newsletter-form.is-sent button{ background:var(--oze-olive); }

/* ─── Réassurance (3 colonnes) ─── */
.oze-reassurance{ background:var(--bg-page); padding:70px 0; }
.oze-reassurance__grid{
  display:grid; grid-template-columns:repeat(3,1fr);
  border:1px solid var(--line);
}
.oze-reassurance__item{
  display:flex; flex-direction:column; align-items:center; gap:18px;
  padding:50px 30px; text-align:center;
  border-right:1px solid var(--line);
}
.oze-reassurance__item:last-child{ border-right:0; }
.oze-reassurance__icon{ color:var(--text); }
.oze-reassurance__icon svg{ width:42px; height:42px; }
.oze-reassurance__item h3{
  font-family:var(--serif); font-weight:400; font-size:1.3rem; margin:0; color:var(--text);
}
@media (max-width:768px){
  .oze-newsletter-block{ padding:64px 0; }
  .oze-newsletter-form{ flex-direction:column; box-shadow:none; gap:10px; }
  .oze-newsletter-form input{ border:1px solid rgba(18,18,18,.15); }
  .oze-newsletter-form button{ padding:18px; }
  .oze-reassurance{ padding:50px 0; }
  .oze-reassurance__grid{ grid-template-columns:1fr; }
  .oze-reassurance__item{ border-right:0; border-bottom:1px solid var(--line); padding:36px 20px; }
  .oze-reassurance__item:last-child{ border-bottom:0; }
}

/* ═══════════════════════════════════════════════════════════════
   STYLE ONSKO — moderne, doux, arrondi, minuscules
   (surcouche appliquée en fin de feuille — gagne sur l'existant)
   ═══════════════════════════════════════════════════════════════ */
:root{
  --radius-xl: 32px;
  --radius-lg: 22px;
  --radius-md: 14px;
  --radius-sm: 8px;
  --shadow-soft: 0 24px 60px -28px rgba(18,18,18,.18);
}

/* ── Titres en minuscules (signature onsko) ── */
.oze-display,
.oze-hero-split__title,
.oze-section__head h2,
.oze-ecrin__head h2,
.oze-why__title,
.oze-histoire__title,
.oze-histoire__claim-title,
.oze-page__header h1,
.oze-related__head h2,
.oze-gift__text .oze-display,
.oze-newsletter-block h2,
.oze-founder__quote{
  text-transform:lowercase;
  font-feature-settings:"liga" 1;
}
/* On garde le wordmark OZE en capitales */
.oze-logo__main, .oze-loader__main,
.oze-footer__wordmark-main{ text-transform:uppercase; }

/* ── Coins arrondis : images & médias ── */
.oze-card__media,
.oze-gallery-grid__item,
.oze-hero-split__visual,
.oze-gift__visual,
.oze-gift__placeholder,
.oze-histoire__cover,
.oze-page__cover,
.oze-floating-card,
.oze-pg__main,
.oze-pg__thumb,
.oze-cart-item__media{
  border-radius:0 !important;
  overflow:hidden;
}
.oze-hero-split__visual,
.oze-gift__visual{ box-shadow:var(--shadow-soft); }

/* ── Boutons arrondis (pill) ── */
.oze-btn,
.oze-product .single_add_to_cart_button,
.oze-mobile-buy__btn,
.oze-newsletter-form button,
.woocommerce .button, .woocommerce a.button{
  border-radius:0 !important;
}
.oze-newsletter-form{
  border-radius:0 ; overflow:hidden;
  background:var(--bg-page); padding:6px;
}
.oze-newsletter-form input{ border-radius:0 ; }
.oze-newsletter-form button{ border-radius:0 !important; }

/* ── Inputs / selects arrondis ── */
.oze-product .variations select,
.oze-product .quantity input,
.oze-contact__form input,
.oze-contact__form textarea,
.oze-qty,
.oze-pg__thumb{
  border-radius:0 !important;
}
.oze-contact__form{ border-radius:0 ; }

/* ── Cartes & conteneurs ── */
.oze-card--feature,
.oze-reassurance__grid,
.oze-reassurance__item,
.oze-product__pill,
.oze-card__tag,
.oze-badge,
.oze-cart-drawer,
.oze-baseline,
.oze-floating-card{
  border-radius:0 ;
}
.oze-product__pill, .oze-card__tag, .oze-badge{ border-radius:0 ; }
.oze-reassurance__grid{ overflow:hidden; }
.oze-cart-drawer{ border-radius:0 ; }

/* ── Cartes produit : look plus doux ── */
.oze-card__media{ background:var(--oze-blue-2); }
.oze-card:hover{ transform:translateY(-6px); }
.oze-card__body{ padding-left:6px; padding-right:6px; }

/* ── Sections : respiration + douceur ── */
.oze-hero-split{ border-radius:0 ; }
.oze-why{ border-radius:0 ; margin:0 16px; }
.oze-vintage{ border-radius:0 ; margin:24px 16px; }
.oze-histoire__claim{ border-radius:0 ; margin:0 16px; }
.oze-newsletter-block{ border-radius:0 ; margin:24px 16px; }

/* ── Loader & marquee : garder net ── */
.oze-marquee{ border-radius:0 ; }

@media (max-width:768px){
  :root{ --radius-xl:22px; --radius-lg:16px; }
  .oze-why, .oze-vintage, .oze-histoire__claim, .oze-newsletter-block{ margin-left:10px; margin-right:10px; }
}

/* ─── Tuiles pastel (DA Oze, façon "shop by category") ─── */
.oze-tiles{ padding:100px 0; }
.oze-tiles__head{ text-align:center; margin-bottom:50px; }
.oze-tiles__head .oze-eyebrow{ color:var(--accent); }
.oze-tiles__head h2{ margin:0; font-weight:300; }
.oze-tiles__grid{
  display:grid; grid-template-columns:1fr 1fr; gap:20px;
  max-width:900px; margin:0 auto;
}
.oze-tile{
  position:relative; aspect-ratio:1; border-radius:0 ;
  overflow:hidden; display:flex; align-items:center; justify-content:center;
  transition:transform .5s var(--ease);
}
.oze-tile:hover{ transform:translateY(-6px) scale(1.01); }
.oze-tile__img{
  width:72%; height:72%; object-fit:contain;
  mix-blend-mode:multiply;
  transition:transform .6s var(--ease);
}
.oze-tile:hover .oze-tile__img{ transform:scale(1.06) rotate(-2deg); }
.oze-tile__label{
  position:absolute; left:50%; bottom:26px; transform:translateX(-50%);
  font-family:var(--serif); font-size:1.2rem; color:var(--text);
  white-space:nowrap; text-transform:lowercase;
}
.oze-tile--brand{ flex-direction:column; }
.oze-tile__wordmark{
  display:flex; flex-direction:column; align-items:center;
  color:var(--bg-page); line-height:.85;
}
.oze-tile__wordmark-main{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(3rem, 7vw, 5.5rem); letter-spacing:-.01em;
}
.oze-tile__wordmark-sub{
  font-family:var(--serif); font-style:italic; font-size:clamp(1rem,2vw,1.5rem);
  letter-spacing:.04em; margin-top:.2em;
}
@media (max-width:768px){
  .oze-tiles{ padding:64px 0; }
  .oze-tiles__grid{ gap:12px; }
  .oze-tile__label{ font-size:1rem; bottom:16px; }
}

/* ═══════════════════════════════════════════════════════════════
   TYPOGRAPHIE ONSKO — Poppins extralight pour le display,
   Libre Baskerville en accent italique
   ═══════════════════════════════════════════════════════════════ */
body{ font-family:var(--sans); font-weight:300; letter-spacing:.005em; }

/* Grands titres → Poppins extralight, minuscules, serré */
h1,h2,h3,h4,
.oze-display,
.oze-hero-split__title,
.oze-product__title,
.oze-card--feature__title,
.oze-why__title,
.oze-histoire__title,
.oze-histoire__claim-title,
.oze-page__header h1,
.oze-related__head h2,
.oze-tiles__head h2,
.oze-newsletter-block h2,
.oze-ecrin__head h2,
.oze-shop-hero h1,
.oze-guide__hero h1,
.oze-contact__left h1{
  font-family:var(--sans) !important;
  font-weight:200 !important;
  letter-spacing:-.022em !important;
  text-transform:lowercase;
}

/* Noms de produits → Poppins léger */
.oze-card__body h3,
.oze-cart-item__name,
.oze-mobile-buy__name{
  font-family:var(--sans) !important;
  font-weight:400 !important;
  letter-spacing:-.01em;
  text-transform:none;
}

/* Prix → Poppins medium */
.oze-price, .oze-product__price, .oze-cart-item__price,
.oze-mobile-buy__price, .oze-cart-drawer__row strong{
  font-family:var(--sans) !important;
  font-weight:500 !important;
  letter-spacing:0;
}

/* Accents serif italique (élégance ponctuelle) */
.oze-hero-split__intro,
.oze-histoire__intro,
.oze-founder__quote,
.oze-product__pill,
blockquote,
.oze-gift__text .oze-display em,
.oze-tile__label{
  font-family:var(--serif) !important;
  font-style:italic;
}
.oze-product__pill{ font-style:normal; }

/* Eyebrows + nav + boutons → Poppins, lettrage modéré */
.oze-eyebrow, .oze-nav__list, .oze-btn,
.oze-product .single_add_to_cart_button,
.oze-menu__list a{
  font-family:var(--sans) !important;
}
.oze-eyebrow{ font-weight:500 !important; letter-spacing:.2em; }
.oze-nav__list{ font-weight:400 !important; letter-spacing:.04em; text-transform:lowercase; }
.oze-btn{ font-weight:500 !important; letter-spacing:.04em; text-transform:lowercase; }

/* Menu mobile : Poppins léger */
.oze-menu__list > li > a{ font-weight:300 !important; }

/* Wordmark OZE → on garde Libre Baskerville (identité) */
.oze-logo__main, .oze-loader__main, .oze-footer__wordmark-main,
.oze-tile__wordmark-main, .oze-logo__sub, .oze-loader__sub,
.oze-footer__wordmark-sub, .oze-tile__wordmark-sub{
  font-family:var(--serif) !important;
}

/* Contenu courant → Poppins lisible */
.oze-content{ font-family:var(--sans); font-weight:300; }
.oze-content h2, .oze-content h3{ font-family:var(--sans); font-weight:400; }

/* ═══════════════════════════════════════════════════════════════
   ANIMATIONS POUSSÉES — style onsko
   ═══════════════════════════════════════════════════════════════ */

/* Reveal de base affiné */
.reveal{
  opacity:0; transform:translateY(36px);
  transition:opacity 1.1s var(--ease), transform 1.1s var(--ease);
  transition-delay:var(--d, 0s);
}
.reveal.is-visible{ opacity:1; transform:none; }

/* Reveal image — volet qui se lève */
.oze-reveal-img{ position:relative; overflow:hidden; }
.oze-reveal-img::after{
  content:''; position:absolute; inset:0; background:var(--bg-page);
  transform-origin:bottom; transition:transform 1.1s var(--ease);
  z-index:3;
}
.oze-reveal-img.is-visible::after{ transform:scaleY(0); }
.oze-reveal-img img{
  transform:scale(1.18); transition:transform 1.6s var(--ease);
}
.oze-reveal-img.is-visible img{ transform:scale(1); }

/* Stagger auto des cartes dans une grille */
.oze-product-grid .oze-card{ transition-delay:calc(var(--i, 0) * 70ms); }

/* Titre hero — mots qui montent */
.oze-word{
  display:inline-block; overflow:hidden; vertical-align:top;
}
.oze-word > span{
  display:inline-block;
  transform:translateY(105%);
  transition:transform 1s var(--ease);
  transition-delay:calc(var(--w, 0) * 90ms + .2s);
}
.is-visible .oze-word > span,
.oze-hero-split__title.is-visible .oze-word > span{ transform:translateY(0); }

/* Liens : soulignement qui glisse */
.oze-link-anim{ position:relative; }
.oze-link-anim::after{
  content:''; position:absolute; left:0; bottom:-3px; width:100%; height:1px;
  background:currentColor; transform:scaleX(0); transform-origin:right;
  transition:transform .5s var(--ease);
}
.oze-link-anim:hover::after{ transform:scaleX(1); transform-origin:left; }

/* Boutons : remplissage qui monte */
.oze-btn{ position:relative; overflow:hidden; z-index:0; }
.oze-btn::before{
  content:''; position:absolute; inset:0; z-index:-1;
  background:var(--accent);
  transform:translateY(101%); transition:transform .5s var(--ease);
}
.oze-btn:hover::before{ transform:translateY(0); }
.oze-btn--dark:hover{ color:var(--text); }
.oze-btn--light:hover{ color:var(--text); }
.oze-btn--ghost:hover{ color:var(--text); }

/* Cartes produit : zoom image + ombre douce qui apparaît */
.oze-card{ transition:transform .55s var(--ease); }
.oze-card__media{ transition:box-shadow .5s var(--ease); }
.oze-card:hover .oze-card__media{ box-shadow:var(--shadow-soft); }

/* Navbar : apparition douce au chargement */
.oze-header{ animation:ozeNavIn 1s var(--ease) .1s both; }
@keyframes ozeNavIn{ from{ opacity:0; transform:translateY(-12px); } to{ opacity:1; transform:none; } }

/* Marquee baseline : pause hover déjà gérée */

/* Sections : fondu d'arrivée global léger */
.oze-hero-split__visual{ animation:ozeScaleIn 1.4s var(--ease) .2s both; }
@keyframes ozeScaleIn{ from{ opacity:0; transform:scale(.96); } to{ opacity:1; transform:none; } }

/* Scroll fluide renforcé */
@media (prefers-reduced-motion:no-preference){
  html{ scroll-behavior:smooth; }
}

/* ═══════════════════════════════════════════════════════════════
   CURSEUR FLEUR + SCROLL PROGRESS
   ═══════════════════════════════════════════════════════════════ */
.oze-flower-cursor{
  position:fixed; top:0; left:0; width:34px; height:34px;
  pointer-events:none; z-index:9997;
  opacity:0; transition:opacity .35s var(--ease);
  will-change:transform;
}
.oze-flower-cursor svg{ width:100%; height:100%; display:block;
  filter:drop-shadow(0 2px 6px rgba(18,18,18,.18));
}
.oze-flower-cursor__petals{ transition:fill .3s; }

/* Masque le curseur natif sur desktop quand la fleur est active */
@media (hover:hover) and (min-width:1024px){
  body.oze-has-flower-cursor,
  body.oze-has-flower-cursor a,
  body.oze-has-flower-cursor button,
  body.oze-has-flower-cursor .oze-card,
  body.oze-has-flower-cursor .oze-tile,
  body.oze-has-flower-cursor summary,
  body.oze-has-flower-cursor [data-cart-toggle],
  body.oze-has-flower-cursor [data-menu-toggle]{ cursor:none; }
  /* On garde un curseur utilisable sur les champs */
  body.oze-has-flower-cursor input,
  body.oze-has-flower-cursor textarea,
  body.oze-has-flower-cursor select{ cursor:text; }
}

/* Barre de progression de scroll */
.oze-scroll-progress{
  position:fixed; top:0; left:0; right:0; height:2px; z-index:9999;
  background:linear-gradient(90deg, var(--oze-pink), var(--oze-yellow), var(--oze-olive), var(--oze-blue));
  transform:scaleX(0); transform-origin:left;
  transition:transform .1s linear;
}

/* ═══════════════════════════════════════════════════════════════
   CAPITALISATION PRO + PLUS DE COULEUR
   (surcouche finale — gagne sur l'existant)
   ═══════════════════════════════════════════════════════════════ */

/* ── Capitalisation : on retire le tout-minuscule des titres ── */
h1,h2,h3,h4,
.oze-display,
.oze-hero-split__title,
.oze-product__title,
.oze-card--feature__title,
.oze-why__title,
.oze-histoire__title,
.oze-histoire__claim-title,
.oze-page__header h1,
.oze-related__head h2,
.oze-tiles__head h2,
.oze-newsletter-block h2,
.oze-ecrin__head h2,
.oze-shop-hero h1,
.oze-guide__hero h1,
.oze-contact__left h1,
.oze-card__body h3,
.oze-tile__label,
.oze-menu__list a,
.oze-founder__quote{
  text-transform:none !important;
}

/* Nav + boutons + eyebrows → MAJUSCULES espacées (pro) */
.oze-nav__list,
.oze-nav__list a{
  text-transform:uppercase !important;
  letter-spacing:.14em !important;
  font-weight:500 !important;
}
.oze-btn,
.oze-product .single_add_to_cart_button,
.oze-mobile-buy__btn,
.oze-newsletter-form button{
  text-transform:uppercase !important;
  letter-spacing:.16em !important;
  font-weight:500 !important;
}
.oze-eyebrow,
.oze-product__category span:first-child,
.oze-baseline__item{
  text-transform:none !important;
  font-family:var(--sans) !important;
  font-weight:400 !important;
}

/* ── PLUS DE COULEUR — fonds de sections diversifiés ── */
.oze-tiles{ background:var(--oze-yellow-2); }
.oze-reassurance{ background:var(--oze-blue-2); }
.oze-related{ background:var(--oze-pink-2); border-radius:0 ; margin:60px 16px 0; padding-left:32px; padding-right:32px; }
.oze-product__description{ }

/* Liserés colorés en haut de sections */
.oze-ecrin--rose,
.oze-tiles,
.oze-newsletter-block,
.oze-why{ position:relative; }
.oze-tiles::before,
.oze-newsletter-block::before{
  content:''; position:absolute; top:0; left:50%; transform:translateX(-50%);
  width:80px; height:3px; border-radius:0 ;
}
.oze-tiles::before{ background:var(--oze-yellow); }
.oze-newsletter-block::before{ background:var(--bg-page); }

/* Eyebrows : couleurs alternées selon la section */
.oze-ecrin--rose .oze-eyebrow{ color:#C25C6B; }       /* rose foncé lisible */
.oze-tiles .oze-eyebrow{ color:#9A7B1E; }              /* jaune foncé */
.oze-why .oze-eyebrow{ color:#3B6E78; }                /* bleu foncé */
.oze-vintage .oze-eyebrow{ color:#C25C6B; }
.oze-newsletter-block .oze-eyebrow{ color:var(--text); }

/* Marqueur ◆ / étoiles : déjà multicolores. Renforce les séparateurs */
.oze-card__separator{ background:var(--accent); }

/* Pastilles produit colorées */
.oze-card__tag{ background:var(--oze-pink); color:var(--text); }
.oze-product__pill{ background:var(--oze-pink); color:var(--text); }

/* Bouton "voir tout" écrin → variante colorée */
.oze-ecrin__more .oze-btn{ background:var(--oze-pink); color:var(--text); border-color:var(--oze-pink); }
.oze-ecrin__more .oze-btn::before{ background:var(--text); }
.oze-ecrin__more .oze-btn:hover{ color:var(--bg-page); }

/* Footer : touche de couleur sur les titres de colonnes */
.oze-footer__col h4{ color:var(--oze-pink); }
.oze-footer__col:nth-child(3) h4{ color:var(--oze-yellow); }
.oze-footer__col:nth-child(4) h4{ color:var(--oze-olive-2); }

/* Section histoire hero : garde le bleu mais ajoute liseré rose */
.oze-histoire__hero{ position:relative; }
.oze-histoire__hero::after{
  content:''; position:absolute; bottom:0; left:0; right:0; height:4px;
  background:linear-gradient(90deg, var(--oze-pink), var(--oze-yellow), var(--oze-olive), var(--oze-blue-2));
}

/* Accordéon : icône colorée */
.oze-accordion__icon::before,
.oze-accordion__icon::after{ background:var(--accent); }

/* Liens du contenu : accent rose */
.oze-content a{ color:#C25C6B; border-bottom-color:#C25C6B; }

/* ═══════════════════════════════════════════════════════════════
   REMPLACER LE NOIR — teal profond de marque
   ═══════════════════════════════════════════════════════════════ */
:root{
  --oze-deep:   #2F4A4F;   /* teal profond — dérivé du bleu Oze */
  --oze-deep-2: #3A5A60;   /* teal un peu plus clair */
}

/* Footer en teal profond */
.oze-footer{ background:var(--oze-deep) !important; }
.oze-footer__wordmark-main{ color:var(--bg-page); }
.oze-footer__wordmark-sub{ color:var(--oze-blue); }

/* Boutons sombres → teal profond */
.oze-btn--dark{ background:var(--oze-deep) !important; border-color:var(--oze-deep) !important; color:var(--bg-page) !important; }
.oze-btn--dark::before{ background:var(--oze-yellow) !important; }
.oze-btn--dark:hover{ color:var(--oze-deep) !important; }
.oze-product .single_add_to_cart_button{ background:var(--oze-deep) !important; }
.oze-product .single_add_to_cart_button:hover{ background:var(--oze-deep-2) !important; }
.oze-mobile-buy__btn{ background:var(--oze-deep); }
.oze-mobile-buy{ border-top-color:var(--oze-blue-2); }
.oze-newsletter-form button{ background:var(--oze-deep); }
.oze-newsletter-form button:hover{ background:var(--oze-deep-2); }
.oze-cart-count{ background:var(--oze-deep); }
.woocommerce .button, .woocommerce a.button{ background:var(--oze-deep); }
.woocommerce .button:hover{ background:var(--oze-deep-2); color:var(--bg-page); }
.oze-badge{ background:var(--oze-deep); }
.oze-checkout-anything, .oze-cart-drawer__count{ }

/* Drawer panier : bouton commander */
.oze-cart-drawer .oze-btn--dark{ background:var(--oze-deep) !important; }

/* Marquee du haut : teal profond (au lieu de noir) avec texte clair */
.oze-marquee{ background:var(--oze-deep); color:var(--bg-page); }
.oze-marquee__track .dot{ color:var(--oze-yellow); }

/* ═══════════════════════════════════════════════════════════════
   SECTION INSTAGRAM + BIJOU FLOTTANT
   ═══════════════════════════════════════════════════════════════ */

/* ─── Instagram ─── */
.oze-insta{ padding:100px 0 90px; background:var(--bg-page); overflow:hidden; }
.oze-insta__head{ text-align:center; margin-bottom:50px; }
.oze-insta__icon{ display:inline-flex; color:var(--oze-deep); margin-bottom:14px; }
.oze-insta__icon svg{ width:34px; height:34px; }
.oze-insta__head h2{ margin:0 0 .5rem; font-weight:200; }
.oze-insta__handle{
  font-family:var(--serif); font-style:italic; font-size:1.2rem;
  color:var(--accent); border-bottom:1px solid var(--accent); padding-bottom:3px;
  transition:color .3s;
}
.oze-insta__handle:hover{ color:var(--oze-deep); border-color:var(--oze-deep); }
.oze-insta__marquee{ width:100%; overflow:hidden; }
.oze-insta__track{
  display:flex; gap:18px; width:max-content;
  animation:ozeInstaScroll 60s linear infinite;
}
.oze-insta:hover .oze-insta__track{ animation-play-state:paused; }
@keyframes ozeInstaScroll{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
.oze-insta__item{
  position:relative; flex-shrink:0;
  width:300px; aspect-ratio:1; border-radius:0 ; overflow:hidden;
  background:var(--oze-blue-2);
}
.oze-insta__item img{
  width:100%; height:100%; object-fit:cover;
  transition:transform 1.2s var(--ease);
}
.oze-insta__item:hover img{ transform:scale(1.08); }
.oze-insta__overlay{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  background:rgba(47,74,79,.0); color:transparent;
  transition:background .4s var(--ease), color .4s var(--ease);
}
.oze-insta__item:hover .oze-insta__overlay{
  background:rgba(47,74,79,.45); color:var(--bg-page);
}
.oze-insta__overlay svg{ width:38px; height:38px; }

/* ─── Bijou flottant qui remonte au scroll ─── */
.oze-gift{ position:relative; overflow:hidden; }
.oze-gift__float{
  position:absolute; top:8%; right:4%; z-index:2;
  width:clamp(160px, 18vw, 280px); aspect-ratio:1;
  border-radius:0 ; overflow:hidden;
  box-shadow:0 30px 70px -25px rgba(47,74,79,.4);
  transform:rotate(-8deg);
  will-change:transform;
}
.oze-gift__float img{ width:100%; height:100%; object-fit:cover; }
@media (max-width:1024px){ .oze-gift__float{ display:none; } }

@media (max-width:768px){
  .oze-insta{ padding:64px 0 56px; }
  .oze-insta__item{ width:210px; }
}

/* ═══════════════════════════════════════════════════════════════
   NEWSLETTER + RÉASSURANCE — refonte premium (anti-cheap)
   ═══════════════════════════════════════════════════════════════ */

/* ─── Newsletter : plus compacte, plus raffinée ─── */
.oze-newsletter-block{
  background:var(--oze-blue);
  padding:84px 0 !important;
}
.oze-newsletter-block__inner{ max-width:600px; }
.oze-newsletter-block h2{ margin:.4rem 0 .8rem !important; font-size:clamp(2.4rem,3.6vw,3.4rem) !important; }
.oze-newsletter-block__sub{
  font-size:1.05rem !important; margin:0 0 2rem !important; opacity:.85;
}
.oze-newsletter-form{
  display:flex; align-items:center;
  background:var(--bg-page);
  border-radius:0 ;
  padding:7px 7px 7px 8px;
  box-shadow:0 18px 44px -20px rgba(47,74,79,.35);
  max-width:520px; margin:0 auto;
}
.oze-newsletter-form input{
  flex:1; min-width:0; border:0; background:transparent;
  padding:16px 22px; font-family:var(--sans); font-size:.98rem; color:var(--text); outline:none;
}
.oze-newsletter-form input::placeholder{ color:var(--muted); }
.oze-newsletter-form button{
  flex-shrink:0; border:0; cursor:pointer; border-radius:0 ;
  background:var(--oze-deep) !important; color:var(--bg-page);
  padding:15px 30px; font-family:var(--sans); font-size:.74rem; font-weight:500;
  letter-spacing:.16em; text-transform:uppercase;
  transition:background .35s var(--ease), transform .25s var(--ease);
}
.oze-newsletter-form button:hover{ background:var(--oze-deep-2) !important; transform:scale(1.03); }
.oze-newsletter-block__note{
  margin:1.4rem 0 0; font-size:.78rem; color:var(--text); opacity:.6;
}

/* ─── Réassurance : vraies cartes pastel (fini les boîtes filaires) ─── */
.oze-reassurance{ background:var(--bg-page) !important; padding:90px 0 !important; }
.oze-reassurance::before{ display:none; }
.oze-reassurance__grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:24px;
  border:0 !important; overflow:visible !important;
}
.oze-reassurance__item{
  background:var(--tint, var(--oze-blue-2)) !important;
  border:0 !important;
  border-radius:0 ;
  padding:48px 36px !important;
  display:flex; flex-direction:column; align-items:center; text-align:center; gap:0;
  transition:transform .5s var(--ease), box-shadow .5s var(--ease);
}
.oze-reassurance__item:hover{
  transform:translateY(-8px);
  box-shadow:0 30px 60px -28px rgba(47,74,79,.3);
}
.oze-reassurance__icon{
  width:72px; height:72px; border-radius:0 ;
  background:var(--bg-page);
  display:flex; align-items:center; justify-content:center;
  color:var(--oze-deep); margin-bottom:22px;
  box-shadow:0 10px 24px -12px rgba(47,74,79,.25);
}
.oze-reassurance__icon svg{ width:32px; height:32px; }
.oze-reassurance__item h3{
  font-family:var(--sans) !important; font-weight:400 !important;
  font-size:1.25rem; margin:0 0 .6rem; color:var(--text);
}
.oze-reassurance__item p{
  font-family:var(--serif); font-size:.98rem; line-height:1.6;
  color:var(--text-soft); margin:0; max-width:26ch;
}

@media (max-width:768px){
  .oze-reassurance{ padding:60px 0 !important; }
  .oze-reassurance__grid{ grid-template-columns:1fr; gap:16px; }
  .oze-reassurance__item{ padding:38px 28px !important; }
  .oze-newsletter-form{ flex-direction:row; padding:6px; }
  .oze-newsletter-form input{ padding:14px 18px; }
  .oze-newsletter-form button{ padding:13px 20px; }
}

/* ═══════════════════════════════════════════════════════════════
   AJUSTEMENTS ONSKO — titres gras, CTA outline, espacement
   ═══════════════════════════════════════════════════════════════ */

/* ── Titres : GRAS (onsko utilise du bold, pas de l'extralight) ── */
.oze-display,
.oze-hero-split__title,
.oze-ecrin__head h2,
.oze-tiles__head h2,
.oze-related__head h2,
.oze-newsletter-block h2,
.oze-insta__head h2,
.oze-why__title,
.oze-shop-hero h1,
.oze-page__header h1,
.oze-card--feature__title,
.oze-gift__text .oze-display{
  font-weight:600 !important;
  letter-spacing:-.03em !important;
}
.oze-hero-split__title,
.oze-histoire__title{ font-weight:700 !important; letter-spacing:-.035em !important; }
/* Le produit / titres secondaires restent plus légers */
.oze-product__title{ font-weight:500 !important; letter-spacing:-.025em !important; }

/* ── CTA façon onsko : pilule outline, se remplit au hover ── */
.oze-btn{
  background:transparent !important;
  border:1.6px solid var(--oze-deep) !important;
  color:var(--oze-deep) !important;
  border-radius:0 !important;
  padding:17px 40px !important;
  font-weight:600 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  position:relative; overflow:hidden;
}
.oze-btn::before{
  content:''; position:absolute; inset:0; z-index:-1;
  background:var(--oze-deep);
  transform:translateY(101%); transition:transform .45s var(--ease);
}
.oze-btn:hover{ color:var(--bg-page) !important; }
.oze-btn:hover::before{ transform:translateY(0); }

/* Variante claire (sur fonds sombres / photos) */
.oze-btn--light,
.oze-hero-split__ctas .oze-btn--ghost,
.oze-btn--ghost{
  border-color:var(--bg-page) !important;
  color:var(--bg-page) !important;
}
.oze-btn--light::before,
.oze-btn--ghost::before{ background:var(--bg-page) !important; }
.oze-btn--light:hover,
.oze-btn--ghost:hover{ color:var(--oze-deep) !important; }

/* Variante "dark" → pilule pleine teal (CTA primaire) */
.oze-btn--dark{
  background:var(--oze-deep) !important;
  border-color:var(--oze-deep) !important;
  color:var(--bg-page) !important;
}
.oze-btn--dark::before{ background:var(--oze-yellow) !important; }
.oze-btn--dark:hover{ color:var(--oze-deep) !important; }

/* ── PLUS D'ESPACE entre les blocs ── */
.oze-ecrin--rose{ padding:140px 0 130px !important; }
.oze-tiles{ padding:140px 0 !important; }
.oze-vintage-cta{ padding:80px 0 130px !important; }
.oze-gift{ padding:150px 0 !important; }
.oze-insta{ padding:140px 0 130px !important; }
.oze-newsletter-block{ padding:120px 0 !important; }
.oze-reassurance{ padding:120px 0 !important; }
.oze-baseline{ margin:0 0 0 0; }
/* respiration entre sections encadrées */
.oze-why, .oze-vintage, .oze-histoire__claim, .oze-newsletter-block{
  margin-top:40px; margin-bottom:40px;
}
.oze-ecrin__head{ margin-bottom:80px !important; }
.oze-tiles__head{ margin-bottom:70px !important; }
.oze-related__head{ margin-bottom:70px !important; }

@media (max-width:768px){
  .oze-ecrin--rose, .oze-tiles, .oze-gift, .oze-insta,
  .oze-newsletter-block, .oze-reassurance{ padding:80px 0 !important; }
  .oze-vintage-cta{ padding:50px 0 80px !important; }
  .oze-btn{ padding:15px 30px !important; }
  .oze-ecrin__head, .oze-tiles__head, .oze-related__head{ margin-bottom:48px !important; }
}

/* ═══════════════════════════════════════════════════════════════
   BLOCS QUI SE CHEVAUCHENT AU SCROLL (effet onsko)
   ═══════════════════════════════════════════════════════════════ */
.oze-ecrin--rose,
.oze-vintage-cta,
.oze-tiles,
.oze-gift,
.oze-insta,
.oze-newsletter-block,
.oze-reassurance,
.oze-footer{
  position:relative;
  border-radius:0 ;
  margin-top:-54px !important;
  margin-left:0 !important; margin-right:0 !important;
  margin-bottom:0 !important;
}
.oze-ecrin--rose{ z-index:2; }
.oze-vintage-cta{ z-index:3; border-radius:0 ; margin-top:0 !important; }
.oze-tiles{ z-index:4; }
.oze-gift{ z-index:5; }
.oze-insta{ z-index:6; }
.oze-newsletter-block{ z-index:7; }
.oze-reassurance{ z-index:8; }
.oze-footer{ z-index:9; }
/* Ombre douce sur le bord supérieur arrondi pour accentuer le chevauchement */
.oze-ecrin--rose::after,
.oze-tiles::after,
.oze-gift::after,
.oze-insta::after,
.oze-newsletter-block::after,
.oze-reassurance::after,
.oze-footer::after{
  content:''; position:absolute; top:0; left:0; right:0; height:54px;
  border-radius:0 ;
  box-shadow:0 -18px 40px -20px rgba(47,74,79,.22);
  pointer-events:none;
}
/* Compense le padding pour que le contenu ne soit pas mangé par l'arrondi */
.oze-ecrin--rose, .oze-tiles, .oze-gift, .oze-insta,
.oze-newsletter-block, .oze-reassurance{ padding-top:130px !important; }
@media (max-width:768px){
  .oze-ecrin--rose, .oze-vintage-cta, .oze-tiles, .oze-gift, .oze-insta,
  .oze-newsletter-block, .oze-reassurance, .oze-footer{
    border-radius:0 ; margin-top:-34px !important;
  }
  .oze-ecrin--rose, .oze-tiles, .oze-gift, .oze-insta,
  .oze-newsletter-block, .oze-reassurance{ padding-top:80px !important; }
}

/* ─── Instagram piloté au scroll ─── */
.oze-insta__track{
  animation:none !important;     /* on coupe l'auto-scroll, c'est le scroll qui pilote */
  will-change:transform;
}
.oze-insta__row{
  display:flex; gap:18px; width:max-content;
  will-change:transform;
}
.oze-insta__row + .oze-insta__row{ margin-top:18px; }

/* ═══════════════════════════════════════════════════════════════
   FLEURS MARQUEE + FOOTER DA + ESPACEMENT
   ═══════════════════════════════════════════════════════════════ */

/* ─── Fleur séparatrice dans les marquees ─── */
.oze-flower-sep,
.oze-baseline__dot svg{
  width:18px; height:18px; flex-shrink:0;
  display:inline-block; vertical-align:middle;
}
.oze-flower-sep{ animation:ozeFlowerSpin 9s linear infinite; }
@keyframes ozeFlowerSpin{ to{ transform:rotate(360deg); } }
/* Marquee du haut (fond teal) → fleur jaune cœur crème */
.oze-marquee .oze-flower-petals{ fill:var(--oze-yellow); }
.oze-marquee .oze-flower-heart{ fill:var(--bg-page); }
/* Baseline (fond olive) → fleur crème cœur rose */
.oze-baseline__dot .oze-flower-petals{ fill:var(--bg-page); }
.oze-baseline__dot .oze-flower-heart{ fill:var(--oze-pink); }
.oze-baseline__dot{ display:inline-flex; align-items:center; }

/* ─── Footer : couleur de la DA (olive profond dérivé) ─── */
:root{ --oze-footer:#474D24; }
.oze-footer{ background:var(--oze-footer) !important; }
.oze-footer__col h4{ }
.oze-footer__wordmark-sub{ color:var(--oze-olive-2); }

/* ─── PLUS D'ESPACE ─── */
/* Hero : le titre ne doit plus être coupé par la navbar */
.oze-hero-split{
  padding-top:200px !important;
  padding-bottom:120px !important;
}
.oze-hero-split__grid{ min-height:auto !important; }
/* Respiration autour du marquee baseline */
.oze-baseline{ padding:32px 0 !important; }
/* Un peu d'air supplémentaire en tête de l'écrin */
.oze-ecrin--rose{ padding-top:150px !important; }

@media (max-width:768px){
  .oze-hero-split{ padding-top:128px !important; padding-bottom:70px !important; }
  .oze-flower-sep, .oze-baseline__dot svg{ width:14px; height:14px; }
}

/* ═══════════════════════════════════════════════════════════════
   CORRECTIF — sections en cartes flottantes aérées
   (annule l'overlap en marge négative qui découpait le marquee)
   ═══════════════════════════════════════════════════════════════ */
.oze-ecrin--rose,
.oze-tiles,
.oze-gift,
.oze-insta,
.oze-newsletter-block,
.oze-reassurance,
.oze-vintage-cta{
  border-radius:0 !important;
  margin:26px 20px !important;
  padding-top:110px !important;
  padding-bottom:110px !important;
  position:relative; z-index:1;
}
/* on supprime les pseudo-ombres de l'ancien overlap */
.oze-ecrin--rose::after,
.oze-tiles::after,
.oze-gift::after,
.oze-insta::after,
.oze-newsletter-block::after,
.oze-reassurance::after,
.oze-footer::after{ display:none !important; }

/* Marquee baseline : pleine largeur, bien dégagé */
.oze-baseline{
  margin:30px 0 !important;
  border-radius:0 !important;
  padding:30px 0 !important;
}

/* Footer : carte arrondie en haut, collée en bas */
.oze-footer{
  border-radius:0 !important;
  margin:26px 0 0 !important;
}

/* Hero : carte flottante avec marge (comme les autres sections) */
.oze-hero-split{
  border-radius:0 !important;
  margin:-72px 20px 26px !important;   /* glisse sous la navbar, marge sur les côtés et en bas */
  padding-top:152px !important;
  padding-bottom:90px !important;
}

@media (max-width:768px){
  .oze-ecrin--rose, .oze-tiles, .oze-gift, .oze-insta,
  .oze-newsletter-block, .oze-reassurance, .oze-vintage-cta{
    border-radius:0 !important;
    margin:14px 10px !important;
    padding-top:70px !important; padding-bottom:70px !important;
  }
  .oze-hero-split{
    border-radius:0 !important;
    margin:-64px 10px 14px !important;
    padding-top:108px !important; padding-bottom:64px !important;
  }
}

/* ─── Animation : les sections montent et se révèlent au scroll ─── */
.oze-section-anim{
  opacity:0;
  transform:translateY(90px) scale(.965);
  transition:opacity 1s var(--ease), transform 1.1s var(--ease);
}
.oze-section-anim.is-insection{
  opacity:1;
  transform:translateY(0) scale(1);
}

/* ═══════════════════════════════════════════════════════════════
   EFFET STICKY "PASSE PAR-DESSUS" — bloc vintage & carte cadeau
   ═══════════════════════════════════════════════════════════════ */
.oze-vintage-cta,
.oze-gift{
  position:sticky !important;
  top:92px;
  z-index:1;
}
/* Les sections suivantes glissent par-dessus (fond opaque, paint après) */
.oze-tiles{ position:relative; z-index:2; }
.oze-insta{ position:relative; z-index:3; }
.oze-newsletter-block{ position:relative; z-index:4; }
.oze-reassurance{ position:relative; z-index:5; }
.oze-footer{ position:relative; z-index:6; }

/* Léger fondu/scale de sortie quand un bloc sticky est recouvert :
   on accentue l'ombre du bloc qui arrive par-dessus */
.oze-tiles, .oze-insta{
  box-shadow:0 -30px 60px -30px rgba(47,74,79,.25);
}

@media (max-width:768px){
  .oze-vintage-cta, .oze-gift{ top:74px; }
}

/* ═══════════════════════════════════════════════════════════════
   BOUTIQUE — layout sidebar filtres + grille (style onsko)
   ═══════════════════════════════════════════════════════════════ */
.oze-shop-layout{
  display:grid; grid-template-columns:250px 1fr; gap:56px;
  padding-bottom:120px; align-items:flex-start;
}
.oze-shop-sidebar{ position:sticky; top:100px; display:flex; flex-direction:column; gap:40px; }
.oze-shop-filter__title{
  font-family:var(--sans); font-weight:600; font-size:1.25rem;
  margin:0 0 18px; padding-bottom:14px; border-bottom:1.5px solid var(--text);
  color:var(--text);
}
.oze-shop-cats{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:4px; }
.oze-shop-cats a{
  display:flex; justify-content:space-between; align-items:center;
  padding:9px 0; font-size:1.02rem; color:var(--text-soft);
  transition:color .25s, padding .25s var(--ease);
}
.oze-shop-cats a:hover{ color:var(--text); padding-left:6px; }
.oze-shop-cats a.is-active{ color:var(--text); font-weight:500; text-decoration:underline; text-underline-offset:4px; }
.oze-shop-cats__count{ font-size:.8rem; color:var(--muted); }

/* Price slider double */
.oze-price-slider{
  position:relative; height:34px; margin:6px 0 4px;
}
.oze-price-slider__track{
  position:absolute; left:0; right:0; top:50%; transform:translateY(-50%);
  height:4px; background:var(--line); border-radius:0 ;
}
.oze-price-slider__fill{
  position:absolute; top:0; bottom:0; background:var(--oze-deep); border-radius:0 ;
}
.oze-price-slider__input{
  position:absolute; left:0; right:0; top:0; width:100%; height:34px;
  margin:0; background:none; pointer-events:none; -webkit-appearance:none; appearance:none;
}
.oze-price-slider__input::-webkit-slider-thumb{
  -webkit-appearance:none; appearance:none;
  width:20px; height:20px; border-radius:0 ;
  background:var(--bg-page); border:2px solid var(--oze-deep);
  cursor:pointer; pointer-events:auto; box-shadow:0 2px 8px rgba(47,74,79,.25);
}
.oze-price-slider__input::-moz-range-thumb{
  width:20px; height:20px; border-radius:0 ;
  background:var(--bg-page); border:2px solid var(--oze-deep);
  cursor:pointer; pointer-events:auto;
}
.oze-price-filter__values{
  display:flex; justify-content:space-between;
  font-family:var(--serif); font-size:1rem; color:var(--text); margin:8px 0 18px;
}
.oze-price-filter .oze-btn{ padding:14px 24px !important; font-size:.72rem !important; }
.oze-btn--block{ width:100%; justify-content:center; }

.oze-shop-count{
  font-size:.85rem; letter-spacing:.04em; color:var(--muted); margin:0;
}
.oze-shop-bar{
  display:flex; justify-content:space-between; align-items:center;
  gap:16px; margin:0 0 26px;
}
.oze-shop-filter-toggle{
  display:none; align-items:center; gap:9px;
  background:var(--oze-deep); color:#fff; border:0;
  border-radius:0 ; padding:12px 24px;
  font-family:var(--sans); font-size:.74rem; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase; cursor:pointer;
}
.oze-shop-filter-toggle svg{ width:18px; height:18px; }
.oze-shop-sidebar__head{ display:none; }
.oze-shop-overlay{
  display:none; position:fixed; inset:0; background:rgba(18,18,18,.5);
  z-index:240; opacity:0; visibility:hidden;
  transition:opacity .4s var(--ease), visibility 0s .4s;
  backdrop-filter:blur(2px);
}
.oze-shop-overlay.is-open{ opacity:1; visibility:visible; transition:opacity .4s var(--ease); }
.oze-shop-main .oze-product-grid{ grid-template-columns:repeat(3,1fr); }
.oze-shop-empty{ text-align:center; padding:80px 20px; }
.oze-shop-empty p{ font-family:var(--serif); font-size:1.2rem; margin:0 0 24px; color:var(--text-soft); }

/* Cartes boutique : fond dégradé pastel (façon onsko) */
.oze-shop-main .oze-card__media{
  background:linear-gradient(160deg, var(--oze-blue-2) 0%, var(--oze-blue) 100%);
}

@media (max-width:1024px){
  .oze-shop-layout{ grid-template-columns:1fr; gap:0; }
  .oze-shop-filter-toggle{ display:inline-flex; }
  .oze-shop-sidebar{
    position:fixed; inset:0;
    width:100%;
    background:var(--bg-page);
    z-index:250;
    flex-direction:column; gap:0;
    padding:0 clamp(20px,5vw,32px) 32px;
    overflow-y:auto;
    transform:translateX(100%);
    transition:transform .5s var(--ease);
  }
  .oze-shop-sidebar.is-open{ transform:translateX(0); }
  .oze-shop-sidebar__head{
    display:flex; justify-content:space-between; align-items:center;
    padding:20px 0 16px; margin-bottom:24px;
    position:sticky; top:0; background:var(--bg-page);
    border-bottom:1px solid var(--line);
  }
  .oze-shop-sidebar__head span{ font-family:var(--serif); font-weight:700; font-size:1.3rem; color:var(--text); }
  .oze-shop-sidebar__close{
    background:none; border:0; cursor:pointer; color:var(--text);
    display:flex; padding:4px;
  }
  .oze-shop-sidebar__close svg{ width:24px; height:24px; }
  .oze-shop-filter{ margin-bottom:34px; }
  .oze-shop-overlay{ display:block; }
  .oze-shop-main .oze-product-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:768px){
  .oze-shop-main .oze-product-grid{ grid-template-columns:repeat(2,1fr); }
}

/* ═══════════════════════════════════════════════════════════════
   EFFET STICKY ÉTENDU — 3 premiers blocs de l'accueil
   hero → écrin → vintage se figent et se font recouvrir
   ═══════════════════════════════════════════════════════════════ */
.oze-hero-split{ position:sticky !important; top:0; z-index:0; }
.oze-baseline{ position:relative; z-index:1; }
.oze-ecrin--rose{ position:sticky !important; top:92px; z-index:2; }
.oze-vintage-cta{ position:sticky !important; top:92px; z-index:3; }
.oze-tiles{ position:relative; z-index:4; }
.oze-gift{ position:sticky !important; top:92px; z-index:5; }
.oze-insta{ position:relative; z-index:6; }
.oze-newsletter-block{ position:relative; z-index:7; }
.oze-reassurance{ position:relative; z-index:8; }
.oze-footer{ position:relative; z-index:9; }

@media (max-width:768px){
  .oze-ecrin--rose, .oze-vintage-cta, .oze-gift{ top:74px; }
}

/* ═══════════════════════════════════════════════════════════════
   HERO — version design poussée
   ═══════════════════════════════════════════════════════════════ */
.oze-hero-split{ overflow:hidden; }

/* Formes décoratives floues en fond */
.oze-hero-split__blob{
  position:absolute; border-radius:0 ; filter:blur(8px);
  opacity:.55; pointer-events:none; z-index:0;
}
.oze-hero-split__blob--1{
  width:280px; height:280px; background:var(--oze-pink);
  top:-90px; left:-80px;
}
.oze-hero-split__blob--2{
  width:200px; height:200px; background:var(--oze-yellow);
  bottom:-60px; left:38%;
}
.oze-hero-split__grid{ position:relative; z-index:1; }

/* Bloc stats sous les CTA */
.oze-hero-split__facts{
  list-style:none; padding:0; margin:48px 0 0;
  display:flex; gap:38px; flex-wrap:wrap;
}
.oze-hero-split__facts li{
  display:flex; flex-direction:column; gap:2px;
  position:relative; padding-right:38px;
}
.oze-hero-split__facts li:not(:last-child)::after{
  content:''; position:absolute; right:0; top:6px; bottom:6px;
  width:1px; background:rgba(18,18,18,.18);
}
.oze-hero-split__facts strong{
  font-family:var(--sans); font-weight:600; font-size:1.9rem;
  color:var(--text); line-height:1; letter-spacing:-.02em;
}
.oze-hero-split__facts span{
  font-family:var(--sans); font-size:.74rem; letter-spacing:.12em;
  text-transform:uppercase; color:var(--text-soft);
}

/* Média : image + cadre décalé + sceau */
.oze-hero-split__media{ position:relative; }
.oze-hero-split__frame{
  position:absolute; inset:24px -24px -24px 24px;
  border-radius:0 ;
  background:var(--oze-pink);
  z-index:0;
}
.oze-hero-split__media .oze-hero-split__visual{
  position:relative; z-index:1; margin:0;
}

/* Sceau circulaire rotatif */
.oze-hero-split__seal{
  position:absolute; left:-46px; bottom:-46px; z-index:3;
  width:128px; height:128px; border-radius:0 ;
  background:var(--oze-deep); color:var(--bg-page);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 18px 40px -16px rgba(47,74,79,.5);
  transition:transform .5s var(--ease);
}
.oze-hero-split__seal:hover{ transform:scale(1.08); }
.oze-hero-split__seal-text{
  position:absolute; inset:0; width:100%; height:100%;
  animation:ozeFlowerSpin 18s linear infinite;
}
.oze-hero-split__seal-text text{
  font-family:var(--sans); font-size:9.5px; font-weight:600;
  letter-spacing:1.5px; fill:var(--bg-page);
}
.oze-hero-split__seal-arrow{ display:flex; }
.oze-hero-split__seal-arrow svg{ width:26px; height:26px; }

/* Indicateur de scroll */
.oze-hero-split__scroll{
  position:absolute; left:50%; bottom:26px; transform:translateX(-50%);
  width:1px; height:54px; background:rgba(18,18,18,.25); overflow:hidden; z-index:2;
}
.oze-hero-split__scroll span{
  position:absolute; inset:0; background:var(--oze-deep);
  animation:ozeScrollCue 2.2s var(--ease) infinite;
}
@keyframes ozeScrollCue{
  0%{ transform:translateY(-100%); }
  55%{ transform:translateY(0); }
  100%{ transform:translateY(100%); }
}

@media (max-width:1024px){
  .oze-hero-split__seal{ width:100px; height:100px; left:-28px; bottom:-28px; }
  .oze-hero-split__frame{ inset:18px -16px -16px 18px; }
}
@media (max-width:768px){
  .oze-hero-split__facts{ gap:22px; margin-top:34px; }
  .oze-hero-split__facts li{ padding-right:22px; }
  .oze-hero-split__facts strong{ font-size:1.5rem; }
  .oze-hero-split__seal{ width:84px; height:84px; }
  .oze-hero-split__seal-text text{ font-size:9px; }
  .oze-hero-split__scroll{ display:none; }
  .oze-hero-split__blob--1{ width:180px; height:180px; }
}

/* ─── Retrait du sticky sur le hero et l'écrin (trop hauts → bloquaient le scroll) ─── */
.oze-hero-split{ position:relative !important; top:auto !important; }
.oze-ecrin--rose{ position:relative !important; top:auto !important; }

/* ═══════════════════════════════════════════════════════════════
   STICKY PROPRE — sections en "feuilles empilées" pleine largeur
   (plus de marges latérales : le recouvrement est net, sans fuite rose)
   ═══════════════════════════════════════════════════════════════ */
.oze-ecrin--rose,
.oze-vintage-cta,
.oze-tiles,
.oze-gift,
.oze-insta,
.oze-newsletter-block,
.oze-reassurance{
  margin-left:0 !important;
  margin-right:0 !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
  border-radius:0 !important;
}
/* chaque section recouvre proprement la précédente */
.oze-vintage-cta,
.oze-tiles,
.oze-gift,
.oze-insta,
.oze-newsletter-block,
.oze-reassurance,
.oze-footer{
  margin-top:-48px !important;
  padding-top:158px !important;
}
.oze-footer{
  border-radius:0 !important;
}
/* Ombre douce sur le bord supérieur pour le relief des feuilles */
.oze-ecrin--rose, .oze-vintage-cta, .oze-tiles, .oze-gift,
.oze-insta, .oze-newsletter-block, .oze-reassurance, .oze-footer{
  box-shadow:0 -24px 50px -32px rgba(47,74,79,.3);
}
/* Le marquee garde sa pleine largeur, pas d'arrondi, marge dégagée */
.oze-baseline{ margin:0 !important; border-radius:0 !important; }

@media (max-width:768px){
  .oze-ecrin--rose, .oze-vintage-cta, .oze-tiles, .oze-gift,
  .oze-insta, .oze-newsletter-block, .oze-reassurance, .oze-footer{
    border-radius:0 !important;
    margin-top:0 !important;
  }
  .oze-vintage-cta, .oze-tiles, .oze-gift, .oze-insta,
  .oze-newsletter-block, .oze-reassurance, .oze-footer{ padding-top:96px !important; }
}

/* ─── Retrait du sticky sur le bloc carte cadeau ─── */
.oze-gift{ position:relative !important; top:auto !important; }

/* ─── Suppression des en-têtes bleus de page ─── */
.oze-shop-hero,
.oze-histoire__hero,
.oze-guide__hero{
  background:var(--bg-page) !important;
}
.oze-shop-hero{ padding:70px 0 50px !important; }
.oze-histoire__hero{ padding:90px 0 60px !important; }
.oze-histoire__hero::after{ display:none !important; }

/* ─── Suppression de l'écran de chargement bleu ─── */
.oze-loader{ display:none !important; }

/* En-tête boutique : confirmé sans bleu */
.oze-shop-hero{ background:var(--bg-page) !important; }

/* ═══════════════════════════════════════════════════════════════
   "VOUS AIMEREZ AUSSI" — carrousel pleine largeur
   ═══════════════════════════════════════════════════════════════ */
.oze-related--carousel{
  margin-top:110px; padding-top:70px;
  border-top:1px solid var(--line);
  overflow:hidden;
}
.oze-related--carousel .oze-related__head{
  text-align:center; margin:0 auto 50px; max-width:600px; padding:0 20px;
}
.oze-related__viewport{
  overflow-x:auto; overflow-y:hidden;
  scrollbar-width:none; -ms-overflow-style:none;
  cursor:grab; -webkit-overflow-scrolling:touch;
}
.oze-related__viewport::-webkit-scrollbar{ display:none; }
.oze-related__viewport.is-dragging{ cursor:grabbing; }
.oze-related__viewport.is-dragging .oze-card{ pointer-events:none; }
.oze-related__track{
  display:flex; gap:22px; width:max-content;
  padding:10px 40px;
}
.oze-related--carousel .oze-card{
  width:clamp(220px, 22vw, 300px); flex-shrink:0;
}
@media (max-width:768px){
  /* Carrousel produits : pleine largeur, défilement libre (sans clip) */
  .oze-related--carousel{
    margin-top:70px; margin-left:0 !important; margin-right:0 !important;
    padding-top:50px; padding-left:0 !important; padding-right:0 !important;
    overflow:visible; border-radius:0 !important;
  }
  .oze-related__track{ gap:14px; padding:6px 16px; }
  .oze-related--carousel .oze-card{ width:240px; }
}

/* ─── Page Histoire : image de couverture épinglée (sticky pin) ─── */
.oze-histoire__cover{
  margin:0 !important; position:relative;
  height:165vh; aspect-ratio:auto !important;
  overflow:visible !important; background:transparent;
}
.oze-histoire__cover img{
  position:sticky; top:0;
  width:100%; height:100vh; object-fit:cover;
  border-radius:0 ;
}
@media (max-width:768px){
  .oze-histoire__cover{ height:auto; }
  .oze-histoire__cover img{ position:static; height:60vh; }
}

/* ═══════════════════════════════════════════════════════════════
   PAGES DE TEXTE — blocs colorés alternés (DA Oze)
   ═══════════════════════════════════════════════════════════════ */
.oze-text-block{
  border-radius:0 ;
  padding:44px 48px;
  margin:0 0 22px;
}
.oze-text-block:last-child{ margin-bottom:0; }
.oze-text-block > :first-child{ margin-top:0; }
.oze-text-block > :last-child{ margin-bottom:0; }
.oze-text-block h2,
.oze-text-block h3{ margin-top:0; }
.oze-text-block--1{ background:var(--oze-pink-2); }
.oze-text-block--2{ background:var(--oze-blue-2); }
.oze-text-block--3{ background:var(--oze-yellow-2); }
.oze-text-block--4{ background:var(--oze-olive-2); }
.oze-text-block--1 h2{ color:#C25C6B; }
.oze-text-block--2 h2{ color:#3B6E78; }
.oze-text-block--3 h2{ color:#9A7B1E; }
.oze-text-block--4 h2{ color:#5E6A26; }
@media (max-width:768px){
  .oze-text-block{ padding:30px 24px; }
}

/* ─── Pourquoi oser Oze (panneau bleu) ─── */
.oze-story{ padding:26px 0; background:var(--bg-page); }
.oze-story > .container{ max-width:none; padding:0 20px; }
.oze-story__panel{
  background:var(--oze-blue);
  border-radius:0 ;
  padding:clamp(44px, 6vw, 96px) clamp(24px, 4vw, 72px);
  text-align:center;
  color:var(--text);
}
.oze-story__label{
  font-family:var(--sans); font-weight:700;
  font-size:clamp(1.3rem, 2vw, 1.85rem);
  letter-spacing:-.005em;
  margin:0 0 2.2rem;
}
.oze-story__lead{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(1.7rem, 3.05vw, 2.88rem);
  line-height:1.22; letter-spacing:-.01em;
  margin:0; max-width:none;
}
.oze-story__note{
  font-family:var(--sans); font-weight:400;
  font-size:clamp(.82rem, 1vw, .95rem);
  color:var(--text-soft);
  margin:2.8rem auto 0; max-width:52ch;
}
@media (max-width:768px){
  .oze-story{ padding:14px 0; }
  .oze-story > .container{ padding:0 10px; }
  .oze-story__lead{ font-size:1.45rem; line-height:1.3; }
  .oze-story__label{ font-size:1.15rem; margin-bottom:1.4rem; }
  .oze-story__note{ margin-top:2rem; }
}

/* ═══════════════════════════════════════════════════════════════
   NAVBAR pilule blanche flottante  +  HERO image plein cadre
   ═══════════════════════════════════════════════════════════════ */

/* ── Navbar : pilule blanche flottante (toutes les pages) ── */
.oze-header{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  height:auto !important;
  padding:22px 40px !important;
}
.oze-header.is-scrolled{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.oze-header__inner{
  background:#fff;
  border-radius:0 ;
  box-shadow:0 12px 38px -14px rgba(18,18,18,.30);
  padding:12px 28px !important;
  min-height:62px;
  height:auto;
}
.oze-header.is-scrolled .oze-header__inner{
  box-shadow:0 14px 40px -14px rgba(18,18,18,.40);
}
.oze-logo,
.oze-nav__list a,
.oze-cart-link,
.oze-header__menu-btn{ color:var(--text) !important; }

@media (max-width:1024px){
  .oze-header{ padding:16px 18px !important; }
}
@media (max-width:768px){
  .oze-header{ padding:12px 12px !important; }
  .oze-header__inner{ padding:8px 16px !important; min-height:54px; }
}

/* ── Hero : image plein cadre + texte superposé en bas à gauche ── */
.oze-hero{
  position:relative;
  margin:-108px 20px 26px;
  border-radius:0 ;
  overflow:hidden;
  min-height:90vh;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--oze-blue);
}
.oze-hero__media{ position:absolute; inset:0; z-index:0; }
.oze-hero__media img{ width:100%; height:100%; object-fit:cover; display:block; }
.oze-hero::after{
  content:''; position:absolute; inset:0; z-index:1;
  background:rgba(18,18,18,.34);
}
.oze-hero__inner{
  position:relative; z-index:2;
  width:100%;
  padding:48px clamp(28px,5vw,80px);
  color:#fff;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  transform:translateY(10vh);
}
.oze-hero__title{
  /* Même typo que "L'écrin du moment" : rendu Poppins 700.
     !important requis pour battre la règle globale h1{font-weight:200!important}. */
  font-family:var(--sans) !important; font-weight:700 !important;
  font-size:clamp(2.53rem,5.06vw,4.3rem);
  line-height:1.18; letter-spacing:-.015em;
  margin:0 auto 1rem; color:#fff;
  max-width:22ch;
  text-wrap:balance;
}
.oze-hero__sub{
  font-family:var(--sans) !important; font-style:normal; font-weight:400 !important;
  font-size:clamp(1.27rem,1.96vw,1.64rem);
  line-height:1.55; margin:0 0 2.1rem; color:#fff;
  max-width:46ch;
  text-wrap:balance;
}
.oze-hero__btn{
  display:inline-block;
  font-family:var(--sans); font-size:.95rem; font-weight:500;
  letter-spacing:.04em; color:#fff; background:transparent;
  border:1.5px solid rgba(255,255,255,.85);
  border-radius:0 ; padding:15px 38px;
  transition:background .35s var(--ease), color .35s var(--ease);
}
.oze-hero__btn:hover{ background:#fff; color:var(--text); }

@media (max-width:1024px){
  .oze-hero{ margin:-96px 16px 20px; min-height:84vh; }
}
@media (max-width:768px){
  .oze-hero{ margin:-80px 10px 14px; border-radius:0 ; min-height:80vh; }
}

/* ═══════════════════════════════════════════════════════════════
   FOOTER — vert pomme Oze
   ═══════════════════════════════════════════════════════════════ */
.oze-footer{
  background:var(--oze-olive) !important;
  color:var(--text) !important;
}
.oze-footer__col h4,
.oze-footer__col:nth-child(3) h4,
.oze-footer__col:nth-child(4) h4{ color:var(--text) !important; }
.oze-footer__wordmark{ color:var(--bg-page) !important; }
.oze-footer__desc{ color:rgba(18,18,18,.66) !important; }
.oze-footer__list a{ color:rgba(18,18,18,.78) !important; }
.oze-footer__list a:hover{ color:var(--text) !important; }
.oze-footer__payments span{ color:rgba(18,18,18,.55) !important; }
.oze-footer__bottom{ color:rgba(18,18,18,.6) !important; }
.oze-footer__bottom a{ color:var(--text) !important; }
.oze-footer__wordmark-main{ color:var(--bg-page) !important; }
.oze-footer__wordmark-sub{ color:var(--text) !important; }
.oze-footer{ box-shadow:none !important; }

/* ═══════════════════════════════════════════════════════════════
   MEGA-MENU — sous-menu pleine largeur + visuels
   ═══════════════════════════════════════════════════════════════ */
.oze-header__inner{ position:relative; }
.oze-nav__list li.menu-item-has-children{ position:static; }

.oze-nav__list .oze-mega{
  position:absolute; top:100%; left:0; right:0;
  min-width:0; padding:0;
  background:none; border:0; box-shadow:none; border-radius:0 ;
  transform:translateY(26px);
}
.oze-nav__list li:hover > .oze-mega,
.oze-nav__list li:focus-within > .oze-mega{
  transform:translateY(14px);
}
.oze-mega__inner{
  background:#fff;
  border:1px solid rgba(18,18,18,.05);
  border-radius:0 ;
  box-shadow:0 38px 74px -28px rgba(18,18,18,.34), 0 12px 30px -18px rgba(18,18,18,.18);
  display:grid; grid-template-columns:1fr 1fr;
  overflow:hidden;
}
.oze-mega__list{
  list-style:none; margin:0;
  padding:clamp(18px,2vw,30px) clamp(22px,2.4vw,38px);
  display:flex; flex-direction:column; justify-content:center;
}
.oze-nav__list .oze-mega__list li{ width:100%; }
.oze-nav__list .oze-mega__list li + li{ border-top:1px solid rgba(18,18,18,.07); }
.oze-nav__list .oze-mega__list a{
  display:block; position:relative;
  padding:clamp(8px,1vw,13px) 14px;
  font-family:var(--serif); font-weight:400;
  font-size:clamp(.95rem,1.05vw,1.2rem);
  line-height:1.2; letter-spacing:-.005em;
  text-transform:none; color:var(--text);
  transition:color .3s var(--ease), padding-left .3s var(--ease);
}
.oze-nav__list .oze-mega__list a::after{ display:none; }
.oze-nav__list .oze-mega__list a::before{
  content:''; position:absolute; left:14px; top:50%;
  width:16px; height:1px; background:var(--accent);
  transform:translateY(-50%) scaleX(0); transform-origin:left;
  transition:transform .32s var(--ease);
}
.oze-nav__list .oze-mega__list a:hover{ color:var(--accent); padding-left:40px; }
.oze-nav__list .oze-mega__list a:hover::before{ transform:translateY(-50%) scaleX(1); }

.oze-mega__media{
  display:grid; grid-template-columns:1fr 1fr; gap:14px;
  padding:clamp(18px,2vw,28px);
  align-content:center;
  background:var(--bg-page);
}
.oze-nav__list .oze-mega__photo{
  position:relative; display:block; overflow:hidden;
  padding:0;
  aspect-ratio:1/1;
  border-radius:0 ;
  background:#fff;
}
.oze-mega__photo img{
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform 1s var(--ease);
}
.oze-nav__list .oze-mega__photo::after{ display:none; }
.oze-mega__photo:hover img{ transform:scale(1.06); }
.oze-mega__photo-label{
  position:absolute; left:0; right:0; bottom:0;
  padding:26px 16px 14px;
  font-family:var(--serif); font-style:italic; font-size:.95rem;
  color:#fff;
  background:linear-gradient(to top, rgba(18,18,18,.6), transparent);
}

/* Bloc carte cadeau — hauteur réduite */
.oze-gift{ padding-top:88px !important; padding-bottom:88px !important; }
@media (max-width:768px){
  .oze-gift{ padding-top:64px !important; padding-bottom:64px !important; }
}

/* Mega-menu : aucun pseudo-élément (flèche/trait) sur les photos produit */
.oze-nav__list .oze-mega__media a::before,
.oze-nav__list .oze-mega__media a::after,
.oze-nav__list a.oze-mega__photo::before,
.oze-nav__list a.oze-mega__photo::after{
  content:none !important;
  display:none !important;
}

/* ═══════════════════════════════════════════════════════════════
   PAGE — Guide des tailles (blocs de couleur)
   ═══════════════════════════════════════════════════════════════ */
.oze-guide{ padding-bottom:40px; }

/* Hero — panneau bleu */
.oze-guide-hero{ padding:44px 0 28px; }
.oze-guide-hero__panel{
  background:var(--oze-blue);
  border-radius:0 ;
  padding:clamp(50px,7vw,100px) clamp(28px,6vw,96px);
  text-align:center;
}
.oze-guide-hero__eyebrow{
  font-family:var(--sans); font-size:.74rem; letter-spacing:.26em;
  text-transform:uppercase; font-weight:600; margin:0 0 1.5rem; color:var(--text);
}
.oze-guide-hero__title{
  font-family:var(--serif); font-weight:700;
  font-size:clamp(2.4rem,5vw,4.4rem); line-height:1.04;
  margin:0 0 1.5rem; color:var(--text);
}
.oze-guide-hero__intro{
  font-family:var(--serif); font-size:clamp(1.05rem,1.5vw,1.4rem);
  line-height:1.6; color:var(--text); max-width:58ch; margin:0 auto;
}

/* Conseils — panneau jaune */
.oze-guide-tips{ padding:28px 0; }
.oze-guide-tips__inner{
  background:var(--oze-yellow);
  border-radius:0 ;
  padding:clamp(42px,5vw,76px) clamp(28px,5vw,80px);
  text-align:center;
}
.oze-guide-tips__inner .oze-eyebrow{ color:var(--text); }
.oze-guide-tips__inner .oze-display{ margin:.4rem 0 2.4rem; }
.oze-guide-tips__list{
  list-style:none; margin:0 auto; padding:0;
  display:grid; grid-template-columns:1fr 1fr; gap:22px;
  max-width:880px;
}
.oze-guide-tips__list li{
  display:flex; gap:16px; align-items:flex-start;
  background:rgba(255,255,255,.6);
  border-radius:0 ; padding:24px 26px; text-align:left;
}
.oze-guide-tips__list p{
  margin:0; font-family:var(--serif); font-size:1.05rem;
  line-height:1.5; color:var(--text);
}
.oze-guide-tips__icon{
  flex-shrink:0; width:40px; height:40px; border-radius:0 ;
  background:var(--text); color:var(--oze-yellow);
  display:flex; align-items:center; justify-content:center;
}
.oze-guide-tips__icon svg{ width:21px; height:21px; }

/* Méthodes — deux cartes couleur */
.oze-guide-methods{ padding:42px 0; }
.oze-guide-methods__head{ text-align:center; margin-bottom:42px; }
.oze-guide-methods__head .oze-eyebrow{ color:var(--text); }
.oze-guide-methods__grid{
  display:grid; grid-template-columns:1fr 1fr; gap:28px;
}
.oze-guide-method{
  border-radius:0 ;
  padding:clamp(36px,4vw,58px);
}
.oze-guide-method--olive{ background:var(--oze-olive); }
.oze-guide-method--pink{ background:var(--oze-pink); }
.oze-guide-method__num{
  font-family:var(--serif); font-weight:700;
  font-size:clamp(2.6rem,3.6vw,3.6rem);
  display:block; line-height:1; margin-bottom:.8rem;
  color:var(--text); opacity:.34;
}
.oze-guide-method h3{
  font-family:var(--serif); font-weight:700;
  font-size:clamp(1.55rem,2.2vw,2.15rem);
  margin:0 0 1.7rem; color:var(--text);
}
.oze-guide-method__steps{
  margin:0; padding:0; list-style:none;
  counter-reset:step;
  display:flex; flex-direction:column; gap:15px;
}
.oze-guide-method__steps li{
  counter-increment:step;
  position:relative; padding-left:46px;
  font-family:var(--serif); font-size:1.05rem; line-height:1.55; color:var(--text);
}
.oze-guide-method__steps li::before{
  content:counter(step);
  position:absolute; left:0; top:-1px;
  width:31px; height:31px; border-radius:0 ;
  background:var(--text); color:#fff;
  font-family:var(--sans); font-size:.85rem; font-weight:600;
  display:flex; align-items:center; justify-content:center;
}
.oze-guide-method__tip{
  margin:1.9rem 0 0; padding-top:1.5rem;
  border-top:1px solid rgba(18,18,18,.18);
  font-style:italic; font-family:var(--serif); font-size:.98rem;
  color:var(--text); opacity:.82;
}

/* Téléchargement — panneau */
.oze-guide-download{ padding:28px 0 44px; }
.oze-guide-download__inner{
  background:var(--oze-blue-2);
  border-radius:0 ;
  padding:clamp(42px,5vw,82px) clamp(28px,5vw,82px);
  display:grid; grid-template-columns:1.3fr 1fr;
  gap:54px; align-items:center;
}
.oze-guide-download__text .oze-eyebrow{ color:var(--text); }
.oze-guide-download__text .oze-display{ margin:.3rem 0 1.2rem; }
.oze-guide-download__note{
  font-family:var(--serif); font-size:1.05rem; line-height:1.6;
  color:var(--text); max-width:46ch; margin:0 0 2.1rem;
}
.oze-guide-download__ruler{
  display:flex; align-items:flex-end; gap:0;
  height:96px; background:#fff; border-radius:0 ;
  padding:0 20px; box-shadow:0 24px 50px -28px rgba(18,18,18,.4);
}
.oze-guide-download__ruler span{
  flex:1; border-left:1px solid rgba(18,18,18,.42); height:36%;
}
.oze-guide-download__ruler span:nth-child(odd){ height:64%; }
.oze-guide-download__ruler span:first-child{ border-left:0; }

@media (max-width:768px){
  .oze-guide-tips__list,
  .oze-guide-methods__grid,
  .oze-guide-download__inner{ grid-template-columns:1fr; }
  .oze-guide-download__ruler{ display:none; }
}

/* ═══════════════════════════════════════════════════════════════
   PAGE — Expertise : L'or en joaillerie (blocs de couleur)
   ═══════════════════════════════════════════════════════════════ */
.oze-or{ padding-bottom:40px; }

/* Hero — panneau bleu */
.oze-or-hero{ padding:44px 0 28px; }
.oze-or-hero__panel{
  background:var(--oze-blue);
  border-radius:0 ;
  padding:clamp(50px,7vw,100px) clamp(28px,6vw,96px);
  text-align:center;
}
.oze-or-hero__eyebrow{
  font-family:var(--sans); font-size:.74rem; letter-spacing:.26em;
  text-transform:uppercase; font-weight:600; margin:0 0 1.5rem; color:var(--text);
}
.oze-or-hero__title{
  font-family:var(--serif); font-weight:700;
  font-size:clamp(2.4rem,5vw,4.4rem); line-height:1.04;
  margin:0 0 1.5rem; color:var(--text);
}
.oze-or-hero__intro{
  font-family:var(--serif); font-size:clamp(1.05rem,1.5vw,1.4rem);
  line-height:1.6; color:var(--text); max-width:62ch; margin:0 auto;
}

/* Les carats — panneau jaune */
.oze-or-carats{ padding:28px 0; }
.oze-or-carats__inner{
  background:var(--oze-yellow);
  border-radius:0 ;
  padding:clamp(42px,5vw,80px) clamp(28px,5vw,80px);
  text-align:center;
}
.oze-or-carats__inner .oze-eyebrow{ color:var(--text); }
.oze-or-carats__inner .oze-display{ margin:.4rem 0 1.4rem; }
.oze-or-carats__text{
  font-family:var(--serif); font-size:1.1rem; line-height:1.6;
  color:var(--text); max-width:62ch; margin:0 auto 2.6rem;
}
.oze-or-carats__chips{
  list-style:none; margin:0; padding:0;
  display:flex; flex-wrap:wrap; justify-content:center; gap:18px;
}
.oze-or-carats__chips li{
  background:rgba(255,255,255,.6);
  border-radius:0 ;
  padding:22px 30px; min-width:120px;
}
.oze-or-carats__chips li.is-featured{
  background:var(--text); color:var(--oze-yellow);
}
.oze-or-carats__chips strong{
  display:block; font-family:var(--serif); font-weight:700;
  font-size:clamp(1.8rem,2.6vw,2.5rem); color:inherit;
}
.oze-or-carats__chips span{
  display:block; margin-top:.3rem;
  font-family:var(--sans); font-size:.66rem; letter-spacing:.18em;
  text-transform:uppercase; font-weight:600;
}

/* Le choix Oze — panneau rose */
.oze-or-choice{ padding:28px 0; }
.oze-or-choice__panel{
  background:var(--oze-pink);
  border-radius:0 ;
  padding:clamp(42px,5vw,82px) clamp(28px,5vw,82px);
}
.oze-or-choice__grid{
  display:grid; grid-template-columns:1.6fr 1fr;
  gap:54px; align-items:center;
}
.oze-or-choice__text .oze-eyebrow{ color:var(--text); }
.oze-or-choice__text .oze-display{ margin:.3rem 0 1.2rem; }
.oze-or-choice__text p{
  font-family:var(--serif); font-size:1.08rem; line-height:1.65;
  color:var(--text); margin:0;
}
.oze-or-choice__stat{
  text-align:center;
  background:rgba(255,255,255,.55);
  border-radius:0 ; padding:38px 24px;
}
.oze-or-choice__stat strong{
  display:block; font-family:var(--serif); font-weight:700;
  font-size:clamp(3.4rem,6vw,5.6rem); line-height:1; color:var(--text);
}
.oze-or-choice__stat sup{ font-size:.42em; vertical-align:super; }
.oze-or-choice__stat span{
  display:block; margin-top:.6rem;
  font-family:var(--sans); font-size:.72rem; letter-spacing:.2em;
  text-transform:uppercase; font-weight:600; color:var(--text);
}
.oze-or-colors{
  list-style:none; margin:46px 0 0; padding:0;
  display:grid; grid-template-columns:repeat(3,1fr); gap:20px;
}
.oze-or-color{
  background:rgba(255,255,255,.6);
  border-radius:0 ; padding:30px 28px;
}
.oze-or-color__dot{
  display:block; width:46px; height:46px; border-radius:0 ;
  margin-bottom:1.1rem;
  box-shadow:inset 0 -6px 12px -6px rgba(18,18,18,.4);
}
.oze-or-color__dot--yellow{ background:linear-gradient(150deg,#F4D78B,#C9A227); }
.oze-or-color__dot--white{ background:linear-gradient(150deg,#FBFBF9,#C7C9CC); }
.oze-or-color__dot--rose{ background:linear-gradient(150deg,#F2C9B8,#D69377); }
.oze-or-color h3{
  font-family:var(--serif); font-weight:700; font-size:1.3rem;
  margin:0 0 .5rem; color:var(--text);
}
.oze-or-color p{
  margin:0; font-family:var(--serif); font-size:1rem;
  line-height:1.5; color:var(--text); opacity:.85;
}

/* Démarche éco-responsable — panneau olive */
.oze-or-eco{ padding:28px 0 44px; }
.oze-or-eco__inner{
  background:var(--oze-olive);
  border-radius:0 ;
  padding:clamp(42px,5vw,82px) clamp(28px,5vw,82px);
  display:grid; grid-template-columns:1fr 1.7fr;
  gap:54px; align-items:center;
}
.oze-or-eco__stat{ text-align:center; }
.oze-or-eco__stat strong{
  display:block; font-family:var(--serif); font-weight:700;
  font-size:clamp(4.5rem,9vw,8rem); line-height:.9; color:var(--text);
}
.oze-or-eco__stat span{
  display:block; margin-top:1rem;
  font-family:var(--sans); font-size:.74rem; letter-spacing:.2em;
  text-transform:uppercase; font-weight:600; color:var(--text);
}
.oze-or-eco__text .oze-eyebrow{ color:var(--text); }
.oze-or-eco__text .oze-display{ margin:.3rem 0 1.2rem; }
.oze-or-eco__text p{
  font-family:var(--serif); font-size:1.08rem; line-height:1.65;
  color:var(--text); margin:0 0 2rem;
}

@media (max-width:768px){
  .oze-or-choice__grid,
  .oze-or-eco__inner{ grid-template-columns:1fr; gap:36px; }
  .oze-or-colors{ grid-template-columns:1fr; }
  .oze-or-carats__chips li{ min-width:96px; padding:18px 22px; }
}

/* ═══════════════════════════════════════════════════════════════
   BLOCS ACF — système de blocs de couleur réutilisables
   ═══════════════════════════════════════════════════════════════ */
.oze-bk{ padding:28px 0; }
.oze-bk__eyebrow{
  font-family:var(--sans); font-size:.74rem; letter-spacing:.24em;
  text-transform:uppercase; font-weight:600; color:var(--text);
  margin:0 0 1.2rem;
}

/* ── Panneau couleur ── */
.oze-bk-panneau__panel{
  border-radius:0 ;
  padding:clamp(46px,6vw,92px) clamp(28px,6vw,90px);
  color:var(--text);
}
.oze-bk-panneau.is-centre .oze-bk-panneau__panel{ text-align:center; }
.oze-bk-panneau__title{
  font-family:var(--serif); font-weight:700;
  font-size:clamp(2.1rem,4.4vw,3.8rem); line-height:1.08;
  margin:0 0 1.3rem; color:var(--text);
}
.oze-bk-panneau__text{
  font-family:var(--serif); font-size:clamp(1.05rem,1.4vw,1.32rem);
  line-height:1.62; color:var(--text);
}
.oze-bk-panneau.is-centre .oze-bk-panneau__text{ max-width:62ch; margin-inline:auto; }
.oze-bk-panneau__text p{ margin:0 0 1rem; }
.oze-bk-panneau__text > :last-child{ margin-bottom:0; }
.oze-bk-panneau .oze-btn{ margin-top:2rem; }

/* Pastilles */
.oze-bk-pastilles{
  list-style:none; margin:2.4rem 0 0; padding:0;
  display:flex; flex-wrap:wrap; gap:18px;
}
.oze-bk-panneau.is-centre .oze-bk-pastilles{ justify-content:center; }
.oze-bk-pastilles li{
  background:rgba(255,255,255,.6);
  border-radius:0 ; padding:22px 28px; min-width:124px;
  text-align:center;
}
.oze-bk-pastilles li.is-featured{ background:var(--text); color:#fff; }
.oze-bk-pastilles__dot{
  display:block; width:44px; height:44px; border-radius:0 ;
  margin:0 auto .9rem;
  box-shadow:inset 0 -6px 12px -6px rgba(18,18,18,.4);
}
.oze-bk-pastilles strong{
  display:block; font-family:var(--serif); font-weight:700;
  font-size:clamp(1.4rem,2.4vw,2.1rem); color:inherit;
}
.oze-bk-pastilles__leg{
  display:block; margin-top:.35rem;
  font-family:var(--sans); font-size:.66rem; letter-spacing:.16em;
  text-transform:uppercase; font-weight:600;
}

/* ── Cartes étapes ── */
.oze-bk-cartes__head{ text-align:center; margin-bottom:40px; }
.oze-bk-cartes__head .oze-display{ margin:.3rem 0 0; }
.oze-bk-cartes__grid{
  display:grid; gap:24px;
  grid-template-columns:repeat(3,1fr);
  align-items:stretch;
}
.oze-bk-cartes__grid[data-count="1"]{ grid-template-columns:minmax(0,620px); justify-content:center; }
.oze-bk-cartes__grid[data-count="2"]{ grid-template-columns:repeat(2,1fr); }
.oze-bk-cartes__grid[data-count="4"]{ grid-template-columns:repeat(2,1fr); }
.oze-bk-carte{
  border-radius:0 ; padding:clamp(34px,3.6vw,54px); color:var(--text);
}
.oze-bk-carte__num{
  display:block; font-family:var(--serif); font-weight:700;
  font-size:clamp(2.2rem,3.2vw,3.2rem); line-height:1;
  margin-bottom:.8rem; color:var(--text); opacity:.34;
}
.oze-bk-carte h3{
  font-family:var(--serif); font-weight:700;
  font-size:clamp(1.45rem,2.1vw,2rem); margin:0 0 1.4rem; color:var(--text);
}
.oze-bk-carte__body{
  font-family:var(--serif); font-size:1.05rem; line-height:1.6; color:var(--text);
}
.oze-bk-carte__body p{ margin:0 0 .9rem; }
.oze-bk-carte__body ol{
  margin:0; padding:0; list-style:none; counter-reset:step;
  display:flex; flex-direction:column; gap:14px;
}
.oze-bk-carte__body ol li{
  counter-increment:step; position:relative; padding-left:46px;
}
.oze-bk-carte__body ol li::before{
  content:counter(step);
  position:absolute; left:0; top:-1px;
  width:31px; height:31px; border-radius:0 ;
  background:var(--text); color:#fff;
  font-family:var(--sans); font-size:.85rem; font-weight:600;
  display:flex; align-items:center; justify-content:center;
}
.oze-bk-carte__body ul{ margin:0; padding-left:1.1em; }
.oze-bk-carte__note{
  margin:1.8rem 0 0; padding-top:1.4rem;
  border-top:1px solid rgba(18,18,18,.18);
  font-family:var(--serif); font-style:italic; font-size:.98rem;
  color:var(--text); opacity:.82;
}

/* ── Bloc statistique ── */
.oze-bk-stat__panel{
  border-radius:0 ;
  padding:clamp(42px,5vw,82px) clamp(28px,5vw,82px);
  display:grid; gap:54px; align-items:center; color:var(--text);
}
.oze-bk-stat.is-gauche .oze-bk-stat__panel{ grid-template-columns:1fr 1.7fr; }
.oze-bk-stat.is-droite .oze-bk-stat__panel{ grid-template-columns:1.7fr 1fr; }
.oze-bk-stat.is-droite .oze-bk-stat__figure{ order:2; }
.oze-bk-stat.is-droite .oze-bk-stat__text{ order:1; }
.oze-bk-stat__figure{ text-align:center; }
.oze-bk-stat__figure strong{
  display:block; font-family:var(--serif); font-weight:700;
  font-size:clamp(3.4rem,7vw,7rem); line-height:.92; color:var(--text);
}
.oze-bk-stat__figure span{
  display:block; margin-top:.8rem;
  font-family:var(--sans); font-size:.74rem; letter-spacing:.18em;
  text-transform:uppercase; font-weight:600; color:var(--text);
}
.oze-bk-stat__text .oze-display{ margin:.3rem 0 1.1rem; }
.oze-bk-stat__body{
  font-family:var(--serif); font-size:1.06rem; line-height:1.64; color:var(--text);
}
.oze-bk-stat__body p{ margin:0 0 1rem; }
.oze-bk-stat__body > :last-child{ margin-bottom:0; }
.oze-bk-stat .oze-btn{ margin-top:1.8rem; }

@media (max-width:1024px){
  .oze-bk-cartes__grid[data-count="5"],
  .oze-bk-cartes__grid[data-count="6"]{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:768px){
  .oze-bk-cartes__grid,
  .oze-bk-cartes__grid[data-count="1"],
  .oze-bk-cartes__grid[data-count="2"],
  .oze-bk-cartes__grid[data-count="4"]{ grid-template-columns:1fr; }
  .oze-bk-stat.is-gauche .oze-bk-stat__panel,
  .oze-bk-stat.is-droite .oze-bk-stat__panel{ grid-template-columns:1fr; gap:34px; }
  .oze-bk-stat.is-droite .oze-bk-stat__figure{ order:0; }
  .oze-bk-stat.is-droite .oze-bk-stat__text{ order:0; }
}

/* Pages en blocs ACF : le footer ne chevauche pas le dernier bloc */
.oze-page--blocs ~ .oze-footer{
  margin-top:0 !important;
  padding-top:84px !important;
  box-shadow:none !important;
}
.oze-page--blocs{ padding-bottom:0; }

/* ═══════════════════════════════════════════════════════════════
   PAGE COMMANDE — checkout premium (DA Oze)
   ═══════════════════════════════════════════════════════════════ */
.oze-checkout{ background:var(--bg-page); }
.oze-checkout__wrap{ max-width:1280px; margin:0 auto; padding:46px 32px 90px; }
.oze-checkout__header{ text-align:center; margin-bottom:38px; }
.oze-checkout__title{
  font-family:var(--serif); font-weight:700;
  font-size:clamp(2.2rem,4vw,3.4rem); color:var(--text); margin:.3rem 0 1rem;
}
.oze-checkout__reassure{
  display:flex; flex-wrap:wrap; justify-content:center; gap:10px 26px;
  margin:0; font-family:var(--sans); font-size:.74rem;
  letter-spacing:.14em; text-transform:uppercase; color:var(--text-soft);
}
.oze-checkout__reassure span{ display:inline-flex; align-items:center; gap:8px; }
.oze-checkout__reassure span::before{
  content:''; width:6px; height:6px; border-radius:0 ; background:var(--accent);
}

/* Bloc checkout — 2 colonnes forcées (formulaire | résumé à droite) */
.oze-checkout .wc-block-checkout{
  display:flex !important;
  flex-wrap:wrap;
  align-items:flex-start;
  gap:32px !important;
}
.oze-checkout .wc-block-checkout__main{
  flex:1 1 540px !important;
  min-width:0 !important;
  padding:0 !important;
  max-width:none !important;
}
.oze-checkout .wc-block-checkout__sidebar{
  flex:0 0 384px !important;
  max-width:384px !important;
  width:384px !important;
}
@media (max-width:960px){
  .oze-checkout .wc-block-checkout__main,
  .oze-checkout .wc-block-checkout__sidebar{
    flex:1 1 100% !important; max-width:100% !important; width:100% !important;
  }
}

/* Étapes — panneaux blancs */
.oze-checkout .wc-block-components-checkout-step{
  background:#fff !important;
  border:1px solid rgba(18,18,18,.05) !important;
  border-radius:0 !important;
  padding:clamp(24px,3vw,38px) !important;
  margin:0 0 18px !important;
  box-shadow:0 18px 46px -36px rgba(18,18,18,.55) !important;
}
.oze-checkout .wc-block-components-checkout-step::before,
.oze-checkout .wc-block-components-checkout-step::after{ display:none !important; }
.oze-checkout .wc-block-components-checkout-step__heading{ margin:0 0 .5rem !important; }
.oze-checkout .wc-block-components-checkout-step__title{
  font-family:var(--serif) !important; font-weight:700 !important;
  font-size:1.45rem !important; color:var(--text) !important; letter-spacing:-.01em;
}
.oze-checkout .wc-block-components-checkout-step__description{
  font-family:var(--sans) !important; color:var(--muted) !important; font-size:.86rem !important;
}

/* Champs de formulaire */
.oze-checkout .wc-block-components-text-input input,
.oze-checkout .wc-block-components-text-input textarea,
.oze-checkout .wc-block-components-combobox input,
.oze-checkout .wc-blocks-components-select .wc-blocks-components-select__select,
.oze-checkout .wc-block-components-select select{
  border:1px solid var(--line) !important;
  border-radius:0 !important;
  background:var(--bg-page) !important;
  font-family:var(--sans) !important;
  color:var(--text) !important;
}
.oze-checkout .wc-block-components-text-input input:focus,
.oze-checkout .wc-block-components-text-input textarea:focus,
.oze-checkout .wc-block-components-combobox input:focus,
.oze-checkout .wc-blocks-components-select .wc-blocks-components-select__select:focus,
.oze-checkout .wc-block-components-select select:focus{
  border-color:var(--accent) !important;
  box-shadow:0 0 0 3px rgba(198,168,135,.2) !important;
  outline:none !important;
}
.oze-checkout .wc-block-components-text-input label,
.oze-checkout .wc-block-components-combobox label{
  font-family:var(--sans) !important; color:var(--muted) !important;
}
.oze-checkout input[type="checkbox"],
.oze-checkout input[type="radio"]{ accent-color:var(--oze-deep) !important; }

/* Paiement express — encart aéré */
.oze-checkout .wc-block-checkout__express-payment{
  background:#fff !important;
  border:1px solid rgba(18,18,18,.05) !important;
  border-radius:0 !important;
  padding:22px clamp(20px,2.6vw,32px) !important;
  margin:0 0 18px !important;
}

/* Sidebar — résumé de commande (uniquement le vrai conteneur) */
.oze-checkout .wc-block-components-sidebar{
  background:#fff !important;
  border:1px solid rgba(18,18,18,.05) !important;
  border-radius:0 !important;
  box-shadow:0 24px 54px -36px rgba(18,18,18,.55) !important;
  padding:30px 28px !important;
}
.oze-checkout .wc-block-checkout__sidebar{ position:sticky; top:120px; }
.oze-checkout .wc-block-components-checkout-order-summary__title{
  font-family:var(--serif) !important; font-size:1.4rem !important;
  font-weight:700 !important; color:var(--text) !important;
}
.oze-checkout .wc-block-components-order-summary-item{ padding:16px 0 !important; }
.oze-checkout .wc-block-components-order-summary-item__image img{ border-radius:0 !important; }
.oze-checkout .wc-block-components-order-summary-item__name{
  font-family:var(--serif) !important; font-weight:700 !important;
  font-size:1.05rem !important; color:var(--text) !important;
}
.oze-checkout .wc-block-components-order-summary-item__quantity .wc-block-components-product-badge{
  background:var(--oze-deep) !important; color:#fff !important;
}

/* Totaux */
.oze-checkout .wc-block-components-totals-item__label{
  font-family:var(--sans) !important; color:var(--text-soft) !important;
}
.oze-checkout .wc-block-components-totals-item__value{
  font-family:var(--serif) !important; color:var(--text) !important;
}
.oze-checkout .wc-block-components-totals-footer-item{ border-top:1px solid var(--line) !important; }
.oze-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label{
  font-family:var(--serif) !important; font-weight:700 !important;
  font-size:1.2rem !important; color:var(--text) !important; text-transform:none !important;
}
.oze-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
  font-family:var(--serif) !important; font-weight:700 !important;
  font-size:1.55rem !important; color:var(--text) !important;
}
.oze-checkout .wc-block-components-totals-coupon__button,
.oze-checkout .wc-block-components-panel__button{
  color:var(--accent) !important; font-family:var(--sans) !important;
}

/* Bouton « Commander » — CTA premium */
.oze-checkout .wc-block-components-checkout-place-order-button{
  background:var(--oze-deep) !important;
  color:#fff !important;
  border:0 !important;
  border-radius:0 !important;
  font-family:var(--sans) !important;
  font-size:.82rem !important; font-weight:600 !important;
  letter-spacing:.16em !important; text-transform:uppercase !important;
  padding:20px 36px !important;
  min-height:60px !important;
  box-shadow:0 16px 36px -18px rgba(47,74,79,.65) !important;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease) !important;
}
.oze-checkout .wc-block-components-checkout-place-order-button:hover{
  transform:translateY(-2px);
  box-shadow:0 24px 46px -18px rgba(47,74,79,.75) !important;
}
.oze-checkout .wc-block-components-checkout-return-to-cart-button{
  color:var(--muted) !important; font-family:var(--sans) !important; letter-spacing:.06em;
}
.oze-checkout .wc-block-components-checkout-return-to-cart-button:hover{ color:var(--accent) !important; }

/* Conditions / notices */
.oze-checkout .wc-block-checkout__terms{
  font-family:var(--sans) !important; color:var(--muted) !important;
}
.oze-checkout .wc-block-components-notice-banner{
  border-radius:0 !important; font-family:var(--sans) !important;
}
.oze-checkout .wc-block-components-notice-banner.is-error{
  background:var(--oze-pink-2) !important;
  border-color:var(--oze-pink) !important;
  color:var(--text) !important;
}

@media (max-width:1024px){
  .oze-checkout .wc-block-checkout__sidebar{ position:static; }
}
@media (max-width:600px){
  .oze-checkout__wrap{ padding:32px 16px 60px; }
}

/* ── Bloc FAQ accordéon ── */
.oze-bk-faq__head{ text-align:center; margin-bottom:42px; }
.oze-bk-faq__head .oze-display{ margin:.3rem 0 0; }
.oze-bk-faq__list{ display:flex; flex-direction:column; gap:14px; }
.oze-bk-faq__item{
  background:#fff;
  border:1px solid rgba(18,18,18,.06);
  border-radius:0 ;
  padding:0 clamp(22px,2.4vw,36px);
  box-shadow:0 14px 38px -32px rgba(18,18,18,.5);
  transition:box-shadow .3s var(--ease);
}
.oze-bk-faq__item[open]{ box-shadow:0 22px 48px -28px rgba(18,18,18,.42); }
.oze-bk-faq__q{
  list-style:none; cursor:pointer;
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  padding:26px 0;
  font-family:var(--serif); font-weight:700;
  font-size:clamp(1.05rem,1.5vw,1.32rem);
  color:var(--text);
}
.oze-bk-faq__q::-webkit-details-marker{ display:none; }
.oze-bk-faq__q::marker{ content:""; }
.oze-bk-faq__icon{
  position:relative; flex-shrink:0;
  width:32px; height:32px; border-radius:0 ;
  background:var(--oze-blue-2);
  transition:background .3s var(--ease);
}
.oze-bk-faq__icon::before,
.oze-bk-faq__icon::after{
  content:''; position:absolute; left:50%; top:50%;
  background:var(--text);
  transition:transform .3s var(--ease), background .3s var(--ease);
}
.oze-bk-faq__icon::before{ width:12px; height:2px; transform:translate(-50%,-50%); }
.oze-bk-faq__icon::after{ width:2px; height:12px; transform:translate(-50%,-50%); }
.oze-bk-faq__item[open] .oze-bk-faq__icon{ background:var(--accent); }
.oze-bk-faq__item[open] .oze-bk-faq__icon::before,
.oze-bk-faq__item[open] .oze-bk-faq__icon::after{ background:#fff; }
.oze-bk-faq__item[open] .oze-bk-faq__icon::after{ transform:translate(-50%,-50%) scaleY(0); }
.oze-bk-faq__a{
  padding:0 0 28px;
  font-family:var(--serif); font-size:1.05rem; line-height:1.72;
  color:var(--text-soft); max-width:64ch;
}
.oze-bk-faq__a p{ margin:0 0 .8rem; }
.oze-bk-faq__a > :last-child{ margin-bottom:0; }

/* ── Bloc Hero éditorial — image plein fond ── */
.oze-bk-hero__panel{
  position:relative; overflow:hidden;
  border-radius:0 ;
  min-height:clamp(460px, 74vh, 780px);
  display:flex; align-items:flex-end;
  padding:clamp(34px,5vw,76px);
  color:#fff;
}
.oze-bk-hero__media{ position:absolute; inset:0; z-index:0; }
.oze-bk-hero__img{
  width:100%; height:100%; object-fit:cover; display:block;
}
.oze-bk-hero__panel::after{
  content:''; position:absolute; inset:0; z-index:1;
  background:linear-gradient(to top, rgba(18,18,18,.64) 0%, rgba(18,18,18,.18) 48%, rgba(18,18,18,.04) 100%);
}
.oze-bk-hero__text{ position:relative; z-index:2; max-width:760px; }
.oze-bk-hero .oze-bk__eyebrow{ color:#fff; }
.oze-bk-hero__title{
  font-family:var(--serif); font-weight:700;
  font-size:clamp(2.9rem,6vw,5.6rem); line-height:1.02;
  letter-spacing:-.02em; margin:.7rem 0 0; color:#fff;
}
.oze-bk-hero__title:last-child{ margin-bottom:0; }
.oze-bk-hero__lead{
  font-family:var(--serif); font-size:clamp(1.05rem,1.4vw,1.32rem);
  line-height:1.62; color:#fff; margin-top:1.3rem;
}
.oze-bk-hero__lead p{ margin:0 0 1rem; }
.oze-bk-hero__lead > :last-child{ margin-bottom:0; }
.oze-bk-hero .oze-btn{ margin-top:1.8rem; }

/* ── Bloc Carte mise en avant (vintage) ── */
.oze-bk-feature{ padding:clamp(38px,5vw,76px) 0; }
.oze-bk-feature__card{
  border-radius:0 ;
  padding:clamp(32px,3.4vw,54px) clamp(34px,4vw,66px);
  display:grid;
  grid-template-columns:auto 1.5fr 1fr auto;
  gap:clamp(22px,3vw,46px); align-items:center;
  color:var(--text); text-decoration:none;
  transition:transform .4s var(--ease), box-shadow .4s var(--ease);
}
a.oze-bk-feature__card:hover{
  transform:translateY(-4px);
  box-shadow:0 32px 60px -30px rgba(18,18,18,.4);
}
.oze-bk-feature__eyebrow{
  font-family:var(--sans); font-size:.72rem; letter-spacing:.22em;
  text-transform:uppercase; font-weight:600; margin:0; white-space:nowrap;
}
.oze-bk-feature__title{
  font-family:var(--serif); font-weight:700;
  font-size:clamp(1.7rem,2.8vw,2.8rem); line-height:1.06;
  letter-spacing:-.01em; margin:0; color:var(--text);
}
.oze-bk-feature__text{
  font-family:var(--serif); font-size:1.04rem; line-height:1.55; color:var(--text);
}
.oze-bk-feature__text p{ margin:0; }
.oze-bk-feature__arrow{
  width:58px; height:58px; flex-shrink:0; border-radius:0 ;
  border:1.5px solid var(--text);
  display:flex; align-items:center; justify-content:center;
  transition:background .35s var(--ease), color .35s var(--ease);
}
.oze-bk-feature__arrow svg{ width:24px; height:24px; }
a.oze-bk-feature__card:hover .oze-bk-feature__arrow{ background:var(--text); color:var(--bg-page); }

@media (max-width:900px){
  .oze-bk-hero__panel{ min-height:clamp(420px, 80vh, 620px); padding:28px; }
  .oze-bk-feature__card{
    grid-template-columns:1fr; gap:14px; text-align:left;
  }
  .oze-bk-feature__arrow{ margin-top:6px; }
}

/* Panneau — variante texte en blanc */
.oze-bk-panneau--light .oze-bk__eyebrow,
.oze-bk-panneau--light .oze-bk-panneau__title,
.oze-bk-panneau--light .oze-bk-panneau__text,
.oze-bk-panneau--light .oze-bk-panneau__text p,
.oze-bk-panneau--light .oze-bk-panneau__text a{ color:#fff !important; }
.oze-bk-panneau--light .oze-bk-pastilles li:not(.is-featured){ color:var(--text); }

/* Panneau — variante pleine largeur (sans wrapper) */
.oze-bk-panneau--full{ padding:0; }
.oze-bk-panneau--full > .container{ max-width:none; padding:0; }
.oze-bk-panneau--full .oze-bk-panneau__panel{ border-radius:0 ; }

/* Fiche produit — harmonisation de la mise en page */
.oze-product .quantity input{
  border-radius:0 !important;
  width:72px !important;
}
.oze-product form.cart{ gap:10px; }
.oze-product__cart{ margin:0 0 14px; }
.oze-product__pill{ margin-bottom:22px; }
/* Paiement express : encart discret, séparé du bouton principal */
.oze-product__summary .wc-stripe-product-checkout-container,
.oze-product__summary .wc-block-components-express-payment,
.oze-product__summary .wc-stripe-payment-request-wrapper{
  margin-top:14px !important;
  padding-top:16px;
  border-top:1px solid var(--line);
}

/* ── Écrin du moment : carte d'intro jaune (span 2 colonnes) ── */
.oze-ecrin__intro{
  grid-column:span 2;
  background:var(--oze-yellow);
  border-radius:0 ;
  padding:clamp(30px,3vw,54px);
  display:flex; flex-direction:column; justify-content:center;
  color:var(--text);
}
.oze-ecrin__intro-eyebrow{
  font-family:var(--sans); font-size:.74rem; letter-spacing:.24em;
  text-transform:uppercase; font-weight:600; margin:0 0 1.2rem; color:var(--text);
}
.oze-ecrin__intro-title{
  font-family:var(--serif); font-weight:700;
  font-size:clamp(1.8rem,2.6vw,2.9rem); line-height:1.08;
  letter-spacing:-.01em; margin:0 0 1.1rem; color:var(--text);
}
.oze-ecrin__intro-text{
  font-family:var(--serif); font-size:clamp(1rem,1.2vw,1.2rem);
  line-height:1.62; color:var(--text); margin:0;
}
.oze-ecrin__intro-text p{ margin:0 0 .9rem; }
.oze-ecrin__intro-text p:last-child{ margin-bottom:0; }
.oze-ecrin__intro--olive{ background:var(--oze-olive); }
@media (max-width:768px){
  .oze-ecrin__intro{ grid-column:1 / -1; }
}

/* Écrin — cartes intro : titre en gras, variante olive en blanc */
.oze-ecrin__intro-title{ font-weight:700 !important; }
.oze-ecrin__intro--olive .oze-ecrin__intro-title,
.oze-ecrin__intro--olive .oze-ecrin__intro-text,
.oze-ecrin__intro--olive .oze-ecrin__intro-text p{ color:#fff !important; }

/* ═══════════════════════════════════════════════════════════════
   PAGES SEO — En-tête, texte éditorial, galerie produits
   ═══════════════════════════════════════════════════════════════ */
.oze-hero--seo{ margin-top:24px; min-height:62vh; }
.oze-hero--seo .oze-hero__inner{ transform:none; padding-top:56px; padding-bottom:56px; }
@media (max-width:768px){
  .oze-hero--seo{ min-height:58vh; }
}

/* ─── Section de texte éditoriale ─── */
.oze-seo-text{ padding:84px 0; }
.oze-seo-text__head{ max-width:680px; margin:0 auto 44px; text-align:center; }
.oze-seo-text__head .oze-bk__eyebrow{ text-align:center; }
.oze-seo-text__title{
  font-family:var(--serif); font-weight:700;
  font-size:clamp(1.9rem,3.2vw,2.85rem); line-height:1.14;
  letter-spacing:-.01em; color:var(--text); margin:.5rem 0 0;
}
.oze-seo-text__flower{ display:block; margin:20px auto 0; width:24px; height:24px; }
.oze-seo-text__flower svg{ width:100%; height:100%; display:block; }
.oze-seo-text__flower .oze-flower-petals{ fill:#C6A887; }
.oze-seo-text__flower .oze-flower-heart{ fill:#2F4A4F; }

.oze-seo-text__card{
  max-width:880px; margin:0 auto;
  background:#fff; border-radius:0 ;
  padding:clamp(32px,5vw,72px);
  box-shadow:0 24px 60px rgba(38,36,32,.07);
}
.oze-seo-text__prose{ font-size:1.05rem; line-height:1.8; color:var(--text); }
.oze-seo-text__prose > *:first-child{ margin-top:0; }
.oze-seo-text__prose > *:last-child{ margin-bottom:0; }
.oze-seo-text__prose p{ margin:0 0 1.2rem; }
.oze-seo-text__prose > p:first-of-type{ font-size:1.18rem; line-height:1.62; color:#3a372f; }
.oze-seo-text__prose h2{
  font-family:var(--serif); font-weight:700;
  font-size:clamp(1.4rem,2.4vw,1.95rem); line-height:1.25;
  margin:2.5rem 0 1rem; padding-top:1.6rem; color:var(--text);
  border-top:1px solid #ece6da;
}
.oze-seo-text__prose h3{ font-family:var(--serif); font-weight:700; font-size:1.3rem; margin:1.9rem 0 .7rem; color:var(--text); }
.oze-seo-text__prose ul,.oze-seo-text__prose ol{ margin:0 0 1.2rem 0; padding-left:1.3rem; }
.oze-seo-text__prose li{ margin:.45rem 0; padding-left:.2rem; }
.oze-seo-text__prose ul li::marker{ color:#C6A887; }
.oze-seo-text__prose strong{ color:var(--text); font-weight:700; }
.oze-seo-text__prose a{ color:#2F4A4F; text-decoration:underline; text-underline-offset:2px; }

/* ─── Galerie produits ─── */
.oze-seo-products{ padding:78px 0 96px; background:#EFE9DC; border-top:1px solid #e4ddcd; }
.oze-seo-products__head{ text-align:center; max-width:640px; margin:0 auto 46px; }
.oze-seo-products__head .oze-bk__eyebrow{ text-align:center; }
.oze-seo-products__title{ font-family:var(--serif); font-weight:700; font-size:clamp(1.9rem,3.2vw,2.85rem); margin:.4rem 0 .65rem; color:var(--text); }
.oze-seo-products__sub{ color:#6f6a60; margin:0; line-height:1.6; }
.oze-seo-products__cta{ text-align:center; margin-top:52px; }
.oze-seo-products__empty{ text-align:center; color:#6f6a60; }
.oze-seo-products__grid{ grid-template-columns:repeat(5, 1fr); gap:46px 22px; }
@media (max-width:1100px){ .oze-seo-products__grid{ grid-template-columns:repeat(3, 1fr); } }
@media (max-width:680px){ .oze-seo-products__grid{ grid-template-columns:repeat(2, 1fr); gap:40px 16px; } }
@media (max-width:768px){
  .oze-seo-text{ padding:54px 0; }
  .oze-seo-text__head{ margin-bottom:32px; }
  .oze-seo-text__card{ border-radius:0 ; }
  .oze-seo-products{ padding:54px 0 66px; }
}

/* L'écrin du moment : section intégrée au body — aucun arrondi, ombre ni recouvrement */
.oze-ecrin--rose{
  border-radius:0 !important;
  box-shadow:none !important;
  margin-top:0 !important;
}
.oze-ecrin--rose::before,
.oze-ecrin--rose::after{ display:none !important; }

/* Bloc « Le vintage » : espace de séparation au-dessus de l'écrin */
.oze-vintage-cta{ margin-top:0 !important; }

/* ═══════════════════════════════════════════════════════════════
   BOUTONS — uniformisation du survol : JAUNE, sans liseré vert
   ═══════════════════════════════════════════════════════════════ */
.oze-btn--dark,
.woocommerce .button,
.woocommerce a.button,
.woocommerce button.button,
.oze-product .single_add_to_cart_button,
.oze-newsletter-form button{
  transition:background .35s var(--ease), color .35s var(--ease), border-color .35s var(--ease);
}
.oze-btn--dark:hover,
.oze-btn--dark:focus-visible,
.woocommerce .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.oze-product .single_add_to_cart_button:hover,
.oze-product .single_add_to_cart_button:focus-visible,
.oze-newsletter-form button:hover{
  background:var(--oze-yellow) !important;
  color:var(--oze-deep) !important;
  border-color:var(--oze-yellow) !important;
}

/* Bloc « Le vintage » : sans coins arrondis */
.oze-vintage-cta{ border-radius:0 !important; }

/* Bloc newsletter : sans coins arrondis */
.oze-newsletter-block{ border-radius:0 !important; }

/* Bloc « Le vintage » : fond du body (plus de rose) */
.oze-vintage-cta{ background:var(--bg-page) !important; }

/* Bloc « Le vintage » : aucune démarcation avec le body */
.oze-vintage-cta{ box-shadow:none !important; }
.oze-vintage-cta::before,
.oze-vintage-cta::after{ display:none !important; }

/* Bloc « Le vintage » : padding-top réduit de 50% (158px → 79px) */
.oze-vintage-cta{ padding-top:79px !important; }

/* ═══════════════════════════════════════════════════════════════
   BLOC DUO — texte éditorial + carte mise en avant
   ═══════════════════════════════════════════════════════════════ */
.oze-bk-duo{ padding:clamp(56px,7vw,104px) 0; }
.oze-bk-duo__grid{
  display:grid; grid-template-columns:1.05fr .95fr;
  gap:clamp(32px,5vw,72px); align-items:center;
}
.oze-bk-duo__title{
  font-size:clamp(1.9rem,3.2vw,2.9rem);
  line-height:1.14; letter-spacing:-.01em; margin:.4rem 0 1.2rem; color:var(--text);
}
.oze-bk-duo__lead{ font-size:1.05rem; line-height:1.72; color:var(--text); }
.oze-bk-duo__lead p{ margin:0 0 1rem; }
.oze-bk-duo__lead p:last-child{ margin-bottom:0; }
.oze-bk-duo .oze-btn{ margin-top:1.7rem; }
.oze-bk-duo--light .oze-bk-duo__title,
.oze-bk-duo--light .oze-bk-duo__lead,
.oze-bk-duo--light .oze-bk__eyebrow{ color:#fff; }

.oze-bk-duo__card{
  display:block; position:relative;
  border-radius:0 ; padding:clamp(32px,3.4vw,52px);
  color:var(--text); text-decoration:none;
  box-shadow:0 28px 64px -30px rgba(38,36,32,.5);
  transition:transform .4s var(--ease), box-shadow .4s var(--ease);
}
a.oze-bk-duo__card:hover{ transform:translateY(-4px); box-shadow:0 36px 74px -26px rgba(38,36,32,.55); }
.oze-bk-duo__card-eyebrow{
  font-family:var(--sans); font-size:.72rem; letter-spacing:.22em;
  text-transform:uppercase; font-weight:600; margin:0 0 1rem; color:var(--text);
}
.oze-bk-duo__card-title{
  font-size:clamp(1.4rem,2vw,1.95rem);
  line-height:1.16; margin:0 0 .9rem; color:var(--text);
}
.oze-bk-duo__card-text{ font-size:1rem; line-height:1.62; color:var(--text); }
.oze-bk-duo__card-text p{ margin:0; }
.oze-bk-duo__card-arrow{
  display:inline-flex; margin-top:1.7rem;
  width:46px; height:46px; border-radius:0 ;
  border:1.5px solid currentColor; align-items:center; justify-content:center;
  transition:background .35s var(--ease), color .35s var(--ease);
}
.oze-bk-duo__card-arrow svg{ width:20px; height:20px; }
a.oze-bk-duo__card:hover .oze-bk-duo__card-arrow{ background:var(--text); color:#fff; }

@media (max-width:880px){
  .oze-bk-duo__grid{ grid-template-columns:1fr; gap:30px; }
  .oze-bk-duo__card{ border-radius:0 ; }
}

/* Hero accueil : kicker "Maison de Joaillerie" + petit trait */
.oze-hero__kicker{
  font-family:var(--sans); font-size:1.08rem; font-weight:500;
  letter-spacing:.24em; text-transform:uppercase; color:#fff;
  margin:0 0 1.15rem; padding-bottom:.95rem; position:relative;
}
.oze-hero__kicker::after{
  content:''; position:absolute; left:50%; bottom:0; transform:translateX(-50%);
  width:46px; height:2px; background:rgba(255,255,255,.75);
}

/* Badge « Vendu » — pièce laissée en ligne mais plus disponible */
.oze-card__tag--sold{
  background:var(--oze-deep) !important;
  color:#fff !important;
}
.oze-card--sold .oze-price{ opacity:.6; text-decoration:line-through; }

/* Pages de blocs : seul le 1er titre (H1) en gras, les suivants allégés */
.oze-page--blocs h1{ font-weight:700 !important; }
.oze-page--blocs h2{ font-weight:200 !important; }

/* ═══ Bloc Texte — pages de contenu (légales, infos) ═══ */
.oze-bk-texte{ padding:clamp(48px,6vw,90px) 0; }
.oze-bk-texte__inner{ max-width:820px; margin:0 auto; }
.oze-bk-texte__title{
  font-size:clamp(1.9rem,3.4vw,2.9rem); line-height:1.14;
  letter-spacing:-.01em; color:var(--text); margin:0 0 1.6rem;
}
.oze-bk-texte__prose{ font-size:1.04rem; line-height:1.78; color:var(--text); }
.oze-bk-texte__prose > *:first-child{ margin-top:0; }
.oze-bk-texte__prose p{ margin:0 0 1.1rem; }
.oze-bk-texte__prose h2{ font-family:var(--sans); font-weight:600; font-size:clamp(1.3rem,2.2vw,1.7rem); margin:2.2rem 0 .8rem; color:var(--text); }
.oze-bk-texte__prose h3{ font-family:var(--sans); font-weight:600; font-size:1.18rem; margin:1.7rem 0 .6rem; color:var(--text); }
.oze-bk-texte__prose ul,.oze-bk-texte__prose ol{ margin:0 0 1.1rem 0; padding-left:1.3rem; }
.oze-bk-texte__prose li{ margin:.4rem 0; }
.oze-bk-texte__prose ul li::marker{ color:#C6A887; }
.oze-bk-texte__prose a{ color:#2F4A4F; text-decoration:underline; text-underline-offset:2px; }
.oze-bk-texte__prose strong{ color:var(--text); font-weight:700; }

/* ═══════════════════════════════════════════════════════════════
   FORMAT CARRÉ — aucun arrondi sur tout le site (sauf le menu)
   ═══════════════════════════════════════════════════════════════ */
*, *::before, *::after{ border-radius:0 !important; }
/* Exception : la barre de menu garde sa forme pilule */
.oze-header__inner{ border-radius:999px !important; }
