/* ============================================================
   Banner
   Pre-submit validation summary on review. The successful state
   earns the live blue; warnings stay quiet and depend on iconography/content.
   ============================================================ */

.banner {
  display: flex;
  gap: var(--space-6);
  padding: var(--space-8) var(--space-8);
  border-radius: var(--r-lg);
  margin-bottom: var(--space-12);
}

.banner__title {
  font-size: var(--fs-md);
  font-weight: var(--fw-medium);
}

/* ---------- Warning ---------- */

.banner--warn {
  background: var(--hover);
  border: 1px solid var(--accent-soft-border);
}

.banner--warn .banner__title {
  color: var(--warn);
}

/* ---------- OK ---------- */

.banner--ok {
  background: var(--live-bg);
  border: 1px solid var(--live-ring);
  align-items: center;
  gap: var(--space-6);
}

.banner--ok .banner__title {
  color: var(--live-lt);
}

.ok-check {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--live-bg-hover);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* ---------- Issues ---------- */

.issue-list {
  margin: var(--space-4) 0 0;
  padding-left: var(--space-1);
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.issue {
  font-size: var(--fs-base);
  color: var(--text-2);
  display: flex;
  gap: var(--space-4);
}

.issue__bullet {
  color: var(--warn);
}

/* Jumps back to the step that owns the problem */
.issue__link {
  background: none;
  border: none;
  color: var(--text-2);
  font: inherit;
  font-size: var(--fs-base);
  cursor: pointer;
  text-align: left;
  padding: 0;
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-color: var(--accent-soft-border);
}

.issue__link:hover {
  color: var(--text);
}
