/* IngSoft V80.99.6 · Corrección global de recuadros de títulos
   Regla visual solicitada: línea roja + texto negro sobre fondo blanco,
   aplicada transversalmente a Observatorio, Laboratorio y toda la plataforma. */
:root{
  --v8099-badge-bg:#ffffff;
  --v8099-badge-text:#0A4F7A;
  --v8099-badge-border:#39B7EA;
  --v8099-badge-red:#E41E2B;
  --v8099-badge-shadow:0 10px 26px rgba(0,64,128,.14), inset 0 0 0 1px rgba(255,255,255,.86);
}

/* Recuadros / cintillos de título globales */
main .eyebrow,
main .v91-eyebrow,
main .v92-eyebrow,
main .v93-eyebrow,
main .section-eyebrow,
main .section-kicker,
main .section-label,
main .module-kicker,
main .module-label,
main .panel-kicker,
main .panel-label,
main .card-kicker,
main .card-label,
main .lab-kicker,
main .obs-kicker,
main .dataset-tag,
main .schema-badge,
main .preview-topline,
main .tagline-pill,
main .badge-title,
main [class*="eyebrow"],
main [class*="kicker"],
main [class*="section-label"],
main [class*="title-label"]{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:.72rem !important;
  width:fit-content !important;
  max-width:min(100%, 760px) !important;
  min-height:34px !important;
  padding:.44rem 1.08rem !important;
  margin:0 0 1.05rem 0 !important;
  border:2px solid var(--v8099-badge-border) !important;
  border-radius:999px !important;
  background:var(--v8099-badge-bg) !important;
  background-image:none !important;
  color:var(--v8099-badge-text) !important;
  font-family:inherit !important;
  font-size:clamp(.72rem, .86vw, .88rem) !important;
  line-height:1.15 !important;
  font-weight:900 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  text-shadow:none !important;
  box-shadow:var(--v8099-badge-shadow) !important;
  opacity:1 !important;
  filter:none !important;
  transform:none !important;
  overflow:visible !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:anywhere !important;
  -webkit-text-fill-color:var(--v8099-badge-text) !important;
}

/* Línea roja inicial, homogénea en todos los recuadros */
main .eyebrow::before,
main .v91-eyebrow::before,
main .v92-eyebrow::before,
main .v93-eyebrow::before,
main .section-eyebrow::before,
main .section-kicker::before,
main .section-label::before,
main .module-kicker::before,
main .module-label::before,
main .panel-kicker::before,
main .panel-label::before,
main .card-kicker::before,
main .card-label::before,
main .lab-kicker::before,
main .obs-kicker::before,
main .dataset-tag::before,
main .schema-badge::before,
main .preview-topline::before,
main .tagline-pill::before,
main .badge-title::before,
main [class*="eyebrow"]::before,
main [class*="kicker"]::before,
main [class*="section-label"]::before,
main [class*="title-label"]::before{
  content:"" !important;
  display:inline-block !important;
  flex:0 0 36px !important;
  width:36px !important;
  height:4px !important;
  border-radius:999px !important;
  background:var(--v8099-badge-red) !important;
  box-shadow:none !important;
}

/* Si el HTML ya traía un span vacío como rayita, se normaliza para evitar duplicaciones raras. */
main .eyebrow > span:first-child,
main .section-kicker > span:first-child,
main .section-label > span:first-child,
main .badge-title > span:first-child,
main .pub-lab-kicker > span:first-child,
main [class*="kicker"] > span:first-child:empty{
  display:none !important;
  content:none !important;
  width:0 !important;
  height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

/* Texto interno de los recuadros: siempre negro y sin opacidad reducida. */
main .eyebrow *,
main .v91-eyebrow *,
main .v92-eyebrow *,
main .v93-eyebrow *,
main .section-eyebrow *,
main .section-kicker *,
main .section-label *,
main .module-kicker *,
main .module-label *,
main .panel-kicker *,
main .panel-label *,
main .card-kicker *,
main .card-label *,
main .lab-kicker *,
main .obs-kicker *,
main .dataset-tag *,
main .schema-badge *,
main .preview-topline *,
main .tagline-pill *,
main .badge-title *{
  color:var(--v8099-badge-text) !important;
  -webkit-text-fill-color:var(--v8099-badge-text) !important;
  opacity:1 !important;
  text-shadow:none !important;
}

/* Evitar que los recuadros se peguen al borde lateral en héroes y secciones. */
main .hero .eyebrow,
main .hero .v91-eyebrow,
main .section .eyebrow,
main .section .v91-eyebrow,
main .section .v92-eyebrow{
  margin-left:0 !important;
  margin-right:auto !important;
}

/* Excepciones: controles, botones y selector de idiomas no deben adoptar apariencia de recuadro de título. */
.v8099-langbar,
.v8099-langbar *,
.langbar,
.langbar *,
nav *,
button,
button *,
.btn,
.btn *,
.v91-btn,
.v91-btn *,
.v8099-main-nav,
.v8099-main-nav *,
.site-header *,
.header *,
.topbar *,
[data-i18n-select],
[data-i18n-select] *{
  -webkit-text-fill-color:initial;
}

/* Corrección específica para recuadros de título sobre fondos claros u oscuros. */
.section-light .eyebrow,
.section-light .v91-eyebrow,
.section-light .v92-eyebrow,
.section-dark .eyebrow,
.section-dark .v91-eyebrow,
.section-dark .v92-eyebrow,
.observatorio-hero .eyebrow,
.dataset-hub-hero .eyebrow,
.publicaciones-page .eyebrow,
.citation-page .eyebrow,
.contact-page .eyebrow{
  background:#fff !important;
  color:#0A4F7A !important;
  -webkit-text-fill-color:#0A4F7A !important;
  border-color:#39B7EA !important;
}

@media (max-width: 900px){
  main .eyebrow,
  main .v91-eyebrow,
  main .v92-eyebrow,
  main [class*="eyebrow"],
  main [class*="kicker"],
  main [class*="section-label"],
  main [class*="title-label"]{
    max-width:100% !important;
    font-size:.68rem !important;
    letter-spacing:.12em !important;
    padding:.4rem .88rem !important;
    gap:.55rem !important;
  }
  main .eyebrow::before,
  main .v91-eyebrow::before,
  main .v92-eyebrow::before,
  main [class*="eyebrow"]::before,
  main [class*="kicker"]::before,
  main [class*="section-label"]::before,
  main [class*="title-label"]::before{
    flex-basis:28px !important;
    width:28px !important;
  }
}


/* V84.29 · Contrato raíz definitivo de cintillos: una sola raya roja y celeste oscuro legible.
   Se corrige en el componente base, no mediante override local por página. */
:root{
  --v8099-badge-text:#0A4F7A;
  --v8099-badge-border:#39B7EA;
  --v8099-badge-red:#E41E2B;
}

/* Un solo indicador rojo por cintillo: si el HTML incluye una línea interna decorativa, se elimina. */
main :is(.eyebrow,.v91-eyebrow,.v92-eyebrow,.v93-eyebrow,.eyebrow-inline,.preview-topline,.kicker,.quality-kicker,.ecosystem-kicker,.report-kicker,.section-eyebrow,.section-kicker,.module-kicker,.panel-kicker,.card-kicker,.lab-kicker,.obs-kicker,.badge-title,.tagline-pill,.lab84-kicker,.lab84-badge,.schema-badge,.resource-badge) > :is(.line,.red-line,.badge-line,.eyebrow-line,.kicker-line,.title-line,.decor-line,[aria-hidden="true"]),
main :is(.eyebrow,.v91-eyebrow,.v92-eyebrow,.v93-eyebrow,.eyebrow-inline,.preview-topline,.kicker,.quality-kicker,.ecosystem-kicker,.report-kicker,.section-eyebrow,.section-kicker,.module-kicker,.panel-kicker,.card-kicker,.lab-kicker,.obs-kicker,.badge-title,.tagline-pill,.lab84-kicker,.lab84-badge,.schema-badge,.resource-badge) > span:first-child:empty{
  display:none !important;
  width:0 !important;
  min-width:0 !important;
  height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

/* Cintillos de título: texto celeste-azul fuerte, visible sobre el fondo blanco institucional. */
main :is(.eyebrow,.v91-eyebrow,.v92-eyebrow,.v93-eyebrow,.eyebrow-inline,.preview-topline,.kicker,.quality-kicker,.ecosystem-kicker,.report-kicker,.section-eyebrow,.section-kicker,.module-kicker,.panel-kicker,.card-kicker,.lab-kicker,.obs-kicker,.badge-title,.tagline-pill,.lab84-kicker,.lab84-badge,.schema-badge,.resource-badge){
  color:#0A4F7A !important;
  -webkit-text-fill-color:#0A4F7A !important;
  border-color:#39B7EA !important;
  background:#FFFFFF !important;
  text-shadow:none !important;
  opacity:1 !important;
}
main :is(.eyebrow,.v91-eyebrow,.v92-eyebrow,.v93-eyebrow,.eyebrow-inline,.preview-topline,.kicker,.quality-kicker,.ecosystem-kicker,.report-kicker,.section-eyebrow,.section-kicker,.module-kicker,.panel-kicker,.card-kicker,.lab-kicker,.obs-kicker,.badge-title,.tagline-pill,.lab84-kicker,.lab84-badge,.schema-badge,.resource-badge)::before{
  content:"" !important;
  display:inline-block !important;
  flex:0 0 42px !important;
  width:42px !important;
  max-width:42px !important;
  height:5px !important;
  border-radius:999px !important;
  background:#E41E2B !important;
  background-color:#E41E2B !important;
  box-shadow:none !important;
  border:0 !important;
  opacity:1 !important;
}
main :is(.eyebrow,.v91-eyebrow,.v92-eyebrow,.v93-eyebrow,.eyebrow-inline,.preview-topline,.kicker,.quality-kicker,.ecosystem-kicker,.report-kicker,.section-eyebrow,.section-kicker,.module-kicker,.panel-kicker,.card-kicker,.lab-kicker,.obs-kicker,.badge-title,.tagline-pill,.lab84-kicker,.lab84-badge,.schema-badge,.resource-badge) *{
  color:#0A4F7A !important;
  -webkit-text-fill-color:#0A4F7A !important;
  text-shadow:none !important;
  opacity:1 !important;
}


/* V84.32 · Publicaciones: pub-lab-kicker queda integrado al sistema raíz de cintillos, sin doble raya. */
main .pub-lab-kicker{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:.72rem !important;
  background:#FFFFFF !important;
  border:2px solid #39B7EA !important;
  color:#0A4F7A !important;
  -webkit-text-fill-color:#0A4F7A !important;
  text-shadow:none !important;
  opacity:1 !important;
}
main .pub-lab-kicker::before{
  content:"" !important;
  display:inline-block !important;
  flex:0 0 42px !important;
  width:42px !important;
  max-width:42px !important;
  height:5px !important;
  border-radius:999px !important;
  background:#E41E2B !important;
  background-color:#E41E2B !important;
  box-shadow:none !important;
  border:0 !important;
  opacity:1 !important;
}
main .pub-lab-kicker > span:first-child,
main .pub-lab-kicker > .line,
main .pub-lab-kicker > .red-line,
main .pub-lab-kicker > [aria-hidden="true"]{
  display:none !important;
  content:none !important;
  width:0 !important;
  height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
