/* Central de Transparência e páginas jurídicas. */
#legal-modal { z-index: 70; }

.legal-modal-panel {
  width: 100%;
  max-width: 48rem;
  max-height: 92vh;
  overflow-y: auto;
  border-radius: 2rem;
  animation: legal-modal-in .28s ease-out both;
}

.legal-document-card { min-height: 17rem; }

.legal-mascot { animation: legal-mascot-float 3.2s ease-in-out infinite; }
.legal-modal-trigger { cursor: pointer; }
.legal-layout { grid-template-columns: minmax(0, 1fr); }

.legal-prose h2 {
  scroll-margin-top: 7rem;
  color: #1d2a3d;
  font-family: Montserrat, sans-serif;
  font-size: 1.5rem;
  font-weight: 800;
  line-height: 1.25;
}

.legal-prose h3 {
  margin-top: 1.75rem;
  color: #1d2a3d;
  font-family: Montserrat, sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.4;
}

.legal-prose p {
  margin-top: 1rem;
  color: #3f5069;
  line-height: 1.75rem;
}

.legal-prose ul {
  margin-top: 1rem;
  padding-left: 1.5rem;
  color: #3f5069;
}

.legal-prose li {
  padding-left: .25rem;
  list-style: disc;
  line-height: 1.75rem;
}

.legal-prose li + li { margin-top: .5rem; }
.legal-prose li::marker { color: #fc7114; }

.legal-section {
  padding-block: 2.5rem;
  border-bottom: 1px solid #d6dbe4;
}

.legal-section:first-child { padding-top: 0; }
.legal-section:last-child { padding-bottom: 0; border-bottom: 0; }

.legal-callout {
  margin-top: 1.5rem;
  padding: 1.25rem;
  border: 1px solid #ffdec4;
  border-radius: 1rem;
  background: #fff1e7;
  color: #2e3e56;
  font-size: .875rem;
  line-height: 1.5rem;
}

@keyframes legal-modal-in {
  from { opacity: 0; transform: translateY(18px) scale(.97); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes legal-mascot-float {
  0%, 100% { transform: translateY(0) rotate(-2deg); }
  50% { transform: translateY(-5px) rotate(2deg); }
}

@media (min-width: 1024px) {
  .legal-layout { grid-template-columns: 17rem minmax(0, 1fr); }
  .legal-prose h2 { font-size: 1.875rem; }
}

@media (prefers-reduced-motion: reduce) {
  .legal-modal-panel,
  .legal-mascot { animation: none; }
}

@media print {
  header, footer, aside, #legal-modal, #wa-fab, #wa-tooltip, #lead-modal { display: none !important; }
  .legal-layout { display: block !important; }
  .legal-prose { border: 0 !important; box-shadow: none !important; }
}
