
:root{--bg:#fff;--text:#222;--accent:#2f17a6}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text)}
header,footer{padding:16px 24px;border-bottom:1px solid #eee}
footer{border-top:1px solid #eee;border-bottom:none;margin-top:48px}
.container{max-width:980px;margin:0 auto;padding:16px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.card{border:1px solid #eee;border-radius:12px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.card img{width:100%;aspect-ratio:1/1;object-fit:cover;background:#f2f2f2}
.card .p{padding:12px}
.price{font-weight:700;margin-top:4px}
.btn,button{display:inline-block;border:1px solid #ddd;padding:.6rem .9rem;border-radius:.8rem;cursor:pointer;background:#fff;text-decoration:none;color:inherit}
.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}
.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
nav a{margin-right:12px}
.badge{display:inline-flex;align-items:center;gap:.35rem;border:1px solid #ddd;border-radius:999px;padding:.2rem .6rem}
table{width:100%;border-collapse:collapse}
th,td{padding:10px;border-bottom:1px solid #eee;text-align:left}
.total{font-size:1.1rem;font-weight:700;margin-top:12px}
note{display:block;padding:.75rem 1rem;border:1px dashed #bbb;border-radius:.75rem;background:#fafafa;margin:12px 0}
.share{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}
.share .btn{font-size:.9rem}
small.muted{opacity:.7}
