/* Listing detail card/discovery polish v2.
   Keeps the page composition stable while the shared marketplace card contract
   remains identical to home/catalog/profile surfaces. */

/* The old static recommendation block is superseded by the ranked lazy feed. */
.listing-page .listing-related-products {
  display: none !important;
}

@media (min-width: 981px) {
  /*
   * The old gallery min-height could be taller than its 4:3 width. With
   * object-fit:contain that vertically centered the actual image ~50-60px
   * below the title/buy card. Let aspect-ratio own the height instead.
   */
  .listing-page .listing-gallery,
  .listing-page .listing-gallery--single {
    aspect-ratio: 4 / 3 !important;
    min-height: 0 !important;
    max-height: none !important;
    margin-top: 0 !important;
  }

  .listing-page .listing-gallery__img {
    object-position: center top !important;
  }

  .listing-page .listing-hero-layout > .listing-gallery-column,
  .listing-page .listing-hero-layout > .listing-info-column,
  .listing-page .listing-hero-layout > .listing-buy-column {
    align-self: start !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  .listing-page .listing-product-head,
  .listing-page .listing-buy-card {
    margin-top: 0 !important;
  }

  /* Lighter guarantee stack: less height, less shadow, less visual competition. */
  .listing-page .listing-guarantees-card.listing-guarantees-card--compact {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .listing-page .listing-guarantees-card--compact .listing-guarantees-card__title {
    margin: 0 0 7px !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    font-weight: 720 !important;
    color: #252b36 !important;
  }

  .listing-page .listing-guarantees-card--compact .listing-guarantees-card__list {
    gap: 6px !important;
  }

  .listing-page .listing-guarantees-card--compact .listing-guarantees-card__item {
    grid-template-columns: 18px minmax(0, 1fr) !important;
    min-height: 0 !important;
    gap: 7px !important;
    padding: 7px 9px !important;
    border: 1px solid rgba(15, 23, 42, .065) !important;
    border-radius: 11px !important;
    background: rgba(255, 255, 255, .72) !important;
    box-shadow: none !important;
  }

  .listing-page .listing-guarantees-card--compact .listing-guarantees-card__item--priority {
    border-color: rgba(124, 58, 237, .12) !important;
    background: rgba(124, 58, 237, .035) !important;
    box-shadow: none !important;
  }

  .listing-page .listing-guarantees-card--compact .listing-guarantees-card__emoji {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 18px !important;
    min-width: 18px !important;
    font-size: 13px !important;
    line-height: 18px !important;
    opacity: .76 !important;
  }

  .listing-page .listing-guarantees-card--compact .listing-guarantees-card__item strong {
    margin: 0 !important;
    font-size: 12.5px !important;
    line-height: 1.25 !important;
    font-weight: 680 !important;
    color: #252b36 !important;
  }

  .listing-page .listing-guarantees-card--compact .listing-guarantees-card__item p {
    margin: 2px 0 0 !important;
    font-size: 11px !important;
    line-height: 1.32 !important;
    color: #758096 !important;
  }
}

/* Seller section header: title left, clean outlined CTA right. */
.listing-page .listing-seo-links__section--seller .listing-seo-links__heading-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  width: 100% !important;
  margin-bottom: 0 !important;
}

.listing-page .listing-seo-links__heading-cta,
.listing-page .listing-seo-links__heading-cta:hover,
.listing-page .listing-seo-links__heading-cta:focus,
.listing-page .listing-seo-links__heading-cta:focus-visible,
.listing-page .listing-seo-links__heading-cta:active {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  min-height: 38px !important;
  padding: 0 13px !important;
  border: 2px solid #7c3aed !important;
  border-radius: 11px !important;
  background: transparent !important;
  color: #7c3aed !important;
  box-shadow: none !important;
  text-shadow: none !important;
  filter: none !important;
  opacity: 1 !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  transform: none !important;
}

.listing-page .listing-seo-links__heading-cta-arrow {
  display: inline-block !important;
  transition: transform .16s ease !important;
  transform: translateX(0) !important;
}

.listing-page .listing-seo-links__heading-cta:hover .listing-seo-links__heading-cta-arrow,
.listing-page .listing-seo-links__heading-cta:focus-visible .listing-seo-links__heading-cta-arrow {
  transform: translateX(3px) !important;
}

/* No show-more controls survive on the detail recommendations. */
.listing-page .listing-seo-links__more-btn,
.listing-page [data-related-show-more] {
  display: none !important;
}

.listing-related-infinite__status {
  min-height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 8px;
  color: #8992a2;
  font-size: 12px;
}

.listing-related-infinite__status[hidden] {
  display: none !important;
}

@media (max-width: 768px) {
  .listing-page .listing-seo-links__heading-cta,
  .listing-page .listing-seo-links__heading-cta:hover,
  .listing-page .listing-seo-links__heading-cta:focus-visible {
    min-height: 34px !important;
    padding: 0 10px !important;
    border-width: 2px !important;
    border-radius: 10px !important;
    font-size: 12px !important;
  }
}

/* === Listing detail polish v3 === */

/* Text-only centered specs action: no surrounding pill/frame. */
.listing-page .listing-specs-trigger,
.listing-page .listing-specs-trigger:hover,
.listing-page .listing-specs-trigger:focus,
.listing-page .listing-specs-trigger:focus-visible,
.listing-page .listing-specs-trigger:active {
  justify-self: center !important;
  width: auto !important;
  max-width: none !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 2px auto 0 !important;
  padding: 3px 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #5b21b6 !important;
  transform: none !important;
  filter: none !important;
}

.listing-page .listing-specs-trigger__title {
  font-size: 13px !important;
  line-height: 1.25 !important;
  font-weight: 750 !important;
}

.listing-page .listing-specs-trigger__icon {
  display: none !important;
}

/* Replace emoji glyphs with neutral vector masks and flatten the guarantee rows. */
.listing-page .listing-guarantees-card--compact .listing-guarantees-card__list {
  gap: 1px !important;
}

.listing-page .listing-guarantees-card--compact .listing-guarantees-card__item,
.listing-page .listing-guarantees-card--compact .listing-guarantees-card__item--priority {
  grid-template-columns: 18px minmax(0, 1fr) !important;
  gap: 8px !important;
  min-height: 0 !important;
  padding: 5px 2px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.listing-page .listing-guarantees-card--compact .listing-guarantees-card__emoji {
  position: relative !important;
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  margin-top: 1px !important;
  overflow: hidden !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  opacity: 1 !important;
}

.listing-page .listing-guarantees-card--compact .listing-guarantees-card__emoji::before {
  content: "" !important;
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  background: #7c3aed !important;
  -webkit-mask-repeat: no-repeat !important;
  mask-repeat: no-repeat !important;
  -webkit-mask-position: center !important;
  mask-position: center !important;
  -webkit-mask-size: 18px 18px !important;
  mask-size: 18px 18px !important;
}

.listing-page .listing-guarantees-card--compact .listing-guarantees-card__item:nth-child(1) .listing-guarantees-card__emoji::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3 19 6v5c0 4.3-2.7 8-7 10-4.3-2-7-5.7-7-10V6l7-3Z' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'/%3E%3Cpath d='m9 12 2 2 4-4' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3 19 6v5c0 4.3-2.7 8-7 10-4.3-2-7-5.7-7-10V6l7-3Z' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'/%3E%3Cpath d='m9 12 2 2 4-4' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}

.listing-page .listing-guarantees-card--compact .listing-guarantees-card__item:nth-child(2) .listing-guarantees-card__emoji::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 13v-1a7 7 0 0 1 14 0v1' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3Cpath d='M5 13h2v5H5a2 2 0 0 1-2-2v-1a2 2 0 0 1 2-2Zm14 0h-2v5h2a2 2 0 0 0 2-2v-1a2 2 0 0 0-2-2Z' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'/%3E%3Cpath d='M17 18c-.5 1.3-1.7 2-3.5 2H12' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 13v-1a7 7 0 0 1 14 0v1' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3Cpath d='M5 13h2v5H5a2 2 0 0 1-2-2v-1a2 2 0 0 1 2-2Zm14 0h-2v5h2a2 2 0 0 0 2-2v-1a2 2 0 0 0-2-2Z' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'/%3E%3Cpath d='M17 18c-.5 1.3-1.7 2-3.5 2H12' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") !important;
}

.listing-page .listing-guarantees-card--compact .listing-guarantees-card__item:nth-child(3) .listing-guarantees-card__emoji::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='8' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='m8.5 12 2.2 2.2 4.8-5' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='8' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='m8.5 12 2.2 2.2 4.8-5' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}

.listing-page .listing-guarantees-card--compact .listing-guarantees-card__item strong {
  font-size: 12.5px !important;
  font-weight: 700 !important;
}

.listing-page .listing-guarantees-card--compact .listing-guarantees-card__item p {
  margin-top: 1px !important;
  font-size: 10.5px !important;
  line-height: 1.3 !important;
  color: #7b8494 !important;
}

/* Seller showcase is one row, maximum six cards on desktop. */
@media (min-width: 1180px) {
  .listing-page .listing-seo-links__seller-grid,
  .listing-page .listing-related-infinite__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 20px !important;
  }
}

/* CSP blocks inline style attributes, so lock card rows in external CSS. */
html body .listing-page .listing-seo-links .catalog-cards[data-view="grid"] .listing-tile .listing-tile__body {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: 22px 7px 38px 7px 30px 10px 42px !important;
  align-content: start !important;
  width: 100% !important;
  height: 156px !important;
  min-height: 156px !important;
  max-height: 156px !important;
  flex: 0 0 156px !important;
  padding: 0 1px !important;
  margin: 0 !important;
  gap: 0 !important;
}

html body .listing-page .listing-seo-links .catalog-cards[data-view="grid"] .listing-tile .listing-tile__price {
  grid-column: 1 !important;
  grid-row: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body .listing-page .listing-seo-links .catalog-cards[data-view="grid"] .listing-tile .listing-tile__title-slot {
  grid-column: 1 !important;
  grid-row: 3 !important;
  display: block !important;
  width: 100% !important;
  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

html body .listing-page .listing-seo-links .catalog-cards[data-view="grid"] .listing-tile .listing-tile__title,
html body .listing-page .listing-seo-links .catalog-cards[data-view="grid"] .listing-tile .listing-tile__title a {
  min-height: 0 !important;
  height: auto !important;
  max-height: 38px !important;
  margin: 0 !important;
}

html body .listing-page .listing-seo-links .catalog-cards[data-view="grid"] .listing-tile .listing-tile__merchant-row {
  grid-column: 1 !important;
  grid-row: 5 !important;
  width: 100% !important;
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  flex: none !important;
  margin: 0 !important;
  padding: 0 !important;
  align-self: start !important;
}

html body .listing-page .listing-seo-links .catalog-cards[data-view="grid"] .listing-tile .listing-tile__cta {
  grid-column: 1 !important;
  grid-row: 7 !important;
  width: 100% !important;
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  align-self: start !important;
}

html body .listing-page .listing-seo-links .catalog-cards[data-view="grid"] .listing-tile .listing-tile__btn {
  width: 100% !important;
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
}
