/* The catalogue uses compact comparison rows on phones, a grid on wider screens. */
.yo-marketplace #main-content .yo-package-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
}
.yo-marketplace .yo-package-grid .yo-package { box-shadow: none; }
.yo-marketplace .yo-package-grid .yo-package-photo { padding: 12px; }
.yo-marketplace .yo-package-grid .yo-product-image { background: #fff; }
.yo-marketplace .yo-package-grid .yo-product-image picture { display: block; width: 100%; height: 100%; }
.yo-marketplace .yo-package-grid .yo-product-image img { object-fit: contain; }
.yo-marketplace .yo-package-grid .yo-package-body { min-width: 0; padding: 4px 16px 16px; }
.yo-marketplace .yo-package-grid .yo-package h3 { margin: 0 0 8px; font-size: 16px; line-height: 1.5; min-height: 0; }
.yo-marketplace .yo-package-grid .yo-package-description {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  white-space: normal;
  min-height: 0;
  margin: 0 0 12px;
  font-size: 13px;
  line-height: 1.6;
  color: #705d67;
}
.yo-marketplace .yo-package-grid .yo-package-price { gap: 4px 8px; margin: auto 0 12px; }
.yo-marketplace .yo-package-grid .yo-package .price { font-size: 22px; line-height: 1.25; font-variant-numeric: tabular-nums; }
.yo-marketplace .yo-package-grid .yo-package .old-price { color: #705d67; font-size: 11px; }
.yo-marketplace .yo-package-grid .yo-package .btn { min-height: 44px; }
.yo-marketplace .yo-package-grid .yo-package a:focus-visible { outline: 2px solid var(--site-accent, #b52b6b); outline-offset: -3px; }
@media (min-width: 769px) and (max-width: 1050px) {
  .yo-marketplace #main-content .yo-package-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
}
@media (max-width: 768px) {
  .yo-marketplace #main-content .yo-package-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .yo-marketplace .yo-package-grid .yo-package {
    display: grid;
    grid-template-columns: clamp(96px, 30vw, 160px) minmax(0, 1fr);
    gap: 12px;
    padding: 12px;
    border-radius: 12px;
    align-items: center;
  }
  .yo-marketplace .yo-package-grid .yo-package-photo { padding: 0; min-width: 0; }
  .yo-marketplace .yo-package-grid .yo-product-image { border-radius: 8px; }
  .yo-marketplace .yo-package-grid .yo-package-body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto 1fr auto;
    column-gap: 8px;
    row-gap: 8px;
    padding: 0;
    align-self: stretch;
  }
  .yo-marketplace .yo-package-grid .yo-package h3 { grid-column: 1 / -1; margin: 0; font-size: 15px; }
  .yo-marketplace .yo-package-grid .yo-package-description { grid-column: 1 / -1; margin: 0; font-size: 12px; align-self: start; }
  .yo-marketplace .yo-package-grid .yo-package-price { margin: 0; align-self: center; flex-direction: column; gap: 2px; }
  .yo-marketplace .yo-package-grid .yo-package .price { font-size: 20px; overflow-wrap: anywhere; }
  .yo-marketplace .yo-package-grid .yo-package .btn { align-self: end; width: auto; padding: 10px 8px; font-size: 12px; white-space: nowrap; }
}
@media (max-width: 360px) {
  .yo-marketplace .yo-package-grid .yo-package { grid-template-columns: 88px minmax(0, 1fr); padding: 8px; gap: 8px; }
  .yo-marketplace .yo-package-grid .yo-package .price { font-size: 18px; }
  .yo-marketplace .yo-package-grid .yo-package-body { column-gap: 4px; }
  .yo-marketplace .yo-package-grid .yo-package .btn { padding-inline: 6px; }
}

/* Profile cards keep their existing associated checkout and detail destinations. */
.yo-marketplace .yo-package-grid .yo-detail-link { justify-content: center; margin: 4px 0 0; font-size: 12px; min-height: 44px; }
@media (max-width: 768px) {
  .yo-marketplace .yo-package-grid .yo-detail-link { grid-column: 1 / -1; justify-content: flex-end; margin: -4px 0 0; }
}

