<%

  const esPro = typeof vistaPro !== 'undefined' && vistaPro;
  const descat = fila.ciclo_vida && fila.ciclo_vida !== 'activo';
  // datos ya cargados por el router en locals: evidenciasVerificadas, alertasAfecta, ecosistema
  const ev = typeof evidenciasVerificadas !== 'undefined' ? evidenciasVerificadas : [];
  const alertas = typeof alertasAfecta !== 'undefined' ? alertasAfecta : [];
  const eco = typeof ecosistema !== 'undefined' ? ecosistema : {};
  const linaje = typeof linajeDeriva !== 'undefined' ? linajeDeriva : [];
%>

<% if (alertas.some(a => a.estado === 'abierta')) { %>
<%- include('../../partials/banner-alerta', { nivel: 'urgente', alertaTitulo: 'Alerta de seguridad activa',
   alertaTexto: 'Este modelo tiene al menos una alerta de seguridad abierta. Revisa el apartado de seguridad más abajo.', alertaUrl: '#seguridad' }) %>
<% } %>

<% if (descat) { %>
<%- include('../../partials/banner-alerta', { nivel: 'importante', alertaTitulo: 'Modelo no comercializado',
   alertaTexto: 'Este modelo ya no se comercializa. Mantenemos esta ficha para las personas que lo llevan implantado.', alertaUrl: '#seguridad' }) %>
<% } %>

<!-- B1 · Identidad y registro -->
<section class="u-mt-32" id="b1" aria-label="Identidad y registro">
  <h2>Identidad del sistema</h2>
  <%- include('../../partials/factbox', {
    factTitulo: 'Datos de registro',
    factItems: (function(){
      const items = [];
      if (fila.sistema) items.push({ k: 'Sistema / familia', v: fila.sistema });
      items.push({ k: 'Articulación', v: fila.articulacion });
      if (fila.indicacion) items.push({ k: 'Indicación', v: fila.indicacion });
      if (fila.clase_riesgo) items.push({ k: 'Clase de riesgo', v: 'Clase ' + fila.clase_riesgo });
      if (fila.anio_lanzamiento) items.push({ k: 'Año de lanzamiento', v: fila.anio_lanzamiento });
      items.push({ k: 'Estado', v: fila.ciclo_vida || 'activo' });
      if (esPro && fila.udi_di) items.push({ k: 'UDI-DI', v: fila.udi_di });
      if (esPro && fila.emdn) items.push({ k: 'EMDN', v: fila.emdn });
      return items;
    })()
  }) %>
  <% if (!esPro && (fila.udi_di || fila.emdn)) { %>
  <p class="u-texto-suave" style="font-size:13.5px">Los códigos técnicos de registro (UDI-DI, EMDN) se muestran en la <a href="<%= rutaActual %>?vista=pro">vista profesional</a>.</p>
  <% } %>

  <% if (linaje.length) { %>
  <h3 class="u-mt-16">Generaciones anteriores de este sistema</h3>
  <ul>
    <% linaje.forEach(function(g){ %>
      <li><% if (g.url) { %><a href="<%= g.url %>"><%= g.nombre %></a><% } else { %><%= g.nombre %><% } %></li>
    <% }) %>
  </ul>
  <% } %>
</section>

<!-- B2 · Clasificación técnica -->
<section class="u-mt-32" id="b2" aria-label="Clasificación técnica">
  <h2>Clasificación técnica</h2>
  <div class="tabla-envoltorio">
  <table class="tabla-datos">
    <caption>Características del implante</caption>
    <tbody>
      <% if (fila.fijacion && fila.fijacion !== 'na') { const f = L.FIJACION[fila.fijacion] || [fila.fijacion, '']; %>
      <tr><th scope="row">Fijación</th><td><strong><%= f[0] %></strong><% if (!esPro && f[1]) { %> — <span class="u-texto-suave"><%= f[1] %></span><% } %></td></tr>
      <% } %>
      <% if (fila.par_friccion) { %><tr><th scope="row">Par de fricción</th><td><%= fila.par_friccion %></td></tr><% } %>
      <% if (fila.constriccion) { %><tr><th scope="row">Constricción</th><td><%= fila.constriccion %></td></tr><% } %>
      <% if (fila.materiales) { const mats = typeof fila.materiales === 'string' ? JSON.parse(fila.materiales) : fila.materiales; %>
      <tr><th scope="row">Materiales</th><td><%= Array.isArray(mats) ? mats.join(', ') : JSON.stringify(mats) %></td></tr>
      <% } %>
      <tr><th scope="row">Contenido de níquel</th><td><%= L.NIQUEL[fila.contiene_niquel] || L.NIQUEL.sin_datos %></td></tr>
    </tbody>
  </table>
  </div>
</section>

<!-- B3 · Evidencia (SOLO filas verificadas) -->
<section class="u-mt-32" id="b3" aria-label="Evidencia">
  <h2>¿Qué dicen los registros?</h2>
  <% if (ev.length) { %>
  <div class="tabla-envoltorio">
  <table class="tabla-datos">
    <caption>Evidencia verificada de este modelo</caption>
    <thead><tr><th scope="col">Fuente</th><th scope="col">Seguimiento</th><th scope="col">Métrica</th><th scope="col">Valor</th><th scope="col">Cohorte</th></tr></thead>
    <tbody>
      <% ev.forEach(function(e){ %>
      <tr>
        <td><% if (e.url) { %><a href="<%= e.url %>" rel="noopener"><%= e.fuente_nombre %></a><% } else { %><%= e.fuente_nombre %><% } %><% if (e.anio) { %> (<%= e.anio %>)<% } %></td>
        <td><%= e.seguimiento_anios ? e.seguimiento_anios + ' años' : '—' %></td>
        <td><%= e.metrica || '—' %></td>
        <td><%= e.valor || '—' %></td>
        <td><%= e.cohorte_n ? e.cohorte_n : '—' %></td>
      </tr>
      <% }) %>
      <tr class="tabla-datos__fuente"><td colspan="5">Solo se muestran evidencias con verificación editorial y fuente enlazada. <a href="/metodologia">Cómo verificamos los datos</a>.</td></tr>
    </tbody>
  </table>
  </div>
  <% } else { %>
  <div class="banner-alerta banner-alerta--informativa"><div>
    <strong>Evidencia en verificación</strong>
    Aún no hemos completado la verificación editorial de la evidencia de este modelo. Cuando lo hagamos,
    aquí aparecerán los datos de registros y estudios, siempre con su fuente. <a href="/metodologia">Nuestra metodología</a>.
  </div></div>
  <% } %>
</section>

<!-- B4 · Seguridad y vida real -->
<section class="u-mt-32" id="seguridad" aria-label="Seguridad y vida real">
  <h2>Seguridad y vida real</h2>

  <h3>Alertas de seguridad</h3>
  <% if (alertas.length) { %>
    <ul>
    <% alertas.forEach(function(a){ %>
      <li><span class="badge badge--<%= a.estado === 'abierta' ? 'descatalogado' : 'declarado' %>"><%= a.estado %></span>
        <% if (a.url) { %><a href="<%= a.url %>"><%= a.nombre %></a><% } else { %><%= a.nombre %><% } %>
        <% if (a.fecha_publicacion) { %><span class="u-texto-suave">(<%= new Date(a.fecha_publicacion).toISOString().slice(0,10) %>)</span><% } %></li>
    <% }) %>
    </ul>
  <% } else { %>
    <p class="u-texto-suave">Sin alertas de seguridad registradas para este modelo a día de hoy.</p>
  <% } %>

  <h3 class="u-mt-16">Resonancia magnética</h3>
  <% const rm = L.RM[fila.compat_rm]; %>
  <% if (rm) { %>
    <p><%= rm %>.<% if (fila.compat_rm_detalle) { %> <%= fila.compat_rm_detalle %><% } %></p>
  <% } else { %>
    <p class="u-texto-suave">No tenemos datos verificados sobre su comportamiento en resonancia. Consulta la tarjeta de tu implante o a tu centro de imagen antes de la prueba.</p>
  <% } %>

  <h3 class="u-mt-16">Aeropuertos y viajes</h3>
  <p>Los implantes metálicos pueden activar los arcos de seguridad. <% if (fila.aeropuerto_nota) { %><%= fila.aeropuerto_nota %> <% } %>Con TuPrótesis puedes generar un <a href="/mi-protesis/">certificado de viaje</a> para mostrarlo en el control.</p>

  <h3 class="u-mt-16">Dentista y profilaxis</h3>
  <p><%= L.DENTAL[fila.profilaxis_dental] || L.DENTAL.sin_datos %></p>
</section>

<!-- B5 · Ecosistema -->
<section class="u-mt-32" id="b5" aria-label="Ecosistema del producto">
  <h2>Ecosistema de este implante</h2>
  <div class="grid-cards u-mt-16">
    <div class="card">
      <h3 style="font-size:16px">Cirujanos que lo implantan</h3>
      <% if ((eco.cirujanos||[]).length) { %><ul style="margin:0;padding-left:18px">
        <% eco.cirujanos.forEach(function(c){ %><li><a href="<%= c.url %>"><%= c.nombre %></a><% if (c.provincia) { %> · <%= c.provincia %><% } %></li><% }) %>
      </ul><% } else { %><p class="u-texto-suave">Todavía sin cirujanos verificados en la ficha.</p><% } %>
    </div>
    <div class="card">
      <h3 style="font-size:16px">Coberturas de seguros</h3>
      <% if ((eco.polizas||[]).length) { %><ul style="margin:0;padding-left:18px">
        <% eco.polizas.forEach(function(p){ %><li><% if (p.url) { %><a href="<%= p.url %>"><%= p.nombre %></a><% } else { %><%= p.nombre %><% } %><% if (p.condiciones) { %> · <span class="u-texto-suave"><%= p.condiciones %></span><% } %></li><% }) %>
      </ul><% } else { %><p class="u-texto-suave">Sin coberturas verificadas por ahora.</p><% } %>
    </div>
    <div class="card">
      <h3 style="font-size:16px">Tecnologías compatibles</h3>
      <% if ((eco.tecnologias||[]).length) { %><ul style="margin:0;padding-left:18px">
        <% eco.tecnologias.forEach(function(t){ %><li><% if (t.url) { %><a href="<%= t.url %>"><%= t.nombre %></a><% } else { %><%= t.nombre %><% } %></li><% }) %>
      </ul><% } else { %><p class="u-texto-suave">Sin tecnologías asociadas en la ficha.</p><% } %>
    </div>
  </div>
</section>

<!-- B6 · Comercial (iglesia/Estado: SIEMPRE tras B3-B4, diferenciado) -->
<section class="u-mt-32" id="b6" aria-label="Información del fabricante"
  style="border:1px dashed var(--color-borde);border-radius:var(--radio);padding:18px;background:#fff">
  <p class="u-texto-suave" style="font-size:13px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px">Información del fabricante</p>
  <% if (typeof b6 !== 'undefined' && b6 && b6.reclamada) { %>
    <div class="prosa"><%- b6.html %></div>
    <% if (b6.permite_lead) { %><a class="btn btn--primario u-mt-16" href="/producto/<%= fila.slug %>/info">Solicitar información</a><% } %>
  <% } else { %>
    <h2 style="font-size:18px">Ficha sin reclamar</h2>
    <p>¿Representas a <%= (typeof fabricanteNombre !== 'undefined' && fabricanteNombre) ? fabricanteNombre : 'este fabricante' %>?
    Puedes reclamar esta ficha para añadir información comercial, documentación y recibir consultas.</p>
    <a class="btn btn--fantasma" href="/reclamar/producto/<%= fila.slug %>">Reclamar esta ficha</a>
  <% } %>
</section>
