.legal-page,
.account-page {
  width:min(100% - 32px, 980px);
  margin:0 auto;
  padding:clamp(1.5rem, 3vw, 3rem) 0 clamp(3rem, 6vw, 5rem);
}

.legal-hero,
.account-hero,
.legal-content,
.contact-form,
.account-card {
  padding:clamp(1.1rem, 2.2vw, 1.6rem) !important;
}

.legal-hero,
.account-hero {
  margin-bottom:var(--tp-space-5);
}

.legal-content {
  display:grid;
  gap:var(--tp-space-5);
}

.legal-content section {
  display:grid;
  gap:var(--tp-space-2);
}

.legal-content h2,
.account-card h2 {
  margin:0;
  color:inherit;
  font-size:var(--tp-text-xl);
}

.legal-content p,
.legal-content li,
.account-card p,
.account-card li {
  color:var(--tp-theme-text-muted, var(--tp-public-text-muted));
  line-height:1.65;
}

body.tp-public-page .legal-content p,
body.tp-public-page .legal-content li,
body.tp-public-shell .legal-content p,
body.tp-public-shell .legal-content li {
  color:var(--tp-public-text-muted);
}

.legal-content ul,
.account-card ul {
  margin:0;
  padding-left:1.2rem;
}

.legal-facts-card dl,
.compact-legal-list,
.account-details {
  display:grid;
  gap:var(--tp-space-3);
  margin:0;
}

.legal-facts-card dl div,
.compact-legal-list div,
.account-details div {
  display:grid;
  grid-template-columns:minmax(140px, .35fr) minmax(0, 1fr);
  gap:var(--tp-space-3);
  align-items:baseline;
}

.legal-facts-card dt,
.compact-legal-list dt,
.account-details dt {
  color:var(--tp-theme-text-muted, var(--tp-public-text-muted));
  font-size:var(--tp-text-sm);
  font-weight:800;
}

.legal-facts-card dd,
.compact-legal-list dd,
.account-details dd {
  margin:0;
  color:inherit;
}

.legal-link-row,
.public-footer-links {
  display:flex;
  flex-wrap:wrap;
  gap:var(--tp-space-3);
}

.public-footer-links {
  margin-top:var(--tp-space-3);
  font-size:var(--tp-text-sm);
}

.legal-link-row a,
.public-footer-links a,
.tp-v2-account-link {
  color:var(--tp-primary);
  text-decoration:none;
  font-weight:800;
}

.contact-layout,
.account-layout {
  display:grid;
  grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr);
  gap:var(--tp-space-5);
  align-items:start;
}

.contact-form,
.account-delete-form,
.form-field {
  display:grid;
  gap:var(--tp-space-3);
}

.form-field span,
.checkbox-row span {
  font-weight:800;
}

.form-field input,
.form-field textarea,
.contact-form input,
.contact-form textarea {
  width:100%;
}

.checkbox-row {
  display:flex;
  align-items:flex-start;
  gap:var(--tp-space-2);
  color:inherit;
}

.checkbox-row input {
  width:auto;
  margin-top:.2rem;
}

.field-error {
  color:var(--tp-danger);
  font-weight:800;
}

.tp-hp-field {
  position:absolute;
  left:-10000px;
  width:1px;
  height:1px;
  overflow:hidden;
}

.account-layout {
  grid-template-columns:minmax(0, 1fr);
}

.account-card {
  display:grid;
  gap:var(--tp-space-4);
}

.account-danger-card {
  border-color:rgba(220, 38, 38, .26) !important;
}

.tp-v2-account-link {
  display:block;
  margin-top:var(--tp-space-3);
  padding:.55rem .7rem;
  border-radius:var(--tp-radius-md);
  color:var(--tp-theme-text-muted);
}

.tp-v2-account-link:hover,
.tp-v2-account-link.is-active {
  color:var(--tp-primary);
  background:color-mix(in srgb, var(--tp-theme-surface-muted) 80%, var(--tp-primary) 20%);
}

.account-deleted-banner {
  margin-top:var(--tp-space-5);
}

@media (max-width: 820px) {
  .contact-layout {
    grid-template-columns:1fr;
  }

  .legal-facts-card dl div,
  .compact-legal-list div,
  .account-details div {
    grid-template-columns:1fr;
    gap:.25rem;
  }
}
