.transp-hero-link,
.transp-hero-link:visited,
.transp-hero-link:focus,
.transp-hero-link:active { color: #111827; }
.transp-hero-link:focus-visible { outline: 2px solid #6c757d; }

.transp-card.transp-hero { max-width: 487px; margin-left: 15px; }

/* Botones vistosos para artículos */
.articulos-btns { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0 12px; }
.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 2px rgba(16,24,40,.06);
  transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .05s ease;
}
.art-btn:hover { color: #16983b; }
.art-btn:hover {
  background: #f3f4f6;
  border-color: #c4c9d2;
  box-shadow: 0 2px 6px 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; }

/* Hover color for links */
.transp-card.transp-hero a:hover { color: #16983b; }
.transp-hero-link:hover { color: #16983b; }

/* Styled list with link icon bullets */
.links-list {
  list-style: none !important;
  padding-left: 0;
  margin: 0;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif !important;
  font-weight: 600 !important;
  color: #111827 !important;
}
.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; }

/* Hover state for list icon */
.links-list li:hover::before { color: #16983b !important; }

/* Heading/title styling aligned with new theme */
.titulo {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif !important;
  font-weight: 700 !important;
  color: #111827 !important;
  letter-spacing: 0.2px;
}

/* Contact/Info table aligned with new visual identity */
#txt.bordepunteado {
  width: 100%;
  max-width: 501px;
  margin: 16px auto;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  border-collapse: separate;
  border-spacing: 0;
  background: #ffffff;
  box-shadow: 0 1px 2px rgba(16,24,40,.06);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
  color: #111827;
  text-align: left;
  overflow: hidden; /* ensure rounded corners clip row backgrounds */
}
#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; }

/* Generic modern table style (same identity as #txt) */
.bordepunteado.modern {
  width: 100%;
  max-width: 501px;
  margin: 16px auto;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  border-collapse: separate !important;
  border-spacing: 0;
  background: #ffffff;
  box-shadow: 0 1px 2px rgba(16,24,40,.06);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
  color: #111827;
  text-align: left;
  table-layout: fixed;
  overflow: hidden; /* clip zebra backgrounds to rounded corners */
}
.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;
}
/* Ensure right padding is preserved, even if overridden elsewhere */
#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: 33.3333% !important; }
.bordepunteado.modern th:nth-child(2),
.bordepunteado.modern td:nth-child(2) { width: 33.3333% !important; }
.bordepunteado.modern th:nth-child(3),
.bordepunteado.modern td:nth-child(3) { width: 33.3333% !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; }
/* Spacing and layout for contact items */
.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; }

/* Subtle shadow tuning */
.art-btn { box-shadow: 0 1px 1px rgba(16,24,40,.05) !important; }
.art-btn:hover { box-shadow: 0 1px 3px rgba(16,24,40,.08) !important; }
#txt.bordepunteado { box-shadow: 0 1px 1px rgba(16,24,40,.05) !important; }
.bordepunteado.modern { box-shadow: 0 1px 1px rgba(16,24,40,.05) !important; }

/* Width constraint for the links list */
.links-list { max-width: 501px; width: 100%; margin: 0 auto; }

/* 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 in styled tables */
#txt.bordepunteado tbody,
#txt.bordepunteado tr,
#txt.bordepunteado td { box-shadow: none !important; background-clip: padding-box; }
.bordepunteado.modern tbody,
.bordepunteado.modern tr,
.bordepunteado.modern td { box-shadow: none !important; background-clip: padding-box; }
/* Utility to align blocks with 501px tables */
.align-501 { max-width: 501px; width: 100%; margin: 0 auto; }

/* Typography utility: Sans Serif stack */
.text-sans { font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif !important; }

/* PNT call-to-action image block */
.pnt-cta { text-align: center; margin: 12px auto; }
.pnt-cta .pnt-link { display: inline-block; }
.pnt-cta img { display: block; max-width: 100%; height: auto; }
/* Standalone styling for #txt-table (requested) */
#txt-table {
  padding-top: 10px;
  padding-right: 10px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  color: #666666;
  text-align: justify;
}
/* Div/section version of #txt (info-block) preserving styles */
.info-block { width: 100%; max-width: 501px; margin: 16px auto; border: 1px solid #e5e7eb; background: #ffffff; color: #111827; font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif; text-align: left; }
.info-block .info-row { display: flex; align-items: flex-start; }
.info-block .info-row + .info-row { border-top: 1px solid #e5e7eb; }
.info-block .label { flex: 0 0 205px; 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; }
