/* Écrire & Vivre : feuille de style commune */
/* Police Libre Caslon Text (licence SIL OFL, voir polices/LICENCE-OFL.txt), hébergée sur le site : aucun appel à Google */
@font-face{font-family:'Libre Caslon Text';font-style:normal;font-weight:400;font-display:swap;src:url(polices/libre-caslon-text-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Libre Caslon Text';font-style:italic;font-weight:400;font-display:swap;src:url(polices/libre-caslon-text-latin-400-italic.woff2) format('woff2')}
@font-face{font-family:'Libre Caslon Text';font-style:normal;font-weight:700;font-display:swap;src:url(polices/libre-caslon-text-latin-700-normal.woff2) format('woff2')}
:root{--papier:#FFFFFF;--encre:#1F1F1F;--gris:#6E6A66;--accent:#8A1C2B;--filet:#E2DFDA;color-scheme:only light}
html{background:#fff}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--papier);color:var(--encre);font-family:'Libre Caslon Text',Georgia,'Times New Roman',serif;font-size:19px;line-height:1.68;padding-inline:20px}
.page{max-width:640px;margin:0 auto;padding-block:44px 40px}
a{color:var(--accent)}
p{margin:0 0 18px}
.marque{text-align:center;margin:0;font-size:12px;letter-spacing:.28em;text-transform:uppercase}
.marque a{color:var(--gris);text-decoration:none}
.slogan{text-align:center;font-style:italic;font-size:15px;color:var(--gris);margin:4px 0 0}
.sur{text-align:center;font-style:italic;font-size:18px;color:var(--accent);margin:40px 0 10px}
h1{font-weight:700;font-size:clamp(30px,6.6vw,44px);line-height:1.16;text-align:center;margin:0 0 18px;text-wrap:balance}
.sous{text-align:center;color:var(--gris);font-size:18px;margin:0 auto 26px;max-width:32em;text-wrap:balance}
.orn{text-align:center;color:var(--gris);letter-spacing:.45em;margin:40px 0 18px}
h2{font-weight:400;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--gris);text-align:center;margin:0 0 24px}
h3{font-size:23px;font-weight:700;line-height:1.3;margin:36px 0 10px}
ul{margin:0 0 20px;padding:0;list-style:none}
li{padding-left:24px;text-indent:-24px;margin:0 0 10px}
li::before{content:'–';color:var(--gris);display:inline-block;width:24px;text-indent:0}
ul.coches li::before{content:'✔';color:var(--accent)}
.cit{font-style:italic}
form{margin:10px 0 8px}
label{display:block;font-size:17px;color:var(--encre);margin:0 0 6px}
input[type=text],input[type=email]{width:100%;font:inherit;font-size:19px;color:var(--encre);background:#fff;border:1px solid #B9B1A6;border-radius:4px;padding:12px 14px;margin:0 0 16px;-webkit-appearance:none}
input:focus{outline:3px solid rgba(138,28,43,.18);border-color:var(--accent)}
.piege{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.bouton{display:inline-block;font:inherit;font-weight:700;font-size:20px;color:#fff;background:var(--accent);border:0;border-radius:4px;box-shadow:0 3px 0 #5C111C;padding:16px 28px;cursor:pointer;text-decoration:none;line-height:1.3}
.bon .bouton{display:block;width:100%;margin-top:6px;text-align:center}
.bon ul.coches{margin:0 0 14px}
.bon ul.coches li{font-size:17px}
.bouton:hover,.bouton:focus-visible{background:#6F1522;outline:none}
.bouton:active{transform:translateY(2px);box-shadow:0 1px 0 #5C111C}
.bon{background:#fff;border:2px dashed var(--accent);padding:22px 22px 14px;margin:30px 0 12px}
.bon-titre{text-align:center;font-weight:700;font-size:22px;line-height:1.3;margin:0 0 16px}
.bon-sous{text-align:center;font-size:16px;color:var(--gris);margin:0 0 18px}
.bon form{margin:0}
.bon-note{text-align:center;font-size:15px;color:var(--gris);margin:12px 0 0}
.filet{border:0;margin:28px 0 20px}
.centre{text-align:center}
.petit{font-size:14px;line-height:1.55;color:var(--gris)}
.a-completer{border:1px dashed var(--accent);color:var(--accent);padding:12px 14px;font-size:16px}
.signature{margin-top:30px}
.ps{font-style:italic}
footer{max-width:640px;margin:0 auto;padding:24px 0 40px;text-align:center;font-size:13px;color:var(--gris)}
footer a{color:var(--gris);margin:0 8px}
.legal h2{text-align:left;margin:34px 0 12px}
.legal p,.legal li{font-size:17px}
.cookies{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--filet);padding:16px 20px calc(16px + env(safe-area-inset-bottom,0px));font-size:15px;line-height:1.5}
.cookies p{max-width:640px;margin:0 auto 8px}
.cookies .choix{text-align:right}
.lien{font:inherit;font-size:15px;background:none;border:0;color:var(--gris);text-decoration:underline;cursor:pointer;padding:6px}
.petit-bouton{font-size:15px;padding:8px 18px;box-shadow:none}
.photo{margin:34px auto 30px;text-align:center}
.photo img{display:block;margin:0 auto;width:100%;height:auto;border:1px solid var(--filet);padding:6px}
.photo.portrait img{max-width:300px}
.photo figcaption{font-style:italic;font-size:15px;line-height:1.5;color:var(--gris);margin:10px auto 0;max-width:30em}
.programme{border-top:1px solid var(--filet);border-bottom:1px solid var(--filet);padding:6px 0 10px;margin:8px 0 30px}
.programme .etape{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:22px 0 8px}
.programme ol{list-style:none;padding:0;margin:0}
.programme li{padding:0 0 0 38px;text-indent:0;margin:0 0 10px;position:relative;font-size:17px;line-height:1.55}
.programme li::before{content:none}
.programme .n{position:absolute;left:0;top:1px;width:28px;text-align:right;color:var(--gris);font-size:15px}
.programme li i{color:var(--accent);font-size:14px;white-space:nowrap}
sup{font-size:.62em;line-height:0}
.avant,.apres{padding:12px 16px;margin:0 0 12px;font-size:18px}
.avant{color:var(--gris)}
.apres{}
.avant span,.apres span{display:block;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:4px}
.avant span{color:var(--gris)}
.comparaison{border-top:1px solid var(--filet);margin:6px 0 18px}
.comparaison p{display:flex;justify-content:space-between;gap:16px;align-items:baseline;border-bottom:1px solid var(--filet);padding:10px 0;margin:0;font-size:17px}
.comparaison b{white-space:nowrap;font-variant-numeric:tabular-nums}
.comparaison .nous{padding:12px 0;font-weight:700}
.comparaison .nous b{color:var(--accent)}
.garantie{border:2px solid var(--accent);padding:18px 20px 6px;margin:26px 0 30px;text-align:center}
.garantie-titre{font-weight:700;font-size:21px;line-height:1.3;color:var(--accent);margin:0 0 10px}
.garantie p{font-size:17px}
.fenetre{border:0;padding:0;max-width:480px;width:calc(100% - 32px);background:#fff;color:var(--encre);border-top:4px solid var(--accent)}
.fenetre::backdrop{background:rgba(31,31,31,.55)}
.fenetre form{padding:26px 22px 14px;margin:0;position:relative}
.fenetre .bouton{display:block;width:100%;text-align:center;margin-top:4px}
.fermer{position:absolute;top:6px;right:10px;background:none;border:0;font-size:28px;line-height:1;color:var(--gris);cursor:pointer;padding:4px 8px}
.etapes-commande{display:flex;gap:6px;list-style:none;padding:0;margin:0 0 20px}
.etapes-commande li{flex:1;font-size:13px;line-height:1.3;color:var(--gris);border-top:3px solid var(--filet);padding:6px 0 0;margin:0;text-indent:0}
.etapes-commande li::before{content:none}
.etapes-commande li.actif{color:var(--accent);border-top-color:var(--accent);font-weight:700}
button,input,select,textarea,summary,dialog,.fermer{font-family:'Libre Caslon Text',Georgia,serif}
@media (max-width:520px){body{font-size:18px}.page{padding-top:22px}.sur{margin-top:22px;font-size:16px}h1{font-size:29px}.sous{font-size:17px;margin-bottom:18px}.bon{padding:16px 16px 10px;margin-top:18px}.bon-titre{font-size:20px;margin-bottom:12px}label{font-size:16px;margin-bottom:4px}input[type=text],input[type=email]{padding:10px 12px;margin-bottom:12px}.bouton{font-size:19px;padding:14px 18px}}
.progression{display:flex;gap:4px;justify-content:center;margin:24px 0 8px}
.progression span{width:12px;height:12px;border:1px solid var(--accent);border-radius:50%}
.progression span.plein{background:var(--accent)}
