.visually-hidden {
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

body {
  margin:0;
  background:#fbfaf8;
  color:#24211e;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}

.product-grid {
  max-width:1400px;
  margin:24px auto;
  padding:0 16px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
}
.product-card {
  min-width:0;
  border:1px solid #e8e1d8;
  border-radius:12px;
  background:#fff;
  box-shadow:0 7px 22px rgba(45,37,27,.055);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.product-card:hover {
  transform:translateY(-2px);
  box-shadow:0 13px 30px rgba(45,37,27,.09);
  border-color:#ddd2c4;
}
.product-link {
  display:block;
  color:inherit;
  text-decoration:none;
  padding:12px;
  flex:1;
}
.product-link img {
  display:block;
  width:100%;
  aspect-ratio:1/1;
  object-fit:contain;
  background:#fff;
}
.product-card h3 {
  margin:14px 0 7px;
  font-size:15px;
  line-height:1.35;
}
.brand { margin:0 0 8px; color:#666; font-size:14px; }
.price-box { display:flex; flex-wrap:wrap; gap:8px; align-items:baseline; }
.sale-price { font-weight:700; font-size:18px; color:#c62828; }
.regular-price { color:#777; text-decoration:line-through; font-size:14px; }
.currency-code { font-size:14px; font-weight:600; color:#555; }
.single-price { text-decoration:none; color:#222; font-size:18px; font-weight:700; }
.saving-box { margin-top:8px; display:flex; flex-wrap:wrap; gap:8px; font-size:14px; }
.saving-amount { font-weight:700; }
.percent-off { font-weight:600; }
.buy-box { padding:0 12px 12px; }
.buy-button {
  min-height:46px;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border:1px solid #2a2825;
  border-radius:8px;
  background:#25231f;
  color:#fff;
  text-decoration:none;
  font-weight:600;
}
.retailer-logo-wrap {
  width:72px;
  height:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 72px;
  overflow:hidden;
}
.retailer-logo-wrap img {
  display:block;
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
}
.pagination {
  max-width:1400px;
  margin:30px auto;
  padding:0 16px;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:7px;
}
.pagination a, .pagination span {
  min-width:38px;
  min-height:38px;
  padding:0 10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #ddd;
  border-radius:6px;
  text-decoration:none;
  color:#222;
}
.pagination .current { font-weight:700; background:#f2f2f2; }
@media (max-width:1000px) {
  .product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:650px) {
  .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:0 10px; }
}
