:root{--bg: #fffaf3;--ink: #2b1d14;--muted: #7a6a5d;--brand: #c2410c;--brand-d: #9a3412;--card: #fff;--line: #eadfce;--radius: 14px}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--ink)}button{font:inherit;cursor:pointer}a{color:var(--brand)}h1,h2{line-height:1.2}.container{max-width:1000px;margin:0 auto;padding:0 16px}.muted{color:var(--muted)}.small{font-size:.85rem}.hero{margin:24px 0 4px;font-size:clamp(1.6rem,4vw,2.4rem)}header.top{position:sticky;top:0;z-index:10;background:var(--bg);border-bottom:1px solid var(--line)}header.top .container{display:flex;align-items:center;justify-content:space-between;height:60px}.logo{font-weight:800;font-size:1.3rem;color:var(--brand);margin:0}.btn{background:var(--brand);color:#fff;border:0;border-radius:999px;padding:10px 18px;font-weight:600}.btn:hover{background:var(--brand-d)}.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.btn.ghost:hover{background:#f5ebdd}.btn.small{padding:6px 12px;font-size:.85rem}.btn:disabled{opacity:.5;cursor:not-allowed}.tabs{display:flex;gap:8px;overflow-x:auto;padding:14px 0}.tab{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:8px 16px;white-space:nowrap}.tab.active{background:var(--ink);color:#fff;border-color:var(--ink)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;padding-bottom:80px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}.card .ph{aspect-ratio:4 / 3;background:linear-gradient(135deg,#fde7cf,#f9c99a);display:grid;place-items:center;font-size:2.5rem}.card .ph img{width:100%;height:100%;object-fit:cover}.card .body{padding:14px;display:flex;flex-direction:column;gap:6px;flex:1}.card h3{margin:0;font-size:1.05rem}.card p{margin:0;color:var(--muted);font-size:.9rem;flex:1}.row{display:flex;justify-content:space-between;align-items:center;gap:8px}.price{font-weight:700}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:50;display:flex;justify-content:flex-end}.overlay.center{justify-content:center;align-items:center}.panel{background:var(--bg);width:min(440px,100%);height:100%;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:14px}.modal{background:var(--bg);width:min(440px,92%);border-radius:var(--radius);padding:20px;display:flex;flex-direction:column;gap:12px;max-height:90vh;overflow-y:auto}.form{display:flex;flex-direction:column;gap:12px}.field{display:flex;flex-direction:column;gap:4px;font-size:.9rem}input,textarea,select{font:inherit;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)}.qty{display:flex;align-items:center;gap:8px}.qty button{width:30px;height:30px;border-radius:50%;border:1px solid var(--line);background:#fff}.totals{border-top:1px solid var(--line);padding-top:10px;display:flex;flex-direction:column;gap:4px}.grand{font-weight:800;font-size:1.05rem}.error{background:#fee2e2;color:#991b1b;padding:10px;border-radius:10px}.note{background:#ecfdf5;color:#065f46;padding:10px;border-radius:10px;font-size:.9rem}.steps{list-style:none;padding:0;margin:20px 0;display:flex;flex-direction:column;gap:10px}.steps li{padding:10px 14px;border:1px solid var(--line);border-radius:10px;color:var(--muted);background:var(--card)}.steps li.done{color:#065f46;background:#ecfdf5;border-color:#a7f3d0}.steps li.current{color:#fff;background:var(--brand);border-color:var(--brand);font-weight:700}.orders{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.order{padding:16px;gap:10px}.lines{margin:0;padding-left:18px}ul.lines{list-style:none;padding:0;display:flex;flex-direction:column;gap:6px}.order .lines{list-style:disc;padding-left:18px}.who{background:#faf3e8;border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:2px}.pill{font-size:.75rem;font-weight:700;padding:4px 10px;border-radius:999px;background:#eee}.s-nouvelle{background:#fee2e2;color:#991b1b}.s-en_preparation{background:#fef3c7;color:#92400e}.s-prete{background:#dbeafe;color:#1e40af}.s-en_livraison{background:#ede9fe;color:#5b21b6}.s-livree{background:#dcfce7;color:#166534}.s-annulee{background:#e5e7eb;color:#374151}
