/*
 * AdeptDEV Storefront · Compact Luxury Product Card v0.22.1
 * Unified commercial card for catalog/search/modules/related/wishlist.
 */
body.adeptdev-storefront .ad-product-slot {
  min-width: 0;
  display: flex;
  align-items: stretch;
  height: auto;
  margin-bottom: 18px;
}
body.adeptdev-storefront .swiper-slide.ad-product-slot { margin-bottom: 0; }
body.adeptdev-storefront .ad-product-slot > .ad-product-card { width: 100%; }

body.adeptdev-storefront .ad-product-card.ad-product-card--v22 {
  --pc-blue: #2f6df6;
  --pc-blue-deep: #1957dd;
  --pc-blue-soft: #edf4ff;
  --pc-ink: #102b52;
  --pc-muted: #8193ad;
  --pc-line: #e2ebf7;
  --pc-green: #159268;
  min-width: 0;
  height: 100%;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  margin: 0 !important;
  border: 1px solid rgba(193, 213, 242, .78) !important;
  border-radius: 20px !important;
  background: #fff !important;
  box-shadow: 0 10px 30px rgba(25, 68, 132, .055) !important;
  isolation: isolate;
  transform: translateZ(0);
  transition: transform .24s cubic-bezier(.2,.8,.2,1), border-color .24s ease, box-shadow .24s ease;
}
@media (hover:hover) and (pointer:fine) {
  body.adeptdev-storefront .ad-product-card.ad-product-card--v22:hover {
    transform: translateY(-4px);
    border-color: rgba(156, 190, 239, .95) !important;
    box-shadow: 0 20px 48px rgba(19, 66, 145, .12) !important;
  }
}

/* MEDIA — intentionally shorter than v0.22. */
body.adeptdev-storefront .ad-product-card--v22 .ad-product-card__media {
  position: relative;
  min-height: 202px;
  padding: 10px;
  background:
    radial-gradient(circle at 12% 0%, rgba(64, 136, 255, .09), transparent 35%),
    linear-gradient(155deg, #fcfdff 0%, #f4f8ff 100%);
}
body.adeptdev-storefront .ad-product-card--v22 .ad-product-card__image {
  height: 182px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 14px;
  background: rgba(255,255,255,.74);
  text-decoration: none !important;
}
body.adeptdev-storefront .ad-product-card--v22 .ad-product-card__image img {
  display: block;
  max-width: 88%;
  max-height: 88%;
  width: auto;
  height: auto;
  object-fit: contain;
  mix-blend-mode: multiply;
  transition: transform .28s cubic-bezier(.2,.8,.2,1);
}
@media (hover:hover) and (pointer:fine) {
  body.adeptdev-storefront .ad-product-card--v22:hover .ad-product-card__image img { transform: scale(1.045); }
}

/* BADGES — quieter and more valuable. */
body.adeptdev-storefront .ad-product-card--v22 .ad-product-card__badges {
  position: absolute;
  z-index: 4;
  top: 14px;
  left: 14px;
  max-width: calc(100% - 104px);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
  pointer-events: none;
}
body.adeptdev-storefront .ad-product-card--v22 .ad-badge {
  min-height: 23px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 8px;
  border: 1px solid transparent;
  border-radius: 999px;
  backdrop-filter: blur(9px);
  -webkit-backdrop-filter: blur(9px);
  box-shadow: 0 5px 12px rgba(28, 63, 117, .065);
  font-size: 8px;
  line-height: 1;
  font-weight: 850;
  letter-spacing: .035em;
  text-transform: uppercase;
}
body.adeptdev-storefront .ad-product-card--v22 .ad-badge--sale {
  color: #c84747;
  border-color: #ffd7d7;
  background: rgba(255,246,246,.96);
}
body.adeptdev-storefront .ad-product-card--v22 .ad-badge--top {
  color: #175bcf;
  border-color: #d0dfff;
  background: rgba(242,247,255,.96);
}
body.adeptdev-storefront .ad-product-card--v22 .ad-badge--new {
  color: #08799f;
  border-color: #caeaf6;
  background: rgba(242,252,255,.96);
}
/* Sale is stronger; don't stack a generic hit badge beside it. */
body.adeptdev-storefront .ad-product-card--v22 .ad-badge--sale ~ .ad-badge--top { display: none !important; }

/* FLOATING ACTIONS */
body.adeptdev-storefront .ad-product-card--v22 .ad-product-card__actions {
  position: absolute;
  z-index: 5;
  top: 13px;
  right: 13px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
}
body.adeptdev-storefront .ad-product-card--v22 .ad-product-icon {
  width: 34px;
  height: 34px;
  min-width: 34px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(203, 219, 242, .88) !important;
  border-radius: 11px !important;
  background: rgba(255,255,255,.94) !important;
  color: #315f9f !important;
  box-shadow: 0 7px 16px rgba(29, 69, 126, .075) !important;
  transition: transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease !important;
}
body.adeptdev-storefront .ad-product-card--v22 .ad-product-icon svg { width: 17px; height: 17px; }
@media (hover:hover) and (pointer:fine) {
  body.adeptdev-storefront .ad-product-card--v22 .ad-product-icon:hover {
    transform: translateY(-1px);
    border-color: #b7d0fb !important;
    background: #f1f6ff !important;
    color: #145ee7 !important;
    box-shadow: 0 9px 20px rgba(29, 82, 173, .12) !important;
  }
}
body.adeptdev-storefront .ad-product-card--v22 .ad-product-card__actions .checked { display: none !important; }
body.adeptdev-storefront .ad-product-card--v22 .ad-product-card__actions.compared .btn-compare:not(.checked),
body.adeptdev-storefront .ad-product-card--v22 .ad-product-card__actions.wished .btn-wishlist:not(.checked) { display: none !important; }
body.adeptdev-storefront .ad-product-card--v22 .ad-product-card__actions.compared .btn-compare.checked,
body.adeptdev-storefront .ad-product-card--v22 .ad-product-card__actions.wished .btn-wishlist.checked {
  display: inline-flex !important;
  color: #fff !important;
  border-color: transparent !important;
  background: linear-gradient(135deg, var(--pc-blue), var(--pc-blue-deep)) !important;
  box-shadow: 0 8px 18px rgba(47,109,246,.22) !important;
}

/* BODY — no giant flex spacer between title and price. */
body.adeptdev-storefront .ad-product-card--v22 .ad-product-card__body {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding: 13px 14px 14px;
}
body.adeptdev-storefront .ad-product-card--v22 .ad-product-card__eyebrow {
  min-width: 0;
  min-height: 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin: 0 0 7px;
}
body.adeptdev-storefront .ad-product-card--v22 .ad-product-model {
  min-width: 0;
  overflow: hidden;
  color: #8a9bb2;
  font-size: 9px;
  line-height: 1.2;
  font-weight: 730;
  letter-spacing: .015em;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body.adeptdev-storefront .ad-product-card--v22 .ad-stock {
  flex: 0 0 auto;
  min-height: 20px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 0 7px;
  border: 0 !important;
  border-radius: 999px;
  background: #f0faf6;
  color: var(--pc-green);
  font-size: 7.8px;
  line-height: 1;
  font-weight: 820;
  white-space: nowrap;
}
body.adeptdev-storefront .ad-product-card--v22 .ad-stock i {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #23ad79;
  box-shadow: 0 0 0 3px rgba(35,173,121,.08);
}
body.adeptdev-storefront .ad-product-card--v22 .ad-stock.is-out {
  color: #b85e5e;
  background: #fff3f3;
}
body.adeptdev-storefront .ad-product-card--v22 .ad-stock.is-out i { background: #d97878; box-shadow: none; }

body.adeptdev-storefront .ad-product-card--v22 .ad-product-card__name {
  min-height: 39px;
  display: -webkit-box;
  overflow: hidden;
  color: var(--pc-ink) !important;
  font-size: 14px !important;
  line-height: 1.39 !important;
  font-weight: 790 !important;
  letter-spacing: -.017em;
  text-decoration: none !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
@media (hover:hover) and (pointer:fine) {
  body.adeptdev-storefront .ad-product-card--v22 .ad-product-card__name:hover { color: #145ee7 !important; }
}

/* Rating keeps alignment but zeros are no longer printed. */
body.adeptdev-storefront .ad-product-card--v22 .ad-product-card__rating {
  min-height: 18px;
  display: flex;
  align-items: center;
  gap: 5px;
  margin: 5px 0 0;
  color: #91a3bc;
  font-size: 9px;
}
body.adeptdev-storefront .ad-product-card--v22 .ad-product-card__rating--empty { visibility: hidden; }
body.adeptdev-storefront .ad-product-card--v22 .ad-rating-star { color: #ffb82f; font-size: 13px; line-height: 1; }
body.adeptdev-storefront .ad-product-card--v22 .ad-product-card__rating strong { color: #506887; font-size: 9.5px; }
body.adeptdev-storefront .ad-product-card--v22 .ad-product-reviews { max-width: 92px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* PRICE + CTA are a single commercial zone directly below the title/meta. */
body.adeptdev-storefront .ad-product-card--v22 .ad-product-card__footer {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: 8px;
  margin-top: 7px;
  padding-top: 10px;
  border-top: 1px solid rgba(224, 234, 247, .8);
}
body.adeptdev-storefront .ad-product-card--v22 .ad-product-price {
  min-height: 34px;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  align-content: center;
  gap: 2px 8px;
}
body.adeptdev-storefront .ad-product-card--v22 .ad-product-price strong {
  color: #17498f;
  font-size: 19px;
  line-height: 1.05;
  font-weight: 880;
  letter-spacing: -.033em;
}
body.adeptdev-storefront .ad-product-card--v22 .ad-product-price del {
  color: #9aa9bd;
  font-size: 10px;
  line-height: 1;
  font-weight: 650;
}
body.adeptdev-storefront .ad-product-card--v22 .ad-add-cart {
  width: 100%;
  min-width: 0;
  min-height: 42px;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px;
  margin: 0 !important;
  padding: 0 13px !important;
  border: 1px solid #c9dcff !important;
  border-radius: 12px !important;
  background: linear-gradient(180deg, #f8fbff 0%, #eef5ff 100%) !important;
  color: #1e5ad7 !important;
  box-shadow: 0 6px 14px rgba(35, 91, 190, .07) !important;
  font-size: 10.5px !important;
  line-height: 1 !important;
  font-weight: 820 !important;
  text-transform: none !important;
  transition: transform .18s ease, box-shadow .18s ease, color .18s ease, background .18s ease, border-color .18s ease !important;
}
body.adeptdev-storefront .ad-product-card--v22 .ad-add-cart svg { width: 17px; height: 17px; flex: 0 0 17px; }
@media (hover:hover) and (pointer:fine) {
  body.adeptdev-storefront .ad-product-card--v22 .ad-add-cart:hover {
    transform: translateY(-1px);
    border-color: transparent !important;
    background: linear-gradient(135deg, #3478ff 0%, #2058dc 100%) !important;
    color: #fff !important;
    box-shadow: 0 10px 22px rgba(37,98,224,.21) !important;
  }
}
body.adeptdev-storefront .ad-product-card--v22 .ad-add-cart.is-disabled {
  border-color: transparent !important;
  background: #f1f4f8 !important;
  color: #98a8bc !important;
  box-shadow: none !important;
  cursor: not-allowed;
}

/* Prevent old card DOM/CSS from leaking into the unified component. */
body.adeptdev-storefront .ad-product-card--v22 > .image,
body.adeptdev-storefront .ad-product-card--v22 > .caption,
body.adeptdev-storefront .ad-product-card--v22 > .btns,
body.adeptdev-storefront .ad-product-card--v22 > .button-group { display: none !important; }
body.adeptdev-storefront .product-carousel .ad-product-slot,
body.adeptdev-storefront .swiper-wrapper .ad-product-slot { box-sizing: border-box; }
body.adeptdev-storefront .product-carousel .ad-product-card--v22 { min-height: 388px; }

/* Legacy Bootstrap product rows. */
body.adeptdev-storefront .ad-product-grid-row { display: flex; flex-wrap: wrap; }
body.adeptdev-storefront #product-search .ad-product-slot,
body.adeptdev-storefront #product-special .ad-product-slot,
body.adeptdev-storefront #product-manufacturer .ad-product-slot,
body.adeptdev-storefront #account-wishlist .ad-product-slot {
  width: 33.333333%;
  padding-left: 9px;
  padding-right: 9px;
}

@media (max-width: 1199px) {
  body.adeptdev-storefront .ad-product-card--v22 .ad-product-card__media { min-height: 188px; }
  body.adeptdev-storefront .ad-product-card--v22 .ad-product-card__image { height: 168px; }
  body.adeptdev-storefront .ad-product-card--v22 .ad-product-card__name { font-size: 13.2px !important; }
  body.adeptdev-storefront .ad-product-card--v22 .ad-product-price strong { font-size: 18px; }
  body.adeptdev-storefront .product-carousel .ad-product-card--v22 { min-height: 368px; }
}

@media (max-width: 991px) {
  body.adeptdev-storefront #product-search .ad-product-slot,
  body.adeptdev-storefront #product-special .ad-product-slot,
  body.adeptdev-storefront #product-manufacturer .ad-product-slot,
  body.adeptdev-storefront #account-wishlist .ad-product-slot { width: 50%; }
  body.adeptdev-storefront .ad-product-card--v22 .ad-product-card__media { min-height: 182px; }
  body.adeptdev-storefront .ad-product-card--v22 .ad-product-card__image { height: 162px; }
}

@media (max-width: 767px) {
  body.adeptdev-storefront .ad-product-slot { margin-bottom: 9px; }
  body.adeptdev-storefront .ad-product-card.ad-product-card--v22 { border-radius: 17px !important; }
  body.adeptdev-storefront .ad-product-card--v22 .ad-product-card__media { min-height: 150px; padding: 7px; }
  body.adeptdev-storefront .ad-product-card--v22 .ad-product-card__image { height: 136px; border-radius: 12px; }
  body.adeptdev-storefront .ad-product-card--v22 .ad-product-card__badges { top: 9px; left: 9px; max-width: calc(100% - 77px); gap: 3px; }
  body.adeptdev-storefront .ad-product-card--v22 .ad-badge { min-height: 19px; padding: 0 5px; font-size: 6.5px; }
  body.adeptdev-storefront .ad-product-card--v22 .ad-product-card__actions { top: 9px; right: 9px; gap: 4px; }
  body.adeptdev-storefront .ad-product-card--v22 .ad-product-icon { width: 29px; height: 29px; min-width: 29px; border-radius: 9px !important; }
  body.adeptdev-storefront .ad-product-card--v22 .ad-product-icon svg { width: 15px; height: 15px; }
  body.adeptdev-storefront .ad-product-card--v22 .ad-product-card__actions .btn-compare { display: none !important; }
  body.adeptdev-storefront .ad-product-card--v22 .ad-product-card__body { padding: 9px 9px 10px; }
  body.adeptdev-storefront .ad-product-card--v22 .ad-product-card__eyebrow { min-height: 19px; gap: 4px; margin-bottom: 4px; }
  body.adeptdev-storefront .ad-product-card--v22 .ad-product-model { font-size: 7px; }
  body.adeptdev-storefront .ad-product-card--v22 .ad-stock { min-height: 18px; padding: 0 5px; gap: 3px; font-size: 6.6px; }
  body.adeptdev-storefront .ad-product-card--v22 .ad-stock i { width: 4px; height: 4px; }
  body.adeptdev-storefront .ad-product-card--v22 .ad-product-card__name { min-height: 35px; font-size: 11.5px !important; line-height: 1.45 !important; -webkit-line-clamp: 2; }
  body.adeptdev-storefront .ad-product-card--v22 .ad-product-card__rating { min-height: 15px; margin-top: 3px; gap: 3px; font-size: 7.3px; }
  body.adeptdev-storefront .ad-product-card--v22 .ad-rating-star { font-size: 11px; }
  body.adeptdev-storefront .ad-product-card--v22 .ad-product-card__rating strong { font-size: 8px; }
  body.adeptdev-storefront .ad-product-card--v22 .ad-product-card__footer { gap: 6px; margin-top: 5px; padding-top: 8px; }
  body.adeptdev-storefront .ad-product-card--v22 .ad-product-price { min-height: 28px; gap: 2px 5px; }
  body.adeptdev-storefront .ad-product-card--v22 .ad-product-price strong { font-size: 14.5px; }
  body.adeptdev-storefront .ad-product-card--v22 .ad-product-price del { font-size: 7.8px; }
  body.adeptdev-storefront .ad-product-card--v22 .ad-add-cart { min-height: 38px; padding: 0 7px !important; border-radius: 10px !important; font-size: 9.2px !important; }
  body.adeptdev-storefront .ad-product-card--v22 .ad-add-cart svg { width: 14px; height: 14px; flex-basis: 14px; }
  body.adeptdev-storefront .product-carousel .ad-product-card--v22 { min-height: 318px; }
}

@media (max-width: 430px) {
  body.adeptdev-storefront #product-search .ad-product-slot,
  body.adeptdev-storefront #product-special .ad-product-slot,
  body.adeptdev-storefront #product-manufacturer .ad-product-slot,
  body.adeptdev-storefront #account-wishlist .ad-product-slot { padding-left: 4px; padding-right: 4px; }
  body.adeptdev-storefront .ad-product-card--v22 .ad-product-card__media { min-height: 142px; }
  body.adeptdev-storefront .ad-product-card--v22 .ad-product-card__image { height: 128px; }
  body.adeptdev-storefront .ad-product-card--v22 .ad-stock { max-width: 74px; overflow: hidden; text-overflow: ellipsis; }
  body.adeptdev-storefront .ad-product-card--v22 .ad-add-cart { gap: 5px; font-size: 8.8px !important; }
}

@media (max-width: 370px) {
  body.adeptdev-storefront #product-search .ad-product-slot,
  body.adeptdev-storefront #product-special .ad-product-slot,
  body.adeptdev-storefront #product-manufacturer .ad-product-slot,
  body.adeptdev-storefront #account-wishlist .ad-product-slot { width: 100%; padding-left: 0; padding-right: 0; }
  body.adeptdev-storefront .ad-product-card--v22 .ad-product-card__media { min-height: 205px; }
  body.adeptdev-storefront .ad-product-card--v22 .ad-product-card__image { height: 191px; }
  body.adeptdev-storefront .ad-product-card--v22 .ad-product-card__actions .btn-compare { display: inline-flex !important; }
  body.adeptdev-storefront .ad-product-card--v22 .ad-product-card__name { font-size: 13px !important; }
  body.adeptdev-storefront .ad-product-card--v22 .ad-product-price strong { font-size: 17px; }
}

@media (prefers-reduced-motion:reduce) {
  body.adeptdev-storefront .ad-product-card--v22,
  body.adeptdev-storefront .ad-product-card--v22 * { transition: none !important; }
}
