/**
 * Páginas legais (Sobre, Privacidade, Termos, Disclaimer) — alinhadas ao layout de page.php
 */
.page-legal {
  --legal-bg-hero: #ffffff;
  --legal-card: #ffffff;
  --legal-stroke: #e7eaf0;
  --legal-accent: #3366cc;
  --legal-accent-2: #05c46b;
}

html[data-theme="dark"] .page-legal {
  --legal-bg-hero: #0d1117;
  --legal-card: #11161d;
  --legal-stroke: rgba(255, 255, 255, 0.08);
}

.page-legal.site-main {
  display: block;
  min-height: 40vh;
}

.page-legal .page-bc {
  border-top: 1px solid var(--legal-stroke);
  border-bottom: 1px solid var(--legal-stroke);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.02), transparent 40%);
}

html[data-theme="dark"] .page-legal .page-bc {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 40%);
}

.page-legal .page-bc__wrap {
  padding: 10px 16px;
  font-size: 13px;
  color: var(--muted, #475569);
}

.page-legal .page-bc a {
  color: inherit;
}

.page-legal .page-bc a:hover {
  filter: brightness(1.15);
}

.page-legal .page-hero {
  background:
    radial-gradient(1200px 600px at 20% -10%, color-mix(in srgb, var(--legal-accent) 25%, transparent), transparent 60%),
    radial-gradient(900px 500px at 120% -20%, color-mix(in srgb, var(--legal-accent-2) 18%, transparent), transparent 60%),
    var(--legal-bg-hero);
  border-bottom: 1px solid var(--legal-stroke);
}

.page-legal .page-hero__wrap {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 32px;
  align-items: center;
  padding: 48px 16px;
}

@media (max-width: 900px) {
  .page-legal .page-hero__wrap {
    grid-template-columns: 1fr;
    padding: 36px 16px;
  }
}

.page-legal .page-hero h1 {
  font-size: clamp(28px, 5vw, 44px);
  line-height: 1.1;
  margin: 0 0 10px;
  letter-spacing: 0.2px;
}

.page-legal .page-meta {
  display: flex;
  gap: 12px;
  align-items: center;
  color: var(--muted, #475569);
  font-size: 13px;
  margin-top: 10px;
}

.page-legal .dot {
  width: 4px;
  height: 4px;
  background: color-mix(in srgb, var(--text, #0f172a) 30%, transparent);
  border-radius: 50%;
}

.page-legal .page-section {
  padding: 28px 0 54px;
}

.page-legal .container {
  max-width: var(--max, 1120px);
  margin: 0 auto;
  padding: 0 18px;
  width: 100%;
  box-sizing: border-box;
}

.page-legal .page__content {
  background: var(--legal-card);
  border: 1px solid var(--legal-stroke);
  border-radius: 16px;
  padding: 22px;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--text, #0f172a) 6%, transparent);
}

html[data-theme="dark"] .page-legal .page__content {
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--text, #e6edf3) 8%, transparent);
}

.page-legal .page__content h2 {
  font-size: clamp(20px, 3.2vw, 28px);
  margin: 18px 0 10px;
  line-height: 1.25;
}

.page-legal .page__content h3 {
  font-size: clamp(18px, 2.8vw, 22px);
  margin: 16px 0 8px;
  line-height: 1.3;
}

.page-legal .page__content .page-legal__body > h2:first-child {
  margin-top: 0;
}

.page-legal .page-legal__body {
  max-width: 100%;
}

.page-legal__body > p:first-of-type {
  margin-top: 0;
}

.page-legal__body p {
  line-height: 1.7;
  margin: 0 0 0.85rem;
  color: color-mix(in srgb, var(--text, #0f172a) 88%, #fff 0%);
}

.page-legal__body ul,
.page-legal__body ol {
  margin: 0 0 1rem;
  padding-left: 1.35rem;
}

.page-legal__body li {
  margin-bottom: 0.4rem;
  line-height: 1.65;
}

.page-legal__body blockquote {
  margin: 18px 0;
  padding: 14px 16px;
  border-left: 3px solid var(--legal-accent);
  background: linear-gradient(180deg, rgba(51, 102, 204, 0.06), transparent 60%);
  border-radius: 10px;
}

.page-legal__body figure {
  margin: 18px 0;
}

.page-legal__body img {
  border-radius: 12px;
}

.page-legal__body a {
  color: var(--brand, #2563eb);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.page-legal__body a:hover {
  filter: brightness(1.08);
}
