:root{
  --bleu:#0B2545;        /* bleu marine profond */
  --bleu-cl:#1B3B6F;
  --rouge:#A8322F;        /* rouge français noble, moins vif */
  --rouge-fc:#8B2825;
  --ocre:#C89968;         /* ocre doré adouci */
  --creme:#F6F0E7;        /* crème plus douce */
  --blanc:#FFFCF7;
  --noir:#1A1714;
  --gris:#6B6558;
  --gris-cl:#D6CEC2;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Manrope',sans-serif;
  background:var(--blanc);
  color:var(--noir);
  font-weight:400;
  line-height:1.65;
  font-size:16px;
}
::selection{background:var(--rouge);color:var(--blanc);}

/* BANDEAU LABEL PERMANENT - plus doux + sticky */
.top-badges{
  background:var(--bleu);
  color:var(--blanc);
  padding:8px 0;
  overflow:hidden;
  position:sticky;
  top:0;
  z-index:101;
}
.top-badges-track{
  display:flex;
  align-items:center;
  gap:72px;
  animation:scroll 22s linear infinite;
  white-space:nowrap;
}
.top-badges-track span{
  font-size:11px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  font-weight:500;
  display:flex;
  align-items:center;
  gap:10px;
  opacity:0.92;
}
.top-badges-track span::before{
  content:"◆";
  color:var(--ocre);
  font-size:7px;
}
@keyframes scroll{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}

/* BANDEAU SLOGAN SIGNATURE — sticky sous les 2 bandes bleues */
.slogan-banner{
  background:#FAF6EE;
  min-height:50px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:20px;
  padding:0 20px;
  text-align:center;
  border-bottom:1px solid rgba(11,37,69,0.06);
  position:sticky;
  top:34px;
  z-index:99;
}
.slogan-banner-rule{
  flex:0 0 80px;
  height:1px;
  background:var(--ocre);
  opacity:0.85;
}
.slogan-banner-txt{
  font-family:'Fraunces',serif;
  font-style:italic;
  font-weight:400;
  font-size:19px;
  color:var(--bleu);
  letter-spacing:0.02em;
  line-height:1.2;
  margin:0;
  opacity:0;
  transform:translateY(10px);
  animation:sloganIn 1.2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
@keyframes sloganIn{
  to{opacity:1;transform:translateY(0);}
}
@media(prefers-reduced-motion:reduce){
  .slogan-banner-txt{animation:none;opacity:1;transform:none;}
}

/* ============================================
   ESPACE PROFESSIONNELS (avant footer)
   ============================================ */
.pro-section {
  background: #1a2438;
  color: #f5f0e8;
  padding: 60px 24px;
  border-top: 1px solid rgba(212, 165, 116, 0.2);
}
.pro-section-inner {
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}
.pro-section-eyebrow {
  font-size: 0.85rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #d4a574;
  margin: 0 0 12px;
}
.pro-section-title {
  font-family: 'Fraunces', serif;
  font-size: 2rem;
  margin: 0 0 16px;
  font-weight: 400;
}
.pro-section-text {
  font-size: 1rem;
  line-height: 1.6;
  margin: 0 0 24px;
  opacity: 0.85;
}
.pro-section-link {
  display: inline-block;
  color: #d4a574;
  text-decoration: none;
  border-bottom: 1px solid #d4a574;
  padding-bottom: 2px;
  font-size: 0.95rem;
  transition: opacity 0.2s ease;
}
.pro-section-link:hover {
  opacity: 0.7;
}

/* ============================================
   CHATBOT DUVÉA (conseillère)
   ============================================ */
.cb-btn{
  position:fixed;
  bottom:24px;
  right:24px;
  width:64px;
  height:64px;
  border-radius:50%;
  background:var(--bleu);
  color:var(--blanc);
  border:none;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(11,37,69,0.35);
  z-index:998;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:all 0.3s cubic-bezier(0.4,0,0.2,1);
  animation:cbPulse 3s ease-in-out 2s infinite;
}
.cb-btn:hover{
  transform:scale(1.08);
  box-shadow:0 12px 32px rgba(11,37,69,0.45);
  background:var(--rouge);
}
.cb-btn svg{width:28px;height:28px;}
.cb-btn.hidden{
  opacity:0;
  pointer-events:none;
  transform:scale(0.8);
}
#cbBtn.cb-near-footer {
  opacity: 0;
  pointer-events: none;
  transform: translateY(20px) scale(0.8);
  transition: opacity 0.3s ease, transform 0.3s ease;
}
@keyframes cbPulse{
  0%,100%{box-shadow:0 8px 24px rgba(11,37,69,0.35),0 0 0 0 rgba(200,153,104,0.5);}
  50%{box-shadow:0 8px 24px rgba(11,37,69,0.35),0 0 0 12px rgba(200,153,104,0);}
}
.cb-btn-dot{
  position:absolute;
  top:8px;right:8px;
  width:10px;height:10px;
  background:var(--ocre);
  border-radius:50%;
  border:2px solid var(--bleu);
}

/* Fenêtre chatbot */
.cb-win{
  position:fixed;
  bottom:24px;
  right:24px;
  width:380px;
  max-width:calc(100vw - 32px);
  height:580px;
  max-height:calc(100vh - 48px);
  background:var(--blanc);
  border-radius:14px;
  box-shadow:0 20px 50px rgba(11,37,69,0.35);
  z-index:999;
  display:none;
  flex-direction:column;
  overflow:hidden;
  animation:cbOpen 0.35s cubic-bezier(0.4,0,0.2,1);
}
.cb-win.open{display:flex;}
@keyframes cbOpen{
  from{opacity:0;transform:translateY(20px) scale(0.95);}
  to{opacity:1;transform:translateY(0) scale(1);}
}

/* Header chatbot */
.cb-head{
  background:var(--bleu);
  color:var(--blanc);
  padding:16px 18px;
  display:flex;
  align-items:center;
  gap:12px;
  flex-shrink:0;
  position:relative;
}
.cb-head-ico{
  width:40px;height:40px;
  border-radius:50%;
  background:var(--ocre);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.cb-head-ico svg{width:22px;height:22px;color:var(--bleu);}
.cb-head-txt{flex:1;}
.cb-head-n{
  font-family:'Fraunces',serif;
  font-size:18px;
  font-weight:600;
  line-height:1.2;
  letter-spacing:-0.01em;
}
.cb-head-s{
  font-size:11px;
  color:rgba(255,252,247,0.7);
  margin-top:2px;
  letter-spacing:0.02em;
}
.cb-head-s .cb-dot{
  display:inline-block;
  width:7px;height:7px;
  background:#4CAF50;
  border-radius:50%;
  margin-right:5px;
  vertical-align:middle;
  animation:cbBlink 2s infinite;
}
@keyframes cbBlink{
  0%,100%{opacity:1;}
  50%{opacity:0.4;}
}
.cb-close{
  background:transparent;
  border:none;
  color:var(--blanc);
  cursor:pointer;
  width:32px;height:32px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  border-radius:50%;
  transition:background 0.2s;
  flex-shrink:0;
}
.cb-close:hover{background:rgba(255,252,247,0.12);}

/* Corps messages */
.cb-body{
  flex:1;
  overflow-y:auto;
  padding:18px;
  background:var(--creme);
  display:flex;
  flex-direction:column;
  gap:10px;
}
.cb-body::-webkit-scrollbar{width:4px;}
.cb-body::-webkit-scrollbar-thumb{background:var(--gris-cl);border-radius:2px;}

.cb-msg{
  display:flex;
  gap:8px;
  max-width:85%;
  animation:cbMsgIn 0.3s ease;
}
@keyframes cbMsgIn{
  from{opacity:0;transform:translateY(8px);}
  to{opacity:1;transform:translateY(0);}
}
.cb-msg-bot{align-self:flex-start;}
.cb-msg-user{align-self:flex-end;flex-direction:row-reverse;}

.cb-avatar{
  width:28px;height:28px;
  border-radius:50%;
  background:var(--ocre);
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-top:4px;
}
.cb-avatar svg{width:16px;height:16px;color:var(--bleu);}

.cb-bubble{
  padding:10px 14px;
  border-radius:14px;
  font-size:14px;
  line-height:1.5;
  position:relative;
}
.cb-msg-bot .cb-bubble{
  background:var(--blanc);
  color:var(--noir);
  border-top-left-radius:4px;
  border:1px solid var(--gris-cl);
}
.cb-msg-user .cb-bubble{
  background:var(--bleu);
  color:var(--blanc);
  border-top-right-radius:4px;
}
.cb-bubble strong{color:var(--bleu);font-weight:700;}
.cb-msg-user .cb-bubble strong{color:var(--ocre);}
.cb-bubble em{font-style:italic;}

/* Actions (boutons dans la bulle) */
.cb-actions{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:10px;
}
.cb-action{
  padding:8px 14px;
  background:var(--bleu);
  color:var(--blanc);
  border:none;
  border-radius:18px;
  font-size:12px;
  font-family:'Manrope',sans-serif;
  font-weight:600;
  cursor:pointer;
  transition:all 0.2s;
  letter-spacing:0.02em;
}
.cb-action:hover{background:var(--rouge);}
.cb-action.secondary{
  background:transparent;
  color:var(--bleu);
  border:1.5px solid var(--bleu);
}
.cb-action.secondary:hover{background:var(--bleu);color:var(--blanc);}

/* Quick replies (bas des messages bot) */
.cb-quick{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  padding:0 18px 12px;
  flex-shrink:0;
  background:var(--creme);
}
.cb-quick-btn{
  padding:7px 12px;
  background:var(--blanc);
  color:var(--bleu);
  border:1px solid var(--gris-cl);
  border-radius:16px;
  font-size:11.5px;
  font-family:'Manrope',sans-serif;
  font-weight:600;
  cursor:pointer;
  transition:all 0.2s;
  white-space:nowrap;
}
.cb-quick-btn:hover{
  background:var(--bleu);
  color:var(--blanc);
  border-color:var(--bleu);
}

/* Zone de saisie */
.cb-input-zone{
  background:var(--blanc);
  border-top:1px solid var(--gris-cl);
  padding:12px 14px;
  display:flex;
  gap:8px;
  align-items:center;
  flex-shrink:0;
}
.cb-input{
  flex:1;
  border:1px solid var(--gris-cl);
  border-radius:20px;
  padding:10px 16px;
  font-family:'Manrope',sans-serif;
  font-size:13.5px;
  color:var(--noir);
  outline:none;
  transition:border-color 0.2s;
  background:var(--creme);
}
.cb-input:focus{border-color:var(--bleu);background:var(--blanc);}
.cb-input::placeholder{color:var(--gris);font-style:italic;}
.cb-send{
  width:38px;
  height:38px;
  border-radius:50%;
  background:var(--bleu);
  color:var(--blanc);
  border:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background 0.2s;
  flex-shrink:0;
}
.cb-send:hover{background:var(--rouge);}
.cb-send svg{width:16px;height:16px;}

/* Typing indicator */
.cb-typing{
  display:flex;
  gap:4px;
  padding:12px 14px;
  background:var(--blanc);
  border:1px solid var(--gris-cl);
  border-radius:14px;
  border-top-left-radius:4px;
  width:fit-content;
}
.cb-typing-dot{
  width:7px;height:7px;
  background:var(--gris);
  border-radius:50%;
  animation:cbTyping 1.4s infinite;
}
.cb-typing-dot:nth-child(2){animation-delay:0.2s;}
.cb-typing-dot:nth-child(3){animation-delay:0.4s;}
@keyframes cbTyping{
  0%,60%,100%{opacity:0.3;transform:translateY(0);}
  30%{opacity:1;transform:translateY(-4px);}
}

/* Footer discret */
.cb-foot{
  font-size:10px;
  color:var(--gris);
  text-align:center;
  padding:6px;
  background:var(--blanc);
  border-top:1px solid var(--gris-cl);
  letter-spacing:0.05em;
}

@media(max-width:480px){
  .slogan-banner-rule{display:none;}

  .cb-win{
    bottom:0;
    right:0;
    width:100vw;
    max-width:100vw;
    height:100vh;
    max-height:100vh;
    border-radius:0;
  }
  .cb-btn{bottom:18px;right:18px;width:56px;height:56px;}
  .cb-btn svg{width:24px;height:24px;}
}

/* HEADER - sticky juste en-dessous du bandeau slogan */
header{
  background:var(--blanc);
  padding:22px 48px;
  border-bottom:1px solid var(--gris-cl);
  position:sticky;
  top:84px;
  z-index:100;
}
.h-inner{
  max-width:1440px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:48px;
}
.logo{text-decoration:none;display:flex;align-items:center;gap:10px;}
.logo-n{
  font-family:'Fraunces',serif;
  font-size:44px;
  font-weight:700;
  color:var(--bleu);
  letter-spacing:-0.02em;
  line-height:1;
}
.logo-flag-wrap{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  margin-left:4px;
}
.logo-flag{
  display:inline-flex;
  align-items:center;
}
.logo-flag svg{
  width:38px;
  height:auto;
  display:block;
  filter:drop-shadow(0 1px 2px rgba(11,37,69,0.12));
}
.logo-mif{
  font-size:8px;
  letter-spacing:0.24em;
  text-transform:uppercase;
  color:var(--bleu);
  font-weight:600;
  line-height:1;
  opacity:0.75;
}
/* MEGA MENU */
.megamenu{display:flex;gap:4px;position:static;}
.mm-item{position:static;}
.mm-link{
  text-decoration:none;
  font-size:13px;
  letter-spacing:0.06em;
  text-transform:uppercase;
  font-weight:600;
  color:var(--bleu);
  padding:12px 18px;
  transition:color .2s;
  display:inline-block;
  position:relative;
  z-index:102;
}
.mm-link::after{
  content:"";
  position:absolute;
  left:18px;right:18px;bottom:6px;
  height:1.5px;
  background:var(--rouge);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .3s ease;
}
.mm-item:hover .mm-link{color:var(--rouge);}
.mm-item:hover .mm-link::after{transform:scaleX(1);}

/* PONT INVISIBLE entre le lien et le panel pour garder le hover actif */
.mm-item::before{
  content:"";
  position:absolute;
  top:calc(100% - 8px);
  left:0;right:0;
  height:24px;
  z-index:101;
  pointer-events:none;
}
.mm-item:hover::before{
  pointer-events:auto;
}

.mm-panel{
  position:absolute;
  top:calc(100% + 1px);
  left:0;right:0;
  background:var(--blanc);
  border-top:1px solid var(--gris-cl);
  border-bottom:1px solid var(--gris-cl);
  opacity:0;
  visibility:hidden;
  transform:translateY(-8px);
  transition:opacity .25s ease, transform .25s ease, visibility 0s linear .25s;
  box-shadow:0 24px 48px rgba(11,37,69,.08);
  z-index:99;
  pointer-events:none;
}
.mm-item:hover .mm-panel,
.mm-panel:hover,
.mm-item.mm-open .mm-panel{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
  transition:opacity .25s ease, transform .25s ease, visibility 0s linear 0s;
}
.mm-item.mm-open .mm-link{color:var(--rouge);}
.mm-item.mm-open .mm-link::after{transform:scaleX(1);}
.mm-panel-inner{
  max-width:1440px;
  margin:0 auto;
  padding:40px 48px 48px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:48px;
}
.mm-col{display:flex;flex-direction:column;gap:4px;}
.mm-col-t{
  font-family:'Fraunces',serif;
  font-size:12px;
  font-weight:600;
  letter-spacing:0.24em;
  text-transform:uppercase;
  color:var(--rouge);
  margin-bottom:14px;
  padding-bottom:10px;
  border-bottom:1px solid var(--gris-cl);
}
.mm-col a{
  text-decoration:none;
  font-size:14px;
  color:var(--noir);
  padding:6px 0;
  transition:color .2s, padding-left .2s;
  font-weight:400;
  letter-spacing:0;
  text-transform:none;
}
.mm-col a:hover{color:var(--bleu);padding-left:6px;}
.mm-col-hl{
  background:var(--creme);
  padding:24px 24px 28px;
  margin:-24px -24px -28px;
  border-left:2px solid var(--ocre);
}
.mm-col-hl .mm-col-t{border-bottom-color:var(--ocre);color:var(--bleu);}
.mm-a-hl{
  font-family:'Fraunces',serif !important;
  font-size:14px !important;
  font-style:italic;
  color:var(--bleu) !important;
  font-weight:500 !important;
  padding:8px 0 !important;
}
.mm-a-hl:hover{color:var(--rouge) !important;}
.mm-col-img{
  margin-top:20px;
  height:90px;
  background:
    radial-gradient(ellipse at 30% 50%, rgba(212,165,116,0.25) 0%, transparent 60%),
    linear-gradient(135deg, var(--blanc) 0%, var(--gris-cl) 100%);
  border:1px solid var(--gris-cl);
  position:relative;
}
.mm-col-img::after{
  content:"🪶";
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  font-size:32px;
  opacity:0.4;
}
.cta-h{
  background:var(--bleu);
  color:var(--blanc);
  padding:14px 28px;
  font-size:12px;
  letter-spacing:0.12em;
  text-transform:uppercase;
  text-decoration:none;
  font-weight:700;
  transition:background .2s;
}
.cta-h:hover{background:var(--rouge);}

/* HERO BIG & BOLD */
.hero{
  background:var(--creme);
  padding:80px 48px 0;
  position:relative;
  overflow:hidden;
}
.hero-inner{
  max-width:1440px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:72px;
  align-items:center;
  min-height:86vh;
}
.hero-txt{position:relative;z-index:2;}
.hero-badge{
  display:inline-flex;
  align-items:center;
  gap:10px;
  background:transparent;
  color:var(--bleu);
  padding:8px 16px;
  font-size:11px;
  letter-spacing:0.2em;
  text-transform:uppercase;
  font-weight:600;
  margin-bottom:32px;
  border:1px solid var(--bleu);
}
.hero-badge::before{content:"🇫🇷";font-size:14px;}

h1{
  font-family:'Fraunces',serif;
  font-size:clamp(52px,6.8vw,98px);
  font-weight:600;
  line-height:1;
  color:var(--bleu);
  letter-spacing:-0.025em;
  margin-bottom:32px;
}
h1 em{
  font-style:italic;
  color:var(--rouge);
  font-weight:500;
}
h1 .souligne{
  position:relative;
  display:inline-block;
}
h1 .souligne::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:8px;
  height:8px;
  background:var(--ocre);
  z-index:-1;
  opacity:.45;
}
.hero-desc{
  font-size:18px;
  line-height:1.55;
  color:var(--bleu-cl);
  margin-bottom:40px;
  max-width:540px;
  font-weight:500;
}
.hero-ctas{display:flex;gap:16px;align-items:center;margin-bottom:40px;flex-wrap:wrap;}
.btn-p{
  background:var(--bleu);
  color:var(--blanc);
  padding:18px 36px;
  font-size:12.5px;
  letter-spacing:0.12em;
  text-transform:uppercase;
  text-decoration:none;
  font-weight:600;
  transition:all .25s;
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.btn-p:hover{background:var(--rouge);transform:translateY(-1px);}
.btn-p::after{content:"→";font-size:16px;}
.btn-s{
  color:var(--bleu);
  padding:18px 0;
  font-size:12.5px;
  letter-spacing:0.12em;
  text-transform:uppercase;
  text-decoration:none;
  font-weight:600;
  border-bottom:1px solid var(--bleu);
}

.hero-trust{
  display:flex;
  gap:32px;
  padding-top:32px;
  border-top:1px solid var(--gris-cl);
}
.trust-i{display:flex;gap:10px;align-items:center;}
.trust-i-ico{
  width:32px;height:32px;
  background:var(--bleu);
  color:var(--blanc);
  display:flex;align-items:center;justify-content:center;
  font-size:14px;
  flex-shrink:0;
}
.trust-i-t{font-size:11px;line-height:1.3;font-weight:600;color:var(--bleu);}
.trust-i-t span{display:block;font-size:10px;color:var(--gris);font-weight:400;letter-spacing:.05em;text-transform:uppercase;}

/* Image hero */
.hero-img{
  position:relative;
  aspect-ratio:16/9;
  overflow:hidden;
}
.hero-img img{width:100%;height:100%;object-fit:cover;display:block;}
.hero-img-stamp{
  position:absolute;
  top:24px;right:24px;
  width:96px;height:96px;
  background:var(--rouge);
  color:var(--blanc);
  border-radius:50%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  transform:rotate(-8deg);
  text-align:center;
  box-shadow:0 8px 24px rgba(11,37,69,.22);
  border:2px solid rgba(255,252,247,0.3);
}
.hero-img-stamp-big{
  font-family:'Fraunces',serif;
  font-size:22px;font-weight:600;
  line-height:1;
  margin-bottom:3px;
  font-style:italic;
}
.hero-img-stamp-t{
  font-size:7.5px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  font-weight:600;
  padding:0 8px;
  line-height:1.2;
}

/* LABELS BAND - plus respirant */
.labels-band{
  background:var(--creme);
  color:var(--bleu);
  padding:72px 48px;
  display:grid;
  place-items:center;
  border-top:1px solid var(--gris-cl);
  border-bottom:1px solid var(--gris-cl);
}
.labels-inner{
  max-width:1440px;
  width:100%;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:40px;
  text-align:center;
}
.lab{position:relative;padding:0 20px;}
.lab:not(:last-child)::after{
  content:"";
  position:absolute;
  right:-20px;top:15%;bottom:15%;
  width:1px;background:var(--gris-cl);
}
.lab-ico{
  font-size:28px;
  margin-bottom:14px;
  display:block;
  color:var(--rouge);
}
.lab-tit{
  font-family:'Fraunces',serif;
  font-size:20px;
  font-weight:600;
  margin-bottom:6px;
  color:var(--bleu);
}
.lab-sub{
  font-size:12px;
  color:var(--gris);
  line-height:1.5;
  letter-spacing:0.02em;
}

/* PRODUITS STARS */
.produits{
  max-width:1440px;
  margin:0 auto;
  padding:120px 48px;
}
.p-head{
  text-align:center;
  max-width:720px;
  margin:0 auto 72px;
}
.p-ety{
  display:inline-block;
  font-size:10.5px;
  letter-spacing:0.3em;
  text-transform:uppercase;
  color:var(--bleu);
  font-weight:600;
  margin-bottom:20px;
  padding:6px 14px;
  border:1px solid var(--gris-cl);
}
.p-tit{
  font-family:'Fraunces',serif;
  font-size:56px;
  font-weight:600;
  color:var(--bleu);
  line-height:1.05;
  letter-spacing:-0.02em;
  margin-bottom:20px;
}
.p-tit em{color:var(--rouge);font-style:italic;font-weight:500;}
.p-sub{
  font-size:17px;
  color:var(--gris);
  line-height:1.55;
}

.p-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:32px;
}
.p-card{
  background:var(--creme);
  text-decoration:none;
  color:inherit;
  position:relative;
  transition:transform .35s;
  overflow:hidden;
}
.p-card:hover{transform:translateY(-6px);}
.p-card-img{
  aspect-ratio:4/3;
  overflow:hidden;
  position:relative;
  background:linear-gradient(135deg, var(--creme) 0%, var(--gris-cl) 100%);
}
.p-card-img img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .8s;
  display:block;
}
.p-card:hover .p-card-img img{transform:scale(1.06);}
.p-card-badge{
  position:absolute;
  top:20px;left:20px;
  background:var(--bleu);
  color:var(--blanc);
  padding:7px 13px;
  font-size:10px;
  letter-spacing:0.16em;
  text-transform:uppercase;
  font-weight:600;
}
.p-card-badge.ocre{background:var(--ocre);color:var(--bleu);}
.p-card-badge.rouge{background:var(--rouge);color:var(--blanc);}
.p-card-flag{
  position:absolute;
  top:20px;right:20px;
  background:var(--blanc);
  padding:6px 10px;
  font-size:18px;
}
.p-card-body{padding:28px 24px;}
.p-card-tit{
  font-family:'Fraunces',serif;
  font-size:28px;
  font-weight:600;
  color:var(--bleu);
  margin-bottom:8px;
  line-height:1.1;
}
.p-card-desc{
  font-size:13px;
  color:var(--gris);
  line-height:1.55;
  margin-bottom:18px;
}
.p-card-foot{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-top:16px;
  border-top:1px solid var(--gris-cl);
}
.p-card-prix{
  font-family:'Fraunces',serif;
  font-size:22px;
  font-weight:700;
  color:var(--rouge);
}
.p-card-prix span{font-size:12px;color:var(--gris);font-weight:400;}
.p-card-arrow{
  font-size:12px;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--rouge);
  font-family:'Manrope',sans-serif;
  transition:all .2s;
  white-space:nowrap;
}
.p-card:hover .p-card-arrow{color:var(--bleu);transform:translateX(3px);}

/* GROSSE CITATION MANIFESTE */
.citation{
  background:var(--bleu);
  color:var(--blanc);
  padding:110px 48px;
  text-align:center;
  position:relative;
}
.citation::before{
  content:"";
  position:absolute;
  top:44px;left:50%;transform:translateX(-50%);
  width:48px;height:2px;
  background:var(--ocre);
  opacity:0.6;
}
.citation-inner{max-width:960px;margin:0 auto;}
.citation-n{
  font-family:'Fraunces',serif;
  font-size:108px;
  font-weight:600;
  color:var(--ocre);
  line-height:1;
  font-style:italic;
  margin-bottom:20px;
  opacity:0.92;
}
.citation-t{
  font-family:'Fraunces',serif;
  font-size:clamp(26px,3.2vw,38px);
  line-height:1.3;
  font-weight:400;
  margin-bottom:32px;
  font-style:italic;
  opacity:0.96;
}
.citation-t em{color:var(--ocre);font-style:italic;}
.citation-s{
  font-size:10.5px;
  letter-spacing:0.3em;
  text-transform:uppercase;
  color:rgba(255,252,247,.5);
  font-weight:500;
}

/* POURQUOI */
.pourquoi{
  background:var(--creme);
  padding:120px 48px;
}
.pourquoi-inner{
  max-width:1440px;
  margin:0 auto;
}
.pq-head{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  align-items:end;
  margin-bottom:80px;
}
.pq-tit{
  font-family:'Fraunces',serif;
  font-size:64px;
  font-weight:600;
  color:var(--bleu);
  line-height:1.02;
  letter-spacing:-0.02em;
}
.pq-tit em{color:var(--rouge);font-style:italic;font-weight:500;}
.pq-sub{
  font-size:17px;
  color:var(--gris);
  line-height:1.6;
  padding-bottom:12px;
}

.pq-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:40px;
}
.pq-card{
  background:var(--blanc);
  padding:48px 36px;
  position:relative;
  border-top:2px solid var(--rouge);
  transition:transform .3s;
}
.pq-card:hover{transform:translateY(-4px);}
.pq-card:nth-child(2){border-top-color:var(--bleu);}
.pq-card:nth-child(3){border-top-color:var(--ocre);}
.pq-n{
  font-family:'Fraunces',serif;
  font-size:64px;
  font-weight:500;
  color:var(--gris-cl);
  line-height:1;
  margin-bottom:20px;
  font-style:italic;
}
.pq-t{
  font-family:'Fraunces',serif;
  font-size:24px;
  font-weight:600;
  color:var(--bleu);
  margin-bottom:12px;
  line-height:1.2;
}
.pq-s{
  font-size:11px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--rouge);
  font-weight:600;
  margin-bottom:20px;
}
.pq-txt{
  font-size:14px;
  line-height:1.65;
  color:var(--gris);
}

/* ============================================
   SECTION SANTÉ & SOMMEIL
   ============================================ */
.sante{
  background:var(--bleu);
  color:var(--blanc);
  padding:96px 48px;
  position:relative;
  overflow:hidden;
}
.sante::before{
  content:"";
  position:absolute;
  top:0;left:0;width:100%;height:100%;
  background-image:radial-gradient(ellipse at 20% 30%, rgba(200,153,104,0.09) 0%, transparent 45%),
                   radial-gradient(ellipse at 80% 70%, rgba(168,50,47,0.07) 0%, transparent 50%);
  pointer-events:none;
}
.sante-inner{
  max-width:1200px;
  margin:0 auto;
  position:relative;
  z-index:2;
}
.sante-head{
  text-align:center;
  margin-bottom:56px;
}
.sante-ety{
  font-size:11px;
  letter-spacing:0.28em;
  text-transform:uppercase;
  color:var(--ocre);
  font-weight:700;
  display:block;
  margin-bottom:14px;
}
.sante-tit{
  font-family:'Fraunces',serif;
  font-size:clamp(32px,3.5vw,46px);
  font-weight:600;
  line-height:1.15;
  letter-spacing:-0.015em;
  color:var(--blanc);
  margin-bottom:20px;
}
.sante-tit em{font-style:italic;color:var(--ocre);font-weight:500;}
.sante-slogan{
  font-family:'Fraunces',serif;
  font-size:18px;
  font-style:italic;
  color:rgba(255,252,247,0.85);
  max-width:700px;
  margin:0 auto;
  line-height:1.5;
}
.sante-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:24px;
  margin-bottom:40px;
}
.sante-card{
  background:rgba(255,252,247,0.04);
  border:1px solid rgba(255,252,247,0.12);
  padding:32px 28px;
  transition:all 0.3s;
}
.sante-card:hover{
  background:rgba(200,153,104,0.06);
  border-color:var(--ocre);
  transform:translateY(-2px);
}
.sante-card-ico{
  width:44px;height:44px;
  color:var(--ocre);
  margin-bottom:18px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.sante-card-ico svg{width:100%;height:100%;}
.sante-card-t{
  font-family:'Fraunces',serif;
  font-size:22px;
  font-weight:600;
  color:var(--blanc);
  margin-bottom:12px;
  letter-spacing:-0.01em;
  line-height:1.2;
}
.sante-card-t em{font-style:italic;color:var(--ocre);}
.sante-card-d{
  font-size:14.5px;
  line-height:1.65;
  color:rgba(255,252,247,0.8);
}
.sante-card-d strong{color:var(--blanc);}
.sante-bottom{
  text-align:center;
  margin-top:48px;
  padding:32px;
  background:rgba(200,153,104,0.08);
  border-left:3px solid var(--ocre);
  border-right:3px solid var(--ocre);
}
.sante-bottom-q{
  font-family:'Fraunces',serif;
  font-size:20px;
  font-style:italic;
  color:var(--blanc);
  line-height:1.5;
  max-width:720px;
  margin:0 auto 24px;
}
.sante-bottom-q em{color:var(--ocre);font-style:italic;}
.sante-cta{
  display:inline-block;
  padding:14px 32px;
  background:var(--ocre);
  color:var(--bleu);
  text-decoration:none;
  font-size:12px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  font-weight:700;
  transition:background 0.2s;
}
.sante-cta:hover{background:var(--blanc);}

@media(max-width:900px){
  .sante{padding:64px 20px;}
  .sante-grid{grid-template-columns:1fr;gap:16px;}
  .sante-card{padding:26px 22px;}
  .sante-bottom{padding:24px 20px;}
  .sante-bottom-q{font-size:17px;}
}

/* ============================================
   MODALE LÉGALE (Mentions, CGV, Confidentialité, Cookies)
   ============================================ */
.legal-modal{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(11,37,69,0.85);
  z-index:9999;
  padding:20px;
  overflow-y:auto;
}
.legal-modal.open{display:flex;align-items:flex-start;justify-content:center;}
.legal-modal-box{
  background:var(--blanc);
  max-width:820px;
  width:100%;
  margin:20px auto;
  padding:0;
  position:relative;
  max-height:calc(100vh - 40px);
  display:flex;
  flex-direction:column;
  animation:legalOpen 0.3s cubic-bezier(0.4,0,0.2,1);
}
@keyframes legalOpen{
  from{opacity:0;transform:translateY(20px);}
  to{opacity:1;transform:translateY(0);}
}
.legal-modal-head{
  position:sticky;
  top:0;
  background:var(--blanc);
  padding:24px 40px;
  border-bottom:1px solid var(--gris-cl);
  display:flex;
  align-items:center;
  justify-content:space-between;
  z-index:2;
}
.legal-modal-tit{
  font-family:'Fraunces',serif;
  font-size:24px;
  font-weight:600;
  color:var(--bleu);
  letter-spacing:-0.01em;
}
.legal-modal-tit em{font-style:italic;color:var(--rouge);font-weight:500;}
.legal-modal-close{
  width:40px;height:40px;
  background:var(--creme);
  border:none;
  color:var(--bleu);
  font-size:22px;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:all 0.2s;
  border-radius:50%;
}
.legal-modal-close:hover{background:var(--ocre);color:var(--blanc);transform:rotate(90deg);}
.legal-modal-body{
  padding:32px 40px 40px;
  overflow-y:auto;
  flex:1;
  color:var(--noir);
  font-size:14.5px;
  line-height:1.7;
}
.legal-modal-body .legal-ety{
  font-size:10px;
  letter-spacing:0.26em;
  text-transform:uppercase;
  color:var(--rouge);
  font-weight:700;
  margin-bottom:10px;
  display:block;
}
.legal-modal-body .legal-maj{
  font-size:11px;
  color:var(--gris);
  font-style:italic;
  margin-bottom:28px;
  padding-bottom:20px;
  border-bottom:1px solid var(--gris-cl);
}
.legal-modal-body .legal-intro{
  font-family:'Fraunces',serif;
  font-size:16px;
  line-height:1.65;
  color:var(--bleu);
  margin-bottom:28px;
}
.legal-modal-body h3{
  font-family:'Fraunces',serif;
  font-size:20px;
  font-weight:600;
  color:var(--bleu);
  margin:36px 0 12px;
  letter-spacing:-0.01em;
  padding-bottom:8px;
  border-bottom:1px solid var(--gris-cl);
}
.legal-modal-body h3 .num{color:var(--ocre);margin-right:10px;font-size:16px;}
.legal-modal-body h4{
  font-family:'Fraunces',serif;
  font-size:16px;
  font-weight:600;
  color:var(--bleu);
  margin:22px 0 8px;
  letter-spacing:-0.01em;
}
.legal-modal-body p{margin-bottom:12px;font-size:14px;line-height:1.7;}
.legal-modal-body p strong{color:var(--bleu);}
.legal-modal-body ul{margin:10px 0 16px 20px;}
.legal-modal-body ul li{margin-bottom:6px;padding-left:4px;font-size:13.5px;line-height:1.6;}
.legal-modal-body ul li::marker{color:var(--ocre);}
.legal-modal-body .legal-card{
  background:var(--creme);
  padding:16px 20px;
  margin:14px 0;
  border-left:3px solid var(--ocre);
  font-size:13.5px;
  line-height:1.7;
}
.legal-modal-body .legal-card-t{
  font-family:'Fraunces',serif;
  font-size:15px;
  font-weight:700;
  color:var(--bleu);
  margin-bottom:6px;
}
.legal-modal-body .legal-card strong{color:var(--bleu);}
.legal-modal-body .legal-alert{
  background:rgba(200,153,104,0.12);
  border-left:3px solid var(--rouge);
  padding:14px 18px;
  margin:14px 0;
  font-size:13px;
  font-style:italic;
  color:var(--bleu);
}
.legal-modal-body .legal-alert strong{color:var(--rouge);font-style:normal;}
.legal-modal-body .legal-rights{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
  margin:14px 0;
}
.legal-modal-body .legal-right{
  background:var(--blanc);
  border:1px solid var(--gris-cl);
  padding:12px 14px;
}
.legal-modal-body .legal-right-t{
  font-family:'Fraunces',serif;
  font-size:13px;
  font-weight:700;
  color:var(--bleu);
  margin-bottom:3px;
}
.legal-modal-body .legal-right-d{font-size:11.5px;line-height:1.5;color:var(--noir);}
.legal-modal-body .legal-cat{
  background:var(--blanc);
  border:1px solid var(--gris-cl);
  padding:18px 22px;
  margin:14px 0;
}
.legal-modal-body .legal-cat-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:10px;
  padding-bottom:10px;
  border-bottom:1px solid var(--gris-cl);
}
.legal-modal-body .legal-cat-t{
  font-family:'Fraunces',serif;
  font-size:15px;
  font-weight:600;
  color:var(--bleu);
}
.legal-modal-body .legal-cat-b{
  font-size:9px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  font-weight:700;
  padding:3px 9px;
}
.legal-modal-body .legal-cat-b.need{background:var(--bleu);color:var(--blanc);}
.legal-modal-body .legal-cat-b.opt{background:var(--ocre);color:var(--bleu);}
.legal-modal-body .legal-cat-d{font-size:13px;line-height:1.6;color:var(--noir);margin-bottom:8px;}
.legal-modal-body .legal-cat-list{font-size:12.5px;color:var(--gris);line-height:1.6;}
.legal-modal-body .legal-retract{
  background:var(--bleu);
  color:var(--blanc);
  padding:20px 22px;
  margin:16px 0;
}
.legal-modal-body .legal-retract-t{
  font-family:'Fraunces',serif;
  font-size:16px;
  font-weight:600;
  margin-bottom:10px;
  color:var(--ocre);
}
.legal-modal-body .legal-retract-line{
  padding:6px 0;
  border-bottom:1px dashed rgba(255,252,247,0.25);
  font-size:12.5px;
}
.legal-modal-body .legal-retract-line:last-child{border-bottom:none;}
.legal-modal-body a{color:var(--rouge);text-decoration:none;}
.legal-modal-body a:hover{text-decoration:underline;}

@media(max-width:720px){
  .legal-modal{padding:10px;}
  .legal-modal-box{margin:10px auto;max-height:calc(100vh - 20px);}
  .legal-modal-head{padding:18px 20px;}
  .legal-modal-tit{font-size:19px;}
  .legal-modal-body{padding:24px 20px 30px;}
  .legal-modal-body h3{font-size:18px;margin:28px 0 10px;}
  .legal-modal-body h4{font-size:15px;}
  .legal-modal-body .legal-rights{grid-template-columns:1fr;}
}

/* ============================================
   SECTION AVIS & CONFIANCE (social proof)
   ============================================ */
.conf{
  background:var(--creme);
  padding:96px 48px;
}
.conf-inner{
  max-width:1200px;
  margin:0 auto;
}
.conf-head{
  text-align:center;
  margin-bottom:56px;
}
.conf-ety{
  font-size:11px;
  letter-spacing:0.26em;
  text-transform:uppercase;
  color:var(--rouge);
  font-weight:700;
  margin-bottom:14px;
  display:block;
}
.conf-tit{
  font-family:'Fraunces',serif;
  font-size:clamp(32px,3.5vw,46px);
  font-weight:600;
  line-height:1.15;
  letter-spacing:-0.015em;
  color:var(--bleu);
  margin-bottom:18px;
}
.conf-tit em{font-style:italic;color:var(--rouge);font-weight:500;}
.conf-sub{
  font-family:'Fraunces',serif;
  font-size:17px;
  font-style:italic;
  color:var(--gris);
  max-width:640px;
  margin:0 auto;
  line-height:1.5;
}
.conf-grid{
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:40px;
  align-items:stretch;
}
.conf-main{
  background:var(--blanc);
  padding:48px;
  border:1px solid var(--gris-cl);
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  position:relative;
}
.conf-stars{
  display:flex;
  gap:4px;
  margin-bottom:16px;
  color:var(--ocre);
  font-size:22px;
  letter-spacing:2px;
  opacity:0.35;
}
.conf-main-tit{
  font-family:'Fraunces',serif;
  font-size:26px;
  font-weight:600;
  color:var(--bleu);
  margin-bottom:12px;
  letter-spacing:-0.01em;
}
.conf-main-tit em{font-style:italic;color:var(--rouge);}
.conf-main-txt{
  font-size:15px;
  line-height:1.7;
  color:var(--noir);
  max-width:520px;
  margin-bottom:20px;
}
.conf-main-quote{
  font-family:'Fraunces',serif;
  font-style:italic;
  font-size:16px;
  color:var(--gris);
  padding:18px 24px;
  border-left:3px solid var(--ocre);
  background:var(--creme);
  text-align:left;
  max-width:520px;
  margin-top:8px;
}
.conf-main-quote strong{
  display:block;
  font-style:normal;
  color:var(--bleu);
  font-weight:700;
  font-size:12px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  margin-top:8px;
}
.conf-side{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.conf-badge{
  background:var(--bleu);
  color:var(--blanc);
  padding:24px;
  flex:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.conf-badge svg{
  width:32px;height:32px;
  color:var(--ocre);
  margin-bottom:12px;
}
.conf-badge strong{
  font-family:'Fraunces',serif;
  font-size:18px;
  font-weight:600;
  display:block;
  margin-bottom:6px;
}
.conf-badge span{
  font-size:13px;
  color:rgba(255,252,247,0.75);
  line-height:1.5;
}
.conf-cta{
  text-align:center;
  margin-top:40px;
}
.conf-cta a{
  display:inline-block;
  padding:14px 32px;
  background:transparent;
  color:var(--bleu);
  border:1.5px solid var(--bleu);
  text-decoration:none;
  font-size:12px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  font-weight:700;
  transition:all 0.2s;
}
.conf-cta a:hover{background:var(--bleu);color:var(--blanc);}

@media(max-width:900px){
  .conf{padding:64px 20px;}
  .conf-grid{grid-template-columns:1fr;gap:20px;}
  .conf-main{padding:32px 24px;}
  .conf-side{flex-direction:row;}
  .conf-badge{padding:18px;}
}
@media(max-width:560px){
  .conf-side{flex-direction:column;}
}

/* ============================================
   SECTION COLLABORATIONS (influenceurs, presse, pros)
   ============================================ */
.collab{
  background:var(--bleu);
  color:var(--blanc);
  padding:96px 48px;
  position:relative;
  overflow:hidden;
}
.collab::before{
  content:"";
  position:absolute;
  top:0;left:0;
  width:100%;height:100%;
  background-image:radial-gradient(circle at 15% 25%, rgba(200,153,104,0.12) 0%, transparent 45%),
                   radial-gradient(circle at 85% 75%, rgba(168,50,47,0.10) 0%, transparent 50%);
  pointer-events:none;
}
.collab-inner{
  max-width:1200px;
  margin:0 auto;
  position:relative;
  z-index:2;
}
.collab-head{
  text-align:center;
  margin-bottom:56px;
}
.collab-ety{
  font-size:11px;
  letter-spacing:0.28em;
  text-transform:uppercase;
  color:var(--ocre);
  font-weight:700;
  margin-bottom:14px;
  display:block;
}
.collab-tit{
  font-family:'Fraunces',serif;
  font-size:clamp(32px,3.5vw,46px);
  font-weight:600;
  line-height:1.1;
  letter-spacing:-0.015em;
  color:var(--blanc);
  margin-bottom:20px;
}
.collab-tit em{font-style:italic;color:var(--ocre);font-weight:500;}
.collab-sub{
  font-family:'Fraunces',serif;
  font-size:17px;
  font-style:italic;
  color:rgba(255,252,247,0.75);
  max-width:680px;
  margin:0 auto;
  line-height:1.55;
}
.collab-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  margin-bottom:48px;
}
.collab-card{
  background:rgba(255,252,247,0.04);
  border:1px solid rgba(255,252,247,0.12);
  padding:32px 28px;
  text-align:center;
  transition:all 0.3s;
}
.collab-card:hover{
  background:rgba(200,153,104,0.08);
  border-color:var(--ocre);
  transform:translateY(-2px);
}
.collab-card-ico{
  width:48px;height:48px;
  margin:0 auto 18px;
  color:var(--ocre);
  display:flex;
  align-items:center;
  justify-content:center;
}
.collab-card-ico svg{width:100%;height:100%;}
.collab-card-t{
  font-family:'Fraunces',serif;
  font-size:22px;
  font-weight:600;
  color:var(--blanc);
  margin-bottom:12px;
  letter-spacing:-0.01em;
}
.collab-card-d{
  font-size:14px;
  line-height:1.65;
  color:rgba(255,252,247,0.75);
}
.collab-cta-box{
  background:rgba(255,252,247,0.04);
  border:1px solid rgba(200,153,104,0.35);
  padding:36px 40px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:32px;
  flex-wrap:wrap;
}
.collab-cta-txt{flex:1;min-width:280px;}
.collab-cta-tit{
  font-family:'Fraunces',serif;
  font-size:22px;
  font-weight:600;
  color:var(--blanc);
  margin-bottom:8px;
  letter-spacing:-0.01em;
}
.collab-cta-tit em{font-style:italic;color:var(--ocre);}
.collab-cta-s{
  font-size:14.5px;
  line-height:1.55;
  color:rgba(255,252,247,0.75);
}
.collab-cta-btn{
  display:inline-block;
  padding:16px 32px;
  background:var(--ocre);
  color:var(--noir);
  text-decoration:none;
  font-size:12px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  font-weight:700;
  transition:background 0.2s;
  flex-shrink:0;
}
.collab-cta-btn:hover{background:var(--blanc);}

@media(max-width:900px){
  .collab{padding:64px 20px;}
  .collab-grid{grid-template-columns:1fr;gap:14px;}
  .collab-cta-box{padding:28px 24px;flex-direction:column;align-items:flex-start;}
  .collab-cta-btn{width:100%;text-align:center;}
}

/* AVIS */
.avis{
  background:var(--bleu);
  color:var(--blanc);
  padding:96px 48px;
  text-align:center;
}
.avis-inner{max-width:1200px;margin:0 auto;}
.avis-head{margin-bottom:56px;}
.avis-ety{font-size:10.5px;letter-spacing:0.3em;text-transform:uppercase;color:var(--ocre);font-weight:500;margin-bottom:16px;}
.avis-tit{
  font-family:'Fraunces',serif;
  font-size:44px;font-weight:600;
  margin-bottom:16px;
}
.avis-score{
  display:inline-flex;
  align-items:center;
  gap:16px;
  padding:16px 28px;
  background:rgba(255,251,245,.08);
  border:1px solid rgba(212,165,116,.3);
}
.avis-sc-n{font-family:'Fraunces',serif;font-size:36px;font-weight:700;color:var(--ocre);font-style:italic;}
.avis-sc-t{text-align:left;}
.avis-sc-t strong{display:block;font-size:14px;}
.avis-sc-t span{font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,251,245,.6);}

.avis-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:32px;
  margin-top:48px;
}
.avis-c{
  background:rgba(255,251,245,.05);
  padding:32px 28px;
  text-align:left;
  border-left:2px solid var(--ocre);
}
.avis-c:nth-child(2){border-left-color:var(--rouge);}
.avis-stars{color:var(--ocre);margin-bottom:14px;font-size:16px;letter-spacing:2px;}
.avis-tx{
  font-family:'Fraunces',serif;
  font-size:18px;
  line-height:1.55;
  font-style:italic;
  margin-bottom:20px;
}
.avis-aut{font-size:13px;color:var(--ocre);font-weight:600;letter-spacing:0.05em;}
.avis-aut span{display:block;color:rgba(255,251,245,.5);font-size:11px;font-weight:400;margin-top:2px;letter-spacing:0.1em;text-transform:uppercase;}

/* FOOTER */
footer{
  background:var(--noir);
  color:rgba(255,251,245,.7);
  padding:80px 48px 40px;
}
.f-in{max-width:1440px;margin:0 auto;}
.f-top{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr 1.3fr;
  gap:48px;
  padding-bottom:48px;
  border-bottom:1px solid rgba(255,251,245,.1);
}
.f-logo-n{
  font-family:'Fraunces',serif;
  font-size:44px;
  font-weight:700;
  color:var(--blanc);
  line-height:1;
  margin-bottom:16px;
}
.f-slog{
  font-family:'Fraunces',serif;
  font-style:italic;
  font-size:16px;
  color:var(--ocre);
  margin-bottom:24px;
}
.f-desc{
  font-size:13px;
  line-height:1.65;
  color:rgba(255,251,245,.5);
  max-width:320px;
}
.f-col h4{
  font-size:11px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--ocre);
  font-weight:700;
  margin-bottom:20px;
}
.f-col ul{list-style:none;}
.f-col li{margin-bottom:10px;}
.f-col a{
  color:rgba(255,251,245,.65);
  text-decoration:none;
  font-size:13px;
  transition:color .2s;
}
.f-col a:hover{color:var(--ocre);}
.f-nl p{font-size:13px;color:rgba(255,251,245,.55);line-height:1.6;margin-bottom:16px;}
.f-nl-f{display:flex;border-bottom:1px solid rgba(255,251,245,.2);}
.f-nl-f input{
  flex:1;background:transparent;border:none;color:var(--blanc);
  padding:12px 0;font-size:13px;font-family:'Manrope',sans-serif;outline:none;
}
.f-nl-f input::placeholder{color:rgba(255,251,245,.35);}
.f-nl-f button{
  background:var(--rouge);
  border:none;color:var(--blanc);
  padding:10px 16px;cursor:pointer;font-weight:700;font-size:14px;
}
.f-nl-f button:hover:not(:disabled){background:var(--rouge-fc,#8B2825);}
.f-nl-f button:focus-visible{outline:2px solid var(--ocre);outline-offset:2px;}
.f-nl-f button:disabled{opacity:.5;cursor:wait;}
.f-nl-f input.nl-hp{position:absolute;left:-9999px;width:1px;height:1px;padding:0;opacity:0;pointer-events:none;}
.f-nl-msg{margin-top:14px;font-size:13px;line-height:1.6;color:rgba(255,251,245,.85);min-height:1px;}
.f-nl-msg.success{color:var(--ocre);font-weight:600;}
.f-nl-msg.error,.f-nl-msg.error-fallback{color:#F4B0AC;}
.f-nl-msg a{color:inherit;text-decoration:underline;text-underline-offset:2px;}
.f-nl-msg a:hover{opacity:.8;}
.f-bot{
  padding-top:28px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:16px;
  font-size:11px;
  color:rgba(255,251,245,.35);
  letter-spacing:0.12em;
  text-transform:uppercase;
}
.f-bot a{color:rgba(255,251,245,.5);text-decoration:none;margin-left:24px;}
@media(max-width:720px){
  .f-bot{flex-direction:column;align-items:flex-start;text-align:left;}
  .f-bot a{margin-left:0;margin-right:16px;}
  .f-bot div{display:flex;flex-wrap:wrap;gap:4px 0;}
}

/* BANDEAU GARANTIES */
.garanties{
  background:var(--blanc);
  padding:48px 48px;
  border-bottom:1px solid var(--gris-cl);
}
.garanties-inner{
  max-width:1440px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:32px;
}
.gar{
  display:flex;
  align-items:flex-start;
  gap:16px;
  padding:0 16px;
  position:relative;
}
.gar:not(:last-child)::after{
  content:"";
  position:absolute;
  right:-16px;top:8px;bottom:8px;
  width:1px;background:var(--gris-cl);
}
.gar-ico{
  width:44px;height:44px;
  background:var(--creme);
  color:var(--bleu);
  display:flex;align-items:center;justify-content:center;
  font-size:20px;
  flex-shrink:0;
  border-radius:50%;
}
.gar-txt strong{
  display:block;
  font-family:'Fraunces',serif;
  font-size:16px;
  font-weight:600;
  color:var(--bleu);
  margin-bottom:4px;
  line-height:1.2;
}
.gar-txt span{
  font-size:12.5px;
  color:var(--gris);
  line-height:1.45;
}

/* SECTION COMPARATIVE DUVET VS SYNTHÉTIQUE */
.compare{
  background:var(--creme);
  padding:120px 48px;
}
.compare-inner{
  max-width:1200px;
  margin:0 auto;
}
.compare-head{
  text-align:center;
  max-width:760px;
  margin:0 auto 64px;
}
.compare-ety{
  display:inline-block;
  font-size:10.5px;
  letter-spacing:0.3em;
  text-transform:uppercase;
  color:var(--bleu);
  font-weight:600;
  margin-bottom:20px;
  padding:6px 14px;
  border:1px solid var(--gris-cl);
}
.compare-tit{
  font-family:'Fraunces',serif;
  font-size:clamp(40px,5vw,64px);
  font-weight:600;
  color:var(--bleu);
  line-height:1.05;
  letter-spacing:-0.02em;
  margin-bottom:20px;
}
.compare-tit em{color:var(--rouge);font-style:italic;font-weight:500;}
.compare-sub{
  font-size:17px;
  color:var(--gris);
  line-height:1.6;
}
.compare-table{
  background:var(--blanc);
  overflow:hidden;
  box-shadow:0 4px 24px rgba(11,37,69,.06);
}
.compare-row{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr;
  border-bottom:1px solid var(--gris-cl);
}
.compare-row:last-child{border-bottom:none;}
.compare-row-h{
  background:var(--bleu);
  color:var(--blanc);
}
.compare-row-h .compare-cell{padding:24px 28px;font-weight:600;}
.compare-row-h .compare-cell-duvea{
  background:var(--rouge);
  position:relative;
}
.compare-row-h .compare-cell-duvea::before{
  content:"";
  position:absolute;
  top:0;left:0;right:0;
  height:3px;
  background:var(--ocre);
}
.compare-cell{
  padding:24px 28px;
  font-size:15px;
  line-height:1.5;
}
.compare-cell-crit{
  font-family:'Fraunces',serif;
  font-weight:600;
  color:var(--bleu);
  background:var(--creme);
}
.compare-cell-duvea{
  color:var(--bleu);
  font-weight:500;
  border-left:1px solid var(--gris-cl);
  border-right:1px solid var(--gris-cl);
  position:relative;
}
.compare-cell-duvea::after{
  content:"✓";
  color:var(--rouge);
  font-weight:700;
  margin-right:8px;
}
.compare-cell-synth{
  color:var(--gris);
}
.compare-cell-synth::after{
  content:"—";
  color:var(--gris-cl);
  margin-right:8px;
}
.compare-cell-h-label{
  font-size:11px;
  letter-spacing:0.2em;
  text-transform:uppercase;
  font-weight:700;
}
.compare-note{
  text-align:center;
  margin-top:40px;
  font-size:13px;
  color:var(--gris);
  font-style:italic;
}
.compare-note em{color:var(--bleu);font-style:normal;font-weight:600;}

/* GUIDE D'ACHAT */
.guide{
  background:var(--blanc);
  padding:120px 48px;
  border-top:1px solid var(--gris-cl);
}
.guide-inner{max-width:1440px;margin:0 auto;}
.guide-head{text-align:center;max-width:780px;margin:0 auto 64px;}
.guide-ety{
  display:inline-block;
  font-size:10.5px;
  letter-spacing:0.3em;
  text-transform:uppercase;
  color:var(--bleu);
  font-weight:600;
  margin-bottom:20px;
  padding:6px 14px;
  border:1px solid var(--gris-cl);
}
.guide-tit{
  font-family:'Fraunces',serif;
  font-size:clamp(40px,5.5vw,68px);
  font-weight:600;
  color:var(--bleu);
  line-height:1.05;
  letter-spacing:-0.02em;
  margin-bottom:20px;
}
.guide-tit em{color:var(--rouge);font-style:italic;font-weight:500;}
.guide-sub{font-size:17px;color:var(--gris);line-height:1.6;}

.guide-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  margin-bottom:56px;
}
.guide-card{
  background:var(--creme);
  padding:32px 28px;
  text-decoration:none;
  color:inherit;
  transition:transform .3s, box-shadow .3s;
  display:flex;
  flex-direction:column;
  gap:12px;
  border-top:2px solid transparent;
}
.guide-card:hover{
  transform:translateY(-4px);
  box-shadow:0 12px 32px rgba(11,37,69,.08);
  border-top-color:var(--rouge);
}
.guide-card-cat{
  font-size:10.5px;
  letter-spacing:0.25em;
  text-transform:uppercase;
  color:var(--rouge);
  font-weight:600;
}
.guide-card-tit{
  font-family:'Fraunces',serif;
  font-size:22px;
  font-weight:600;
  color:var(--bleu);
  line-height:1.2;
  margin:4px 0;
}
.guide-card-desc{
  font-size:14px;
  line-height:1.55;
  color:var(--gris);
  flex:1;
}
.guide-card-more{
  font-size:12px;
  letter-spacing:0.15em;
  text-transform:uppercase;
  color:var(--bleu);
  font-weight:700;
  margin-top:8px;
  transition:color .2s;
}
.guide-card:hover .guide-card-more{color:var(--rouge);}

.guide-card-big{
  grid-column:span 3;
  background:var(--bleu);
  color:var(--blanc);
  padding:56px 48px;
  flex-direction:row;
  align-items:center;
  gap:48px;
  border-top:none;
  border-left:4px solid var(--rouge);
  position:relative;
  overflow:hidden;
}
.guide-card-big::before{
  content:"🪶";
  position:absolute;
  top:40px;right:56px;
  font-size:80px;
  opacity:0.12;
}
.guide-card-big:hover{
  border-top:none;
  border-left-color:var(--ocre);
  transform:translateY(-4px);
}
.guide-card-big .guide-card-cat{
  color:var(--ocre);
  flex:0 0 180px;
  font-size:12px;
}
.guide-card-big .guide-card-tit{
  color:var(--blanc);
  font-size:36px;
  font-weight:700;
  flex:1;
  margin:0;
}
.guide-card-big .guide-card-desc{
  color:rgba(255,252,247,.8);
  font-size:15px;
  flex:1;
  max-width:380px;
}
.guide-card-big .guide-card-more{
  color:var(--ocre);
  font-size:13px;
  flex-shrink:0;
}
.guide-card-big:hover .guide-card-more{color:var(--blanc);}

.guide-cta-box{
  background:var(--creme);
  padding:40px 48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  border-left:4px solid var(--ocre);
}
.guide-cta-tit{
  font-family:'Fraunces',serif;
  font-size:28px;
  font-weight:600;
  color:var(--bleu);
  margin-bottom:6px;
}
.guide-cta-txt p{
  font-size:15px;
  color:var(--gris);
  line-height:1.55;
}
.guide-cta-btn{
  background:var(--bleu);
  color:var(--blanc);
  padding:18px 36px;
  font-size:12.5px;
  letter-spacing:0.12em;
  text-transform:uppercase;
  text-decoration:none;
  font-weight:600;
  transition:background .25s;
  flex-shrink:0;
  white-space:nowrap;
}
.guide-cta-btn:hover{background:var(--rouge);}

/* QUIZ */
.quiz{
  background:linear-gradient(180deg, var(--creme) 0%, var(--blanc) 100%);
  padding:120px 48px;
}
.quiz-inner{max-width:900px;margin:0 auto;text-align:center;}
.quiz-ety{
  display:inline-block;
  font-size:10.5px;
  letter-spacing:0.3em;
  text-transform:uppercase;
  color:var(--rouge);
  font-weight:600;
  margin-bottom:20px;
  padding:6px 14px;
  border:1px solid var(--rouge);
}
.quiz-tit{
  font-family:'Fraunces',serif;
  font-size:clamp(40px,5.5vw,64px);
  font-weight:600;
  color:var(--bleu);
  line-height:1.05;
  letter-spacing:-0.02em;
  margin-bottom:24px;
}
.quiz-tit em{color:var(--rouge);font-style:italic;font-weight:500;}
.quiz-intro{
  font-size:18px;
  color:var(--gris);
  line-height:1.6;
  margin-bottom:48px;
  max-width:640px;
  margin-left:auto;
  margin-right:auto;
}

.quiz-box{
  background:var(--blanc);
  padding:56px 48px;
  box-shadow:0 12px 48px rgba(11,37,69,.08);
  text-align:left;
  position:relative;
  min-height:400px;
}
.quiz-step{display:none;}
.quiz-step.active{display:block;animation:fadeIn .4s ease;}
@keyframes fadeIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}

.quiz-progress{
  display:flex;
  gap:8px;
  margin-bottom:40px;
}
.quiz-progress-dot{
  height:3px;
  flex:1;
  background:var(--gris-cl);
  transition:background .3s;
}
.quiz-progress-dot.done{background:var(--rouge);}

.quiz-q-num{
  font-size:11px;
  letter-spacing:0.25em;
  text-transform:uppercase;
  color:var(--rouge);
  font-weight:700;
  margin-bottom:12px;
}
.quiz-q{
  font-family:'Fraunces',serif;
  font-size:32px;
  font-weight:600;
  color:var(--bleu);
  line-height:1.2;
  margin-bottom:32px;
}
.quiz-opts{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
  margin-bottom:32px;
}
.quiz-opt{
  background:var(--creme);
  padding:20px 24px;
  font-size:15px;
  color:var(--bleu);
  font-weight:500;
  cursor:pointer;
  text-align:left;
  border:2px solid transparent;
  transition:all .2s;
  font-family:inherit;
  display:flex;
  align-items:center;
  gap:12px;
}
.quiz-opt:hover{background:var(--blanc);border-color:var(--rouge);transform:translateY(-2px);}
.quiz-opt-ico{font-size:22px;flex-shrink:0;}

.quiz-nav{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-top:20px;
  border-top:1px solid var(--gris-cl);
}
.quiz-back{
  background:none;
  border:none;
  color:var(--gris);
  font-size:12px;
  letter-spacing:0.15em;
  text-transform:uppercase;
  font-weight:600;
  cursor:pointer;
  padding:8px 0;
  font-family:inherit;
}
.quiz-back:hover{color:var(--bleu);}
.quiz-back:disabled{opacity:0;pointer-events:none;}

.quiz-result-ico{
  font-size:56px;
  margin-bottom:16px;
  text-align:center;
}
.quiz-result-tit{
  font-family:'Fraunces',serif;
  font-size:36px;
  font-weight:600;
  color:var(--bleu);
  line-height:1.15;
  margin-bottom:16px;
  text-align:center;
}
.quiz-result-tit em{color:var(--rouge);font-style:italic;font-weight:500;}
.quiz-result-desc{
  font-size:16px;
  color:var(--gris);
  line-height:1.65;
  text-align:center;
  max-width:580px;
  margin:0 auto 32px;
}
.quiz-result-ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.quiz-result-btn{
  background:var(--bleu);
  color:var(--blanc);
  padding:16px 32px;
  font-size:12px;
  letter-spacing:0.12em;
  text-transform:uppercase;
  text-decoration:none;
  font-weight:600;
  transition:background .25s;
  border:none;
  cursor:pointer;
  font-family:inherit;
}
.quiz-result-btn:hover{background:var(--rouge);}
.quiz-result-btn.ghost{
  background:transparent;
  color:var(--bleu);
  border:1px solid var(--bleu);
}
.quiz-result-btn.ghost:hover{background:var(--bleu);color:var(--blanc);}

/* PLACEHOLDERS ÉLÉGANTS (remplace photos en attente) */
.placeholder-img{
  width:100%;height:100%;
  display:flex;align-items:center;justify-content:center;
  position:relative;
  overflow:hidden;
}
.placeholder-img.hero{
  background:
    radial-gradient(ellipse at 30% 30%, rgba(212,165,116,0.25) 0%, transparent 50%),
    radial-gradient(ellipse at 70% 70%, rgba(168,50,47,0.15) 0%, transparent 50%),
    linear-gradient(135deg, var(--creme) 0%, var(--gris-cl) 100%);
}
.placeholder-img.couette{
  background:
    repeating-linear-gradient(45deg, rgba(11,37,69,0.04) 0px, rgba(11,37,69,0.04) 20px, transparent 20px, transparent 40px),
    linear-gradient(135deg, var(--creme) 0%, #E8DFD0 100%);
}
.placeholder-img.oreiller{
  background:
    radial-gradient(circle at 50% 50%, rgba(212,165,116,0.2) 0%, transparent 60%),
    linear-gradient(135deg, #F0E8D5 0%, var(--creme) 100%);
}
.placeholder-img.traversin{
  background:
    repeating-linear-gradient(0deg, rgba(168,50,47,0.05) 0px, rgba(168,50,47,0.05) 2px, transparent 2px, transparent 30px),
    linear-gradient(135deg, var(--creme) 0%, #E8DFD0 100%);
}
.placeholder-img.atelier{
  background:
    linear-gradient(135deg, rgba(11,37,69,0.08) 0%, transparent 50%),
    radial-gradient(circle at 70% 40%, rgba(212,165,116,0.15) 0%, transparent 60%),
    linear-gradient(160deg, #EAE0CE 0%, var(--gris-cl) 100%);
}
.placeholder-label{
  position:absolute;
  inset:0;
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  color:var(--bleu);
  opacity:0.35;
  text-align:center;
  padding:40px;
}
.placeholder-label-ico{
  font-size:72px;
  margin-bottom:12px;
  line-height:1;
}
.placeholder-label-txt{
  font-family:'Fraunces',serif;
  font-size:14px;
  letter-spacing:0.3em;
  text-transform:uppercase;
  font-weight:500;
}
.placeholder-photo{
  position:absolute;
  inset:0;
  width:100%;height:100%;
  object-fit:cover;
  color:transparent;
  font-size:0;
  z-index:2;
}

/* ============================================
   NOUVELLES SECTIONS
   ============================================ */

/* ============================================
   SECTION MANUFACTURE (preuve sociale chiffrée)
   ============================================ */
.manuf{
  background:var(--blanc);
  padding:80px 48px;
  border-top:1px solid var(--gris-cl);
  border-bottom:1px solid var(--gris-cl);
}
.manuf-inner{
  max-width:1200px;
  margin:0 auto;
}
.manuf-head{
  text-align:center;
  margin-bottom:48px;
}
.manuf-ety{
  font-size:11px;
  letter-spacing:0.28em;
  text-transform:uppercase;
  color:var(--ocre);
  font-weight:700;
  display:block;
  margin-bottom:12px;
}
.manuf-tit{
  font-family:'Fraunces',serif;
  font-size:clamp(26px,2.8vw,36px);
  font-weight:600;
  line-height:1.2;
  color:var(--bleu);
  letter-spacing:-0.01em;
  max-width:720px;
  margin:0 auto;
}
.manuf-tit em{font-style:italic;color:var(--rouge);font-weight:500;}
.manuf-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
  align-items:stretch;
}
.manuf-i{
  text-align:center;
  padding:20px 14px;
  position:relative;
}
.manuf-i:not(:last-child)::after{
  content:"";
  position:absolute;
  right:-10px;
  top:20%;
  height:60%;
  width:1px;
  background:var(--gris-cl);
}
.manuf-num{
  font-family:'Fraunces',serif;
  font-size:44px;
  font-weight:600;
  line-height:1;
  color:var(--bleu);
  letter-spacing:-0.02em;
  margin-bottom:6px;
}
.manuf-num em{font-style:italic;color:var(--rouge);font-weight:500;font-size:34px;vertical-align:1px;}
.manuf-l{
  font-size:12px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--bleu);
  font-weight:700;
  margin-bottom:4px;
}
.manuf-s{
  font-size:13px;
  color:var(--gris);
  line-height:1.45;
}

@media(max-width:900px){
  .manuf{padding:56px 20px;}
  .manuf-grid{grid-template-columns:repeat(2,1fr);gap:14px;}
  .manuf-i::after{display:none !important;}
  .manuf-num{font-size:36px;}
}
@media(max-width:480px){
  .manuf-grid{grid-template-columns:1fr;}
}

/* ============================================
   SECTION PROBLÈMES CLIENT → SOLUTIONS
   ============================================ */
.probl{
  background:var(--creme);
  padding:96px 48px;
  position:relative;
}
.probl-inner{
  max-width:1200px;
  margin:0 auto;
}
.probl-head{
  text-align:center;
  margin-bottom:56px;
}
.probl-ety{
  font-size:11px;
  letter-spacing:0.28em;
  text-transform:uppercase;
  color:var(--rouge);
  font-weight:700;
  display:block;
  margin-bottom:14px;
}
.probl-tit{
  font-family:'Fraunces',serif;
  font-size:clamp(32px,3.5vw,46px);
  font-weight:600;
  line-height:1.15;
  letter-spacing:-0.015em;
  color:var(--bleu);
  margin-bottom:18px;
}
.probl-tit em{font-style:italic;color:var(--rouge);font-weight:500;}
.probl-sub{
  font-family:'Fraunces',serif;
  font-size:17px;
  font-style:italic;
  color:var(--gris);
  max-width:680px;
  margin:0 auto;
  line-height:1.55;
}
.probl-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  margin-bottom:40px;
}
.probl-card{
  background:var(--blanc);
  border:1px solid var(--gris-cl);
  padding:36px 32px;
  display:flex;
  flex-direction:column;
  transition:all 0.3s;
  cursor:pointer;
  text-decoration:none;
  color:inherit;
}
.probl-card:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 40px rgba(11,37,69,0.10);
  border-color:var(--ocre);
}
.probl-q{
  font-family:'Fraunces',serif;
  font-size:22px;
  font-weight:600;
  line-height:1.25;
  color:var(--bleu);
  margin-bottom:14px;
  letter-spacing:-0.015em;
  display:flex;
  align-items:flex-start;
  gap:10px;
}
.probl-q::before{
  content:"";
  width:24px;height:2px;
  background:var(--rouge);
  margin-top:14px;
  flex-shrink:0;
}
.probl-d{
  font-size:14px;
  line-height:1.65;
  color:var(--noir);
  margin-bottom:20px;
  flex:1;
}
.probl-sol{
  padding:14px 0;
  border-top:1px solid var(--gris-cl);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.probl-sol-lbl{
  font-size:11px;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--gris);
  font-weight:700;
}
.probl-sol-a{
  font-family:'Fraunces',serif;
  font-size:15px;
  font-weight:600;
  color:var(--rouge);
  letter-spacing:-0.01em;
  transition:color 0.2s;
}
.probl-card:hover .probl-sol-a{color:var(--bleu);}
.probl-sol-a::after{
  content:"→";
  display:inline-block;
  margin-left:6px;
  transition:transform 0.2s;
}
.probl-card:hover .probl-sol-a::after{transform:translateX(4px);}

.probl-cta{
  text-align:center;
  margin-top:40px;
}
.probl-cta-btn{
  display:inline-block;
  padding:16px 36px;
  background:var(--bleu);
  color:var(--blanc);
  text-decoration:none;
  font-size:12px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  font-weight:700;
  transition:all 0.2s;
  border:none;
  cursor:pointer;
}
.probl-cta-btn:hover{background:var(--rouge);}
.probl-cta-s{
  display:block;
  margin-top:14px;
  font-size:13px;
  color:var(--gris);
  font-style:italic;
}

@media(max-width:900px){
  .probl{padding:64px 20px;}
  .probl-grid{grid-template-columns:1fr;gap:16px;}
  .probl-card{padding:28px 24px;}
}

/* SECTION "VOTRE COUETTE, PAS CELLE DU VOISIN" */
.vccdv{
  background:var(--bleu);
  color:var(--blanc);
  padding:96px 48px;
  position:relative;
  overflow:hidden;
}
.vccdv::before{
  content:"";
  position:absolute;
  top:-120px;right:-120px;
  width:400px;height:400px;
  border-radius:50%;
  background:var(--rouge);
  opacity:0.08;
}
.vccdv::after{
  content:"";
  position:absolute;
  bottom:-80px;left:-80px;
  width:300px;height:300px;
  border-radius:50%;
  background:var(--ocre);
  opacity:0.06;
}
.vccdv-inner{
  max-width:1100px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  align-items:center;
  position:relative;
  z-index:2;
}
.vccdv-ety{
  font-family:'Manrope',sans-serif;
  font-size:11px;
  letter-spacing:0.28em;
  text-transform:uppercase;
  color:var(--ocre);
  margin-bottom:24px;
  display:block;
  font-weight:600;
}
.vccdv-tit{
  font-family:'Fraunces',serif;
  font-size:clamp(40px,5vw,58px);
  font-weight:600;
  line-height:1.05;
  letter-spacing:-0.02em;
  margin-bottom:32px;
}
.vccdv-tit em{
  font-style:italic;
  color:var(--ocre);
  font-weight:500;
}
.vccdv-txt{
  font-size:17px;
  line-height:1.75;
  color:rgba(255,252,247,0.88);
  margin-bottom:24px;
  font-weight:400;
}
.vccdv-txt strong{color:var(--blanc);font-weight:600;}
.vccdv-chiffre{
  display:inline-block;
  padding:12px 24px;
  background:rgba(200,153,104,0.12);
  border:1px solid rgba(200,153,104,0.3);
  border-radius:4px;
  font-family:'Fraunces',serif;
  font-size:15px;
  color:var(--ocre);
  font-style:italic;
  margin-top:12px;
}
.vccdv-steps{
  display:grid;
  grid-template-columns:1fr;
  gap:24px;
}
.vccdv-step{
  background:rgba(255,252,247,0.05);
  border:1px solid rgba(255,252,247,0.12);
  padding:28px 28px;
  display:flex;
  gap:20px;
  align-items:flex-start;
  transition:all 0.3s;
}
.vccdv-step:hover{
  background:rgba(255,252,247,0.08);
  border-color:rgba(200,153,104,0.3);
}
.vccdv-step-n{
  font-family:'Fraunces',serif;
  font-size:42px;
  font-weight:600;
  font-style:italic;
  color:var(--ocre);
  line-height:1;
  flex-shrink:0;
  min-width:54px;
}
.vccdv-step-c strong{
  display:block;
  font-family:'Fraunces',serif;
  font-size:20px;
  font-weight:600;
  margin-bottom:6px;
}
.vccdv-step-c span{
  font-size:14px;
  color:rgba(255,252,247,0.7);
  line-height:1.55;
}

/* SECTION SOMMEIL SENSIBLE */
.sensible{
  background:var(--creme);
  padding:96px 48px;
  position:relative;
}
.sensible-inner{
  max-width:1200px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:80px;
  align-items:center;
}
.sensible-visu{
  position:relative;
  display:block;
}
.sensible-visu-label{
  margin:14px auto 0;
  text-align:center;
  font-family:'Fraunces',serif;
  font-style:italic;
  font-size:13px;
  color:var(--bleu);
  opacity:0.55;
  letter-spacing:0.02em;
}
.sensible-ety{
  font-family:'Manrope',sans-serif;
  font-size:11px;
  letter-spacing:0.28em;
  text-transform:uppercase;
  color:var(--rouge);
  margin-bottom:20px;
  display:block;
  font-weight:600;
}
.sensible-tit{
  font-family:'Fraunces',serif;
  font-size:clamp(34px,4.2vw,48px);
  font-weight:600;
  line-height:1.1;
  letter-spacing:-0.015em;
  margin-bottom:28px;
  color:var(--bleu);
}
.sensible-tit em{font-style:italic;color:var(--rouge);font-weight:500;}
.sensible-txt{
  font-size:16.5px;
  line-height:1.7;
  color:var(--noir);
  margin-bottom:20px;
}
.sensible-pts{
  display:flex;
  flex-direction:column;
  gap:16px;
  margin-top:28px;
  padding-top:28px;
  border-top:1px solid var(--gris-cl);
}
.sensible-pt{
  display:flex;
  align-items:flex-start;
  gap:14px;
}
.sensible-pt-ico{
  flex-shrink:0;
  width:28px;height:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--rouge);
}
.sensible-pt-t{
  font-size:15px;
  line-height:1.55;
  color:var(--noir);
}
.sensible-pt-t strong{color:var(--bleu);font-weight:600;}
.sensible-cite{
  margin-top:28px;
  padding:20px 24px;
  background:var(--blanc);
  border-left:3px solid var(--rouge);
  font-family:'Fraunces',serif;
  font-style:italic;
  font-size:15px;
  color:var(--gris);
  line-height:1.65;
}
.sensible-cite strong{
  display:block;
  font-size:11px;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:var(--bleu);
  font-style:normal;
  margin-bottom:8px;
  font-family:'Manrope',sans-serif;
}

/* SECTION ATELIER PRIVÉ */
.atelier-p{
  background:var(--noir);
  color:var(--blanc);
  padding:96px 48px;
  position:relative;
  overflow:hidden;
}
.atelier-p::before{
  content:"";
  position:absolute;
  top:-150px;right:-150px;
  width:500px;height:500px;
  border-radius:50%;
  background:var(--ocre);
  opacity:0.08;
  filter:blur(40px);
}
.atelier-p-inner{
  max-width:1280px;
  margin:0 auto;
  position:relative;
  z-index:2;
}
.atelier-p-head{
  text-align:center;
  margin-bottom:64px;
}
.atelier-p-ety{
  display:inline-block;
  padding:8px 18px;
  border:1px solid rgba(200,153,104,0.4);
  color:var(--ocre);
  font-family:'Manrope',sans-serif;
  font-size:11px;
  letter-spacing:0.28em;
  text-transform:uppercase;
  font-weight:600;
  margin-bottom:24px;
}
.atelier-p-tit{
  font-family:'Fraunces',serif;
  font-size:clamp(40px,5vw,60px);
  font-weight:600;
  line-height:1.05;
  letter-spacing:-0.02em;
  margin-bottom:20px;
}
.atelier-p-tit em{
  font-style:italic;
  color:var(--ocre);
  font-weight:500;
}
.atelier-p-sub{
  max-width:620px;
  margin:0 auto;
  font-size:17px;
  line-height:1.7;
  color:rgba(255,252,247,0.75);
}
.atelier-p-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.atelier-p-c{
  background:rgba(255,252,247,0.04);
  border:1px solid rgba(255,252,247,0.1);
  padding:32px 24px;
  transition:all 0.4s;
  position:relative;
  overflow:hidden;
}
.atelier-p-c::before{
  content:"";
  position:absolute;
  top:0;left:0;right:0;
  height:2px;
  background:var(--ocre);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform 0.4s;
}
.atelier-p-c:hover{
  background:rgba(255,252,247,0.08);
  border-color:rgba(200,153,104,0.35);
  transform:translateY(-4px);
}
.atelier-p-c:hover::before{transform:scaleX(1);}
.atelier-p-c-ico{
  width:44px;height:44px;
  color:var(--ocre);
  margin-bottom:20px;
}
.atelier-p-c-t{
  font-family:'Fraunces',serif;
  font-size:19px;
  font-weight:600;
  line-height:1.2;
  margin-bottom:10px;
}
.atelier-p-c-d{
  font-size:13.5px;
  line-height:1.6;
  color:rgba(255,252,247,0.65);
}
.atelier-p-cta{
  text-align:center;
  margin-top:56px;
}
.atelier-p-cta a{
  display:inline-block;
  padding:16px 36px;
  background:var(--ocre);
  color:var(--noir);
  text-decoration:none;
  font-family:'Manrope',sans-serif;
  font-size:13px;
  letter-spacing:0.12em;
  text-transform:uppercase;
  font-weight:700;
  transition:all 0.3s;
}
.atelier-p-cta a:hover{background:var(--blanc);transform:translateY(-2px);}
.atelier-p-cta-s{
  display:block;
  margin-top:18px;
  font-family:'Fraunces',serif;
  font-size:14px;
  font-style:italic;
  color:rgba(255,252,247,0.6);
}

/* ============================================
   MODALE FICHE PRODUIT
   ============================================ */
.modal-produit{
  position:fixed;
  inset:0;
  background:rgba(11,37,69,0.85);
  z-index:9999;
  display:none;
  align-items:flex-start;
  justify-content:center;
  overflow-y:auto;
  padding:40px 20px;
}
.modal-produit.open{display:flex;}
.modal-produit-box{
  background:var(--blanc);
  max-width:1100px;
  width:100%;
  position:relative;
  margin:0 auto;
  animation:modalIn 0.35s ease;
}
@keyframes modalIn{
  from{opacity:0;transform:translateY(20px);}
  to{opacity:1;transform:translateY(0);}
}
.modal-close{
  position:absolute;
  top:18px;right:18px;
  width:44px;height:44px;
  background:var(--blanc);
  border:1.5px solid var(--gris-cl);
  color:var(--bleu);
  font-size:22px;
  cursor:pointer;
  z-index:10;
  display:flex;align-items:center;justify-content:center;
  transition:all 0.2s;
  border-radius:50%;
}
.modal-close:hover{background:var(--bleu);color:var(--blanc);border-color:var(--bleu);}
.mp-hero{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:48px;
  padding:48px;
}
.mp-visu{
  aspect-ratio:1/1;
  background:var(--creme);
  position:relative;
  overflow:hidden;
}
.mp-visu svg{width:100%;height:100%;display:block;}
.mp-visu-flag{
  position:absolute;
  top:16px;left:16px;
  background:var(--blanc);
  padding:6px 12px 6px 8px;
  display:flex;align-items:center;gap:7px;
  z-index:5;
}
.mp-visu-flag svg{width:20px;height:auto;display:block;}
.mp-visu-flag span{
  font-size:9.5px;letter-spacing:0.18em;text-transform:uppercase;
  font-weight:700;color:var(--bleu);
}

/* STICKER PRODUIT — élément HTML retiré en Vague 2.1, CSS conservé inutilisé */
.mp-sticker{
  position:absolute;
  top:16px;right:16px;
  width:86px;height:86px;
  background:var(--ocre);
  color:var(--bleu);
  border-radius:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  z-index:5;
  box-shadow:0 4px 12px rgba(200,153,104,0.35);
  transform:rotate(-8deg);
  transition:transform 0.3s;
}
.mp-sticker:hover{transform:rotate(0deg) scale(1.05);}
.mp-sticker-num{
  font-family:'Fraunces',serif;
  font-size:22px;
  font-weight:700;
  line-height:1;
  letter-spacing:-0.02em;
}
.mp-sticker-lab{
  font-size:8px;
  letter-spacing:0.15em;
  text-transform:uppercase;
  font-weight:700;
  margin-top:3px;
  line-height:1.2;
  padding:0 4px;
}

/* ANCRAGE PRIX (€/an) */
.mp-price-anchor{
  display:block;
  font-size:12px;
  color:var(--gris);
  font-style:italic;
  margin-top:4px;
  letter-spacing:0.01em;
}
.mp-price-anchor strong{
  color:var(--rouge);
  font-weight:700;
  font-style:normal;
}

/* MICRO-RASSURANCES sous bouton */
.mp-reassure{
  display:flex;
  flex-direction:column;
  gap:7px;
  margin-top:14px;
  padding:14px 16px;
  background:var(--creme);
  border-left:3px solid var(--ocre);
}
.mp-reassure-i{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:12.5px;
  color:var(--noir);
  letter-spacing:0.01em;
  line-height:1.35;
}
.mp-reassure-i svg{
  width:14px;height:14px;
  color:var(--rouge);
  flex-shrink:0;
}
.mp-reassure-i strong{
  color:var(--bleu);
  font-weight:700;
}

@media(max-width:720px){
  .mp-sticker{width:70px;height:70px;top:12px;right:12px;}
  .mp-sticker-num{font-size:18px;}
  .mp-sticker-lab{font-size:7px;}
}
.mp-content{padding-top:6px;}
.mp-cat{
  font-size:11px;letter-spacing:0.26em;text-transform:uppercase;
  color:var(--ocre);font-weight:700;margin-bottom:12px;
}
.mp-tit{
  font-family:'Fraunces',serif;
  font-size:clamp(28px,3.5vw,38px);
  font-weight:600;line-height:1.1;letter-spacing:-0.015em;
  color:var(--bleu);margin-bottom:10px;
}
.mp-tit em{font-style:italic;color:var(--rouge);font-weight:500;}
.mp-tagline{
  font-family:'Fraunces',serif;
  font-size:15.5px;font-style:italic;color:var(--gris);
  margin-bottom:20px;line-height:1.4;
}
.mp-labels{
  display:flex;flex-wrap:wrap;gap:6px;
  margin-bottom:20px;padding-bottom:18px;
  border-bottom:1px solid var(--gris-cl);
}
.mp-label{
  padding:5px 9px;background:var(--creme);
  font-size:10.5px;letter-spacing:0.08em;text-transform:uppercase;
  font-weight:700;color:var(--bleu);
}
.mp-desc{font-size:14.5px;line-height:1.65;margin-bottom:20px;}
.mp-desc strong{color:var(--bleu);}
.mp-sel-lab{
  font-size:12px;font-weight:700;color:var(--bleu);
  letter-spacing:0.08em;text-transform:uppercase;margin-bottom:10px;
}
.mp-sizes{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:20px;}
.mp-size{
  padding:12px 14px;background:var(--blanc);
  border:1.5px solid var(--gris-cl);cursor:pointer;
  text-align:left;transition:all 0.2s;
  display:flex;justify-content:space-between;align-items:center;
  font-family:inherit;
}
.mp-size:hover{border-color:var(--bleu);}
.mp-size.active{border-color:var(--bleu);background:var(--bleu);color:var(--blanc);}
.mp-size-name{font-size:12.5px;font-weight:700;display:block;}
.mp-size-sub{font-size:10.5px;color:var(--gris);display:block;margin-top:2px;}
.mp-size.active .mp-size-sub{color:rgba(255,252,247,0.7);}
.mp-size-price{font-family:'Fraunces',serif;font-size:15px;font-weight:600;}
.mp-price-total{
  display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px;
  padding-top:12px;border-top:1px solid var(--gris-cl);
}
.mp-price-lab{font-size:11px;color:var(--gris);letter-spacing:0.08em;text-transform:uppercase;font-weight:600;}
.mp-price-val{font-family:'Fraunces',serif;font-size:26px;font-weight:600;color:var(--bleu);}
.mp-btn{
  width:100%;padding:15px;background:var(--bleu);color:var(--blanc);
  border:none;font-family:'Manrope',sans-serif;
  font-size:12px;letter-spacing:0.14em;text-transform:uppercase;
  font-weight:700;cursor:pointer;transition:background 0.2s;
}
.mp-btn:hover{background:var(--rouge);}
.mp-btn-note{
  text-align:center;font-size:11.5px;color:var(--gris);
  margin-top:8px;font-family:'Fraunces',serif;font-style:italic;
}
.mp-specs{
  background:var(--creme);padding:28px 32px;
  margin:0 48px 32px;
}

/* ============================================
   NOUVEAUX BLOCS FICHE PRODUIT (v2)
   ============================================ */

/* Logos certifications */
.mp-certifs{
  display:flex;
  gap:14px;
  margin:20px 0;
  padding:16px;
  background:var(--creme);
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-start;
}
.mp-certif{
  display:flex;
  align-items:center;
  gap:10px;
  flex:1;
  min-width:140px;
}
.mp-certif-logo{
  width:46px;
  height:46px;
  flex-shrink:0;
  border-radius:50%;
  background:var(--blanc);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:4px;
  border:1.5px solid var(--bleu);
}
.mp-certif-logo svg{width:100%;height:100%;display:block;}
.mp-certif-txt{
  font-size:11px;
  line-height:1.25;
  color:var(--bleu);
  font-weight:600;
}
.mp-certif-txt strong{
  font-family:'Fraunces',serif;
  font-size:12.5px;
  font-weight:700;
  display:block;
  margin-bottom:1px;
  color:var(--bleu);
}
.mp-certif-txt span{
  font-size:10.5px;
  color:var(--gris);
  font-weight:500;
}

/* Onglets */
.mp-tabs{
  margin:0 48px;
  border-bottom:2px solid var(--gris-cl);
  display:flex;
  gap:4px;
  overflow-x:auto;
  padding-bottom:0;
}
.mp-tabs::-webkit-scrollbar{height:3px;}
.mp-tabs::-webkit-scrollbar-thumb{background:var(--ocre);}
.mp-tab{
  padding:14px 14px;
  border:none;
  background:transparent;
  font-family:'Manrope',sans-serif;
  font-size:11.5px;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--gris);
  cursor:pointer;
  border-bottom:3px solid transparent;
  margin-bottom:-2px;
  white-space:nowrap;
  transition:all 0.25s;
}
.mp-tab:hover{color:var(--bleu);}
.mp-tab.active{
  color:var(--bleu);
  border-bottom-color:var(--ocre);
}

.mp-tab-content{
  margin:0 48px;
  padding:28px 0;
  display:none;
  min-height:200px;
}
.mp-tab-content.active{display:block;}
.mp-tab-content h4{
  font-family:'Fraunces',serif;
  font-size:20px;
  font-weight:600;
  color:var(--bleu);
  margin-bottom:14px;
  margin-top:24px;
}
.mp-tab-content h4:first-child{margin-top:0;}
.mp-tab-content p{
  font-size:14.5px;
  line-height:1.65;
  color:var(--noir);
  margin-bottom:12px;
}
.mp-tab-content p strong{color:var(--bleu);}

/* Tableau guide tailles */
.mp-guide-table{
  width:100%;
  border-collapse:collapse;
  margin:16px 0;
  font-size:13px;
}
.mp-guide-table th{
  background:var(--bleu);
  color:var(--blanc);
  padding:12px 14px;
  text-align:left;
  font-size:11.5px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  font-weight:700;
}
.mp-guide-table td{
  padding:11px 14px;
  border-bottom:1px solid var(--gris-cl);
  vertical-align:middle;
}
.mp-guide-table tr.highlight td{
  background:rgba(200,153,104,0.1);
  font-weight:700;
  color:var(--bleu);
}
.mp-guide-table td strong{color:var(--bleu);}

/* Chaleur scale */
.mp-chaleur-scale{
  display:flex;
  margin:18px 0;
  border-radius:4px;
  overflow:hidden;
  box-shadow:0 1px 4px rgba(0,0,0,0.06);
}
.mp-chaleur-item{
  flex:1;
  padding:14px 10px;
  text-align:center;
  color:var(--blanc);
  font-size:10.5px;
  letter-spacing:0.04em;
  font-weight:600;
  position:relative;
}
.mp-chaleur-item strong{
  display:block;
  font-family:'Fraunces',serif;
  font-size:16px;
  font-weight:700;
  margin-bottom:2px;
  letter-spacing:0;
  text-transform:none;
}
.mp-chaleur-item.active{
  position:relative;
  z-index:2;
}
.mp-chaleur-item.active::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-8px;
  transform:translateX(-50%);
  width:0;
  height:0;
  border-left:8px solid transparent;
  border-right:8px solid transparent;
  border-top:8px solid var(--bleu);
}
.mp-ch-1{background:#7FB8D4;}
.mp-ch-2{background:#6195B5;}
.mp-ch-3{background:#4373A0;}
.mp-ch-4{background:#2A4D7E;}

/* Entretien cards dans onglet */
.mp-care-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
  margin-top:16px;
}
.mp-care-c{
  background:var(--creme);
  padding:16px;
  display:flex;
  align-items:flex-start;
  gap:12px;
}
.mp-care-c svg{
  width:28px;height:28px;
  color:var(--bleu);
  flex-shrink:0;
  margin-top:2px;
}
.mp-care-c strong{
  display:block;
  font-size:13.5px;
  color:var(--bleu);
  margin-bottom:3px;
  font-weight:700;
}
.mp-care-c span{
  font-size:12.5px;
  color:var(--gris);
  line-height:1.5;
}

/* Garantie badge */
.mp-garantie-b{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 16px;
  background:var(--bleu);
  color:var(--blanc);
  font-size:12px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  font-weight:700;
  margin:14px 0;
}
.mp-garantie-b svg{width:20px;height:20px;}

/* Sur-mesure CTA */
.mp-sur-mesure{
  background:var(--bleu);
  color:var(--blanc);
  padding:24px 28px;
  text-align:center;
  margin-top:20px;
}
.mp-sur-mesure h4{
  color:var(--blanc)!important;
  margin-top:0!important;
}
.mp-sur-mesure p{
  color:rgba(255,252,247,0.85);
  font-size:14px;
  margin-bottom:18px;
}
.mp-sur-mesure a{
  display:inline-block;
  padding:12px 28px;
  background:var(--ocre);
  color:var(--noir);
  text-decoration:none;
  font-size:11.5px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  font-weight:700;
  transition:background 0.2s;
}
.mp-sur-mesure a:hover{background:var(--blanc);}

@media(max-width:900px){
  .mp-certifs{padding:12px;gap:10px;}
  .mp-certif{flex:1 1 100%;min-width:auto;}
  .mp-tabs{margin:0 20px;}
  .mp-tab{padding:12px 12px;font-size:11px;letter-spacing:0.08em;}
  .mp-tab-content{margin:0 24px;padding:24px 0;}
  .mp-guide-table{font-size:12px;}
  .mp-guide-table th,.mp-guide-table td{padding:9px 10px;}
  .mp-chaleur-item{padding:10px 6px;font-size:9.5px;}
  .mp-chaleur-item strong{font-size:13px;}
  .mp-care-grid{grid-template-columns:1fr;}
}
.mp-specs h4{
  font-family:'Fraunces',serif;font-size:18px;font-weight:600;
  color:var(--bleu);margin-bottom:18px;
}
.mp-specs-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:12px 40px;
}
.mp-spec-row{
  display:flex;justify-content:space-between;
  padding-bottom:10px;border-bottom:1px solid var(--gris-cl);
}
.mp-spec-k{font-size:12px;color:var(--gris);font-weight:600;}
.mp-spec-v{font-size:12.5px;color:var(--bleu);font-weight:700;text-align:right;}

@media(max-width:900px){
  .modal-produit{padding:20px 10px;}
  .mp-hero{grid-template-columns:1fr;gap:24px;padding:24px;}
  .mp-specs{margin:0 24px 24px;padding:20px;}
  .mp-specs-grid{grid-template-columns:1fr;}
  .mp-sizes{grid-template-columns:1fr;}
}

@media(max-width:900px){
  .placeholder-label-ico{font-size:56px;}
  .placeholder-label-txt{font-size:11px;letter-spacing:0.25em;}
}

@media(max-width:900px){
  /* HEADER */
  header{padding:10px 14px;top:66px;}
  .h-inner{gap:12px;justify-content:space-between;align-items:center;}
  .megamenu{display:none;}
  .logo-n{font-size:26px;}
  .logo-flag svg{width:28px;}
  .logo-mif{font-size:6.5px;letter-spacing:0.2em;}
  .cta-h{padding:8px 14px;font-size:10.5px;letter-spacing:0.08em;}

  /* BANDEAU TOP */
  .top-badges{padding:6px 0;}
  .top-badges-track{gap:44px;}
  .top-badges-track span{font-size:9.5px;letter-spacing:0.14em;}
  .top-badges-track span::before{font-size:6px;}

  /* BANDEAU SLOGAN SIGNATURE */
  .slogan-banner{min-height:40px;padding:0 14px;gap:12px;top:26px;}
  .slogan-banner-rule{flex:0 0 40px;}
  .slogan-banner-txt{font-size:16px;}

  /* HERO */
  .hero{padding:40px 20px 0;}
  .hero-inner{grid-template-columns:1fr;gap:32px;min-height:auto;padding-bottom:40px;}
  h1{font-size:clamp(36px,9vw,52px);line-height:1.05;letter-spacing:-0.02em;margin-bottom:20px;}
  h1 .souligne::after{height:6px;bottom:4px;}
  .hero-badge{font-size:10px;padding:6px 12px;letter-spacing:0.15em;margin-bottom:20px;}
  .hero-desc{font-size:16px;margin-bottom:28px;}
  .hero-ctas{gap:12px;margin-bottom:28px;}
  .btn-p{padding:14px 24px;font-size:12px;width:100%;justify-content:center;}
  .btn-s{padding:14px 0;font-size:12px;width:100%;text-align:center;}
  .hero-trust{flex-direction:column;gap:16px;padding-top:24px;}
  .trust-i{width:100%;}
  .hero-img{aspect-ratio:16/9;}
  .hero-img-stamp{width:76px;height:76px;top:16px;right:16px;}
  .hero-img-stamp-big{font-size:17px;}
  .hero-img-stamp-t{font-size:6.5px;padding:0 6px;}

  /* BANDE LABELS */
  .labels-band{padding:48px 20px;}
  .labels-inner{grid-template-columns:repeat(2,1fr);gap:32px 20px;}
  .lab{padding:0 8px;}
  .lab:not(:last-child)::after{display:none;}
  .lab-ico{font-size:24px;}
  .lab-tit{font-size:16px;}
  .lab-sub{font-size:11px;}

  /* BANDEAU GARANTIES */
  .garanties{padding:32px 20px;}
  .garanties-inner{grid-template-columns:1fr;gap:20px;}
  .gar{padding:0;gap:14px;}
  .gar:not(:last-child)::after{display:none;}
  .gar:not(:last-child){padding-bottom:20px;border-bottom:1px solid var(--gris-cl);}
  .gar-ico{width:40px;height:40px;font-size:18px;}
  .gar-txt strong{font-size:15px;}
  .gar-txt span{font-size:12px;}

  /* PRODUITS */
  .produits{padding:64px 20px;}
  .p-head{margin-bottom:48px;}
  .p-tit{font-size:clamp(32px,7vw,44px);}
  .p-sub{font-size:15px;}
  .p-grid{grid-template-columns:1fr;gap:28px;}
  .p-card-body{padding:22px 18px;}
  .p-card-tit{font-size:22px;}
  .p-card-desc{font-size:14px;}
  .p-card-prix{font-size:17px;}

  /* VOTRE COUETTE PAS CELLE DU VOISIN */
  .vccdv{padding:64px 22px;}
  .vccdv-inner{grid-template-columns:1fr;gap:44px;}
  .vccdv-tit{font-size:clamp(32px,8vw,44px);}
  .vccdv-txt{font-size:15.5px;}
  .vccdv-step{padding:22px 20px;gap:16px;}
  .vccdv-step-n{font-size:34px;min-width:42px;}
  .vccdv-step-c strong{font-size:17px;}
  .vccdv-step-c span{font-size:13.5px;}

  /* SOMMEIL SENSIBLE */
  .sensible{padding:64px 22px;}
  .sensible-inner{grid-template-columns:1fr;gap:36px;}
  .sensible-visu{max-width:100%;margin:0 auto;}
  .sensible-tit{font-size:clamp(30px,7.5vw,42px);}
  .sensible-txt{font-size:15.5px;}
  .sensible-cite{font-size:14px;padding:16px 18px;}

  /* ATELIER PRIVÉ */
  .atelier-p{padding:64px 22px;}
  .atelier-p-head{margin-bottom:44px;}
  .atelier-p-tit{font-size:clamp(34px,8vw,48px);}
  .atelier-p-sub{font-size:15.5px;}
  .atelier-p-grid{grid-template-columns:1fr 1fr;gap:12px;}
  .atelier-p-c{padding:24px 18px;}
  .atelier-p-c-ico{width:36px;height:36px;margin-bottom:14px;}
  .atelier-p-c-t{font-size:17px;}
  .atelier-p-c-d{font-size:12.5px;}
  .atelier-p-cta a{padding:14px 28px;font-size:12px;}

  /* COMPARATIF */
  .compare{padding:64px 20px;}
  .compare-head{margin-bottom:40px;}
  .compare-tit{font-size:clamp(30px,7vw,42px);}
  .compare-sub{font-size:15px;}
  .compare-row{grid-template-columns:1fr;}
  .compare-cell{padding:14px 18px;font-size:14px;}
  .compare-cell-crit{font-size:15px;padding:12px 18px;font-weight:700;}
  .compare-row-h{display:none;}
  .compare-cell-duvea{border:none;padding-bottom:6px;}
  .compare-cell-duvea::before{content:"✓ Duvéa : ";font-weight:700;color:var(--rouge);margin-right:0;}
  .compare-cell-duvea::after{content:none;}
  .compare-cell-synth{padding-top:6px;padding-bottom:14px;}
  .compare-cell-synth::before{content:"— Synthétique : ";font-weight:700;color:var(--gris);margin-right:0;}
  .compare-cell-synth::after{content:none;}
  .compare-note{font-size:12px;margin-top:28px;}

  /* CITATION */
  .citation{padding:72px 20px;}
  .citation::before{top:32px;}
  .citation-n{font-size:72px;}
  .citation-t{font-size:22px;line-height:1.35;}
  .citation-s{font-size:9.5px;}

  /* POURQUOI */
  .pourquoi{padding:64px 20px;}
  .pq-head{grid-template-columns:1fr;gap:20px;margin-bottom:40px;}
  .pq-tit{font-size:clamp(32px,7vw,44px);}
  .pq-sub{font-size:15px;padding-bottom:0;}
  .pq-grid{grid-template-columns:1fr;gap:20px;}
  .pq-card{padding:32px 24px;}
  .pq-n{font-size:48px;margin-bottom:12px;}
  .pq-t{font-size:20px;}
  .pq-s{font-size:10px;}
  .pq-txt{font-size:13.5px;}

  /* AVIS / NOTRE ENGAGEMENT */
  .avis{padding:64px 20px;}
  .avis-head{margin-bottom:32px;}
  .avis-tit{font-size:clamp(28px,7vw,38px);}
  .avis-grid{grid-template-columns:1fr;gap:20px;margin-top:32px;}
  .avis-c{padding:26px 22px;}
  .avis-tx{font-size:15px !important;}

  /* FOOTER */
  footer{padding:56px 20px 24px;}
  .f-top{grid-template-columns:1fr;gap:32px;padding-bottom:32px;}
  .f-logo-n{font-size:36px;}
  .f-slog{font-size:14px;}
  .f-desc{font-size:12.5px;}
  .f-bot{flex-direction:column;gap:12px;text-align:center;}
  .f-bot a{margin:0 10px;}

  /* GUIDE D'ACHAT mobile */
  .guide{padding:64px 20px;}
  .guide-head{margin-bottom:40px;}
  .guide-tit{font-size:clamp(32px,7vw,44px);}
  .guide-sub{font-size:15px;}
  .guide-grid{grid-template-columns:1fr;gap:16px;margin-bottom:40px;}
  .guide-card{padding:26px 22px;}
  .guide-card-tit{font-size:19px;}
  .guide-card-desc{font-size:13.5px;}
  .guide-card-big{
    grid-column:span 1;
    padding:32px 24px;
    flex-direction:column;
    align-items:flex-start;
    gap:16px;
  }
  .guide-card-big::before{font-size:48px;top:20px;right:24px;}
  .guide-card-big .guide-card-cat{flex:initial;}
  .guide-card-big .guide-card-tit{font-size:24px;}
  .guide-card-big .guide-card-desc{font-size:14px;max-width:none;}
  .guide-cta-box{
    flex-direction:column;
    align-items:flex-start;
    padding:28px 24px;
    gap:20px;
  }
  .guide-cta-tit{font-size:22px;}
  .guide-cta-btn{width:100%;text-align:center;padding:16px 24px;}

  /* QUIZ mobile */
  .quiz{padding:72px 20px;}
  .quiz-tit{font-size:clamp(32px,7vw,44px);}
  .quiz-intro{font-size:15px;margin-bottom:32px;}
  .quiz-box{padding:32px 22px;min-height:auto;}
  .quiz-progress{margin-bottom:28px;}
  .quiz-q{font-size:22px;margin-bottom:24px;}
  .quiz-opts{grid-template-columns:1fr;gap:10px;margin-bottom:24px;}
  .quiz-opt{padding:16px 18px;font-size:14px;}
  .quiz-opt-ico{font-size:20px;}
  .quiz-nav{padding-top:16px;}
  .quiz-back,.quiz-step-txt{font-size:11px;}
  .quiz-result-tit{font-size:26px;}
  .quiz-result-desc{font-size:14.5px;}
  .quiz-result-btn{padding:14px 24px;font-size:11px;}
}

/* Tablette */
@media(max-width:600px){
  .hero-ctas{flex-direction:column;align-items:stretch;}
  h1{font-size:clamp(32px,8.5vw,44px);}
  .labels-inner{grid-template-columns:1fr;gap:24px;}
  .lab{padding:20px 0;border-bottom:1px solid var(--gris-cl);}
  .lab:last-child{border-bottom:none;}
  .lab-tit br{display:none;}
  /* Atelier Privé 1 colonne en mobile pur */
  .atelier-p-grid{grid-template-columns:1fr;gap:12px;}
}

/* ============================================================
   MENU MOBILE — burger + drawer (visible ≤900px uniquement)
   Desktop : tous ces éléments restent display:none.
   Easing Apple-like : cubic-bezier(0.32, 0.72, 0, 1)
   ============================================================ */
.nav-burger,
.nav-drawer,
.nav-backdrop{display:none;}

@media(max-width:900px){
  /* Le CTA desktop disparaît du header — il est repris dans le drawer */
  .h-inner > .cta-h{display:none;}

  /* --- BURGER --- */
  .nav-burger{
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:5px;
    width:40px;height:40px;
    padding:0;border:none;background:transparent;
    color:var(--bleu);cursor:pointer;
    -webkit-tap-highlight-color:transparent;
    border-radius:4px;
  }
  .nav-burger:focus-visible{outline:2px solid var(--bleu);outline-offset:2px;}
  .nav-burger span{
    display:block;width:22px;height:1.5px;
    background:currentColor;border-radius:2px;
    transform-origin:center;
    transition:transform 280ms cubic-bezier(0.32,0.72,0,1),opacity 180ms ease;
  }
  .nav-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
  .nav-burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
  .nav-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

  /* --- BACKDROP --- */
  .nav-backdrop{
    display:block;position:fixed;inset:0;
    background:rgba(0,0,0,0.4);
    z-index:998;opacity:0;pointer-events:none;
    transition:opacity 300ms cubic-bezier(0.32,0.72,0,1);
  }
  .nav-backdrop[hidden]{display:none;}
  .nav-backdrop.is-open{opacity:1;pointer-events:auto;}

  /* --- DRAWER --- */
  .nav-drawer{
    display:flex;flex-direction:column;
    position:fixed;top:0;right:0;
    height:100vh;height:100dvh;
    width:min(88vw,380px);
    background:var(--creme,#F6F0E7);
    z-index:999;
    transform:translateX(100%);
    transition:transform 300ms cubic-bezier(0.32,0.72,0,1);
    box-shadow:-12px 0 40px rgba(11,37,69,0.15);
    overflow-y:auto;overscroll-behavior:contain;
  }
  .nav-drawer.is-open{transform:translateX(0);}

  /* Head */
  .nd-head{
    display:flex;justify-content:space-between;align-items:center;
    padding:18px 22px 14px;
    border-bottom:1px solid rgba(11,37,69,0.08);
    flex-shrink:0;
  }
  .nd-logo{
    font-family:Georgia,serif;font-size:24px;font-weight:600;
    color:var(--bleu);letter-spacing:-0.01em;
  }
  .nd-close{
    width:40px;height:40px;border:none;background:transparent;
    color:var(--bleu);cursor:pointer;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    -webkit-tap-highlight-color:transparent;
  }
  .nd-close:hover,.nd-close:focus-visible{background:rgba(11,37,69,0.06);outline:none;}

  /* Nav */
  .nd-nav{flex:1;padding:8px 0 24px;}

  /* Sections accordion */
  .nd-section{border-bottom:1px solid rgba(11,37,69,0.08);}
  .nd-section > summary{
    display:flex;justify-content:space-between;align-items:center;
    padding:18px 22px;
    font-family:Georgia,serif;font-size:17px;font-weight:500;
    color:var(--bleu);cursor:pointer;list-style:none;
    -webkit-tap-highlight-color:transparent;
  }
  .nd-section > summary::-webkit-details-marker{display:none;}
  .nd-section > summary:focus-visible{outline:none;background:rgba(11,37,69,0.03);}
  .nd-chev{position:relative;width:14px;height:14px;flex-shrink:0;}
  .nd-chev::before,.nd-chev::after{
    content:"";position:absolute;top:50%;left:50%;
    background:var(--bleu);border-radius:1px;
  }
  .nd-chev::before{width:12px;height:1.5px;transform:translate(-50%,-50%);}
  .nd-chev::after{
    width:1.5px;height:12px;transform:translate(-50%,-50%);
    transition:transform 240ms cubic-bezier(0.32,0.72,0,1);
  }
  .nd-section[open] .nd-chev::after{transform:translate(-50%,-50%) scaleY(0);}

  .nd-sublinks{display:flex;flex-direction:column;padding:0 22px 18px 32px;}
  .nd-sublinks a{
    padding:10px 0;font-size:14.5px;
    color:var(--bleu);text-decoration:none;opacity:0.82;
    border-bottom:1px solid rgba(11,37,69,0.05);
  }
  .nd-sublinks a:last-child{border-bottom:none;}
  .nd-sublinks a:hover,.nd-sublinks a:focus-visible{opacity:1;outline:none;}

  /* Liens simples */
  .nd-link{
    display:block;padding:18px 22px;
    font-family:Georgia,serif;font-size:17px;font-weight:500;
    color:var(--bleu);text-decoration:none;
    border-bottom:1px solid rgba(11,37,69,0.08);
  }
  .nd-link:hover,.nd-link:focus-visible{background:rgba(11,37,69,0.03);outline:none;}

  /* Foot — CTA */
  .nd-foot{
    padding:18px 22px 24px;
    border-top:1px solid rgba(11,37,69,0.08);
    flex-shrink:0;
  }
  .nd-cta{
    display:block;text-align:center;
    padding:14px 20px;
    background:var(--bleu);color:var(--creme,#F6F0E7);
    font-size:12px;letter-spacing:0.12em;font-weight:600;
    text-transform:uppercase;text-decoration:none;border-radius:2px;
    transition:background 200ms ease;
  }
  .nd-cta:hover,.nd-cta:focus-visible{background:var(--rouge);outline:none;}

  /* Body lock */
  body.is-drawer-open{overflow:hidden;}
}

/* Respect des préférences de mouvement */
@media(prefers-reduced-motion:reduce){
  .nav-drawer,.nav-backdrop,
  .nav-burger span,
  .nd-chev::after,.nd-cta{transition:none !important;}
}

/* ============================================
   BOTTOM-SHEET CHOIX CATÉGORIE (desktop + mobile)
   Reprend les codes du drawer mobile Phase 4.B :
   easing Apple cubic-bezier(0.32,0.72,0,1), backdrop 40%, palette crème
   ============================================ */

/* Reset button quand utilisé comme card produit */
button.p-card{
  appearance:none;-webkit-appearance:none;
  background:transparent;border:0;padding:0;margin:0;
  font:inherit;color:inherit;text-align:left;
  cursor:pointer;width:100%;
  display:flex;flex-direction:column;
}
button.p-card:focus-visible{outline:2px solid var(--bleu);outline-offset:4px;}

/* Backdrop */
.cs-backdrop{
  position:fixed;inset:0;
  background:rgba(0,0,0,0.4);
  z-index:998;opacity:0;pointer-events:none;
  transition:opacity 300ms cubic-bezier(0.32,0.72,0,1);
}
.cs-backdrop[hidden]{display:none;}
.cs-backdrop.is-open{opacity:1;pointer-events:auto;}

/* Sheet — base */
.cat-sheet{
  position:fixed;
  background:var(--creme,#F6F0E7);
  z-index:999;
  display:flex;flex-direction:column;
  overflow:hidden;
  pointer-events:none;
}
.cat-sheet.is-open{pointer-events:auto;}

/* Desktop ≥901px : modale centrée fade+scale */
@media(min-width:901px){
  .cat-sheet{
    top:50%;left:50%;
    width:min(92vw,480px);
    max-height:80vh;
    border-radius:16px;
    transform:translate(-50%,-48%) scale(0.96);
    opacity:0;
    transition:transform 300ms cubic-bezier(0.32,0.72,0,1),
               opacity 240ms cubic-bezier(0.32,0.72,0,1);
    box-shadow:0 24px 60px rgba(11,37,69,0.22);
  }
  .cat-sheet.is-open{
    transform:translate(-50%,-50%) scale(1);
    opacity:1;
  }
}

/* Mobile ≤900px : bottom-sheet slide-up */
@media(max-width:900px){
  .cat-sheet{
    left:0;right:0;bottom:0;
    width:100%;
    max-height:85vh;
    border-radius:16px 16px 0 0;
    transform:translateY(100%);
    transition:transform 320ms cubic-bezier(0.32,0.72,0,1);
    box-shadow:0 -12px 40px rgba(11,37,69,0.18);
  }
  .cat-sheet.is-open{transform:translateY(0);}
}

.cs-head{
  display:flex;justify-content:space-between;align-items:center;
  padding:18px 22px 14px;
  border-bottom:1px solid rgba(11,37,69,0.08);
  flex-shrink:0;
}
.cs-head h2{
  margin:0;
  font-family:'Fraunces',serif;
  font-size:20px;font-weight:600;
  color:var(--bleu,#0B2545);
  letter-spacing:-0.01em;
}
.cs-close{
  width:36px;height:36px;
  display:flex;align-items:center;justify-content:center;
  background:transparent;border:0;border-radius:50%;
  font-size:26px;line-height:1;color:var(--bleu,#0B2545);
  cursor:pointer;
  transition:background 180ms ease;
}
.cs-close:hover,.cs-close:focus-visible{
  background:rgba(11,37,69,0.06);outline:none;
}

.cs-list{
  display:flex;flex-direction:column;gap:8px;
  padding:16px 18px 22px;
  overflow-y:auto;overscroll-behavior:contain;
  flex:1;
}
.cs-item{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  width:100%;
  padding:14px 16px;
  background:#FFFFFF;
  border:1px solid rgba(11,37,69,0.08);
  border-radius:12px;
  font:inherit;color:inherit;text-align:left;
  cursor:pointer;
  transition:background 180ms ease,border-color 180ms ease;
}
.cs-item:hover{
  background:rgba(11,37,69,0.03);
  border-color:rgba(11,37,69,0.16);
}
.cs-item:focus-visible{
  outline:2px solid var(--bleu,#0B2545);outline-offset:2px;
}
.cs-item-name{
  font-family:'Fraunces',serif;
  font-size:16px;font-weight:600;
  color:var(--bleu,#0B2545);
  flex:1;
}
.cs-item-price{
  font-size:14px;
  color:var(--ocre,#D4A574);
  font-weight:600;
  white-space:nowrap;
}
.cs-item-price span{font-size:11px;color:var(--gris,#7a7368);font-weight:400;margin-right:2px;}
.cs-item-arrow{
  color:var(--bleu,#0B2545);
  font-size:18px;font-weight:600;
  transition:transform 180ms ease;
}
.cs-item:hover .cs-item-arrow{transform:translateX(3px);}

body.is-cs-open{overflow:hidden;}

@media(prefers-reduced-motion:reduce){
  .cat-sheet,.cs-backdrop,.cs-item,.cs-item-arrow,.cs-close{transition:none !important;}
}

/* ============================================
   ENCART MAGASIN — Vitrine de nuit (bleu marine + ocre)
   Bandeau de transition Manufacture → Produits
   ============================================ */
.magasin-cta{
  background:var(--bleu,#0B2545);
  color:var(--creme,#F6F0E7);
  position:relative;
  overflow:hidden;
}
.magasin-cta-inner{
  max-width:1440px;
  margin:0 auto;
  padding:80px 40px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:64px;
  align-items:center;
}
.magasin-cta-visu{
  width:100%;
  aspect-ratio:4/3;
  border-radius:8px;
  overflow:hidden;
  background:#0B2545;
  box-shadow:0 16px 40px rgba(0,0,0,0.28);
}
.magasin-cta-visu img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.magasin-cta-txt{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.magasin-cta-ety{
  font-size:11px;
  letter-spacing:0.26em;
  text-transform:uppercase;
  color:var(--ocre,#D4A574);
  font-weight:700;
}
.magasin-cta-tit{
  font-family:'Fraunces',serif;
  font-size:clamp(28px,3vw,42px);
  font-weight:600;
  line-height:1.15;
  letter-spacing:-0.015em;
  margin:0;
  color:var(--creme,#F6F0E7);
}
.magasin-cta-tit em{
  font-style:italic;
  color:var(--ocre,#D4A574);
  font-weight:500;
}
.magasin-cta-desc{
  font-size:16px;
  line-height:1.6;
  color:rgba(246,240,231,0.82);
  margin:0;
  max-width:520px;
}
.magasin-cta-btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:16px 28px;
  background:var(--ocre,#D4A574);
  color:var(--bleu,#0B2545);
  text-decoration:none;
  font-weight:700;
  font-size:15px;
  letter-spacing:0.02em;
  border-radius:6px;
  width:fit-content;
  margin-top:8px;
  transition:background 220ms ease,transform 220ms ease,box-shadow 220ms ease;
  box-shadow:0 4px 16px rgba(212,165,116,0.18);
}
.magasin-cta-btn:hover,
.magasin-cta-btn:focus-visible{
  background:var(--creme,#F6F0E7);
  transform:translateY(-2px);
  box-shadow:0 8px 24px rgba(212,165,116,0.28);
  outline:none;
}
.magasin-cta-btn-arrow{
  font-size:18px;
  font-weight:700;
  transition:transform 220ms ease;
}
.magasin-cta-btn:hover .magasin-cta-btn-arrow{transform:translateX(4px);}
.magasin-cta-meta{
  display:flex;
  flex-wrap:wrap;
  gap:6px 18px;
  font-size:13px;
  color:rgba(246,240,231,0.65);
  margin-top:6px;
}
.magasin-cta-meta span{display:inline-flex;align-items:center;gap:8px;}
.magasin-cta-meta span::before{
  content:"";
  display:inline-block;
  width:4px;height:4px;
  border-radius:50%;
  background:var(--ocre,#D4A574);
}

/* Mobile : 1 colonne, image au-dessus du texte */
@media(max-width:900px){
  .magasin-cta-inner{
    grid-template-columns:1fr;
    gap:32px;
    padding:60px 22px;
  }
  .magasin-cta-visu{
    aspect-ratio:5/3;
    order:1;
  }
  .magasin-cta-txt{order:2;gap:16px;}
  .magasin-cta-tit{font-size:28px;}
  .magasin-cta-desc{font-size:15px;}
  .magasin-cta-btn{width:100%;justify-content:center;padding:18px 24px;}
}

@media(prefers-reduced-motion:reduce){
  .magasin-cta-btn,.magasin-cta-btn-arrow{transition:none !important;}
  .magasin-cta-btn:hover{transform:none;}
}

/* BANDEAU CONVICTION — respiration commerciale entre citation et pourquoi */
.conv-cta{
  background:#EDE2D0;
  padding:80px 32px;
  text-align:center;
}
.conv-cta-inner{
  max-width:760px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:16px;
}
.conv-cta-tit{
  font-family:'Fraunces',serif;
  font-size:clamp(28px,3.4vw,40px);
  font-weight:600;
  line-height:1.15;
  letter-spacing:-0.015em;
  color:var(--bleu);
  margin:0;
}
.conv-cta-tit em{
  font-style:italic;
  color:var(--rouge);
  font-weight:500;
}
.conv-cta-sub{
  font-size:17px;
  line-height:1.55;
  color:var(--noir);
  max-width:560px;
  margin:0;
}
.conv-cta-btn{
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:18px 36px;
  background:var(--bleu);
  color:var(--blanc);
  text-decoration:none;
  font-weight:700;
  font-size:14px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  border-radius:6px;
  margin-top:12px;
  transition:background 220ms ease,transform 220ms ease,box-shadow 220ms ease;
  box-shadow:0 4px 16px rgba(11,37,69,0.18);
}
.conv-cta-btn:hover,
.conv-cta-btn:focus-visible{
  background:var(--bleu-cl);
  transform:translateY(-2px);
  box-shadow:0 8px 24px rgba(11,37,69,0.28);
  outline:none;
}
.conv-cta-btn-arrow{
  font-size:18px;
  transition:transform 220ms ease;
}
.conv-cta-btn:hover .conv-cta-btn-arrow{transform:translateX(4px);}
@media(max-width:900px){
  .conv-cta{padding:60px 22px;}
  .conv-cta-sub{font-size:15.5px;}
  .conv-cta-btn{width:100%;justify-content:center;padding:18px 24px;}
}
@media(prefers-reduced-motion:reduce){
  .conv-cta-btn,.conv-cta-btn-arrow{transition:none !important;}
  .conv-cta-btn:hover{transform:none;}
}
