/* Páginas legales (política de privacidad).
   Reutiliza los tokens y el encabezado/pie de styles.css; aquí solo va la
   tipografía de documento largo. */

.legal {
  padding: 46px 0 78px;
  background:
    radial-gradient(ellipse at 100% 0, #f3edfc 0, transparent 42%),
    radial-gradient(ellipse at 0 6%, #ecfaff 0, transparent 40%),
    #fff;
}

.legal-container { width: min(860px, calc(100% - 96px)); }

/* ── Encabezado ── */
.legal-head { padding-bottom: 30px; border-bottom: 1px solid var(--line); }
.legal-head h1 {
  font-size: clamp(30px, 4vw, 42px);
  letter-spacing: -1.6px;
  font-weight: 700;
  margin-top: 6px;
}
.legal-lead {
  margin-top: 20px;
  font-size: 16px;
  line-height: 1.8;
  color: #5b6781;
}
.legal-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 34px;
  margin: 26px 0 0;
}
.legal-meta div { margin: 0; }
.legal-meta dt {
  font-size: 9.5px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: #8790a6;
  font-weight: 600;
}
.legal-meta dd { margin: 3px 0 0; font-size: 13px; font-weight: 600; color: #2b3a5e; }

/* ── Índice ── */
.legal-toc {
  margin: 34px 0 10px;
  padding: 26px 30px;
  background: #fafbfe;
  border: 1px solid #e9edf5;
  border-radius: 14px;
}
.legal-toc h2 {
  font-size: 11px;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: #737daa;
  font-weight: 600;
  margin-bottom: 14px;
}
.legal-toc ol {
  columns: 2;
  column-gap: 36px;
  margin: 0;
  padding-left: 18px;
  font-size: 13px;
  line-height: 2;
}
.legal-toc li { break-inside: avoid; }
.legal-toc a { color: #45557c; }
.legal-toc a:hover { color: var(--blue); text-decoration: underline; }

/* ── Cuerpo ── */
.legal section { padding-top: 40px; scroll-margin-top: 110px; }
.legal section h2 {
  font-size: 23px;
  letter-spacing: -.7px;
  font-weight: 650;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
}
.legal section h3 {
  font-size: 15.5px;
  font-weight: 650;
  color: #24335a;
  margin-top: 28px;
}
.legal p, .legal li { font-size: 14.5px; line-height: 1.85; color: #4d5a76; }
.legal section > p { margin-top: 14px; }
.legal ul, .legal ol { margin: 14px 0 0; padding-left: 22px; }
.legal li { margin-bottom: 9px; }
.legal strong { color: #22304f; font-weight: 650; }
.legal a { color: var(--blue); text-decoration: underline; text-underline-offset: 2px; }
.legal a:hover { color: #1741b8; }
.legal code {
  font-family: ui-monospace, 'Cascadia Code', Consolas, monospace;
  font-size: 12.5px;
  background: #f1f4fa;
  border: 1px solid #e3e8f2;
  border-radius: 5px;
  padding: 1px 6px;
  color: #34456e;
  white-space: nowrap;
}

/* ── Sección destacada (datos de Google) ── */
.legal-highlight {
  margin-top: 40px;
  padding: 4px 30px 34px;
  border: 1px solid #dfe6fa;
  border-radius: 16px;
  background: linear-gradient(160deg, #f8fbff, #fdfaff 70%);
}
.legal-highlight > h2 { border-bottom-color: #dde5f7; }

/* ── Tablas ── */
.legal-table {
  width: 100%;
  margin-top: 18px;
  border-collapse: collapse;
  font-size: 13.5px;
  background: #fff;
  border: 1px solid #e5eaf3;
  border-radius: 11px;
  overflow: hidden;
}
.legal-table th, .legal-table td {
  padding: 12px 15px;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid #eef1f7;
  line-height: 1.65;
  color: #4d5a76;
}
.legal-table thead th {
  background: #f6f8fc;
  font-size: 10.5px;
  letter-spacing: .8px;
  text-transform: uppercase;
  color: #66708c;
  font-weight: 650;
}
.legal-table tbody th {
  width: 180px;
  font-weight: 650;
  color: #2b3a5e;
  background: #fafbfe;
}
.legal-table tr:last-child th, .legal-table tr:last-child td { border-bottom: 0; }

/* ── Piezas sueltas ── */
.legal-note {
  margin-top: 14px;
  padding: 13px 16px;
  background: #f4f9f6;
  border-left: 3px solid #4fae85;
  border-radius: 0 8px 8px 0;
  font-size: 13.5px;
}
.legal-nolist { list-style: none; padding-left: 0; }
.legal-nolist li {
  position: relative;
  padding-left: 27px;
}
.legal-nolist li::before {
  content: '\2715';
  position: absolute;
  left: 4px;
  top: 1px;
  color: #c4576f;
  font-size: 12px;
  font-weight: 700;
}
.legal-quote {
  margin: 20px 0 0;
  padding: 22px 26px;
  background: #fff;
  border: 1px solid #d7e0f7;
  border-left: 4px solid var(--blue);
  border-radius: 0 12px 12px 0;
}
.legal-quote p + p { margin-top: 14px; padding-top: 14px; border-top: 1px dashed #e2e8f5; color: #5f6c88; }
.legal-contact { font-size: 17px !important; font-weight: 650; }
.legal-validity {
  margin-top: 44px;
  padding: 18px 22px;
  background: #fafbfe;
  border: 1px solid #e9edf5;
  border-radius: 12px;
  font-size: 13px !important;
}
.legal-back { margin-top: 34px; font-size: 14px; }

@media (max-width: 900px) {
  .legal-container { width: calc(100% - 64px); }
  .legal-toc ol { columns: 1; }
  .legal-highlight { padding-inline: 20px; }
}

@media (max-width: 650px) {
  .legal { padding: 30px 0 54px; }
  .legal-container { width: calc(100% - 40px); }
  .legal-head h1 { letter-spacing: -1.1px; }
  .legal-lead { font-size: 15px; }
  .legal-toc { padding: 20px 22px; }
  .legal section { padding-top: 32px; }
  .legal section h2 { font-size: 20px; }
  .legal p, .legal li { font-size: 14px; }
  .legal-highlight { padding-inline: 16px; border-radius: 12px; }

  /* Las tablas se vuelven fichas apiladas: en móvil una tabla de 3 columnas
     obliga a scroll horizontal y se vuelve ilegible. */
  .legal-table, .legal-table tbody, .legal-table tr, .legal-table td, .legal-table th { display: block; width: auto; }
  .legal-table thead { display: none; }
  .legal-table tr { border-bottom: 1px solid #eef1f7; padding: 6px 0; }
  .legal-table tr:last-child { border-bottom: 0; }
  .legal-table th, .legal-table td { border-bottom: 0; padding: 6px 14px; }
  .legal-table tbody th { width: auto; background: transparent; }
}
