:root{--sage:#7f9f86;--sage-d:#5a7a62;--cream:#fbf6ee;--sand:#efe3d0;--slate:#2f3a45;--terra:#c8694a}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:var(--cream);color:var(--slate);line-height:1.55}
a{color:var(--sage-d)}header{background:var(--sage);color:#fff;padding:2rem 1rem;text-align:center}header a{color:#fff;text-decoration:none}
header h1{margin:.2rem 0;font-size:1.9rem}header p{margin:.3rem auto;max-width:720px;opacity:.95}
main{max-width:1100px;margin:0 auto;padding:1.2rem}.filters{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;background:var(--sand);padding:1rem;border-radius:12px;margin-bottom:1rem}
select,button{font:inherit;padding:.5rem .8rem;border-radius:8px;border:1px solid #cdbfa8;background:#fff}button{background:var(--terra);color:#fff;border:none;cursor:pointer}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}
.card{background:#fff;border-radius:12px;padding:1.1rem;box-shadow:0 2px 8px rgba(47,58,69,.08);display:flex;flex-direction:column}
.card h3{margin:.3rem 0;font-size:1.1rem}.tag{display:inline-block;font-size:.72rem;background:var(--sand);border-radius:20px;padding:.15rem .55rem;margin:.1rem}
.badge{color:var(--terra);font-weight:700;font-size:.75rem;letter-spacing:.04em;text-transform:uppercase}
.btn{display:inline-block;margin-top:auto;background:var(--terra);color:#fff;text-decoration:none;padding:.55rem .9rem;border-radius:8px;text-align:center;font-weight:600}
.btn:hover{background:#b0563a}.muted{color:#5e6a75;font-size:.9rem}.hidden{display:none!important}
#checklist{background:#fff;border:2px dashed var(--sage);border-radius:12px;padding:1rem 1.4rem;margin:1rem 0}#checklist li{margin:.3rem 0}
.disclosure{background:var(--sand);padding:.7rem 1rem;border-radius:8px;font-size:.88rem}
footer{background:var(--slate);color:#e8e3da;padding:1.5rem 1rem;text-align:center;font-size:.88rem;margin-top:2rem}footer a{color:#cfe0d2}
@media(max-width:600px){header h1{font-size:1.45rem}.filters{flex-direction:column;align-items:stretch}}
@media print{header,.filters,footer,.grid,.btn{display:none!important}#checklist{display:block!important;border:none}}
.product-img{width:calc(100% + 2.2rem);margin:-1.1rem -1.1rem .8rem;height:auto;aspect-ratio:480/280;border-radius:12px 12px 0 0;display:block;background:#efe3d0}
