/* =========================================================
   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
   ========================================================= */

/* ─── Maison Neue — fonte de marque (self-hosted) ─────────────
 * font-weight:500 utilise Maison Neue DEMI (pas Medium) — choix de marque.
 * Tous les autres poids gardent leur correspondance native.
 */
@font-face {
  font-family: 'Maison Neue';
  src: url('../fonts/MaisonNeue-Light.woff2') format('woff2');
  font-weight: 300; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Maison Neue';
  src: url('../fonts/MaisonNeue-LightItalic.woff2') format('woff2');
  font-weight: 300; font-style: italic; font-display: swap;
}
@font-face {
  font-family: 'Maison Neue';
  src: url('../fonts/MaisonNeue-Book.woff2') format('woff2');
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Maison Neue';
  src: url('../fonts/MaisonNeue-BookItalic.woff2') format('woff2');
  font-weight: 400; font-style: italic; font-display: swap;
}
/* 500 = DEMI (et non Medium) — appliqué partout où le CSS dit font-weight:500 */
@font-face {
  font-family: 'Maison Neue';
  src: url('../fonts/MaisonNeue-Demi.woff2') format('woff2');
  font-weight: 500; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Maison Neue';
  src: url('../fonts/MaisonNeue-DemiItalic.woff2') format('woff2');
  font-weight: 500; font-style: italic; font-display: swap;
}
/* Bold (700) gardé dispo en réserve pour usages explicites ponctuels */
@font-face {
  font-family: 'Maison Neue';
  src: url('../fonts/MaisonNeue-Bold.woff2') format('woff2');
  font-weight: 700; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Maison Neue';
  src: url('../fonts/MaisonNeue-BoldItalic.woff2') format('woff2');
  font-weight: 700; font-style: italic; font-display: swap;
}

:root{
  /* Palette Oze — version épurée 2 couleurs : BLEU + BEIGE
   * (rose, jaune, olive remappés vers nuances beige/bleu pour homogénéiser le site
   *  sans casser la sémantique des variables existantes) */
  --bg-page:     #F9F6EE;  /* Crème principal */
  --oze-blue:    #ADD0DA;  /* Bleu navbar / signature */
  --oze-blue-2:  #C4DFE3;  /* Bleu très clair */
  --oze-pink:    #E8D5BC;  /* ex rose → BEIGE doux */
  --oze-pink-2:  #F5E9D8;  /* ex rose pâle → beige crème */
  --oze-yellow:  #E8D5BC;  /* ex jaune → BEIGE doux */
  --oze-yellow-2:#F5E9D8;  /* ex jaune crème → beige crème */
  --oze-olive:   #ADD0DA;  /* ex olive → BLEU */
  --oze-olive-2: #C4DFE3;  /* ex olive doux → bleu pâle */
  --oze-warm:    #FFF5EA;  /* Crème chaud (conservé) */

  /* Alias historiques (compat) */
  --bg-blue:     var(--oze-blue);
  --bg-blue-2:   var(--oze-blue-2);
  --bg-blue-3:   #8BCDCD;  /* bleu plus saturé */
  --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;
  /* Maison Neue partout (sans-serif unique pour tout le site) */
  --serif: 'Maison Neue', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, sans-serif;
  --sans:  'Maison Neue', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, 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; } }

/* ─── Bandeau annonce — statique, message rotatif ─── */
.oze-announce{
  background:var(--bg-blue); color:var(--text);
  display:flex; align-items:center; justify-content:center; gap:1.1rem;
  font-family:var(--sans);
  font-size:.62rem; letter-spacing:.32em; text-transform:uppercase; font-weight:400;
  padding:.45rem 1rem; line-height:1.3; min-height:0;
  position:relative; z-index:60;
  text-align:center;
}
.oze-announce__star{ font-size:.7em; opacity:.8; color:var(--text); }
.oze-announce__msg{
  display:none;
  white-space:nowrap; max-width:100%;
  overflow:hidden; text-overflow:ellipsis;
}
.oze-announce__msg.is-active{ display:inline-block; animation:ozeAnnounceFade .5s ease; }
@keyframes ozeAnnounceFade{ from{ opacity:0; } to{ opacity:1; } }
@media (max-width:600px){
  .oze-announce{ font-size:.55rem; letter-spacing:.22em; gap:.7rem; padding:.4rem .6rem; }
  .oze-announce__msg{ white-space:normal; }
}

/* ─── 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;
}

/* Logo image (Personnaliser → Identité du site → Logo) */
.oze-logo--img{ display:flex; align-items:center; height:100%; padding:6px 0; }
.oze-logo--img .custom-logo-link{ display:inline-flex; align-items:center; height:100%; line-height:0; }
.oze-logo--img .custom-logo{
  display:block;
  height:clamp(40px, 4.5vw, 60px) !important;
  width:auto !important;
  max-width:240px;
  object-fit:contain;
}
@media (max-width:768px){
  .oze-logo--img .custom-logo{ height:38px !important; max-width:160px; }
}
.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:42px;
  font-size:.95rem; letter-spacing:.14em; text-transform:uppercase; font-weight:500;
}
@media (max-width:1024px){
  .oze-nav__list{ font-size:.82rem; gap:32px; letter-spacing:.16em; }
}
.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(0);    /* COLLÉ à la navbar — pas de gap */
  list-style:none; padding:14px 0; margin:0; min-width:312px;
  background:#E8D5BC;                          /* BEIGE */
  border:0;
  border-radius:0 ;
  box-shadow:0 18px 32px -22px rgba(18,18,18,.25);
  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(0);
  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,.08); }
.oze-nav__list .sub-menu a{
  display:block; position:relative;
  padding:14px 44px 14px 22px; border-radius:0 ;
  font-family:var(--sans); font-size:.82rem; letter-spacing:.14em;
  text-transform:uppercase; font-weight:500; color:var(--text);
  white-space:nowrap;
  transition:background .28s var(--ease), color .28s var(--ease), padding .28s var(--ease);
}
.oze-nav__list .sub-menu a::after{
  content:'→'; display:block; position:absolute;
  right:18px; top:50%;
  transform:translateY(-50%) translateX(-6px);
  font-family:var(--sans); font-size:.82rem; line-height:1;
  color:var(--text); opacity:0;
  transition:opacity .28s var(--ease), transform .28s var(--ease);
}
.oze-nav__list .sub-menu a:hover{
  background:rgba(0,0,0,.05);
  color:var(--text);
  padding-left:28px;
}
.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 */
/* Bridge invisible RETIRÉ : avec li en position:static, il s'étendait sur toute
   la largeur de la navbar (left:0;right:0 relatifs au header) et ouvrait le
   méga-menu au survol de n'importe quel point de la barre. Le méga est désormais
   collé (translateY 0) → aucun pont nécessaire. */
.oze-nav__list li.menu-item-has-children::after{ content:none; }

/* 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:500; 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; }

/* Fiches produits — pas d'animation au scroll, toujours visibles
   (on garde l'animation hover : translateY(-4px) au survol) */
.oze-card.reveal,
.products li.product.reveal{
  opacity:1 !important;
  transform:none;
  transition:none;
}
.oze-card.reveal:hover{ transform:translateY(-4px); }

/* Vous aimerez aussi + boutique + showcase accueil — pas de lift au hover, juste le swap d'image */
.oze-related .oze-card:hover,
.oze-related .oze-card.reveal:hover,
.oze-shop-main .oze-card:hover,
.oze-shop-main .oze-card.reveal:hover,
.oze-showcase__products .oze-card:hover,
.oze-showcase__products .oze-card.reveal:hover,
ul.products li.product .oze-card:hover,
ul.products li.product .oze-card.reveal:hover{ transform:none !important; }

/* Volet image (oze-reveal-img) sur les cartes produit : pas d'effet rideau */
.oze-card .oze-reveal-img,
.products li.product .oze-reveal-img{
  opacity:1 !important;
  clip-path:none !important;
  -webkit-clip-path:none !important;
}

/* ─── 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:18px 6px;
  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;     /* rectangle VERTICAL portrait (premium haute joaillerie) */
  overflow:hidden;
  background:#F2EDDF;
  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:none !important; }
.oze-card:hover .oze-card__img--1.is-only{ opacity:1 !important; transform:none !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 : centré minimaliste façon Tressé / oze-joaillerie.com
   Espacement compact, typo Maison Neue Demi 13px / line-height 26px. */
.oze-card__body{
  padding:18px 0 8px;
  display:flex; flex-direction:column; align-items:center;
  gap:0; text-align:center;
  font-family:var(--sans);
}
.oze-card__body h3{
  font-family:var(--sans);
  font-size:13px; line-height:26px;
  margin:0; font-weight:500;
  letter-spacing:.01em; color:#000;
  transition:color .35s;
}
.oze-card:hover .oze-card__body h3{ color:var(--accent); }
.oze-card__separator{ display:none !important; }

.oze-card .oze-price{
  font-family:var(--sans); font-size:13px; line-height:26px;
  color:#000; font-weight:500; letter-spacing:.01em;
}
.oze-card .oze-price del{ color:var(--muted); margin-right:8px; font-weight:400; }
.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; }

/* WooCommerce shop loop — 4 colonnes desktop, gaps serrés (façon Shopify Oze) */
ul.products{
  display:grid !important;
  grid-template-columns:repeat(4, 1fr) !important;
  gap:18px 6px !important;
  padding:0; margin:0;
}
ul.products.columns-3,
ul.products.columns-4{ grid-template-columns:repeat(4, 1fr) !important; }
@media (max-width:1024px){
  ul.products{ grid-template-columns:repeat(3, 1fr) !important; gap:10px 6px !important; }
}
@media (max-width:768px){
  ul.products{ grid-template-columns:repeat(2, 1fr) !important; gap:10px 6px !important; }
}

.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:.88rem; 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:1.05rem; max-width:34ch; }
.oze-footer__list{
  list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.85rem;
  font-family:var(--serif); font-size:1.18rem;
}
.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; flex-direction:column; align-items:center; justify-content:center;
  gap:10px; padding:30px 0 24px;
  border-bottom:1px solid rgba(0,0,0,.08);
  text-align:center;
}
.oze-footer__payments span{ font-size:.82rem; letter-spacing:.22em; text-transform:uppercase; color:rgba(0,0,0,.6); font-weight:500; }
.oze-footer__payments ul{ list-style:none; padding:0; margin:0; display:flex; gap:8px; justify-content:center; }
.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; flex-direction:row; align-items:center; justify-content:center;
  flex-wrap:wrap; gap:6px 18px;
  padding-top:24px; font-size:.9rem; text-align:center;
}
.oze-footer__bottom p{ margin:0; }
.oze-footer__bottom p + p::before{
  content:"·"; margin-right:18px; opacity:.5;
}
.oze-footer__bottom a{ color:#1a1a1a; text-decoration:underline; }
/* Maillage SEO discret (visible mais minimal — pas masqué) */
.oze-footer__seo{
  margin:18px auto 0; max-width:1100px; padding:10px 24px 0;
  border-top:1px solid rgba(0,0,0,.06);
  text-align:center; line-height:1.7;
}
.oze-footer__seo a{
  font-size:10.5px; color:rgba(0,0,0,.38);
  text-decoration:none; margin:0 8px; white-space:nowrap;
}
.oze-footer__seo a:hover{ color:rgba(0,0,0,.65); text-decoration:underline; }
.oze-footer__credit{ display:inline-flex; align-items:center; gap:8px; }
.oze-footer__credit a{ display:inline-flex; align-items:center; text-decoration:none; }
.oze-footer__credit-logo{ height:20px; width:auto; vertical-align:middle; display:block; }

/* 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(26px,3vw,40px); }
.oze-contact__form p{ margin:0 0 12px; }
.oze-contact__form label{ display:block; font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; color:var(--text); margin-bottom:5px; font-weight:500; 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:11px 16px; 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:96px; 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:500; 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); }

/* ═══════════════════════════════════════════════════════════════
   LIGHTBOX PREMIUM — fiche produit (clic sur photo)
   ═══════════════════════════════════════════════════════════════ */
.oze-lightbox{
  position:fixed; inset:0; z-index:9999;
  background:rgba(15,15,15,.94);
  display:none; align-items:center; justify-content:center;
  opacity:0; transition:opacity .35s var(--ease);
  padding:60px 80px 130px;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.oze-lightbox.is-open{ display:flex; opacity:1; }

.oze-lightbox__stage{
  position:relative;
  width:100%; height:100%;
  display:flex; align-items:center; justify-content:center;
  overflow:hidden;
  cursor:zoom-in;
}
.oze-lightbox__zoom{
  width:100%; height:100%;
  display:flex; align-items:center; justify-content:center;
  transition:transform .35s var(--ease);
  will-change:transform;
}
.oze-lightbox__img{
  max-width:100%; max-height:100%;
  object-fit:contain;
  display:block;
  box-shadow:0 20px 60px -20px rgba(0,0,0,.6);
  user-select:none;
  -webkit-user-drag:none;
}

/* Close + nav buttons */
.oze-lightbox__close,
.oze-lightbox__nav{
  position:absolute; z-index:2;
  background:rgba(255,255,255,.08);
  color:#fff; border:1px solid rgba(255,255,255,.2);
  border-radius:50%;
  cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:all .25s;
  font-family:Georgia, serif;
}
.oze-lightbox__close{
  top:24px; right:24px;
  width:44px; height:44px; font-size:26px; line-height:1;
}
.oze-lightbox__nav{
  top:50%; transform:translateY(-50%);
  width:54px; height:54px; font-size:34px; line-height:1; padding-bottom:4px;
}
.oze-lightbox__nav--prev{ left:24px; }
.oze-lightbox__nav--next{ right:24px; }
.oze-lightbox__close:hover,
.oze-lightbox__nav:hover{
  background:#fff; color:#1a1a1a; border-color:#fff;
}

/* Thumbnails strip */
.oze-lightbox__thumbs{
  position:absolute; left:50%; bottom:24px; transform:translateX(-50%);
  display:flex; gap:8px; flex-wrap:wrap; justify-content:center;
  max-width:90%;
}
.oze-lightbox__thumb{
  width:62px; height:62px; padding:0;
  background:none; border:2px solid rgba(255,255,255,.25);
  border-radius:0;
  cursor:pointer; overflow:hidden;
  transition:border-color .2s, transform .2s;
}
.oze-lightbox__thumb img{
  width:100%; height:100%; object-fit:cover; display:block;
}
.oze-lightbox__thumb:hover{ border-color:rgba(255,255,255,.6); transform:translateY(-2px); }
.oze-lightbox__thumb.is-active{ border-color:#fff; }

.oze-lightbox__hint{
  position:absolute; left:50%; bottom:100px; transform:translateX(-50%);
  margin:0; color:rgba(255,255,255,.55);
  font-size:.72rem; letter-spacing:.16em; text-transform:uppercase;
  pointer-events:none;
}

@media (max-width:768px){
  .oze-lightbox{ padding:50px 12px 110px; }
  .oze-lightbox__close{ top:14px; right:14px; width:38px; height:38px; font-size:22px; }
  .oze-lightbox__nav{ width:42px; height:42px; font-size:26px; }
  .oze-lightbox__nav--prev{ left:8px; }
  .oze-lightbox__nav--next{ right:8px; }
  .oze-lightbox__thumb{ width:48px; height:48px; }
  .oze-lightbox__hint{ display:none; }
  .oze-lightbox__stage{ cursor:auto; }
}

/* ── 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{ grid-template-columns:repeat(3,1fr); gap:12px 8px; }
  /* .products reste à 4 colonnes sur ce breakpoint — règle gérée plus haut */
  .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:.82rem; }
  .oze-footer__list{ font-size:1.16rem; gap:.55rem; }
  .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:500; 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:500; 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:500; 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:500;
}

/* 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:500; 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:500; }
.oze-cart-drawer__row strong{ font-size:1.5rem; font-weight:500; 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:500;
}
.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, statique) ─── */
.oze-baseline{
  background:var(--oze-olive);
  padding:12px 16px;
  position:relative;
  overflow:hidden;
}
.oze-baseline__track{
  display:flex; align-items:center; justify-content:center;
  flex-wrap:wrap;
  gap:18px 22px;
  width:auto; max-width:1200px; margin:0 auto;
  animation:none;
}
.oze-baseline:hover .oze-baseline__track{ animation:none; }
.oze-baseline__item{
  font-family:var(--sans); font-weight:500;
  font-size:.78rem;
  letter-spacing:.04em; text-transform:none;
  color:var(--text);
  flex-shrink:0;
}
.oze-baseline__dot{
  color:var(--bg-page); opacity:1;
  font-size:.9em; line-height:1;
  flex-shrink:0;
  /* annule l'ancien SVG : on utilise un caractère ✻ à la place */
}
.oze-baseline__dot svg{ display:none; }
@media (max-width:768px){
  .oze-baseline{ padding:10px 12px; }
  .oze-baseline__track{ gap:10px 16px; }
  .oze-baseline__item{ font-size:.7rem; letter-spacing:.03em; }
}

/* ─── 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:4px 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:8px 0; }
  .oze-reassurance__grid{ grid-template-columns:repeat(3, 1fr); }
  .oze-reassurance__item{ border-right:0; border-bottom:0; padding:14px 6px; }
  .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); }

/* Fiche produit : pas d'effet rideau sur la galerie — l'image doit être visible
   dès l'arrivée sur la page (sinon la 1ère photo au-dessus du fold reste cachée). */
.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-gallery-grid__item{ background:transparent !important; }

/* 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(--sans); font-style:normal; font-weight:500; font-size:1rem;
  letter-spacing:.02em;
  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-x:auto; overflow-y:hidden;          /* défilement manuel (glisser / swipe) */
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none; cursor:grab;
}
.oze-insta__marquee::-webkit-scrollbar{ display:none; }
.oze-insta__marquee.is-dragging{ cursor:grabbing; }
.oze-insta__marquee.is-dragging .oze-insta__item{ pointer-events:none; }
.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:4px 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:transparent !important;
  border:0 !important;
  border-radius:0 ;
  padding:8px 16px !important;
  display:flex; flex-direction:column; align-items:center; text-align:center; gap:0;
  transition:none !important;
}
/* Hover désactivé — pas de lift, pas d'ombre */
.oze-reassurance__item:hover{
  transform:none !important;
  box-shadow:none !important;
}
.oze-reassurance__icon{
  width:54px; height:54px; border-radius:0 ;
  background:var(--bg-page);
  display:flex; align-items:center; justify-content:center;
  color:var(--oze-deep); margin-bottom:14px;
  box-shadow:0 6px 16px -10px rgba(47,74,79,.22);
}
.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){
  /* Mobile : réassurance compacte — 3 colonnes côte à côte au lieu de stack */
  .oze-reassurance{ padding:14px 0 !important; }
  .oze-reassurance__grid{
    grid-template-columns:repeat(3, 1fr) !important;
    gap:6px !important;
  }
  .oze-reassurance__item{ padding:14px 6px !important; }
  .oze-reassurance__icon{
    width:36px !important; height:36px !important;
    margin-bottom:8px !important;
  }
  .oze-reassurance__icon svg{ width:20px !important; height:20px !important; }
  .oze-reassurance__item h3{
    font-size:.78rem !important; margin:0 0 4px !important;
    line-height:1.2;
  }
  .oze-reassurance__item p{
    font-size:.62rem !important; line-height:1.3 !important;
    margin:0 !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:500 !important;
  letter-spacing:-.03em !important;
}
.oze-hero-split__title,
.oze-histoire__title{ font-weight:500 !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:500 !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:60px 0 80px !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{ padding:40px 0 60px !important; }
  .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 : bleu doux DA Oze ─── */
:root{ --oze-footer:#add0da; }
.oze-footer{ background:var(--oze-footer) !important; color:#1a1a1a !important; }
.oze-footer a, .oze-footer h4, .oze-footer p, .oze-footer li, .oze-footer span{ color:#1a1a1a !important; }
.oze-footer a:hover{ color:#fff !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 baseline (statique, version affinée) */
.oze-baseline{
  padding:12px 16px !important;
  margin:0 !important;
}
/* L'écrin rose colle quasi au bandeau olive — gap aéré mais contenu */
.oze-ecrin--rose{ padding-top:60px !important; padding-bottom:80px !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;
}

/* ═══════════════════════════════════════════════════════════════
   BOUTIQUE — full-width sur grands écrans (>1280px)
   La page boutique sort du container 1400px pour profiter de la
   largeur dispo sur 15"/16"/27" — meilleur affichage 4 colonnes.
   ═══════════════════════════════════════════════════════════════ */
@media (min-width:1281px){
  .oze-shop-layout.container,
  .container.oze-shop-layout{
    max-width:min(96vw, 1700px) !important;
    padding:0 32px !important;
  }
  .oze-shop-hero .container{
    max-width:min(96vw, 1700px) !important;
  }
}
@media (min-width:1600px){
  .oze-shop-layout.container,
  .container.oze-shop-layout{
    max-width:1700px !important;
    padding:0 40px !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:500; 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:500;
  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(4,1fr) !important; }

/* ═══════════════════════════════════════════════════════════════
   BOUTIQUE — Sidebar transformée en BARRE HORIZONTALE haute
   ═══════════════════════════════════════════════════════════════ */
@media (min-width:1025px){
  .oze-shop-layout{
    display:block !important;
    padding-bottom:80px;
  }
  .oze-shop-sidebar{
    position:static !important;
    display:flex !important; flex-direction:row !important;
    align-items:flex-end !important;
    gap:40px 56px;
    flex-wrap:wrap;
    width:100%;
    padding:18px 26px;
    margin:0 0 32px;
    background:transparent;
    border:0;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    border-radius:0;
  }
  /* "Parcourir" prend la place dispo, "Filtrer par prix" reste compact à droite */
  .oze-shop-sidebar .oze-shop-filter:nth-child(2){ flex:1 1 auto; min-width:0; }
  .oze-shop-sidebar .oze-shop-filter:nth-child(3){ flex:0 0 auto; min-width:280px; max-width:360px; }

  /* Titres compacts inline */
  .oze-shop-sidebar .oze-shop-filter__title{
    font-size:.72rem !important;
    letter-spacing:.14em; text-transform:uppercase;
    border-bottom:0 !important; padding-bottom:0 !important;
    margin:0 0 10px !important;
    color:var(--muted);
  }

  /* Catégories en rangée de chips */
  .oze-shop-sidebar .oze-shop-cats{
    flex-direction:row !important; flex-wrap:wrap; gap:8px;
  }
  .oze-shop-sidebar .oze-shop-cats a{
    display:inline-flex; align-items:center; gap:6px;
    padding:7px 14px !important;
    border:1px solid var(--line); border-radius:999px;
    font-size:.85rem; color:var(--text);
    transition:all .2s;
  }
  .oze-shop-sidebar .oze-shop-cats a:hover{
    padding-left:14px !important;
    background:#f7f3ec; border-color:var(--text);
  }
  .oze-shop-sidebar .oze-shop-cats a.is-active{
    background:var(--oze-deep); color:#fff !important; border-color:var(--oze-deep);
    text-decoration:none !important;
  }
  .oze-shop-sidebar .oze-shop-cats__count{
    font-size:.72rem; color:inherit; opacity:.7;
  }

  /* Price filter compact en ligne */
  .oze-shop-sidebar .oze-price-filter{
    display:flex; align-items:center; gap:12px; flex-wrap:wrap;
  }
  .oze-shop-sidebar .oze-price-slider{
    flex:1 1 180px; min-width:160px; margin:0;
  }
  .oze-shop-sidebar .oze-price-filter__values{
    flex:0 0 auto; margin:0; gap:8px; font-size:.85rem;
  }
  .oze-shop-sidebar .oze-price-filter__values span + span::before{
    content:"→"; margin:0 6px; opacity:.5;
  }
  .oze-shop-sidebar .oze-price-filter .oze-btn{
    padding:10px 18px !important; font-size:.7rem !important;
    flex:0 0 auto;
  }
  .oze-shop-sidebar .oze-btn--block{ width:auto !important; }

  /* On masque le bouton "Filtres" du shop-bar (plus utile en horizontal) */
  .oze-shop-bar .oze-shop-filter-toggle{ display:none !important; }
}
.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:500; 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) !important; }
}
/* Mobile boutique : 2 produits par ligne — cartes plus grandes, marges serrées */
@media (max-width:768px){
  .container.oze-shop-layout{ padding:0 10px !important; }
  .oze-shop-main .oze-product-grid{
    grid-template-columns:repeat(2,1fr) !important;
    gap:20px 8px !important;
  }
  .oze-shop-main .oze-card__body{ padding:10px 0 4px !important; }
}

/* ═══════════════════════════════════════════════════════════════
   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:500; 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:500;
  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:500;
  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 : bandeau plat full-width (façon La Romaine / Tressé) ──
   Position STICKY : reste sous le bandeau annonce au top, puis colle au top au scroll.
   Top de page : TRANSPARENT (sur fond hero / page).
   Au scroll : devient opaque crème avec petite ombre. */
.oze-header{
  background:transparent !important;
  border:0 !important;
  border-bottom:0 !important;
  box-shadow:none !important;
  height:auto !important;
  padding:0 !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  border-radius:0 !important;
  position:sticky !important; top:0; left:0; right:0; z-index:200;
  transition:background .35s var(--ease), border-color .35s var(--ease), box-shadow .35s var(--ease);
}
/* Le bandeau annonce reste au-dessus dans le flux normal — la navbar passe sticky en dessous */
.oze-announce{ position:relative; z-index:201; }
.oze-header.is-scrolled{
  background:var(--bg-page) !important;
  border-bottom:1px solid rgba(18,18,18,.12) !important;
  box-shadow:0 1px 8px -4px rgba(18,18,18,.08) !important;
}
.oze-header__inner{
  background:transparent !important;
  border-radius:0 !important;
  box-shadow:none !important;
  padding:24px 40px !important;
  min-height:92px;
  height:auto;
  max-width:100% !important;
  width:100% !important;
  margin:0 !important;
  position:relative;
}
@media (max-width:1024px){
  .oze-header__inner{ padding:14px 20px !important; min-height:64px; }
}
.oze-header.is-scrolled .oze-header__inner{ box-shadow:none !important; }
.oze-logo,
.oze-nav__list a,
.oze-cart-link,
.oze-header__menu-btn{ color:var(--text) !important; }

@media (max-width:1024px){
  .oze-header__inner{ padding:12px 18px !important; }
}

/* ═══════════════════════════════════════════════════════════════
   LOGO CENTRÉ + ANIMATION SCROLL (façon Tressé / La Romaine)
   Top de page : logo invisible (cache).
   Au scroll : logo apparaît centré dans la navbar.
   ═══════════════════════════════════════════════════════════════ */
.oze-logo,
.oze-logo--img{
  position:absolute !important;
  left:50% !important; top:50% !important;
  transform:translate(-50%, -50%) translateY(-8px) !important;
  opacity:0 !important;
  pointer-events:none;
  transition:opacity .4s var(--ease), transform .5s var(--ease) !important;
  margin:0 !important;
  height:auto !important;
  padding:0 !important;
}
.oze-header.is-scrolled .oze-logo,
.oze-header.is-scrolled .oze-logo--img{
  opacity:1 !important;
  transform:translate(-50%, -50%) translateY(0) !important;
  pointer-events:auto;
}

/* Pages SANS hero plein écran (ex: boutique, fiche produit) :
   le logo doit rester visible dès l'arrivée (pas seulement au scroll). */
body:not(.home):not(.page-template-front-page) .oze-logo,
body:not(.home):not(.page-template-front-page) .oze-logo--img{
  opacity:1 !important;
  transform:translate(-50%, -50%) !important;
  pointer-events:auto;
}
/* Sur ces pages la navbar doit aussi être opaque dès le départ (pas de hero derrière) */
body:not(.home):not(.page-template-front-page) .oze-header{
  background:var(--bg-page) !important;
  border-bottom:1px solid rgba(18,18,18,.08) !important;
}

/* Le menu nav passe à GAUCHE, le cart reste à DROITE (logo centré entre les deux) */
.oze-header__inner{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:24px;
}
.oze-nav{ order:1; }
.oze-header__actions{ order:3; }

/* Avec position:sticky pas besoin de padding-top — le flux gère naturellement */
body{ padding-top:0 !important; }
.home, .page-template-front-page{ padding-top:0 !important; }

/* ─── LOGO XL FLOTTANT sur la home (façon Tressé) ─────────────
   Grand logo centré dans le hero. Disparaît au scroll quand
   la navbar prend le relais avec le logo réduit. */
.oze-hero-logo{
  position:absolute;
  top:auto;
  bottom:clamp(80px, 14vh, 180px);    /* ancré en BAS du hero — n'écrase plus la bague */
  left:50%;
  transform:translateX(-50%) scale(1);
  transform-origin:center top;
  z-index:120;
  display:flex; flex-direction:column; align-items:center;
  text-decoration:none; color:#fff;
  pointer-events:auto;
  will-change:transform, opacity;
  transition:
    opacity   1.1s cubic-bezier(.4,.0,.2,1),
    transform 1.4s cubic-bezier(.4,.0,.2,1),
    bottom    1.4s cubic-bezier(.4,.0,.2,1),
    filter    1.1s cubic-bezier(.4,.0,.2,1);
  /* drop shadow doux pour décoller du fond hero */
  filter:drop-shadow(0 6px 24px rgba(0,0,0,.18));
}
/* Image custom logo retournée en BLANC (filter invert si SVG/PNG sombre) */
.oze-hero-logo img{
  display:block;
  height:clamp(150px, 19vw, 300px);     /* logo hero réduit (−20% cumulé) */
  width:auto;
  max-width:88vw; object-fit:contain;
  filter:brightness(0) invert(1);
}
.oze-hero-logo .oze-logo__main{
  font-family:var(--serif); font-weight:500;
  font-size:clamp(5.15rem, 11vw, 9.9rem);   /* −20% cumulé */
  letter-spacing:-.01em; line-height:.9; color:#fff;
}
.oze-hero-logo .oze-logo__sub{
  font-family:var(--serif); font-style:italic; font-weight:400;
  font-size:clamp(.95rem, 1.27vw, 1.35rem);    /* −20% cumulé */
  letter-spacing:.06em; color:#fff; opacity:.95; margin-top:8px;
}
/* Au scroll : le logo XL "remonte" en se réduisant vers la navbar (effet premium) */
body.is-header-scrolled .oze-hero-logo{
  opacity:0;
  bottom:90vh;                              /* file vers le haut */
  transform:translateX(-50%) scale(.25);    /* se réduit vers la taille navbar */
  pointer-events:none;
}
@media (max-width:768px){
  /* Mobile : OZE logo poussé EN HAUT du hero (pas en bas) — ne masque pas le texte */
  .oze-hero-logo{
    top:clamp(90px, 14vh, 160px) !important;
    bottom:auto !important;
  }
  .oze-hero-logo img{ height:clamp(64px, 14vw, 104px); }
  .oze-hero-logo .oze-logo__main{ font-size:clamp(2.8rem, 11vw, 4.8rem); }
  .oze-hero-logo .oze-logo__sub{ font-size:clamp(.72rem, 2.8vw, 1.05rem); }
}
@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 0 26px;        /* plus de marge latérale — full bleed (style Tressé) */
  border-radius:0 ;
  overflow:hidden;
  min-height:90vh;
  display:flex;
  align-items:center;
  justify-content:flex-start;  /* contenu collé à gauche */
  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:absolute;
  top:auto;
  bottom:clamp(40px, 6vh, 80px);   /* ancré en BAS du hero */
  left:0;
  transform:none;
  z-index:2;
  width:auto; max-width:520px;
  padding:0 40px 0 clamp(28px, 3.5vw, 70px);
  color:#fff;
  text-align:left;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
@media (max-width:768px){
  .oze-hero__inner{ bottom:30px; max-width:90%; padding-right:24px; }
}
.oze-hero__kicker{
  text-align:left !important;
  margin-left:0 !important;
}
.oze-hero__kicker::after{
  left:0 !important; transform:none !important;
}
.oze-hero__title{
  font-family:var(--sans) !important; font-weight:500 !important;
  font-size:clamp(1.4rem, 2.2vw, 2.1rem);
  line-height:1.2; letter-spacing:-.01em;
  margin:0 0 1.3rem; color:#fff;
  max-width:28ch;
  text-align:left;
  text-wrap:balance;
}
.oze-hero__sub{
  font-family:var(--sans) !important; font-style:normal; font-weight:400 !important;
  font-size:clamp(.95rem,1.4vw,1.15rem);
  line-height:1.55; margin:0 0 1.6rem; color:#fff;
  max-width:42ch; text-align:left;
  text-wrap:balance;
}
/* CTA sans contour, juste texte + flèche (façon Tressé) */
.oze-hero__btn{
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--sans); font-size:.82rem; font-weight:500;
  letter-spacing:.14em; text-transform:uppercase;
  color:#fff; background:transparent;
  border:0 !important;
  border-bottom:1px solid rgba(255,255,255,.85) !important;
  border-radius:0;
  padding:6px 0 8px !important;
  transition:color .35s var(--ease), border-color .35s var(--ease), padding .35s var(--ease);
}
.oze-hero__btn::after{
  content:"›"; font-size:1.2em; line-height:0; opacity:.85;
  transition:transform .35s var(--ease);
}
.oze-hero__btn:hover{
  background:transparent !important; color:#fff !important;
  border-color:#fff !important;
}
.oze-hero__btn:hover::after{ transform:translateX(4px); }

@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 — bleu doux Oze (#add0da)
   ═══════════════════════════════════════════════════════════════ */
.oze-footer{
  background:#add0da !important;
  color:#1a1a1a !important;
}
.oze-footer__col h4,
.oze-footer__col:nth-child(3) h4,
.oze-footer__col:nth-child(4) h4{ color:#1a1a1a !important; }
.oze-footer__wordmark{ color:#1a1a1a !important; }
.oze-footer__desc{ color:rgba(0,0,0,.7) !important; }
.oze-footer__list a{ color:#1a1a1a !important; }
.oze-footer__list a:hover{ color:#fff !important; }
.oze-footer__payments span{ color:rgba(0,0,0,.55) !important; }
.oze-footer__bottom{ color:rgba(0,0,0,.7) !important; }
.oze-footer__bottom a{ color:#1a1a1a !important; }
.oze-footer__wordmark-main{ color:#1a1a1a !important; }
.oze-footer__wordmark-sub{ color:#1a1a1a !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 ;
  /* FERMÉ par défaut : visible UNIQUEMENT au survol d'Expertises */
  opacity:0; visibility:hidden; pointer-events:none;
  transform:translateY(10px);
  transition:opacity .28s var(--ease), visibility .28s var(--ease), transform .28s var(--ease);
}
/* Pont invisible vers le HAUT : permet de descendre la souris du mot
   « Expertises » jusqu'au panneau sans que le menu se ferme. Comme il fait
   partie du méga (enfant de l'item), survoler le pont garde l'item « hover ».
   Et comme il hérite de visibility:hidden, il n'existe que quand le menu est
   ouvert → aucun déclenchement intempestif au survol de la navbar. */
.oze-nav__list .oze-mega::before{
  content:''; position:absolute;
  left:0; right:0; bottom:100%; height:34px;
}
.oze-nav__list li.menu-item-has-children:hover > .oze-mega,
.oze-nav__list li.menu-item-has-children:focus-within > .oze-mega{
  opacity:1; visibility:visible; pointer-events:auto;
  transform:translateY(0);   /* collé sous la navbar, sans marge */
}
.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:0;
  padding:0;
  align-content:stretch; align-items:stretch;
  background:var(--bg-page);
}
.oze-nav__list .oze-mega__photo{
  position:relative; display:block; overflow:hidden;
  padding:0;
  aspect-ratio:auto;          /* plus de carré forcé : remplit toute la hauteur */
  height:100%; min-height:0;
  border-radius:0 ;
  background:#fff;
}
.oze-mega__photo img{
  width:100%; height:100%; object-fit:cover; display:block;
}
.oze-nav__list .oze-mega__photo::after{ display:none; }
/* AUCUN effet au survol des photos du sous-menu (zoom, opacité, filtre…) */
.oze-mega__photo img{ transition:none !important; }
.oze-mega__photo:hover,
.oze-mega__photo:hover img,
.oze-nav__list a.oze-mega__photo:hover img{
  transform:none !important; opacity:1 !important; filter:none !important;
}
.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:var(--text);   /* nom du produit en NOIR */
  background:linear-gradient(to top, rgba(249,246,238,.9), rgba(249,246,238,0));
}

/* 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:500; margin:0 0 1.5rem; color:var(--text);
}
.oze-guide-hero__title{
  font-family:var(--serif); font-weight:500;
  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(--sans); font-weight:500;
  font-size:clamp(.78rem,1vw,.9rem);
  letter-spacing:.22em; text-transform:uppercase;
  display:block; line-height:1; margin-bottom:1.2rem;
  color:var(--text); opacity:1;
}
/* Affiche "1" / "2" au lieu de "01" / "02" : on masque le premier "0" */
.oze-guide-method__num::first-letter{
  font-size:0;
}
.oze-guide-method__num::before{
  content:"Méthode ";
  opacity:.55;
}
.oze-guide-method h3{
  font-family:var(--serif); font-weight:500;
  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;
  display:flex; flex-direction:column; gap:15px;
}
.oze-guide-method__steps li{
  position:relative; padding-left:18px;
  font-family:var(--serif); font-size:1.05rem; line-height:1.55; color:var(--text);
}
.oze-guide-method__steps li::before{
  content:"·";
  position:absolute; left:0; top:-2px;
  font-size:1.6rem; line-height:1;
  color:var(--text); opacity:.6;
}
.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:500; margin:0 0 1.5rem; color:var(--text);
}
.oze-or-hero__title{
  font-family:var(--serif); font-weight:500;
  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:500;
  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:500;
}

/* 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:500;
  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:500; 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:500; 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:500;
  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:500; 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:500; 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:500;
  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:500;
  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:500;
}

/* ── 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:500;
  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:500;
  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:500;
  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:500;
  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:500; 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:500;
  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:500 !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:500 !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:500 !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:500 !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:500 !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:500 !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:500;
  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:500;
  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:500; margin:0; white-space:nowrap;
}
.oze-bk-feature__title{
  font-family:var(--serif); font-weight:500;
  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:500; margin:0 0 1.2rem; color:var(--text);
}
.oze-ecrin__intro-title{
  font-family:var(--serif); font-weight:500;
  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:500 !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:0; min-height:74vh; }
.oze-hero--seo::after{
  /* dégradé élégant : presque clair en haut → sombre en bas (lisibilité + chic) */
  background:linear-gradient(180deg, rgba(18,18,18,.12) 0%, rgba(18,18,18,.04) 36%, rgba(18,18,18,.60) 100%);
}
.oze-hero--seo .oze-hero__inner{
  transform:none; max-width:660px;
  padding-bottom:clamp(48px,7vh,96px);
}
.oze-hero--seo .oze-hero__title{
  font-family:var(--serif) !important; font-weight:400 !important;
  font-size:clamp(2.1rem,4.4vw,3.7rem); line-height:1.08;
  letter-spacing:-.015em; max-width:17ch; margin-bottom:1.1rem;
}
.oze-hero--seo .oze-hero__sub{
  font-size:clamp(1rem,1.4vw,1.2rem); line-height:1.6; max-width:46ch; opacity:.96;
}
@media (max-width:768px){
  .oze-hero--seo{ min-height:66vh; }
}

/* ─── Section de texte éditoriale ─── */
.oze-seo-text{ padding:84px 0; }
.oze-seo-text__head{ max-width:860px; margin:0 auto 52px; text-align:center; }
.oze-seo-text__head .oze-bk__eyebrow{ text-align:center; }
.oze-seo-text__title{
  font-family:var(--serif); font-weight:500;
  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:1060px; margin:0 auto;
  background:#fff; border-radius:0 ;
  padding:clamp(40px,5vw,80px) clamp(28px,6vw,104px);
  box-shadow:0 30px 72px rgba(38,36,32,.06);
}
.oze-seo-text__prose{ font-size:1.09rem; line-height:1.85; 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:500;
  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:500; 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:500; }
.oze-seo-text__prose a{ color:#2F4A4F; text-decoration:underline; text-underline-offset:2px; }

/* ─── Galerie produits ─── */
.oze-seo-products{ padding:clamp(64px,8vw,104px) 0 clamp(72px,9vw,112px); background:#EFE9DC; border-top:1px solid #e4ddcd; }
.oze-seo-products__head{ text-align:center; max-width:760px; margin:0 auto 54px; }
.oze-seo-products__head .oze-bk__eyebrow{ text-align:center; }
.oze-seo-products__title{ font-family:var(--serif); font-weight:500; 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:54px 28px; }
.oze-seo-products__grid .oze-card__media{ background:#fff; }
@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:500; 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:.78rem; font-weight:500;
  letter-spacing:.26em; text-transform:uppercase; color:#fff;
  margin:0 0 .85rem; padding-bottom:.75rem; position:relative;
}
.oze-hero__kicker::after{
  content:''; position:absolute; left:50%; bottom:0; transform:translateX(-50%);
  width:36px; height:1.5px; background:rgba(255,255,255,.75);
}

/* Badge « Vendu » — pièce laissée en ligne mais plus disponible.
   Couleur épurée : noir profond, blanc dessus. */
.oze-card__tag--sold{
  background:#1a1a1a !important;
  color:#fff !important;
  letter-spacing:.08em;
  font-weight:500;
}
.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:500 !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:500; 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:500; 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:500; }

/* ═══════════════════════════════════════════════════════════════
   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; }

/* ═══════════════════════════════════════════════════════════════
   L'ÉCRIN DU MOMENT — bloc texte standalone + 2 showcases produit
   ═══════════════════════════════════════════════════════════════ */
/* Bloc texte L'écrin du moment — pleine largeur, centré, sans fond (style Tressé) */
.oze-ecrin-intro{ padding:50px 0 30px; background:transparent; }
.oze-ecrin-intro .oze-ecrin__intro{
  background:transparent;
  padding:0 32px;
  max-width:1180px;            /* bcp plus large → texte sur moins de lignes */
  margin:0 auto;
  text-align:center;
}
.oze-ecrin-intro .oze-ecrin__intro-eyebrow{
  font-family:var(--sans); font-size:.72rem; letter-spacing:.22em;
  text-transform:uppercase; font-weight:500; color:var(--text);
  margin:0 0 1rem; opacity:.7;
}
.oze-ecrin-intro .oze-ecrin__intro-title{
  font-family:var(--sans); font-weight:500;
  font-size:clamp(1.6rem, 2.4vw, 2.1rem); line-height:1.2;
  margin:0 0 1.1rem; color:var(--text); letter-spacing:.01em;
}
.oze-ecrin-intro .oze-ecrin__intro-text{
  font-family:var(--sans); font-weight:400;
  font-size:1rem; line-height:1.65; margin:0 auto; color:var(--text);
  max-width:100ch;             /* paragraphes étalés horizontalement (au lieu de 60ch) */
}
@media (max-width:768px){
  .oze-ecrin-intro{ padding:30px 0 20px; }
  .oze-ecrin-intro .oze-ecrin__intro{ padding:0 18px; }
  .oze-ecrin-intro .oze-ecrin__intro-text{ max-width:100%; font-size:.95rem; line-height:1.6; }
}

/* Showcase : image XL gauche + grille 2×2 droite (FULL-WIDTH viewport) */
.oze-showcase{ padding:3px 0; }
.oze-showcase + .oze-showcase{ padding-top:0; }
.oze-showcase > .container{
  max-width:100% !important;
  width:100% !important;
  padding:0 !important;
  margin:0 !important;
}
.oze-showcase__grid{
  display:grid; grid-template-columns:1fr 1fr; gap:3px;
  align-items:stretch;
  width:100%;
}
/* (alternance retirée — image toujours à gauche) */
.oze-showcase--reverse .oze-showcase__hero{ order:1; }
.oze-showcase--reverse .oze-showcase__products{ order:2; }

.oze-showcase__hero{
  display:block; position:relative; overflow:hidden;
  text-decoration:none; color:var(--text);
  aspect-ratio:auto;   /* match la hauteur du voisin (.oze-showcase__products) */
}
.oze-showcase__hero-img{
  display:block; width:100%; height:100%;
  object-fit:cover; object-position:center;
}
/* Pas d'animation au survol de l'image éditoriale */
.oze-showcase__hero:hover .oze-showcase__hero-img{ transform:none; }
.oze-showcase__hero-body{
  position:absolute; left:0; right:0; bottom:0;
  padding:18px 22px;
  display:flex; justify-content:space-between; align-items:baseline;
  background:linear-gradient(0deg, rgba(249,246,238,.94) 0%, rgba(249,246,238,0) 100%);
}
.oze-showcase__hero-body h3{
  font-family:var(--sans); font-weight:500; font-size:13px; line-height:25px;
  margin:0; color:#000;
}
.oze-showcase__hero-body .oze-price{
  font-family:var(--sans); font-weight:500; font-size:13px; line-height:25px;
  color:#000; margin:0;
}

/* Grille 2×2 des 4 produits à droite — gap très serré pour effet premium */
.oze-showcase__products{
  display:grid; grid-template-columns:1fr 1fr;
  grid-template-rows:1fr 1fr; gap:3px;
}
/* Cartes dans le showcase : body très compact (titre + prix collés à l'image) */
.oze-showcase__products .oze-card__body{ padding:10px 0 4px !important; }

/* Mobile : stack image XL puis produits 2×2 */
@media (max-width:768px){
  .oze-showcase__grid,
  .oze-showcase--reverse .oze-showcase__grid{
    grid-template-columns:1fr; gap:18px;
  }
  .oze-showcase__hero{ aspect-ratio:3/4; order:1; }
  .oze-showcase__products{ order:2; }
}

.oze-ecrin__more-section{ padding:50px 0 90px; text-align:center; }

/* CTA "Voir toutes les pièces" — style premium link
   Underline qui se "redessine" de gauche à droite au hover (effet feutré). */
.oze-ecrin-intro .oze-ecrin__intro-cta{
  margin:2rem 0 0;
}
.oze-ecrin-intro .oze-ecrin__intro-cta .oze-btn,
.oze-ecrin-intro .oze-ecrin__intro-cta .oze-btn--dark{
  position:relative;
  display:inline-flex; align-items:center; gap:8px;
  background:transparent !important;
  color:var(--text) !important;
  border:0 !important;
  border-radius:0 !important;
  padding:6px 0 10px !important;
  font-family:var(--sans); font-size:.82rem; font-weight:500;
  letter-spacing:.16em; text-transform:uppercase;
  box-shadow:none !important;
  overflow:visible;
  transition:color .35s var(--ease);
}
/* Trait permanent (1px gris très clair) EN DESSOUS du texte */
.oze-ecrin-intro .oze-ecrin__intro-cta .oze-btn::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important; right:0 !important;
  top:auto !important;            /* override inset:0 du .oze-btn global */
  bottom:0 !important;             /* ancré tout en bas */
  height:1.5px !important;
  width:auto !important;
  background:var(--text) !important;   /* trait noir bien visible au repos → lit comme un lien */
  transform:none !important;       /* override le translateY(101%) du .oze-btn global */
  transition:none !important;
  z-index:1 !important;
  inset:auto auto 0 0 !important;  /* reset complet de l'inset, on contrôle uniquement bottom */
}
/* Trait noir qui se "redessine" de gauche à droite au hover */
.oze-ecrin-intro .oze-ecrin__intro-cta .oze-btn::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important; right:auto !important;
  top:auto !important; bottom:0 !important;
  height:1px !important;
  width:0% !important;
  background:var(--text) !important;
  transform:none !important;
  transition:width .55s cubic-bezier(.7,0,.3,1) !important;
  z-index:2 !important;
}
.oze-ecrin-intro .oze-ecrin__intro-cta .oze-btn:hover::after{ width:100% !important; }
.oze-ecrin-intro .oze-ecrin__intro-cta .oze-btn:hover{
  background:transparent !important;
  color:var(--text) !important;
}
.oze-ecrin-intro .oze-ecrin__intro-cta .oze-btn{
  padding:6px 0 12px !important;   /* un peu plus d'air entre le texte et le trait */
  overflow:visible !important;     /* permet au trait de rester visible */
}

/* ═══════════════════════════════════════════════════════════════
   DUO CTA — Vintage + Carte cadeau côte à côte (style La Romaine)
   Image de fond + texte en overlay (top-left), 50/50, full-bleed.
   ═══════════════════════════════════════════════════════════════ */
.oze-duo-cta{ padding:60px 0; }
.oze-duo-cta__grid{
  display:grid; grid-template-columns:1fr 1fr; gap:8px;
  width:100%;
}
.oze-duo-cta__item{
  position:relative; display:block;
  text-decoration:none; color:#fff;
  aspect-ratio:4/5;            /* image PLUS HAUTE (portrait) */
  overflow:hidden;
  background:#E8D5BC;
}
.oze-duo-cta__media{
  position:absolute; inset:0; z-index:0;
}
.oze-duo-cta__media img{
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform 1.4s var(--ease);
}
.oze-duo-cta__item:hover .oze-duo-cta__media img{ transform:scale(1.04); }

/* Texte en overlay sur l'image (eyebrow + titre + description + flèche) */
.oze-duo-cta__body{
  position:absolute; inset:0; z-index:2;
  padding:clamp(28px, 3.5vw, 56px);
  display:flex; flex-direction:column;
  align-items:flex-start; justify-content:flex-end;
  color:#fff;
  background:linear-gradient(180deg, rgba(0,0,0,0) 35%, rgba(0,0,0,.55) 100%);
}
.oze-duo-cta__eyebrow{
  font-family:var(--sans); font-size:.72rem; letter-spacing:.22em;
  text-transform:uppercase; font-weight:500; opacity:.95;
  margin:0 0 .9rem; color:#fff;
}
.oze-duo-cta__title{
  font-family:var(--sans) !important;
  font-weight:500 !important;          /* Demi (500 = Maison Neue Demi) */
  font-size:clamp(1.6rem, 2.6vw, 2.4rem); line-height:1.15;
  margin:0 0 .8rem; color:#fff; letter-spacing:.01em;
}
.oze-duo-cta__text{
  font-family:var(--sans); font-size:.95rem; line-height:1.55;
  max-width:42ch; margin:0 0 1.2rem; color:#fff; opacity:.92;
}
/* CTA "Découvrir ›" — label texte + chevron */
.oze-duo-cta__arrow{
  display:inline-flex; align-items:center; gap:8px;
  color:#fff; line-height:1;
  font-family:var(--sans); font-weight:500;
  font-size:.82rem; letter-spacing:.16em; text-transform:uppercase;
  padding-bottom:6px;
  border-bottom:1px solid rgba(255,255,255,.6);
  transition:border-color .35s var(--ease), letter-spacing .35s var(--ease);
}
.oze-duo-cta__arrow > span[aria-hidden="true"]{
  font-size:1.4em; line-height:0; transition:transform .35s var(--ease);
}
.oze-duo-cta__item:hover .oze-duo-cta__arrow{
  border-color:#fff;
  letter-spacing:.2em;
}
.oze-duo-cta__item:hover .oze-duo-cta__arrow > span[aria-hidden="true"]{
  transform:translateX(4px);
}

@media (max-width:768px){
  .oze-duo-cta__grid{ grid-template-columns:1fr; gap:8px; }
  .oze-duo-cta__item{ aspect-ratio:4/5; }
}

/* ═══════════════════════════════════════════════════════════════
   RÉASSURANCE — overrides finaux (écrase tous les !important antérieurs)
   Bloc ultra compact, pas de chevauchement, pas de marge négative.
   ═══════════════════════════════════════════════════════════════ */
.oze-reassurance,
.oze-reassurance.oze-reassurance{
  padding:6px 0 !important;
  padding-top:6px !important;
  padding-bottom:6px !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
  z-index:auto !important;
}
.oze-reassurance::before,
.oze-reassurance::after{
  display:none !important;
  content:none !important;
  box-shadow:none !important;
}
@media (max-width:768px){
  .oze-reassurance,
  .oze-reassurance.oze-reassurance{
    padding:4px 0 !important;
    padding-top:4px !important;
    padding-bottom:4px !important;
    margin-top:0 !important;
  }
}

/* ═══════════════════════════════════════════════════════════════
   PRODUCT CARDS — override final pour rectangle vertical + marges serrées
   ═══════════════════════════════════════════════════════════════ */
.oze-card__media,
.products li.product .oze-card__media{
  aspect-ratio:4/5 !important;   /* portrait, jamais carré */
}
/* Grille produits ultra serrée — marges réduites au strict minimum */
.oze-product-grid,
.products,
ul.products{
  gap:14px 5px !important;
}
@media (max-width:768px){
  .oze-product-grid,
  .products,
  ul.products{
    gap:10px 4px !important;
  }
}
/* Body card : titre + prix juste sous l'image, espacement contenu */
.oze-card__body{
  padding:10px 0 4px !important;
}
.oze-card__body h3{
  margin:0 !important;
  line-height:22px !important;
}
.oze-card .oze-price{
  line-height:22px !important;
}

/* ═══════════════════════════════════════════════════════════════
   HOMEPAGE SHOWCASE — titre + prix EN OVERLAY DANS L'IMAGE
   (boutique inchangée : titre + prix sous l'image)
   ═══════════════════════════════════════════════════════════════ */
.oze-showcase__products .oze-card{
  position:relative;
}
/* Le body sort du flux : il vient se positionner en bas-gauche, dans l'image */
.oze-showcase__products .oze-card__body{
  position:absolute !important;
  left:0; right:0; bottom:0;
  padding:18px 22px 16px !important;
  text-align:left !important;
  align-items:flex-start !important;
  z-index:3;
  pointer-events:none;
  /* Dégradé doux du bas vers le haut pour lisibilité (sans dénaturer la photo) */
  background:linear-gradient(0deg,
    rgba(0,0,0,.55) 0%,
    rgba(0,0,0,.25) 45%,
    rgba(0,0,0,0) 100%);
}
.oze-showcase__products .oze-card__body h3{
  font-family:var(--sans) !important;
  font-size:15px !important;
  line-height:22px !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
  font-weight:700 !important;
  color:#fff !important;
  margin:0 0 5px !important;
  text-align:left !important;
}
.oze-showcase__products .oze-card .oze-price{
  font-family:var(--sans) !important;
  font-size:13px !important;
  line-height:20px !important;
  letter-spacing:.03em !important;
  font-weight:500 !important;
  color:rgba(255,255,255,.95) !important;
  text-align:left !important;
}
.oze-showcase__products .oze-card .oze-price del{
  color:rgba(255,255,255,.6) !important;
  margin-right:6px !important;
}
/* L'image garde toute la hauteur (le body n'occupe plus d'espace en flux) */
.oze-showcase__products .oze-card{
  height:100% !important;          /* remplit toute la cellule de la grille */
}
.oze-showcase__products .oze-card__media{
  margin-bottom:0 !important;
  aspect-ratio:auto !important;    /* plus de 4:5 figé → la photo remplit la cellule */
  height:100% !important;
  min-height:0 !important;
}
@media (max-width:768px){
  .oze-showcase__products .oze-card__body{ padding:12px 14px 10px !important; }
  .oze-showcase__products .oze-card__body h3{
    font-size:12px !important; line-height:18px !important;
  }
  .oze-showcase__products .oze-card .oze-price{
    font-size:11px !important; line-height:16px !important;
  }
}

/* ═══════════════════════════════════════════════════════════════
   HERO LOGO — animation scroll-linked (CSS var --hero-logo-progress)
   Piloté par JS : opacity, scale et translate liés à la position
   de scroll réelle (pas un toggle binaire CSS transition).
   ═══════════════════════════════════════════════════════════════ */
:root{
  --hero-logo-progress: 0;   /* 0 = top de page, 1 = totalement disparu */
}
.oze-hero-logo,
body.is-header-scrolled .oze-hero-logo{
  /* Tout piloté par le scroll en continu — pas de transition CSS (qui
   * créerait un double effet par-dessus la progression).
   * Et on neutralise l'ancien toggle binaire .is-header-scrolled. */
  transition: none !important;
  opacity: calc(1 - var(--hero-logo-progress)) !important;
  transform:
    translateX(-50%)
    translateY( calc(var(--hero-logo-progress) * -180px) )
    scale( calc(1 - var(--hero-logo-progress) * 0.55) ) !important;
  bottom: clamp(80px, 14vh, 180px) !important;   /* position de base — fixe */
  top: auto !important;
}
body.is-header-scrolled .oze-hero-logo{
  pointer-events: none;
}
/* Mobile : le logo est ancré en haut — adapter bottom/top */
@media (max-width:768px){
  .oze-hero-logo,
  body.is-header-scrolled .oze-hero-logo{
    bottom: auto !important;
    top: clamp(90px, 14vh, 160px) !important;
    transform:
      translateX(-50%)
      translateY( calc(var(--hero-logo-progress) * -120px) )
      scale( calc(1 - var(--hero-logo-progress) * 0.5) ) !important;
  }
}

/* ═══════════════════════════════════════════════════════════════
   FIX FINAL — supprime tout chevauchement résiduel entre les sections
   (anciennes règles margin-top:-54px + padding-top:130px qui créaient
   des bandes/ombres parasites entre duo-CTA, instagram, réassurance…)
   ═══════════════════════════════════════════════════════════════ */
.oze-ecrin--rose,
.oze-tiles,
.oze-gift,
.oze-insta,
.oze-newsletter-block,
.oze-reassurance,
.oze-vintage-cta,
.oze-duo-cta,
.oze-showcase{
  margin-top:0 !important;
  margin-bottom:0 !important;
}
.oze-tiles,
.oze-gift,
.oze-insta,
.oze-newsletter-block,
.oze-reassurance{
  padding-top:0 !important;
}
.oze-ecrin--rose::after,
.oze-tiles::after,
.oze-gift::after,
.oze-insta::after,
.oze-newsletter-block::after,
.oze-reassurance::after,
.oze-footer::after,
.oze-ecrin--rose::before,
.oze-tiles::before,
.oze-gift::before,
.oze-insta::before,
.oze-newsletter-block::before,
.oze-reassurance::before{
  display:none !important;
  content:none !important;
  box-shadow:none !important;
  background:none !important;
}

/* ═══════════════════════════════════════════════════════════════
   FIX visuel — bandes parasites + hover zoom retiré sur duo CTA
   ═══════════════════════════════════════════════════════════════ */

/* Force toutes les sections du milieu à utiliser le même fond crème
   (évite les seams visibles entre duo-cta, reassurance, insta) */
.oze-duo-cta,
.oze-reassurance,
.oze-insta,
.oze-vintage-cta,
.oze-showcase{
  background:var(--bg-page) !important;
  border:0 !important;
  box-shadow:none !important;
}
.oze-duo-cta::before,
.oze-duo-cta::after,
.oze-showcase::before,
.oze-showcase::after,
.oze-vintage-cta::before,
.oze-vintage-cta::after{
  display:none !important; content:none !important;
  box-shadow:none !important; background:none !important;
}

/* Hover des images duo-cta : on retire le zoom (image statique) */
.oze-duo-cta__item:hover .oze-duo-cta__media img{
  transform:none !important;
}
.oze-duo-cta__media img{ transition:none !important; }

/* Espacement entre la réassurance et le bloc Instagram en dessous */
.oze-reassurance{ padding-bottom:48px !important; }
.oze-insta{ padding-top:24px !important; }
@media (max-width:768px){
  .oze-reassurance{ padding-bottom:28px !important; }
  .oze-insta{ padding-top:16px !important; }
}

/* ═══════════════════════════════════════════════════════════════
   MOBILE — Showcases : 1 produit par ligne + marges resserrées
   ═══════════════════════════════════════════════════════════════ */
@media (max-width:768px){
  /* La grille image XL + grille produits passe en mono-colonne */
  .oze-showcase__grid{
    grid-template-columns:1fr !important;
    gap:3px !important;
  }
  /* Image XL = hauteur portrait, prend toute la largeur */
  .oze-showcase__hero{
    aspect-ratio:4/5 !important;
    width:100% !important;
    order:1;
  }
  /* Grille produits : 2×2 (2 produits par ligne) */
  .oze-showcase__products{
    grid-template-columns:1fr 1fr !important;
    grid-template-rows:auto !important;
    gap:3px !important;
    order:2;
    width:100% !important;
  }
  /* Chaque card produit en portrait plein écran (look haute joaillerie) */
  .oze-showcase__products .oze-card__media{
    aspect-ratio:4/5 !important;
  }
  /* Marge entre les 2 blocs showcase quasi nulle sur mobile */
  .oze-showcase{ padding:1px 0 !important; }
  .oze-showcase + .oze-showcase{ padding-top:0 !important; }
}

/* Mobile : marge minimale entre les sections de la home */
@media (max-width:768px){
  .oze-showcase + .oze-duo-cta,
  .oze-showcase:last-of-type{ margin-bottom:0 !important; }
  .oze-duo-cta{ padding:3px 0 !important; margin-top:0 !important; }
  .oze-duo-cta__grid{ gap:3px !important; }
}

/* Mobile : réassurance — liste éditoriale premium.
   Icône à gauche, titre + description empilés à droite, fines séparations. */
@media (max-width:768px){
  .oze-reassurance__grid{
    grid-template-columns:1fr !important;
    gap:0 !important;
    max-width:440px;
    margin:0 auto;
  }
  .oze-reassurance__item{
    display:grid !important;
    grid-template-columns:44px 1fr;
    column-gap:18px;
    row-gap:2px;
    align-items:center !important;
    justify-items:start;
    text-align:left !important;
    padding:21px 6px !important;
    border-bottom:1px solid rgba(18,18,18,.10) !important;
  }
  .oze-reassurance__item:last-child{ border-bottom:0 !important; }
  .oze-reassurance__icon{
    grid-row:1 / span 2;
    align-self:center;
    width:44px !important; height:44px !important;
    margin:0 !important;
    flex-shrink:0;
    color:var(--oze-deep) !important;
  }
  .oze-reassurance__icon svg{ width:26px !important; height:26px !important; }
  .oze-reassurance__item h3{
    grid-column:2; align-self:end;
    font-family:var(--sans) !important;
    font-size:1rem !important;
    font-weight:500 !important;
    letter-spacing:.005em;
    line-height:1.2 !important;
    margin:0 !important; text-align:left !important;
  }
  .oze-reassurance__item p{
    grid-column:2; align-self:start;
    font-family:var(--serif) !important;
    font-size:.84rem !important;
    line-height:1.42 !important;
    color:var(--text-soft) !important;
    margin:0 !important; text-align:left !important;
    max-width:none !important;
  }
}

/* Desktop : plus de marge bottom sous la réassurance */
@media (min-width:769px){
  .oze-reassurance{ padding-bottom:90px !important; }
  .oze-insta{ padding-top:50px !important; }
}

/* Desktop : marge minimale entre le dernier showcase et le duo CTA */
@media (min-width:769px){
  .oze-showcase + .oze-duo-cta{ margin-top:0 !important; }
  .oze-showcase{ padding-bottom:3px !important; }
  .oze-showcase:last-of-type{ padding-bottom:0 !important; }
  .oze-duo-cta{ padding:3px 0 !important; margin-top:0 !important; }
}

/* ═══════════════════════════════════════════════════════════════
   POURQUOI OSER OZE ? — Bloc texte éditorial (entre showcases et duo CTA)
   ═══════════════════════════════════════════════════════════════ */
.oze-why-block{
  padding:95px 0 85px;
  background:var(--bg-page);
  text-align:center;
}
.oze-why-block__inner{
  max-width:1180px;             /* élargi (avant 720px) */
  margin:0 auto;
  padding:0 32px;
}
.oze-why-block__eyebrow{
  font-family:var(--sans);
  font-size:.78rem;
  letter-spacing:.26em;
  text-transform:uppercase;
  font-weight:500;
  color:var(--text);
  margin:0 0 1.2rem;
  opacity:.85;
}
.oze-why-block__text{
  font-family:var(--sans);
  font-weight:400;
  font-size:1rem;
  line-height:1.65;
  color:var(--text);
  max-width:100ch;              /* élargi (avant 60ch) */
  margin:0 auto;
}
.oze-why-block__text p{
  margin:0 0 1rem;
}
.oze-why-block__text p:last-child{ margin-bottom:0; }
@media (max-width:768px){
  .oze-why-block{ padding:48px 20px; }
  .oze-why-block__text{ font-size:.95rem; line-height:1.7; }
}

/* Retire l'ombre derrière les icônes de réassurance */
.oze-reassurance__icon{
  box-shadow:none !important;
  background:transparent !important;
}

/* Desktop : marge top de la réassurance (sépare du duo CTA au-dessus) */
@media (min-width:769px){
  .oze-reassurance{ padding-top:70px !important; }
  .oze-duo-cta{ padding-bottom:20px !important; }
}

/* ═══════════════════════════════════════════════════════════════
   HOME : navbar logo synchronisé sur la progression du logo XL
   Le logo navbar n'apparaît qu'à la FIN de l'animation du logo XL
   (progress > 0.85) — évite que les 2 logos soient visibles
   simultanément pendant que le XL remonte.
   ═══════════════════════════════════════════════════════════════ */
body.home .oze-logo,
body.home .oze-logo--img,
body.page-template-front-page .oze-logo,
body.page-template-front-page .oze-logo--img{
  /* opacity = (progress - 0.85) × 6.67 → 0 jusqu'à progress=0.85, 1 à progress=1 */
  opacity: calc( (var(--hero-logo-progress, 0) - 0.85) * 6.67 ) !important;
  transition: opacity .25s linear !important;
}
/* Pendant l'animation, le logo navbar reste non-cliquable
   (sinon il intercepte les clics même quand quasi invisible) */
body.home:not(.is-header-scrolled-complete) .oze-logo,
body.home:not(.is-header-scrolled-complete) .oze-logo--img{
  pointer-events:none !important;
}
body.home.is-header-scrolled-complete .oze-logo,
body.home.is-header-scrolled-complete .oze-logo--img{
  pointer-events:auto !important;
}

/* ═══════════════════════════════════════════════════════════════
   HOME : fond navbar synchronisé sur la progression du logo XL
   La navbar reste TRANSPARENTE jusqu'à ce que le logo XL soit
   quasi disparu (progress > 0.85). Évite que le beige s'affiche
   pendant que le logo XL est encore en train de remonter.
   ═══════════════════════════════════════════════════════════════ */
body.home .oze-header,
body.page-template-front-page .oze-header{
  background: transparent !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}
/* Quand le logo XL est totalement disparu : navbar opaque + ligne fine */
body.home.is-header-scrolled-complete .oze-header,
body.page-template-front-page.is-header-scrolled-complete .oze-header{
  background: var(--bg-page) !important;
  border-bottom: 1px solid rgba(18,18,18,.12) !important;
  box-shadow: 0 1px 8px -4px rgba(18,18,18,.08) !important;
}
/* Pour une transition douce du fond (pas un toggle binaire) */
body.home .oze-header,
body.page-template-front-page .oze-header{
  transition:
    background .45s var(--ease),
    border-color .45s var(--ease),
    box-shadow .45s var(--ease) !important;
}

/* ═══════════════════════════════════════════════════════════════
   HOME : logo navbar entièrement synchronisé sur la progression
   du logo XL — couvre TOUS les enfants (img, .custom-logo, etc.)
   ═══════════════════════════════════════════════════════════════ */
body.home .oze-header__inner .oze-logo,
body.home .oze-header__inner .oze-logo--img,
body.home .oze-header__inner .oze-logo--img .custom-logo-link,
body.home .oze-header__inner .oze-logo--img .custom-logo,
body.home .oze-header__inner .oze-logo--img img,
body.page-template-front-page .oze-header__inner .oze-logo,
body.page-template-front-page .oze-header__inner .oze-logo--img,
body.page-template-front-page .oze-header__inner .oze-logo--img .custom-logo-link,
body.page-template-front-page .oze-header__inner .oze-logo--img .custom-logo,
body.page-template-front-page .oze-header__inner .oze-logo--img img{
  opacity: calc( (var(--hero-logo-progress, 0) - 0.85) * 6.67 ) !important;
  transition: opacity .25s linear !important;
  visibility: visible !important;
}
/* Quand l'animation n'est pas finie : impossible de cliquer dessus */
body.home:not(.is-header-scrolled-complete) .oze-logo,
body.home:not(.is-header-scrolled-complete) .oze-logo--img,
body.home:not(.is-header-scrolled-complete) .oze-logo--img *,
body.page-template-front-page:not(.is-header-scrolled-complete) .oze-logo,
body.page-template-front-page:not(.is-header-scrolled-complete) .oze-logo--img,
body.page-template-front-page:not(.is-header-scrolled-complete) .oze-logo--img *{
  pointer-events: none !important;
}

/* ═══════════════════════════════════════════════════════════════
   SOUS-MENU : entièrement BEIGE (E8D5BC) — override final
   ═══════════════════════════════════════════════════════════════ */
.oze-nav__list .sub-menu,
.oze-nav__list ul.sub-menu,
.oze-nav__list li .sub-menu,
.oze-header .sub-menu,
.oze-header__inner .sub-menu{
  background:#E8D5BC !important;
  border:0 !important;
}
.oze-nav__list .sub-menu li,
.oze-nav__list .sub-menu li > a{
  background:#E8D5BC !important;
}
.oze-nav__list .sub-menu li + li{
  border-top:1px solid rgba(0,0,0,.08) !important;
}
.oze-nav__list .sub-menu a:hover,
.oze-nav__list .sub-menu li:hover > a{
  background:rgba(0,0,0,.06) !important;
  color:var(--text) !important;
}
/* Si "mega menu" / .oze-mega-menu, on force aussi le beige */
.oze-mega-menu,
.oze-mega-menu *,
.menu-mega,
.menu-mega *{
  background-color:#E8D5BC !important;
}
.oze-mega-menu a,
.menu-mega a{ background:transparent !important; }

/* ═══════════════════════════════════════════════════════════════
   PAGES ÉDITORIALES — style Louise Damas (image plein cadre + texte)
   Layout 50/50, image sticky, texte centré, typo épurée premium.
   ═══════════════════════════════════════════════════════════════ */
.oze-page--editorial{
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:calc(100vh - 90px);    /* hauteur viewport moins navbar */
  background:var(--bg-page);
  padding:0;
}
.oze-page--editorial.oze-page--img-right{
  grid-template-areas:"text media";
}
.oze-page--editorial.oze-page--img-left{
  grid-template-areas:"media text";
}
.oze-page--editorial .oze-page__media{
  grid-area:media;
  position:sticky; top:0; align-self:start;
  height:100vh;
  overflow:hidden;
  margin:0;
}
.oze-page--editorial .oze-page__media img{
  width:100%; height:100%;
  object-fit:cover; object-position:center;
  display:block;
}
.oze-page--editorial .oze-page__col--text{
  grid-area:text;
  display:flex; align-items:center;
  padding:clamp(60px, 9vw, 140px) clamp(40px, 6vw, 100px);
}
.oze-page--editorial .oze-page__inner{
  max-width:520px;
  width:100%;
  margin:0;
}
.oze-page--editorial .oze-page__eyebrow{
  font-family:var(--sans);
  font-size:.74rem;
  letter-spacing:.32em;
  text-transform:uppercase;
  font-weight:500;
  color:var(--text);
  margin:0 0 2.2rem;
  opacity:.85;
}
.oze-page--editorial .oze-page__title{
  font-family:var(--sans);
  font-weight:500;
  font-size:clamp(1.8rem, 2.8vw, 2.4rem);
  line-height:1.2;
  letter-spacing:.005em;
  color:var(--text);
  margin:0 0 2rem;
}
.oze-page--editorial .oze-page__content{
  font-family:var(--sans);
  font-weight:400;
  font-size:1rem;
  line-height:1.75;
  color:var(--text);
}
.oze-page--editorial .oze-page__content p{
  margin:0 0 1.4rem;
}
.oze-page--editorial .oze-page__content p:last-child{ margin-bottom:0; }
.oze-page--editorial .oze-page__content h2,
.oze-page--editorial .oze-page__content h3{
  font-family:var(--sans); font-weight:500;
  font-size:1.05rem; letter-spacing:.18em; text-transform:uppercase;
  margin:2.2rem 0 1rem; color:var(--text);
}
.oze-page--editorial .oze-page__content a{
  color:var(--text); text-decoration:underline;
  text-underline-offset:3px;
  transition:color .2s var(--ease);
}
.oze-page--editorial .oze-page__content a:hover{ color:var(--accent); }
.oze-page--editorial .oze-page__content ul,
.oze-page--editorial .oze-page__content ol{
  padding-left:1.2em; margin:0 0 1.4rem;
}
.oze-page--editorial .oze-page__content li{ margin-bottom:.4rem; }
.oze-page--editorial .oze-page__content em{ font-style:italic; }
.oze-page--editorial .oze-page__content strong{ font-weight:500; }
.oze-page--editorial .oze-page__content blockquote{
  border-left:2px solid var(--text);
  padding:0 0 0 1.4rem;
  margin:1.8rem 0;
  font-style:italic;
  font-size:1.08rem;
  line-height:1.65;
  color:var(--text); opacity:.85;
}

/* Pages SANS image : texte centré pleine largeur */
.oze-page--editorial.oze-page--no-img{
  grid-template-columns:1fr;
  grid-template-areas:"text";
}
.oze-page--editorial.oze-page--no-img .oze-page__col--text{
  justify-content:center;
}
.oze-page--editorial.oze-page--no-img .oze-page__inner{
  max-width:760px; margin:0 auto; text-align:center;
}

/* Mobile : stack image au-dessus, texte en-dessous */
@media (max-width:768px){
  .oze-page--editorial,
  .oze-page--editorial.oze-page--img-right,
  .oze-page--editorial.oze-page--img-left{
    grid-template-columns:1fr;
    grid-template-areas:"media" "text";
    min-height:auto;
  }
  .oze-page--editorial .oze-page__media{
    position:relative; top:auto;
    height:80vh; max-height:560px;
  }
  .oze-page--editorial .oze-page__col--text{
    padding:48px 22px 60px;
  }
  .oze-page--editorial .oze-page__inner{ max-width:100%; }
  .oze-page--editorial .oze-page__eyebrow{ margin-bottom:1.4rem; font-size:.68rem; }
  .oze-page--editorial .oze-page__title{ font-size:1.4rem; margin-bottom:1.5rem; }
  .oze-page--editorial .oze-page__content{ font-size:.95rem; line-height:1.7; }
}

/* ═══════════════════════════════════════════════════════════════
   SOUS-MENU : 100 % BEIGE UNIFORME #E8D5BC, ZÉRO BLANC
   Override final, écrase tous les conflits (hover, focus, alt rows)
   ═══════════════════════════════════════════════════════════════ */
.oze-nav__list ul.sub-menu,
.oze-nav__list .sub-menu,
.oze-nav__list .sub-menu *,
.oze-header .sub-menu,
.oze-header .sub-menu *,
.oze-mega-menu,
.oze-mega-menu *{
  background-color:#E8D5BC !important;
  background-image:none !important;
}
.oze-nav__list .sub-menu li,
.oze-nav__list .sub-menu li > a,
.oze-nav__list .sub-menu a,
.oze-nav__list .sub-menu a:link,
.oze-nav__list .sub-menu a:visited{
  background:#E8D5BC !important;
  color:var(--text) !important;
}
/* HOVER : même beige (juste un soupçon d'assombrissement via box-shadow inset, pas de fond changé) */
.oze-nav__list .sub-menu a:hover,
.oze-nav__list .sub-menu a:focus,
.oze-nav__list .sub-menu li:hover > a,
.oze-nav__list .sub-menu li:focus-within > a{
  background:#E8D5BC !important;
  color:var(--accent) !important;
  box-shadow:inset 0 0 0 100vmax rgba(0,0,0,.04) !important;
}
/* Séparateurs : trait fin noir 8 % (pas de blanc) */
.oze-nav__list .sub-menu li + li{
  border-top:1px solid rgba(0,0,0,.08) !important;
}
/* Pas de :nth-child / alt-row qui réintroduirait du blanc */
.oze-nav__list .sub-menu li:nth-child(even),
.oze-nav__list .sub-menu li:nth-child(odd),
.oze-nav__list .sub-menu li:nth-of-type(even),
.oze-nav__list .sub-menu li:nth-of-type(odd){
  background:#E8D5BC !important;
}

/* ═══════════════════════════════════════════════════════════════
   SOUS-MENU : couleur finale #F9F6EE (crème page, pas le beige rosé)
   Override absolu — écrase mes précédentes règles en #E8D5BC.
   ═══════════════════════════════════════════════════════════════ */
.oze-nav__list .sub-menu,
.oze-nav__list ul.sub-menu,
.oze-nav__list .sub-menu *,
.oze-nav__list .sub-menu li,
.oze-nav__list .sub-menu li > a,
.oze-nav__list .sub-menu a,
.oze-nav__list .sub-menu a:link,
.oze-nav__list .sub-menu a:visited,
.oze-nav__list .sub-menu a:hover,
.oze-nav__list .sub-menu a:focus,
.oze-nav__list .sub-menu li:hover > a,
.oze-nav__list .sub-menu li:focus-within > a,
.oze-nav__list .sub-menu li:nth-child(even),
.oze-nav__list .sub-menu li:nth-child(odd),
.oze-header .sub-menu,
.oze-header .sub-menu *,
.oze-mega-menu,
.oze-mega-menu *{
  background:#F9F6EE !important;
  background-color:#F9F6EE !important;
  background-image:none !important;
}
.oze-nav__list .sub-menu li + li{
  border-top:1px solid rgba(0,0,0,.06) !important;
}
.oze-nav__list .sub-menu a:hover,
.oze-nav__list .sub-menu li:hover > a{
  color:var(--accent) !important;
  box-shadow:inset 0 0 0 100vmax rgba(0,0,0,.03) !important;
}

/* ═══════════════════════════════════════════════════════════════
   GUIDE DES TAILLES — Layout éditorial premium dédié
   Sections alternées image/texte, CTAs sans fond ni contour,
   pas de cartes colorées, typo épurée façon Louise Damas.
   ═══════════════════════════════════════════════════════════════ */
.oze-gdt{
  background:var(--bg-page);
  color:var(--text);
}
.oze-gdt__wrap{
  max-width:1180px;
  margin:0 auto;
  padding:0 clamp(24px, 5vw, 60px);
}
.oze-gdt__wrap--narrow{ max-width:760px; text-align:center; }

/* ───────── HERO ───────── */
.oze-gdt__hero{
  padding:clamp(80px, 12vh, 160px) 0 clamp(60px, 9vh, 110px);
  text-align:center;
}
.oze-gdt__eyebrow{
  font-family:var(--sans); font-size:.72rem;
  letter-spacing:.3em; text-transform:uppercase; font-weight:500;
  color:var(--text); opacity:.7;
  margin:0 0 1.4rem;
}
.oze-gdt__title{
  font-family:var(--sans); font-weight:500;
  font-size:clamp(2.4rem, 4.5vw, 3.6rem);
  line-height:1.1; letter-spacing:-.01em;
  margin:0 0 1.6rem;
}
.oze-gdt__lead{
  font-family:var(--sans); font-weight:400;
  font-size:clamp(1rem, 1.2vw, 1.1rem);
  line-height:1.7;
  max-width:560px; margin:0 auto 2.4rem;
  color:var(--text);
}

/* ───────── CTAs PREMIUM (sans fond ni contour, juste trait sous le texte) ───────── */
.oze-link{
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--sans); font-weight:500;
  font-size:.78rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--text); text-decoration:none;
  position:relative;
  padding:6px 0 10px;
  transition:gap .35s var(--ease);
}
.oze-link::before{
  content:""; position:absolute;
  left:0; right:0; bottom:0;
  height:1px; background:rgba(18,18,18,.5);
}
.oze-link::after{
  content:""; position:absolute;
  left:0; bottom:0; height:1px; width:0;
  background:var(--text);
  transition:width .55s cubic-bezier(.7,0,.3,1);
}
.oze-link:hover::after{ width:100%; }
.oze-link:hover{ gap:14px; color:var(--text); }
.oze-link span{ font-size:1.2em; line-height:1; }
.oze-link--lg{ font-size:.85rem; letter-spacing:.22em; }

/* ───────── SECTIONS image+texte alternées ───────── */
.oze-gdt__section{
  display:grid;
  grid-template-columns:1.6fr 1fr;          /* image plus large que le texte */
  gap:clamp(50px, 7vw, 120px);
  align-items:center;
  padding:clamp(60px, 10vh, 120px) clamp(24px, 5vw, 80px);
  max-width:1600px; margin:0 auto;          /* layout global plus large */
}
.oze-gdt__section--media-right{
  grid-template-columns:1fr 1.6fr;          /* image à droite aussi prédominante */
}
.oze-gdt__section--media-left .oze-gdt__media{ order:1; }
.oze-gdt__section--media-left .oze-gdt__text{ order:2; }
.oze-gdt__section--media-right .oze-gdt__text{ order:1; }
.oze-gdt__section--media-right .oze-gdt__media{ order:2; }

.oze-gdt__media{
  aspect-ratio:4/5;
  overflow:hidden;
  background:#F2EDDF;
  width:100%;
  min-height:560px;                          /* hauteur min imposante */
}
@media (min-width:1200px){
  .oze-gdt__media{ min-height:680px; }
}
@media (min-width:1600px){
  .oze-gdt__media{ min-height:760px; }
}
.oze-gdt__media img{
  width:100%; height:100%;
  object-fit:cover; object-position:center;
  display:block;
}
.oze-gdt__placeholder{
  width:100%; height:100%;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--serif); font-weight:300;
  font-size:clamp(4rem, 10vw, 8rem);
  color:rgba(18,18,18,.18);
}

.oze-gdt__text{ max-width:480px; }
.oze-gdt__step-label{
  font-family:var(--sans); font-size:.72rem;
  letter-spacing:.3em; text-transform:uppercase; font-weight:500;
  color:var(--text); opacity:.55;
  margin:0 0 1rem;
}
.oze-gdt__h2{
  font-family:var(--sans); font-weight:500;
  font-size:clamp(1.6rem, 2.6vw, 2.2rem);
  line-height:1.15; letter-spacing:-.005em;
  margin:0 0 1.4rem;
}
.oze-gdt__h2--center{ text-align:center; }
.oze-gdt__text p{
  font-family:var(--sans); font-weight:400;
  font-size:1rem; line-height:1.7;
  margin:0 0 1rem; color:var(--text);
}
.oze-gdt__text strong{ font-weight:500; }
.oze-gdt__text em{ font-style:italic; opacity:.85; }
.oze-gdt__tip{
  font-size:.92rem !important;
  border-top:1px solid rgba(18,18,18,.12);
  padding-top:1.2rem; margin-top:1.6rem !important;
  opacity:.78; font-style:italic;
}

/* ───────── CONSEILS (3 colonnes texte épuré) ───────── */
.oze-gdt__advice{
  padding:clamp(80px, 12vh, 140px) 0;
  text-align:center;
  border-top:1px solid rgba(18,18,18,.08);
}
.oze-gdt__advice .oze-gdt__eyebrow{ margin-bottom:1.2rem; }
.oze-gdt__advice .oze-gdt__h2{ margin-bottom:3rem; }
.oze-gdt__advice-grid{
  display:grid; grid-template-columns:repeat(3, 1fr);
  gap:clamp(32px, 4vw, 64px);
  text-align:left;
  max-width:1000px; margin:0 auto;
}
.oze-gdt__advice-grid h3{
  font-family:var(--sans); font-weight:500;
  font-size:1rem; letter-spacing:.04em;
  margin:0 0 .8rem; color:var(--text);
}
.oze-gdt__advice-grid p{
  font-family:var(--sans); font-weight:400;
  font-size:.95rem; line-height:1.65;
  margin:0; color:var(--text); opacity:.82;
}

/* ───────── DOWNLOAD + CONTACT ───────── */
.oze-gdt__download,
.oze-gdt__contact{
  padding:clamp(70px, 10vh, 120px) 0;
  text-align:center;
}
.oze-gdt__download{ border-top:1px solid rgba(18,18,18,.08); }
.oze-gdt__contact{ border-top:1px solid rgba(18,18,18,.08); padding-bottom:clamp(100px, 14vh, 160px); }
.oze-gdt__download p{
  font-family:var(--sans); font-size:1rem; line-height:1.7;
  max-width:520px; margin:0 auto 2.4rem; color:var(--text); opacity:.85;
}
.oze-gdt__quote{
  font-family:var(--sans); font-style:italic;
  font-size:clamp(1.05rem, 1.4vw, 1.25rem);
  line-height:1.6; max-width:640px; margin:0 auto 2.4rem;
  color:var(--text);
}

/* ───────── MOBILE ───────── */
@media (max-width:768px){
  .oze-gdt__hero{ padding:60px 0 40px; }
  .oze-gdt__section{
    grid-template-columns:1fr;
    gap:30px;
    padding:50px 24px;
  }
  .oze-gdt__section--media-left .oze-gdt__media,
  .oze-gdt__section--media-right .oze-gdt__media{ order:1; }
  .oze-gdt__section--media-left .oze-gdt__text,
  .oze-gdt__section--media-right .oze-gdt__text{ order:2; max-width:100%; }
  .oze-gdt__advice-grid{ grid-template-columns:1fr; gap:32px; }
  .oze-gdt__advice{ padding:60px 24px; }
  .oze-gdt__download, .oze-gdt__contact{ padding:60px 24px; }
}

/* ═══════════════════════════════════════════════════════════════
   L'OR EN JOAILLERIE — Layout éditorial premium dédié
   Inspiration : Louise Damas / Hermès — typo XL pour les accents
   chiffrés, chapitres image+texte alternés, palette épurée.
   ═══════════════════════════════════════════════════════════════ */
.oze-or{
  background:var(--bg-page);
  color:var(--text);
}
.oze-or__wrap{
  max-width:1180px;
  margin:0 auto;
  padding:0 clamp(24px, 5vw, 60px);
}
.oze-or__wrap--narrow{ max-width:760px; }
.oze-or__wrap--center{ text-align:center; }

.oze-or__eyebrow{
  font-family:var(--sans); font-size:.72rem;
  letter-spacing:.3em; text-transform:uppercase; font-weight:500;
  color:var(--text); opacity:.7;
  margin:0 0 1.4rem;
}
.oze-or__h2{
  font-family:var(--sans); font-weight:500;
  font-size:clamp(1.6rem, 2.6vw, 2.3rem);
  line-height:1.15; letter-spacing:-.005em;
  margin:0 0 1.6rem;
}
.oze-or__h2--center{ text-align:center; }
.oze-or__chapter-num{
  font-family:var(--sans); font-size:.7rem;
  letter-spacing:.32em; text-transform:uppercase; font-weight:500;
  color:var(--text); opacity:.5;
  margin:0 0 1.2rem;
}

/* ─── HERO ─── */
.oze-or__hero{
  padding:clamp(80px, 12vh, 160px) 0 clamp(60px, 9vh, 110px);
  text-align:center;
}
.oze-or__title{
  font-family:var(--sans); font-weight:500;
  font-size:clamp(2.4rem, 4.5vw, 3.6rem);
  line-height:1.1; letter-spacing:-.01em;
  margin:0 0 1.6rem;
}
.oze-or__lead{
  font-family:var(--sans); font-weight:400;
  font-size:clamp(1rem, 1.2vw, 1.1rem); line-height:1.7;
  max-width:600px; margin:0 auto 2.4rem;
}

/* ─── CHAPITRES image+texte ─── */
.oze-or__chapter{
  display:grid;
  grid-template-columns:1fr 1.6fr;     /* image plus large que texte */
  gap:clamp(50px, 7vw, 120px);
  align-items:center;
  padding:clamp(60px, 10vh, 120px) clamp(24px, 5vw, 80px);
  max-width:1600px; margin:0 auto;
}
.oze-or__chapter--media-right{
  grid-template-columns:1.6fr 1fr;
}
.oze-or__chapter--media-left .oze-or__media{ order:1; }
.oze-or__chapter--media-left .oze-or__text{ order:2; }
.oze-or__chapter--media-right .oze-or__text{ order:1; }
.oze-or__chapter--media-right .oze-or__media{ order:2; }

.oze-or__media{
  aspect-ratio:4/5;
  overflow:hidden;
  background:#F2EDDF;
  min-height:560px;
}
@media (min-width:1200px){ .oze-or__media{ min-height:680px; } }
@media (min-width:1600px){ .oze-or__media{ min-height:760px; } }
.oze-or__media img{
  width:100%; height:100%;
  object-fit:cover; object-position:center;
  display:block;
}
.oze-or__placeholder{
  width:100%; height:100%;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--serif); font-weight:300;
  font-size:clamp(3rem, 7vw, 6rem);
  color:rgba(18,18,18,.15);
  letter-spacing:.05em;
}

.oze-or__text{ max-width:520px; }
.oze-or__text p{
  font-family:var(--sans); font-weight:400;
  font-size:1rem; line-height:1.7;
  margin:0 0 1.2rem; color:var(--text);
}
.oze-or__text strong{ font-weight:500; }
.oze-or__text em{ font-style:italic; opacity:.85; }

/* ─── CARATS chips (sous texte chapitre 01) ─── */
.oze-or__carats{
  display:flex; gap:14px; flex-wrap:wrap;
  margin-top:2rem;
}
.oze-or__carat{
  display:flex; align-items:center; justify-content:center;
  width:72px; height:72px;
  font-family:var(--sans); font-weight:500;
  font-size:1.1rem; color:var(--text);
  border:1px solid rgba(18,18,18,.18);
  border-radius:0;
  background:transparent;
  position:relative;
}
.oze-or__carat--accent{
  background:var(--text); color:var(--bg-page);
  border-color:var(--text);
  width:88px; height:88px;
  font-size:1.3rem;
  flex-direction:column; gap:2px;
}
.oze-or__carat--accent small{
  font-size:.5rem; letter-spacing:.22em; text-transform:uppercase;
  font-weight:500; opacity:.85;
}

/* ─── HIGHLIGHT : 75% d'or pur ─── */
.oze-or__highlight{
  padding:clamp(90px, 14vh, 160px) 0;
  text-align:center;
  border-top:1px solid rgba(18,18,18,.08);
  border-bottom:1px solid rgba(18,18,18,.08);
}
.oze-or__stat{
  display:flex; flex-direction:column; align-items:center;
  margin:3rem auto 2.4rem;
}
.oze-or__big{
  font-family:var(--sans); font-weight:500;
  font-size:clamp(7rem, 16vw, 14rem);
  line-height:.9; letter-spacing:-.04em;
  color:var(--text);
  display:inline-flex; align-items:flex-start;
}
.oze-or__big sup{
  font-size:.42em; line-height:1;
  margin-top:.4em; margin-left:.05em;
  font-weight:500;
}
.oze-or__big-label{
  font-family:var(--sans); font-size:.78rem;
  letter-spacing:.32em; text-transform:uppercase; font-weight:500;
  margin-top:.8rem; opacity:.7;
}
.oze-or__highlight-text{
  font-family:var(--sans); font-size:1rem; line-height:1.75;
  max-width:680px; margin:0 auto;
  color:var(--text);
}

/* ─── 3 NUANCES (chapitre 02) ─── */
.oze-or__nuances{
  list-style:none; padding:0; margin:1.4rem 0 0;
  display:flex; flex-direction:column; gap:1.2rem;
}
.oze-or__nuances li{
  display:flex; align-items:flex-start; gap:1rem;
  padding:1rem 0;
  border-top:1px solid rgba(18,18,18,.1);
}
.oze-or__nuances li:last-child{ border-bottom:1px solid rgba(18,18,18,.1); }
.oze-or__nuances strong{
  display:block;
  font-family:var(--sans); font-weight:500; font-size:1rem;
  margin-bottom:.2rem;
}
.oze-or__nuances em{
  display:block;
  font-family:var(--sans); font-style:normal; font-weight:400;
  font-size:.92rem; line-height:1.55; opacity:.78;
}
.oze-or__dot{
  flex-shrink:0;
  width:18px; height:18px; border-radius:50%;
  margin-top:6px;
  box-shadow:0 1px 3px rgba(0,0,0,.12);
}
.oze-or__dot--yellow{ background:linear-gradient(135deg, #F4D78B, #D4AF37); }
.oze-or__dot--white{  background:linear-gradient(135deg, #ECEEF0, #B9BFC4); }
.oze-or__dot--rose{   background:linear-gradient(135deg, #F4C9BD, #D4A38C); }

/* ─── CITATION ─── */
.oze-or__quote-section{
  padding:clamp(80px, 12vh, 140px) 0;
  text-align:center;
}
.oze-or__quote{
  font-family:var(--sans); font-style:italic;
  font-weight:300;
  font-size:clamp(1.3rem, 2vw, 1.8rem);
  line-height:1.45;
  max-width:760px; margin:0 auto;
  color:var(--text);
}

/* ─── MOBILE ─── */
@media (max-width:768px){
  .oze-or__hero{ padding:60px 0 40px; }
  .oze-or__chapter,
  .oze-or__chapter--media-right{
    grid-template-columns:1fr;
    gap:30px;
    padding:50px 24px;
  }
  .oze-or__chapter--media-left .oze-or__media,
  .oze-or__chapter--media-right .oze-or__media{ order:1; }
  .oze-or__chapter--media-left .oze-or__text,
  .oze-or__chapter--media-right .oze-or__text{ order:2; max-width:100%; }
  .oze-or__media{ min-height:auto; aspect-ratio:4/5; }
  .oze-or__carats{ gap:10px; }
  .oze-or__carat{ width:60px; height:60px; font-size:.95rem; }
  .oze-or__carat--accent{ width:72px; height:72px; font-size:1.1rem; }
  .oze-or__highlight{ padding:60px 24px; }
  .oze-or__big{ font-size:6rem; }
  .oze-or__quote-section{ padding:60px 24px; }
}

/* ═══════════════════════════════════════════════════════════════
   LA MARQUE — Manifeste éditorial
   ═══════════════════════════════════════════════════════════════ */
.oze-lm{ background:var(--bg-page); color:var(--text); }
.oze-lm__wrap{ max-width:1180px; margin:0 auto; padding:0 clamp(24px, 5vw, 60px); }
.oze-lm__wrap--narrow{ max-width:820px; }
.oze-lm__eyebrow{
  font-family:var(--sans); font-size:.72rem;
  letter-spacing:.3em; text-transform:uppercase; font-weight:500;
  margin:0 0 1.4rem; opacity:.7;
}
.oze-lm__h2{
  font-family:var(--sans); font-weight:500;
  font-size:clamp(1.4rem, 2.2vw, 1.8rem);
  line-height:1.2; margin:0 0 1.2rem; letter-spacing:-.005em;
}
.oze-lm__h2--center{ text-align:center; }
.oze-lm__h2--big{
  font-size:clamp(2rem, 3.4vw, 3rem); margin-bottom:1.6rem;
}
.oze-lm__chapter-num{
  font-family:var(--sans); font-weight:500;
  font-size:.7rem; letter-spacing:.32em; text-transform:uppercase;
  margin:0 0 1rem; opacity:.5;
}

.oze-lm__hero{ padding:clamp(80px, 14vh, 180px) 0 clamp(40px, 7vh, 80px); text-align:center; }
.oze-lm__title{
  font-family:var(--sans); font-weight:500;
  font-size:clamp(2.6rem, 6vw, 5rem);
  line-height:1.05; letter-spacing:-.02em;
  margin:0;
}
/* .oze-lm__title em/strong : voir règle commune des titres riches plus bas. */

.oze-lm__hero-img{
  width:100%; max-width:1600px;
  margin:0 auto clamp(60px, 10vh, 120px);
  aspect-ratio:16/9;
  overflow:hidden;
  background:#F2EDDF;
}
.oze-lm__hero-img img{ width:100%; height:100%; object-fit:cover; display:block; }
.oze-lm__hero-placeholder{
  width:100%; height:100%;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--serif); font-size:clamp(6rem, 14vw, 12rem);
  color:rgba(18,18,18,.1); letter-spacing:.05em;
}

.oze-lm__manifesto{ padding:clamp(60px, 10vh, 120px) 0; }
.oze-lm__manifesto-grid{
  display:grid; grid-template-columns:repeat(3, 1fr);
  gap:clamp(40px, 5vw, 80px);
}
.oze-lm__manifesto-grid p{
  font-family:var(--sans); font-size:1rem; line-height:1.7; margin:0;
}

.oze-lm__quote-section{
  padding:clamp(80px, 12vh, 140px) 0;
  border-top:1px solid rgba(18,18,18,.08);
  border-bottom:1px solid rgba(18,18,18,.08);
}
.oze-lm__quote{
  font-family:var(--sans); font-style:italic; font-weight:300;
  font-size:clamp(1.4rem, 2.4vw, 2rem); line-height:1.45;
  max-width:820px; margin:0 auto; text-align:center;
}

.oze-lm__split{
  display:grid; grid-template-columns:1.4fr 1fr;
  gap:clamp(40px, 6vw, 100px);
  align-items:center;
  max-width:1600px; margin:0 auto;
  padding:clamp(60px, 10vh, 120px) clamp(24px, 5vw, 80px);
}
.oze-lm__split-media{
  aspect-ratio:4/5; min-height:560px;
  overflow:hidden; background:#F2EDDF;
}
.oze-lm__split-media img{ width:100%; height:100%; object-fit:cover; display:block; }
.oze-lm__split-placeholder{
  width:100%; height:100%;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--serif); font-size:clamp(2.4rem, 5vw, 4rem);
  color:rgba(18,18,18,.15); font-style:italic;
}
.oze-lm__split-text{ max-width:480px; }
.oze-lm__split-text p{ font-family:var(--sans); font-size:1rem; line-height:1.7; margin:0 0 1.2rem; }

.oze-lm__signature{ padding:clamp(80px, 12vh, 140px) 0; text-align:center; }
.oze-lm__signature-text{
  font-family:var(--sans); font-size:1.05rem; line-height:1.7;
  max-width:640px; margin:0 auto 2.4rem;
}

@media (max-width:768px){
  .oze-lm__manifesto-grid{ grid-template-columns:1fr; gap:48px; }
  .oze-lm__split{ grid-template-columns:1fr; gap:32px; padding:50px 24px; }
  .oze-lm__split-media{ min-height:auto; }
  .oze-lm__hero-img{ aspect-ratio:4/5; }
}

/* ═══════════════════════════════════════════════════════════════
   DIFFÉRENCIER — 4 critères + comparaisons
   ═══════════════════════════════════════════════════════════════ */
.oze-df__criteria{
  padding:clamp(70px, 11vh, 130px) 0;
  border-top:1px solid rgba(18,18,18,.08);
}
.oze-df__criteria-list{
  list-style:none; padding:0; margin:2.4rem 0 0;
  display:grid; grid-template-columns:repeat(2, 1fr);
  gap:clamp(32px, 4vw, 60px);
}
.oze-df__criteria-list li{
  padding:1.6rem 0;
  border-top:1px solid rgba(18,18,18,.12);
  position:relative;
}
.oze-df__num{
  font-family:var(--sans); font-weight:500;
  font-size:.78rem; letter-spacing:.32em; text-transform:uppercase;
  margin:0 0 .8rem; opacity:.5;
}
.oze-df__criteria-list h3{
  font-family:var(--sans); font-weight:500;
  font-size:1.15rem; margin:0 0 .8rem;
}
.oze-df__criteria-list p{
  font-family:var(--sans); font-size:.95rem; line-height:1.65;
  margin:0; opacity:.85;
}

.oze-df__hallmarks{
  display:grid; grid-template-columns:repeat(3, 1fr);
  gap:clamp(24px, 4vw, 60px);
  max-width:760px; margin:3rem auto 0;
  text-align:center;
}
.oze-df__hallmarks div{
  padding:2rem 1rem;
  border:1px solid rgba(18,18,18,.12);
}
.oze-df__hallmarks span{
  font-size:2.4rem; line-height:1; display:block;
  margin-bottom:1rem;
}
.oze-df__hallmarks .oze-df__hallmark-img{
  width:auto; height:56px; max-width:96px;
  object-fit:contain; display:inline-block; margin:0 auto;
}
.oze-df__hallmarks strong{
  display:block; font-family:var(--sans); font-weight:500;
  font-size:.95rem; margin-bottom:.4rem;
}
.oze-df__hallmarks em{
  display:block; font-style:normal; font-size:.8rem;
  letter-spacing:.06em; opacity:.65;
}

@media (max-width:768px){
  .oze-df__criteria-list{ grid-template-columns:1fr; gap:20px; }
  .oze-df__hallmarks{ grid-template-columns:1fr; gap:14px; }
}

/* ═══════════════════════════════════════════════════════════════
   OR / ARGENT / VERMEIL — 3 colonnes comparatives
   ═══════════════════════════════════════════════════════════════ */
.oze-mt{ background:var(--bg-page); color:var(--text); }
.oze-mt__compare{
  padding:clamp(70px, 11vh, 130px) 0;
  border-top:1px solid rgba(18,18,18,.08);
}
.oze-mt__grid{
  display:grid; grid-template-columns:repeat(3, 1fr);
  gap:clamp(16px, 2vw, 32px);
}
.oze-mt__card{
  background:#fff;
  padding:clamp(32px, 4vw, 56px) clamp(24px, 3vw, 40px);
  position:relative;
  text-align:left;
  border:1px solid rgba(18,18,18,.08);
}
.oze-mt__swatch{
  width:100%; aspect-ratio:5/2;
  margin-bottom:1.8rem;
}
.oze-mt__swatch--or{      background:linear-gradient(135deg, #F4D78B 0%, #D4AF37 60%, #B7902A 100%); }
.oze-mt__swatch--argent{  background:linear-gradient(135deg, #ECEEF0 0%, #C5CACE 60%, #9BA1A6 100%); }
.oze-mt__swatch--vermeil{ background:linear-gradient(135deg, #F4D78B 0%, #D4AF37 40%, #ECEEF0 100%); }
.oze-mt__num{
  font-family:var(--sans); font-weight:500;
  font-size:.7rem; letter-spacing:.32em; text-transform:uppercase;
  margin:0 0 .8rem; opacity:.55;
}
.oze-mt__card h2{
  font-family:var(--sans); font-weight:500;
  font-size:1.5rem; margin:0 0 .4rem;
}
.oze-mt__sub{
  font-family:var(--sans); font-style:italic; font-size:.92rem;
  margin:0 0 1.4rem; opacity:.7;
}
.oze-mt__card p{
  font-family:var(--sans); font-size:.95rem; line-height:1.65;
  margin:0 0 1rem; opacity:.85;
}
.oze-mt__badge{
  display:inline-block;
  background:var(--text); color:var(--bg-page);
  padding:6px 14px;
  font-family:var(--sans); font-size:.65rem; font-weight:500;
  letter-spacing:.22em; text-transform:uppercase;
  margin-top:.6rem !important;
}

.oze-mt__warning{
  padding:clamp(70px, 11vh, 130px) 0;
  text-align:center;
  border-top:1px solid rgba(18,18,18,.08);
}
.oze-mt__warning p{
  font-family:var(--sans); font-size:1rem; line-height:1.7;
  max-width:680px; margin:0 auto 1.2rem;
}

@media (max-width:768px){
  .oze-mt__grid{ grid-template-columns:1fr; }
}

/* ═══════════════════════════════════════════════════════════════
   FAQ — Accordéon premium
   ═══════════════════════════════════════════════════════════════ */
.oze-faq__list{
  padding:clamp(40px, 7vh, 80px) 0 clamp(70px, 11vh, 130px);
}
.oze-faq__item{
  border-top:1px solid rgba(18,18,18,.14);
  padding:0;
}
.oze-faq__item:last-child{ border-bottom:1px solid rgba(18,18,18,.14); }
.oze-faq__q{
  list-style:none;
  display:flex; align-items:center; justify-content:space-between;
  gap:24px;
  cursor:pointer;
  padding:1.6rem 0;
  font-family:var(--sans); font-weight:500;
  font-size:clamp(1rem, 1.4vw, 1.15rem);
  color:var(--text);
  transition:opacity .25s var(--ease);
}
.oze-faq__q::-webkit-details-marker,
.oze-faq__q::marker{ display:none; }
.oze-faq__q:hover{ opacity:.7; }
.oze-faq__icon{
  flex-shrink:0;
  width:18px; height:18px; position:relative;
}
.oze-faq__icon::before,
.oze-faq__icon::after{
  content:""; position:absolute; left:0; top:50%;
  width:18px; height:1.5px; background:var(--text);
  transition:transform .35s var(--ease);
}
.oze-faq__icon::after{ transform:rotate(90deg); }
.oze-faq__item[open] .oze-faq__icon::after{ transform:rotate(0); }
.oze-faq__a{
  padding:0 0 1.6rem;
  max-width:680px;
  font-family:var(--sans); font-size:.98rem; line-height:1.7;
  color:var(--text); opacity:.85;
}
.oze-faq__a p{ margin:0 0 .8rem; }
.oze-faq__a p:last-child{ margin-bottom:0; }
.oze-faq__a a{ color:var(--text); text-decoration:underline; text-underline-offset:3px; }
.oze-faq__a a:hover{ color:var(--accent); }

@media (max-width:768px){
  .oze-faq__q{ font-size:1rem; padding:1.2rem 0; }
  .oze-faq__a{ padding-bottom:1.2rem; }
}

/* ═══════════════════════════════════════════════════════════════
   GUIDE DES TAILLES — images FULL-BLEED (touchent les bords)
   Override final : retire les marges latérales pour que les images
   atteignent les bords du viewport. Seul le texte garde son padding.
   ═══════════════════════════════════════════════════════════════ */
.oze-gdt__section{
  padding-left:0 !important;
  padding-right:0 !important;
  max-width:100% !important;
  gap:clamp(40px, 5vw, 80px) !important;
}
.oze-gdt__section .oze-gdt__media{
  margin:0 !important;
  /* L'image va au bord côté écran (gauche ou droite selon le sens) */
}
/* Texte garde son padding pour rester lisible */
.oze-gdt__section--media-left .oze-gdt__text{
  padding-right:clamp(24px, 5vw, 80px) !important;
  padding-left:0;
}
.oze-gdt__section--media-right .oze-gdt__text{
  padding-left:clamp(24px, 5vw, 80px) !important;
  padding-right:0;
}
@media (max-width:768px){
  .oze-gdt__section .oze-gdt__text{
    padding:0 24px !important;
  }
}

/* ═══════════════════════════════════════════════════════════════
   HISTOIRE / LA MARQUE — Manifeste éditorial premium épuré
   Inspiration : Louise Damas / Lemaire / The Row
   ═══════════════════════════════════════════════════════════════ */
.oze-hi{ background:var(--bg-page); color:var(--text); }
.oze-hi__wrap{
  max-width:1180px; margin:0 auto;
  padding:0 clamp(24px, 5vw, 60px);
}
.oze-hi__wrap--narrow{ max-width:760px; }

.oze-hi__eyebrow{
  font-family:var(--sans); font-size:.72rem;
  letter-spacing:.32em; text-transform:uppercase; font-weight:500;
  margin:0 0 1.6rem; opacity:.6;
}
.oze-hi__h2{
  font-family:var(--sans); font-weight:500;
  font-size:clamp(1.6rem, 2.6vw, 2.2rem);
  line-height:1.2; letter-spacing:-.005em;
  margin:0 0 1.6rem;
}
.oze-hi__h2--center{ text-align:center; }
.oze-hi__h2--big{
  font-size:clamp(2rem, 3.4vw, 3rem);
  margin-bottom:2rem;
}

/* ─── HERO ─── */
.oze-hi__hero{
  padding:clamp(100px, 16vh, 200px) 0 clamp(60px, 9vh, 110px);
  text-align:center;
}
.oze-hi__title{
  font-family:var(--sans); font-weight:500;
  font-size:clamp(2.2rem, 4.6vw, 4rem);   /* réduit (~−23%) — prenait trop de place */
  line-height:1.08; letter-spacing:-.02em;
  margin:0 0 1.7rem;
}
/* Titres riches (wysiwyg) : la cliente met un mot en valeur via Gras ou Italique.
   <strong> = accent en gras (look par défaut) ; <em> = italique élégant si choisi. */
.oze-hi__title em,  .oze-hi__h2 em,
.oze-or__title em,  .oze-or__h2 em,
.oze-gdt__h2 em,    .oze-lm__title em{
  font-style:italic; font-weight:inherit; opacity:1;
}
.oze-hi__title strong,  .oze-hi__h2 strong,
.oze-or__title strong,  .oze-or__h2 strong,
.oze-gdt__h2 strong,    .oze-lm__title strong{
  font-style:normal; font-weight:600; opacity:1;
}
.oze-hi__lead{
  font-family:var(--sans); font-weight:400;
  font-size:clamp(1rem, 1.25vw, 1.15rem); line-height:1.75;
  max-width:560px; margin:0 auto;
  opacity:.85;
}

/* ─── IMAGE IMMERSIVE FULL-BLEED ─── */
.oze-hi__hero-img{
  width:100%;
  aspect-ratio:21/9;
  overflow:hidden;
  background:transparent;        /* plus de bande beige autour de l'image */
  margin:0 0 clamp(60px, 10vh, 120px);
}
.oze-hi__hero-img img{
  width:100% !important; height:100% !important;
  object-fit:cover !important; display:block;   /* l'image remplit tout le cadre, aucun beige */
}
.oze-hi__hero-placeholder{
  width:100%; height:100%;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg, #E8D5BC 0%, #F2EDDF 100%);
}
.oze-hi__hero-placeholder span{
  font-family:var(--serif); font-size:clamp(5rem, 13vw, 11rem);
  font-weight:400; letter-spacing:.04em;
  color:rgba(18,18,18,.18);
}

/* ─── NOTRE RÉCIT ─── */
.oze-hi__story{
  padding:clamp(60px, 9vh, 110px) 0;
  text-align:center;
}
.oze-hi__story .oze-hi__h2{ text-align:center; margin-bottom:2.4rem; }
.oze-hi__story-text{
  text-align:center;
  font-family:var(--sans); font-size:1.05rem; line-height:1.8;
  max-width:640px; margin:0 auto;
}
.oze-hi__story-text p{ margin:0 0 1.4rem; }
.oze-hi__story-text p:last-child{ margin-bottom:0; }
.oze-hi__story-text strong{ font-weight:500; }

/* ─── 3 PILIERS ─── */
.oze-hi__pillars{
  padding:clamp(60px, 10vh, 120px) 0;
  border-top:1px solid rgba(18,18,18,.08);
  border-bottom:1px solid rgba(18,18,18,.08);
}
.oze-hi__pillars-grid{
  display:grid; grid-template-columns:repeat(3, 1fr);
  gap:clamp(40px, 5vw, 80px);
}
.oze-hi__pillar-num{
  font-family:var(--sans); font-weight:500;
  font-size:.7rem; letter-spacing:.32em; text-transform:uppercase;
  margin:0 0 1rem; opacity:.5;
}
.oze-hi__pillars-grid h3{
  font-family:var(--sans); font-weight:500;
  font-size:1.2rem; margin:0 0 1rem;
}
.oze-hi__pillars-grid p{
  font-family:var(--sans); font-size:.95rem; line-height:1.7;
  margin:0; opacity:.82;
}

/* ─── CITATION ─── */
.oze-hi__quote-section{
  padding:clamp(80px, 13vh, 160px) 0;
  text-align:center;
}
.oze-hi__quote{
  font-family:var(--sans); font-style:italic; font-weight:300;
  font-size:clamp(1.4rem, 2.4vw, 2rem); line-height:1.45;
  max-width:760px; margin:0 auto;
}

/* ─── SPLIT image + texte (atelier) ─── */
.oze-hi__split{
  display:grid;
  grid-template-columns:1.6fr 1fr;
  gap:0;
  align-items:center;
  margin-bottom:clamp(60px, 9vh, 110px);
}
/* Sections image consécutives → collées (aucune bande crème entre les images) */
.oze-hi__split:has(+ .oze-hi__split),
.oze-hi__split:has(+ .oze-hi__founder){ margin-bottom:0; }
.oze-hi__split + .oze-hi__founder{ border-top:0; }
.oze-hi__split-media{
  aspect-ratio:1/1;
  min-height:560px;
  align-self:stretch;          /* l'image remplit toute la hauteur du bloc → pas de vide crème */
  overflow:hidden;
  background:#F2EDDF;
}
.oze-hi__split-media img{
  width:100%; height:100%; object-fit:cover; display:block;
}
.oze-hi__split-placeholder{
  width:100%; height:100%;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--serif); font-style:italic;
  font-size:clamp(2.4rem, 5vw, 4rem);
  color:rgba(18,18,18,.18);
}
.oze-hi__split-text{
  padding:clamp(40px, 6vw, 100px);
  max-width:560px;
}
.oze-hi__split-text p{
  font-family:var(--sans); font-size:1rem; line-height:1.75;
  margin:0 0 1.4rem;
}

/* ─── FONDATRICE : portrait éditorial ─── */
.oze-hi__founder{
  display:grid;
  grid-template-columns:1fr 1.4fr;
  gap:0;
  align-items:center;
  border-top:1px solid rgba(18,18,18,.08);
  margin-bottom:clamp(60px, 9vh, 110px);
}
.oze-hi__founder-text{
  padding:clamp(60px, 9vh, 120px) clamp(40px, 6vw, 100px);
  max-width:560px;
}
.oze-hi__founder-quote{
  font-family:var(--sans); font-style:italic; font-weight:300;
  font-size:clamp(1.6rem, 2.8vw, 2.4rem); line-height:1.3;
  margin:0 0 2rem; color:var(--text);
}
.oze-hi__founder-text p{
  font-family:var(--sans); font-size:1rem; line-height:1.75;
  margin:0 0 1.4rem; opacity:.88;
}
.oze-hi__founder-sign{
  font-family:var(--sans); font-style:italic;
  font-size:.92rem; opacity:.7 !important;
  margin-top:1.8rem !important;
}
.oze-hi__founder-media{
  aspect-ratio:4/5;
  min-height:560px;
  overflow:hidden;
  background:#F2EDDF;
}
.oze-hi__founder-media img{
  width:100%; height:100%; object-fit:cover; display:block;
}
.oze-hi__founder-placeholder{
  width:100%; height:100%;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--serif); font-style:italic;
  font-size:clamp(2rem, 4vw, 3.5rem);
  color:rgba(18,18,18,.18);
}

/* ─── SIGNATURE FINALE ─── */
.oze-hi__signature{
  padding:clamp(80px, 12vh, 140px) 0;
  text-align:center;
  border-top:1px solid rgba(18,18,18,.08);
}
.oze-hi__signature .oze-hi__h2{ margin-bottom:2rem; }
.oze-hi__signature-text{
  font-family:var(--sans); font-size:1.05rem; line-height:1.75;
  max-width:640px; margin:0 auto 2.8rem;
  opacity:.85;
}

/* ─── MOBILE ─── */
@media (max-width:1024px){
  .oze-hi__split,
  .oze-hi__founder{ grid-template-columns:1fr; }
  .oze-hi__split-media,
  .oze-hi__founder-media{ min-height:auto; aspect-ratio:4/5; }
  .oze-hi__split-text,
  .oze-hi__founder-text{ padding:50px 24px; max-width:100%; }
}
@media (max-width:768px){
  .oze-hi__hero{ padding:80px 0 50px; }
  .oze-hi__hero-img{ aspect-ratio:4/5; margin-bottom:50px; }
  .oze-hi__pillars-grid{ grid-template-columns:1fr; gap:48px; }
  .oze-hi__story{ padding:50px 24px; }
  .oze-hi__quote-section{ padding:60px 24px; }
  .oze-hi__signature{ padding:60px 24px; }
}

/* ═══════════════════════════════════════════════════════════════
   NETTOYAGE — extras (alternance split + note italique)
   ═══════════════════════════════════════════════════════════════ */
.oze-orpage__split--reverse{
  grid-template-columns:1fr 1.6fr;
}
.oze-orpage__split--reverse .oze-hi__split-media{ order:2; }
.oze-orpage__split--reverse .oze-hi__split-text{ order:1; }
@media (max-width:1024px){
  .oze-orpage__split--reverse{ grid-template-columns:1fr; }
  .oze-orpage__split--reverse .oze-hi__split-media{ order:1; }
  .oze-orpage__split--reverse .oze-hi__split-text{ order:2; }
}
.oze-orpage__note{
  font-family:var(--sans); font-size:.95rem; line-height:1.7;
  margin-top:2rem !important; padding-top:1.6rem;
  border-top:1px solid rgba(18,18,18,.12);
  opacity:.78;
}

/* ─── Différencier l'or : chapitre media-left full-bleed gauche ─── */
.oze-or__chapter.oze-or__chapter--media-left{
  max-width:none;
  margin:0;
  padding:0;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap:0;
  align-items:stretch;
}
.oze-or__chapter.oze-or__chapter--media-left .oze-or__media{
  min-height:0;
  aspect-ratio:auto;
  height:100%;
  width:100%;
  min-height:560px;
}
@media (min-width:1200px){
  .oze-or__chapter.oze-or__chapter--media-left .oze-or__media{ min-height:680px; }
}
@media (min-width:1600px){
  .oze-or__chapter.oze-or__chapter--media-left .oze-or__media{ min-height:760px; }
}
.oze-or__chapter.oze-or__chapter--media-left .oze-or__text{
  padding:clamp(40px, 6vw, 100px) clamp(24px, 5vw, 80px) clamp(40px, 6vw, 100px) clamp(40px, 6vw, 100px);
  max-width:620px;
  align-self:center;
}
@media (max-width:900px){
  .oze-or__chapter.oze-or__chapter--media-left{
    grid-template-columns:1fr;
  }
  .oze-or__chapter.oze-or__chapter--media-left .oze-or__media{
    min-height:0;
    aspect-ratio:4/5;
  }
  .oze-or__chapter.oze-or__chapter--media-left .oze-or__text{
    padding:clamp(40px,8vw,60px) clamp(24px,5vw,40px);
  }
}

/* ═══ MENU MOBILE — fond bleu signature Oze (texte encre lisible) ═══ */
.oze-menu{
  background:var(--oze-blue) !important;
  color:var(--text) !important;
}
.oze-menu__logo{ color:var(--text) !important; }
.oze-menu__logo img{ filter:none !important; }
.oze-menu__close{
  background:rgba(18,18,18,.08) !important;
  color:var(--text) !important;
}
.oze-menu__close:hover{ background:rgba(18,18,18,.16) !important; }
.oze-menu__list > li{ border-bottom-color:rgba(18,18,18,.14) !important; }
.oze-menu__list > li:last-child{ border-bottom:0 !important; }
.oze-menu__list a{ color:var(--text) !important; }
.oze-menu__list > li > a:hover{ color:#fff !important; }
.oze-menu__list .sub-menu a{ color:rgba(18,18,18,.62) !important; }
.oze-menu__list .sub-menu a:hover{ color:#fff !important; }
.oze-menu__footer{ border-top-color:rgba(18,18,18,.16) !important; }
.oze-menu__contact{ color:var(--text) !important; border-bottom-color:var(--text) !important; }
.oze-menu__tagline{ color:rgba(18,18,18,.55) !important; }

/* ═══════════════════════════════════════════════════════════════
   « VOUS AIMEREZ AUSSI » — slider 100% manuel (glisser / flèches)
   Desktop : 4 produits visibles. Mobile : ~2 visibles, swipe.
   ═══════════════════════════════════════════════════════════════ */
.oze-related--slider .oze-related__slider{
  position:relative;
  max-width:none;              /* pleine largeur, plus de boîte centrée */
  margin:0;
  padding:0 64px;
}
/* Section pleine largeur (retire la marge/padding latéraux qui bridaient) */
.oze-related.oze-related--slider{
  margin-left:0 !important; margin-right:0 !important;
  padding-left:0 !important; padding-right:0 !important;
  /* espace bas : évite que le footer (margin-top:-48px) recouvre le prix */
  padding-bottom:96px !important;
}
.oze-related--slider .oze-related__viewport{
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  cursor:grab;
}
.oze-related--slider .oze-related__viewport::-webkit-scrollbar{ display:none; }
.oze-related--slider .oze-related__viewport.is-dragging{ cursor:grabbing; scroll-behavior:auto; }
.oze-related--slider .oze-related__viewport.is-dragging .oze-card{ pointer-events:none; }
.oze-related--slider .oze-related__track{
  display:flex;
  gap:26px;
  align-items:flex-start;
  width:auto !important;        /* annule width:max-content de la règle générique */
  max-width:none !important;
  padding:0 !important;         /* annule padding:10px 40px générique (plus de clip) */
}
.oze-related--slider .oze-related__track .oze-card{
  flex:0 0 calc((100% - 3 * 26px) / 4);   /* exactement 4 par vue, pas de 5ᵉ rognée */
  width:auto !important;
  scroll-snap-align:start;
}
/* Flèches de navigation (desktop) */
.oze-related__nav{
  position:absolute; top:calc(50% - 28px); transform:translateY(-50%);
  z-index:4;
  width:46px; height:46px;
  display:flex; align-items:center; justify-content:center;
  background:var(--bg-page);
  border:1px solid rgba(18,18,18,.14);
  color:var(--text);
  cursor:pointer;
  transition:background .28s var(--ease), color .28s var(--ease),
             border-color .28s var(--ease), opacity .28s var(--ease);
}
.oze-related__nav svg{ width:20px; height:20px; }
.oze-related__nav--prev{ left:0; }
.oze-related__nav--next{ right:0; }
.oze-related__nav:hover{ background:var(--text); color:var(--bg-page); border-color:var(--text); }
.oze-related__nav:disabled{ opacity:0; pointer-events:none; }
@media (max-width:768px){
  .oze-related--slider .oze-related__slider{ padding:0 16px; }
  .oze-related__nav{ display:none; }       /* mobile : on glisse au doigt */
  .oze-related--slider .oze-related__track{ gap:14px; }
  .oze-related--slider .oze-related__track .oze-card{
    flex:0 0 calc((100% - 14px) / 2);       /* ~2 visibles en mobile */
  }
}

/* ═══════════════════════════════════════════════════════════════
   OR / ARGENT / VERMEIL — liste éditoriale épurée (sans cartes colorées)
   ═══════════════════════════════════════════════════════════════ */
.oze-mt-metals__head{ margin-bottom:clamp(20px,4vw,46px); }
.oze-mt-metals__list{
  max-width:1100px;
  margin:0 auto;
  padding:0 clamp(24px,5vw,32px);
}
.oze-mt-metals__row{
  display:grid;
  grid-template-columns:1fr 1.7fr;
  gap:clamp(28px,5vw,80px);
  align-items:start;
  padding:clamp(34px,5vw,56px) 0;
  border-top:1px solid rgba(18,18,18,.12);
}
.oze-mt-metals__row:last-child{ border-bottom:1px solid rgba(18,18,18,.12); }
.oze-mt-metals__num{
  font-family:var(--sans); font-size:.78rem; font-weight:500;
  letter-spacing:.22em; color:var(--text-soft);
  display:block;
}
.oze-mt-metals__name{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(1.6rem,2.4vw,2.3rem); line-height:1.05;
  margin:.5rem 0 .4rem; color:var(--text);
}
.oze-mt-metals__sub{
  font-family:var(--serif); font-style:italic;
  font-size:1rem; color:var(--text-soft); margin:0;
}
.oze-mt-metals__badge{
  display:inline-block; margin-top:1.1rem;
  font-family:var(--sans); font-size:.68rem; font-weight:500;
  letter-spacing:.2em; text-transform:uppercase;
  color:var(--text);
  padding-top:.7rem; border-top:1px solid var(--text);
}
.oze-mt-metals__body{ padding-top:.3rem; }
.oze-mt-metals__body p{
  font-family:var(--sans); font-size:1rem; line-height:1.75;
  color:var(--text); margin:0 0 1.1rem;
}
.oze-mt-metals__body p:last-child{ margin-bottom:0; }
.oze-mt-metals__body strong{ font-weight:500; }
@media (max-width:820px){
  .oze-mt-metals__row{ grid-template-columns:1fr; gap:14px; padding:30px 0; }
  .oze-mt-metals__name{ margin-top:.2rem; }
}

/* ═══════════════════════════════════════════════════════════════
   NAVBAR transparente (home, sur le hero) — état réel piloté par les
   classes body.home / .is-header-scrolled-complete (pas de --transparent).
   ═══════════════════════════════════════════════════════════════ */
/* a) Liens / logo / panier en BLANC tant que la navbar est transparente */
body.home:not(.is-header-scrolled-complete) .oze-nav__list a,
body.home:not(.is-header-scrolled-complete) .oze-logo,
body.home:not(.is-header-scrolled-complete) .oze-cart-link,
body.home:not(.is-header-scrolled-complete) .oze-header__menu-btn,
body.page-template-front-page:not(.is-header-scrolled-complete) .oze-nav__list a,
body.page-template-front-page:not(.is-header-scrolled-complete) .oze-logo,
body.page-template-front-page:not(.is-header-scrolled-complete) .oze-cart-link,
body.page-template-front-page:not(.is-header-scrolled-complete) .oze-header__menu-btn{
  color:#fff !important;
}
body.home:not(.is-header-scrolled-complete) .oze-cart-count,
body.page-template-front-page:not(.is-header-scrolled-complete) .oze-cart-count{
  background:#fff !important; color:var(--text) !important;
}
/* b) Au survol de la navbar transparente → fond crème + texte foncé lisible */
body.home:not(.is-header-scrolled-complete) .oze-header:hover,
body.page-template-front-page:not(.is-header-scrolled-complete) .oze-header:hover{
  background:var(--bg-page) !important;
  border-bottom:1px solid rgba(18,18,18,.10) !important;
  box-shadow:0 6px 30px -12px rgba(18,18,18,.14) !important;
}
body.home:not(.is-header-scrolled-complete) .oze-header:hover .oze-nav__list a,
body.home:not(.is-header-scrolled-complete) .oze-header:hover .oze-logo,
body.home:not(.is-header-scrolled-complete) .oze-header:hover .oze-cart-link,
body.home:not(.is-header-scrolled-complete) .oze-header:hover .oze-header__menu-btn,
body.page-template-front-page:not(.is-header-scrolled-complete) .oze-header:hover .oze-nav__list a,
body.page-template-front-page:not(.is-header-scrolled-complete) .oze-header:hover .oze-logo,
body.page-template-front-page:not(.is-header-scrolled-complete) .oze-header:hover .oze-cart-link,
body.page-template-front-page:not(.is-header-scrolled-complete) .oze-header:hover .oze-header__menu-btn{
  color:var(--text) !important;
}
body.home:not(.is-header-scrolled-complete) .oze-header:hover .oze-cart-count,
body.page-template-front-page:not(.is-header-scrolled-complete) .oze-header:hover .oze-cart-count{
  background:var(--text) !important; color:var(--bg-page) !important;
}

/* ═══════════════════════════════════════════════════════════════
   L'OR — pastilles des 3 nuances (or jaune / blanc / rose)
   ═══════════════════════════════════════════════════════════════ */
.oze-orpage__dot{
  display:block;
  width:52px; height:52px; border-radius:50%;
  margin:0 0 22px;
  box-shadow:inset 0 -6px 14px -6px rgba(0,0,0,.28),
             inset 0 6px 10px -4px rgba(255,255,255,.7),
             0 8px 20px -10px rgba(18,18,18,.25);
}
.oze-orpage__dot--yellow{
  background:radial-gradient(circle at 32% 28%, #F6E3A8 0%, #E6C063 42%, #C99A33 100%);
}
.oze-orpage__dot--white{
  background:radial-gradient(circle at 32% 28%, #FFFFFF 0%, #ECECEA 45%, #C9C7C2 100%);
  box-shadow:inset 0 -6px 14px -6px rgba(0,0,0,.18),
             inset 0 6px 10px -4px rgba(255,255,255,.9),
             0 8px 20px -10px rgba(18,18,18,.2);
}
.oze-orpage__dot--rose{
  background:radial-gradient(circle at 32% 28%, #F6D8C7 0%, #E3A98C 45%, #C77E5E 100%);
}
.oze-orpage__nuances article{ position:relative; }

/* CTA intro home : flèche + petit décalage au survol (lit clairement comme un lien) */
.oze-ecrin-intro .oze-ecrin__intro-cta .oze-btn span{
  font-size:1.25em; line-height:1; transition:transform .35s var(--ease);
}
.oze-ecrin-intro .oze-ecrin__intro-cta .oze-btn:hover span{ transform:translateX(4px); }

/* ═══════════════════════════════════════════════════════════════
   AJUSTEMENTS — badge VENDU, navbar transparente, duo CTA, Instagram
   ═══════════════════════════════════════════════════════════════ */

/* 1. Badge « VENDU » en bleu signature (texte encre lisible) */
.oze-badge{ background:var(--oze-blue) !important; color:var(--text) !important; }

/* (2. Navbar transparente : géré plus haut via body.home / body.page-template-front-page) */

/* 3. Duo CTA (Vintage + Carte cadeau) : sur desktop, chaque image = 1 écran
   pile, sans scroll. */
@media (min-width:769px){
  .oze-duo-cta{ padding:0 !important; }
  .oze-duo-cta__grid{ gap:3px !important; }
  .oze-duo-cta__item{
    aspect-ratio:auto !important;
    height:100vh !important;
  }
}

/* 4. Instagram : titre beaucoup plus petit (l'animation au scroll est
   retirée côté JS). */
.oze-insta__head h2{
  font-size:clamp(1.3rem, 2.4vw, 1.9rem) !important;
  letter-spacing:.01em !important;
  line-height:1.15 !important;
}

/* ═══════════════════════════════════════════════════════════════
   MENU DESKTOP SPLIT — 3 zones : gauche · logo centré · droite
   (mobile inchangé : drawer ; les nav desktop restent masquées <1025px)
   ═══════════════════════════════════════════════════════════════ */
@media (min-width:1025px){
  .oze-header__inner.oze-header__inner--split{
    display:grid !important;
    /* minmax(0,1fr) → colonnes latérales STRICTEMENT égales → logo vraiment centré */
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) !important;
    align-items:center !important;
    justify-content:initial !important;
    gap:24px;
  }
  .oze-header__inner--split .oze-nav--left .oze-nav__list,
  .oze-header__inner--split .oze-nav--right .oze-nav__list{ flex-wrap:nowrap; }
  .oze-header__inner--split .oze-header__menu-btn{ display:none !important; }
  .oze-header__inner--split .oze-nav--left{
    grid-column:1; justify-self:start; order:0; display:block;
  }
  .oze-header__inner--split .oze-nav--left .oze-nav__list{ justify-content:flex-start; }
  /* Logo en absolu, centré sur la navbar — PAS de grid-column (sinon il se
     centre sur sa cellule de grille décentrée). Containing block = .oze-header__inner. */
  .oze-header__inner--split{ position:relative; }
  .oze-header__inner--split .oze-logo,
  .oze-header__inner--split .oze-logo--img{
    position:absolute !important;
    left:50% !important; top:50% !important;
    transform:translate(-50%, -50%) !important;
    margin:0 !important;
    grid-column:auto !important;
    justify-self:auto !important;
  }
  .oze-header__inner--split .oze-header__right{
    grid-column:3; justify-self:end; order:0;
    display:flex; align-items:center; gap:24px;
  }
  .oze-header__inner--split .oze-nav--right .oze-nav__list{ justify-content:flex-end; }
}
/* Sous 1025px : la zone gauche disparaît (le drawer mobile prend le relais) */
@media (max-width:1024px){
  .oze-nav--left{ display:none !important; }
}

/* Boutique : titres des produits un peu plus grands */
.oze-shop-main .oze-card__body h3{
  font-size:15.5px !important;
  line-height:24px !important;
}
@media (max-width:768px){
  .oze-shop-main .oze-card__body h3{ font-size:14.5px !important; }
}

/* ─── Réassurance : marge top + bottom généreuse (override final, double-classe
   pour battre le « padding:6px » des overrides précédents) ─── */
.oze-reassurance.oze-reassurance{
  padding-top:100px !important;
  padding-bottom:100px !important;
}
@media (max-width:768px){
  .oze-reassurance.oze-reassurance{
    padding-top:56px !important;
    padding-bottom:56px !important;
  }
}

/* ─── Boutique : espace sous la grille produits pour que le footer
   (margin-top:-48px) ne recouvre pas le prix de la dernière rangée ─── */
.oze-shop-main{ padding-bottom:100px !important; }
@media (max-width:768px){
  .oze-shop-main{ padding-bottom:64px !important; }
}

/* ═══════════════════════════════════════════════════════════════
   CTA EN BLEU SIGNATURE — « Ajouter au panier » + « Commander » (tiroir)
   Fond #ADD0DA, texte encre foncé (lisible), survol bleu légèrement plus soutenu.
   ═══════════════════════════════════════════════════════════════ */
.oze-product .single_add_to_cart_button,
.oze-product .single_add_to_cart_button:focus{
  background:var(--oze-blue) !important;
  color:var(--text) !important;
}
.oze-product .single_add_to_cart_button:hover{
  background:#9AC6D1 !important;
  color:var(--text) !important;
}
/* Bouton « Commander » du tiroir panier */
.oze-cart-drawer .oze-btn--dark{
  background:var(--oze-blue) !important;
  border-color:var(--oze-blue) !important;
  color:var(--text) !important;
}
.oze-cart-drawer .oze-btn--dark::before{ background:#9AC6D1 !important; }
.oze-cart-drawer .oze-btn--dark:hover{
  background:#9AC6D1 !important;
  border-color:#9AC6D1 !important;
  color:var(--text) !important;
}

/* ─── Guide des tailles : méthodes 1 (image gauche) & 2 (image droite) collées
   verticalement, sans espace entre les deux ─── */
.oze-gdt__section--media-left{ padding-bottom:0 !important; }
.oze-gdt__section--media-right{ padding-top:0 !important; }

/* ─── Nettoyer un bijou : deux étapes consécutives (images à gauche) collées
   verticalement → on retire la marge basse du split suivi d'un autre split ─── */
.oze-orpage .oze-hi__split:has(+ .oze-hi__split){ margin-bottom:0 !important; }

/* ─── Image d'en-tête pleine largeur (Nettoyer / L'or) : suppression des bandes
   beige au-dessus et en dessous → la photo est au ras des sections voisines ─── */
.oze-orpage .oze-hi__hero{ padding-bottom:0 !important; }
.oze-orpage .oze-hi__hero-img{
  margin:0 !important;
  background:transparent !important;
}
.oze-orpage .oze-hi__hero-img + .oze-hi__story{
  padding-top:clamp(46px, 6vh, 74px) !important;
}

/* ─── Accueil : logo du header un peu plus petit ─── */
body.home .oze-header__inner .oze-logo--img .custom-logo,
body.page-template-front-page .oze-header__inner .oze-logo--img .custom-logo{
  height:clamp(32px, 3.4vw, 46px) !important;
  max-width:200px !important;
}

/* ─── Boutique desktop : barre de filtres alignée horizontalement ───
   On garde slider + valeurs + bouton FILTRER sur UNE seule ligne (pas de retour),
   pour que la colonne « Parcourir » et la colonne « Filtrer par prix » s'alignent. */
@media (min-width:1025px){
  .oze-shop-sidebar{ align-items:flex-end !important; }
  .oze-shop-sidebar .oze-price-filter{ flex-wrap:nowrap !important; align-items:center !important; }
  .oze-shop-sidebar .oze-shop-filter:nth-child(3){ min-width:480px !important; max-width:none !important; }
  .oze-shop-sidebar .oze-price-filter .oze-btn{ flex:0 0 auto; white-space:nowrap; }
}

/* ═══════════════════════════════════════════════════════════════
   HERO ACCUEIL — mobile : la photo remplit et se cadre sur le sujet
   (image portrait Instagram → on recadre sur la main/fleur au lieu
   de montrer le fond uni du haut). Audit 2026-06.
   ═══════════════════════════════════════════════════════════════ */
@media (max-width:768px){
  .oze-hero{ overflow:hidden !important; }
  /* Le média couvre TOUTE la section, sans exception. */
  .oze-hero__media{
    position:absolute !important;
    top:0 !important; left:0 !important; right:0 !important; bottom:0 !important;
    width:100% !important; height:100% !important;
    z-index:0 !important; overflow:hidden !important;
  }
  /* Image ancrée en absolu et forcée à remplir (contourne tout height:auto global). */
  .oze-hero__media img{
    position:absolute !important;
    top:0 !important; left:0 !important;
    width:100% !important; height:100% !important;
    min-width:100% !important; min-height:100% !important;
    max-width:none !important;
    object-fit:cover !important;
    object-position:center 42% !important; /* cadre sur la main + fleur */
  }
}
