/* Shared listing cards only: storefronts and product recommendations use these
   grids too. Load globally via include/styles.php for those secondary pages. */
.fd-marketplace .mp-page :is(.mp-product-grid, .mp-related-grid) {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.fd-marketplace :is(.mp-product-grid, .mp-related-grid) > .mp-product {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.fd-marketplace :is(.mp-product-grid, .mp-related-grid) .mp-product-photo {
  padding: 6px;
}

.fd-marketplace :is(.mp-product-grid, .mp-related-grid) .mp-product-photo > img,
.fd-marketplace :is(.mp-product-grid, .mp-related-grid) .mp-product-photo > .mp-photo-empty {
  width: 100%;
  height: auto;
  min-height: 0;
  aspect-ratio: 4 / 3;
  object-fit: contain;
}

.fd-marketplace :is(.mp-product-grid, .mp-related-grid) .mp-product-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
  padding: 8px 10px 10px;
}

.fd-marketplace :is(.mp-product-grid, .mp-related-grid) .mp-product-body h3 {
  font-size: 14px;
  line-height: 1.4;
  min-height: 2.8em;
  margin-bottom: 9px;
  overflow-wrap: anywhere;
}

.fd-marketplace :is(.mp-product-grid, .mp-related-grid) .mp-product-price {
  flex-wrap: wrap;
  gap: 5px;
}

.fd-marketplace :is(.mp-product-grid, .mp-related-grid) .mp-product-price strong {
  font-size: 15px;
  overflow-wrap: anywhere;
}

.fd-marketplace :is(.mp-product-grid, .mp-related-grid) .mp-product-body > p {
  margin: 7px 0;
  overflow-wrap: anywhere;
}

.fd-marketplace :is(.mp-product-grid, .mp-related-grid) .mp-card-seller {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 8px 0 0;
  min-width: 0;
  font-size: 11px;
  line-height: 1.4;
}

.fd-marketplace :is(.mp-product-grid, .mp-related-grid) .mp-card-seller > a {
  min-width: 0;
  overflow-wrap: anywhere;
}

.fd-marketplace :is(.mp-product-grid, .mp-related-grid) .mp-card-seller .mp-identity-image {
  width: 32px;
  height: 32px;
}

.fd-marketplace :is(.mp-product-grid, .mp-related-grid) .mp-product-actions {
  gap: 6px;
  margin-top: auto;
  padding-top: 10px;
  flex-wrap: wrap;
}

.fd-marketplace :is(.mp-product-grid, .mp-related-grid) .mp-product-actions > a {
  min-width: 0;
  padding: 7px 6px;
  font-size: 11px;
}

.fd-marketplace :is(.mp-product-grid, .mp-related-grid) .mp-product-actions .mp-save {
  padding: 7px;
  font-size: 11px;
}

.fd-marketplace .mp-discovery-intro {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  padding: 16px 18px;
  margin-bottom: 26px;
  border: 1px solid #d8e3ce;
  border-radius: 8px;
  background: #edf3e6;
}

.fd-marketplace .mp-discovery-intro p {
  margin: 0;
}

.fd-marketplace .mp-discovery-intro .mp-eyebrow {
  margin-bottom: 4px;
}

.fd-marketplace .mp-discovery-section {
  margin: 0 0 30px;
}

.fd-marketplace .mp-discovery-section > header {
  flex-direction: row;
  align-items: center;
  flex-wrap: wrap;
}

.fd-marketplace .mp-discovery-section > header h2 {
  font-size: clamp(21px, 2vw, 25px);
}

.fd-marketplace .mp-discovery-section > header .mp-text-link {
  font-size: 12px;
  font-weight: 700;
}

.fd-marketplace .mp-discovery-section .mp-empty {
  padding: 25px 18px;
}

.fd-marketplace .mp-discovery-section .mp-empty h3 {
  font-size: 21px;
}

@media (max-width: 1100px) {
  .fd-marketplace .mp-page :is(.mp-product-grid, .mp-related-grid) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .fd-marketplace .mp-page :is(.mp-product-grid, .mp-related-grid) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
}

@media (max-width: 420px) {
  .fd-marketplace .mp-page :is(.mp-product-grid, .mp-related-grid) {
    grid-template-columns: minmax(0, 1fr);
  }

  .fd-marketplace .mp-discovery-intro > .mp-button {
    width: 100%;
  }
}

.mp-card-seller,.mp-seller-badge{display:flex;align-items:center;gap:7px;min-width:0}.mp-card-seller{margin:8px 0;font-size:11px}.mp-card-seller>a{overflow-wrap:anywhere}.mp-card-seller .mp-identity-image,.mp-seller-badge .mp-identity-image,.mp-seller-list .mp-identity-image,.mp-overview-list .mp-identity-image{width:28px;height:28px}.mp-card-seller .mp-identity-image--logo{width:32px;height:28px}.mp-featured-store{display:flex;align-items:center;gap:10px}.mp-featured-store .mp-identity-image{width:56px;height:56px}.mp-limit-notice small{display:block;margin-top:10px}.mp-upgrade-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:20px 0}.mp-upgrade-grid article{border:1px solid #dce5d9;border-radius:10px;background:#f3f7f0;padding:20px}.mp-feature-toggle{margin:10px 0 0}.mp-store-upgrade h3{font-size:22px}@media(max-width:600px){.mp-upgrade-grid{grid-template-columns:minmax(0,1fr)}}

.mp-featured-stores-module{margin:16px 0;padding:16px;background:#fff;border:1px solid #dce5d9;border-radius:9px}.mp-featured-stores-module h2{font-size:20px;color:#174f35;margin:0 0 12px}.mp-featured-stores-module small{display:block;font-size:10px;color:#586f60}.mp-featured-stores-module .mp-featured-store{padding:9px 0;border-top:1px solid #e5ebe1;line-height:1.4}.mp-featured-stores-module .mp-featured-store strong{font-size:13px}
