/* SÈVE HEMERA — formulaires, modale, panier (partagé accueil + espace) */
label.f{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.inp{width:100%;background:var(--forest-3);border:1px solid var(--line);color:var(--cream);padding:11px 13px;font:inherit;font-size:15px}
.inp:focus{border-color:var(--gold);outline:none}
.form{display:flex;flex-direction:column;gap:14px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:520px){.row2{grid-template-columns:1fr}}
.check{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--cream);line-height:1.45}
.check input{margin-top:3px;flex:none;accent-color:var(--gold)}
.msg{font-size:14px;min-height:1.2em}
.msg.bad{color:#F09A8E}.msg.good{color:var(--sage)}
.tabs{display:flex;border:1px solid var(--line);margin-bottom:18px}
.tabs button{flex:1;border:0;background:none;color:var(--muted);padding:11px;font:inherit;font-size:13px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.tabs button.on{background:var(--gold);color:var(--forest);font-weight:600}
.choice{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.choice label{border:1px solid var(--line);padding:12px;cursor:pointer;font-size:14px;color:var(--cream);position:relative}
.choice label small{display:block;color:var(--muted);font-size:12px;margin-top:3px}
.choice input{position:absolute;opacity:0}
.choice label:has(input:checked){border-color:var(--gold);background:rgb(205 168 95 / .08)}
.choice label:has(input:focus-visible){outline:2px solid var(--gold)}
.linkbtn{background:none;border:0;color:var(--gold-2);font:inherit;font-size:13px;cursor:pointer;padding:0;text-decoration:underline;align-self:flex-start}

.modal{position:fixed;inset:0;z-index:80;background:rgb(8 18 13 / .78);backdrop-filter:blur(8px);display:grid;place-items:center;padding:16px}
.modal[hidden]{display:none}
.modal .box{width:100%;max-width:460px;max-height:calc(100dvh - 32px);overflow:auto;background:var(--forest);border:1px solid var(--line);padding:28px}
.modal .head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.modal .head h2{font-size:30px}
.x{background:none;border:0;color:var(--muted);font-size:28px;line-height:1;cursor:pointer}

/* tiroir panier */
.drawer{position:fixed;inset:0;z-index:70;display:flex;justify-content:flex-end;background:rgb(8 18 13 / .6)}
.drawer[hidden]{display:none}
.drawer .panel{width:min(420px,100%);height:100%;background:var(--forest);border-left:1px solid var(--line);display:flex;flex-direction:column;padding:24px calc(20px) calc(20px + env(safe-area-inset-bottom,0px))}
.drawer .panel header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.drawer .panel h2{font-size:30px}
.lines{flex:1;overflow:auto;display:flex;flex-direction:column;gap:14px}
.line{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:14px}
.line img{width:64px;height:80px;object-fit:cover;background:var(--forest-3)}
.line b{font-family:var(--serif);font-size:20px;font-weight:500}
.line small{display:block;color:var(--muted);font-size:12.5px}
.qty{display:inline-flex;border:1px solid var(--line);margin-top:6px}
.qty button{background:none;border:0;color:var(--cream);width:30px;height:28px;cursor:pointer;font-size:16px}
.qty span{min-width:26px;text-align:center;line-height:28px;font-size:14px}
.sum{border-top:1px solid var(--line);padding-top:14px;display:flex;flex-direction:column;gap:6px;font-size:14.5px}
.sum div{display:flex;justify-content:space-between}
.sum .t{font-family:var(--serif);font-size:26px}
.cartbtn{position:relative}
.cartbtn .n{position:absolute;top:-8px;right:-10px;background:var(--cream);color:var(--forest);font-size:11px;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:grid;place-items:center;padding:0 4px}
.cartbtn .n:empty{display:none}
.spbox{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid var(--gold);padding:10px 12px;font-size:14px}
.spbox span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.spbox b{color:var(--gold-2);font-weight:600}
.spchoice{border:1px solid var(--line);padding:12px 14px;margin:0;display:flex;flex-direction:column;gap:8px}
.spchoice legend{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:0 6px}
.spres{display:flex;flex-direction:column;margin-top:6px}
.spres button{display:flex;justify-content:space-between;gap:10px;background:none;border:0;border-bottom:1px solid var(--line);color:var(--cream);font:inherit;font-size:14px;padding:8px 4px;cursor:pointer;text-align:left}
.spres button:hover,.spres button:focus-visible{background:rgb(205 168 95 / .12)}
.spres small{color:var(--muted)}
.spres .none{color:var(--muted);font-size:13px;padding:6px 0}
.spres .picked{color:var(--sage);font-size:13.5px;padding:6px 0}
.pw{position:relative;display:block}
.pw .inp{padding-right:48px;width:100%}
.eye{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:40px;height:40px;display:grid;place-items:center;background:none;border:0;cursor:pointer;color:var(--muted)}
.eye:hover,.eye.on{color:var(--gold-2)}
.eye svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.eye .slash{display:none}.eye.on .slash{display:inline}
.hint{color:var(--muted);font-size:13px;line-height:1.45}
#qArea{display:flex;flex-direction:column;gap:14px}#qArea:empty{display:none}
