:root{--bg:#fff;--surface:#fff;--text:#000;--muted:#6b7280;--border:#e5e5e5;--primary:#000;--primary-contrast:#fff;--radius:12px}
*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:'Assistant',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif}
.hidden{display:none}.wrap{width:min(1100px,92%);margin:auto}.header{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--border)}.head{display:flex;justify-content:space-between;align-items:center;padding:14px 0}
.btn{background:var(--primary);color:var(--primary-contrast);border:1px solid var(--primary);border-radius:var(--radius);padding:10px 14px;font-weight:600;text-decoration:none}
.btn.ghost{background:transparent;color:var(--text);border:1px solid var(--border)}.controls{display:grid;grid-template-columns:1fr 200px 220px;gap:12px;padding:18px 0}
.controls input,.controls select{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px}.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));padding:8px 0 32px}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.policy{border-top:1px solid var(--border);padding:18px 0;color:#6b7280;font-size:13px}.footer{border-top:1px solid var(--border);padding:16px 0;color:#6b7280;font-size:13px}
.cart{position:fixed;right:-420px;top:0;height:100vh;width:400px;background:#fff;border-left:1px solid var(--border);transition:.25s;display:flex;flex-direction:column}.cart.open{right:0}.overlay{position:fixed;inset:0;background:rgba(0,0,0,.15);opacity:0;pointer-events:none;transition:.25s}.overlay.show{opacity:1;pointer-events:auto}
.gate{min-height:100vh;display:grid;place-items:center;padding:20px}.gate-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:24px;max-width:560px;text-align:center}
