/* ============================================================
   NEXORA · Components / Spacing corrections
   ------------------------------------------------------------
   Loaded after the glass layer. Fixes places where boxes or
   their inner elements sat edge-to-edge, and normalizes a few
   negative-margin hacks into real rhythm.
   ============================================================ */

/* ---------- Discovery: stacked result rows were touching ----
   The three JS-populated wrappers inside each column had no
   gap of their own, so consecutive .d-item cards butted edges. */

#disc-people,
#disc-projects,
#disc-challenges,
#disc-path,
#disc-events,
#disc-opps {
  display: grid;
  gap: 0.7rem;
  align-content: start;
}

/* Belt-and-braces for any dynamically injected sibling rows */
.d-item + .d-item {
  margin-top: 0.7rem;
}

#disc-people .d-item + .d-item,
#disc-projects .d-item + .d-item,
#disc-challenges .d-item + .d-item,
#disc-path .d-item + .d-item,
#disc-events .d-item + .d-item,
#disc-opps .d-item + .d-item {
  margin-top: 0;
}

/* Empty wrappers must not add phantom gaps */
#disc-projects:empty,
#disc-challenges:empty,
#disc-path:empty,
#disc-events:empty,
#disc-opps:empty {
  display: none;
}

/* ---------- Next Move: meta rows sat flush -------------------
   Replaces the earlier negative-margin correction. */

.move-meta {
  margin-bottom: 1rem;
}

.move-meta + .move-meta {
  margin-top: 0;
  margin-bottom: 1.5rem;
}

.move-meta .skill-tag {
  margin-block: 0.1rem;
}

/* ---------- Opportunities: title and org line were tight ----- */

.opp-org {
  margin-top: 0;
}

.opp-card h4 {
  margin-bottom: 0.1rem;
}

/* ---------- Modal: heading ran under the close button -------- */

.modal-head {
  padding-right: 2.75rem;
}

/* ---------- Build rooms: capability list breathing ----------- */

.cap-list {
  gap: 0.5rem 0.75rem;
}

/* ---------- Room card: badges vs. team avatars --------------- */

.room-top {
  row-gap: 0.75rem;
}

.room-badges {
  row-gap: 0.5rem;
}

/* ---------- Proof module: tabs vs. body ---------------------- */

.pos-tabs {
  padding-bottom: 0.25rem;
  gap: 0.45rem;
}

/* ---------- Evidence rows: value vs. bar --------------------- */

.ev-row {
  row-gap: 0.45rem;
}

/* ---------- Identity: stat tiles and chip rows --------------- */

.id-stats {
  gap: 0.6rem;
}

.id-col ul {
  gap: 0.45rem;
}

/* ---------- Compare cards: chip cluster ---------------------- */

.compare-points {
  gap: 0.5rem;
}

/* ---------- Hero trust row on small screens ------------------ */

.hero-trust {
  row-gap: 0.75rem;
}

/* ---------- Section rhythm safeguard -------------------------
   Any card that ends with a full-bleed footer strip keeps its
   inner content clear of the strip. */

.id-foot {
  margin-top: 1.4rem;
}

/* ---------- Flow diagram: nodes never kiss the connectors ---- */

.flow-branch {
  row-gap: 1rem;
}

/* ---------- Footer: link columns on narrow tablets ----------- */

@media (max-width: 767px) {
  .footer-col ul {
    gap: 0.6rem;
  }

  .discovery-results {
    gap: 1.4rem;
  }
}
