<!DOCTYPE html>
<html lang="es">
<head>
<base href="/">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover">
<title>IA y cumplimiento normativo: comprar herramientas no es cumplir — EstratégicaMente</title>
<meta name="description" content="Comprar licencias de IA no es cumplir el Reglamento Europeo. Qué exige de verdad el EU AI Act y por qué la gobernanza no se compra en una tienda.">
<meta name="theme-color" content="#0A2540">
<link rel="stylesheet" href="assets/css/style.css?v=56">
<style>
  .article-loading { padding: 8rem 2rem; text-align: center; color: var(--meta); font-family: var(--sans); }
  .article-error { padding: 8rem 2rem; text-align: center; color: var(--ink); font-family: var(--serif); }

  /* DISEÑO EDITORIAL para el cuerpo del artículo (CMS) */
  .article-body {
    font-family: var(--serif);
    font-size: 1.125rem;
    line-height: 1.75;
    color: var(--ink);
    max-width: 720px;
    margin: 0 auto;
  }
  .article-body p:first-of-type {
    font-family: var(--display);
    font-size: 1.5rem;
    font-style: italic;
    color: var(--ink-soft);
    line-height: 1.4;
    margin-bottom: 2.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid var(--line);
  }
  .article-body p { margin-bottom: 1.25rem; }
  .article-body h2 {
    font-family: var(--display);
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 400;
    color: var(--navy);
    margin: 3rem 0 1.25rem;
    line-height: 1.15;
    letter-spacing: -0.01em;
  }
  .article-body h2::before {
    content: "◆";
    display: block;
    color: var(--gold);
    font-size: 0.7rem;
    margin-bottom: 0.75rem;
    letter-spacing: 0.5rem;
  }
  .article-body h3 {
    font-family: var(--display);
    font-size: 1.4rem;
    font-weight: 500;
    color: var(--navy);
    margin: 2.5rem 0 1rem;
    line-height: 1.2;
  }
  .article-body em, .article-body i { font-style: italic; color: var(--ink-soft); }
  .article-body strong, .article-body b { font-weight: 600; color: var(--navy); }
  .article-body u { text-decoration: underline; text-decoration-color: var(--gold); text-decoration-thickness: 2px; text-underline-offset: 4px; }
  .article-body s { color: var(--meta); }
  .article-body a {
    color: var(--gold);
    border-bottom: 1px solid currentColor;
    transition: opacity 0.2s;
  }
  .article-body a:hover { opacity: 0.7; }
  .article-body ul, .article-body ol {
    margin: 1.5rem 0 1.5rem 0;
    padding-left: 2rem;
  }
  .article-body ul li, .article-body ol li {
    margin-bottom: 0.75rem;
    padding-left: 0.5rem;
  }
  .article-body ul li::marker { color: var(--gold); }
  .article-body ol li::marker { color: var(--gold); font-weight: 600; }
  .article-body blockquote {
    border-left: 4px solid var(--gold);
    padding: 1.25rem 2rem;
    margin: 2.5rem 0;
    font-family: var(--display);
    font-style: italic;
    font-size: 1.35rem;
    line-height: 1.5;
    color: var(--navy);
    background: var(--paper);
  }
  .article-body img {
    max-width: 100%;
    height: auto;
    margin: 2rem auto;
    display: block;
    border-radius: 2px;
  }

  /* Alineaciones de Quill */
  .article-body .ql-align-center { text-align: center; }
  .article-body .ql-align-right { text-align: right; }
  .article-body .ql-align-justify { text-align: justify; }

  /* Imagen de portada */
  .article-image {
    margin: 2rem auto 3rem;
    max-width: 760px;
    aspect-ratio: 16/9;
    overflow: hidden;
    border-radius: 2px;
  }
  .article-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  /* ── Vídeo privacy-first + bloques de webinar (reutilizable en cualquier artículo) ── */
  .article-body .yt-facade{
    position:relative; width:100%; aspect-ratio:16/9; border-radius:8px; overflow:hidden;
    background:#0A2540 center/cover no-repeat; cursor:pointer; margin:2rem 0;
    border:1px solid var(--navy-line,#22405E); box-shadow:0 20px 50px -24px rgba(10,37,64,.55);
  }
  .article-body .yt-facade::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(10,37,64,.05),rgba(10,37,64,.45)); transition:background .3s; }
  .article-body .yt-facade:hover::after{ background:linear-gradient(180deg,rgba(10,37,64,.12),rgba(10,37,64,.55)); }
  .article-body .yt-facade iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
  .article-body .yt-play{
    position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); z-index:3; pointer-events:none;
    width:78px; height:78px; border-radius:50%; background:var(--gold); color:var(--navy);
    display:flex; align-items:center; justify-content:center; box-shadow:0 12px 30px -8px rgba(0,0,0,.45); transition:transform .25s;
  }
  .article-body .yt-facade:hover .yt-play{ transform:translate(-50%,-50%) scale(1.08); }
  .article-body .yt-facade:focus-visible{ outline:3px solid var(--gold); outline-offset:3px; }
  .article-body .yt-play svg{ width:30px; height:30px; margin-left:4px; }
  .article-body .yt-badge{
    position:absolute; top:1rem; left:1rem; z-index:3; display:inline-flex; align-items:center; gap:.5rem;
    background:rgba(10,37,64,.78); color:#fff; font-family:var(--sans); font-size:.7rem; font-weight:700;
    letter-spacing:.12em; text-transform:uppercase; padding:.4rem .8rem; border-radius:4px;
  }
  .article-body .yt-badge .dot{ width:8px; height:8px; border-radius:50%; background:var(--gold); }
  .article-body .chapters-list{ list-style:none; padding:0; margin:1.25rem 0; display:grid; gap:.5rem; }
  .article-body .chapters-list li{ display:flex; gap:1rem; align-items:baseline; padding:.8rem 1rem; border:1px solid var(--line); border-radius:6px; background:#fff; }
  .article-body .chapters-list .ts{ font-weight:700; color:var(--gold); min-width:2.2rem; }
  .article-body .speaker-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; margin:1.25rem 0; }
  .article-body .speaker-card{ border:1px solid var(--line); border-radius:8px; padding:1.5rem; background:var(--cream-soft,#F4F6F8); }
  .article-body .speaker-card h3{ font-family:var(--display); color:var(--navy); margin:0 0 .25rem; font-size:1.1rem; }
  .article-body .speaker-card .role{ font-family:var(--sans); font-size:.82rem; color:var(--gold); font-weight:700; margin-bottom:.6rem; }
  .article-body .speaker-card p{ font-size:.9rem; color:var(--ink-soft); line-height:1.6; margin:0; }
  .article-body .webinar-cta{ display:flex; flex-wrap:wrap; gap:.75rem; justify-content:center; margin:2rem 0; }
  @media (max-width:600px){ .article-body .speaker-grid{ grid-template-columns:1fr; } }

  @media print {
    nav.nav, footer.footer, .breadcrumb, .article-meta::before { display: none !important; }
    body { background: white; }
    .article-body { max-width: 100%; }
  }
</style>
<link rel="icon" type="image/svg+xml" href="assets/favicon/favicon.svg?v=3">
<link rel="icon" type="image/png" sizes="32x32" href="assets/favicon/favicon-32.png?v=3">
<link rel="icon" type="image/png" sizes="16x16" href="assets/favicon/favicon-16.png?v=3">
<link rel="apple-touch-icon" sizes="180x180" href="assets/favicon/apple-touch-icon.png?v=3">
<link rel="icon" type="image/x-icon" href="assets/favicon/favicon.ico?v=3">

<link rel="canonical" href="https://estrategicamente.info/blog/ia-y-cumplimiento-normativo-comprar-herramientas-no-es-cumplir">
<link rel="alternate" hreflang="es" href="https://estrategicamente.info/blog/ia-y-cumplimiento-normativo-comprar-herramientas-no-es-cumplir">
<link rel="alternate" hreflang="en" href="https://estrategicamente.info/blog/ia-y-cumplimiento-normativo-comprar-herramientas-no-es-cumplir">
<link rel="alternate" hreflang="x-default" href="https://estrategicamente.info/blog/ia-y-cumplimiento-normativo-comprar-herramientas-no-es-cumplir">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@interimmanager">
<meta property="og:image" content="https://i.ytimg.com/vi/GfC61rwpgiw/maxresdefault.jpg">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta name="twitter:image" content="https://i.ytimg.com/vi/GfC61rwpgiw/maxresdefault.jpg">
<meta property="og:site_name" content="EstratégicaMente">
<meta property="og:locale" content="es_ES">
<meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1">

<!-- Microsoft Clarity · heatmaps + session recordings -->
<script type="text/javascript">
  (function(c,l,a,r,i,t,y){
    c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
    t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
    y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
  })(window, document, "clarity", "script", "wqv1qcoy3k");
</script>
  <link rel="stylesheet" href="assets/css/accesibilidad.css">
    <link rel="stylesheet" href="assets/css/ai-governance.css">
  
<!-- ss-sigma-layer -->
<link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&display=swap" rel="stylesheet">
<link rel="stylesheet" href="assets/css/sigma.css?v=3">
<script type="application/ld+json">
{
 "@context": "https://schema.org",
 "@type": "WebPage",
 "@id": "https://estrategicamente.info/blog/ia-y-cumplimiento-normativo-comprar-herramientas-no-es-cumplir#webpage",
 "url": "https://estrategicamente.info/blog/ia-y-cumplimiento-normativo-comprar-herramientas-no-es-cumplir",
 "name": "IA y cumplimiento normativo: comprar herramientas no es cumplir — EstratégicaMente",
 "inLanguage": "es",
 "isPartOf": {
  "@id": "https://estrategicamente.info/#website"
 },
 "speakable": {
  "@type": "SpeakableSpecification",
  "cssSelector": [
   "h1",
   ".respuesta-directa"
  ]
 },
 "publisher": {
  "@id": "https://estrategicamente.info/#organization"
 }
}
</script>
<meta property="og:type" content="article"><meta property="og:title" content="IA y cumplimiento normativo: comprar herramientas no es cumplir"><meta property="og:url" content="https://estrategicamente.info/blog/ia-y-cumplimiento-normativo-comprar-herramientas-no-es-cumplir"><meta name="ssr" content="supabase"></head>
<body>

<nav class="nav" id="nav">
  <div class="nav-inner">
    <a class='nav-brand' href='/'><img src="assets/logos/estrategicamente-logo.svg" alt="EstratégicaMente"></a>
    <ul class="nav-menu" id="nav-menu">
      <li class="nav-dropdown">
        <button type="button" class="nav-dropdown-toggle" aria-haspopup="true"><span data-lang="es">Simplicity</span><span data-lang="en">Simplicity</span><span class="nav-caret" aria-hidden="true"></span></button>
        <ul class="nav-dropdown-menu">
        <li><a href='/asesoramiento'><span data-lang="es">Advisory</span><span data-lang="en">Advisory</span></a></li>
        <li><a href='/grants'><span data-lang="es">Grants</span><span data-lang="en">Grants</span></a></li>
        <li><a href='/grantify'><span data-lang="es">Grantify</span><span data-lang="en">Grantify</span></a></li>
        <li><a href='/processes'><span data-lang="es">Processes</span><span data-lang="en">Processes</span></a></li>
        <li><a href='/consilium'><span data-lang="es">Consilium</span><span data-lang="en">Consilium</span></a></li>
        <li><a href='/lab'><span data-lang="es">Lab</span><span data-lang="en">Lab</span></a></li>
        <li><a href='/criteria'><span data-lang="es">CriterIA©</span><span data-lang="en">CriterIA©</span></a></li>
        </ul>
      </li>
      <li><a href='/blog'><span data-lang="es">Blog</span><span data-lang="en">Blog</span></a></li>
      <li class="nav-dropdown">
        <button type="button" class="nav-dropdown-toggle" aria-haspopup="true"><span data-lang="es">Sobre nosotros</span><span data-lang="en">About</span><span class="nav-caret" aria-hidden="true"></span></button>
        <ul class="nav-dropdown-menu">
        <li><a href='/sobre'><span data-lang="es">Sobre nosotros</span><span data-lang="en">About us</span></a></li>
        <li><a href='/contacto'><span data-lang="es">Contacto</span><span data-lang="en">Contact</span></a></li>
        <li><a href='/recursos'><span data-lang="es">Recursos gratuitos</span><span data-lang="en">Free resources</span></a></li>
        </ul>
      </li>
    </ul>
    <div class="nav-right">
      <a class='btn-eu-ai-act' href='/recursos-eu-ai-act' title='Checklist gratuito EU AI Act'><span class="btn-eu-badge">GRATIS</span><span class="btn-eu-text" data-lang="es">EU AI Act</span><span class="btn-eu-text" data-lang="en">EU AI Act</span></a>
      <div class="lang-toggle"><button data-lang="es" class="active">ES</button><button data-lang="en">EN</button></div>
      
      <button class="nav-toggle" id="nav-toggle"><span></span><span></span><span></span></button>
    </div>
  </div>
</nav>

<article class="article-page" id="article-root"><div class="container-narrow"><div class="breadcrumb" style="margin-top:6rem;margin-bottom:1.5rem;"><a href="index.html">EstratégicaMente</a> <span class="sep">◆</span> <a href="blog.html">Blog</a></div><div class="article-meta" style="font-family:var(--sans);font-size:0.75rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold);margin-bottom:1.5rem;">26 jun 2026 · G. Taboada</div><h1 style="font-family:var(--display);font-size:clamp(2.25rem,5vw,4rem);font-weight:400;line-height:1.05;color:var(--navy);margin-bottom:2rem;max-width:760px;margin-left:auto;margin-right:auto;">IA y cumplimiento normativo: comprar herramientas no es cumplir</h1><div class="article-image" style="margin:2rem auto 3rem;max-width:760px;aspect-ratio:16/9;overflow:hidden;"><img src="https://i.ytimg.com/vi/GfC61rwpgiw/maxresdefault.jpg" alt="IA y cumplimiento normativo: comprar herramientas no es cumplir" style="width:100%;height:100%;object-fit:cover;"></div><div class="article-body">
<p>El 26 de junio participé, junto a <strong>Marianella Hernández</strong>, en un webinar organizado por <strong>Madrid Network</strong> y presentado por Gema Sanz. El título lo dice casi todo: <em>IA y cumplimiento normativo</em>. Pero la idea de fondo es más incómoda de lo que parece.</p>

<div class="yt-facade" data-yt="GfC61rwpgiw" data-start="0" data-title="IA y cumplimiento normativo — EstratégicaMente × Madrid Network" data-date="2026-06-26" tabindex="0" role="button" aria-label="Reproducir el webinar IA y cumplimiento normativo" style="background-image:url('https://i.ytimg.com/vi/GfC61rwpgiw/maxresdefault.jpg');">
  <span class="yt-badge"><span class="dot"></span>Vídeo · YouTube</span>
  <span class="yt-play" aria-hidden="true"><svg viewBox="0 0 24 24" fill="currentColor"><path d="M8 5v14l11-7z"></path></svg></span>
</div>
<p style="text-align:center; font-size:.85rem; color:var(--meta); margin-top:-.75rem;">Al pulsar play se carga el vídeo desde YouTube en modo sin cookies. Hasta entonces no se carga ningún elemento de Google.</p>

<p>La mayoría de las organizaciones cree que cumplir con el EU AI Act es cuestión de comprar la herramienta adecuada. No lo es. <strong>Adquirir tecnología de IA no garantiza ni el cumplimiento normativo ni una implantación segura.</strong> El Reglamento (UE) 2024/1689 no te pregunta qué software has contratado; te pregunta cómo lo gobiernas, quién lo supervisa y qué ocurre cuando se equivoca.</p>

<h2>Lo que se trató</h2>
<ul class="chapters-list">
  <li><span class="ts">01</span><span>Qué exige el EU AI Act y la nueva Ley española de IA — y a quién.</span></li>
  <li><span class="ts">02</span><span>Por qué la adopción sin gobernanza es un riesgo, no un atajo.</span></li>
  <li><span class="ts">03</span><span>Cómo pymes, universidades y administraciones pueden adaptarse y acceder a financiación europea.</span></li>
  <li><span class="ts">04</span><span>Casos reales de implantación con criterio y supervisión humana.</span></li>
  <li><span class="ts">05</span><span>El cambio de mindset necesario y el valor del acompañamiento profesional.</span></li>
</ul>

<p>Es, en el fondo, la misma tesis que defiendo desde hace años: <strong>la IA no es la solución, es la herramienta; la solución es el criterio.</strong> Primero quitar, después simplificar, y solo entonces automatizar. Lo que llamamos <em>Slow AI</em>.</p>

<blockquote>Quien compra IA sin gobernarla no ha resuelto un problema: ha contratado uno nuevo.</blockquote>

<h2>Quién habla</h2>
<div class="speaker-grid">
  <div class="speaker-card">
    <h3>Guillermo Taboada</h3>
    <div class="role">CEO de EstratégicaMente · Fundador de Simplicity Lab©</div>
    <p>Más de 30 años en función pública, dirección ejecutiva y docencia. Profesor universitario y autor. Defensor del enfoque «Slow AI» e «IA con criterio».</p>
  </div>
  <div class="speaker-card">
    <h3>Marianella Hernández</h3>
    <div class="role">Interim Manager · Implementadora de suites de IA</div>
    <p>Creadora de la metodología EPIIC de marca personal. Escritora y LinkedIn Top Voice 2024. Especialista en llevar la IA del discurso a la operación real.</p>
  </div>
</div>

<p>Si tu organización usa IA — o está a punto de hacerlo — el 2 de agosto de 2026 deja de ser una fecha lejana. Aquí tienes los siguientes pasos:</p>
<div class="webinar-cta">
  <a href="/recursos-eu-ai-act.html" style="display:inline-block; background:#0A2540; color:#fff; font-weight:600; padding:.85rem 1.5rem; border-radius:6px; text-decoration:none;">Checklist EU AI Act (gratis)</a>
  <a href="https://webinar-ia.estrategicamente.info" target="_blank" rel="noopener" style="display:inline-block; background:transparent; color:#0A2540; font-weight:600; padding:.85rem 1.5rem; border-radius:6px; text-decoration:none; border:1px solid #0A2540;">Ver la presentación</a>
  <a href="/contacto.html" style="display:inline-block; background:transparent; color:#0A2540; font-weight:600; padding:.85rem 1.5rem; border-radius:6px; text-decoration:none; border:1px solid #0A2540;">Hablar con nosotros</a>
</div>

<h2>Preguntas frecuentes</h2>
<h3>¿Comprar una herramienta de IA basta para cumplir el EU AI Act?</h3>
<p>No. El Reglamento (UE) 2024/1689 no pregunta qué software has contratado, sino cómo lo gobiernas: qué sistemas usas, con qué finalidad, con qué datos, con qué supervisión humana y con qué responsabilidad asignada. Adquirir tecnología no garantiza ni el cumplimiento ni una implantación segura.</p>
<h3>¿Qué exige realmente el Reglamento Europeo de IA a una empresa?</h3>
<p>Alfabetización del personal que usa IA, transparencia sobre los sistemas empleados, gobernanza documentada y supervisión humana efectiva. Es una obligación de proceso, no de compra.</p>
<h3>¿Por dónde se empieza a cumplir?</h3>
<p>Por un inventario honesto de qué IA se está usando ya en la organización —incluida la que entra por la puerta de atrás, en el navegador del empleado— y por definir quién decide, quién supervisa y quién responde.</p>
</div></div></article>

<footer class="footer">
  <div class="container">
    <div class="footer-grid">
      <div class="footer-brand">
        <img src="assets/logos/estrategicamente-logo-dark.svg" alt="EstratégicaMente" class="footer-logo">
        <h4>ESTRATÉGICAMENTE</h4>
        <p>Elegir lo eficaz para hacerlo eficiente.</p>
      </div>
      <div class="footer-col">
        <h5>Soluciones</h5>
        <ul>
          <li><a href='/asesoramiento'>Advisory</a></li>
          <li><a href='/grants'>Simplicity for Grants</a></li>
          <li><a href='/grantify'>Grantify</a></li>
          <li><a href='/processes'>Simplicity for Processes</a></li>
          <li><a href='/lab'>Simplicity Lab</a></li>
        </ul>
      </div>
      <div class="footer-col">
        <h5>EstratégicaMente</h5>
        <ul>
          <li><a href='/sobre'>Sobre EstratégicaMente</a></li>
          <li><a href='/recursos'>Recursos</a></li>
          <li><a href='/blog'>Blog</a></li>
          <li><a href='/contacto'>Contacto</a></li>
        </ul>
      </div>
      <div class="footer-col">
        <h5>Legal</h5>
        <ul>
          <li><a href='/aviso-legal' rel='noopener' target='_blank'>Aviso legal</a></li>
          <li><a href='/politica-de-privacidad' rel='noopener' target='_blank'>Privacidad</a></li>
          <li><a href='/politica-de-ia' style='color: var(--gold);'>Política de IA</a></li>
          <li><a href='/politica-de-cookies' rel='noopener' target='_blank'>Cookies</a></li>
          <li><a href='/declaracion-de-accesibilidad' rel='noopener' target='_blank'>Accesibilidad</a></li>
        </ul>
      </div>
    </div>

    <!-- Banner obligatorio de financiación pública del proyecto Simplicity for Grants -->
    <div class="footer-financiacion" style="border-top: 1px solid rgba(245, 239, 224, 0.15); padding: 1.5rem 0 1.25rem; margin-top: 2rem;">
      <p style="text-align: center; font-family: var(--sans, Arial, sans-serif); font-size: 0.7rem; letter-spacing: 0.15em; text-transform: uppercase; color: rgba(245, 239, 224, 0.6); margin: 0 0 1rem;">
        <span data-lang="es">El proyecto Simplicity for Grants© ha sido cofinanciado por:</span>
        <span data-lang="en">The Simplicity for Grants© project has been co-financed by:</span>
      </p>
      <div style="display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 1.5rem; padding: 0 1rem;">
        <img src="assets/logos/logos-financiacion.png" alt="IGAPE · Unión Europea NextGenerationEU · Gobierno de España · Plan de Recuperación, Transformación y Resiliencia" style="max-width: 100%; height: auto; max-height: 60px; background: white; padding: 0.75rem 1rem; border-radius: 4px;">
      </div>
      <p style="text-align: center; font-family: var(--sans, Arial, sans-serif); font-size: 0.65rem; color: rgba(245, 239, 224, 0.4); margin: 1rem 0 0; line-height: 1.5;">
        <span data-lang="es">Expediente IG408M-2025-000-000234 · Programa IGAPE · Fondos NextGenerationEU del Plan de Recuperación, Transformación y Resiliencia (PRTR)</span>
        <span data-lang="en">File IG408M-2025-000-000234 · IGAPE Programme · NextGenerationEU funds from the Recovery, Transformation and Resilience Plan (PRTR)</span>
      </p>
    </div>

    <div class="footer-bottom">
      <p>© 2026 INTERIM MANAGER CONSULTING, S.L.</p>
    </div>
  </div>
</footer>

<script>
(function(){
  var API = "https://orfnafompycebfblkjdd.supabase.co/functions/v1/imc-articulos";
  var COM_API = "https://orfnafompycebfblkjdd.supabase.co/functions/v1/imc-comentarios";
  var params = new URLSearchParams(window.location.search);
  var slug = params.get("slug");
  if (!slug) {
    // En /blog/<slug> (rewrite de Netlify) la URL del navegador no lleva ?slug=,
    // así que extraemos el slug de la propia ruta.
    var pm = window.location.pathname.match(/\/blog\/+([^\/?#]+)/);
    if (pm && pm[1]) slug = decodeURIComponent(pm[1]);
  }
  var root = document.getElementById("article-root");

  function esc(s) {
    return String(s||"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;");
  }

  // === Comentarios ===
  window.loadComentarios = function(slug){
    var lista = document.getElementById('comentarios-lista');
    if (!lista) return;
    fetch(COM_API + '?slug=' + encodeURIComponent(slug))
      .then(function(r){ return r.json(); })
      .then(function(data){
        if (!data.comentarios || !data.comentarios.length){
          lista.innerHTML = '<p style="color:var(--meta); text-align:center; font-style:italic;">Sé el primero en comentar.</p>';
          return;
        }
        lista.innerHTML = data.comentarios.map(function(c){
          var fecha = new Date(c.created_at).toLocaleDateString('es-ES', {day:'numeric', month:'long', year:'numeric'});
          return '<div style="background:white; padding:1.25rem; border:1px solid var(--line); margin-bottom:0.75rem;">' +
            '<div style="display:flex; justify-content:space-between; align-items:center; margin-bottom:0.5rem;">' +
              '<strong style="color:var(--navy); font-family:var(--display);">' + esc(c.nombre) + '</strong>' +
              '<span style="font-size:0.75rem; color:var(--meta); font-family:var(--sans);">' + fecha + '</span>' +
            '</div>' +
            '<div style="font-family:var(--serif); line-height:1.6; color:var(--ink); white-space:pre-line;">' + esc(c.mensaje) + '</div>' +
          '</div>';
        }).join('');
      })
      .catch(function(){ lista.innerHTML = '<p style="color:var(--meta);">No se pudieron cargar los comentarios.</p>'; });
  };

  window.enviarComentario = function(slug, titulo){
    var msg = document.getElementById('c-msg');
    var btn = document.querySelector('#comentario-form button[type="submit"]');
    var nombre = document.getElementById('c-nombre').value.trim();
    var email = document.getElementById('c-email').value.trim();
    var mensaje = document.getElementById('c-mensaje').value.trim();
    if (!nombre || !email || !mensaje) { msg.textContent = 'Faltan campos.'; msg.style.color = '#C62828'; return; }

    btn.disabled = true; btn.textContent = 'Enviando…';
    fetch(COM_API, {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
      body: JSON.stringify({ articulo_slug: slug, nombre: nombre, email: email, mensaje: mensaje })
    })
    .then(function(r){ return r.json().then(function(j){ return {ok:r.ok, data:j}; }); })
    .then(function(res){
      btn.disabled = false; btn.textContent = 'Publicar comentario';
      if (res.ok){
        msg.textContent = '✓ Comentario publicado. Gracias por participar.';
        msg.style.color = '#2E7D32';
        document.getElementById('comentario-form').reset();
        loadComentarios(slug);
      } else {
        msg.textContent = 'Error: ' + (res.data.error || 'desconocido');
        msg.style.color = '#C62828';
      }
    })
    .catch(function(err){
      btn.disabled = false; btn.textContent = 'Publicar comentario';
      msg.textContent = 'Error de red: ' + err.message;
      msg.style.color = '#C62828';
    });
  };

  if (!slug) {
    root.innerHTML = '<div class="article-error"><h1 style="font-family:var(--display);color:var(--navy);">Artículo no especificado</h1><p>Vuelve al <a href="blog.html" style="color:var(--gold);">blog</a> y selecciona un artículo.</p></div>';
    return;
  }

  fetch(API + "?action=get&slug=" + encodeURIComponent(slug))
    .then(function(r){ return r.json().then(function(j){ return {ok:r.ok, status:r.status, data:j}; }); })
    .then(function(res){
      if (!res.ok || !res.data.articulo) {
        root.innerHTML = '<div class="article-error"><h1 style="font-family:var(--display);color:var(--navy);">Artículo no encontrado</h1><p>El artículo que buscas no existe o ya no está disponible. <a href="blog.html" style="color:var(--gold);">Volver al blog</a>.</p></div>';
        document.title = "Artículo no encontrado — EstratégicaMente";
        return;
      }
      var a = res.data.articulo;
      document.title = a.titulo + " — EstratégicaMente";

      // ---- SEO dinámico: meta description, Open Graph, canonical, Article JSON-LD ----
      try {
        var canonical = "https://estrategicamente.info/blog/" + a.slug;
        var desc = (a.extracto || "").replace(/\s+/g, " ").trim();
        function upsertMeta(sel, attr, key, val){
          if (!val) return;
          var el = document.head.querySelector(sel);
          if (!el){ el = document.createElement("meta"); el.setAttribute(attr, key); document.head.appendChild(el); }
          el.setAttribute("content", val);
        }
        upsertMeta('meta[name="description"]', "name", "description", desc);
        upsertMeta('meta[property="og:title"]', "property", "og:title", a.titulo);
        upsertMeta('meta[property="og:description"]', "property", "og:description", desc);
        upsertMeta('meta[property="og:type"]', "property", "og:type", "article");
        upsertMeta('meta[property="og:url"]', "property", "og:url", canonical);
        if (a.imagen_url) upsertMeta('meta[property="og:image"]', "property", "og:image", a.imagen_url);
        upsertMeta('meta[name="twitter:title"]', "name", "twitter:title", a.titulo);
        upsertMeta('meta[name="twitter:description"]', "name", "twitter:description", desc);
        if (a.imagen_url) upsertMeta('meta[name="twitter:image"]', "name", "twitter:image", a.imagen_url);
        var link = document.head.querySelector('link[rel="canonical"]');
        if (!link){ link = document.createElement("link"); link.setAttribute("rel","canonical"); document.head.appendChild(link); }
        link.setAttribute("href", canonical);
        var article = {
          "@context": "https://schema.org",
          "@type": "BlogPosting",
          "headline": a.titulo,
          "description": desc,
          "author": { "@type": "Person", "name": a.autor || "Guillermo Taboada Martínez" },
          "publisher": { "@type": "Organization", "name": "EstratégicaMente", "logo": { "@type": "ImageObject", "url": "https://estrategicamente.info/assets/img/og-image.png" } },
          "mainEntityOfPage": { "@type": "WebPage", "@id": canonical },
          "inLanguage": "es"
        };
        if (a.fecha) { article.datePublished = a.fecha; article.dateModified = a.fecha; }
        if (a.imagen_url) article.image = a.imagen_url;
        var s1 = document.createElement("script"); s1.type = "application/ld+json"; s1.text = JSON.stringify(article); document.head.appendChild(s1);
      } catch(e) {}

      var imagenHtml = "";
      if (a.imagen_url) {
        imagenHtml = '<div class="article-image" style="margin: 2rem auto 3rem; max-width: 760px; aspect-ratio: 16/9; overflow: hidden;"><img src="' + esc(a.imagen_url) + '" alt="' + esc(a.titulo) + '" style="width:100%; height:100%; object-fit:cover;"></div>';
      }

        // Share buttons y comentarios
        var shareUrl = encodeURIComponent(window.location.href);
        var shareTitle = encodeURIComponent(a.titulo);
        var shareBlock =
          '<div style="max-width:720px; margin: 4rem auto 2rem; padding: 2rem 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); text-align:center;">' +
          '<div style="font-family: var(--sans); font-size: 0.8rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--meta); margin-bottom: 1.5rem;">Compartir este artículo</div>' +
          '<div style="display:flex; gap:0.75rem; justify-content:center; flex-wrap:wrap;">' +
            '<a href="https://www.linkedin.com/sharing/share-offsite/?url=' + shareUrl + '" target="_blank" rel="noopener" style="display:inline-flex; align-items:center; gap:0.5rem; padding:0.65rem 1.25rem; background:#0077B5; color:white; text-decoration:none; font-family:var(--sans); font-size:0.85rem; letter-spacing:0.05em;">' +
              '<svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor"><path d="M20.5 2h-17A1.5 1.5 0 002 3.5v17A1.5 1.5 0 003.5 22h17a1.5 1.5 0 001.5-1.5v-17A1.5 1.5 0 0020.5 2zM8 19H5v-9h3zM6.5 8.25A1.75 1.75 0 118.3 6.5a1.78 1.78 0 01-1.8 1.75zM19 19h-3v-4.74c0-1.42-.6-1.93-1.38-1.93A1.74 1.74 0 0013 14.19a.66.66 0 000 .14V19h-3v-9h2.9v1.3a3.11 3.11 0 012.7-1.4c1.55 0 3.36.86 3.36 3.66z"/></svg>' +
              'LinkedIn' +
            '</a>' +
            '<a href="https://twitter.com/intent/tweet?url=' + shareUrl + '&text=' + shareTitle + '" target="_blank" rel="noopener" style="display:inline-flex; align-items:center; gap:0.5rem; padding:0.65rem 1.25rem; background:#000; color:white; text-decoration:none; font-family:var(--sans); font-size:0.85rem; letter-spacing:0.05em;">' +
              '<svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"/></svg>' +
              'X (Twitter)' +
            '</a>' +
            '<a href="https://api.whatsapp.com/send?text=' + shareTitle + '%20' + shareUrl + '" target="_blank" rel="noopener" style="display:inline-flex; align-items:center; gap:0.5rem; padding:0.65rem 1.25rem; background:#25D366; color:white; text-decoration:none; font-family:var(--sans); font-size:0.85rem; letter-spacing:0.05em;">' +
              '<svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor"><path d="M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z"/></svg>' +
              'WhatsApp' +
            '</a>' +
          '</div>' +
          '</div>' +
          // Sección comentarios (Disqus o nativo simple)
          '<div id="comentarios" style="max-width:720px; margin: 3rem auto;">' +
          '<div style="font-family: var(--sans); font-size: 0.8rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--meta); margin-bottom: 1.5rem; text-align:center;">Comentarios</div>' +
          '<div id="comentarios-lista" style="margin-bottom: 2rem;"></div>' +
          '<form id="comentario-form" style="background:var(--paper); padding:1.5rem; border:1px solid var(--line);">' +
            '<div style="display:grid; grid-template-columns: 1fr 1fr; gap:0.75rem; margin-bottom:0.75rem;">' +
              '<input type="text" id="c-nombre" placeholder="Tu nombre" required style="width:100%; padding:0.6rem; border:1px solid var(--line); background:white; font-family:inherit; font-size:0.95rem;">' +
              '<input type="email" id="c-email" placeholder="Email (no se publica)" required style="width:100%; padding:0.6rem; border:1px solid var(--line); background:white; font-family:inherit; font-size:0.95rem;">' +
            '</div>' +
            '<textarea id="c-mensaje" placeholder="Tu comentario..." required rows="4" style="width:100%; padding:0.6rem; border:1px solid var(--line); background:white; font-family:inherit; font-size:0.95rem; margin-bottom:0.75rem;"></textarea>' +
            '<button type="submit" style="background:var(--navy); color:var(--cream); padding:0.7rem 1.5rem; border:0; font-family:var(--sans); font-size:0.85rem; letter-spacing:0.1em; text-transform:uppercase; cursor:pointer;">Publicar comentario</button>' +
            '<div id="c-msg" style="margin-top:0.75rem; font-size:0.85rem; color:var(--meta);"></div>' +
          '</form>' +
          '</div>';

        root.innerHTML = '<div class="container-narrow">' +
        '<div class="breadcrumb" style="margin-top: 6rem; margin-bottom: 1.5rem;"><a href="index.html">EstratégicaMente</a> <span class="sep">◆</span> <a href="blog.html">Blog</a></div>' +
        '<div class="article-meta" style="font-family: var(--sans); font-size: 0.75rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold); margin-bottom: 1.5rem;">' + esc(a.fecha_str) + ' · ' + esc(a.autor) + '</div>' +
        '<h1 style="font-family: var(--display); font-size: clamp(2.25rem, 5vw, 4rem); font-weight: 400; line-height: 1.05; color: var(--navy); margin-bottom: 2rem; letter-spacing: -0.025em; max-width: 760px; margin-left: auto; margin-right: auto;">' + esc(a.titulo) + '</h1>' +
        imagenHtml +
        '<div class="article-body">' + a.contenido + '</div>' +
        shareBlock +
        '<p style="text-align:center; margin: 4rem auto 2rem; max-width: 720px;"><a href="blog.html" style="color:var(--gold); font-family:var(--sans); font-size:0.85rem; letter-spacing:0.1em; text-transform:uppercase;">← Volver al blog</a></p>' +
      '</div>';

        // ---- Vídeo privacy-first: activa cualquier .yt-facade del cuerpo (no carga YouTube hasta el clic) ----
        try {
          var vbody = root.querySelector('.article-body');
          if (vbody) {
            var facades = vbody.querySelectorAll('.yt-facade[data-yt]');
            Array.prototype.forEach.call(facades, function(facade){
              function loadVideo(){
                var id = facade.getAttribute('data-yt');
                if (!id) return;
                var start = facade.getAttribute('data-start') || '0';
                var ifr = document.createElement('iframe');
                ifr.setAttribute('src', 'https://www.youtube-nocookie.com/embed/' + id + '?autoplay=1&rel=0&modestbranding=1&start=' + start);
                ifr.setAttribute('title', facade.getAttribute('data-title') || a.titulo);
                ifr.setAttribute('allow', 'accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share');
                ifr.setAttribute('allowfullscreen', '');
                facade.innerHTML = ''; facade.appendChild(ifr); facade.style.cursor = 'default';
                try { window.clarity && window.clarity('event', 'article_video_play'); } catch(e){}
              }
              facade.addEventListener('click', loadVideo);
              facade.addEventListener('keydown', function(e){ if (e.key === 'Enter' || e.key === ' ') { e.preventDefault(); loadVideo(); } });
              try {
                var vid = facade.getAttribute('data-yt');
                var vobj = {
                  "@context":"https://schema.org","@type":"VideoObject",
                  "name": facade.getAttribute('data-title') || a.titulo,
                  "description": (a.extracto || a.titulo || '').replace(/\s+/g,' ').trim(),
                  "thumbnailUrl": facade.getAttribute('data-thumb') || ('https://i.ytimg.com/vi/' + vid + '/maxresdefault.jpg'),
                  "uploadDate": facade.getAttribute('data-date') || a.fecha,
                  "contentUrl": "https://www.youtube.com/watch?v=" + vid,
                  "embedUrl": "https://www.youtube-nocookie.com/embed/" + vid,
                  "publisher": { "@type":"Organization", "name":"EstratégicaMente", "logo": { "@type":"ImageObject", "url":"https://estrategicamente.info/assets/logos/estrategicamente-logo.svg" } }
                };
                var sv = document.createElement('script'); sv.type = 'application/ld+json'; sv.text = JSON.stringify(vobj); document.head.appendChild(sv);
              } catch(e){}
            });
          }
        } catch(e){}

        // ---- FAQPage JSON-LD (desde la sección "Preguntas frecuentes") ----
        try {
          var fbody = root.querySelector('.article-body');
          var faqs = [];
          if (fbody) {
            var kids = fbody.children, inFaq = false;
            for (var fi = 0; fi < kids.length; fi++) {
              var kn = kids[fi], ktag = kn.tagName;
              if (ktag === 'H2') { inFaq = /preguntas frecuentes/i.test(kn.textContent || ""); continue; }
              if (inFaq && ktag === 'H3') {
                var q = (kn.textContent || "").trim(), ans = "", sib = kn.nextElementSibling;
                while (sib && sib.tagName === 'P') { ans += (ans ? " " : "") + (sib.textContent || "").trim(); sib = sib.nextElementSibling; }
                if (q && ans) faqs.push({ "@type": "Question", "name": q, "acceptedAnswer": { "@type": "Answer", "text": ans } });
              }
            }
          }
          if (faqs.length) {
            var s2 = document.createElement("script"); s2.type = "application/ld+json";
            s2.text = JSON.stringify({ "@context": "https://schema.org", "@type": "FAQPage", "mainEntity": faqs });
            document.head.appendChild(s2);
          }
        } catch(e) {}

        // Cargar comentarios
        loadComentarios(slug);

        // Handler form
        document.getElementById('comentario-form').addEventListener('submit', function(e){
          e.preventDefault();
          enviarComentario(slug, a.titulo);
        });
    })
    .catch(function(err){
      root.innerHTML = '<div class="article-error"><h1 style="font-family:var(--display);color:var(--navy);">Error al cargar</h1><p>No hemos podido cargar el artículo. Vuelve al <a href="blog.html" style="color:var(--gold);">blog</a>.</p></div>';
    });
})();
</script>
<script src="assets/js/main.js?v=50"></script>
<script src="assets/js/accesibilidad.js"></script>
<script src="assets/js/ai-governance.js"></script>
</body>
</html>
