/* ============================================================
   SECTION: AGENT MARKETPLACE — Higgsfield apps grid + contest rail
   ============================================================ */

.sec-marketplace .marketplace-defs {
  position: absolute;
  width: 0; height: 0;
  overflow: hidden;
}

/* ---------- shell: one rounded container, slightly lighter than page ---------- */
.sec-marketplace .marketplace-shell {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  gap: 12px;
  background: #131518; /* brief-mandated: slightly lighter than page bg */
  border-radius: var(--radius-card-lg);
  padding: 12px;
  box-shadow: var(--inset-highlight-soft);
}

/* ---------- LEFT: contest rail ---------- */
.sec-marketplace .marketplace-rail {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  border-radius: var(--radius-card);
  overflow: hidden;
  background: linear-gradient(180deg, #D1FE17 -40%, #3F5008 4%, #121807 15%, #0C110B 55%, #0B0F0A 100%);
  padding: 16px 14px 14px;
  min-height: 480px;
}

.sec-marketplace .marketplace-cd {
  display: flex;
  align-items: baseline;
  gap: 7px;
  font-family: var(--font-mono);
  font-size: 13px;
  letter-spacing: 0.02em;
  color: rgba(233, 255, 176, 0.6);
  background: rgba(0, 0, 0, 0.35);
  border-radius: var(--radius-sm);
  padding: 5px 12px;
}
.sec-marketplace .marketplace-cd b {
  font-weight: 700;
  color: #F3FFCB;
}
.sec-marketplace .marketplace-cd i {
  font-style: normal;
  opacity: 0.5;
}

.sec-marketplace .marketplace-rail-mid {
  margin-block: 0 auto;
  padding: 56px 0 24px;
}
.sec-marketplace .marketplace-prize {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  color: var(--accent);
}
.sec-marketplace .marketplace-laurel {
  width: 26px;
  height: 52px;
  flex: none;
}
.sec-marketplace .marketplace-laurel-r { transform: scaleX(-1); }
.sec-marketplace .marketplace-prize-num {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 34px;
  line-height: 1;
  letter-spacing: var(--ls-display);
  white-space: nowrap;
}
.sec-marketplace .marketplace-rail-title {
  margin-top: 14px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: var(--ls-display);
  color: var(--text-primary);
}
.sec-marketplace .marketplace-rail-sub {
  margin-top: 6px;
  font-size: 12px;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.75);
}
.sec-marketplace .marketplace-rail-cta {
  width: 100%;
  margin-top: auto;
}

/* ---------- RIGHT: content ---------- */
.sec-marketplace .marketplace-content {
  min-width: 0;
  display: flex;
  flex-direction: column;
}

/* toolbar: pills left, search + submit right */
.sec-marketplace .marketplace-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}
.sec-marketplace .marketplace-pills {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
}
.sec-marketplace .marketplace-pills .pill svg {
  width: 14px;
  height: 14px;
  flex: none;
}
.sec-marketplace .marketplace-tools {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}
.sec-marketplace .marketplace-search {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 40px;
  width: 220px;
  padding: 0 12px;
  background: var(--bg-card);
  border-radius: var(--radius-btn);
  color: var(--text-muted);
  cursor: text;
  transition: box-shadow var(--dur-fast) var(--ease-ui);
}
.sec-marketplace .marketplace-search:focus-within {
  box-shadow: 0 0 0 1.5px var(--accent-24);
}
.sec-marketplace .marketplace-search svg {
  width: 15px;
  height: 15px;
  flex: none;
}
.sec-marketplace .marketplace-search input {
  flex: 1;
  min-width: 0;
  background: none;
  border: 0;
  outline: none;
  font-size: 13px;
  color: var(--text-primary);
}
.sec-marketplace .marketplace-search input::placeholder { color: var(--text-muted); }
.sec-marketplace .marketplace-search input::-webkit-search-cancel-button { -webkit-appearance: none; }
.sec-marketplace .marketplace-submit {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 40px;
  padding: 0 16px;
  border-radius: var(--radius-pill);
  background: var(--accent);
  color: var(--accent-text-on);
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
  transition: filter var(--dur-fast) var(--ease-ui), transform var(--dur-fast) var(--ease-pop);
}
.sec-marketplace .marketplace-submit:hover { filter: brightness(1.06); }
.sec-marketplace .marketplace-submit:active { transform: scale(0.97); }
.sec-marketplace .marketplace-submit svg {
  width: 15px;
  height: 15px;
  flex: none;
}

/* ---------- grid: 4-up compact, Higgsfield apps density ---------- */
.sec-marketplace .marketplace-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--grid-gap);
}

/* ---------- card ---------- */
.sec-marketplace .marketplace-card {
  position: relative;
  background: var(--bg-card);
  box-shadow: var(--inset-highlight);
  cursor: pointer;
  transition: transform var(--dur-med) var(--ease-pop),
              opacity var(--dur-fast) var(--ease-ui);
}
.sec-marketplace .marketplace-card:hover { transform: scale(1.02); z-index: 2; }
.sec-marketplace .marketplace-card.marketplace-out {
  opacity: 0;
  transform: scale(0.96);
  pointer-events: none;
}

/* cover: 16:9 CSS art (per-agent hue via --mkt-hue) */
.sec-marketplace .marketplace-cover {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #0B0D0F;
}
.sec-marketplace .marketplace-art {
  position: absolute;
  inset: 0;
  padding: 14px;
  background:
    radial-gradient(95% 85% at 88% 100%, hsla(var(--mkt-hue), 85%, 52%, 0.30), transparent 62%),
    radial-gradient(70% 55% at 8% 0%, hsla(var(--mkt-hue), 70%, 48%, 0.14), transparent 58%),
    linear-gradient(158deg, hsla(var(--mkt-hue), 38%, 15%, 1) 0%, #0B0D0F 72%);
  transition: transform var(--dur-slow) var(--ease-glide);
}
.sec-marketplace .marketplace-art::after {
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.018) 0 1px, transparent 1px 3px);
  pointer-events: none;
}
.sec-marketplace .marketplace-card:hover .marketplace-art { transform: scale(1.06); }

/* big ghosted motif, bottom-right */
.sec-marketplace .marketplace-motif {
  position: absolute;
  right: -4%;
  bottom: -16%;
  width: 46%;
  aspect-ratio: 1;
  color: hsla(var(--mkt-hue), 90%, 62%, 1);
  opacity: 0.17;
  stroke: currentColor;
  fill: none;
  stroke-width: 2.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* huge typographic name inside the cover (Higgsfield cover treatment) */
.sec-marketplace .marketplace-word {
  position: relative;
  z-index: 1;
  display: block;
  max-width: 92%;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 21px;
  line-height: 0.98;
  text-transform: uppercase;
  letter-spacing: var(--ls-display);
  background: linear-gradient(180deg, #FDFDFD 6%, rgba(253, 253, 253, 0.32) 96%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
.sec-marketplace .marketplace-word::before {
  content: attr(data-text);
  position: absolute;
  left: 2px;
  top: 3px;
  width: 100%;
  z-index: -1;
  background: none;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 1px hsla(var(--mkt-hue), 90%, 65%, 0.5);
}

/* mini Launch button fades in top-right of cover */
.sec-marketplace .marketplace-launch {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 2;
  height: 28px;
  padding: 0 10px;
  font-size: 12px;
  font-weight: 600;
  border-radius: var(--radius-sm);
  opacity: 0;
  transform: translateY(-4px);
  pointer-events: none;
  transition: opacity var(--dur-fast) var(--ease-ui),
              filter var(--dur-fast) var(--ease-ui),
              transform var(--dur-fast) var(--ease-pop);
}
.sec-marketplace .marketplace-card:hover .marketplace-launch,
.sec-marketplace .marketplace-card:focus-within .marketplace-launch {
  opacity: 1;
  transform: none;
  pointer-events: auto;
}

/* footer strip */
.sec-marketplace .marketplace-foot {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  background: var(--bg-card);
}
.sec-marketplace .marketplace-chip {
  flex: none;
  width: 24px;
  height: 24px;
  border-radius: 7px;
  display: grid;
  place-items: center;
  background: hsla(var(--mkt-hue), 80%, 55%, 0.16);
  color: hsla(var(--mkt-hue), 90%, 66%, 1);
  box-shadow: inset 0 0 0 1px hsla(var(--mkt-hue), 90%, 66%, 0.22);
}
.sec-marketplace .marketplace-chip svg {
  width: 14px;
  height: 14px;
  stroke: currentColor;
  fill: none;
  stroke-width: 7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.sec-marketplace .marketplace-info { min-width: 0; }
.sec-marketplace .marketplace-name {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
}
.sec-marketplace .marketplace-dot {
  flex: none;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 6px var(--accent-glow);
}
.sec-marketplace .marketplace-stats {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-top: 2px;
  font-size: 12px;
  color: var(--text-faint);
  white-space: nowrap;
}
.sec-marketplace .marketplace-ic {
  width: 10px;
  height: 10px;
  flex: none;
  fill: currentColor;
}
.sec-marketplace .marketplace-dotsep { opacity: 0.7; }

/* empty state */
.sec-marketplace .marketplace-empty {
  padding: 40px 0;
  text-align: center;
  font-family: var(--font-mono);
  font-size: 13px;
  color: var(--text-faint);
}

/* ---------- responsive ---------- */
@media (max-width: 1100px) {
  .sec-marketplace .marketplace-rail { display: none; }
  .sec-marketplace .marketplace-shell { grid-template-columns: minmax(0, 1fr); }
  .sec-marketplace .marketplace-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .sec-marketplace .marketplace-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .sec-marketplace .marketplace-grid { grid-template-columns: minmax(0, 1fr); }
  .sec-marketplace .marketplace-toolbar { flex-direction: column; align-items: stretch; }
  .sec-marketplace .marketplace-pills {
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
    padding-bottom: 2px;
  }
  .sec-marketplace .marketplace-pills::-webkit-scrollbar { display: none; }
  .sec-marketplace .marketplace-pills .pill { flex: none; }
  .sec-marketplace .marketplace-tools { margin-left: 0; flex-wrap: wrap; }
  .sec-marketplace .marketplace-search { flex: 1 1 160px; width: auto; }
  .sec-marketplace .marketplace-submit { flex: 1 1 auto; justify-content: center; }
  .sec-marketplace .marketplace-word { font-size: 24px; }
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  .sec-marketplace .marketplace-card:hover { transform: none; }
  .sec-marketplace .marketplace-card:hover .marketplace-art { transform: none; }
  .sec-marketplace .marketplace-dot { box-shadow: none; }
}
