/* ═══════════════════════════════════════════════════════════
   LÍNEAS DE INVESTIGACIÓN — components
   Bordes/colores por variante, fondos decorativos,
   estados hover + is-open y efectos neon por línea
═══════════════════════════════════════════════════════════ */

/* ── Bordes default por variante ─────────────────────────── */
.linea-row--i   { border: 1px solid rgba(88,  67,  158, 0.18); }
.linea-row--ii  { border: 1px solid rgba(92,  118, 185, 0.18); }
.linea-row--iii { border: 1px solid rgba(67,  141, 193, 0.18); }
.linea-row--iv  { border: 1px solid rgba(140, 33,  156, 0.18); }
.linea-row--v   { border: 1px solid rgba(220, 223, 226, 0.18); }

/* ── Color de numeral por variante ───────────────────────── */
.linea-row--i   .linea-row__numeral { color: rgba(88,  67,  158, 1); }
.linea-row--ii  .linea-row__numeral { color: rgba(92,  118, 185, 1); }
.linea-row--iii .linea-row__numeral { color: rgba(67,  141, 193, 1); }
.linea-row--iv  .linea-row__numeral { color: rgba(140, 33,  156, 1); }
.linea-row--v   .linea-row__numeral { color: rgba(220, 223, 226, 1); }

/* ── Fondos decorativos II–V ─────────────────────────────── */
.linea-row--ii .linea-row__bg {
  background: repeating-linear-gradient(
    90deg,
    rgba(92,118,185,0.22) 0px, rgba(92,118,185,0.22) 3px,
    transparent 3px, transparent 22px
  );
}
.linea-row--iii .linea-row__bg {
  background: repeating-linear-gradient(
    0deg,
    rgba(67,141,193,0.20) 0px, rgba(67,141,193,0.20) 1px,
    transparent 1px, transparent 18px
  );
}
.linea-row--iv .linea-row__bg {
  background-image: radial-gradient(circle, rgba(140,33,156,0.35) 1.5px, transparent 1.5px);
  background-size: 20px 20px;
}
.linea-row--v .linea-row__bg {
  background-image: radial-gradient(circle, rgba(220,223,226,0.28) 1px, transparent 1px);
  background-size: 13px 13px;
}

/* ── Estados hover + is-open (base compartida) ───────────── */
.linea-row:hover,
.linea-row.is-open { background: #0e0e0e; }

.linea-row:hover .linea-row__numeral,
.linea-row.is-open .linea-row__numeral { opacity: 1; }

.linea-row:hover .linea-row__name,
.linea-row.is-open .linea-row__name { color: #f0f0f0; }

.linea-row:hover .linea-row__cat,
.linea-row.is-open .linea-row__cat { color: rgba(255,255,255,0.72); }

.linea-row:hover .linea-row__btn,
.linea-row.is-open .linea-row__btn { color: rgba(255,255,255,0.85); }

/* ── Neon por variante — I: Púrpura/violeta ──────────────── */
.linea-row--i:hover, .linea-row--i.is-open {
  border-color: rgba(88,67,158,1);
  box-shadow: 0 0 8px rgba(88,67,158,0.80), 0 0 22px rgba(88,67,158,0.40), 0 0 50px rgba(88,67,158,0.15);
}
.linea-row--i:hover .linea-row__sep,
.linea-row--i.is-open .linea-row__sep {
  background: rgba(88,67,158,0.80);
  box-shadow: 0 0 12px rgba(107,82,188,0.70);
}
.linea-row--i:hover .linea-row__cat,
.linea-row--i.is-open .linea-row__cat { color: rgba(107,82,188,1); }

/* ── Neon por variante — II: Azul acero ──────────────────── */
.linea-row--ii:hover, .linea-row--ii.is-open {
  border-color: rgba(92,118,185,1);
  box-shadow: 0 0 8px rgba(92,118,185,0.80), 0 0 22px rgba(92,118,185,0.40), 0 0 50px rgba(92,118,185,0.15);
}
.linea-row--ii:hover .linea-row__sep,
.linea-row--ii.is-open .linea-row__sep {
  background: rgba(92,118,185,0.80);
  box-shadow: 0 0 12px rgba(92,118,185,0.70);
}
.linea-row--ii:hover .linea-row__cat,
.linea-row--ii.is-open .linea-row__cat { color: rgba(92,118,185,1); }

/* ── Neon por variante — III: Cyan-azul ──────────────────── */
.linea-row--iii:hover, .linea-row--iii.is-open {
  border-color: rgba(67,141,193,1);
  box-shadow: 0 0 8px rgba(67,141,193,0.80), 0 0 22px rgba(67,141,193,0.40), 0 0 50px rgba(67,141,193,0.15);
}
.linea-row--iii:hover .linea-row__sep,
.linea-row--iii.is-open .linea-row__sep {
  background: rgba(67,141,193,0.80);
  box-shadow: 0 0 12px rgba(67,141,193,0.70);
}
.linea-row--iii:hover .linea-row__cat,
.linea-row--iii.is-open .linea-row__cat { color: rgba(67,141,193,1); }

/* ── Neon por variante — IV: Magenta ─────────────────────── */
.linea-row--iv:hover, .linea-row--iv.is-open {
  border-color: rgba(140,33,156,1);
  box-shadow: 0 0 8px rgba(140,33,156,0.80), 0 0 22px rgba(140,33,156,0.40), 0 0 50px rgba(140,33,156,0.15);
}
.linea-row--iv:hover .linea-row__sep,
.linea-row--iv.is-open .linea-row__sep {
  background: rgba(140,33,156,0.80);
  box-shadow: 0 0 12px rgba(140,33,156,0.70);
}
.linea-row--iv:hover .linea-row__cat,
.linea-row--iv.is-open .linea-row__cat { color: rgba(140,33,156,1); }

/* ── Neon por variante — V: Blanco/gris ──────────────────── */
.linea-row--v:hover, .linea-row--v.is-open {
  border-color: rgba(220,223,226,1);
  box-shadow: 0 0 8px rgba(220,223,226,0.60), 0 0 22px rgba(220,223,226,0.25), 0 0 50px rgba(220,223,226,0.10);
}
.linea-row--v:hover .linea-row__sep,
.linea-row--v.is-open .linea-row__sep {
  background: rgba(220,223,226,0.70);
  box-shadow: 0 0 12px rgba(220,223,226,0.55);
}
.linea-row--v:hover .linea-row__cat,
.linea-row--v.is-open .linea-row__cat { color: rgba(220,223,226,1); }

/* ═══════════════════════════════════════════════════════════
   LÍNEAS DE TRABAJO — colores propios (rosa, ámbar, blanco)
═══════════════════════════════════════════════════════════ */

/* ── Bordes default ──────────────────────────────────────── */
.lineas__grid--trabajo .linea-row--i   { border-color: rgba(255, 0,   110, 0.18); }
.lineas__grid--trabajo .linea-row--ii  { border-color: rgba(245, 158,  11, 0.18); }
.lineas__grid--trabajo .linea-row--iii { border-color: rgba(220, 223, 226, 0.18); }

/* ── Color de numeral ────────────────────────────────────── */
.lineas__grid--trabajo .linea-row--i   .linea-row__numeral { color: #ff006e; }
.lineas__grid--trabajo .linea-row--ii  .linea-row__numeral { color: #f59e0b; }
.lineas__grid--trabajo .linea-row--iii .linea-row__numeral { color: #dcdfe2; }

/* ── Fondos decorativos ──────────────────────────────────── */
.lineas__grid--trabajo .linea-row--i .linea-row__bg {
  background-image: radial-gradient(circle, rgba(255,0,110,0.25) 1.5px, transparent 1.5px);
  background-size: 18px 18px;
}
.lineas__grid--trabajo .linea-row--ii .linea-row__bg {
  background: repeating-linear-gradient(
    45deg,
    rgba(245,158,11,0.18) 0px, rgba(245,158,11,0.18) 2px,
    transparent 2px, transparent 18px
  );
}
.lineas__grid--trabajo .linea-row--iii .linea-row__bg {
  background: repeating-linear-gradient(
    0deg,
    rgba(220,223,226,0.14) 0px, rgba(220,223,226,0.14) 1px,
    transparent 1px, transparent 18px
  );
}

/* ── Neon hover + is-open — I: Rosa ─────────────────────── */
.lineas__grid--trabajo .linea-row--i:hover,
.lineas__grid--trabajo .linea-row--i.is-open {
  border-color: #ff006e;
  box-shadow: 0 0 8px rgba(255,0,110,0.80), 0 0 22px rgba(255,0,110,0.40), 0 0 50px rgba(255,0,110,0.15);
}
.lineas__grid--trabajo .linea-row--i:hover .linea-row__sep,
.lineas__grid--trabajo .linea-row--i.is-open .linea-row__sep {
  background: rgba(255,0,110,0.80);
  box-shadow: 0 0 12px rgba(255,0,110,0.70);
}
.lineas__grid--trabajo .linea-row--i:hover .linea-row__cat,
.lineas__grid--trabajo .linea-row--i.is-open .linea-row__cat { color: #ff006e; }

/* ── Neon hover + is-open — II: Ámbar ───────────────────── */
.lineas__grid--trabajo .linea-row--ii:hover,
.lineas__grid--trabajo .linea-row--ii.is-open {
  border-color: #f59e0b;
  box-shadow: 0 0 8px rgba(245,158,11,0.80), 0 0 22px rgba(245,158,11,0.40), 0 0 50px rgba(245,158,11,0.15);
}
.lineas__grid--trabajo .linea-row--ii:hover .linea-row__sep,
.lineas__grid--trabajo .linea-row--ii.is-open .linea-row__sep {
  background: rgba(245,158,11,0.80);
  box-shadow: 0 0 12px rgba(245,158,11,0.70);
}
.lineas__grid--trabajo .linea-row--ii:hover .linea-row__cat,
.lineas__grid--trabajo .linea-row--ii.is-open .linea-row__cat { color: #f59e0b; }

/* ── Neon hover + is-open — III: Blanco ─────────────────── */
.lineas__grid--trabajo .linea-row--iii:hover,
.lineas__grid--trabajo .linea-row--iii.is-open {
  border-color: rgba(220,223,226,1);
  box-shadow: 0 0 8px rgba(220,223,226,0.60), 0 0 22px rgba(220,223,226,0.25), 0 0 50px rgba(220,223,226,0.10);
}
.lineas__grid--trabajo .linea-row--iii:hover .linea-row__sep,
.lineas__grid--trabajo .linea-row--iii.is-open .linea-row__sep {
  background: rgba(220,223,226,0.70);
  box-shadow: 0 0 12px rgba(220,223,226,0.55);
}
.lineas__grid--trabajo .linea-row--iii:hover .linea-row__cat,
.lineas__grid--trabajo .linea-row--iii.is-open .linea-row__cat { color: #dcdfe2; }
