/* Bonotō Paris — styles principaux (design system de la maquette) */

  /* ============================================================
     BONOTŌ PARIS — DESIGN SYSTEM (identique à la fiche produit)
     Tokens, typographie et composants de base repris à l'identique
     pour garantir la cohérence sur l'ensemble du site.
  ============================================================ */
  :root{
    --ink:#2B1B14;
    --ink-soft:#5B4B41;
    --bordeaux:#3F0707;
    --bordeaux-soft:#5a1414;
    --blush:#F4E0DF;
    --stone:#C3B29B;
    --stone-line:#DACEBB;
    --ivoire:#F2EAE1;
    --amber:#BA8F29;
    --white:#FFFFFF;
    --max:1180px;
    --font-heading:'Fraunces', Georgia, serif;
    --font-body:'Jost', system-ui, sans-serif;
    --radius:2px;
    --logo-h:30px;
    --hero-h:92vh;
    --anim-dur:.9s;
  }
  @supports (color: color-mix(in srgb, red 50%, white)){
    :root{
      --bordeaux-soft:color-mix(in srgb, var(--bordeaux) 82%, white);
      --stone-line:color-mix(in srgb, var(--stone) 60%, white);
      --ink-soft:color-mix(in srgb, var(--ink) 78%, var(--ivoire));
    }
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth; overflow-x:clip; width:100%;}
  body{
    font-family:var(--font-body);
    background:var(--ivoire);
    color:var(--ink);
    font-weight:300;
    line-height:1.7;
    -webkit-font-smoothing:antialiased;
    overflow-x:clip;
  }
  img{max-width:100%; display:block;}
  a{color:inherit; text-decoration:none;}
  .wrap{max-width:var(--max); margin:0 auto; padding:0 40px;}
  h1,h2,h3,h4{font-family:var(--font-heading); font-weight:440; color:var(--bordeaux); line-height:1.15;}
  ::selection{background:var(--amber); color:var(--white);}
  :focus-visible{outline:2px solid var(--bordeaux); outline-offset:3px;}
  @media (max-width:900px){ .wrap{padding:0 22px;} }

  /* ---------- signature mark (identique fiche produit) ---------- */
  .mark{display:inline-block; width:26px; height:2px; background:var(--bordeaux); margin-bottom:10px; position:relative;}
  .mark::after{content:""; position:absolute; left:9px; top:6px; width:8px; height:8px; border:2px solid var(--bordeaux); border-radius:50%;}
  .kicker{
    display:flex; align-items:center; gap:12px;
    font-family:var(--font-body); font-weight:500; font-size:.72rem;
    letter-spacing:.22em; text-transform:uppercase; color:var(--bordeaux);
    margin-bottom:18px;
  }
  .kicker.on-dark{color:var(--blush);}
  .kicker.on-dark .mark{background:var(--blush);}
  .kicker.on-dark .mark::after{border-color:var(--blush);}
  .kicker .mark{margin:0;}
  .kicker.center{justify-content:center;}

  /* Les animations ne masquent le contenu que si le JavaScript est actif (classe .js-anim). */

  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:10px;
    font-family:var(--font-body); font-size:.82rem; letter-spacing:.08em; text-transform:uppercase;
    padding:16px 30px; border-radius:var(--radius); cursor:pointer; border:1.5px solid transparent; transition:all .25s ease;
  }
  .btn-primary{background:var(--bordeaux); color:var(--white);}
  .btn-primary:hover{background:var(--bordeaux-soft);}
  .btn-outline{border-color:var(--bordeaux); color:var(--bordeaux); background:transparent;}
  .btn-outline:hover{background:var(--bordeaux); color:var(--white);}
  .btn-outline.on-dark{border-color:var(--blush); color:var(--blush);}
  .btn-outline.on-dark:hover{background:var(--blush); color:var(--bordeaux);}

  /* ---------- placeholder visual component ---------- */
  .placeholder-visual{
    background:linear-gradient(135deg, var(--blush) 0%, var(--stone) 100%);
    border-radius:2px; position:relative; overflow:hidden;
    display:flex; align-items:center; justify-content:center; min-height:220px;
  }
  .placeholder-visual .pv-inner{
    text-align:center; padding:28px; max-width:280px;
  }
  .placeholder-visual svg{width:30px; height:30px; stroke:var(--white); fill:none; stroke-width:1.2; margin:0 auto 14px; opacity:.85;}
  .placeholder-visual .pv-label{font-family:var(--font-body); font-size:.64rem; letter-spacing:.14em; text-transform:uppercase; color:var(--white); opacity:.9; margin-bottom:8px;}
  .placeholder-visual .pv-desc{font-family:var(--font-heading); font-style:italic; font-size:.82rem; color:var(--white); line-height:1.5; opacity:.95;}

  /* ================= TOPBAR + NAV (identique fiche produit) ================= */
  .topbar{background:var(--bordeaux); color:var(--blush); font-size:.72rem; letter-spacing:.08em; text-align:center; padding:8px 20px;}
  header.nav{position:relative; top:0; z-index:100; background:rgba(242,234,225,.94); backdrop-filter:blur(6px); border-bottom:1px solid var(--stone-line); transition:box-shadow .3s ease;}
  header.nav.scrolled{box-shadow:0 8px 24px -18px rgba(63,7,7,.4);}
  .nav-inner{max-width:var(--max); margin:0 auto; padding:16px 40px; display:flex; align-items:center; justify-content:space-between; gap:24px;}
  .nav-logo img{height:var(--logo-h); width:auto;}
  .nav-menu{display:flex; gap:34px; list-style:none; font-size:.86rem; letter-spacing:.02em;}
  .nav-menu > li{position:relative;}
  .nav-menu > li > a{position:relative; padding-bottom:4px; display:inline-flex; align-items:center; gap:5px;}
  .nav-menu > li > a::after{content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background:var(--bordeaux); transform:scaleX(0); transition:transform .3s ease;}
  .nav-menu > li > a:hover::after{transform:scaleX(1);}
  .nav-menu > li > a svg{width:9px; height:9px; stroke:var(--ink-soft); fill:none; stroke-width:2;}
  .nav-icons{display:flex; gap:20px; align-items:center;}
  .nav-icons svg{width:19px; height:19px; stroke:var(--bordeaux); fill:none; stroke-width:1.4;}
  .bag-count{position:relative;}
  .bag-count span{position:absolute; top:-7px; right:-9px; background:var(--bordeaux); color:var(--white); font-size:.6rem; width:15px; height:15px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:var(--font-body);}
  .nav-burger{display:none; background:none; border:none; cursor:pointer;}
  .nav-burger svg{width:22px; height:22px; stroke:var(--bordeaux); fill:none; stroke-width:1.5;}
  @media (max-width:900px){ .nav-main{display:none;} .nav-burger{display:block;} }

  /* mega menu */
  .mega{
    position:absolute; top:calc(100% + 22px); left:50%; transform:translateX(-50%) translateY(6px);
    background:var(--white); border:1px solid var(--stone-line); box-shadow:0 24px 50px -24px rgba(63,7,7,.35);
    padding:30px; display:none; gap:36px; min-width:460px; opacity:0; transition:opacity .25s ease, transform .25s ease; z-index:50;
  }
  .nav-menu > li:hover .mega{display:flex; opacity:1; transform:translateX(-50%) translateY(0);}
  .mega-col h5{font-family:var(--font-body); font-size:.66rem; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:14px;}
  .mega-col a{display:block; font-family:var(--font-heading); font-style:italic; font-size:1.02rem; color:var(--ink); padding:7px 0; transition:color .2s;}
  .mega-col a:hover{color:var(--bordeaux);}
  .mega-col.wide{min-width:220px;}
  .mega-col p{font-size:.76rem; color:var(--ink-soft); margin-top:4px; font-style:normal; font-family:var(--font-body);}

  /* mobile drawer */
  .drawer-overlay{position:fixed; inset:0; background:rgba(43,27,20,.4); z-index:150; opacity:0; pointer-events:none; transition:opacity .3s ease;}
  .drawer-overlay.open{opacity:1; pointer-events:auto;}
  .drawer{position:fixed; top:0; right:0; bottom:0; width:82%; max-width:360px; background:var(--ivoire); z-index:151; transform:translateX(100%); transition:transform .35s ease; padding:30px 26px; overflow-y:auto;}
  .drawer.open{transform:translateX(0);}
  .drawer-close{background:none; border:none; float:right; cursor:pointer;}
  .drawer-close svg{width:20px; height:20px; stroke:var(--bordeaux); fill:none; stroke-width:1.6;}
  .drawer ul{list-style:none; margin-top:50px;}
  .drawer > ul > li{border-bottom:1px solid var(--stone-line);}
  .drawer > ul > li > a{display:block; padding:16px 0; font-family:var(--font-heading); font-size:1.2rem; color:var(--bordeaux);}
  .drawer-sub{padding:0 0 16px 14px; display:flex; flex-direction:column; gap:10px;}
  .drawer-sub a{font-size:.86rem; color:var(--ink-soft);}

  /* ================= HERO ================= */
  .hero{position:relative; height:var(--hero-h); min-height:560px; max-height:880px; display:flex; align-items:flex-end; overflow:hidden;}
  .hero .hero-img{position:absolute; inset:-6% 0; width:100%; height:112%; object-fit:cover; object-position:center 35%;}
  .hero::after{content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(30,10,8,.72) 0%, rgba(30,10,8,.18) 52%, rgba(30,10,8,.08) 100%);}
  .hero-content{position:relative; z-index:2; padding:0 40px 80px; max-width:640px; color:var(--white);}
  .hero-content .kicker{color:var(--blush);}
  .hero-content .kicker .mark{background:var(--blush);}
  .hero-content .kicker .mark::after{border-color:var(--blush);}
  .hero-content h1{color:var(--white); font-size:clamp(2.2rem,4.4vw,3.6rem); font-weight:400; margin-bottom:22px;}
  .hero-content h1 em{font-style:italic; color:var(--blush);}
  .hero-content p{font-size:1.05rem; opacity:.92; max-width:480px; margin-bottom:34px;}
  .hero-ctas{display:flex; gap:16px; flex-wrap:wrap;}
  .hero-scroll{position:absolute; bottom:26px; right:40px; z-index:2; color:var(--white); font-size:.64rem; letter-spacing:.18em; text-transform:uppercase; display:flex; align-items:center; gap:10px; opacity:.85;}
  .hero-scroll .line{width:1px; height:34px; background:var(--white); opacity:.6; animation:scrollpulse 2.2s ease-in-out infinite;}
  @keyframes scrollpulse{0%,100%{opacity:.2;} 50%{opacity:.8;}}
  @media (max-width:900px){ .hero{height:min(var(--hero-h), 80vh);} .hero-scroll{display:none;} }

  /* ================= SECTIONS COMMON ================= */
  section.block{padding:110px 0;}
  @media (max-width:900px){ section.block{padding:70px 0;} }
  .center{max-width:700px; margin:0 auto; text-align:center;}
  .block h2{font-size:clamp(1.8rem,2.8vw,2.5rem); margin-bottom:22px;}
  .lede{color:var(--ink-soft); font-size:1.02rem;}
  .bg-blush{background:var(--blush);}
  .bg-white{background:var(--white);}
  .bg-bordeaux{background:var(--bordeaux); color:var(--blush);}
  .bg-bordeaux h2, .bg-bordeaux h3{color:var(--white);}
  .bg-bordeaux .lede{color:rgba(244,224,223,.82);}

  .quote-xl{
    font-family:var(--font-heading); font-style:italic; font-weight:400; font-size:clamp(1.3rem,2vw,1.7rem);
    color:var(--bordeaux); line-height:1.5; max-width:760px; margin:36px auto 0;
  }
  .quote-attr{margin-top:22px; font-family:var(--font-body); font-size:.7rem; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-soft);}

  /* story split (identique fiche produit) */
  .story{display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center;}
  .story img, .story .placeholder-visual{border-radius:2px; width:100%; aspect-ratio:4/5; object-fit:cover;}
  .story .txt h2{margin-bottom:20px;}
  .story .txt p + p{margin-top:14px; color:var(--ink-soft);}
  .story.rev{direction:rtl;}
  .story.rev .txt, .story.rev .img-col{direction:ltr;}
  @media (max-width:900px){ .story{grid-template-columns:1fr; gap:32px;} .story .img-col{order:-1;} .story.rev{direction:ltr;} }

  /* piliers */
  .pillars{display:grid; grid-template-columns:repeat(3,1fr); gap:40px; margin-top:56px;}
  .pillar{text-align:center; padding:0 10px;}
  .pillar-icon{width:58px; height:58px; border-radius:50%; border:1px solid var(--bordeaux); display:flex; align-items:center; justify-content:center; margin:0 auto 22px;}
  .pillar-icon svg{width:24px; height:24px; stroke:var(--bordeaux); fill:none; stroke-width:1.2;}
  .pillar h3{font-size:1.15rem; margin-bottom:12px;}
  .pillar p{font-size:.88rem; color:var(--ink-soft);}
  @media (max-width:900px){ .pillars{grid-template-columns:1fr; gap:44px;} }

  /* univers (collections) */
  .universe-grid{display:grid; grid-template-columns:1.15fr .85fr; grid-template-rows:auto auto; gap:24px; margin-top:56px;}
  .u-card{position:relative; border-radius:2px; overflow:hidden; min-height:420px; display:flex; align-items:flex-end;}
  .u-card.tall{grid-row:1 / 3;}
  .u-card img, .u-card .placeholder-visual{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
  .u-card::after{content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(30,10,8,.78) 0%, rgba(30,10,8,.1) 55%, transparent 100%); z-index:1;}
  .u-content{position:relative; z-index:2; padding:34px; color:var(--white); width:100%;}
  .u-content .cat{font-size:.66rem; letter-spacing:.18em; text-transform:uppercase; opacity:.85; margin-bottom:8px;}
  .u-content h3{color:var(--white); font-size:1.5rem; margin-bottom:10px;}
  .u-content p{font-size:.86rem; opacity:.9; margin-bottom:16px; max-width:340px;}
  .u-content a{font-size:.78rem; letter-spacing:.05em; text-transform:uppercase; border-bottom:1px solid rgba(255,255,255,.6); padding-bottom:3px;}
  @media (max-width:900px){ .universe-grid{grid-template-columns:1fr; grid-template-rows:auto;} .u-card.tall{grid-row:auto;} .u-card{min-height:340px;} }

  /* diagnostic teaser */
  .diag-wrap{display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center;}
  .diag-card{background:rgba(244,224,223,.06); border:1px solid rgba(244,224,223,.25); border-radius:2px; padding:8px;}
  .diag-step{display:flex; align-items:center; gap:18px; padding:18px 16px; border-bottom:1px solid rgba(244,224,223,.16);}
  .diag-step:last-child{border-bottom:none;}
  .diag-step .n{font-family:var(--font-heading); font-style:italic; color:var(--stone); font-size:1.3rem; width:34px;}
  .diag-step .t{font-size:.9rem; color:var(--blush);}
  .diag-step.active{background:rgba(244,224,223,.06);}
  .diag-step.final .t{color:var(--white); font-weight:400;}
  @media (max-width:900px){ .diag-wrap{grid-template-columns:1fr; gap:36px;} }

  /* produits */
  .prod-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-top:56px;}
  .prod-card{background:var(--white); border:1px solid var(--stone-line); border-radius:2px; overflow:hidden; transition:box-shadow .25s ease;}
  .prod-card:hover{box-shadow:0 20px 40px -28px rgba(63,7,7,.4);}
  .prod-card.featured{grid-column:span 2; grid-row:span 1;}
  .prod-thumb{aspect-ratio:1/1; overflow:hidden;}
  .prod-thumb img{width:100%; height:100%; object-fit:cover;}
  .prod-body{padding:20px 22px 24px;}
  .prod-tag{font-size:.64rem; letter-spacing:.14em; text-transform:uppercase; color:var(--bordeaux); margin-bottom:6px;}
  .prod-body h4{font-family:var(--font-heading); font-style:italic; font-weight:400; font-size:1.05rem; color:var(--ink); margin-bottom:6px;}
  .prod-body .p{font-size:.84rem; color:var(--ink-soft);}
  .prod-card.featured .prod-body h4{font-size:1.3rem; font-style:normal; color:var(--bordeaux);}
  @media (max-width:900px){ .prod-grid{grid-template-columns:1fr 1fr;} .prod-card.featured{grid-column:span 2;} }

  /* journal cards */
  .journal-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin-top:56px;}
  .j-card{background:var(--white); border:1px solid var(--stone-line);}
  .j-thumb{aspect-ratio:5/4;}
  .j-body{padding:24px;}
  .j-cat{font-size:.64rem; letter-spacing:.14em; text-transform:uppercase; color:var(--bordeaux); margin-bottom:10px;}
  .j-body h4{font-size:1.1rem; margin-bottom:10px;}
  .j-body p{font-size:.84rem; color:var(--ink-soft); margin-bottom:14px;}
  .j-body a{font-size:.76rem; letter-spacing:.05em; text-transform:uppercase; color:var(--bordeaux); border-bottom:1px solid var(--bordeaux); padding-bottom:2px;}
  @media (max-width:900px){ .journal-grid{grid-template-columns:1fr;} }

  /* trust strip */
  .trust-row{display:flex; justify-content:center; gap:60px; flex-wrap:wrap; margin-top:20px;}
  .trust-item{text-align:center; max-width:160px;}
  .trust-item svg{width:30px; height:30px; stroke:var(--bordeaux); fill:none; stroke-width:1.2; margin:0 auto 14px;}
  .trust-item .t{font-size:.82rem; color:var(--ink); font-weight:400;}
  .rating-strip{display:flex; align-items:center; justify-content:center; gap:12px; margin-top:50px;}
  .rating-strip .stars svg{width:15px; height:15px; fill:var(--amber);}
  .rating-strip span{font-size:.82rem; color:var(--ink-soft);}

  /* final CTA band */
  .final-cta{position:relative; padding:130px 0; text-align:center; overflow:hidden;}
  .final-cta img{position:absolute; inset:-8% 0; width:100%; height:116%; object-fit:cover;}
  .final-cta::after{content:""; position:absolute; inset:0; background:rgba(30,10,8,.68);}
  .final-cta .in{position:relative; z-index:2; color:var(--white);}
  .final-cta h2{color:var(--white); font-size:clamp(1.9rem,3.2vw,2.7rem); max-width:620px; margin:0 auto 30px;}
  .news-form{display:flex; max-width:420px; margin:0 auto; border-bottom:1px solid rgba(255,255,255,.5); padding-bottom:10px;}
  .news-form input{background:none; border:none; color:var(--white); font-family:var(--font-body); flex:1; font-size:.9rem; outline:none;}
  .news-form input::placeholder{color:rgba(255,255,255,.6);}
  .news-form button{background:none; border:none; color:var(--white); font-size:.8rem; letter-spacing:.05em; cursor:pointer; text-transform:uppercase;}

  /* ================= FOOTER (identique fiche produit, étendu) ================= */
  footer.site-footer{background:var(--bordeaux); color:var(--blush); padding:80px 0 30px;}
  .foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr 1.2fr; gap:40px;}
  .site-footer h5{font-family:var(--font-body); font-size:.74rem; letter-spacing:.15em; text-transform:uppercase; color:var(--stone); margin-bottom:18px;}
  .site-footer ul{list-style:none; display:flex; flex-direction:column; gap:10px; font-size:.85rem;}
  .site-footer a:hover{text-decoration:underline;}
  .foot-logo img{height:26px; margin-bottom:16px; filter:brightness(0) invert(1);}
  .foot-logo p{font-size:.82rem; color:var(--stone); max-width:230px; line-height:1.6;}
  .news-row{display:flex; margin-top:12px; border-bottom:1px solid rgba(244,224,223,.4); padding-bottom:8px;}
  .news-row input{background:none; border:none; color:var(--blush); font-family:var(--font-body); font-size:.85rem; flex:1; outline:none;}
  .news-row input::placeholder{color:rgba(244,224,223,.55);}
  .news-row button{background:none; border:none; color:var(--blush); font-size:.8rem; letter-spacing:.05em; cursor:pointer;}
  .foot-bottom{display:flex; justify-content:space-between; margin-top:70px; padding-top:24px; border-top:1px solid rgba(244,224,223,.2); font-size:.72rem; color:var(--stone); flex-wrap:wrap; gap:10px;}
  @media (max-width:900px){ .foot-grid{grid-template-columns:1fr 1fr; row-gap:36px;} }



  /* =====================================================================
     THÈME BONOTŌ — COMPLÉMENTS (WordPress, animations, pages intérieures)
     ===================================================================== */

  .screen-reader-text{position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); white-space:nowrap;}
  .skip-link:focus{clip:auto; width:auto; height:auto; z-index:1000; top:10px; left:10px; background:var(--white); padding:10px 16px; color:var(--bordeaux);}
  .topbar a{color:inherit;}
  .topbar a:hover{text-decoration:underline;}

  /* ---------- Header ---------- */
  .has-sticky-header header.nav{position:sticky;}
  .admin-bar.has-sticky-header header.nav{top:32px;}
  @media (max-width:782px){ .admin-bar.has-sticky-header header.nav{top:46px;} }
  @media (max-width:600px){ .admin-bar.has-sticky-header header.nav{top:0;} }
  header.nav .nav-inner{transition:padding .3s ease;}
  header.nav.scrolled .nav-inner{padding-top:11px; padding-bottom:11px;}
  .nav-logo{display:inline-flex; align-items:center; flex-shrink:0;}
  .nav-menu > li > a.is-current::after{transform:scaleX(1);}
  .nav-menu > li.has-mega::before{content:""; position:absolute; left:-20px; right:-20px; top:100%; height:26px;} /* pont de survol */
  .nav-menu > li:focus-within .mega{display:flex; opacity:1; transform:translateX(-50%) translateY(0);}
  .mega-col h5 a{font:inherit; font-style:normal; color:inherit; padding:0;}
  .mega-product{max-width:220px;}
  .mega-thumb{width:96px; margin-bottom:10px; padding:0 !important;}
  .mega-thumb img{aspect-ratio:1/1; object-fit:cover; border-radius:var(--radius);}
  .icon-btn{display:inline-flex; align-items:center; justify-content:center; background:none; border:none; padding:0; cursor:pointer; color:var(--bordeaux); position:relative;}
  .icon-btn svg{transition:transform .25s ease;}
  .icon-btn:hover svg{transform:translateY(-1px);}
  .bag-count .bonoto-cart-count{transition:transform .3s ease;}
  .bag-count.bump .bonoto-cart-count{transform:scale(1.35);}
  @media (max-width:520px){ .hide-sm{display:none;} }

  .drawer-sub a.sub2{padding-left:12px; font-size:.8rem;}
  .drawer-foot{margin-top:30px; font-size:.86rem;}
  .drawer-foot a{display:inline-flex; gap:10px; align-items:center; color:var(--bordeaux);}
  .drawer-foot svg{width:18px; height:18px; stroke:var(--bordeaux); fill:none; stroke-width:1.4;}
  body.drawer-open{overflow:hidden;}

  /* ---------- Recherche plein écran ---------- */
  .search-overlay{position:fixed; inset:0; z-index:200; background:rgba(242,234,225,.97); display:flex; align-items:center; justify-content:center; opacity:0; pointer-events:none; transition:opacity .35s ease;}
  .search-overlay.open{opacity:1; pointer-events:auto;}
  .search-big{width:min(680px, 88vw); text-align:center; transform:translateY(16px); transition:transform .45s ease;}
  .search-overlay.open .search-big{transform:none;}
  .search-big input[type=search]{width:100%; background:none; border:none; border-bottom:1px solid var(--bordeaux); font-family:var(--font-heading); font-style:italic; font-size:clamp(1.4rem,3.4vw,2.3rem); color:var(--bordeaux); padding:12px 0; outline:none; margin-bottom:28px; text-align:center;}
  .search-close{position:absolute; top:28px; right:32px; background:none; border:none; cursor:pointer;}
  .search-close svg{width:24px; height:24px; stroke:var(--bordeaux); fill:none; stroke-width:1.4;}

  /* ---------- Hero ---------- */
  .hero.overlay-light::after{background:linear-gradient(0deg, rgba(30,10,8,.55) 0%, rgba(30,10,8,.08) 55%, transparent 100%);}
  .hero.overlay-strong::after{background:linear-gradient(0deg, rgba(30,10,8,.85) 0%, rgba(30,10,8,.38) 55%, rgba(30,10,8,.22) 100%);}
  .hero-content{margin-left:max(0px, calc((100vw - var(--max)) / 2));}
  .hero-scroll{cursor:pointer;}
  .hero-kenburns .hero .hero-img{animation:kenburns 22s ease-in-out infinite alternate;}
  @keyframes kenburns{from{transform:scale(1);} to{transform:scale(1.09);}}
  .js-anim .hero-intro .hero-content > *{opacity:0; transform:translateY(18px); animation:heroIn 1s cubic-bezier(.2,.7,.2,1) forwards;}
  .js-anim .hero-intro .hero-content > *:nth-child(1){animation-delay:.15s;}
  .js-anim .hero-intro .hero-content > *:nth-child(2){animation-delay:.3s;}
  .js-anim .hero-intro .hero-content > *:nth-child(3){animation-delay:.5s;}
  .js-anim .hero-intro .hero-content > *:nth-child(4){animation-delay:.68s;}
  @keyframes heroIn{to{opacity:1; transform:none;}}
  .js-parallax{will-change:transform;}

  /* ---------- Animations d'apparition ---------- */
  .anim-speed-slow{--anim-dur:1.3s;}
  .anim-speed-normal{--anim-dur:.9s;}
  .anim-speed-fast{--anim-dur:.55s;}
  .js-anim .reveal, .js-anim .stagger > *{transition:opacity var(--anim-dur) ease, transform var(--anim-dur) cubic-bezier(.2,.7,.2,1), filter var(--anim-dur) ease;}
  .js-anim.anim-fade-up .reveal:not(.in){opacity:0; transform:translateY(26px);}
  .js-anim.anim-fade .reveal:not(.in){opacity:0;}
  .js-anim.anim-zoom .reveal:not(.in){opacity:0; transform:scale(.965);}
  .js-anim.anim-slide .reveal:not(.in){opacity:0; transform:translateX(-30px);}
  .js-anim.anim-blur .reveal:not(.in){opacity:0; filter:blur(8px);}
  .js-anim.has-stagger:not(.anim-none) .stagger:not(.in) > *{opacity:0; transform:translateY(22px);}
  .js-anim.has-stagger .stagger.in > *{transition-delay:calc(var(--i, 0) * 110ms);}
  @media (prefers-reduced-motion: reduce){
    .js-anim .reveal, .js-anim .stagger > *, .js-anim .hero-intro .hero-content > *{opacity:1 !important; transform:none !important; filter:none !important; animation:none !important; transition:none !important;}
    .hero-kenburns .hero .hero-img{animation:none;}
  }

  /* ---------- Effets au survol ---------- */
  .has-hover-effects .img-zoom, .has-hover-effects .u-card, .has-hover-effects .prod-thumb, .has-hover-effects .j-thumb{overflow:hidden;}
  .has-hover-effects .img-zoom img, .has-hover-effects .u-card > img, .has-hover-effects .prod-thumb img, .has-hover-effects .j-thumb img{transition:transform 1.1s cubic-bezier(.2,.7,.2,1);}
  .has-hover-effects .img-zoom:hover img, .has-hover-effects .u-card:hover > img, .has-hover-effects .prod-card:hover .prod-thumb img, .has-hover-effects .j-card:hover .j-thumb img{transform:scale(1.05);}
  .has-hover-effects .j-card, .has-hover-effects .prod-card{transition:box-shadow .3s ease, transform .3s ease;}
  .has-hover-effects .j-card:hover, .has-hover-effects .prod-card:hover{transform:translateY(-4px); box-shadow:0 22px 44px -30px rgba(63,7,7,.45);}
  .has-hover-effects .pillar-icon{transition:background .3s ease;}
  .has-hover-effects .pillar:hover .pillar-icon{background:var(--bordeaux);}
  .has-hover-effects .pillar:hover .pillar-icon svg{stroke:var(--white);}

  /* ---------- Sections d'accueil : ajustements ---------- */
  .bg-bordeaux h2{color:var(--white);}
  .story .img-col{border-radius:var(--radius);}
  .u-content .u-link{font-size:.78rem; letter-spacing:.05em; text-transform:uppercase; border-bottom:1px solid rgba(255,255,255,.6); padding-bottom:3px;}
  .center-btn{text-align:center; margin-top:46px;}
  .trust-row{margin-top:36px;}

  /* cartes produit (accueil) */
  .prod-card{display:flex; flex-direction:column; position:relative;}
  .prod-thumb{display:block; position:relative; background:var(--blush);}
  .prod-card.featured .prod-thumb{aspect-ratio:16/10;}
  @media (max-width:900px){ .prod-card.featured .prod-thumb{aspect-ratio:1/1;} }
  .prod-body{flex:1; display:flex; flex-direction:column;}
  .prod-body h4 a:hover{color:var(--bordeaux);}
  .prod-foot{margin-top:auto; padding-top:14px; display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap;}
  .prod-foot .price{font-size:.92rem; color:var(--ink); font-weight:400;}
  .prod-foot .price del{opacity:.55; margin-right:6px; font-size:.82rem;}
  .prod-foot .price ins{text-decoration:none;}
  .add-link{font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--bordeaux); border-bottom:1px solid var(--bordeaux); padding-bottom:2px; transition:opacity .2s;}
  .add-link:hover{opacity:.7;}
  .add-link.loading{opacity:.4;}
  .add-link.added{display:none;}
  .prod-card .added_to_cart{font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--amber);}
  .prod-card .onsale, .onsale{position:absolute; top:14px; left:14px; z-index:2; background:var(--bordeaux); color:var(--white); font-size:.64rem; letter-spacing:.14em; text-transform:uppercase; padding:6px 10px; border-radius:var(--radius); line-height:1;}
  .prod-card.is-placeholder{opacity:.85;}

  /* journal */
  .j-card{display:flex; flex-direction:column;}
  .j-thumb{display:block; position:relative;}
  .j-thumb img{width:100%; height:100%; object-fit:cover;}
  .j-body{flex:1; display:flex; flex-direction:column;}
  .j-body h4 a:hover{color:var(--bordeaux-soft);}
  .j-body .j-more{margin-top:auto; align-self:flex-start;}
  .placeholder-visual .pv-inner{display:block;}
  .placeholder-visual svg{display:block;}
  .placeholder-visual .pv-label{display:block;}

  /* newsletter */
  .news-form, .news-row{position:relative;}
  .news-ok{position:absolute; left:0; right:0; top:calc(100% + 12px); font-size:.82rem; font-family:var(--font-heading); font-style:italic;}
  .newsletter-embed input[type=email], .newsletter-embed input[type=text]{background:transparent; border:none; border-bottom:1px solid currentColor; color:inherit; padding:8px 0; font-family:var(--font-body);}
  .newsletter-embed button, .newsletter-embed input[type=submit]{background:none; border:none; color:inherit; cursor:pointer; text-transform:uppercase; letter-spacing:.05em;}
  .final-cta .newsletter-embed{max-width:420px; margin:0 auto;}
  .foot-news-text{font-size:.85rem; color:var(--stone);}
  .site-footer .socials{margin-top:20px; flex-direction:row; flex-wrap:wrap; gap:16px;}
  .site-footer .legal a, .site-footer .legal-menu a{color:inherit;}
  .site-footer .legal-menu{flex-direction:row; gap:14px; font-size:.72rem;}
  .site-footer .menu{list-style:none;}

  /* bouton retour en haut */
  .to-top{position:fixed; right:24px; bottom:24px; width:46px; height:46px; border-radius:50%; background:var(--bordeaux); display:flex; align-items:center; justify-content:center; z-index:90; opacity:0; transform:translateY(12px); pointer-events:none; transition:all .35s ease; box-shadow:0 12px 26px -14px rgba(63,7,7,.6);}
  .to-top.show{opacity:1; transform:none; pointer-events:auto;}
  .to-top svg{width:18px; height:18px; stroke:var(--white); fill:none; stroke-width:1.6;}
  .to-top:hover{background:var(--bordeaux-soft);}

  /* =====================================================================
     PAGES INTÉRIEURES
     ===================================================================== */
  .page-hero{padding:90px 0 70px;}
  .page-hero .page-title{font-size:clamp(2rem,3.6vw,3rem); margin-bottom:14px;}
  .page-hero .lede{margin-top:8px;}
  .page-hero .post-meta{font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-soft); margin-top:10px;}
  .page-hero .woocommerce-breadcrumb{margin-top:18px; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-soft);}
  @media (max-width:900px){ .page-hero{padding:60px 0 44px;} }
  section.block.block-tight{padding:70px 0 100px;}
  @media (max-width:900px){ section.block.block-tight{padding:44px 0 70px;} }
  .narrow{max-width:820px;}
  .page-cover{margin:0 0 50px; border-radius:var(--radius); overflow:hidden;}
  .page-cover img{width:100%; height:auto;}
  .empty-state{padding:30px 0;}

  /* filtre de catégories */
  .cat-filter{display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-bottom:46px;}
  .cat-filter a{font-size:.74rem; letter-spacing:.12em; text-transform:uppercase; padding:9px 18px; border:1px solid var(--stone-line); border-radius:999px; color:var(--ink-soft); transition:all .2s;}
  .cat-filter a:hover, .cat-filter a.is-active{border-color:var(--bordeaux); background:var(--bordeaux); color:var(--white);}
  .journal-grid{margin-top:0;}
  .block .wrap.center + .wrap .journal-grid{margin-top:56px;}

  /* contenu éditorial */
  .entry-content{font-size:1.02rem; color:var(--ink);}
  .entry-content > * + *{margin-top:1.15em;}
  .entry-content h2{font-size:clamp(1.5rem,2.4vw,2rem); margin-top:1.8em;}
  .entry-content h3{font-size:1.35rem; margin-top:1.6em;}
  .entry-content h4{font-size:1.12rem; margin-top:1.4em;}
  .entry-content a{color:var(--bordeaux); text-decoration:underline; text-underline-offset:3px;}
  .entry-content ul, .entry-content ol{padding-left:1.3em;}
  .entry-content li + li{margin-top:.35em;}
  .entry-content blockquote, .entry-content .wp-block-quote{border-left:2px solid var(--bordeaux); padding:4px 0 4px 26px; font-family:var(--font-heading); font-style:italic; font-size:1.25rem; color:var(--bordeaux);}
  .entry-content img{height:auto; border-radius:var(--radius);}
  .entry-content figcaption{font-size:.8rem; color:var(--ink-soft); margin-top:8px; text-align:center;}
  .entry-content hr{border:none; border-top:1px solid var(--stone-line); margin:2.4em 0;}
  .entry-content table{width:100%; border-collapse:collapse; font-size:.92rem;}
  .entry-content th, .entry-content td{border-bottom:1px solid var(--stone-line); padding:12px 10px; text-align:left;}
  .entry-content .alignwide{margin-left:calc(-1 * min(120px, 6vw)); margin-right:calc(-1 * min(120px, 6vw)); max-width:none;}
  .entry-content .alignfull{width:100vw; max-width:100vw; margin-left:calc(50% - 50vw);}
  .entry-content.full-width > *{margin-top:0;}
  .wp-block-button__link, .entry-content .wp-block-button__link{background:var(--bordeaux); color:var(--white) !important; text-decoration:none !important; border-radius:var(--radius); padding:14px 28px; font-size:.82rem; letter-spacing:.08em; text-transform:uppercase;}
  .is-style-outline .wp-block-button__link{background:transparent; color:var(--bordeaux) !important; border:1.5px solid var(--bordeaux);}
  .wp-block-separator{border-color:var(--stone-line);}
  .post-tags{margin-top:40px; display:flex; flex-wrap:wrap; gap:8px;}
  .post-tags a{font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; border:1px solid var(--stone-line); padding:6px 12px; border-radius:999px;}
  .post-nav{display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:60px; padding-top:30px; border-top:1px solid var(--stone-line);}
  .post-nav div:last-child{text-align:right;}
  .post-nav a{font-family:var(--font-heading); font-style:italic; color:var(--bordeaux); font-size:1.05rem;}
  .post-nav span{display:block; font-family:var(--font-body); font-style:normal; font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:6px;}

  /* pagination */
  .pagination, .woocommerce-pagination{margin-top:60px; text-align:center;}
  .pagination .nav-links, .woocommerce-pagination ul{display:inline-flex; gap:8px; list-style:none; border:none !important;}
  .pagination .page-numbers, .woocommerce-pagination .page-numbers li > *{display:inline-flex; align-items:center; justify-content:center; min-width:42px; height:42px; padding:0 10px; border:1px solid var(--stone-line) !important; border-radius:var(--radius); font-size:.86rem; color:var(--ink);}
  .woocommerce-pagination ul.page-numbers li{border:none !important;}
  .pagination .page-numbers.current, .woocommerce-pagination .page-numbers .current{background:var(--bordeaux); color:var(--white); border-color:var(--bordeaux) !important;}

  /* formulaires */
  input[type=text], input[type=email], input[type=search], input[type=tel], input[type=url], input[type=password], input[type=number], textarea, select{
    font-family:var(--font-body); font-size:.95rem; color:var(--ink); background:var(--white); border:1px solid var(--stone-line); border-radius:var(--radius); padding:13px 15px; width:100%; transition:border-color .2s;}
  input:focus, textarea:focus, select:focus{border-color:var(--bordeaux); outline:none;}
  .news-form input, .news-row input, .search-big input{width:auto;}
  .search-form{display:flex; gap:10px; max-width:520px; margin:0 auto;}
  .search-form input{flex:1;}
  button.btn, input[type=submit].btn{font-family:var(--font-body);}
  label{font-size:.86rem; color:var(--ink-soft);}

  /* commentaires */
  .comments-area{margin-top:70px; padding-top:40px; border-top:1px solid var(--stone-line);}
  .comments-title, .comment-reply-title{font-size:1.4rem; margin-bottom:24px;}
  .comment-list{list-style:none;}
  .comment-list .comment{padding:20px 0; border-bottom:1px solid var(--stone-line);}
  .comment-list .children{list-style:none; padding-left:30px;}
  .comment-author img{border-radius:50%; float:left; margin-right:14px;}
  .comment-meta{font-size:.78rem; color:var(--ink-soft);}
  .comment-form p{margin-bottom:16px;}

  /* widgets */
  .widget + .widget{margin-top:36px;}
  .widget-title{font-family:var(--font-body); font-size:.72rem; letter-spacing:.15em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:14px;}

  /* Elementor : laisser respirer le contenu sous le header */
  .elementor-page .site-main{min-height:40vh;}

  /* ---------- correctifs ---------- */
  body.bonoto{min-height:100vh; display:flex; flex-direction:column;}
  body.bonoto > .site-main{flex:1 0 auto;}
  .news-form input[type=email], .news-row input[type=email]{background:none; border:none; border-radius:0; padding:4px 0; width:auto; flex:1; min-width:0;}
  .news-form input[type=email]{color:var(--white);}
  .news-row input[type=email]{color:var(--blush);}
  .news-form button, .news-row button{white-space:nowrap; font-family:var(--font-body);}
  .j-body h4 a{text-transform:none; letter-spacing:normal; border:none; font-size:inherit; color:inherit; padding:0;}
  .prod-body h4 a{color:inherit;}
.hp{position:absolute !important; left:-9999px; width:1px; height:1px; opacity:0;}
[hidden]{display:none !important;}
