:root{--ink:#1d1f22;--muted:#6b7280;--line:#e5e7eb;--bg:#f6f7f8;--acc:#2a7fa8;--acc2:#d7ebf5;--ok:#1f8f4e;--bad:#c0392b}
*{box-sizing:border-box}body{margin:0;font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:#fff}
.wrap{max-width:1150px;margin:0 auto;padding:0 18px}a{color:var(--acc)}
.top{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--line);z-index:5}.bar{display:flex;align-items:center;justify-content:space-between;height:62px}
.brand img{height:30px}nav a{margin-left:18px;text-decoration:none;color:var(--ink);font-weight:500}
.demo-banner{background:#fff6d6;color:#7a5b00;font-size:13px;text-align:center;padding:6px 12px;border-bottom:1px solid #f1e1a0}
.btn{display:inline-block;background:var(--ink);color:#fff;border:0;border-radius:8px;padding:11px 18px;font-weight:600;cursor:pointer;text-decoration:none;font-size:15px}
.btn.sm{padding:7px 12px;font-size:14px}nav .btn{color:#fff}.btn.ghost{background:#fff;color:var(--ink);border:1px solid var(--ink)}.btn.wa{background:#1f9d55}
.hero{background:linear-gradient(180deg,var(--acc2),#fff);padding:46px 0 30px}.hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:34px;align-items:center}
.hero h1{font-size:38px;line-height:1.15;margin:.2em 0}.eyebrow{color:var(--acc);font-weight:700;text-transform:uppercase;font-size:12px;letter-spacing:.08em}
.lead{font-size:17px;color:#374151}.cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.hero-img{width:100%;border-radius:14px;box-shadow:0 10px 30px #0002}
.cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:34px}.cat{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px;cursor:pointer}.cat b{display:block}.cat span{color:var(--muted);font-size:13px}
.contact{margin-top:24px;color:#374151}
section{padding:36px 0}h2{font-size:28px;margin:0 0 14px}
.filters{display:flex;flex-direction:column;gap:10px}#q,input,select{font:inherit;padding:9px 11px;border:1px solid #cfd4da;border-radius:8px;background:#fff}#q{max-width:420px}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid #cfd4da;background:#fff;border-radius:99px;padding:6px 12px;cursor:pointer;font-size:14px}.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.card img{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--bg)}.card .sw{height:38px;aspect-ratio:auto;border-top:1px solid var(--line)}
.card .b{padding:12px;display:flex;flex-direction:column;gap:4px;flex:1}.code{font-weight:700;font-size:17px}.tag{font-size:12px;color:var(--acc);font-weight:600;text-transform:uppercase}
.price{display:flex;justify-content:space-between;font-size:14px}.muted{color:var(--muted)}.small{font-size:13px}.ref{font-size:11px;color:var(--muted)}
.card .btn{margin-top:auto}
.line{border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;align-items:end;background:#fff}
.line label{display:flex;flex-direction:column;font-size:12px;color:var(--muted);gap:3px}.line .lt{font-weight:700;font-size:17px;text-align:right}.line .kind{font-weight:700;grid-column:1/-1;display:flex;justify-content:space-between}
.line .x{background:none;border:0;color:var(--bad);cursor:pointer;font-size:14px}.line .calc{grid-column:1/-1;font-size:13px;color:var(--muted)}
.addrow,.actions{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 20px}
.totals{border-top:2px solid var(--ink);padding-top:10px;max-width:620px;margin-left:auto}.totals .row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:6px 0;flex-wrap:wrap}.total{font-size:20px}
#codeMsg.ok{color:var(--ok)}#codeMsg.bad{color:var(--bad)}
.rules{background:var(--bg);border-radius:12px;padding:6px 18px;margin-top:20px;font-size:14px}
footer{border-top:1px solid var(--line);padding:18px 0;color:var(--muted)}
.print-head{display:none}
@media(max-width:760px){.hero-grid{grid-template-columns:1fr}.hero h1{font-size:28px}nav a{margin-left:10px}.brand img{height:22px}}
@media print{.noprint{display:none!important}body{font-size:12px}section{padding:0}.print-head{display:flex;gap:20px;align-items:center;border-bottom:2px solid #000;padding-bottom:8px;margin-bottom:12px}.print-head img{height:28px}
.line{break-inside:avoid;border:0;border-bottom:1px solid #ccc;border-radius:0;padding:6px 0;grid-template-columns:2fr 1fr 1fr 1fr 1fr 1fr}.line select,.line input{border:0;padding:0;appearance:none;-webkit-appearance:none;background:none}.line .x{display:none}.rules{background:none;padding:0}}
