/* ==========================================
   Documento legal (templates/template-full-width-legal-document.php)
   Formato tipo PDF: título centrado, secciones numeradas,
   sublistas a) b) c), tablas con borde y pie de vigencia.
   Mobile first.
   ========================================== */

/* Header 2 (hybrid) es transparente en mobile/tablet: sin banner debajo quedaría
   blanco sobre blanco. Mismo criterio que errors.css (404). */
@media (max-width: 1023px) {
  body.layout-legal-document .pd-header--hybrid {
    background-color: var(--pd-primary-500, #0047ba);
  }
}

.pd-legal-doc {
  background-color: var(--pd-neutral-000, #fff);
  color: var(--pd-neutral-1000, #020202);
  padding-block: var(--pd-spacing-8, 2rem) var(--pd-spacing-16, 4rem);
}

.pd-legal-doc__container {
  box-sizing: border-box;
  margin: 0 auto;
  max-width: 1080px;
  padding-inline: var(--pd-spacing-4, 1rem);
  width: 100%;
}

.pd-legal-doc__title {
  font-family: var(--pd-font-secondary, "Montserrat", sans-serif);
  font-size: var(--pd-font-size-lg, 1.25rem);
  font-weight: var(--pd-font-weight-bold, 700);
  line-height: 1.35;
  margin: 0 0 var(--pd-spacing-6, 1.5rem);
  text-align: center;
}

.pd-legal-doc__content {
  font-family: var(--pd-font-secondary, "Montserrat", sans-serif);
  font-size: var(--pd-font-size-sm, 0.875rem);
  line-height: 1.6;
  overflow-wrap: break-word;
}

.pd-legal-doc__content > :first-child {
  margin-top: 0;
}

.pd-legal-doc__content > :last-child {
  margin-bottom: 0;
}

.pd-legal-doc__content p {
  margin: 0 0 var(--pd-spacing-4, 1rem);
}

.pd-legal-doc__content strong,
.pd-legal-doc__content b {
  font-weight: var(--pd-font-weight-bold, 700);
}

.pd-legal-doc__content a {
  color: var(--pd-primary-500, #0047ba);
  text-decoration: underline;
}

.pd-legal-doc__content a:hover,
.pd-legal-doc__content a:focus-visible {
  color: var(--pd-primary-700, #002b70);
}

/* ---------- Listas ---------- */
.pd-legal-doc__content ol,
.pd-legal-doc__content ul {
  margin: 0 0 var(--pd-spacing-4, 1rem);
  padding-left: 1.5rem;
}

.pd-legal-doc__content ol {
  list-style: decimal;
}

.pd-legal-doc__content ul {
  list-style: disc;
}

/* Secciones numeradas 1., 2., 3. */
.pd-legal-doc__content ol.pd-legal-doc__sections > li {
  margin-bottom: var(--pd-spacing-5, 1.25rem);
  padding-left: 0.25rem;
}

.pd-legal-doc__content ol.pd-legal-doc__sections > li:last-child {
  margin-bottom: 0;
}

/* Viñetas dentro de una sección (p. ej. Marco Normativo) */
.pd-legal-doc__content li > ul {
  margin: var(--pd-spacing-2, 0.5rem) 0 0;
}

.pd-legal-doc__content li > ul > li + li {
  margin-top: 0.125rem;
}

/* Grupos sin viñeta (Finalidad Necesaria / Finalidad Opcional) */
.pd-legal-doc__content ul.pd-legal-doc__groups {
  list-style: none;
  margin-top: var(--pd-spacing-4, 1rem);
  padding-left: 0;
}

.pd-legal-doc__content ul.pd-legal-doc__groups > li + li {
  margin-top: var(--pd-spacing-2, 0.5rem);
}

/* Sublistas a) b) c): contador propio (::marker con content no funciona en Safari) */
.pd-legal-doc__content ol[type="a"],
.pd-legal-doc__content ol.pd-legal-doc__alpha {
  counter-reset: pd-legal-alpha;
  list-style: none;
  margin: 0.125rem 0 0;
  padding-left: 2rem;
}

.pd-legal-doc__content ol[type="a"] > li,
.pd-legal-doc__content ol.pd-legal-doc__alpha > li {
  counter-increment: pd-legal-alpha;
  position: relative;
}

.pd-legal-doc__content ol[type="a"] > li::before,
.pd-legal-doc__content ol.pd-legal-doc__alpha > li::before {
  content: counter(pd-legal-alpha, lower-alpha) ")";
  left: -2rem;
  position: absolute;
}

/* Párrafo de subpunto fuera de la lista: "a) Para finalidad necesaria: ..." */
.pd-legal-doc__content p.pd-legal-doc__sub {
  margin: 0 0 var(--pd-spacing-3, 0.75rem);
  padding-left: 1.75rem;
}

/* ---------- Tablas ---------- */
.pd-legal-doc__content figure.wp-block-table {
  -webkit-overflow-scrolling: touch;
  margin: 0 0 var(--pd-spacing-6, 1.5rem);
  overflow-x: auto;
}

.pd-legal-doc__content table,
.pd-legal-doc__content .wp-block-table table.has-fixed-layout {
  border-collapse: collapse;
  font-size: var(--pd-font-size-xs, 0.75rem);
  line-height: 1.45;
  min-width: 640px;
  table-layout: fixed;
  width: 100%;
}

.pd-legal-doc__content th,
.pd-legal-doc__content td {
  border: 1px solid var(--pd-neutral-1000, #020202);
  padding: 0.625rem 0.75rem;
  text-align: left;
  vertical-align: top;
}

.pd-legal-doc__content .wp-block-table thead {
  border-bottom: 0;
}

.pd-legal-doc__content thead th,
.pd-legal-doc__content thead td {
  font-weight: var(--pd-font-weight-medium, 500);
  text-align: center;
  vertical-align: middle;
}

.pd-legal-doc__content table th:nth-child(1),
.pd-legal-doc__content table td:nth-child(1) {
  width: 22%;
}

.pd-legal-doc__content table th:nth-child(2),
.pd-legal-doc__content table td:nth-child(2) {
  width: 22%;
}

.pd-legal-doc__content table th:nth-child(3),
.pd-legal-doc__content table td:nth-child(3) {
  text-align: center;
  width: 11%;
}

/* ---------- Pie: vigencia / versión ---------- */
.pd-legal-doc__content p.pd-legal-doc__meta {
  font-style: italic;
  font-weight: var(--pd-font-weight-bold, 700);
  line-height: 1.7;
  margin-top: var(--pd-spacing-10, 2.5rem);
}

/* Tablet (≥ 768px) */
@media (min-width: 768px) {
  .pd-legal-doc {
    padding-block: var(--pd-spacing-10, 2.5rem) var(--pd-spacing-16, 4rem);
  }

  .pd-legal-doc__container {
    padding-inline: var(--pd-spacing-8, 2rem);
  }

  .pd-legal-doc__title {
    font-size: var(--pd-font-size-2xl, 1.5rem);
  }

  .pd-legal-doc__content {
    font-size: var(--pd-font-size-base, 1rem);
    text-align: justify;
  }

  .pd-legal-doc__content table {
    font-size: var(--pd-font-size-sm, 0.875rem);
  }

  .pd-legal-doc__content li > ul {
    padding-left: 4rem;
  }

  .pd-legal-doc__content figure.wp-block-table,
  .pd-legal-doc__content p.pd-legal-doc__sub,
  .pd-legal-doc__content p.pd-legal-doc__meta {
    margin-left: 1.75rem;
  }

  .pd-legal-doc__content figure.wp-block-table {
    margin-left: 3.75rem;
  }

  .pd-legal-doc__content p.pd-legal-doc__meta {
    margin-left: 3.75rem;
  }
}

/* Desktop (≥ 1024px) */
@media (min-width: 1024px) {
  .pd-legal-doc {
    padding-block: var(--pd-spacing-12, 3rem) var(--pd-spacing-16, 4rem);
  }

  .pd-legal-doc__title {
    font-size: var(--pd-font-size-5xl, 2rem);
    margin-bottom: var(--pd-spacing-8, 2rem);
  }
}
