/* Product Card Premium V3.1 — image fit + premium SVG meta (2026.10.13.4) */
.tf-pcard{
  --pc-navy:#0f2744;
  --pc-muted:#64748b;
  --pc-line:#e8eef6;
  --pc-soft:#f4f7fb;
  --pc-blue:#1a56db;
  --pc-gold:#f5b51b;
  --pc-green:#059669;
  --pc-radius:18px;
  position:relative;
  display:flex !important;
  flex-direction:column !important;
  height:100%;
  min-width:0;
  background:#fff !important;
  border:1px solid var(--pc-line) !important;
  border-radius:var(--pc-radius) !important;
  box-shadow:0 8px 28px rgba(15,39,68,.06) !important;
  overflow:hidden;
  transition:box-shadow .18s ease, transform .18s ease, border-color .18s ease;
}
.tf-pcard:hover{
  border-color:#d5e3f5 !important;
  box-shadow:0 14px 36px rgba(15,39,68,.1) !important;
  transform:translateY(-2px);
}

/* ===== IMAGE: full bleed edge-to-edge ===== */
.tf-pcard-media,
.tf-pcard .product-image,
.product-grid .tf-pcard .product-image,
.catalog-layout .tf-pcard .product-image{
  position:relative !important;
  display:block !important;
  width:100% !important;
  aspect-ratio:4 / 3 !important;
  height:auto !important;
  min-height:200px !important;
  max-height:none !important;
  padding:0 !important;
  margin:0 !important;
  background:#eef2f7 !important;
  overflow:hidden !important;
  border-radius:0 !important;
  border:0 !important;
}
.tf-pcard-img-link,
.tf-pcard .product-image-link,
.tf-pcard .product-image > a{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  z-index:1;
}
.tf-pcard-media img,
.tf-pcard .product-image img,
.tf-pcard .product-image-link img,
.tf-pcard .product-image > a img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  transition:transform .25s ease;
}
.tf-pcard:hover .tf-pcard-media img,
.tf-pcard:hover .product-image img{
  transform:scale(1.03);
}

/* ===== BADGES ===== */
.tf-pcard-badges{
  position:absolute;
  top:12px;
  left:12px;
  z-index:5;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
  max-width:calc(100% - 56px);
  pointer-events:none;
}
.tf-pcard-badge{
  display:inline-flex !important;
  align-items:center;
  gap:5px;
  min-height:26px;
  padding:0 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  line-height:1;
  letter-spacing:.01em;
  color:#fff !important;
  box-shadow:0 4px 12px rgba(0,0,0,.12);
  white-space:nowrap;
  background:#1d4ed8;
}
.tf-pcard-badge svg{flex-shrink:0}
.tf-pcard-badge-best{background:linear-gradient(135deg,#ff5a6a,#e11d48) !important}
.tf-pcard-badge-eco{background:linear-gradient(135deg,#34d399,#059669) !important}
.tf-pcard-badge-verified{background:linear-gradient(135deg,#4f7df3,#2563eb) !important}
.tf-pcard-badge-secure{background:linear-gradient(135deg,#0ea5e9,#0369a1) !important}
.tf-pcard-badge-feat{background:linear-gradient(135deg,#f59e0b,#d97706) !important}

/* Wishlist */
.tf-pcard-wish,
.tf-pcard .wishlist{
  position:absolute !important;
  top:12px !important;
  right:12px !important;
  left:auto !important;
  bottom:auto !important;
  z-index:6;
  width:36px !important;
  height:36px !important;
  min-width:36px !important;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  border:0 !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.96) !important;
  color:#64748b !important;
  box-shadow:0 4px 14px rgba(15,39,68,.12) !important;
  cursor:pointer;
  padding:0 !important;
  transition:color .15s, transform .15s, background .15s;
}
.tf-pcard-wish:hover,
.tf-pcard .wishlist:hover{color:#e11d48 !important;transform:scale(1.06)}
.tf-pcard-wish[aria-pressed="true"],
.tf-pcard .wishlist[aria-pressed="true"],
.tf-pcard .wishlist.saved{
  color:#e11d48 !important;
  background:#fff1f2 !important;
}

/* Discount */
.tf-pcard-discount{
  position:absolute;
  left:12px;
  bottom:14px;
  z-index:5;
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 9px;
  border-radius:8px;
  background:#ef4444;
  color:#fff;
  font-size:12px;
  font-weight:800;
  box-shadow:0 4px 10px rgba(239,68,68,.25);
}

/* Gallery thumbs */
.tf-pcard-thumbs{
  position:absolute;
  right:12px;
  bottom:12px;
  z-index:5;
  display:flex;
  align-items:center;
  gap:5px;
}
.tf-pcard-thumb{
  width:34px;
  height:34px;
  border-radius:8px;
  overflow:hidden;
  border:2px solid #fff;
  background:#e2e8f0;
  box-shadow:0 2px 8px rgba(15,39,68,.15);
  display:flex;
  align-items:center;
  justify-content:center;
}
.tf-pcard-thumb img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
}
.tf-pcard-thumb-more{
  background:#0f2744;
  color:#fff;
  font-size:11px;
  font-weight:800;
}

/* Compare */
.tf-pcard-compare,
.tf-pcard .tf-compare-icon{
  position:absolute !important;
  left:12px !important;
  bottom:12px !important;
  top:auto !important;
  right:auto !important;
  z-index:5;
  width:32px !important;
  height:32px !important;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  border:0 !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.94) !important;
  color:#64748b !important;
  box-shadow:0 2px 8px rgba(15,39,68,.1) !important;
  cursor:pointer;
  padding:0 !important;
}
.tf-pcard-compare:hover{color:var(--pc-blue) !important}

/* Kill legacy overlays that fight the new layout */
.tf-pcard .tf-tradesecure-card-badge,
.tf-pcard .product-badge,
.tf-pcard .supplier-line,
.tf-pcard .product-primary-meta,
.tf-pcard .tf-storefront-row,
.tf-pcard .product-compact-chips:not(.tf-pcard-meta){
  display:none !important;
}

/* ===== BODY ===== */
.tf-pcard-body,
.tf-pcard .product-body{
  display:flex !important;
  flex-direction:column !important;
  gap:8px;
  padding:14px 14px 16px !important;
  flex:1 1 auto;
  min-width:0;
  background:#fff;
}
.tf-pcard-cat,
.tf-pcard .tf-product-category{
  display:inline-block;
  font-size:11px !important;
  font-weight:800 !important;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#94a3b8 !important;
  text-decoration:none !important;
  margin:0 !important;
}
.tf-pcard-cat:hover{color:var(--pc-blue) !important}

.tf-pcard-title,
.tf-pcard-body h3,
.tf-pcard .product-body h3{
  margin:0 !important;
  font-size:15.5px !important;
  font-weight:800 !important;
  line-height:1.32 !important;
  letter-spacing:-.015em;
  color:var(--pc-navy) !important;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.tf-pcard-title a,
.tf-pcard-body h3 a{
  color:inherit !important;
  text-decoration:none !important;
}
.tf-pcard-title a:hover{color:var(--pc-blue) !important}

.tf-pcard-desc,
.tf-pcard .product-description{
  margin:0 !important;
  font-size:12.5px !important;
  line-height:1.45 !important;
  color:var(--pc-muted) !important;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* Price + rating */
.tf-pcard-price-row{
  display:flex !important;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:2px 0 0 !important;
  flex-wrap:wrap;
}
.tf-pcard-price{
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:6px;
  min-width:0;
}
.tf-pcard-price strong,
.tf-pcard .price strong,
.tf-pcard .price{
  font-size:19px !important;
  font-weight:800 !important;
  color:var(--pc-navy) !important;
  letter-spacing:-.02em;
  margin:0 !important;
}
.tf-pcard-unit,
.tf-pcard .price small{
  font-size:12.5px !important;
  font-weight:600 !important;
  color:var(--pc-muted) !important;
}
.tf-pcard-mrp{
  font-size:13px;
  font-weight:600;
  color:#94a3b8;
}
.tf-pcard-rating{
  display:inline-flex;
  align-items:center;
  gap:3px;
  white-space:nowrap;
  color:var(--pc-navy);
  font-size:13px;
}
.tf-pcard-star{color:#f5b51b;font-size:14px}
.tf-pcard-rating b{font-weight:800}
.tf-pcard-rating small{color:var(--pc-muted);font-weight:600}

/* Ask Price — same slot + same visual weight as real price */
.tf-pcard .tf-ask-price-btn,
.tf-pcard .tf-pcard-ask-price,
.tf-pcard-price .tf-ask-price-btn,
.tf-pcard .price.is-ask-price .tf-ask-price-btn{
  border:0 !important;
  background:none !important;
  padding:0 !important;
  margin:0 !important;
  box-shadow:none !important;
  display:inline !important;
  width:auto !important;
  height:auto !important;
  min-height:0 !important;
  line-height:1.2 !important;
  font-size:19px !important;
  font-weight:800 !important;
  letter-spacing:-.02em !important;
  color:var(--pc-navy) !important;
  cursor:pointer;
  text-align:left !important;
  text-decoration:none !important;
  vertical-align:baseline;
}
.tf-pcard .tf-ask-price-btn:hover,
.tf-pcard .tf-pcard-ask-price:hover{
  color:var(--pc-blue) !important;
  text-decoration:underline !important;
}
/* Kill any legacy yellow dot / pseudo before Ask Price */
.tf-pcard .price.is-ask-price::before,
.tf-pcard .tf-pcard-price-row.is-ask-price::before,
.tf-pcard .is-ask-price .tf-pcard-price::before{
  content:none !important;
  display:none !important;
}
@media(max-width:700px){
  .tf-pcard .tf-ask-price-btn,
  .tf-pcard .tf-pcard-ask-price{font-size:17px !important}
}

/* ===== META — 3 equal columns, NO truncation ===== */
.tf-pcard-meta{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:8px !important;
  margin-top:6px !important;
  padding-top:12px !important;
  border-top:1px solid #f1f5f9 !important;
  width:100% !important;
  max-width:none !important;
  overflow:visible !important;
  background:transparent !important;
  flex-wrap:unset !important;
}
.tf-pcard-meta-item{
  display:flex !important;
  align-items:flex-start !important;
  gap:7px !important;
  min-width:0 !important;
  max-width:none !important;
  width:auto !important;
  height:auto !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
  white-space:normal !important;
  text-overflow:clip !important;
  font-size:12px !important;
  color:var(--pc-muted) !important;
  line-height:1.25 !important;
}
.tf-pcard-meta-ico{
  flex:0 0 auto;
  width:28px;
  height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:8px;
  background:#f1f5f9;
  color:#64748b;
}
.tf-pcard-meta-ico svg{display:block}
.tf-pcard-meta-txt{
  display:flex !important;
  flex-direction:column !important;
  gap:1px;
  min-width:0;
  overflow:visible !important;
  white-space:normal !important;
}
.tf-pcard-meta-txt small{
  display:block !important;
  font-size:10px !important;
  font-weight:700 !important;
  color:#94a3b8 !important;
  letter-spacing:.02em;
  line-height:1.2 !important;
  white-space:nowrap !important;
}
.tf-pcard-meta-txt b{
  display:block !important;
  font-size:11.5px !important;
  font-weight:800 !important;
  color:var(--pc-navy) !important;
  line-height:1.25 !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  word-break:break-word;
}
.tf-pcard-meta-item.is-verified .tf-pcard-meta-ico{
  background:#ecfdf5;
  color:var(--pc-green);
}
.tf-pcard-meta-item.is-verified .tf-pcard-meta-txt b{color:var(--pc-green) !important}

/* Defeat old compact-chip rules that caused "MOQ1 Pi" truncation */
.tf-pcard .product-compact-chips,
.tf-pcard .product-compact-chips > span,
.tf-pcard .product-compact-chips > *{
  max-width:none !important;
  overflow:visible !important;
  text-overflow:clip !important;
  white-space:normal !important;
}

/* ===== ACTIONS ===== */
.tf-pcard-actions,
.tf-pcard .card-actions{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:10px !important;
  margin-top:auto !important;
  padding-top:12px !important;
  width:100% !important;
}
.tf-pcard-buy-form{display:contents}
.tf-pcard-btn{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:44px !important;
  padding:0 12px !important;
  border-radius:12px !important;
  font-size:13px !important;
  font-weight:800 !important;
  text-decoration:none !important;
  cursor:pointer;
  transition:transform .12s, box-shadow .12s, background .12s, border-color .12s;
  width:100% !important;
  box-sizing:border-box !important;
  white-space:nowrap;
}
.tf-pcard-btn-ghost,
.tf-pcard .tf-add-cart,
.tf-pcard .tf-rfq-actions > a{
  background:#fff !important;
  color:var(--pc-navy) !important;
  border:1.5px solid #dbe3ef !important;
  box-shadow:none !important;
}
.tf-pcard-btn-ghost:hover,
.tf-pcard .tf-add-cart:hover{
  border-color:#93b4e0 !important;
  background:#f8fbff !important;
}
.tf-pcard-btn-primary,
.tf-pcard .tf-buy-now,
.tf-pcard .tf-rfq-actions > button{
  background:linear-gradient(135deg,#ffd24d 0%,#f5b51b 55%,#e8a40a 100%) !important;
  color:#0b2b52 !important;
  border:0 !important;
  box-shadow:0 6px 16px rgba(245,181,27,.28) !important;
}
.tf-pcard-btn-primary:hover,
.tf-pcard .tf-buy-now:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(245,181,27,.36) !important;
}

/* Quick view — never overlap badges; fully off grid cards */
.tf-pcard .product-quick-view,
.tf-pcard .tf-pcard-qv,
.product-grid .product-quick-view,
.catalog-layout .product-quick-view,
.tf-pcard button.product-quick-view{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
  position:absolute !important;
  width:0 !important;
  height:0 !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  font-size:0 !important;
  z-index:-1 !important;
}

/* Compare: bottom-left, below badges, no clash */
.tf-pcard-compare,
.tf-pcard .tf-compare-icon{
  top:auto !important;
  left:10px !important;
  bottom:10px !important;
  right:auto !important;
  z-index:4 !important;
}

/* Badges stack clear of heart */
.tf-pcard-badges{
  top:10px !important;
  left:10px !important;
  right:48px !important;
  max-width:calc(100% - 58px) !important;
  z-index:5 !important;
}
.tf-pcard-wish,
.tf-pcard .wishlist{
  z-index:6 !important;
}

.product-grid .tf-pcard,
.catalog-layout .tf-pcard{min-width:0}
.product-grid{align-items:stretch}

.tf-search-simple-card.tf-pcard .tf-pcard-desc{display:none}
.tf-search-simple-card.tf-pcard .tf-pcard-body{gap:6px;padding:12px 12px 14px !important}

/* Responsive */
@media(max-width:900px){
  .tf-pcard-meta{grid-template-columns:1fr !important;gap:8px !important}
  .tf-pcard-meta-item{align-items:center !important}
}
@media(max-width:700px){
  .tf-pcard-media,
  .tf-pcard .product-image{padding:0 !important}
  .tf-pcard-title{font-size:14.5px !important}
  .tf-pcard-price strong{font-size:17px !important}
  .tf-pcard-actions{grid-template-columns:1fr !important;gap:8px !important}
  .tf-pcard-btn{min-height:42px !important}
  .tf-pcard-thumb{width:30px;height:30px}
}
@media(min-width:701px) and (max-width:1100px){
  /* 2–3 col grids: keep 3 meta cols but allow wrap of long location */
  .tf-pcard-meta-txt b{font-size:11px !important}
}

/* Meta polish — match reference density */
.tf-pcard-meta-item.is-verified .tf-pcard-meta-txt small{color:var(--pc-green) !important}
.tf-pcard-meta-txt b{
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  max-width:100%;
}
.tf-pcard-meta-item:nth-child(2) .tf-pcard-meta-txt b{
  white-space:normal !important;
}
/* Title case category already uppercase via CSS */
.tf-pcard-cat{margin-bottom:2px !important}
.tf-pcard-title{margin-bottom:2px !important}
.tf-pcard-price-row{margin-top:4px !important}
