/* IngSoft V80.99.7 · Sistema visual modular global
   Componente normalizado: cintillo de título / section title badge.
   Regla única: línea roja + texto negro/azul marino + fondo blanco.
   Esta capa debe cargarse SIEMPRE al final de todos los CSS. */
:root{
  --ingsoft-title-badge-bg:#ffffff;
  --ingsoft-title-badge-text:#0A4F7A;
  --ingsoft-title-badge-border:#39B7EA;
  --ingsoft-title-badge-red:#E41E2B;
  --ingsoft-title-badge-shadow:0 10px 26px rgba(2,10,22,.12), inset 0 0 0 1px rgba(255,255,255,.95);
  --ingsoft-title-badge-radius:999px;
}

/* Objeto global: cintillo de título. Alto nivel de especificidad para neutralizar capas anteriores. */
html body.v8099-worldclass 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),
html body 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),
html body [data-ingsoft-component="section-title-badge"]{
  box-sizing:border-box !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:.82rem !important;
  width:fit-content !important;
  max-width:min(100%, 780px) !important;
  min-height:34px !important;
  margin:0 0 1.05rem 0 !important;
  padding:.46rem 1.16rem !important;
  border:2px solid var(--ingsoft-title-badge-border) !important;
  border-radius:var(--ingsoft-title-badge-radius) !important;
  background:#ffffff !important;
  background-color:#ffffff !important;
  background-image:none !important;
  color:var(--ingsoft-title-badge-text) !important;
  -webkit-text-fill-color:var(--ingsoft-title-badge-text) !important;
  text-shadow:none !important;
  filter:none !important;
  opacity:1 !important;
  mix-blend-mode:normal !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  box-shadow:var(--ingsoft-title-badge-shadow) !important;
  font-family:inherit !important;
  font-size:clamp(.74rem,.82vw,.90rem) !important;
  line-height:1.15 !important;
  font-weight:950 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:anywhere !important;
  overflow:visible !important;
  transform:none !important;
  isolation:isolate !important;
  z-index:2 !important;
}

/* Línea roja obligatoria a la izquierda. */
html body.v8099-worldclass 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)::before,
html body 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)::before,
html body [data-ingsoft-component="section-title-badge"]::before{
  content:"" !important;
  display:inline-block !important;
  flex:0 0 42px !important;
  width:42px !important;
  max-width:42px !important;
  height:4px !important;
  border-radius:999px !important;
  background:var(--ingsoft-title-badge-red) !important;
  background-color:var(--ingsoft-title-badge-red) !important;
  background-image:none !important;
  box-shadow:none !important;
  opacity:1 !important;
  filter:none !important;
}

/* Cualquier texto interno del cintillo: siempre oscuro y legible. */
html body.v8099-worldclass 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) *,
html body 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) *,
html body [data-ingsoft-component="section-title-badge"] *{
  color:var(--ingsoft-title-badge-text) !important;
  -webkit-text-fill-color:var(--ingsoft-title-badge-text) !important;
  background:transparent !important;
  text-shadow:none !important;
  filter:none !important;
  opacity:1 !important;
  mix-blend-mode:normal !important;
}

/* Neutralizar reglas globales anteriores que afectaban spans y labels dentro de badges. */
html body.v8099-worldclass main :is(.section-light,.section-dark,.v91-hero,.v91-feature,.panel,.card,.contact-card,.observatory-main-panel,.citation-page,.publicaciones-page,.dataset-hub-hero) :is(.eyebrow,.v91-eyebrow,.v92-eyebrow,.v93-eyebrow,.eyebrow-inline,.preview-topline,.kicker,.quality-kicker,.ecosystem-kicker,.report-kicker),
html body.v8099-worldclass main :is(.section-light,.section-dark,.v91-hero,.v91-feature,.panel,.card,.contact-card,.observatory-main-panel,.citation-page,.publicaciones-page,.dataset-hub-hero) :is(.eyebrow,.v91-eyebrow,.v92-eyebrow,.v93-eyebrow,.eyebrow-inline,.preview-topline,.kicker,.quality-kicker,.ecosystem-kicker,.report-kicker) *{
  color:var(--ingsoft-title-badge-text) !important;
  -webkit-text-fill-color:var(--ingsoft-title-badge-text) !important;
  opacity:1 !important;
  text-shadow:none !important;
  filter:none !important;
}

/* Evitar que botones, selectores, navegación y formularios sean tratados como cintillos. */
html body :is(.v8099-langbar,.v8099-main-nav,.nav,.site-header,.v8099-global-header,button,.btn,.v91-btn,select,input,textarea,label:not(.question-label)){
  mix-blend-mode:normal;
}

/* Variantes compactas en móvil sin perder legibilidad. */
@media (max-width: 900px){
  html body.v8099-worldclass 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),
  html body [data-ingsoft-component="section-title-badge"]{
    max-width:100% !important;
    min-height:32px !important;
    padding:.40rem .88rem !important;
    gap:.58rem !important;
    font-size:.68rem !important;
    letter-spacing:.12em !important;
  }
  html body.v8099-worldclass 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)::before,
  html body [data-ingsoft-component="section-title-badge"]::before{
    flex-basis:30px !important;
    width:30px !important;
    max-width:30px !important;
  }
}


/* V84.29 · Cintillos limpios: sin doble raya roja y con celeste fuerte legible. */
:root{
  --ingsoft-title-badge-text:#0A4F7A;
  --ingsoft-title-badge-border:#39B7EA;
  --ingsoft-title-badge-red:#E41E2B;
}
html body 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"]),
html body 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;
  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;
}
html body 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;
  box-shadow:0 12px 32px rgba(7,24,50,.10), inset 0 0 0 1px rgba(255,255,255,.95) !important;
}
html body 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;
}
html body 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;
  opacity:1 !important;
  text-shadow:none !important;
}
