/* Palette et registre alignés sur le site statique (site_gen/html.py). */
:root{--encre:#1c2733;--brique:#c04010;--fond:#fdfcf9;--ligne:#e4e0d6;--gris:#68615a}
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;color:var(--encre);background:var(--fond);line-height:1.6}
header{border-bottom:1px solid var(--ligne);background:#fff}
header .int,main,footer .int{max-width:760px;margin:0 auto;padding:0 20px}
header .int{display:flex;justify-content:space-between;align-items:center;height:56px}
header a.logo{font-weight:700;color:var(--encre);text-decoration:none}
header nav a{color:var(--gris);text-decoration:none;margin-left:14px;font-size:.92rem}
header nav a.btn-nav{color:var(--brique);font-weight:600}
main{padding-bottom:48px}
h1{font-size:1.6rem;line-height:1.3;margin:.9em 0 .6em}
h2{font-size:1.15rem;margin:1.6em 0 .5em}
a{color:#0f5c8c}
.bandeau-preprod{background:#8a2be2;color:#fff;text-align:center;font-size:.8rem;padding:4px 10px;font-weight:600}
.bandeau-draft{background:#fff7e0;border:1px solid #e8d48a;border-radius:6px;padding:10px 14px;font-size:.85rem;color:#6b5b1e;margin:1em 0}
mark.placeholder{background:#ffe9a8;padding:0 4px;border-radius:3px}
.hero p.accroche{font-size:1.05rem}
.etapes{display:grid;grid-template-columns:1fr;gap:10px;padding:0;margin:1.2em 0;list-style:none;counter-reset:e}
@media(min-width:560px){.etapes{grid-template-columns:1fr 1fr 1fr}}
.etapes li{background:#fff;border:1px solid var(--ligne);border-radius:8px;padding:12px 14px;font-size:.92rem;counter-increment:e}
.etapes li::before{content:counter(e);display:inline-block;background:var(--brique);color:#fff;width:22px;height:22px;border-radius:50%;text-align:center;line-height:22px;font-size:.8rem;font-weight:700;margin-right:8px}
.carte-prix{background:#fff;border:1px solid var(--ligne);border-left:4px solid var(--brique);border-radius:8px;padding:20px;margin:1.6em 0}
.prix-barre{text-decoration:line-through;color:var(--gris);font-size:1.1rem}
.prix-promo{font-size:1.9rem;font-weight:700;color:var(--brique);margin-left:8px}
.badge-promo{display:inline-block;background:#f6e3d8;color:var(--brique);border-radius:4px;padding:1px 8px;font-size:.8rem;font-weight:600;margin-left:8px;vertical-align:middle}
.tva{font-size:.82rem;color:var(--gris)}
form.commande{background:#fff;border:1px solid var(--ligne);border-radius:8px;padding:20px;margin:1.2em 0}
form.commande label{display:block;font-weight:600;font-size:.92rem;margin:14px 0 4px}
form.commande input[type=text],form.commande input[type=email]{width:100%;padding:10px 12px;border:1px solid var(--ligne);border-radius:6px;font-size:1rem;background:var(--fond)}
.suggestions{position:relative}
.suggestions ul{position:absolute;left:0;right:0;top:100%;margin:2px 0 0;padding:0;list-style:none;background:#fff;border:1px solid var(--ligne);border-radius:6px;box-shadow:0 4px 14px rgba(0,0,0,.08);z-index:5;max-height:260px;overflow:auto}
.suggestions li{padding:8px 12px;cursor:pointer;font-size:.95rem}
.suggestions li:hover{background:var(--fond)}
.suggestions li.inactif{color:var(--gris);cursor:not-allowed;font-style:italic}
.suggestions li.inactif small{display:block;font-size:.75rem}
.aide-adresse{font-size:.82rem;color:var(--gris);margin-top:4px}
.aide-adresse.ok{color:#1b7a3d;font-weight:600}
.case{display:flex;gap:10px;align-items:flex-start;margin:12px 0;font-size:.88rem;font-weight:400}
.case input{margin-top:4px;flex:none}
button.payer{background:var(--brique);color:#fff;border:0;border-radius:6px;padding:12px 26px;font-size:1.05rem;font-weight:700;cursor:pointer;margin-top:14px}
button.payer:disabled{background:#c9beb4;cursor:not-allowed}
.erreurs{background:#fdecec;border:1px solid #e8a6a6;border-radius:6px;padding:10px 14px;color:#8c1c1c;font-size:.9rem}
.encart{background:#fff;border:1px solid var(--ligne);border-radius:8px;padding:16px 20px;margin:1.2em 0}
.statut{font-size:1.2rem;font-weight:700}
.test-note{background:#f3ecff;border:1px solid #cdb6f2;border-radius:6px;padding:10px 14px;font-size:.85rem;color:#4b2882;margin:1em 0}
table.demo{width:100%;border-collapse:collapse;font-size:.85rem}
table.demo th,table.demo td{border-bottom:1px solid var(--ligne);text-align:left;padding:6px 8px;vertical-align:top}
pre.mail{white-space:pre-wrap;background:#fff;border:1px solid var(--ligne);border-radius:6px;padding:14px;font-size:.85rem}
footer{border-top:1px solid var(--ligne);background:#fff;margin-top:24px}
footer .int{padding:18px 20px;font-size:.82rem;color:var(--gris)}
button.retractation{background:#fff;color:var(--brique);border:2px solid var(--brique);border-radius:6px;padding:12px 26px;font-size:1rem;font-weight:700;cursor:pointer}
.note{font-size:.85rem;color:var(--gris)}
