/* Blog: bloques de calidad y SEO de la fábrica (blog/seo.py del repo flexigotech-marketing, 04-11-2026).
   Migas, «lo esencial» con índice, vídeo propio, autor, enlaces a los hubs, fuentes plegables, estilos por estructura y hubs.
   En móvil todo el texto del artículo va a 16 px o más: lo exige el control de móvil (api/movil.js). */

/* migas */
.ft-migas{margin:0 0 18px}
.ft-migas ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;row-gap:6px}
.ft-migas li{display:inline-flex;align-items:center;margin:0;padding:0;font-size:14.5px;line-height:1.4;color:var(--color-text-mid,#475569)}
.ft-migas li:before{content:none}
.ft-migas li+li:before{content:"";display:inline-block;position:static;width:6px;height:6px;margin:0 11px 0 7px;background:none;border-radius:0;border-top:1.5px solid #94A3B8;border-right:1.5px solid #94A3B8;transform:rotate(45deg)}
.ft-migas a{color:var(--color-accent,#4F46E5);font-weight:600;text-decoration:none}
.ft-migas a:hover{text-decoration:underline;text-underline-offset:3px}

/* lo esencial + índice */
.ft-esencial{max-width:820px;margin:0 auto 8px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;border:1px solid var(--color-border,#E2E8F0);border-radius:16px;background:#fff;box-shadow:0 10px 30px rgba(15,23,42,.06),0 1px 3px rgba(15,23,42,.05);overflow:hidden}
.ft-esencial>*{padding:22px 24px}
.ft-esencial-d{background:var(--color-bg,#F8FAFC)}
.ft-bloque-t{font-size:15px;font-weight:700;letter-spacing:-.01em;color:var(--color-primary,#0A0A14);margin:0 0 12px}
.ft-esencial dl{margin:0;display:grid;gap:12px}
.ft-esencial dl>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;align-items:baseline}
.ft-esencial dt{font-size:14px;color:var(--color-text-mid,#475569);margin:0}
.ft-esencial dd{font-size:15.5px;line-height:1.5;color:var(--color-primary,#0A0A14);margin:0;font-weight:500}
.ft-esencial dd a{color:var(--color-accent,#4F46E5);text-decoration:none;font-weight:600}
.ft-esencial dd a:hover{text-decoration:underline;text-underline-offset:3px}
.ft-indice ol{list-style:none;margin:0;padding:0;display:grid;gap:2px;counter-reset:none}
.ft-indice li{margin:0;padding:0;font-size:15.5px;line-height:1.45}
.ft-indice li:before{content:none}
.ft-indice a{display:block;padding:6px 10px;margin:0 -10px;border-radius:8px;color:var(--color-primary,#0A0A14);text-decoration:none}
.ft-indice a:hover,.ft-indice a:focus-visible{background:#EEF2FF;color:var(--color-accent,#4F46E5)}
.article-content h2[id]{scroll-margin-top:96px}

/* vídeo propio: póster nuestro, el iframe de youtube-nocookie solo al pulsar */
.ft-video-f{margin:36px auto;max-width:300px;text-align:center}
.ft-video-f .ft-video{position:relative;display:block;max-width:300px;margin:0 auto;border-radius:18px;overflow:hidden;box-shadow:0 14px 36px rgba(15,23,42,.18),0 2px 6px rgba(15,23,42,.08)}
.ft-video-f .ft-video img{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:cover;border:0;border-radius:0;max-height:none;box-shadow:none}
.ft-video-f .pl{position:absolute;left:50%;top:50%;width:68px;height:68px;transform:translate(-50%,-50%);transition:transform .2s ease-out}
.ft-video-f .pl circle{fill:rgba(10,10,20,.72)}.ft-video-f .pl path{fill:#fff}
.ft-video-f .ft-video:hover .pl{transform:translate(-50%,-50%) scale(1.08)}
.ft-video-f iframe{display:block;width:100%;max-width:300px;aspect-ratio:9/16;margin:0 auto;border:0;border-radius:18px}
.ft-video-f figcaption{font-size:14.5px;line-height:1.5;color:#576172;margin-top:12px}

/* autor (E-E-A-T) */
.ft-autor-b{display:grid;grid-template-columns:56px minmax(0,1fr);gap:16px;align-items:start;margin:40px 0 8px;padding:22px 24px;border:1px solid var(--color-border,#E2E8F0);border-radius:16px;background:var(--color-bg,#F8FAFC)}
.ft-autor-m{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--color-primary,#0A0A14);color:#fff;font-weight:700;font-size:18px;letter-spacing:.02em}
.ft-autor-b p{font-size:15.5px;line-height:1.6;margin:0 0 6px;color:var(--color-text-mid,#475569)}
.ft-autor-b p.ft-autor-n{font-size:17px;font-weight:700;color:var(--color-primary,#0A0A14);margin-bottom:2px}
.ft-autor-b a{color:var(--color-accent,#4F46E5);font-weight:600}

/* enlaces al hub del conector y al del tipo */
.ft-hubs-n{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 28px}
.ft-hubs-n a{display:inline-flex;align-items:center;min-height:44px;box-sizing:border-box;padding:10px 18px;border-radius:999px;border:1px solid #C7D2FE;background:#fff;color:var(--color-accent,#4F46E5);font-weight:600;font-size:15px;text-decoration:none;transition:border-color .2s,box-shadow .2s}
.ft-hubs-n a:hover{border-color:var(--color-accent,#4F46E5);box-shadow:0 6px 16px rgba(79,70,229,.14)}

/* fuentes plegables */
.ft-fuentes-d{margin:36px 0 0;border:1px solid var(--color-border,#E2E8F0);border-radius:14px;background:#fff}
.ft-fuentes-d>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:16px 20px;font-size:15.5px;font-weight:600;line-height:1.45;color:var(--color-primary,#0A0A14)}
.ft-fuentes-d>summary::-webkit-details-marker{display:none}
.ft-fuentes-d>summary:before{content:"";flex:none;width:22px;height:22px;border-radius:50%;background:#DCFCE7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2315803D' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/14px no-repeat}
.ft-fuentes-d>summary:after{content:"";flex:none;margin-left:auto;width:8px;height:8px;border-right:2px solid #64748B;border-bottom:2px solid #64748B;transform:rotate(45deg);transition:transform .2s ease-out}
.ft-fuentes-d[open]>summary:after{transform:rotate(-135deg)}
.ft-fuentes-d>summary:focus-visible{outline:2px solid var(--color-accent,#4F46E5);outline-offset:2px;border-radius:12px}
.ft-fuentes-d>h2{font-size:20px;margin:0 20px 8px}
.ft-fuentes-d>.ft-fuentes{margin:0 20px 18px}

/* estilos por estructura (clase ft-est-<estructura> del <article>): mismo texto, otra forma */
.ft-est-checklist .ft-check,.ft-est-guia .ft-check{display:grid;gap:10px}
.ft-est-checklist .ft-check li,.ft-est-guia .ft-check li{margin:0;padding:14px 16px 14px 50px;border:1px solid var(--color-border,#E2E8F0);border-radius:12px;background:#fff;box-shadow:0 2px 8px rgba(15,23,42,.04)}
.ft-est-checklist .ft-check li:before,.ft-est-guia .ft-check li:before{content:"";position:absolute;left:16px;top:15px;width:18px;height:18px;border-radius:5px;border:2px solid #A5B4FC;background:#fff;margin:0}
.ft-est-checklist .ft-pasos,.ft-est-guia .ft-pasos,.ft-est-como-se-hace .ft-pasos{counter-reset:paso;list-style:none;padding-left:0}
.ft-est-checklist .ft-pasos li,.ft-est-guia .ft-pasos li,.ft-est-como-se-hace .ft-pasos li{counter-increment:paso;position:relative;padding:4px 0 4px 48px;margin:0 0 16px}
.ft-est-checklist .ft-pasos li:before,.ft-est-guia .ft-pasos li:before,.ft-est-como-se-hace .ft-pasos li:before{content:counter(paso);position:absolute;left:0;top:2px;width:32px;height:32px;border-radius:50%;background:#EEF2FF;color:var(--color-accent,#4F46E5);font-weight:700;font-size:15px;line-height:32px;text-align:center}
.ft-est-cronologia .ft-crono{border-left:0;position:relative;padding-left:0}
.ft-est-cronologia .ft-crono:before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:1px;background:#C7D2FE}
.ft-est-cronologia .ft-crono li{position:relative;padding:0 0 0 34px;margin:0 0 22px}
.ft-est-cronologia .ft-crono li:before{content:"";position:absolute;left:0;top:5px;width:15px;height:15px;border-radius:50%;background:#fff;border:3px solid var(--color-accent,#4F46E5)}
.ft-est-tabla-errores .article-table td:first-child code{color:#9F1239;background:#FFF1F2;border-radius:6px;padding:2px 6px}
.ft-est-tabla-errores .article-table tbody tr:nth-child(even) td,.ft-est-comparativa .article-table tbody tr:nth-child(even) td{background:#FBFCFE}
.ft-est-comparativa .article-table th{background:#EEF2FF;color:var(--color-primary,#0A0A14)}
.ft-est-glosario .ft-glosario{display:grid;grid-template-columns:minmax(0,1fr);gap:0;border-top:1px solid var(--color-border,#E2E8F0)}
.ft-est-glosario .ft-glosario dt{margin:0;padding-top:16px}
.ft-est-glosario .ft-glosario dd{margin:4px 0 0;padding-bottom:16px;border-bottom:1px solid var(--color-border,#E2E8F0)}
.ft-est-preguntas .ft-faq{border-bottom:1px solid var(--color-border,#E2E8F0);padding-bottom:6px}
/* dos capturas seguidas: lado a lado en pantalla ancha (antes y después) */
@media(min-width:900px){
  .article-content .ft-captura:has(+ .ft-captura),.article-content .ft-captura + .ft-captura{display:inline-block;vertical-align:top;width:calc(50% - 12px);margin-top:28px;margin-bottom:28px}
  .article-content .ft-captura:has(+ .ft-captura){margin-right:20px}
}

/* hubs, índices por idioma y bloque de blog.html */
.ft-hub .article-content>h2:first-child{margin-top:8px}
.ft-hub .article-content>h2 a{color:inherit;text-decoration:none}
.ft-hub .article-content>h2 a:hover{color:var(--color-accent,#4F46E5)}
.ft-hub-lista{list-style:none;margin:16px 0 34px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.ft-hub-lista li{margin:0;padding:0}
.ft-hub-lista li:before{content:none}
.ft-hub-lista a{display:flex;flex-direction:column;gap:4px;height:100%;box-sizing:border-box;padding:14px 16px;border:1px solid var(--color-border,#E2E8F0);border-radius:12px;background:#fff;text-decoration:none;transition:border-color .2s,box-shadow .2s}
.ft-hub-lista a:hover{border-color:#A5B4FC;box-shadow:0 8px 20px rgba(15,23,42,.08)}
.ft-hub-lista strong{font-size:15.5px;line-height:1.35;color:var(--color-primary,#0A0A14)}
.ft-hub-lista span{font-size:14px;color:var(--color-text-mid,#475569)}
.ft-guias-idx{max-width:1100px;margin:40px auto 8px;padding:0 20px}
.ft-guias-idx>h2{font-size:clamp(24px,2.6vw,30px);letter-spacing:-.02em;color:var(--color-primary,#0A0A14);margin:0 0 8px}
.ft-guias-idx>p{font-size:16.5px;color:var(--color-text-mid,#475569);margin:0 0 8px}
.ft-guias-idx h2+.ft-hub-lista{margin-top:10px}
.ft-guias-idx>h2~h2{font-size:20px;margin-top:22px}

@media(max-width:640px){
  .ft-migas li,.ft-esencial dt,.ft-esencial dd,.ft-indice li,.ft-bloque-t,.ft-autor-b p,.ft-video-f figcaption,.ft-hubs-n a,.ft-fuentes-d>summary,.ft-hub-lista strong,.ft-hub-lista span{font-size:16px}
  .ft-esencial{grid-template-columns:minmax(0,1fr);margin:0 16px 8px}
  .ft-esencial>*{padding:18px}
  .ft-esencial dl>div{grid-template-columns:minmax(0,1fr);gap:2px}
  .ft-autor-b{grid-template-columns:minmax(0,1fr);padding:18px}
  .ft-hubs-n{flex-direction:column}
  .ft-hubs-n a{justify-content:center;text-align:center;min-height:48px}
  .ft-hub-lista{grid-template-columns:minmax(0,1fr)}
}

/* paginación de los hubs (más de 60 guías) */
.ft-paginas ol{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.ft-paginas li{margin:0;padding:0}
.ft-paginas li:before{content:none}
.ft-paginas a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;box-sizing:border-box;padding:0 12px;border:1px solid var(--color-border,#E2E8F0);border-radius:10px;color:var(--color-primary,#0A0A14);font-size:16px;text-decoration:none}
.ft-paginas a[aria-current]{background:var(--color-primary,#0A0A14);border-color:var(--color-primary,#0A0A14);color:#fff}
