/* Shared page primitives for legal/status/support pages */

body {
  font-family: var(--ds-font-family-base, "Open Sans", sans-serif);
  color: var(--ds-color-text, #111111);
  background: var(--ds-color-bg-canvas, #fffdf7);
}

.wrap,
.cw-wrap {
  max-width: 760px;
  margin: 0 auto;
  padding: clamp(1.5rem, 4vw, 3rem) clamp(1rem, 2.5vw, 1.125rem);
}

.card,
.cw-card {
  border: 1px solid var(--ds-color-border-soft, #e7e7e7);
  border-radius: 1rem;
  padding: clamp(1rem, 2.2vw, 1.375rem);
  background: var(--ds-color-surface, #ffffff);
  box-shadow: var(--ds-shadow-sm, 0 0.125rem 0.25rem rgb(17 17 17 / 0.08));
}

h1,
.cw-page-title {
  font-size: clamp(1.5rem, 3vw, 1.75rem);
  margin: 0 0 0.5rem;
  line-height: 1.2;
  color: var(--ds-color-text, #111111);
}

p,
.cw-text {
  margin: 0.625rem 0;
  line-height: 1.5;
  color: var(--ds-color-text, #111111);
}

.muted,
.cw-muted {
  color: var(--ds-color-text-muted, #666666);
  font-size: 0.875rem;
}

.btns,
.cw-btn-row {
  display: flex;
  gap: 0.625rem;
  flex-wrap: wrap;
  margin-top: 1rem;
}

a.btn,
a.btn:visited,
.cw-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1rem;
  border-radius: 0.75rem;
  text-decoration: none;
  border: 1px solid var(--ds-color-text, #111111);
  color: var(--ds-color-text, #111111);
  min-height: var(--ds-touch-target-min, 44px);
  line-height: 1.2;
}

a.btn.primary,
a.btn.primary:visited,
.cw-btn.cw-btn-primary {
  background: var(--product-primary, var(--ds-color-primary, #111111));
  border-color: var(--product-primary, var(--ds-color-primary, #111111));
  color: #ffffff;
}

a.btn.primary:hover,
.cw-btn.cw-btn-primary:hover {
  background: var(--product-primary-strong, var(--ds-color-primary-strong, #222222));
  border-color: var(--product-primary-strong, var(--ds-color-primary-strong, #222222));
}

.hint,
.cw-hint {
  margin-top: 0.875rem;
  padding: 0.75rem 0.875rem;
  border-radius: 0.75rem;
  background: var(--ds-color-bg-soft, #f7f7f7);
}

code,
.cw-code {
  background: var(--ds-color-bg-soft, #f6f6f6);
  padding: 0.125rem 0.375rem;
  border-radius: 0.5rem;
}

.public-offer-page,
.cw-legal-page {
  max-width: min(72rem, 100%);
  margin: 0 auto;
  padding: clamp(1rem, 2.4vw, 1.5rem);
}

.public-offer,
.cw-legal {
  color: var(--ds-color-text-muted, #333333);
}

.public-offer h1,
.public-offer h2,
.cw-legal h1,
.cw-legal h2 {
  color: var(--ds-color-text, #111111);
  line-height: 1.2;
}

.public-offer h1,
.cw-legal h1 {
  font-size: clamp(1.75rem, 2.8vw, 2.25rem);
}

.public-offer h2,
.cw-legal h2 {
  font-size: clamp(1.2rem, 2vw, 1.5rem);
}

.public-offer p,
.public-offer li,
.cw-legal p,
.cw-legal li {
  line-height: 1.6;
}
