/* ============================================================
   legal.css - Estilos para paginas legales (politica de datos,
   habeas data, terminos, etica) y otras paginas de contenido
   plano (nosotros, calendario tributario).
   Carga DESPUES de main.css para sobrescribir cuando aplica.
   ============================================================ */

.page-legal,
.page-info {
  background: #fafbfd;
}

.legal-page {
  padding: 4rem 0 5rem;
}

.legal-article {
  max-width: 880px;
  background: #fff;
  padding: 3.5rem clamp(1.5rem, 4vw, 4rem);
  border-radius: 14px;
  box-shadow: 0 8px 40px rgba(20, 30, 80, .08);
  font-family: 'Inter', sans-serif;
  color: #2a2a3a;
  line-height: 1.65;
}

.legal-article__head {
  text-align: center;
  border-bottom: 2px solid #f0f1f6;
  padding-bottom: 2rem;
  margin-bottom: 2.5rem;
}

.legal-article__head .eyebrow {
  display: inline-block;
  font-size: .75rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--c-orange, #ff6b00);
  font-weight: 700;
  margin-bottom: .75rem;
}

.legal-article__head h1 {
  font-family: 'Fraunces', serif;
  font-size: clamp(1.8rem, 3.4vw, 2.5rem);
  color: var(--c-navy, #001A77);
  margin: 0 0 1rem;
  line-height: 1.2;
  font-weight: 500;
}

.legal-article__org {
  font-size: 1rem;
  color: #555;
  font-weight: 600;
  margin: .25rem 0;
}

.legal-article__updated {
  font-size: .85rem;
  color: #888;
  margin: 0;
  font-style: italic;
}

.legal-section {
  margin-bottom: 2.25rem;
}

.legal-section h2 {
  font-family: 'Fraunces', serif;
  font-size: 1.35rem;
  color: var(--c-navy, #001A77);
  margin: 2rem 0 1rem;
  padding-bottom: .5rem;
  border-bottom: 1px solid #eef0f7;
  font-weight: 500;
}

.legal-section h3 {
  font-size: 1.05rem;
  color: var(--c-navy, #001A77);
  margin: 1.5rem 0 .75rem;
  font-weight: 700;
}

.legal-section p {
  margin: 0 0 1rem;
  text-align: justify;
}

.legal-list {
  margin: .5rem 0 1.25rem;
  padding-left: 1.5rem;
}

.legal-list li {
  margin-bottom: .65rem;
}

.legal-list li strong {
  color: var(--c-navy, #001A77);
}

.legal-article__foot {
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 2px solid #f0f1f6;
  text-align: center;
}

.legal-article__foot > p {
  font-size: .85rem;
  color: #888;
  font-style: italic;
  margin-bottom: 1.5rem;
}

/* ----- Bloque descargas ----- */

.legal-downloads {
  margin-top: 2rem;
  padding: 1.75rem;
  background: #f6f8fc;
  border-radius: 10px;
  border: 1px solid #e5e9f2;
}

.legal-downloads__label {
  font-size: .9rem;
  color: var(--c-navy, #001A77);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  margin: 0 0 1rem !important;
  text-align: center;
}

.legal-downloads__actions {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}

.legal-downloads__actions .btn {
  min-width: 180px;
}

.legal-downloads__hint {
  font-size: .78rem !important;
  color: #777 !important;
  text-align: center !important;
  margin: 0 !important;
  font-style: italic;
}

.legal-downloads__hint em {
  color: var(--c-navy, #001A77);
  font-style: normal;
  font-weight: 600;
}

/* ============================================================
   Print styles - el PDF generado por el navegador queda limpio
   ============================================================ */
@media print {
  .site-header,
  .site-footer,
  .whatsapp-float,
  .legal-downloads,
  .lang-toggle,
  .menu-toggle,
  .header-actions,
  #cyf-chatbot {
    display: none !important;
  }

  body, .page-legal {
    background: #fff !important;
    color: #000 !important;
  }

  .legal-page {
    padding: 0 !important;
  }

  .legal-article {
    box-shadow: none !important;
    padding: 0 !important;
    max-width: 100% !important;
  }

  .legal-article__head h1 {
    font-size: 1.6rem !important;
  }

  .legal-section h2 {
    font-size: 1.1rem !important;
    page-break-after: avoid;
  }

  .legal-list li {
    page-break-inside: avoid;
  }

  a {
    color: #000 !important;
    text-decoration: none !important;
  }

  a[href^="mailto:"]::after {
    content: " (" attr(href) ")";
    font-size: .85em;
  }
}

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width: 700px) {
  .legal-page { padding: 2rem 0 3rem; }
  .legal-article { padding: 2rem 1.25rem; }
  .legal-section p { text-align: left; }
}
