:root{--bg:#fff;--surface:#fff;--surface-2:#f6f6f4;--text:#16150f;--text-dim:#6b6a63;--line:#e4e3dd;--accent:#16150f;--accent-text:#fff;--radius:12px;--max:1100px}@media (prefers-color-scheme:dark){:root{--bg:#14140f;--surface:#1c1c16;--surface-2:#23231c;--text:#f2f1ea;--text-dim:#a3a297;--line:#33322a;--accent:#f2f1ea;--accent-text:#14140f}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;padding-bottom:6rem;font:16px/1.55 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.wrap{max-width:var(--max);margin:0 auto;padding:0 1.25rem}header.shop{border-bottom:1px solid var(--line);margin-bottom:2rem;padding:2.5rem 0 1.75rem}header.shop h1{letter-spacing:-.02em;margin:0;font-size:clamp(1.6rem,4vw,2.3rem)}header.shop p{color:var(--text-dim);max-width:55ch;margin:.5rem 0 0}.grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.5rem;margin:0;padding:0;list-style:none;display:grid}.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-direction:column;display:flex;overflow:hidden}.card .shot{aspect-ratio:4/3;object-fit:cover;background:var(--surface-2);width:100%;display:block}.card .shot--empty{aspect-ratio:4/3;background:var(--surface-2)}.card .body{flex-direction:column;flex:1;gap:.35rem;padding:1rem;display:flex}.card h2{letter-spacing:-.01em;margin:0;font-size:1.02rem;font-weight:620}.card .desc{color:var(--text-dim);margin:0;font-size:.9rem}.card .price{font-variant-numeric:tabular-nums;margin-top:auto;padding-top:.6rem;font-weight:620}button{font:inherit;cursor:pointer;border:1px solid var(--line);background:var(--surface-2);color:var(--text);border-radius:9px;padding:.5rem .85rem;transition:filter .12s}button:hover:not(:disabled){filter:brightness(.96)}button:disabled{cursor:not-allowed;opacity:.55}button.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.add{width:100%;margin-top:.75rem}.basket{background:var(--surface);border-top:1px solid var(--line);position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 30px #00000014}.basket .wrap{padding-top:.85rem;padding-bottom:.85rem}.basket .bar{justify-content:space-between;align-items:center;gap:1rem;display:flex}.basket .total{font-variant-numeric:tabular-nums;font-weight:650}.lines{gap:.5rem;margin:0 0 .75rem;padding:0;list-style:none;display:grid}.line{align-items:center;gap:.75rem;font-size:.94rem;display:flex}.line .nm{flex:1}.line .amt{font-variant-numeric:tabular-nums;color:var(--text-dim)}.qty{align-items:center;gap:.4rem;display:flex}.qty button{padding:.15rem .5rem;line-height:1.2}.qty span{text-align:center;font-variant-numeric:tabular-nums;min-width:1.5ch}.totals{border-top:1px solid var(--line);gap:.25rem;padding-top:.6rem;display:grid}.totals div{justify-content:space-between;font-size:.94rem;display:flex}.totals .grand{font-size:1rem;font-weight:650}.note{color:var(--text-dim);white-space:pre-line;margin:.6rem 0 0;font-size:.86rem}.empty{color:var(--text-dim);text-align:center;padding:3rem 0}.paused{border:1px solid var(--line);border-left:3px solid var(--text);border-radius:var(--radius);background:var(--surface-2);margin:0 0 1.75rem;padding:.9rem 1.1rem;font-size:.95rem}
