*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,Helvetica,Arial,sans-serif;line-height:1.45;color:#111;background:#f7f7fb}
a{color:#0b63ff;text-decoration:none}a:hover{text-decoration:underline}
.wrap{max-width:1100px;margin:0 auto;padding:20px}
.muted{color:#666}
header h1{margin:0 0 4px;font-size:28px}
.card{background:white;border-radius:14px;box-shadow:0 2px 14px rgba(0,0,0,.06);padding:16px;margin:16px 0}
.grid{display:grid;gap:14px}
.cats{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
.pill{display:block;padding:12px 14px;border:1px solid #e0e0ea;border-radius:12px;background:#fafafd;text-align:center}
.pill:hover{background:#f0f4ff}
.searchbar{display:flex;gap:8px;flex-wrap:wrap}
.searchbar input,.searchbar select{padding:10px;border:1px solid #d6d6e2;border-radius:10px;min-width:140px}
.searchbar button{padding:10px 16px;border:0;border-radius:10px;background:#0b63ff;color:white;cursor:pointer}
.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}
.filters input,.filters select{width:100%;padding:10px;border:1px solid #d6d6e2;border-radius:10px}
.filters button{padding:10px 16px;border:0;border-radius:10px;background:#0b63ff;color:white;cursor:pointer}
.results{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.item{display:block;padding:10px;border:1px solid #eee;border-radius:12px;background:white}
.item .thumb{height:160px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:10px;background:#f1f3f7}
.item img{max-width:100%;max-height:160px;display:block}
.item .meta{padding:6px 2px}
.item h3{font-size:14px;margin:6px 0 4px;height:40px;overflow:hidden}
.item .price{font-weight:700;margin-top:6px}
.ph{width:70px;height:70px;background:#e5e7f0;border-radius:8px}
.pager{display:flex;justify-content:center;margin:16px 0}.pager .pager-row{display:flex;gap:12px;align-items:center}
.pager button{padding:8px 12px;border-radius:8px;border:1px solid #d6d6e2;background:#fff;cursor:pointer}
.error{white-space:pre-wrap;color:#b00020;background:#fff0f3;padding:12px;border-radius:8px;border:1px solid #ffd1d9}
