/* ==========================================================================
   Percio Castelo · Legal Pages (v3 Editorial Design System)
   Páginas: Termos de Uso (termos-de-uso.html) & Política de Privacidade (politica-de-privacidade.html)
   ========================================================================== */

.legal-page-wrap {
  padding-top: clamp(24px, 3.5vw, 44px);
  padding-bottom: clamp(48px, 6vw, 96px);
  width: 100%;
}

.legal-page-head {
  margin-bottom: 24px;
  width: 100%;
}

.legal-back-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font: 500 12px var(--mono);
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--mu);
  transition: color .2s;
  margin-bottom: 12px;
  text-decoration: none;
}
.legal-back-link:hover {
  color: var(--ac);
}

.legal-title {
  font: 800 clamp(28px, 3.5vw, 42px)/1.15 var(--sans);
  letter-spacing: -.025em;
  color: var(--tx);
  margin: 0 0 8px;
}

.legal-subtitle {
  font-size: 15.5px;
  line-height: 1.55;
  color: var(--mu);
  margin: 0;
  max-width: 820px;
}

/* Document Paper */
.legal-paper {
  width: 100%;
  background: var(--bg2);
  border: 1px solid var(--ln);
  border-radius: 16px;
  padding: clamp(28px, 4.5vw, 56px);
  box-shadow: 0 20px 60px rgba(0, 0, 0, .45);
  color: var(--tx);
}

/* Meta Box */
.legal-meta-box {
  background: var(--bg);
  border: 1px solid var(--ln);
  border-radius: 12px;
  padding: 16px 20px;
  margin-bottom: 32px;
  font: 400 13.5px/1.6 var(--sans);
  color: var(--mu);
}
.legal-meta-box p {
  margin: 4px 0;
}
.legal-meta-box strong {
  color: var(--tx);
}
.legal-meta-box a {
  color: var(--ac);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Títulos das Seções */
.legal-paper h2 {
  font: 700 clamp(19px, 1.9vw, 24px)/1.3 var(--sans);
  letter-spacing: -.015em;
  color: var(--tx);
  border-top: 1px solid var(--ln);
  padding-top: 24px;
  margin: 32px 0 14px;
}
.legal-paper h2:first-of-type {
  border-top: none;
  padding-top: 0;
  margin-top: 0;
}

/* Parágrafos e Listas */
.legal-paper p {
  font-size: 15.5px;
  line-height: 1.7;
  color: color-mix(in srgb, var(--tx) 92%, var(--mu) 8%);
  margin: 0 0 16px;
}
.legal-paper p:last-child {
  margin-bottom: 0;
}
.legal-paper ul,
.legal-paper ol {
  margin: 0 0 20px;
  padding-left: 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.legal-paper li {
  font-size: 15px;
  line-height: 1.65;
  color: color-mix(in srgb, var(--tx) 88%, var(--mu) 12%);
}
.legal-paper strong {
  color: var(--tx);
}
.legal-paper a {
  color: var(--ac);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.legal-paper a:hover {
  color: #fff;
}
.legal-paper code {
  font-family: var(--mono);
  font-size: 13.5px;
  background: var(--bg);
  border: 1px solid var(--ln);
  border-radius: 4px;
  padding: 2px 6px;
  color: var(--tx);
}

/* Highlight Box / Disclaimer */
.legal-highlight-card {
  background: color-mix(in srgb, var(--bg) 80%, var(--ac) 20%);
  border: 1px solid color-mix(in srgb, var(--ln) 60%, var(--ac) 40%);
  border-left: 4px solid var(--ac);
  border-radius: 8px;
  padding: 18px 22px;
  margin: 24px 0;
}
.legal-highlight-card p {
  margin: 0 !important;
  color: var(--tx) !important;
  font-size: 14.5px;
  line-height: 1.6;
}

/* Bloco de Contato Final */
.legal-contact-block {
  background: var(--bg);
  border: 1px solid var(--ln);
  border-left: 4px solid var(--ac);
  border-radius: 12px;
  padding: 20px 24px;
  margin-top: 36px;
}
.legal-contact-block h3 {
  font: 700 17px/1.3 var(--sans);
  color: var(--tx);
  margin: 0 0 10px;
}
.legal-contact-block p {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--mu);
}
.legal-contact-block a {
  color: var(--ac);
}

/* Tabelas (para cookies/dados) */
.legal-table-responsive {
  width: 100%;
  overflow-x: auto;
  margin: 20px 0 24px;
}
.legal-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}
.legal-table th,
.legal-table td {
  padding: 12px 16px;
  border: 1px solid var(--ln);
  text-align: left;
}
.legal-table th {
  background: var(--bg);
  font: 600 12px var(--mono);
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--tx);
}
.legal-table td {
  color: var(--mu);
}

/* Impressão */
@media print {
  .top,
  .legal-page-head .legal-back-link,
  .floating-actions,
  .pal,
  footer,
  .skip,
  #pg,
  #cur {
    display: none !important;
  }
  body {
    background: #fff !important;
    color: #111 !important;
  }
  .legal-paper {
    background: #fff !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    color: #111 !important;
  }
  .legal-paper h2,
  .legal-meta-box strong,
  .legal-paper p,
  .legal-paper li {
    color: #111 !important;
  }
}
