:root{--rose:#94465c;--sage:#60725e;--cream:#faf3e9;--ink:#343b3e}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:#fff;line-height:1.5}
.wrap{max-width:1040px;margin:0 auto;padding:0 16px}header{background:var(--cream);padding:12px 0}header .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}
nav a{margin-left:14px;color:var(--sage);text-decoration:none}.hero h1{color:var(--rose);margin-bottom:4px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.card{border:1px solid #e2d8ce;border-radius:12px;padding:16px;display:flex;flex-direction:column}.card h3{font-size:1.05rem;margin:0 0 8px}
.price{font-size:1.3rem;color:var(--rose);font-weight:700}.list{text-decoration:line-through;color:#888;margin-left:8px;font-weight:400;font-size:.95rem}
.badge{display:inline-block;background:#fdecc8;color:#7a5200;border-radius:6px;padding:2px 8px;font-size:.8rem;margin-bottom:8px}
button.buy{margin-top:auto;background:var(--rose);color:#fff;border:0;border-radius:8px;padding:10px;font-size:1rem;cursor:pointer}button.buy:disabled{background:#bbb;cursor:not-allowed}
dialog{border:0;border-radius:12px;max-width:420px;width:92%}dialog img{width:100%;max-width:320px;display:block;margin:8px auto}.x{float:right;border:0;background:none;font-size:1.5rem;cursor:pointer}
code{background:var(--cream);padding:2px 6px;border-radius:4px;font-size:1.05rem}footer{margin-top:40px;padding:20px 0;background:var(--cream);font-size:.85rem}
