/* ===============================
   Páginas públicas
   =============================== */

body.public {
  background: var(--bg);
  color: var(--text);
}

/* contenedor general */
.public-container {
  max-width: 980px;
  margin: 0 auto;
}

/* header y footer fijos al diseño público */
.public-header {
  padding: 32px 0;
  border-bottom: var(--border-weak);
}
.public-footer {
  padding: 24px 0;
  border-top: var(--border-weak);
  color: var(--muted);
  text-align: center;
}

/* grid y cards */
.public-main {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 24px 0 48px;
}

.public .card {
  padding: 24px 28px;
  border-radius: 16px;
  background: var(--card);
  box-shadow: var(--shadow-1);
  border: var(--border-weak);
}

/* grid responsive */
.public .grid {
  display: grid;
  gap: 24px;
}
@media (min-width: 760px) {
  .public .grid {
    grid-template-columns: 1fr 1fr;
  }
}

/* títulos */
.public h1,
.public h2,
.public h3 {
  color: var(--text-strong);
  margin-top: 0;
}

/* texto */
.public p,
.public ul {
  color: var(--text);
}

/* badges */
.public .badge {
  border-color: rgba(var(--accent-rgb), 0.3);
  background: rgba(var(--accent-rgb), 0.15);
  color: var(--accent);
}
