.legal-hero .page-hero-title { max-width: 900px; }
.legal-section { padding-top: 4rem; }
.legal-layout {
  display: grid;
  grid-template-columns: 260px minmax(0, 860px);
  align-items: start;
  gap: clamp(1.5rem, 4vw, 3rem);
}
.legal-sidebar { position: sticky; top: 92px; }
.legal-sidebar-card {
  border: 1px solid var(--border);
  border-radius: 20px;
  background: #fff;
  padding: 1rem;
  box-shadow: 0 18px 50px rgba(52, 22, 55, .06);
}
.legal-sidebar-card span {
  display: block;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: .75rem;
}
.legal-sidebar-card a {
  display: block;
  border-radius: 12px;
  padding: .7rem .75rem;
  color: var(--text-muted);
  font-size: .84rem;
  text-decoration: none;
  transition: background .2s ease, color .2s ease;
}
.legal-sidebar-card a:hover {
  background: var(--vinho);
  color: #fff;
}
.legal-content,
.privacy-content {
  width: 100%;
  max-width: 860px;
  margin: 0 auto;
  color: var(--text-light);
  font-size: 1rem;
  line-height: 1.85;
  border: 1px solid var(--border);
  border-radius: 24px;
  background: #fff;
  padding: clamp(1.25rem, 4vw, 2.6rem);
  box-shadow: 0 22px 60px rgba(52, 22, 55, .06);
}
.legal-content h2,
.privacy-content h2 {
  font-family: var(--font-serif);
  font-size: clamp(1.35rem, 2.4vw, 2rem);
  color: var(--vinho);
  line-height: 1.25;
  margin: 2.25rem 0 .85rem;
}
.legal-content h3,
.privacy-content h3 {
  font-family: var(--font-serif);
  font-size: 1.2rem;
  color: var(--vinho);
  margin: 1.5rem 0 .6rem;
}
.legal-content p,
.privacy-content p { margin: 0 0 1rem; }
.legal-content ul,
.privacy-content ul { margin: 0 0 1.3rem 1.25rem; list-style: disc; }
.legal-content li,
.privacy-content li { margin-bottom: .45rem; }
.legal-content a,
.privacy-content a { color: var(--gold); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 920px) {
  .legal-layout { grid-template-columns: 1fr; }
  .legal-sidebar { position: static; order: 2; }
  .legal-sidebar-card { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .35rem; }
  .legal-sidebar-card span { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
  .legal-section { padding-top: 2.75rem; }
  .legal-content,
  .privacy-content { border-radius: 18px; }
  .legal-sidebar-card { grid-template-columns: 1fr; }
}
