*{box-sizing:border-box}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;margin:0;color:#111;line-height:1.5;font-size:15px}
.wrap{max-width:min(1200px,100% - 32px);margin:0 auto;padding:0 0 32px}
.top{position:sticky;top:0;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);border-bottom:1px solid #e5e5e5;z-index:50}
.top .wrap{display:flex;gap:12px;align-items:center;padding:12px 0;flex-wrap:wrap}
.logo{font-weight:800;text-decoration:none;color:#0a7a3d}
.search{flex:1;display:flex;min-width:240px;border:2px solid #0a7a3d;border-radius:999px;overflow:hidden}
.search input{flex:1;border:0;padding:10px 12px;font-size:15px;min-width:60px}
.search button{border:0;background:#0a7a3d;color:#fff;font-weight:700;padding:0 18px;min-height:44px}
nav{display:flex;gap:12px;flex-wrap:wrap}nav a{padding:10px 4px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;margin-top:16px}
.card{border:1px solid #e5e5e5;border-radius:12px;padding:12px;background:#fff}
.card img{width:100%;height:180px;object-fit:contain;background:#f7f7f7;border-radius:8px}
.btn{display:inline-block;background:#0a7a3d;color:#fff;border:0;border-radius:10px;padding:12px 18px;font-weight:700;min-height:44px;cursor:pointer}
.btn.ghost{background:#fff;color:#0a7a3d;border:2px solid #0a7a3d;text-decoration:none}
.muted{color:#666}.chip{display:inline-block;border:1px solid #ddd;border-radius:999px;padding:8px 12px;margin:4px;text-decoration:none;color:#111}
input,select{font-size:16px;padding:10px;border:1px solid #ccc;border-radius:8px;width:100%;max-width:420px}
label{display:block;margin:10px 0}form{margin:12px 0}
.toast{padding:10px;border-radius:8px;background:#e8f7ee;border:1px solid #0a7a3d}
@media(max-width:640px){.card img{height:150px}h1{font-size:22px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
