/* Compact layout shared only by public-facing pages. */
.public-page .container.py-5 {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}

.marketplace-search { max-width: 760px; }
.marketplace-logo { width: 52px; height: 52px; object-fit: contain; border: 1px solid #dee2e6; border-radius: .65rem; background: #fff; padding: .3rem; }
.marketplace-logo-lg { width: 68px; height: 68px; }
.marketplace-logo-fallback { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; background: #e9f2ff; color: #0d6efd; font-size: 1.25rem; font-weight: 700; }
.marketplace-schema { border: 1px solid #dee2e6; border-radius: .5rem; background: #f8f9fa; padding: 1rem; }
.marketplace-card { transition: border-color .15s ease; }
.marketplace-card:hover { border-color: #8bb9ff; }
.marketplace-agent-link { display: flex; justify-content: space-between; gap: .5rem; padding: .45rem .5rem; color: #343a40; text-decoration: none; border-radius: .35rem; }
.marketplace-agent-link:hover, .marketplace-agent-link.active { color: #0d6efd; background: #eef5ff; }
.marketplace-agent-link small { text-transform: capitalize; color: #6c757d; }
.marketplace-layout .agent-catalog { max-height: calc(100vh - 8rem); }
.marketplace-layout .agent-workspace { overflow: hidden; }
.marketplace-summary:hover { transform: none; }
.marketplace-list-logo { width: 22px; height: 22px; object-fit: contain; border-radius: 4px; margin-left: auto; }

.public-page section.my-5 {
  margin-top: 2rem !important;
  margin-bottom: 2rem !important;
}

.public-page .row.mb-5,
.public-page header.mb-5 {
  margin-bottom: 2rem !important;
}

.public-page .full-width-hero {
  padding-top: 3rem;
  padding-bottom: 3rem;
}

/* The global card style already supplies padding. Public cards frequently
   include a card-body as well, so remove the duplicated outer padding. */
.public-page .card {
  padding: 0 !important;
  border-radius: 10px;
}

.public-page .card.p-4,
.public-page article.card.p-4 {
  padding: 1.25rem !important;
}

.public-page .card-body {
  padding: 1.25rem;
}

.public-page .card:hover {
  transform: none;
}

.public-page .card .mb-3 {
  margin-bottom: 0.75rem !important;
}

.public-page .card-text + br {
  display: none;
}

.public-page .card-text + br + .card-title {
  margin-top: 1rem !important;
}

.public-page .contact-section {
  padding-top: 2.5rem !important;
  padding-bottom: 2.5rem !important;
}

.public-page footer {
  margin-top: 2rem;
  padding-top: 1.25rem !important;
  padding-bottom: 1.25rem !important;
}

@media (max-width: 767.98px) {
  .public-page .container.py-5 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }

  .public-page .full-width-hero {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  .public-page .row.mb-5,
  .public-page header.mb-5 {
    margin-bottom: 1.5rem !important;
  }
}
