/* ==========================================================================
   styles/discovery.css — NFT Discovery feed (launches page + detail).
   Reuses the design-token-driven card/badge/segmented/chip vocabulary from
   components.css; this file only adds the discovery-specific layout bits.
   ========================================================================== */

/* ---------- Provider status strip ---------------------------------------- */

.discovery-status-host { min-height: 0; }

.discovery-status {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--sp-2) var(--sp-4);
  padding: var(--sp-2) var(--sp-3);
  border: 1px solid var(--border);
  border-radius: var(--r-md);
  background: var(--surface-2);
  font-size: var(--fs-sm);
}

.discovery-providers { gap: var(--sp-3); row-gap: var(--sp-2); }

.discovery-provider {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--text);
  white-space: nowrap;
}

.discovery-provider .dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  flex: 0 0 auto;
}
.discovery-provider .dot.ok   { background: var(--success); box-shadow: 0 0 0 3px rgba(61, 220, 132, 0.15); }
.discovery-provider .dot.err  { background: var(--danger);  box-shadow: 0 0 0 3px rgba(242, 65, 93, 0.15); }
.discovery-provider .dot.off  { background: var(--text-2); }
.discovery-provider .dot.idle { background: var(--text-2); }

.discovery-updated { white-space: nowrap; }
.discovery-count   { white-space: nowrap; margin-left: auto; }

/* ---------- Filter rows ---------------------------------------------------- */

.discovery-filters {
  margin-top: 0;
  width: fit-content;
  max-width: 100%;
}

.discovery-raffle-toggle { margin-top: var(--sp-1); }

.discovery-date-row {
  display: flex;
  gap: var(--sp-3);
  align-items: flex-end;
  flex-wrap: wrap;
}

.discovery-date-field { min-width: 150px; margin-bottom: 0; }
.discovery-date-field input.discovery-date { padding: var(--sp-1) var(--sp-2); }

#lx-chains.chain-filter { margin-top: var(--sp-1); }

/* ---------- Grouped grid --------------------------------------------------- */

.discovery-group-head {
  display: flex;
  align-items: baseline;
  gap: var(--sp-2);
  padding: 0 2px;
}

/* ---------- Cards ---------------------------------------------------------- */

.discovery-card .launch-body { display: flex; flex-direction: column; gap: var(--sp-2); }

.discovery-card .discovery-card-warn { padding: var(--sp-1) var(--sp-2); font-size: var(--fs-sm); }
.discovery-card .discovery-card-warn svg { width: 14px; height: 14px; flex: 0 0 auto; }

.discovery-chip-confidence { flex: 0 0 auto; }

.discovery-sources-panel {
  border-top: 1px solid var(--border);
  padding-top: var(--sp-2);
  margin-top: var(--sp-1);
  display: flex;
  flex-direction: column;
  gap: var(--sp-1);
}

.discovery-sources-panel .card-head { padding: 0; }
.discovery-sources-panel .list-row { border-color: transparent; padding: var(--sp-1) 0; }

.discovery-src-name { margin-left: 6px; }

.btn-link {
  background: none;
  border: none;
  color: var(--accent);
  cursor: pointer;
  font: inherit;
  padding: 0;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.btn-link:hover { color: var(--accent-hover); }

/* ---------- Detail page additions ------------------------------------------ */

.discovery-detail-grid { display: grid; gap: var(--sp-4); }

@media (max-width: 640px) {
  .discovery-status { align-items: flex-start; flex-direction: column; }
  .discovery-count { margin-left: 0; }
  .discovery-date-row { flex-direction: column; align-items: stretch; }
  .discovery-date-field { min-width: 0; width: 100%; }
}