/* XYLO v2.18 — premium product card surfaces.
   Presentation-only overrides, scoped to customer/reseller catalog cards.
   Data, card anchors, pricing, purchase modal, AJAX fragment handling and
   v2.16 SVG electric outlines stay untouched. No additional animations. */

.xv-catalog-main .vip-product-card {
  position: relative;
  isolation: isolate;
  min-width: 0;
  background:
    radial-gradient(110% 72% at 0% 0%, rgba(var(--xv-cat-accent-rgb), .16), transparent 72%),
    linear-gradient(158deg, #1a1128 0%, #100b19 55%, #160d23 100%) !important;
  border: 1px solid rgba(var(--xv-cat-accent-rgb), .49) !important;
  border-radius: 18px !important;
  box-shadow: 0 0 0 1px rgba(var(--xv-cat-accent-rgb), .09), 0 12px 30px rgba(0,0,0,.28) !important;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease !important;
  -webkit-tap-highlight-color: transparent;
}
.xv-catalog-main .vip-product-card::before {
  border-radius: inherit !important;
  box-shadow: inset 0 1px rgba(255,255,255,.10) !important;
  pointer-events:none;
}
.xv-catalog-main .vip-product-card::after {display:none !important;}
@media(hover:hover) and (pointer:fine) {
  .xv-catalog-main .vip-product-card:hover {
    transform: translateY(-3px) !important;
    border-color: rgba(var(--xv-cat-accent-rgb), .78) !important;
    box-shadow: 0 0 0 1px rgba(var(--xv-cat-accent-rgb), .16), 0 19px 40px rgba(0,0,0,.34) !important;
  }
}
.xv-catalog-main .vip-product-card:focus-visible {
  outline: 2px solid rgb(var(--xv-cat-accent-rgb));
  outline-offset: 3px;
}
.xv-catalog-main .vip-product-card:active { transform: scale(.992) !important; }

/* Full, unframed 1:1 product artwork with a softer fade into the card body. */
.xv-catalog-main .vip-product-media {
  aspect-ratio: 1/1 !important;
  background: #130e1d !important;
  flex: 0 0 auto;
}
.xv-catalog-main .vip-product-img {
  display:block;
  width:100%;height:100%;
  object-fit:cover;
  transform:none !important;
  transition:transform .28s ease !important;
}
@media(hover:hover) and (pointer:fine) {
  .xv-catalog-main .vip-product-card:hover .vip-product-img {transform:scale(1.025) !important;}
}
.xv-catalog-main .vip-product-media::after {
  inset:0 !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow: inset 0 -1px rgba(var(--xv-cat-accent-rgb),.28) !important;
  background: linear-gradient(to top,rgba(11,7,19,.55),transparent 34%) !important;
  pointer-events:none;
}
.xv-catalog-main .vip-gradient {
  background: linear-gradient(180deg,rgba(5,4,12,.24),transparent 35%,rgba(7,5,15,.38)) !important;
}
.xv-catalog-main .vip-product-card.is-featured .vip-product-media::before {
  background:none !important;pointer-events:none;
}

/* Smaller, quieter badges leave the product art in charge. */
.xv-catalog-main .vip-featured-badge,
.xv-catalog-main .vip-maintenance-badge,
.xv-catalog-main .vip-pill {
  top:9px !important;
  padding:4px 7px !important;
  min-height:22px !important;
  border-radius:7px !important;
  font-size:9px !important;
  line-height:1.1 !important;
  font-weight:800 !important;
  letter-spacing:.045em !important;
  box-shadow:0 4px 12px rgba(0,0,0,.22) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  max-width:calc(100% - 18px);
}
.xv-catalog-main .vip-featured-badge {
  left:9px !important;
  background:rgba(32,16,49,.91) !important;
  color:#e9ccff !important;
  border:1px solid rgba(var(--xv-cat-accent-rgb),.55) !important;
}
.xv-catalog-main .vip-featured-badge .bi {color:rgb(var(--xv-cat-accent-rgb));}
.xv-catalog-main .vip-maintenance-badge {left:9px !important;right:auto !important;}
.xv-catalog-main .vip-pill {
  left:auto !important;right:9px !important;
  color:#f7eeff !important;
  background:rgba(13,10,22,.87) !important;
  border:1px solid rgba(255,255,255,.19) !important;
}

/* Solid, colored lower panel with small inlaid geometry; no moving filters. */
.xv-catalog-main .vip-product-body {
  padding:11px !important;
  min-width:0;
  display:flex !important;
  flex-direction:column;
  background:
    linear-gradient(115deg,transparent 52%,rgba(var(--xv-cat-accent-rgb),.06) 52.3%,transparent 75%),
    radial-gradient(110% 95% at 100% 100%,rgba(var(--xv-cat-accent-rgb),.10),transparent 67%),
    linear-gradient(150deg,#181022,#100c1a) !important;
  border-top:1px solid rgba(var(--xv-cat-accent-rgb),.23) !important;
  overflow:hidden;
}
.xv-catalog-main .vip-product-body::before {
  content:"";
  display:block !important;
  position:absolute;
  width:74px;height:74px;
  top:-37px;right:-41px;left:auto;bottom:auto;
  transform:rotate(45deg);
  background:transparent;
  border:1px solid rgba(var(--xv-cat-accent-rgb),.22);
  opacity:.8;
  pointer-events:none;
}
.xv-catalog-main .vip-product-body > * {position:relative;z-index:1;}
.xv-catalog-main .vip-product-info {
  background:none !important;
  border:0 !important;
  padding:0 !important;
  margin:0 0 9px !important;
  box-shadow:none !important;
  border-radius:0 !important;
  min-width:0;
}
.xv-catalog-main .vip-product-info::before {display:none !important;}
.xv-catalog-main .vip-product-toprow {display:block !important;margin:0 0 8px !important;min-width:0;}
.xv-catalog-main .vip-product-title,
.xv-catalog-main .vip-product-toprow .vip-product-title {
  display:-webkit-box !important;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  white-space:normal !important;
  overflow:hidden !important;
  text-overflow:ellipsis;
  color:#f8f4ff !important;
  font-size:14px !important;
  line-height:1.28 !important;
  letter-spacing:-.012em !important;
  font-weight:850 !important;
  min-height:2.56em !important;
  margin:0 !important;
  word-break:normal;
}

/* One slim delivery line, then two compact information tags. */
.xv-catalog-main .vip-product-meta {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,.77fr) !important;
  gap:6px !important;
  align-items:stretch !important;
  width:100% !important;
  min-width:0 !important;
  padding:0 !important;
  margin:0 !important;
  background:none !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.xv-catalog-main .vip-product-meta .vip-chip {
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  width:100% !important;
  min-width:0 !important;
  min-height:27px !important;
  max-width:100% !important;
  padding:4px 7px !important;
  border:1px solid rgba(var(--xv-cat-accent-rgb),.16) !important;
  border-radius:8px !important;
  background:rgba(var(--xv-cat-accent-rgb),.065) !important;
  box-shadow:none !important;
  color:#cbbddb !important;
  font-size:10px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  gap:5px !important;
}
.xv-catalog-main .vip-product-meta .vip-chip::before {display:none !important;}
.xv-catalog-main .vip-product-meta .vip-chip-delivery {
  grid-column:1/-1 !important;
  min-height:25px !important;
  padding:4px 7px !important;
  border-radius:7px !important;
  justify-content:flex-start !important;
  margin:0 !important;
  font-size:10px !important;
  letter-spacing:.005em !important;
}
.xv-catalog-main .vip-product-meta .vip-chip-delivery.is-instant {
  background:rgba(16,185,129,.09) !important;
  color:#83edb7 !important;
  border-color:rgba(52,211,153,.20) !important;
}
.xv-catalog-main .vip-product-meta .vip-chip-delivery.is-fast {
  background:rgba(59,130,246,.09) !important;
  color:#a8d1ff !important;
  border-color:rgba(96,165,250,.22) !important;
}
.xv-catalog-main .vip-product-meta .vip-chip-category,
.xv-catalog-main .vip-product-meta .vip-chip-device {
  grid-column:auto !important;
  flex:auto !important;
  border:1px solid rgba(var(--xv-cat-accent-rgb),.17) !important;
  white-space:nowrap !important;
}
.xv-catalog-main .vip-product-meta .vip-chip-category {border-right:1px solid rgba(var(--xv-cat-accent-rgb),.17) !important;}
.xv-catalog-main .vip-product-meta .vip-chip-icon-img {
  display:block;
  width:15px !important;height:15px !important;
  flex:0 0 15px !important;
  object-fit:cover;
  border-radius:4px !important;
}
.xv-catalog-main .vip-product-meta .vip-chip-device-text {overflow:hidden;text-overflow:ellipsis;min-width:0;white-space:nowrap;}

/* Prices occupy a dedicated inset footer; CTA remains a card-wide link. */
.xv-catalog-main .vip-product-price.xv-73d-price-footer {
  margin-top:auto !important;
  padding:10px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 37px;
  align-items:center !important;
  gap:6px !important;
  min-width:0;
  border:1px solid rgba(var(--xv-cat-accent-rgb),.18) !important;
  border-radius:11px !important;
  background:linear-gradient(115deg,rgba(var(--xv-cat-accent-rgb),.095),rgba(10,8,19,.68)) !important;
  text-shadow:none !important;
}
.xv-catalog-main .xv-73d-card-prices {
  display:grid;
  grid-template-columns:minmax(0,max-content) auto;
  align-items:baseline;
  column-gap:4px;
  row-gap:3px;
  min-width:0;
  max-width:100%;
  font-variant-numeric:tabular-nums;
}
.xv-catalog-main .xv-73d-card-prices strong {
  font-size:clamp(12px,1.45vw,17px) !important;
  font-weight:950 !important;
  color:#82f2bf !important;
  letter-spacing:-.035em !important;
  line-height:1.15 !important;
  overflow:hidden !important;
  text-overflow:ellipsis;
  white-space:nowrap;
  min-width:0;
}
.xv-catalog-main .xv-73d-card-prices small {
  font-size:9px !important;
  color:rgba(227,234,238,.55) !important;
  letter-spacing:.08em !important;
}
.xv-catalog-main .xv-73d-usd-price {
  grid-column:1/-1;
  color:#b7a0cd !important;
  font-size:10px !important;
  letter-spacing:.01em;
  font-weight:750;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.xv-catalog-main .xv-73d-usd-price em {color:#8e80a3 !important;}
.xv-catalog-main .xv-73d-view-link {
  position:relative;
  display:grid !important;
  align-items:center;justify-items:center;
  width:37px !important;height:37px !important;
  min-width:37px;
  padding:0 !important;
  border-radius:10px !important;
  border:1px solid rgba(239,211,255,.34) !important;
  background:linear-gradient(145deg,rgba(var(--xv-cat-accent-rgb),.98),rgba(var(--xv-cat-accent-rgb),.66)) !important;
  box-shadow:inset 0 1px rgba(255,255,255,.17) !important;
  color:#fff !important;
  font-size:0 !important;
  line-height:1 !important;
  overflow:hidden;
}
.xv-catalog-main .xv-73d-view-link i {display:none !important;}
.xv-catalog-main .xv-73d-view-link::after {
  content:"↗";
  display:block;
  font-family:Arial,sans-serif;
  color:#fff;
  font-size:22px;
  font-weight:400;
  line-height:1;
}
.xv-catalog-main .vip-product-card:hover .xv-73d-view-link,
.xv-catalog-main .vip-product-card:focus-visible .xv-73d-view-link {
  background:linear-gradient(145deg,rgb(var(--xv-cat-accent-rgb)),rgba(var(--xv-cat-accent-rgb),.83)) !important;
}
.xv-catalog-main .vip-sold-text {grid-column:1/-1;line-height:1.45;}

@media(max-width:760px){
  .xv-catalog-main .vip-product-body {padding:10px !important;}
  .xv-catalog-main .vip-product-title,
  .xv-catalog-main .vip-product-toprow .vip-product-title {font-size:12px !important;line-height:1.27 !important;}
  .xv-catalog-main .vip-product-meta {gap:5px !important;}
  .xv-catalog-main .vip-product-meta .vip-chip {font-size:9px !important;padding:4px 5px !important;min-height:24px !important;}
  .xv-catalog-main .vip-product-meta .vip-chip-delivery {font-size:9px !important;min-height:24px !important;}
  .xv-catalog-main .vip-product-price.xv-73d-price-footer {padding:7px !important;grid-template-columns:minmax(0,1fr) 32px;gap:4px !important;}
  .xv-catalog-main .xv-73d-view-link {width:32px !important;height:32px !important;min-width:32px !important;border-radius:8px !important;}
  .xv-catalog-main .xv-73d-view-link::after {font-size:20px;}
  .xv-catalog-main .xv-73d-card-prices strong {font-size:13px !important;}
  .xv-catalog-main .xv-73d-usd-price {font-size:9px !important;}
}
@media(max-width:370px){
  .xv-catalog-main .vip-product-body {padding:8px !important;}
  .xv-catalog-main .vip-product-meta {grid-template-columns:minmax(0,1fr) minmax(0,.65fr) !important;gap:4px !important;}
  .xv-catalog-main .vip-product-meta .vip-chip {font-size:8px !important;padding:4px !important;gap:3px !important;}
  .xv-catalog-main .vip-product-meta .vip-chip-icon-img {width:13px !important;height:13px !important;flex-basis:13px !important;}
  .xv-catalog-main .vip-product-price.xv-73d-price-footer {padding:6px !important;}
  .xv-catalog-main .xv-73d-card-prices strong {font-size:12px !important;}
}
@media(prefers-reduced-motion:reduce){
  .xv-catalog-main .vip-product-card,
  .xv-catalog-main .vip-product-img {transition:none !important;}
  .xv-catalog-main .vip-product-card:hover,
  .xv-catalog-main .vip-product-card:active {transform:none !important;}
}
