/* IngSoft V82.0 — Worldclass Stability Baseline
   Arquitectura: capa final de estabilidad visual y accesibilidad.
   Propósito: consolidar contraste, legibilidad, foco, componentes críticos y no regresión.
   Alcance: estilos semánticos por página y componentes limpios creados en V81.x. */
:root{
  --v82-ink:#071832;
  --v82-ink-2:#17395a;
  --v82-ink-3:#254763;
  --v82-white:#ffffff;
  --v82-soft:#f4f9fd;
  --v82-soft-2:#eef6fc;
  --v82-dark:#06152a;
  --v82-dark-2:#0b2b55;
  --v82-blue:#0b73d9;
  --v82-cyan:#5cc9f4;
  --v82-cyan-soft:#dff3ff;
  --v82-border:#b9ddf4;
  --v82-red:#e41e2b;
  --v82-shadow:0 24px 70px rgba(6,21,42,.12);
}
html{scroll-behavior:smooth;}
body{background:#f4f9fd;color:var(--v82-ink);}
:focus-visible{outline:4px solid rgba(92,201,244,.7)!important;outline-offset:3px!important;border-radius:10px;}

/* Regla matriz V82: toda tarjeta clara debe usar tinta oscura real. */
:is(.section-light,.panel,.card--light,.publication,.dataset-card,.citation-card,.contact-info-card,.pub-criteria-card,.pub-lab-doi-content,.contact-clean-form-card input,.contact-clean-form-card textarea) :is(h1,h2,h3,h4,h5,h6,p,li,span,b,strong,em,small,label,dt,dd){
  text-shadow:none!important;
}
:is(.section-light,.panel,.card--light,.publication,.dataset-card,.citation-card,.pub-criteria-card,.pub-lab-doi-content,.contact-info-card) :is(h1,h2,h3,h4,h5,h6,b,strong,label,dt){
  color:var(--v82-ink)!important;
  -webkit-text-fill-color:var(--v82-ink)!important;
  opacity:1!important;
}
:is(.section-light,.panel,.card--light,.publication,.dataset-card,.citation-card,.pub-criteria-card,.pub-lab-doi-content,.contact-info-card) :is(p,li,span,small,dd,em){
  color:var(--v82-ink-2)!important;
  -webkit-text-fill-color:var(--v82-ink-2)!important;
  opacity:1!important;
}
:is(.section-light,.panel,.card--light,.publication,.dataset-card,.citation-card,.pub-criteria-card,.pub-lab-doi-content,.contact-info-card) a:not(.btn):not(.nav-link){
  color:var(--v82-blue)!important;
  -webkit-text-fill-color:var(--v82-blue)!important;
  font-weight:850!important;
}

/* Regla matriz V82: toda tarjeta oscura debe usar texto blanco/celeste legible. */
:is(.section-dark,.feature-band,.contact-clean-form-card,.contact-form-card,.mission-panel,.v93-panel) :is(h1,h2,h3,h4,h5,h6,b,strong,label,dt){
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  opacity:1!important;
  text-shadow:none!important;
}
:is(.section-dark,.feature-band,.contact-clean-form-card,.contact-form-card,.mission-panel,.v93-panel) :is(p,li,span,small,dd,em){
  color:#dff3ff!important;
  -webkit-text-fill-color:#dff3ff!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* Etiquetas tipo título: texto oscuro sobre cápsula blanca. */
:is(.eyebrow,.contact-kicker,.pub-lab-kicker,.methodology-pill,.schema-badge,.tag-title,.v82-badge){
  color:var(--v82-ink)!important;
  -webkit-text-fill-color:var(--v82-ink)!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* Página Publicaciones — componentes limpios V81.7/V81.8 conservados. */
body.page-publicaciones .pub-criteria-card,
body.page-publicaciones .pub-lab-doi-content{
  background:#ffffff!important;
  color:var(--v82-ink)!important;
  border:2px solid var(--v82-border)!important;
  box-shadow:var(--v82-shadow)!important;
}
body.page-publicaciones .pub-criteria-card *,
body.page-publicaciones .pub-lab-doi-content *{
  opacity:1!important;
  visibility:visible!important;
  filter:none!important;
  text-shadow:none!important;
}
body.page-publicaciones .pub-criteria-card :is(p,span,em,small),
body.page-publicaciones .pub-lab-doi-content :is(p,span,em,small){
  color:var(--v82-ink-2)!important;
  -webkit-text-fill-color:var(--v82-ink-2)!important;
}
body.page-publicaciones .pub-lab-doi-content a{
  color:var(--v82-blue)!important;
  -webkit-text-fill-color:var(--v82-blue)!important;
  text-decoration:underline!important;
  text-underline-offset:3px!important;
  overflow-wrap:anywhere!important;
}

/* Página Datos — recuadros inferiores de reproducibilidad. */
body.page-datasets .methodology-pill-row{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:14px!important;
  align-items:center!important;
}
body.page-datasets .methodology-pill{
  display:inline-flex!important;
  align-items:center!important;
  gap:1rem!important;
  min-height:54px!important;
  border-radius:999px!important;
  background:#ffffff!important;
  border:2px solid var(--v82-border)!important;
  color:var(--v82-ink)!important;
  -webkit-text-fill-color:var(--v82-ink)!important;
  font-weight:950!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
  padding:.85rem 1.45rem!important;
  box-shadow:0 12px 30px rgba(6,21,42,.10)!important;
}
body.page-datasets .methodology-pill::before{
  content:''!important;
  width:46px!important;
  height:6px!important;
  border-radius:999px!important;
  background:var(--v82-red)!important;
  flex:0 0 auto!important;
}
body.page-datasets .methodology-pill *{
  color:var(--v82-ink)!important;
  -webkit-text-fill-color:var(--v82-ink)!important;
}

/* Página Citar — salida y controles siempre legibles. */
body.page-citar :is(.citation-output,.citation-preview,.citation-result,.citation-card,.doi-card){
  background:#ffffff!important;
  color:var(--v82-ink)!important;
  border-color:var(--v82-border)!important;
}
body.page-citar :is(.citation-output,.citation-preview,.citation-result,.citation-card,.doi-card) *{
  color:var(--v82-ink)!important;
  -webkit-text-fill-color:var(--v82-ink)!important;
  opacity:1!important;
  text-shadow:none!important;
}
body.page-citar :is(select,input,textarea){
  background:#ffffff!important;
  color:var(--v82-ink)!important;
  -webkit-text-fill-color:var(--v82-ink)!important;
  border:2px solid var(--v82-border)!important;
}

/* Página Contacto — parte derecha y formulario definitivo. */
body.page-contacto .contact-clean-form-card,
body.page-contacto .contact-form-card{
  background:linear-gradient(180deg,#07172e 0%,#0b2b55 100%)!important;
  border:2px solid rgba(184,236,255,.56)!important;
  box-shadow:0 28px 76px rgba(6,21,42,.28)!important;
}
body.page-contacto .contact-clean-form-card :is(h1,h2,h3,label,b,strong),
body.page-contacto .contact-form-card :is(h1,h2,h3,label,b,strong){
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  opacity:1!important;
  text-shadow:none!important;
}
body.page-contacto .contact-clean-form-card :is(p,span,small),
body.page-contacto .contact-form-card :is(p,span,small){
  color:#dff3ff!important;
  -webkit-text-fill-color:#dff3ff!important;
  opacity:1!important;
  text-shadow:none!important;
}
body.page-contacto .contact-clean-form-card :is(input,textarea,select),
body.page-contacto .contact-form-card :is(input,textarea,select){
  background:#ffffff!important;
  color:var(--v82-ink)!important;
  -webkit-text-fill-color:var(--v82-ink)!important;
  border:2px solid #8bdbff!important;
  caret-color:var(--v82-ink)!important;
}
body.page-contacto .contact-clean-form-card :is(input,textarea)::placeholder,
body.page-contacto .contact-form-card :is(input,textarea)::placeholder{
  color:#5b7691!important;
  -webkit-text-fill-color:#5b7691!important;
  opacity:1!important;
}
body.page-contacto .ingsoft-contact-submit-clean,
body.page-contacto .contact-submit-btn{
  background:linear-gradient(135deg,#0b73d9,#38c6f3)!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  border:1px solid rgba(255,255,255,.34)!important;
  font-weight:950!important;
}

/* Laboratorio y Observatorio: solo protección de legibilidad, no motores. */
body.page-observatorio :is(.v93-science-card,.obs-card,.agent-card) *{text-shadow:none!important;}
body.page-laboratorio :is(.lab-card,.sim-card,.card) *{text-shadow:none!important;}

@media (max-width: 760px){
  :is(.eyebrow,.contact-kicker,.pub-lab-kicker,.methodology-pill){
    letter-spacing:.08em!important;
    padding:.75rem 1rem!important;
  }
  body.page-datasets .methodology-pill-row{gap:10px!important;}
  body.page-datasets .methodology-pill{width:100%!important;justify-content:flex-start!important;}
}


/* V84.30 · metodología-pill raíz: los chips de reproducibilidad son objetos claros independientes,
   no textos secundarios heredados de la sección oscura. */
body.page-datasets .methodology-pill-row[data-methodology-pill-row="reproducibilidad"]{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:14px!important;
  align-items:center!important;
}
body.page-datasets .methodology-pill-row[data-methodology-pill-row="reproducibilidad"] > .methodology-pill{
  display:inline-flex!important;
  align-items:center!important;
  gap:1rem!important;
  min-height:54px!important;
  border-radius:999px!important;
  background:#FFFFFF!important;
  border:2px solid #39B7EA!important;
  color:#0A4F7A!important;
  -webkit-text-fill-color:#0A4F7A!important;
  font-weight:950!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
  padding:.85rem 1.45rem!important;
  opacity:1!important;
  visibility:visible!important;
  text-shadow:none!important;
  box-shadow:0 12px 30px rgba(6,21,42,.10)!important;
}
body.page-datasets .methodology-pill-row[data-methodology-pill-row="reproducibilidad"] > .methodology-pill::before{
  content:''!important;
  display:inline-block!important;
  width:46px!important;
  height:6px!important;
  border-radius:999px!important;
  background:#E41E2B!important;
  flex:0 0 auto!important;
}
