:root{
  --fond:#fffaf6;--carte:#ffffff;--texte:#3d2c29;--doux:#7a6662;
  --rose:#e9848f;--rose-fonce:#c9606d;--rose-pale:#fde8ea;--bleu-pale:#e6eefb;--miel:#f4c96b;
  --bord:#f0dcd6;--rayon:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--fond);color:var(--texte);font:17px/1.6 Nunito,system-ui,sans-serif}
img{max-width:100%;height:auto;display:block}
a{color:var(--rose-fonce)}
h1,h2{font-family:Fraunces,Georgia,serif;font-weight:600;line-height:1.2;margin:0 0 .5em}
.bandeau{background:var(--texte);color:#fff;text-align:center;font-size:.9rem;padding:8px 16px}
.entete{display:flex;justify-content:space-between;align-items:center;max-width:1120px;margin:0 auto;padding:18px 20px}
.marque{font-family:Fraunces,Georgia,serif;font-size:1.35rem;font-weight:600;color:var(--texte);text-decoration:none}
.lien-commande{font-weight:700;text-decoration:none}
main{max-width:1120px;margin:0 auto;padding:0 20px}

.produit{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:start;padding:12px 0 56px}
.visuel{position:sticky;top:20px}
.visuel img{border-radius:var(--rayon);box-shadow:0 20px 50px -25px rgba(120,70,60,.45)}
.legende{color:var(--doux);font-size:.9rem;text-align:center;margin:.8em 0 0}
.surtitre{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:700;color:var(--rose-fonce);margin:0 0 .4em}
h1{font-size:clamp(1.9rem,4vw,2.6rem)}
.accroche{color:var(--doux);font-size:1.08rem;margin:0 0 1em}
.prix{font-size:1.7rem;font-weight:700;margin:0 0 1.2em}
.prix small{font-size:.95rem;font-weight:400;color:var(--doux)}

fieldset{border:0;padding:0;margin:0 0 22px}
legend{font-weight:700;margin-bottom:10px}
.choix{display:flex;flex-wrap:wrap;gap:10px}
.choix label{cursor:pointer}
.choix input{position:absolute;opacity:0;pointer-events:none}
.choix span{display:inline-block;padding:10px 18px;border:2px solid var(--bord);border-radius:999px;background:var(--carte);font-weight:600;transition:border-color .15s,background .15s}
.choix span em{font-style:normal;color:var(--doux);font-weight:400;font-size:.9em}
.choix input:checked+span{border-color:var(--rose);background:var(--rose-pale)}
.choix input:focus-visible+span{outline:3px solid var(--miel);outline-offset:2px}
.tailles span{min-width:58px;text-align:center;padding:10px 12px}
.enfant{display:grid;grid-template-columns:1fr auto;gap:10px;margin-bottom:10px}
input[type=text],select{width:100%;font:inherit;padding:11px 14px;border:2px solid var(--bord);border-radius:12px;background:var(--carte);color:var(--texte)}
input[type=text]:focus,select:focus{outline:none;border-color:var(--rose)}
select{width:auto}
.aide{color:var(--doux);font-size:.88rem;margin:.5em 0 0}
.erreur{background:#fdecec;color:#9b2c2c;border-radius:12px;padding:10px 14px;font-size:.95rem}
.bouton{display:inline-block;width:100%;text-align:center;border:0;cursor:pointer;background:var(--rose);color:#fff;font:700 1.12rem Nunito,sans-serif;padding:16px 24px;border-radius:999px;text-decoration:none;box-shadow:0 10px 24px -12px var(--rose-fonce);transition:background .15s,transform .15s}
.bouton:hover{background:var(--rose-fonce)}
.bouton:active{transform:translateY(1px)}
.bouton[disabled]{opacity:.6;cursor:wait}
.rassurance{color:var(--doux);font-size:.88rem;text-align:center;margin:.8em 0 0}

.atouts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:40px 0}
.atouts div{background:var(--carte);border:1px solid var(--bord);border-radius:var(--rayon);padding:26px}
.atouts span{font-size:1.8rem}
.atouts h2{font-size:1.2rem;margin:.4em 0 .3em}
.atouts p{margin:0;color:var(--doux)}

.etapes{background:var(--bleu-pale);border-radius:var(--rayon);padding:36px 40px;margin:20px 0}
.etapes ol{margin:0;padding-left:1.3em}
.etapes li{margin:.4em 0}

.faq{max-width:760px;margin:0 auto;padding:48px 0}
.faq h2{text-align:center}
details{background:var(--carte);border:1px solid var(--bord);border-radius:14px;padding:4px 20px;margin-bottom:10px}
summary{cursor:pointer;font-weight:700;padding:12px 0}
details p{margin:0 0 14px;color:var(--doux)}

.final{text-align:center;background:var(--rose-pale);border-radius:var(--rayon);padding:44px 20px;margin-bottom:48px}
.final p{color:var(--doux);margin:0 0 1.2em}
.final .bouton{width:auto}

.pied{text-align:center;color:var(--doux);font-size:.9rem;padding:24px 20px 40px;border-top:1px solid var(--bord)}
.pied p{margin:.3em 0}

.page{max-width:760px;margin:0 auto;padding:20px 20px 60px}
.page h1{font-size:2rem}
.page h2{font-size:1.25rem;margin-top:1.6em}
.a-completer{background:#fff4d6;padding:0 4px;border-radius:4px}

@media (max-width:860px){
  .produit{grid-template-columns:1fr;gap:24px}
  .visuel{position:static}
  .atouts{grid-template-columns:1fr}
  .etapes{padding:28px 22px}
}
