:root{
  --orange:#ff540b;
  --orange-hover:#e94a07;
  --ink:#101725;
  --muted:#667a99;
  --line:#dde5ef;
  --soft:#f3f7fb;
  --card:#ffffff;
  --shadow:0 2px 8px rgba(16,23,37,.10);
  --radius:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  background:#fff;
}
button,input{font:inherit}
a{color:inherit}
.wrap{width:min(1120px,calc(100% - 32px));margin-inline:auto}

.site-header{
  border-bottom:1px solid var(--line);
  background:#fff;
}
.header-inner{
  text-align:center;
  padding:34px 0 28px;
}
.header-inner h1{
  margin:0;
  font-size:clamp(28px,4vw,42px);
  line-height:1.05;
  letter-spacing:-1.2px;
  font-weight:900;
}
.header-inner h1 span{color:var(--orange)}
.header-inner p{
  margin:10px 0 0;
  color:var(--muted);
  font-size:clamp(16px,2vw,19px);
}

.toolbar{
  position:sticky;
  top:0;
  z-index:20;
  background:rgba(255,255,255,.95);
  backdrop-filter:blur(10px);
  padding:16px 0 10px;
}
.search-box{
  display:flex;
  align-items:center;
  gap:12px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:0 18px;
  min-height:58px;
  box-shadow:var(--shadow);
}
.search-box span{
  color:var(--muted);
  font-size:31px;
  transform:rotate(-20deg);
  line-height:1;
}
.search-box input{
  width:100%;
  border:0;
  outline:0;
  font-size:18px;
  color:var(--ink);
  background:transparent;
}
.search-box input::placeholder{color:#72839e}

.categories{
  display:flex;
  gap:10px;
  overflow-x:auto;
  padding:14px 0 4px;
  scrollbar-width:none;
}
.categories::-webkit-scrollbar{display:none}
.category-btn{
  flex:0 0 auto;
  border:1px solid var(--line);
  background:#fff;
  color:var(--ink);
  border-radius:999px;
  padding:10px 18px;
  font-weight:700;
  cursor:pointer;
}
.category-btn:hover{border-color:#c7d3e1}
.category-btn.active{
  background:var(--orange);
  border-color:var(--orange);
  color:#fff;
}
.result-count{
  min-height:18px;
  margin:8px 2px 0;
  color:var(--muted);
  font-size:14px;
}

.products-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:22px;
  padding:10px 0 34px;
}
.product-card{
  min-width:0;
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
  display:flex;
  flex-direction:column;
}
.product-image-wrap{
  position:relative;
  height:280px;
  background:var(--soft);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.product-image{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
.product-number{
  position:absolute;
  top:14px;
  left:14px;
  background:var(--orange);
  color:#fff;
  font-size:24px;
  font-weight:900;
  line-height:1;
  padding:12px 16px;
  border:3px solid #fff;
  border-radius:16px;
  box-shadow:0 3px 8px rgba(0,0,0,.18);
}
.product-body{
  padding:18px 18px 16px;
  display:flex;
  flex-direction:column;
  flex:1;
}
.product-category{
  align-self:flex-start;
  background:#f1f5f9;
  border-radius:999px;
  padding:5px 11px;
  font-size:13px;
  font-weight:800;
  margin-bottom:11px;
}
.product-title{
  margin:0 0 9px;
  font-size:21px;
  line-height:1.2;
  letter-spacing:-.25px;
}
.product-desc{
  margin:0 0 18px;
  color:var(--muted);
  font-size:16px;
  line-height:1.45;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.product-actions{
  display:grid;
  gap:9px;
  margin-top:auto;
}
.btn{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  border-radius:13px;
  text-decoration:none;
  font-weight:850;
  font-size:17px;
  transition:.15s ease;
}
.btn-primary{
  background:var(--orange);
  color:#fff;
}
.btn-primary:hover{background:var(--orange-hover)}
.btn-secondary{
  border:1px solid var(--line);
  background:#fff;
}
.btn-secondary:hover{background:#f8fafc}
.empty-state{
  border:1px dashed var(--line);
  background:var(--soft);
  color:var(--muted);
  border-radius:16px;
  padding:26px;
  text-align:center;
  margin:10px 0 34px;
}
.affiliate-note{
  margin:2px auto 42px;
  max-width:760px;
  text-align:center;
  color:var(--muted);
  font-size:13px;
  line-height:1.55;
}
.site-footer{
  border-top:1px solid var(--line);
  padding:25px 0;
}
.site-footer .wrap{
  display:flex;
  justify-content:space-between;
  gap:16px;
  color:var(--muted);
  font-size:14px;
}
.site-footer strong{color:var(--ink)}

@media (max-width:640px){
  .wrap{width:min(100% - 24px,1120px)}
  .header-inner{padding:24px 0 20px}
  .header-inner h1{font-size:27px;white-space:nowrap}
  .header-inner p{font-size:15px;max-width:340px;margin:8px auto 0}
  .toolbar{padding-top:12px}
  .search-box{min-height:56px;padding:0 14px}
  .search-box input{font-size:16px}
  .category-btn{padding:10px 17px}
  .products-grid{grid-template-columns:1fr;gap:18px}
  .product-image-wrap{height:280px}
  .product-number{font-size:23px}
  .product-body{padding:16px}
  .product-title{font-size:20px}
  .site-footer .wrap{flex-direction:column;text-align:center}
}
