/** Shopify CDN: Minification failed

Line 6:352 Unexpected "}"

**/
:root{--ivoire:#F8F4ED;--sable:#EBE2D4;--grege:#C3B4A0;--moka:#6E5947;--encre:#231D18;--laiton:#A98B5D;--sauge:#7C8A70;--serif:"Fraunces",Baskerville,Georgia,serif;--sans:"Inter","Avenir Next","Helvetica Neue",Helvetica,Arial,sans-serif;--radius:14px;--radius-lg:20px;--shadow:0 10px 30px rgba(35,29,24,.08);--shadow-lg:0 24px 60px rgba(35,29,24,.16);}};--sable:#EBE2D4;--grege:#C3B4A0;--moka:#6E5947;--encre:#231D18;--laiton:#A98B5D;--sauge:#7C8A70;}

  *{box-sizing:border-box; margin:0}
  html{scroll-behavior:smooth}
  body{background:var(--ivoire); color:var(--encre); font-family:var(--sans); font-size:17px; line-height:1.6}
  img{max-width:100%; display:block}
  a{color:inherit; text-decoration:none}
  button{font-family:var(--sans)}
  [hidden]{display:none !important}

  .wrap{max-width:1140px; margin:0 auto; padding:0 24px}
  .label{font-size:12px; letter-spacing:.14em; text-transform:uppercase; font-weight:500; color:var(--laiton); display:inline-flex; align-items:center; gap:12px}
  .label::before{content:""; width:26px; height:1px; background:var(--laiton)}
  h2{font-family:var(--serif); font-weight:400; font-size:clamp(28px,3.6vw,40px); line-height:1.15; text-wrap:balance; margin:12px 0 14px}
  h2 em{font-style:italic; color:var(--moka)}
  .sect{padding:110px 0 0}
  .lede{color:var(--moka); max-width:62ch}
  .stars{color:var(--laiton); letter-spacing:2px; font-size:14px}

  /* reveal on scroll */
  .rv{opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s ease}
  .rv.in{opacity:1; transform:none}
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto}
    .rv{opacity:1; transform:none; transition:none}
    *{transition-duration:.01ms !important; animation:none !important}
  }

  /* ---------- bandeau annonce ---------- */
  .annonce{background:var(--encre); color:#EDE3D2; text-align:center; font-size:12.5px; letter-spacing:.06em; padding:9px 16px}
  .annonce b{color:#fff; font-weight:500}
  .annonce .dot{color:var(--laiton); margin:0 10px}

  /* ---------- logo ---------- */
  .logo{display:flex; align-items:center; gap:13px}
  .logo .emb{width:36px; height:auto; flex:none}
  .logo .emb path{stroke:var(--encre); stroke-width:1.6; fill:none; stroke-linecap:round}
  .logo .emb .fil{stroke:var(--laiton); stroke-width:1.1}
  .logo-tx b{display:block; font-family:var(--serif); font-weight:400; font-size:16.5px; letter-spacing:.15em; line-height:1.2}
  .logo-tx span{display:block; font-size:8.5px; letter-spacing:.26em; text-transform:uppercase; color:var(--laiton); margin-top:2px}

  /* ---------- header ---------- */
  .hd{position:sticky; top:0; z-index:50; background:rgba(248,244,237,.94); backdrop-filter:blur(10px); border-bottom:1px solid var(--sable)}
  .hd-in{display:flex; align-items:center; justify-content:space-between; padding:13px 24px; max-width:1140px; margin:0 auto}
  .nav{display:flex; gap:28px; font-size:13.5px; color:var(--moka); align-items:center}
  .nav a{position:relative; padding:4px 0}
  .nav a::after{content:""; position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--laiton); transition:width .3s}
  .nav a:hover{color:var(--encre)}
  .nav a:hover::after{width:100%}
  .hd-cta{background:var(--encre); color:var(--ivoire); border:none; border-radius:10px; padding:10px 20px; font-size:13px; font-weight:500; cursor:pointer; transition:transform .2s, box-shadow .2s}
  .hd-cta:hover{transform:translateY(-1px); box-shadow:var(--shadow)}
  .burger{display:none; background:none; border:none; padding:10px; cursor:pointer; margin-left:2px}
  .burger svg{width:22px; height:22px; stroke:var(--encre); stroke-width:1.6; fill:none; stroke-linecap:round}
  .mnav{display:none; position:fixed; top:0; left:0; right:0; z-index:55; background:var(--ivoire); border-bottom:1px solid var(--grege); box-shadow:var(--shadow-lg); padding:8px 0 14px}
  .mnav.open{display:block}
  .mnav a{display:flex; justify-content:space-between; align-items:center; padding:14px 24px; font-size:15.5px; border-bottom:1px solid var(--sable); color:var(--encre)}
  .mnav a small{color:var(--laiton); font-size:12px}
  .mnav .mnav-close{justify-content:flex-end; border-bottom:none; color:var(--moka); font-size:13px; padding:12px 24px 4px}
  .mnav .mnav-lit{font-family:var(--serif); letter-spacing:.08em}
  @media (max-width:860px){ .nav{display:none} .burger{display:block} }

  /* ---------- hero ---------- */
  .hero{position:relative; min-height:86vh; display:flex; align-items:center;
        background-image:linear-gradient(78deg, rgba(35,29,24,.60) 0%, rgba(35,29,24,.25) 45%, rgba(35,29,24,.02) 66%),
                         linear-gradient(to top, rgba(35,29,24,.5) 0%, rgba(35,29,24,0) 45%), url("orsay-sable-angle.jpg");
        background-size:cover; background-position:center 60%}
  .hero-in{width:100%; max-width:1140px; margin:0 auto; padding:64px 24px; color:var(--ivoire)}
  .hero-note{display:inline-flex; align-items:center; gap:10px; font-size:13px; color:#F1EADF; margin-bottom:18px; background:rgba(35,29,24,.35); border:1px solid rgba(248,244,237,.25); border-radius:999px; padding:7px 16px; backdrop-filter:blur(4px)}
  .hero h1{font-family:var(--serif); font-weight:400; font-size:clamp(38px,6vw,66px); line-height:1.05; max-width:14ch; text-wrap:balance}
  .hero h1 em{font-style:italic}
  .hero p{margin:18px 0 30px; font-size:clamp(15px,1.8vw,19px); color:#F1EADF; max-width:44ch}
  .hero-cta{display:flex; align-items:center; gap:20px; flex-wrap:wrap}
  .btn{background:var(--ivoire); color:var(--encre); border:none; border-radius:var(--radius); padding:17px 34px; font-size:15px; font-weight:500; letter-spacing:.03em; cursor:pointer; display:inline-block; transition:transform .2s, box-shadow .2s}
  .btn:hover{background:#fff; transform:translateY(-2px); box-shadow:var(--shadow-lg)}
  .btn-encre{background:var(--encre); color:var(--ivoire)}
  .btn-encre:hover{background:#3A3026}
  .hero-prix{font-weight:500; font-size:16px; font-variant-numeric:tabular-nums}
  .hero-prix small{display:block; font-weight:400; font-size:12.5px; opacity:.85}
  .hero-avis{position:absolute; right:44px; bottom:44px; background:rgba(248,244,237,.93); color:var(--encre); border-radius:var(--radius); padding:16px 20px; max-width:270px; box-shadow:var(--shadow-lg); backdrop-filter:blur(6px)}
  .hero-avis .stars{font-size:12px}
  .hero-avis p{font-family:var(--serif); font-style:italic; font-size:14.5px; line-height:1.45; margin:6px 0 8px; color:var(--encre)}
  .hero-avis span{font-size:11.5px; color:var(--moka)}
  @media (max-width:960px){ .hero-avis{display:none} }

  /* ---------- piliers ---------- */
  .piliers{border-bottom:1px solid var(--sable); background:var(--ivoire)}
  .piliers-in{max-width:1140px; margin:0 auto; padding:26px 24px; display:grid; grid-template-columns:repeat(4,1fr); gap:16px}
  .pilier{display:flex; align-items:center; gap:12px; justify-content:center}
  .pilier svg{flex:none; stroke:var(--encre); fill:none; stroke-width:1.2; width:26px; height:26px}
  .pilier div b{display:block; font-size:13.5px; font-weight:500}
  .pilier div span{font-size:12px; color:var(--moka)}
  @media (max-width:860px){ .piliers-in{grid-template-columns:repeat(2,1fr)} .pilier{justify-content:flex-start} }

  /* ---------- bandeau chiffres ---------- */
  .chiffres{background:var(--sable); padding:34px 0}
  .chiffres-in{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; text-align:center}
  .chiffre b{font-family:var(--serif); font-weight:400; font-size:clamp(24px,3vw,34px); display:block; line-height:1.1}
  .chiffre span{font-size:12.5px; color:var(--moka)}
  @media (max-width:860px){ .chiffres-in{grid-template-columns:repeat(2,1fr); row-gap:24px} }

  /* ---------- trio ---------- */
  .trio-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin-top:40px}
  .lit{background:#FDFBF7; border:1px solid var(--sable); border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow); cursor:pointer; display:block; position:relative; transition:transform .3s ease, box-shadow .3s ease}
  .lit:hover{transform:translateY(-6px); box-shadow:var(--shadow-lg)}
  .lit .ph-clip{overflow:hidden}
  .lit .ph{aspect-ratio:4/3.1; background-size:cover; background-position:center; filter:sepia(.13) saturate(1.05) brightness(1.01); transition:transform .6s ease}
  .lit:hover .ph{transform:scale(1.05)}
  .lit-badge{position:absolute; top:16px; left:16px; z-index:2; background:rgba(248,244,237,.95); color:var(--encre); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; font-weight:500; border-radius:999px; padding:6px 14px; box-shadow:var(--shadow)}
  .lit-txt{padding:20px 22px 22px}
  .lit-txt .nm{font-family:var(--serif); font-size:20px; letter-spacing:.1em; font-weight:400}
  .lit-txt .ds{font-size:13.5px; color:var(--moka); margin:5px 0 12px}
  .lit-txt .meta{display:flex; justify-content:space-between; align-items:baseline}
  .lit-txt .pr{font-weight:500; font-size:15.5px; font-variant-numeric:tabular-nums}
  .lit-txt .pr span{display:block; color:var(--moka); font-weight:400; font-size:12px}
  .lit-txt .voir{font-size:12.5px; color:var(--laiton); font-weight:500; letter-spacing:.06em}
  .trio-note{margin-top:38px; padding-top:26px; border-top:1px solid var(--laiton); max-width:66ch}
  .trio-note p{color:var(--moka); font-size:15.5px}
  .trio-note p + p{margin-top:12px}
  @media (max-width:860px){ .trio-grid{grid-template-columns:1fr} }

  /* ---------- bundle ---------- */
  .bundle{display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; margin-top:40px}
  .bundle .ph{border-radius:var(--radius-lg); aspect-ratio:4/3.4; background-size:cover; background-position:center; filter:sepia(.13) saturate(1.05); box-shadow:var(--shadow-lg)}
  .compo{background:#FDFBF7; border:1px solid var(--sable); border-radius:var(--radius-lg); padding:34px 38px; box-shadow:var(--shadow)}
  .compo h3{font-size:12.5px; letter-spacing:.16em; text-transform:uppercase; font-weight:500; margin-bottom:20px}
  .compo ul{list-style:none; padding:0}
  .compo li{padding:10px 0; border-bottom:1px solid var(--sable); font-size:15px; display:flex; gap:10px}
  .compo li::before{content:"✓"; color:var(--sauge); font-weight:600; flex:none}
  .compo .anchor{margin-top:18px; font-size:13.5px; color:var(--moka)}
  .compo .anchor b{color:var(--encre); font-weight:500}
  .compo .tot{display:flex; justify-content:space-between; align-items:baseline; padding-top:14px; margin-top:12px; border-top:1px solid var(--laiton)}
  .compo .tot b{font-size:28px; font-weight:500; font-variant-numeric:tabular-nums}
  .compo .tot span{font-size:13.5px; color:var(--moka)}
  @media (max-width:860px){ .bundle{grid-template-columns:1fr} }

  /* ---------- matelas ---------- */
  .matelas{background:var(--sable); margin-top:110px; padding:92px 0}
  .matelas-grid{display:grid; grid-template-columns:1.1fr 1fr; gap:56px; align-items:center}
  .coupe{display:flex; flex-direction:column; gap:5px}
  .couche{border-radius:9px; padding:13px 18px; font-size:13px; display:flex; justify-content:space-between; align-items:center; gap:10px}
  .couche span{font-size:11.5px; opacity:.75; white-space:nowrap}
  .c1{background:#FDFBF7; border:1px solid var(--grege)}
  .c2{background:#EFE7D9; border:1px solid var(--grege); padding-top:22px; padding-bottom:22px}
  .c3{background:#D9CCB8; border:1px solid var(--grege); padding-top:30px; padding-bottom:30px}
  .c4{background:#B8A88F; border:1px solid var(--grege)}
  .coupe-cote{text-align:right; font-size:11.5px; color:var(--moka); margin-top:8px}
  .mat-pts{margin-top:22px; display:flex; flex-direction:column; gap:12px}
  .mat-pt{display:flex; gap:12px; font-size:15px}
  .mat-pt b{font-weight:500}
  .mat-pt::before{content:""; flex:none; width:18px; height:1px; background:var(--laiton); margin-top:13px}
  .nuits{display:inline-flex; align-items:center; gap:10px; margin-top:26px; border:1px solid var(--sauge); color:var(--sauge); border-radius:999px; padding:9px 20px; font-size:13.5px; font-weight:500}
  .todo{display:inline-block; margin-left:10px; font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--laiton); border:1px dashed var(--laiton); border-radius:999px; padding:2px 10px; vertical-align:middle}
  @media (max-width:860px){ .matelas-grid{grid-template-columns:1fr} }

  /* ---------- sommeil ---------- */
  .som-grid{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; margin-top:40px}
  .som-ph{position:relative; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-lg)}
  .som-ph .ph{aspect-ratio:4/3.6; background-size:cover; background-position:center; filter:sepia(.13) saturate(1.05)}
  .callout{position:absolute; display:inline-flex; align-items:center; gap:8px; background:rgba(248,244,237,.95); color:var(--encre); border-radius:999px; padding:8px 16px 8px 10px; font-size:12px; font-weight:500; box-shadow:var(--shadow-lg); backdrop-filter:blur(4px)}
  .callout::before{content:""; width:8px; height:8px; border-radius:50%; background:var(--laiton); flex:none}
  .callout small{display:block; font-weight:400; color:var(--moka); font-size:10.5px; line-height:1.3}
  .co-1{top:9%; left:7%}
  .co-2{top:44%; right:7%}
  .co-3{bottom:9%; left:10%}
  .som-list{display:flex; flex-direction:column; gap:16px; margin-top:24px}
  .som-item{display:flex; gap:13px; font-size:15px}
  .som-item::before{content:"✓"; color:var(--sauge); font-weight:600; flex:none; margin-top:1px}
  .som-item b{font-weight:500}
  .som-item span{color:var(--moka); display:block; font-size:14px}
  @media (max-width:860px){ .som-grid{grid-template-columns:1fr} .co-2{top:auto; bottom:40%} }

  /* ---------- boutons secondaires & CTA sections ---------- */
  .btn-ghost{background:transparent; color:var(--encre); border:1px solid var(--encre)}
  .btn-ghost:hover{background:var(--sable); box-shadow:none}
  .sect-cta{margin-top:34px; display:flex; align-items:center; gap:18px; flex-wrap:wrap}
  .sect-cta .apartir{font-size:13px; color:var(--moka)}
  .lit-cta{display:block; margin-top:14px; text-align:center; background:var(--encre); color:var(--ivoire); border-radius:10px; padding:12px; font-size:13.5px; font-weight:500; letter-spacing:.03em; transition:background .2s}
  .lit:hover .lit-cta{background:#3A3026}
  .cta-final{background:var(--encre); color:var(--ivoire); margin-top:110px; padding:76px 24px; text-align:center}
  .cta-final h2{color:var(--ivoire); margin:10px auto 8px; max-width:18ch}
  .cta-final h2 em{color:var(--grege)}
  .cta-final p{color:#CDC2B2; font-size:15px; margin-bottom:28px}
  .cta-final .stars{margin-bottom:6px}

  /* ---------- viewers & toasts ---------- */
  .fp-viewers{display:flex; align-items:center; gap:8px; font-size:12.5px; color:var(--moka); margin-top:8px}
  .fp-viewers::before{content:""; width:7px; height:7px; border-radius:50%; background:var(--laiton); animation:pulse 2s infinite; flex:none}
  .toast{position:fixed; left:22px; bottom:24px; z-index:70; background:#FDFBF7; border:1px solid var(--sable); border-radius:var(--radius); box-shadow:var(--shadow-lg); padding:13px 18px 13px 13px; max-width:320px; display:flex; gap:12px; align-items:center; transform:translateY(150%); opacity:0; transition:transform .45s ease, opacity .45s ease}
  .toast.on{transform:none; opacity:1}
  .toast.up{bottom:92px}
  .toast .t-ic{width:40px; height:40px; border-radius:10px; background:var(--sable); display:flex; align-items:center; justify-content:center; flex:none}
  .toast .t-ic svg{width:24px; height:22px}
  .toast .t-ic path{stroke:var(--encre); stroke-width:1.6; fill:none; stroke-linecap:round}
  .toast .t-tx{line-height:1.4}
  .toast .t-tx b{font-size:12.5px; font-weight:600; display:block}
  .toast .t-tx span{font-size:12px; color:var(--moka)}
  .toast .t-time{font-size:10.5px; color:var(--grege); display:block; margin-top:2px}
  @media (max-width:640px){ .toast{max-width:calc(100vw - 110px)} }

  /* ---------- annonce rotative ---------- */
  .annonce span.msg{display:inline-block; transition:opacity .4s ease}
  .annonce span.msg.fade{opacity:0}

  /* ---------- whatsapp ---------- */
  .wa{position:fixed; right:22px; bottom:24px; z-index:70; display:flex; align-items:center; gap:11px; background:var(--encre); color:var(--ivoire); border-radius:999px; padding:11px 22px 11px 13px; font-size:13.5px; font-weight:500; box-shadow:var(--shadow-lg); transition:bottom .35s ease, transform .2s ease}
  .wa:hover{transform:translateY(-2px)}
  .wa.up{bottom:96px}
  .wa-ic{position:relative; width:34px; height:34px; border-radius:50%; background:#2A231C; display:flex; align-items:center; justify-content:center; flex:none}
  .wa-ic svg{width:19px; height:19px; fill:var(--ivoire)}
  .wa-ic::after{content:""; position:absolute; top:0; right:0; width:9px; height:9px; border-radius:50%; background:#4FBE64; border:2px solid var(--encre)}
  .wa small{display:block; font-weight:400; font-size:11px; color:#CDC2B2; line-height:1.3}
  @media (max-width:640px){
    .wa{padding:10px; gap:0; right:16px; border-radius:50%}
    .wa > span:last-child{display:none}
  }

  /* ---------- coffre ---------- */
  .seq{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:40px}
  .seq figure{overflow:hidden; border-radius:var(--radius)}
  .seq figure .ph{aspect-ratio:4/3; background-size:cover; background-position:center; filter:sepia(.13) saturate(1.05); transition:transform .6s ease}
  .seq figure:hover .ph{transform:scale(1.05)}
  .seq figcaption{font-size:13px; color:var(--moka); padding:12px 4px 0}
  .seq figcaption b{color:var(--encre); font-weight:500; display:block; font-size:13.5px}
  .coffre-stats{display:flex; gap:44px; margin-top:36px; flex-wrap:wrap}
  .stat b{font-family:var(--serif); font-weight:400; font-size:36px; display:block; line-height:1.1}
  .stat span{font-size:13px; color:var(--moka)}
  @media (max-width:860px){ .seq{grid-template-columns:1fr} }

  /* ---------- avis ---------- */
  .avis{background:var(--ivoire)}
  .avis-head{display:flex; align-items:flex-end; justify-content:space-between; gap:20px; flex-wrap:wrap}
  .avis-note{text-align:right}
  .avis-note b{font-family:var(--serif); font-size:44px; font-weight:400; line-height:1}
  .avis-note div{font-size:12.5px; color:var(--moka); margin-top:4px}
  .avis-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:38px}
  .avi{background:#FDFBF7; border:1px solid var(--sable); border-radius:var(--radius-lg); padding:28px 30px; box-shadow:var(--shadow); display:flex; flex-direction:column; gap:12px}
  .avi p{font-family:var(--serif); font-style:italic; font-size:16.5px; line-height:1.5}
  .avi .qui{display:flex; justify-content:space-between; align-items:center; font-size:12.5px; color:var(--moka); margin-top:auto}
  .avi .verif{color:var(--sauge); font-weight:500; font-size:11px; letter-spacing:.06em; text-transform:uppercase; display:inline-flex; align-items:center; gap:5px}
  @media (max-width:860px){ .avis-grid{grid-template-columns:1fr} }

  /* ---------- livraison ---------- */
  .livr{display:grid; grid-template-columns:1fr 1fr; gap:56px; margin-top:40px; align-items:start}
  .steps{list-style:none; padding:0; counter-reset:s}
  .steps li{counter-increment:s; display:flex; gap:18px; padding:16px 0; border-bottom:1px solid var(--sable); font-size:15px}
  .steps li::before{content:counter(s, decimal-leading-zero); font-family:var(--serif); color:var(--laiton); font-size:15px; margin-top:2px}
  .steps b{font-weight:500; display:block}
  .steps span{color:var(--moka); font-size:14px}
  .zone{background:#FDFBF7; border:1px solid var(--sable); border-radius:var(--radius-lg); padding:34px 38px; box-shadow:var(--shadow)}
  .zone h3{font-family:var(--serif); font-weight:400; font-size:22px; margin-bottom:8px}
  .zone p{font-size:14.5px; color:var(--moka)}
  .zone .quote{font-family:var(--serif); font-size:19px; color:var(--encre); font-style:italic; margin:22px 0 0; line-height:1.45}
  .dispo{display:inline-flex; align-items:center; gap:9px; margin-top:20px; background:rgba(124,138,112,.1); color:var(--sauge); border-radius:999px; padding:8px 18px; font-size:13px; font-weight:500}
  .dispo::before{content:""; width:7px; height:7px; border-radius:50%; background:var(--sauge); animation:pulse 2s infinite}
  @keyframes pulse{ 0%,100%{opacity:1} 50%{opacity:.35} }
  @media (max-width:860px){ .livr{grid-template-columns:1fr} }

  /* ---------- paiement ---------- */
  .pay{background:var(--sable); margin-top:110px; padding:84px 0}
  .pay-card{background:#FDFBF7; border:1px solid var(--grege); border-radius:var(--radius-lg); padding:40px; max-width:560px; margin:32px auto 0; text-align:center; box-shadow:var(--shadow-lg)}
  .pay-opts{display:flex; gap:8px; justify-content:center; margin-bottom:26px}
  .pay-opt{border:1px solid var(--grege); background:transparent; color:var(--moka); border-radius:999px; padding:9px 22px; font-size:13.5px; cursor:pointer}
  .pay-opt[aria-pressed="true"]{background:var(--encre); color:var(--ivoire); border-color:var(--encre)}
  .pay-m{font-family:var(--serif); font-size:46px; font-weight:400; font-variant-numeric:tabular-nums; line-height:1.1}
  .pay-m small{font-size:22px; color:var(--moka); font-family:var(--serif)}
  .pay-d{color:var(--moka); font-size:14px; margin-top:8px}
  .paybadges{display:flex; gap:8px; justify-content:center; flex-wrap:wrap; margin-top:24px; padding-top:20px; border-top:1px solid var(--sable)}
  .paybadge{border:1px solid var(--grege); border-radius:8px; padding:6px 14px; font-size:11.5px; font-weight:600; color:var(--moka); letter-spacing:.03em; display:inline-flex; align-items:center; gap:6px}
  .paybadge svg{width:12px; height:12px; stroke:var(--sauge); fill:none; stroke-width:1.6}

  /* ---------- FAQ ---------- */
  .faq{max-width:760px}
  .faq details{border-bottom:1px solid var(--sable)}
  .faq summary{cursor:pointer; padding:18px 0; font-size:16px; font-weight:500; list-style:none; display:flex; justify-content:space-between; gap:16px}
  .faq summary::-webkit-details-marker{display:none}
  .faq summary::after{content:"+"; font-family:var(--serif); color:var(--laiton); font-size:20px}
  .faq details[open] summary::after{content:"–"}
  .faq details p{padding:0 0 18px; color:var(--moka); font-size:15px; max-width:64ch}

  /* ---------- fiche produit ---------- */
  .fp{padding-top:48px}
  .fp-back{font-size:13px; color:var(--moka); display:inline-flex; gap:8px; margin-bottom:26px}
  .fp-back:hover{color:var(--encre)}
  .fp-grid{display:grid; grid-template-columns:1.15fr 1fr; gap:56px; align-items:start}
  .fp-main{aspect-ratio:4/3.2; border-radius:var(--radius-lg); background-size:cover; background-position:center; filter:sepia(.13) saturate(1.05); box-shadow:var(--shadow-lg)}
  .fp-thumbs{display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:12px}
  .fp-thumb{aspect-ratio:4/3; border-radius:10px; background-size:cover; background-position:center; filter:sepia(.13) saturate(1.05); cursor:pointer; border:2px solid transparent; padding:0; transition:transform .2s}
  .fp-thumb:hover{transform:translateY(-2px)}
  .fp-thumb[aria-current="true"]{border-color:var(--encre)}
  .fp-badge{display:inline-block; background:var(--sable); color:var(--encre); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; font-weight:500; border-radius:999px; padding:5px 14px; margin-bottom:12px}
  .fp-nm{font-family:var(--serif); font-weight:400; font-size:40px; line-height:1.1}
  .fp-rating{display:flex; align-items:baseline; gap:10px; margin:8px 0 10px; font-size:13px; color:var(--moka); flex-wrap:wrap}
  #fpAvis{white-space:nowrap}
  .fp-sold::before{content:"· "}
  .fp-tag{color:var(--moka); font-size:15.5px; margin:0 0 20px}
  .fp-prix{padding:18px 0; border-top:1px solid var(--laiton); border-bottom:1px solid var(--sable)}
  .fp-prix-l1{display:flex; align-items:baseline; gap:14px; flex-wrap:wrap}
  .fp-prix b{font-size:28px; font-weight:500; font-variant-numeric:tabular-nums; white-space:nowrap}
  .fp-prix .p4x{font-size:13.5px; color:var(--moka)}
  .fp-prix .anchor{font-size:12.5px; color:var(--moka); margin-top:6px}
  .fp-opt{margin-top:22px}
  .fp-opt .label{display:block; margin-bottom:12px}
  .sizes{display:flex; gap:8px}
  .size{border:1px solid var(--grege); background:transparent; border-radius:10px; padding:10px 18px; font-size:14px; color:var(--moka); cursor:pointer}
  .size[aria-pressed="true"]{border-color:var(--encre); color:var(--encre); font-weight:500}
  .size small{display:block; font-size:10.5px; color:var(--grege)}
  .swatches{display:flex; gap:12px}
  .swatch{width:38px; height:38px; border-radius:50%; border:1px solid var(--grege); cursor:pointer; position:relative; padding:0}
  .swatch[aria-pressed="true"]::after{content:""; position:absolute; inset:-5px; border:1.5px solid var(--encre); border-radius:50%}
  .sw-name{font-size:12.5px; color:var(--moka); margin-top:8px}
  .fp-fomo{display:flex; align-items:center; gap:9px; margin-top:20px; font-size:13px; color:var(--sauge); font-weight:500}
  .fp-fomo::before{content:""; width:7px; height:7px; border-radius:50%; background:var(--sauge); animation:pulse 2s infinite; flex:none}
  .fp-fomo em{font-style:normal; color:var(--laiton); font-weight:400}
  .fp-cta{width:100%; margin-top:16px; padding:19px; font-size:15.5px}
  .fp-sub{text-align:center; font-size:12.5px; color:var(--moka); margin-top:10px}
  .fp-checks{display:grid; grid-template-columns:1fr 1fr; gap:8px 18px; margin-top:20px}
  .fp-check{font-size:13px; color:var(--moka); display:flex; gap:8px}
  .fp-check::before{content:"✓"; color:var(--sauge); font-weight:600}
  .fp-paybadges{display:flex; gap:6px; flex-wrap:wrap; margin-top:18px}
  .fp-paybadges .paybadge{font-size:10.5px; padding:5px 11px}
  .fp-compo{margin-top:24px}
  .fp-compo summary{cursor:pointer; font-size:14px; font-weight:500; padding:14px 0; border-top:1px solid var(--sable); list-style:none; display:flex; justify-content:space-between}
  .fp-compo summary::-webkit-details-marker{display:none}
  .fp-compo summary::after{content:"+"; color:var(--laiton); font-family:var(--serif)}
  .fp-compo[open] summary::after{content:"–"}
  .fp-compo ul{list-style:none; padding:0 0 14px}
  .fp-compo li{font-size:13.5px; color:var(--moka); padding:4px 0; display:flex; gap:8px}
  .fp-compo li::before{content:""; width:4px; height:4px; border-radius:50%; background:var(--laiton); flex:none; margin-top:9px}
  .fp-sold{color:var(--laiton); font-weight:500}
  .fp-deadline{display:flex; align-items:center; gap:9px; margin-top:8px; font-size:12.5px; color:var(--moka)}
  .fp-deadline::before{content:""; width:7px; height:7px; border-radius:50%; background:var(--laiton); flex:none}

  /* bloc valeur ensemble */
  .valeur{margin-top:26px; background:#FDFBF7; border:1px solid var(--sable); border-radius:var(--radius-lg); padding:24px 26px; box-shadow:var(--shadow)}
  .valeur h3{font-size:11.5px; letter-spacing:.16em; text-transform:uppercase; font-weight:500; color:var(--laiton); margin-bottom:16px}
  .val-row{display:flex; justify-content:space-between; align-items:baseline; gap:14px; padding:10px 0; border-bottom:1px solid var(--sable)}
  .val-row div b{font-size:13.5px; font-weight:500; display:block}
  .val-row div span{font-size:12px; color:var(--moka)}
  .val-row .vp{font-size:12px; color:var(--grege); white-space:nowrap; text-align:right}
  .val-tot{display:flex; justify-content:space-between; align-items:baseline; padding-top:14px}
  .val-tot span{font-size:12.5px; color:var(--moka)}
  .val-tot b{font-size:20px; font-weight:500; font-variant-numeric:tabular-nums}
  .val-tot .ail{font-size:12.5px; color:var(--grege)}

  /* banniere matelas produit */
  .fp-mat{background:var(--sable); border-radius:var(--radius-lg); margin-top:72px; padding:48px; display:grid; grid-template-columns:1.1fr 1fr; gap:44px; align-items:center}
  .fp-mat h2{margin-top:8px}
  @media (max-width:860px){ .fp-mat{grid-template-columns:1fr; padding:32px 26px} }

  /* coffre produit */
  .fp-coffre{margin-top:72px; display:grid; grid-template-columns:1.1fr 1fr; gap:44px; align-items:center}
  .fp-coffre .som-ph .ph{aspect-ratio:4/3.2}
  .fp-coffre-mini{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:22px}
  .fp-coffre-mini figure{margin:0; overflow:hidden; border-radius:var(--radius)}
  .fp-coffre-mini .ph{aspect-ratio:4/3; background-size:cover; background-position:center; transition:transform .6s ease}
  .fp-coffre-mini figure:hover .ph{transform:scale(1.05)}
  .fp-coffre-mini figcaption{font-size:12px; color:var(--moka); padding:8px 2px 0}
  .fp-coffre .coffre-stats{margin-top:26px; gap:34px}
  .fp-coffre .coffre-stats b{font-size:28px}
  @media (max-width:860px){ .fp-coffre{grid-template-columns:1fr} }

  /* avis produit */
  .fp-avis{margin-top:72px}

  .fp-specs{margin-top:64px; max-width:640px}
  .fp-specs table{border-collapse:collapse; width:100%; font-size:14px; margin-top:18px}
  .fp-specs td{padding:11px 0; border-bottom:1px solid var(--sable)}
  .fp-specs td:last-child{text-align:right; color:var(--moka); font-variant-numeric:tabular-nums}
  @media (max-width:860px){ .fp-grid{grid-template-columns:1fr} .fp-nm{font-size:31px} .fp-checks{grid-template-columns:1fr} }

  /* ---------- sticky bar ---------- */
  .sticky{position:fixed; left:0; right:0; bottom:0; z-index:60; background:rgba(35,29,24,.97); color:var(--ivoire); backdrop-filter:blur(8px); transform:translateY(110%); transition:transform .35s ease; box-shadow:0 -10px 30px rgba(35,29,24,.25)}
  .sticky.on{transform:none}
  .sticky-in{max-width:1140px; margin:0 auto; padding:12px 24px; display:flex; align-items:center; justify-content:space-between; gap:18px}
  .sticky-tx b{font-size:15px; font-weight:500; display:block; line-height:1.3}
  .sticky-tx span{font-size:12px; color:#CDC2B2}
  .sticky .btn{padding:13px 26px; font-size:14px}
  .sticky .btn:hover{transform:none; box-shadow:none}

  /* ---------- footer ---------- */
  footer{margin-top:110px; border-top:1px solid var(--sable); padding:44px 0 100px}
  .ft{display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap; align-items:flex-start}
  .ft nav{display:flex; gap:24px; font-size:13px; color:var(--moka); flex-wrap:wrap}
  .ft-legal{margin-top:26px; font-size:12px; color:var(--grege)}

  /* ---------- optimisation mobile ---------- */
  .sticky-in{padding-bottom:calc(12px + env(safe-area-inset-bottom))}
  @media (max-width:640px){
    .sect{padding:64px 0 0}
    .matelas{margin-top:64px; padding:56px 0}
    .pay{margin-top:64px; padding:56px 0}
    footer{margin-top:64px; padding-bottom:120px}
    .cta-final{margin-top:64px; padding:56px 24px}
    .wrap{padding:0 20px}
    .annonce{font-size:10.5px; padding:8px 12px; line-height:1.45}
    .hd-in{padding:11px 14px 11px 18px}
    .hd-cta{padding:9px 15px; font-size:12px}
    .logo .emb{width:30px}
    .logo-tx b{font-size:14px}
    .hero{min-height:74vh}
    .hero-in{padding:0 18px 40px}
    .hero-note{font-size:11.5px; padding:6px 13px}
    .hero-cta{gap:14px}
    .hero .btn{width:100%; text-align:center; padding:16px}
    .hero-prix{font-size:14px}
    .piliers-in{padding:18px 16px; gap:14px 10px}
    .pilier svg{width:22px; height:22px}
    .chiffres{padding:24px 0}
    .trio-grid{gap:18px; margin-top:26px}
    .lit-txt{padding:16px 18px 18px}
    .bundle{gap:24px}
    .compo{padding:24px 20px}
    .zone{padding:26px 22px}
    .livr{gap:28px}
    .som-grid{gap:26px}
    .matelas-grid{gap:32px}
    .seq{gap:14px}
    .avis-grid{gap:16px; margin-top:26px}
    .avi{padding:22px 22px}
    .avis-note b{font-size:34px}
    .pay-card{padding:26px 18px}
    .pay-m{font-size:36px}
    .paybadge{font-size:10.5px; padding:5px 10px}
    .fp{padding-top:28px}
    .fp-grid{gap:28px}
    .fp-nm{font-size:28px}
    .fp-prix b{font-size:23px}
    .sizes{gap:6px}
    .sizes .size{flex:1; padding:10px 6px; text-align:center; font-size:13px}
    .swatch{width:42px; height:42px}
    .valeur{padding:20px 16px}
    .val-row .vp{font-size:10.5px}
    .fp-mat{margin-top:52px}
    .fp-coffre{margin-top:52px; gap:26px}
    .fp-avis{margin-top:52px}
    .fp-specs{margin-top:44px}
    .callout{padding:6px 11px 6px 9px; font-size:10px; gap:6px; max-width:70%}
    .callout small{font-size:8.5px}
    .co-1{top:6%; left:5%}
    .co-3{bottom:6%; left:5%}
    .coffre-stats{gap:26px}
    .stat b{font-size:28px}
    .sticky-in{padding:10px 14px calc(10px + env(safe-area-inset-bottom)); gap:10px}
    .sticky-tx{min-width:0; flex:1}
    .sticky-tx b{font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
    .sticky-tx span{font-size:10.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; display:block}
    .sticky .btn{padding:12px 15px; font-size:12.5px; white-space:nowrap; flex:none}
    .logo-tx span{display:none}
    .toast{top:calc(env(safe-area-inset-top) + 128px); bottom:auto; left:14px; right:14px; max-width:none; transform:translateY(-260%); padding:11px 13px 11px 11px}
    .toast.on{transform:none}
    .toast.up{bottom:auto}
    .toast .t-ic{width:34px; height:34px}
    .toast .t-tx b{font-size:12px}
    .toast .t-tx span{font-size:11px}
    .fp-prix-l1{flex-direction:column; gap:3px}
    .fp-sold{flex-basis:100%; margin-top:2px}
    .fp-sold::before{content:""}
    .swatches{padding:4px 0 0 3px}
    .steps li{padding:13px 0; font-size:14.5px}
    h2{margin-top:8px}
  }

  /* images */
  .im-orsay-face{background-image:url("orsay-moka-face.jpg")}
  .im-orsay-angle{background-image:url("orsay-sable-angle.jpg")}
  .im-orsay-coffre{background-image:url("orsay-sable-coffre-angle.jpg")}
  .im-orsay-sommier{background-image:url("orsay-sable-sommier-face.jpg")}
  .im-sevigne-face{background-image:url("sevigne-terre-face.jpg")}
  .im-sevigne-angle{background-image:url("sevigne-ivoire-angle.jpg")}
  .im-sevigne-face2{background-image:url("sevigne-ivoire-face.jpg")}
  .im-sevigne-coffre{background-image:url("sevigne-terre-coffre-angle.jpg")}
  .im-chaillot-face{background-image:url("chaillot-moka-face.jpg")}
  .im-chaillot-face2{background-image:url("chaillot-ivoire-face.jpg")}
  .im-chaillot-angle{background-image:url("chaillot-moka-angle.jpg")}
  .im-chaillot-coffre{background-image:url("chaillot-ivoire-coffre-angle.jpg")}
  .im-coffre-plein{background-image:url("coffre-plein.jpg")}
  .im-coffre-detail{background-image:url("coffre-detail.jpg")}

/* --- additions thème --- */
.hd-cart{font-size:12.5px; color:var(--moka); border:1px solid var(--grege); border-radius:10px; padding:9px 13px; margin-left:8px}
.hd-cart:hover{color:var(--encre)}
.tpl-page{max-width:720px; margin:64px auto; padding:0 24px; font-size:16.5px}
.tpl-page h1{font-family:var(--serif); font-weight:400; font-size:clamp(30px,4vw,42px); margin-bottom:18px}
.cart-tbl{width:100%; border-collapse:collapse; margin:26px 0}
.cart-tbl td{padding:14px 8px; border-bottom:1px solid var(--sable); font-size:15px}
.grid-collection{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:36px}
@media(max-width:860px){.grid-collection{grid-template-columns:1fr}}
.fp-desc{margin-top:64px; max-width:68ch}
.fp-desc h2{font-size:22px; margin:28px 0 10px}
.fp-desc ul{padding-left:20px}
.fp-desc li{margin:4px 0}

.fp-mat{margin-top:72px}
.fp-coffre{margin-top:72px}
.fp-specs{margin:64px auto 0}
.fp-avis{margin-top:72px}
.shopify-payment-button{display:none}

/* ---- drawer panier ---- */
.cd-ov{position:fixed;inset:0;background:rgba(35,29,24,.45);opacity:0;pointer-events:none;transition:opacity .3s;z-index:80}
.cd-ov.on{opacity:1;pointer-events:auto}
.cd{position:fixed;top:0;right:0;bottom:0;width:min(430px,94vw);background:var(--ivoire);z-index:81;transform:translateX(105%);transition:transform .35s ease;display:flex;flex-direction:column;box-shadow:-20px 0 60px rgba(35,29,24,.22)}
.cd.on{transform:none}
.cd-h{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--sable)}
.cd-h b{font-family:var(--serif);font-weight:400;font-size:21px}
.cd-x{background:none;border:none;font-size:13.5px;color:var(--moka);cursor:pointer;padding:8px}
.cd-items{flex:1;overflow-y:auto;padding:6px 22px}
.cd-it{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--sable);align-items:flex-start}
.cd-it img{width:76px;height:76px;object-fit:cover;border-radius:10px}
.cd-it .inf{flex:1;min-width:0}
.cd-it .inf b{font-size:14px;font-weight:500;display:block}
.cd-it .v{font-size:12.5px;color:var(--moka);margin:2px 0 6px}
.cd-it .rm{font-size:12px;color:var(--moka);text-decoration:underline;background:none;border:none;cursor:pointer;padding:0}
.cd-it .pr{font-weight:500;font-size:14px;white-space:nowrap}
.cd-empty{text-align:center;color:var(--moka);padding:48px 12px}
.cd-f{padding:18px 22px calc(18px + env(safe-area-inset-bottom));border-top:1px solid var(--sable);background:#FDFBF7}
.cd-tot{display:flex;justify-content:space-between;align-items:baseline;font-size:15px;margin-bottom:4px}
.cd-tot b{font-size:19px;font-weight:500}
.cd-inc{font-size:12.5px;color:var(--sauge);margin-bottom:14px}
.cd-go{display:block;width:100%;text-align:center;background:var(--encre);color:var(--ivoire);border:none;border-radius:var(--radius);padding:17px;font-size:15px;font-weight:500;cursor:pointer}
.cd-go:hover{background:#3A3026}
.cd-alt{text-align:center;font-size:12.5px;color:var(--moka);margin-top:10px}
.cd-badges{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-top:12px}
/* ---- accordéons explicites ---- */
.fp-compo{border:1px solid var(--sable);border-radius:12px;background:#FDFBF7;padding:0 18px;margin-top:12px;transition:border-color .2s}
.fp-compo:hover{border-color:var(--grege)}
.fp-compo summary{border-top:none !important;cursor:pointer}
.fp-compo .acc-hint{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--laiton);font-weight:500;margin-left:auto;margin-right:10px}
.fp-compo[open] .acc-hint{display:none}
.fp-compo[open]{padding-bottom:8px}

/* ---- CTA qui attirent l'oeil (coupees par prefers-reduced-motion) ---- */
@keyframes ds-pulse{0%,100%{transform:scale(1);box-shadow:var(--shadow)}50%{transform:scale(1.025);box-shadow:0 14px 40px rgba(35,29,24,.25)}}
@keyframes ds-wiggle{0%,88%,100%{transform:rotate(0)}90%{transform:rotate(-1.4deg)}94%{transform:rotate(1.4deg)}97%{transform:rotate(-.7deg)}}
.fp-cta.btn-encre{animation:ds-pulse 4.5s ease-in-out infinite}
.sticky.on .btn{animation:ds-wiggle 6s ease-in-out infinite}
.hero .btn{animation:ds-pulse 6s ease-in-out infinite}
.cd-go{animation:ds-pulse 5s ease-in-out infinite}
/* ---- exit popup ---- */
.xp-ov{position:fixed;inset:0;background:rgba(35,29,24,.5);z-index:90;display:none;align-items:center;justify-content:center;padding:20px}
.xp-ov.on{display:flex}
.xp{background:var(--ivoire);border-radius:var(--radius-lg);max-width:440px;width:100%;padding:38px 34px;text-align:center;box-shadow:var(--shadow-lg);position:relative}
.xp-x{position:absolute;top:14px;right:16px;background:none;border:none;color:var(--moka);font-size:14px;cursor:pointer;padding:6px}
.xp .label{justify-content:center}
.xp h3{font-family:var(--serif);font-weight:400;font-size:27px;line-height:1.15;margin:10px 0 8px}
.xp h3 em{font-style:italic;color:var(--moka)}
.xp p{color:var(--moka);font-size:14.5px;margin-bottom:18px}
.xp-code{display:block;border:1.5px dashed var(--laiton);border-radius:12px;padding:13px;font-size:19px;letter-spacing:.22em;font-weight:600;color:var(--encre);margin-bottom:16px;background:#FDFBF7}
.xp-go{display:block;width:100%;background:var(--encre);color:var(--ivoire);border:none;border-radius:var(--radius);padding:16px;font-size:14.5px;font-weight:500;cursor:pointer;animation:ds-pulse 4s ease-in-out infinite}
.xp-no{display:inline-block;margin-top:12px;font-size:12.5px;color:var(--moka);text-decoration:underline;background:none;border:none;cursor:pointer}

@media (max-width:640px){
  .wa{right:14px; bottom:20px}
  .wa.up{bottom:calc(112px + env(safe-area-inset-bottom))}
}
