@font-face{font-family:"Swiza";src:url("/fonts/Swiza-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Swiza";src:url("/fonts/Swiza-Medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Swiza";src:url("/fonts/Swiza-SemiBold.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Swiza";src:url("/fonts/Swiza-Bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Swiza";src:url("/fonts/Swiza-RegularItalic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
:root{--font-family:"Swiza",system-ui,-apple-system,"Segoe UI",sans-serif}
:root {
    --creme: #FFFBF7;
    --creme-fonce: #FFF1E4;
    --encre: #241610;
    --encre-doux: rgba(36,22,16,0.74);
    --encre-tenu: rgba(36,22,16,0.52);
    --ambre: #E45C0A;
    --ambre-clair: #FF8A2B;
    --peche: #FFE0C6;
    --trait: rgba(36,22,16,0.14);
    --trait-fort: #E45C0A;
  }
  html { -webkit-text-size-adjust: 100%; }
  body { margin: 0; background: var(--creme); font-family: var(--font-family); color: var(--encre); font-weight: 400; }
  * { box-sizing: border-box; }
  a { color: var(--ambre); text-underline-offset: 4px; text-decoration-thickness: 1px; }
  a:hover { color: var(--encre); }
  summary::marker { color: var(--ambre); }
  ::selection { background: var(--peche); }
img{max-width:100%}


.saut-contenu{position:absolute;left:-9999px;top:0;background:var(--ambre);color:#fff;
  padding:10px 16px;z-index:200;font-size:14px;border-radius:0 0 6px 0}
.saut-contenu:focus{left:0;top:0}

.entete{position:sticky;top:0;z-index:100;background:#fff;
  box-shadow:0 1px 0 rgba(36,22,16,.10),0 6px 22px -18px rgba(36,22,16,.55)}
.entete-in{max-width:1180px;margin:0 auto;padding:20px 32px;
  display:flex;align-items:center;gap:32px}

.entete .logo{
  font-size:26px;font-weight:700;letter-spacing:-.02em;
  color:var(--ambre);text-decoration:none;white-space:nowrap;flex:0 0 auto;
}
.entete .logo span{color:var(--ambre);opacity:.55}
.entete .logo em{font-style:normal;color:var(--encre);opacity:.42;font-weight:600}

.menu{margin-left:auto}
.menu ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:34px}
.menu a{
  position:relative;display:block;padding:6px 0;text-decoration:none;
  font-size:16px;font-weight:600;color:var(--encre);white-space:nowrap;
}
.menu a::after{
  content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;
  background:var(--ambre);transition:right .22s ease;
}
.menu a:hover,.menu a:focus-visible{color:var(--ambre)}
.menu a:hover::after,.menu a:focus-visible::after{right:0}

.entete .tampon{
  flex:0 0 auto;font-size:11px;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:var(--encre-tenu);
  border-left:1px solid rgba(36,22,16,.14);padding-left:22px;
}

h2[id]{scroll-margin-top:120px}
section#top{scroll-margin-top:0}

@media (max-width:1080px){
  .entete .tampon{display:none}
  .menu ul{gap:24px}
  .menu a{font-size:15px}
}
@media (max-width:860px){
  .entete-in{flex-direction:column;align-items:stretch;gap:0;padding:14px 0 0}
  .entete .logo{font-size:22px;padding:0 18px}
  .menu{margin:10px 0 0}
  .menu ul{
    gap:22px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;
    padding:0 18px 10px;-webkit-overflow-scrolling:touch;
    border-top:1px solid rgba(36,22,16,.08);padding-top:10px;
  }
  .menu ul::-webkit-scrollbar{display:none}
  .menu a{font-size:15px;padding:2px 0}
  .menu a::after{bottom:-2px}
  h2[id]{scroll-margin-top:118px}
}
@media (max-width:430px){
  .entete .logo{font-size:19px}
  .menu ul{gap:18px}
  .menu a{font-size:14px}
}


@media (max-width:860px){
  html,body{overflow-x:hidden!important}

  /* toutes les grilles passent en une colonne */
  [style*="grid-template-columns"]{grid-template-columns:1fr!important;gap:18px!important}

  /* respiration : on récupère de la largeur utile */
  [style*="padding:0 28px"],[style*="28px 0"]{padding-left:18px!important;padding-right:18px!important}
  [style*="padding:30px 32px"]{padding:22px 20px 24px!important}

  /* le gros prix de la carte Mon choix */
  [style*="clamp(48px,6vw,68px)"]{font-size:34px!important;letter-spacing:-.01em!important}

  /* bloc "Le détail qui compte" : plus d'écrasement vertical */
  [style*="Le détail"],[style*="min-height:clamp(220px"]{min-height:0!important}
  img[src*="matelas-principal"]{height:auto!important;max-height:230px!important;object-fit:cover!important}

  /* héro : moins haut, texte lisible */
  section#top{min-height:0!important}
  section#top img{object-position:60% 45%!important}

  /* typo */
  h1,[style*="clamp(38px,6.6vw,80px)"]{font-size:34px!important;line-height:1.08!important}
  h2,[style*="clamp(26px"],[style*="clamp(28px"]{font-size:23px!important;line-height:1.2!important}
  p,li,summary{font-size:16px!important;line-height:1.6!important}
  [style*="font-size:26px"]{font-size:20px!important}
  [style*="clamp(19px,1.5vw,22px)"],[style*="clamp(18px,1.6vw,21px)"]{font-size:17px!important}

  /* tableaux : cartes empilées */
  table{min-width:0!important;width:100%!important;display:block!important}
  table thead{display:none!important}
  table tbody,table tr,table td,table th[scope="row"]{display:block!important;width:100%!important}
  table caption{display:block!important;padding-bottom:12px!important;font-size:11px!important;line-height:1.5!important}
  table tr{
    border:1px solid rgba(36,22,16,0.16)!important;border-radius:10px!important;
    padding:14px 16px!important;margin-bottom:12px!important;background:#fff!important;
  }
  table tr[style*="peche"]{border:2px solid var(--ambre)!important;background:var(--creme-fonce)!important}
  table th[scope="row"]{
    border:0!important;border-bottom:1px solid rgba(36,22,16,0.14)!important;
    padding:0 0 9px!important;margin-bottom:8px!important;
    font-size:17px!important;font-weight:600!important;background:transparent!important;
  }
  table td{
    border:0!important;padding:5px 0!important;background:transparent!important;
    display:flex!important;justify-content:space-between!important;align-items:baseline!important;
    gap:14px!important;text-align:right!important;white-space:normal!important;font-size:15px!important;
  }
  table td::before{
    content:attr(data-col);flex:0 0 auto;text-align:left;
    font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;
    color:var(--encre-tenu);padding-top:3px;
  }
  div[style*="overflow-x:auto"]{overflow-x:visible!important}
}
@media (max-width:430px){
  h1,[style*="clamp(38px,6.6vw,80px)"]{font-size:29px!important}
  [style*="clamp(48px,6vw,68px)"]{font-size:30px!important}
  table tr{padding:12px 13px!important}
  table th[scope="row"]{font-size:16px!important}
  table td,table td::before{font-size:14px!important}
  [style*="padding:0 28px"]{padding-left:15px!important;padding-right:15px!important}
}
/* ---------- menu déroulant ---------- */
.menu li.a-sous-menu{position:relative}
.menu li.a-sous-menu > a::before{
  content:"";position:absolute;right:-14px;top:50%;width:6px;height:6px;
  border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:translateY(-70%) rotate(45deg);opacity:.55;
}
.menu .sous-menu{
  position:absolute;top:calc(100% + 14px);left:-18px;min-width:250px;
  background:#fff;border:1px solid rgba(36,22,16,.12);border-top:3px solid var(--ambre);
  box-shadow:0 18px 40px -22px rgba(36,22,16,.6);
  padding:8px;margin:0;list-style:none;display:block;
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .16s ease,transform .16s ease,visibility .16s;
  z-index:120;
}
.menu li.a-sous-menu:hover .sous-menu,
.menu li.a-sous-menu:focus-within .sous-menu{opacity:1;visibility:visible;transform:translateY(0)}
.menu .sous-menu::before{content:"";position:absolute;top:-18px;left:0;right:0;height:18px}
.menu .sous-menu li{display:block;width:100%}
.menu .sous-menu a{
  display:block;padding:10px 14px;font-size:15px;font-weight:500;
  color:var(--encre);border-radius:4px;white-space:nowrap;line-height:1.35;
}
.menu .sous-menu a::after{display:none}
.menu .sous-menu a:hover,.menu .sous-menu a:focus-visible{background:var(--creme-fonce);color:var(--ambre)}
.menu .sous-menu .desc{display:none}

/* ---------- pages profil ---------- */
.fil{max-width:1080px;margin:0 auto;padding:22px 28px 0;font-size:14px;color:var(--encre-tenu)}
.fil a{color:var(--encre-tenu);text-decoration:none}
.fil a:hover{color:var(--ambre)}
.page{max-width:1080px;margin:0 auto;padding:0 28px}
.chapeau{font-size:clamp(19px,1.6vw,23px);line-height:1.55;max-width:56ch;margin:0 0 18px;text-wrap:pretty}
.encart{border-left:4px solid var(--ambre);background:var(--creme-fonce);padding:20px 24px;
  font-size:17px;line-height:1.6;max-width:62ch;margin:0 0 34px}
.reperes{list-style:none;padding:0;margin:0 0 40px;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.reperes li{background:var(--peche);border-top:3px solid var(--ambre);padding:20px 22px}
.reperes b{display:block;font-size:12px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ambre);margin-bottom:8px}
.maillage{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-wrap:wrap;gap:10px}
.maillage a{display:block;padding:10px 16px;background:#fff;border:1px solid rgba(36,22,16,.16);
  text-decoration:none;color:var(--encre);font-size:15px;font-weight:500}
.maillage a:hover{border-color:var(--ambre);color:var(--ambre)}

@media (max-width:860px){
  .menu li.a-sous-menu > a::before{display:none}
  .menu .sous-menu{display:none}
  .fil{padding:16px 18px 0}
  .page{padding:0 18px}
  .reperes{grid-template-columns:1fr}
}

.menu .sous-menu-large{min-width:290px;max-height:min(70vh,540px);overflow-y:auto}

.fiche-specs{width:100%;border-collapse:collapse;font-size:16px;margin:0 0 34px}
.fiche-specs th{text-align:left;width:42%;padding:11px 16px 11px 0;font-weight:500;
  color:var(--encre-tenu);border-bottom:1px solid var(--trait);vertical-align:top}
.fiche-specs td{padding:11px 0;border-bottom:1px solid var(--trait);vertical-align:top}
.grille-fiches{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;margin:0 0 44px}
.carte-fiche{background:#fff;border-top:3px solid var(--ambre);padding:24px 26px;
  display:flex;flex-direction:column;gap:8px}
.carte-fiche h3{margin:0;font-size:21px;font-weight:500;line-height:1.25}
.carte-fiche h3 a{color:var(--encre);text-decoration:none}
.carte-fiche h3 a:hover{color:var(--ambre)}
.carte-fiche .px{margin:0;font-size:15px;font-weight:600;color:var(--ambre);font-variant-numeric:tabular-nums}
.carte-fiche p.rz{margin:0;font-size:15px;line-height:1.6;color:var(--encre-doux)}
.carte-fiche .lire{margin:6px 0 0;font-size:15px;font-weight:600;color:var(--ambre);text-decoration:none}
table th[scope="row"] a{color:var(--encre);text-decoration:none;border-bottom:1px solid rgba(228,92,10,.4)}
table th[scope="row"] a:hover{color:var(--ambre);border-bottom-color:var(--ambre)}
@media (max-width:860px){

  .fiche-specs th{width:auto;display:block;padding-bottom:2px;border:0;font-size:13px}
  .fiche-specs td{display:block;padding-top:0;padding-bottom:12px}
}

/* ---------- quiz ---------- */
.quiz{background:#fff;border-top:3px solid var(--ambre);padding:clamp(26px,3vw,38px) clamp(22px,3vw,36px)}
.quiz-etape{display:none}
.quiz-etape.actif{display:block}
.quiz-compteur{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ambre);margin:0 0 10px}
.quiz-q{font-size:clamp(20px,2.4vw,26px);font-weight:500;line-height:1.3;margin:0 0 20px;max-width:26ch}
.quiz-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:0 0 18px}
.quiz-opts button{
  text-align:left;font:inherit;font-size:16px;cursor:pointer;
  background:var(--creme);border:1px solid var(--trait);border-left:3px solid var(--trait);
  padding:15px 18px;color:var(--encre);line-height:1.4;transition:border-color .15s,background .15s;
}
.quiz-opts button:hover,.quiz-opts button:focus-visible{border-color:var(--ambre);background:var(--creme-fonce)}
.quiz-opts button small{display:block;font-size:14px;color:var(--encre-tenu);margin-top:3px}
.quiz-barre{height:3px;background:var(--trait);margin:0 0 22px}
.quiz-barre i{display:block;height:3px;background:var(--ambre);transition:width .25s}
.quiz-retour{background:none;border:0;font:inherit;font-size:14px;color:var(--encre-tenu);cursor:pointer;padding:0;text-decoration:underline}
.quiz-res h3{font-size:clamp(22px,2.6vw,28px);font-weight:500;margin:0 0 6px;line-height:1.25}
.quiz-res h3 a{color:var(--encre);text-decoration:none;border-bottom:2px solid var(--ambre)}
.quiz-res .px{margin:0 0 14px;font-size:17px;font-weight:600;color:var(--ambre);font-variant-numeric:tabular-nums}
.quiz-res p.pq{margin:0 0 18px;font-size:17px;line-height:1.65;max-width:62ch}
.quiz-alt{border-top:1px solid var(--trait);padding-top:16px;margin-top:4px}
.quiz-alt p{margin:0 0 6px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--encre-tenu)}
.quiz-alt .l{font-size:16px;line-height:1.6;margin:0}
@media (max-width:860px){.quiz-opts{grid-template-columns:1fr}}
