:root{--braise:#BF2717;--fumee:#72160D;--flamme:#ED6F18;--charbon:#1C0B0A;--acier:#626163;--creme:#F5EFE9;
--ground:#140908;--surface:#1F100E;--surface-2:#291513;--line:#3A211D;--ink:#F5EFE9;--ink-soft:#C6B1AB;--ink-faint:#8E7872;
--display:"Alfa Slab One",Georgia,serif;--body:"Barlow","Helvetica Neue",Arial,sans-serif;--label:"Barlow Condensed","Arial Narrow",sans-serif;}
*{box-sizing:border-box}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6;padding:0 16px}
.wrap{max-width:820px;margin:0 auto;padding:40px 0 80px;display:flex;flex-direction:column;gap:30px}
a{color:var(--flamme)}
.top{display:flex;align-items:center;justify-content:space-between;gap:16px}
.top img{width:120px;height:auto}
.top a{font-family:var(--label);text-transform:uppercase;letter-spacing:.1em;font-weight:700;font-size:14px;text-decoration:none;color:var(--ink-soft)}
.eyebrow{font-family:var(--label);text-transform:uppercase;letter-spacing:.17em;font-weight:700;font-size:15px;color:var(--flamme)}
h1{font-family:var(--display);font-weight:400;font-size:clamp(30px,5vw,46px);line-height:1.08;margin:10px 0 0}
h2{font-family:var(--display);font-weight:400;font-size:clamp(21px,3vw,27px);margin:0}
h3{font-family:var(--label);text-transform:uppercase;letter-spacing:.09em;font-size:17px;margin:0}
p{margin:0}
.lede{color:var(--ink-soft);font-size:18px;margin-top:14px}
.bloc{background:var(--surface);border:1px solid var(--line);padding:24px;display:flex;flex-direction:column;gap:18px}
.prod{display:grid;grid-template-columns:1fr auto;gap:6px 18px;align-items:center;padding:16px 0;border-top:1px solid var(--line)}
.prod:first-of-type{border-top:0;padding-top:0}
.prod .d{color:var(--ink-faint);font-size:14.5px}
.prod .p{font-family:var(--display);color:var(--flamme);font-size:22px}
.qty{display:flex;align-items:center;gap:0;grid-column:2;justify-self:end}
.qty button{width:40px;height:40px;background:var(--surface-2);border:1px solid var(--line);color:var(--ink);font-size:20px;cursor:pointer}
.qty input{width:48px;height:40px;text-align:center;background:var(--ground);border:1px solid var(--line);border-left:0;border-right:0;color:var(--ink);font-size:16px;-moz-appearance:textfield}
.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field label,.lbl{font-family:var(--label);text-transform:uppercase;letter-spacing:.1em;font-size:13.5px;font-weight:700;color:var(--ink-faint)}
input[type=text],input[type=tel],input[type=email],input[type=date],select,textarea{font-family:var(--body);font-size:16px;color:var(--ink);background:var(--ground);border:1px solid var(--line);padding:11px 13px;width:100%;border-radius:0}
input:focus,select:focus,textarea:focus{outline:2px solid var(--flamme);outline-offset:1px}
.choix{display:flex;flex-direction:column;gap:10px}
.choix label{display:flex;gap:10px;align-items:flex-start;cursor:pointer;color:var(--ink-soft)}
.choix input{accent-color:var(--braise);width:18px;height:18px;margin-top:3px;flex:0 0 auto}
.total{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);padding-top:16px}
.total .v{font-family:var(--display);font-size:32px;color:var(--flamme)}
.btn{display:inline-block;background:var(--braise);color:#fff;border:1px solid var(--braise);font-family:var(--label);text-transform:uppercase;letter-spacing:.09em;font-weight:700;font-size:18px;padding:15px 28px;cursor:pointer;text-decoration:none}
.btn:hover{background:var(--fumee)}
.btn:disabled{background:var(--surface-2);color:var(--ink-faint);border-color:var(--line);cursor:not-allowed}
.note{font-size:14px;color:var(--ink-faint)}
.err{background:var(--fumee);color:#fff;padding:14px 18px}
.hp{position:absolute;left:-9999px}
.test{background:var(--flamme);color:var(--charbon);padding:8px 14px;font-weight:700;font-size:14px}
footer{color:var(--ink-faint);font-size:13.5px;border-top:1px solid var(--line);padding-top:20px}
