/* === TRANSPARENCIA SECTION === */
.transparencia-section {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding-right: 20px;
}

/* === TITULO Y SUBTITULO === */
.transparencia-title {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  font-weight: 700 !important;
  color: #111827 !important;
  font-size: 16px;
  margin: 0 0 4px 0;
}

.transparencia-title a,
.transparencia-title a:visited { color: #111827 !important; text-decoration: none; }
.transparencia-title a:hover { color: #16983b !important; }

.transparencia-subtitle {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  font-size: 13px;
  color: #6b7280;
  margin: 0;
}

/* === HERO CARD === */
.transp-card.transp-hero {
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 20px 24px;
  margin: 0 0 12px 0;
  max-width: 100%;
  box-sizing: border-box;
  text-align: center;
}

.transp-hero-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 18px;
  font-weight: 700;
  color: #111827;
  text-decoration: none;
}
.transp-hero-link:visited,
.transp-hero-link:focus,
.transp-hero-link:active { color: #111827; }
.transp-hero-link:hover { color: #16983b; }
.transp-hero-link:focus-visible { outline: 2px solid #6c757d; }

.transp-hero-link .bi { font-size: 1.3em; color: #1a5c3a; }

.transp-note { font-size: 13px; color: #374151; margin: 8px 0 4px; }

/* === GRID DE CARDS === */
.transparencia-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.transparencia-grid.cols-2 {
  grid-template-columns: repeat(2, 1fr);
}

/* === CARD INDIVIDUAL === */
.transp-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 8px;
  padding: 16px 12px;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  text-decoration: none;
  color: #111827;
  font-size: 13px;
  font-weight: 600;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s;
  box-sizing: border-box;
  min-height: 90px;
}

.transp-card:visited { color: #111827; }
.transp-card:hover {
  background: #f3f4f6;
  border-color: #c4c9d2;
  box-shadow: 0 2px 6px rgba(16,24,40,0.08);
  color: #16983b;
  text-decoration: none;
}
.transp-card:active { transform: translateY(1px); }
.transp-card:focus-visible { outline: 2px solid #6c757d; outline-offset: 2px; }

.transp-card .bi {
  font-size: 1.5rem;
  color: #1a5c3a;
}

.transp-card small {
  font-weight: 400;
  font-size: 11px;
  color: #6b7280;
}

/* === BOTONES ARTICULOS === */
.articulos-btns { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0 12px; justify-content: center; }
.art-btn,
.art-btn:visited {
  background: #ffffff;
  color: #111827;
  text-decoration: none;
  border-radius: 8px;
  border: 1px solid #d0d5dd;
  padding: 8px 12px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  box-shadow: 0 1px 1px rgba(16,24,40,.05);
  transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .05s ease;
}
.art-btn:hover {
  color: #16983b;
  background: #f3f4f6;
  border-color: #c4c9d2;
  box-shadow: 0 1px 3px rgba(16,24,40,.08);
}
.art-btn:active { transform: translateY(1px); }
.art-btn:focus-visible { outline: 2px solid #6c757d; outline-offset: 2px; }
.art-btn .bi { font-size: 1rem; }

/* Enforce link color inside the hero card */
.transp-card.transp-hero a,
.transp-card.transp-hero a:visited,
.transp-card.transp-hero a:focus,
.transp-card.transp-hero a:active { color: #111827; }
.transp-card.transp-hero a:hover { color: #16983b; }

/* === LINKS LIST === */
.links-list {
  list-style: none !important;
  padding-left: 0;
  padding-right: 20px;
  margin: 1rem 0;
  max-width: 100%;
  width: 100%;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  font-weight: 600 !important;
  color: #111827 !important;
  box-sizing: border-box;
}
.links-list li { margin: 6px 0; display: flex; align-items: flex-start; gap: 8px; }
.links-list li::before { content: "\1F517"; color: #198754; line-height: 1.2; font-size: 0.95em; transition: color .2s ease; }
.links-list a,
.links-list a.link-item { color: inherit !important; text-decoration: none; }
.links-list a:hover,
.links-list a.link-item:hover { color: #16983b !important; text-decoration: underline; }
.links-list .muted { font-weight: 500; color: #6b7280; font-size: .9em; }
.links-list li:hover::before { color: #16983b !important; }

/* === TITULO GENERAL === */
.titulo {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  font-weight: 700 !important;
  color: #111827 !important;
  letter-spacing: 0.2px;
}

/* === INFO BLOCK (DIV VERSION) === */
.info-block {
  width: 100%;
  max-width: 100%;
  margin: 16px 0;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background: #ffffff;
  color: #111827;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  text-align: left;
  overflow: hidden;
  box-sizing: border-box;
}
.info-block .info-row { display: flex; align-items: flex-start; }
.info-block .info-row + .info-row { border-top: 1px solid #e5e7eb; }
.info-block .info-row:nth-child(even) { background: #f2f8f5; }
.info-block .label { flex: 0 0 200px; padding: 12px 16px; font-weight: 600; color: #374151; }
.info-block .value { flex: 1 1 auto; padding: 12px 16px; }
.info-block .label, .info-block .value { white-space: normal; overflow-wrap: break-word; word-break: normal; hyphens: none; }
.info-block a, .info-block a:visited { color: #111827; text-decoration: none; }
.info-block a:hover { color: #16983b; text-decoration: underline; }

/* === TABLE bordepunteado === */
#txt.bordepunteado {
  width: 100%;
  max-width: 100%;
  margin: 16px 0;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  border-collapse: separate;
  border-spacing: 0;
  background: #ffffff;
  box-shadow: 0 1px 1px rgba(16,24,40,.05);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  color: #111827;
  text-align: left;
  overflow: hidden;
  box-sizing: border-box;
}
#txt.bordepunteado tr:first-child td { border-top: 0; }
#txt.bordepunteado td {
  padding: 12px 16px;
  border-top: 1px solid #e5e7eb;
  vertical-align: top;
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: none;
}
#txt.bordepunteado td, #txt.bordepunteado th { text-align: left; }
#txt.bordepunteado tr:nth-child(even) td { background: #f2f8f5; }
#txt.bordepunteado tr:nth-child(odd) td { background: #ffffff; }
#txt.bordepunteado td:first-child { font-weight: 600; color: #374151; }
#txt.bordepunteado tr:first-child td:first-child { border-top-left-radius: 12px; }
#txt.bordepunteado tr:first-child td:last-child { border-top-right-radius: 12px; }
#txt.bordepunteado tr:last-child td:first-child { border-bottom-left-radius: 12px; }
#txt.bordepunteado tr:last-child td:last-child { border-bottom-right-radius: 12px; }
#txt.bordepunteado a,
#txt.bordepunteado a:visited { color: #111827; text-decoration: none; }
#txt.bordepunteado a:hover { color: #16983b; text-decoration: underline; }

/* Override global visited red for #txt container */
#txt a,
#txt a:visited,
#txt a:focus,
#txt a:active { color: #111827 !important; text-decoration: none; }

/* Ensure no box-shadow on tbody/rows/cells */
#txt.bordepunteado tbody,
#txt.bordepunteado tr,
#txt.bordepunteado td { box-shadow: none !important; background-clip: padding-box; }

/* === TABLE bordepunteado.modern === */
.bordepunteado.modern {
  width: 100%;
  max-width: 100%;
  margin: 16px 0;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  border-collapse: separate !important;
  border-spacing: 0;
  background: #ffffff;
  box-shadow: 0 1px 1px rgba(16,24,40,.05);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  color: #111827;
  text-align: left;
  table-layout: fixed;
  overflow: hidden;
  box-sizing: border-box;
}
.bordepunteado.modern tr:first-child td { border-top: 0; font-weight: 700; color: #111827; }
.bordepunteado.modern td {
  padding: 12px 16px;
  border-top: 1px solid #e5e7eb;
  vertical-align: top;
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: none;
}
#txt.bordepunteado td:last-child,
.bordepunteado.modern td:last-child { padding-right: 16px !important; }
.bordepunteado.modern tr:nth-child(even) td { background: #f2f8f5; }
.bordepunteado.modern tr:nth-child(odd) td { background: #ffffff; }
.bordepunteado.modern td:first-child { font-weight: 600; color: #374151; }
.bordepunteado.modern tr:first-child td:first-child { border-top-left-radius: 12px; }
.bordepunteado.modern tr:first-child td:last-child { border-top-right-radius: 12px; }
.bordepunteado.modern tr:last-child td:first-child { border-bottom-left-radius: 12px; }
.bordepunteado.modern tr:last-child td:last-child { border-bottom-right-radius: 12px; }
.bordepunteado.modern th:nth-child(1),
.bordepunteado.modern td:nth-child(1) { width: 25% !important; }
.bordepunteado.modern th:nth-child(2),
.bordepunteado.modern td:nth-child(2) { width: 25% !important; }
.bordepunteado.modern th:nth-child(3),
.bordepunteado.modern td:nth-child(3) { width: 25% !important; }
.bordepunteado.modern th:nth-child(4),
.bordepunteado.modern td:nth-child(4) { width: 25% !important; }
.bordepunteado.modern a,
.bordepunteado.modern a:visited { color: #111827; text-decoration: none; }
.bordepunteado.modern a:hover { color: #16983b; text-decoration: underline; }
.bordepunteado.modern td .bi { color: #198754; margin-right: 6px; vertical-align: text-top; }
.bordepunteado.modern td .contact-item { display: flex; align-items: flex-start; gap: 6px; margin-top: 6px; }
.bordepunteado.modern td .contact-item:first-child { margin-top: 0; }
.bordepunteado.modern td .contact-item .bi { margin-right: 0; }

.bordepunteado.modern tbody,
.bordepunteado.modern tr,
.bordepunteado.modern td { box-shadow: none !important; background-clip: padding-box; }

/* === UTILITIES === */
.align-501 { max-width: 100%; width: 100%; margin: 0; padding-right: 20px; box-sizing: border-box; }
.text-sans { font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important; }

/* PNT CTA */
.pnt-cta { text-align: center; margin: 12px 0; }
.pnt-cta .pnt-link { display: inline-block; }
.pnt-cta img { display: block; max-width: 100%; height: auto; }

/* #txt-table standalone */
#txt-table {
  padding-top: 10px;
  padding-right: 10px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  color: #666666;
  text-align: justify;
}

/* === DOCUMENT LIST === */
.doc-list {
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  overflow: hidden;
  margin: 1rem 20px 1rem 0;
  background: #fff;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  box-sizing: border-box;
}

.doc-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  text-decoration: none;
  color: #1f2937;
  font-size: 14px;
  font-weight: 500;
  transition: background-color 0.15s;
  border-bottom: 1px solid #f3f4f6;
}

.doc-item:last-child {
  border-bottom: none;
}

.doc-item:visited {
  color: #1f2937;
}

.doc-item:hover {
  background: #f0fdf4;
  color: #1a5c3a;
  text-decoration: none;
}

.doc-item > .bi:first-child {
  font-size: 1.1rem;
  color: #1a5c3a;
  flex-shrink: 0;
  width: 20px;
  text-align: center;
}

.doc-item > span {
  flex: 1;
  line-height: 1.4;
}

.doc-arrow {
  font-size: 0.75rem;
  color: #9ca3af;
  flex-shrink: 0;
  transition: color 0.15s, transform 0.15s;
}

.doc-item:hover .doc-arrow {
  color: #1a5c3a;
  transform: translateX(2px);
}

.doc-badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 600;
  background: #fef3c7;
  color: #92400e;
  padding: 1px 8px;
  border-radius: 10px;
  margin-left: 6px;
  vertical-align: middle;
}

/* === TITULAR CARD === */
.titular-card {
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  overflow: hidden;
  margin: 16px 20px 16px 0;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  box-sizing: border-box;
}

.titular-card-header {
  background: linear-gradient(135deg, #1a5c3a 0%, #0d3d26 100%);
  color: #fff;
  padding: 16px 20px;
  display: flex;
  align-items: center;
  gap: 14px;
}

.titular-card-header > .bi {
  font-size: 2rem;
  opacity: 0.85;
}

.titular-card-label {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  opacity: 0.8;
}

.titular-card-nombre {
  font-size: 18px;
  font-weight: 700;
  margin: 2px 0 0;
  color: #fff;
}

.titular-card-body {
  padding: 16px 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.titular-card-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  color: #374151;
  line-height: 1.4;
}

.titular-card-item .bi {
  color: #1a5c3a;
  flex-shrink: 0;
  margin-top: 2px;
  font-size: 15px;
}

.titular-card-item a,
.titular-card-item a:visited {
  color: #1a5c3a;
  font-weight: 600;
  text-decoration: none;
}

.titular-card-item a:hover {
  color: #16983b;
  text-decoration: underline;
}

/* === UNIDADES QUE GENERAN INFORMACION === */
.unidades-titulo {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #111827;
  margin: 2rem 20px 1rem 0;
  display: flex;
  align-items: center;
  gap: 8px;
}

.unidades-titulo .bi {
  color: #1a5c3a;
}

.unidades-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  width: 100%;
  padding-right: 20px;
  box-sizing: border-box;
}

.unidad-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 16px;
  box-sizing: border-box;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  transition: box-shadow 0.2s;
}

.unidad-card:hover {
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

.unidad-card h4 {
  font-size: 14px;
  font-weight: 700;
  color: #1a5c3a;
  margin: 0 0 8px 0;
  line-height: 1.3;
}

.unidad-card p {
  font-size: 13px;
  color: #374151;
  margin: 4px 0;
  display: flex;
  align-items: flex-start;
  gap: 6px;
  line-height: 1.4;
}

.unidad-card .unidad-titular {
  font-weight: 600;
  color: #111827;
  margin-bottom: 8px;
}

.unidad-card .bi {
  color: #1a5c3a;
  flex-shrink: 0;
  margin-top: 2px;
  font-size: 13px;
}

.unidad-card a,
.unidad-card a:visited {
  color: #111827;
  text-decoration: none;
}

.unidad-card a:hover {
  color: #16983b;
  text-decoration: underline;
}

/* === RESPONSIVE === */
@media (max-width: 768px) {
  .transparencia-grid,
  .transparencia-grid.cols-2 {
    grid-template-columns: 1fr;
  }

  .transp-card {
    min-height: auto;
    padding: 14px 12px;
  }

  .transp-card.transp-hero {
    padding: 16px;
  }

  .info-block .info-row {
    flex-direction: column;
  }

  .info-block .label {
    flex: none;
    width: 100%;
    padding-bottom: 2px;
  }

  .info-block .value {
    padding-top: 2px;
  }

  .transparencia-section,
  .links-list,
  .unidades-grid,
  .align-501 {
    padding-right: 0;
  }

  .doc-list,
  .titular-card {
    margin-right: 0;
  }

  .unidades-titulo {
    margin-right: 0;
  }

  .unidades-grid {
    grid-template-columns: 1fr;
  }

  .bordepunteado.modern {
    display: block;
    overflow-x: auto;
  }

  .bordepunteado.modern th,
  .bordepunteado.modern td {
    width: auto !important;
    min-width: 120px;
  }
}
