:root{
  --zus-navy:#0B1726;
  --zus-blue:#0066CC;
  --zus-orange-dark:#DB8B06;
  --zus-paper:#F5F7FA;
  --zus-green:#16A34A;
  --zus-red:#DC2626;
  --zus-border:#E6EAF0;
  --zus-text-muted:#64748B;
}
/* Force a consistent, FULL-WIDTH grid no matter what column count
   Elementor's widget settings say — this overrides its float/inline-block
   layout entirely so cards never collapse or overlap. */
.woocommerce ul.products,
.elementor-widget-container ul.products,
ul.products{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:24px !important;
  list-style:none !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  float:none !important;
}
.woocommerce ul.products li.product{ width:100% !important; margin:0 !important; float:none !important; }
@media(max-width:1100px){ .woocommerce ul.products, ul.products{ grid-template-columns:repeat(3,minmax(0,1fr)) !important; } }
@media(max-width:780px){ .woocommerce ul.products, ul.products{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; } }
@media(max-width:480px){ .woocommerce ul.products, ul.products{ grid-template-columns:1fr !important; } }

*{ box-sizing:border-box; }

li.product.zus-product-card{
  background:#fff; border:1px solid var(--zus-border); border-radius:14px;
  overflow:hidden; display:flex; flex-direction:column;
  transition:box-shadow .2s ease, transform .2s ease;
  font-family:'Inter',sans-serif; position:relative;
  min-width:0; /* prevents grid children from forcing overflow */
}
li.product.zus-product-card:hover{ box-shadow:0 10px 30px rgba(11,23,38,.08); transform:translateY(-2px); }

.zus-card-media{ position:relative; background:#fff; padding:0 0 16px; min-height:200px; display:flex; flex-direction:column; }

/* Badges now flow as a normal row ABOVE the image — never overlap,
   and wrap to a second line automatically if text is long. */
.zus-card-badges{
  display:flex; align-items:flex-start; justify-content:space-between;
  gap:8px; flex-wrap:wrap; padding:14px 16px 10px;
}
.zus-card-media img{ max-height:170px; width:auto; max-width:100%; object-fit:contain; margin:0 auto; padding:0 16px; }

.zus-badge{ font-size:10.5px; font-weight:700; letter-spacing:.02em; padding:5px 10px; border-radius:999px; line-height:1.3; white-space:normal; text-align:center; }
.zus-badge--category{ background:#E8F1FD; color:var(--zus-blue); }
.zus-badge--condition{ text-transform:uppercase; margin-left:auto; }
.zus-badge--new{ background:#E7F7EE; color:var(--zus-green); }
.zus-badge--used,.zus-badge--refurbished{ background:#FDF1DC; color:var(--zus-orange-dark); }
.zus-badge--neutral{ background:#EAF2FC; color:var(--zus-blue); }
.zus-badge--legacy{ background:#FBE9E9; color:var(--zus-red); }

.zus-card-body{ padding:4px 20px 0; flex:1; }
.zus-card-brand{ margin:0 0 4px; font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--zus-text-muted); }
.zus-card-title{ margin:0 0 4px; font-size:16px; font-weight:700; line-height:1.3; color:var(--zus-navy); }
.zus-card-title a{ color:inherit; text-decoration:none; }
.zus-card-title a:hover{ color:var(--zus-blue); }
.zus-card-sku{ margin:0 0 12px; font-size:12px; color:var(--zus-text-muted); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; }

.zus-card-footer{ display:flex; align-items:center; justify-content:space-between; padding:14px 20px; border-top:1px solid var(--zus-border); margin-top:auto; }
.zus-stock{ display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:600; }
.zus-stock-dot{ width:7px; height:7px; border-radius:50%; display:inline-block; }
.zus-stock--in{ color:var(--zus-green); } .zus-stock--in .zus-stock-dot{ background:var(--zus-green); }
.zus-stock--out{ color:var(--zus-red); } .zus-stock--out .zus-stock-dot{ background:var(--zus-red); }

.zus-quote-link{ font-size:13px; font-weight:700; color:var(--zus-blue); text-decoration:none; display:inline-flex; align-items:center; gap:4px; }
.zus-quote-link:hover{ color:var(--zus-orange-dark); }

li.product.zus-product-card .add_to_cart_button,
li.product.zus-product-card .price{ display:none !important; }
