/* Shared legal page styles: termos, privacidade, contacto */
.legal-page {
  min-height: 100vh;
  background: var(--ov-cloud);
  padding: var(--ov-space-16) var(--ov-space-6);
}

.legal-content {
  max-width: 740px;
  margin: 0 auto;
  background: var(--ov-white);
  border: 1px solid var(--ov-line);
  border-radius: var(--ov-radius-xl);
  padding: var(--ov-space-12) var(--ov-space-10);
}

@media (max-width: 600px) {
  .legal-content { padding: var(--ov-space-8) var(--ov-space-6); }
}

.legal-title {
  font-family: var(--ov-font-display);
  font-size: var(--ov-fs-h1);
  font-weight: var(--ov-w-extrabold);
  color: var(--ov-navy);
  margin: 0 0 var(--ov-space-3);
  letter-spacing: var(--ov-track-tight);
}

.legal-updated {
  font-family: var(--ov-font-sans);
  font-size: var(--ov-fs-sm);
  color: var(--ov-slate);
  margin: 0 0 var(--ov-space-10);
  border-bottom: 1px solid var(--ov-line);
  padding-bottom: var(--ov-space-6);
}

.legal-section {
  margin-bottom: var(--ov-space-8);
}

.legal-section h2 {
  font-family: var(--ov-font-display);
  font-size: var(--ov-fs-h3);
  font-weight: var(--ov-w-bold);
  color: var(--ov-navy);
  margin: 0 0 var(--ov-space-3);
}

.legal-section p {
  font-family: var(--ov-font-sans);
  font-size: var(--ov-fs-body);
  line-height: var(--ov-lh-normal);
  color: var(--ov-text);
  margin: 0 0 var(--ov-space-3);
}

.legal-section p:last-child { margin-bottom: 0; }

.legal-contact-note {
  margin-top: var(--ov-space-10);
  padding-top: var(--ov-space-6);
  border-top: 1px solid var(--ov-line);
  font-family: var(--ov-font-sans);
  font-size: var(--ov-fs-sm);
  color: var(--ov-slate);
}

.legal-contact-note a {
  color: var(--ov-blue);
  text-decoration: none;
  font-weight: var(--ov-w-semibold);
}

.legal-contact-note a:hover { text-decoration: underline; }

/* Contact form specific */
.contact-intro {
  font-family: var(--ov-font-sans);
  font-size: var(--ov-fs-body);
  color: var(--ov-slate);
  line-height: var(--ov-lh-normal);
  margin: 0 0 var(--ov-space-8);
}

.contact-form {
  display: flex;
  flex-direction: column;
  gap: var(--ov-space-5);
}

.contact-success {
  padding: var(--ov-space-6);
  background: var(--ov-free-bg);
  border: 1px solid var(--ov-free-border);
  border-radius: var(--ov-radius-md);
  font-family: var(--ov-font-sans);
  font-size: var(--ov-fs-sm);
  color: var(--ov-free-fg);
  text-align: center;
}
