/**
 * Public marketing site — Atlas layer (scoped to .layout-public).
 * Loads after app.css + atlas-tokens.css.
 */

.layout-public {
  background: var(--atlas-background);
}

.layout-public .main-wrapper {
  color: var(--atlas-on-background);
  font-family: var(--font-atlas-body);
}

.layout-public .main-wrapper h1,
.layout-public .main-wrapper .hero-title-primary,
.layout-public .main-wrapper .page-contact-headline,
.layout-public .main-wrapper .how-page-title {
  font-family: var(--font-atlas-display);
  letter-spacing: -0.02em;
}

/* Shared content width */
.layout-public .public-page {
  max-width: 56rem;
  margin-left: auto;
  margin-right: auto;
  padding: 2rem 1rem 3rem;
}

.layout-public .public-page--narrow {
  max-width: 42rem;
}

.layout-public .public-page--wide {
  max-width: 72rem;
}

.layout-public .public-page__title {
  text-align: center;
  margin-bottom: 2rem;
  color: var(--atlas-on-background);
  font-family: var(--font-atlas-display);
  font-weight: 800;
}

.layout-public .public-surface-card,
.layout-public .terms-content,
.layout-public .public-page .card {
  background: var(--atlas-surface-container-lowest);
  border-radius: var(--atlas-radius-3xl);
  box-shadow: var(--atlas-ambient-shadow);
  border: 1px solid rgba(190, 201, 190, 0.22);
}

.layout-public .public-legal-prose {
  line-height: 1.75;
  padding: 2rem 1.5rem;
}

.layout-public .public-legal-prose h2 {
  color: var(--atlas-primary);
  font-family: var(--font-atlas-display);
  font-size: 1.15rem;
  margin: 2rem 0 0.75rem;
  font-weight: 700;
}

.layout-public .public-legal-prose h2:first-child {
  margin-top: 0;
}

.layout-public .public-legal-prose a {
  color: var(--atlas-primary);
  font-weight: 600;
}

.layout-public .public-for-businesses-section {
  padding: 2rem;
  margin-bottom: 2rem;
}

.layout-public .public-for-businesses-section h2 {
  color: var(--atlas-primary);
  font-family: var(--font-atlas-display);
  margin-bottom: 1rem;
  font-weight: 800;
}

.layout-public .public-for-businesses-section ul {
  line-height: 1.85;
  padding-left: 1.25rem;
  margin: 0;
  color: var(--atlas-on-surface-variant);
}

.layout-public .public-alert {
  padding: 0.9rem 1rem;
  border-radius: var(--atlas-radius-xl);
  margin-bottom: 1rem;
  font-size: 0.95rem;
}

.layout-public .public-alert--success {
  background: var(--atlas-secondary-container);
  color: var(--atlas-on-secondary-container);
  font-weight: 600;
}

.layout-public .public-alert--error {
  background: var(--atlas-error-container);
  color: var(--atlas-error);
}

.layout-public .public-form-stack label {
  display: block;
  margin-bottom: 0.4rem;
  font-weight: 600;
  color: var(--atlas-on-surface-variant);
  font-size: 0.9rem;
}

.layout-public .public-form-stack input[type="password"],
.layout-public .public-form-stack input[type="email"],
.layout-public .public-form-stack input[type="text"] {
  width: 100%;
  padding: 0.75rem 0.9rem;
  border: none;
  border-radius: var(--atlas-radius-xl);
  background: var(--atlas-surface-container-low);
  color: var(--atlas-on-surface);
  font-family: inherit;
  box-sizing: border-box;
  transition: box-shadow 0.2s ease, background 0.2s ease;
}

.layout-public .public-form-stack input:focus {
  outline: none;
  background: var(--atlas-surface-container);
  box-shadow: inset 0 -2px 0 0 var(--atlas-primary);
}

.layout-public .public-form-stack .field-hint {
  display: block;
  color: var(--atlas-on-surface-variant);
  font-size: 0.85rem;
  margin-top: 0.35rem;
}

.layout-public .public-form-stack .field-group {
  margin-bottom: 1.25rem;
}

.layout-public .public-auth-card {
  max-width: 32rem;
  margin: 3rem auto;
  padding: 0 1rem;
}

.layout-public .public-auth-card .card {
  padding: 1.75rem;
}

.layout-public .terms-page h1,
.layout-public .terms-page .public-page__title {
  text-align: center;
}

.layout-public .terms-content {
  margin-top: 2rem;
  padding: 2rem 1.5rem;
}

.layout-public .terms-content section h2 {
  font-family: var(--font-atlas-display);
  color: var(--atlas-primary);
  font-size: 1.1rem;
  margin-bottom: 0.75rem;
}

.layout-public .contact-form-card,
.layout-public .contact-success-card {
  border-radius: var(--atlas-radius-3xl);
}

.layout-public .page-login .btn-primary,
.layout-public .page-register .btn-primary,
.layout-public .page-forgot-password .btn-primary {
  border-radius: var(--atlas-radius-xl);
}
