/* =============================================================================
   Páginas Legais — Front-end
   Scope: .sm-legal-page
   Applies to: Política de Privacidade e Termos de Uso
   ============================================================================= */

/* ---- Outer section ---- */
.sm-legal-page {
  background: #ffffff;
  padding: 56px 0 72px;
}

.sm-legal-section {
  background: #ffffff;
}

/* ---- Shell ---- */
.sm-legal-shell {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 28px;
  box-sizing: border-box;
}

/* ---- Empty state ---- */
.sm-legal-empty {
  color: #888 !important;
  font-size: 16px !important;
  text-align: center;
}

/* =============================================================================
   RICH TEXT CONTENT
   Typography for content produced by TinyMCE (headings, paragraphs, lists…)
   ============================================================================= */

.sm-legal-content {
  color: #3a3a3a;
  font-family: "Montserrat", sans-serif;
  font-size: 16px;
  line-height: 1.75;
}

/* ---- Headings ---- */
.sm-legal-content h1,
.sm-legal-content h2,
.sm-legal-content h3,
.sm-legal-content h4,
.sm-legal-content h5,
.sm-legal-content h6 {
  font-family: "Montserrat", sans-serif !important;
  font-weight: 700 !important;
  color: #1a2c6b !important;
  line-height: 1.3 !important;
  margin-top: 2em !important;
  margin-bottom: 0.6em !important;
}

.sm-legal-content h1 { font-size: 28px !important; }
.sm-legal-content h2 { font-size: 22px !important; }
.sm-legal-content h3 { font-size: 18px !important; }
.sm-legal-content h4 { font-size: 16px !important; }

.sm-legal-content > h1:first-child,
.sm-legal-content > h2:first-child,
.sm-legal-content > h3:first-child {
  margin-top: 0 !important;
}

/* ---- Paragraphs ---- */
.sm-legal-content p {
  margin: 0 0 1.25em !important;
  font-size: 15px !important;
  color: #3a3a3a !important;
  line-height: 1.75 !important;
  font-weight: 400 !important;
}

.sm-legal-content p:last-child {
  margin-bottom: 0 !important;
}

/* ---- Lists ---- */
.sm-legal-content ul,
.sm-legal-content ol {
  margin: 0 0 1.25em 1.5em !important;
  padding: 0 !important;
}

.sm-legal-content ul { list-style: disc !important; }
.sm-legal-content ol { list-style: decimal !important; }

.sm-legal-content li {
  font-size: 15px !important;
  color: #3a3a3a !important;
  line-height: 1.75 !important;
  margin-bottom: 0.4em !important;
  font-weight: 400 !important;
}

/* ---- Inline formatting ---- */
.sm-legal-content strong,
.sm-legal-content b {
  font-weight: 700 !important;
  color: inherit !important;
}

.sm-legal-content em,
.sm-legal-content i {
  font-style: italic !important;
}

/* ---- Links ---- */
.sm-legal-content a {
  color: #1f45d8 !important;
  text-decoration: underline !important;
  font-weight: 500 !important;
  font-size: inherit !important;
}

.sm-legal-content a:hover {
  color: #1235b0 !important;
}

/* ---- Horizontal rule ---- */
.sm-legal-content hr {
  border: none;
  border-top: 1px solid #e5e5e5;
  margin: 2em 0;
}

/* ---- Blockquote ---- */
.sm-legal-content blockquote {
  border-left: 4px solid #1f45d8;
  padding: 12px 20px;
  margin: 1.5em 0;
  background: #f5f6fa;
  border-radius: 0 4px 4px 0;
}

.sm-legal-content blockquote p {
  color: #555 !important;
  font-style: italic !important;
  margin: 0 !important;
}

/* =============================================================================
   RESPONSIVE — MOBILE (≤ 600px)
   ============================================================================= */
@media (max-width: 600px) {
  .sm-legal-page {
    padding: 40px 0 56px;
  }

  .sm-legal-shell {
    padding: 0 20px;
  }

  .sm-legal-content h1 { font-size: 22px !important; }
  .sm-legal-content h2 { font-size: 18px !important; }
  .sm-legal-content h3 { font-size: 16px !important; }
}
