/* ============================================================
   Neurya · animations.css
   Restaura las animaciones que el kit React hacía por estado
   (hover, cambios de tab) y que el snapshot estático perdió.
   Las `transition` ya vienen inline en el marcado; aquí solo
   RE-DISPARAMOS el estado hover con :hover (con !important para
   ganarle al estilo inline congelado). Los hooks (.r-btn, .r-card,
   .r-ind…) los coloca el convertidor.
   ============================================================ */

@keyframes nk-fade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes nk-fadein { from { opacity: 0; } to { opacity: 1; } }
@keyframes nk-pop { from { opacity: 0; transform: translateY(10px) scale(0.98); } to { opacity: 1; transform: none; } }

@media (prefers-reduced-motion: no-preference) {

  /* Botones: elevar + glow al pasar el cursor */
  .r-btn { transition: transform .2s cubic-bezier(0.22,0.61,0.36,1), box-shadow .2s cubic-bezier(0.22,0.61,0.36,1), background .2s, color .2s; }
  .r-btn:hover { transform: translateY(-1px) !important; box-shadow: var(--shadow-glow) !important; }
  .r-btn:active { transform: translateY(0) scale(0.985) !important; }

  /* Tarjetas interactivas: elevar + borde cyan + sombra */
  .r-card:hover {
    transform: translateY(-3px) !important;
    border-color: rgba(84,200,245,0.5) !important;
    box-shadow: var(--shadow-glow) !important;
  }

  /* Círculos de industria (Home / índice): zoom de imagen + overlay + halo */
  .r-ind { cursor: pointer; }
  .r-ind:hover .r-ind-img { box-shadow: var(--shadow-lg), 0 0 0 4px rgba(84,200,245,0.18) !important; }
  .r-ind:hover img { transform: scale(1.08) !important; }
  .r-ind:hover .r-ind-ov { opacity: 1 !important; }

  /* Paneles de tab (arco / WorkMap): fundido al aparecer */
  [data-tabpanel]:not([hidden]) { animation: nk-fade .35s cubic-bezier(0.22,0.61,0.36,1); }

  /* Respuestas de FAQ: fundido al abrir */
  [data-accordion-panel]:not([hidden]) { animation: nk-fadein .3s ease; }

  /* Enlaces de texto: transición de color suave (por si falta inline) */
  a { transition: color .2s ease; }
}

/* ---- Toggle de idioma ES/EN (el resaltado lo mueve site.js con data-active) ---- */
[data-lang] { transition: background .15s, color .15s; }
[data-lang][data-active="true"] { background: var(--cyan) !important; color: var(--navy-base) !important; }
[data-lang][data-active="false"] { background: transparent !important; color: var(--text-muted) !important; }

/* ---- Filtros (Casos) ---- */
[data-filter] { transition: all .18s ease; }
[data-filter][data-active="true"] { border-color: var(--azul-acero) !important; background: rgba(33,83,130,0.10) !important; color: var(--azul-acero) !important; }
[data-filter][data-active="false"] { border-color: var(--linea) !important; background: transparent !important; color: var(--tinta-2) !important; }
[data-filter-item][hidden] { display: none !important; }

/* ---- Arco / WorkMap: nodos progresivos ---- */
[data-wm-node] > span:first-child { transition: all .25s var(--ease-standard); }
[data-wm-node][data-reached="true"] > span:first-child { background: #1D9E63 !important; color: #fff !important; border-color: #1D9E63 !important; }
[data-wm-node][data-current="true"] > span:first-child { box-shadow: 0 0 0 4px rgba(29,158,99,0.22) !important; }
[data-wm-node][data-reached="true"] > span:last-child { color: #1D9E63 !important; }
[data-wm-line] { transition: width .35s var(--ease-standard); }

/* ---- Ítem de nav activo (partial compartido; lo marca site.js por URL) ---- */
a.nk-navlink[data-nav-active] { color: #fff !important; opacity: 1 !important; font-weight: 600 !important; }
a.nk-navlink[data-nav-active] .nk-navunderline { transform: scaleX(1) !important; transform-origin: left !important; }

/* ---- Botón submit del formulario de Contacto (variante onLight del kit) ---- */
[data-contacto-submit] { transition: background .2s var(--ease-standard), transform .2s var(--ease-standard), box-shadow .2s var(--ease-standard); }
[data-contacto-submit]:hover:not([disabled]) { background: var(--azul-acero) !important; }
[data-contacto-submit][disabled] { cursor: not-allowed !important; opacity: 0.55 !important; }

/* ---- Modales ---- */
[data-modal][hidden] { display: none !important; }
[data-modal] { animation: nk-fadein .2s ease; }
[data-modal] > * { animation: nk-pop .28s cubic-bezier(0.22,0.61,0.36,1); }
