/* FormacionTech · Resumen mensual de novedades */
.nv{--nv-navy:#1F3864;--nv-acero:#3B749F;--c-genai:#0E7490;--c-genai-f:#E6F4F7;--c-datos:#6D28D9;--c-datos-f:#F1EBFD;--c-mlops:#B45309;--c-mlops-f:#FDF1E4;--c-regulacion:#1F3864;--c-regulacion-f:#E8EEF7}
.nv-c-genai{--cc:var(--c-genai);--cf:var(--c-genai-f)}
.nv-c-datos{--cc:var(--c-datos);--cf:var(--c-datos-f)}
.nv-c-mlops{--cc:var(--c-mlops);--cf:var(--c-mlops-f)}
.nv-c-regulacion{--cc:var(--c-regulacion);--cf:var(--c-regulacion-f)}

/* Navegación entre meses */
.nv-nav{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:.25rem 0 .9rem}
.nv-flecha,.nv-todos{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem .95rem;border-radius:999px;border:1.5px solid var(--border);background:#fff;color:var(--nv-navy);font-weight:600;font-size:.92rem;text-decoration:none;transition:border-color .2s,background .2s,transform .2s;min-height:44px}
.nv-flecha:hover,.nv-todos:hover{border-color:var(--nv-acero);background:#f3f7fb}
.nv-flecha:hover svg{transform:translateX(-2px)}
.nv-flecha[rel=next]:hover svg{transform:translateX(2px)}
.nv-flecha svg{transition:transform .2s}
.nv-flecha.nv-off{visibility:hidden}
.nv-todos{color:#475569;font-weight:500}
.nv-chips{display:flex;gap:.45rem;list-style:none;margin:0 0 1.75rem;padding:.2rem .1rem .6rem;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.nv-chips li{flex:0 0 auto;scroll-snap-align:center}
.nv-chips a{display:flex;flex-direction:column;align-items:center;min-width:58px;padding:.45rem .6rem;border-radius:12px;border:1.5px solid var(--border);background:#fff;text-decoration:none;color:var(--nv-navy);line-height:1.15;transition:border-color .2s,background .2s}
.nv-chips a:hover{border-color:var(--nv-acero)}
.nv-chips a[aria-current=page]{background:var(--nv-navy);border-color:var(--nv-navy);color:#fff;box-shadow:0 6px 16px rgba(31,56,100,.25)}
.nv-chip-m{font-weight:700;font-size:.95rem}
.nv-chip-a{font-size:.72rem;opacity:.75}

/* Cabecera del mes */
.nv-hero{background:linear-gradient(135deg,var(--nv-navy) 0%,var(--nv-acero) 100%);color:#fff;border-radius:var(--radius);padding:2rem 2.1rem;margin-bottom:1.5rem;position:relative;overflow:hidden}
.nv-hero::after{content:'';position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.07)}
.nv-eti{display:inline-block;font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#F5B83D;margin:0 0 .35rem}
.nv-hero h1{font-family:'Fraunces',serif;font-size:2.2rem;line-height:1.15;margin:0 0 .6rem;color:#fff}
.nv-lema{font-size:1.08rem;line-height:1.55;max-width:720px;margin:0 0 .9rem;color:#eef3f9}
.nv-meta{font-size:.85rem;color:#d4e1ee;margin:0}

/* El mes en un minuto */
.nv-min{background:#f8fafc;border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1.4rem;margin-bottom:1.6rem}
.nv-min h2{font-size:1rem;font-weight:700;color:var(--nv-navy);margin:0 0 .6rem}
.nv-min ol{margin:0;padding:0;list-style:none;counter-reset:nvm;display:grid;gap:.55rem}
.nv-min li{counter-increment:nvm;display:grid;grid-template-columns:28px 1fr;gap:.6rem;align-items:start;color:var(--slate);line-height:1.55}
.nv-min li::before{content:counter(nvm);display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--nv-navy);color:#fff;font-weight:700;font-size:.8rem}

/* Filtros */
.nv-filtros{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1.1rem}
.nv-filtro{display:inline-flex;align-items:center;gap:.35rem;font:inherit;font-size:.86rem;font-weight:600;padding:.45rem .85rem;border-radius:999px;border:1.5px solid var(--border);background:#fff;color:var(--nv-navy);cursor:pointer;min-height:40px}
.nv-filtro[data-cat]:not([data-cat=""]){color:var(--cc)}
.nv-filtro[aria-pressed=true]{background:var(--nv-navy);border-color:var(--nv-navy);color:#fff}
.nv-filtro[data-cat]:not([data-cat=""])[aria-pressed=true]{background:var(--cc);border-color:var(--cc);color:#fff}
.nv-filtro:focus-visible,.nv-flecha:focus-visible,.nv-todos:focus-visible,.nv-chips a:focus-visible{outline:3px solid #F5B83D;outline-offset:2px}

/* Tarjetas */
.nv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.1rem}
.nv-card{background:#fff;border:1px solid var(--border);border-top:4px solid var(--cc);border-radius:var(--radius);padding:1.2rem 1.3rem 1.1rem;display:flex;flex-direction:column;gap:.55rem;transition:box-shadow .2s,transform .2s}
.nv-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.nv-card[hidden]{display:none}
.nv-card-top{display:flex;justify-content:space-between;align-items:center;gap:.5rem}
.nv-badge,.nv-mini{display:inline-flex;align-items:center;gap:.35rem;font-size:.76rem;font-weight:700;letter-spacing:.02em;color:var(--cc);background:var(--cf);padding:.28rem .6rem;border-radius:999px}
.nv-card time{font-size:.8rem;color:#64748b;white-space:nowrap}
.nv-card h2{font-size:1.06rem;line-height:1.38;margin:0;color:var(--navy);font-weight:700}
.nv-card p{margin:0;color:var(--slate);font-size:.94rem;line-height:1.6}
.nv-imp{background:var(--cf);border-radius:10px;padding:.6rem .75rem;font-size:.9rem!important}
.nv-imp strong{color:var(--cc)}
.nv-fuente{margin-top:auto;font-size:.84rem;font-weight:600;color:#1d4f80;text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}
.nv-vacio{color:var(--slate);font-style:italic}

/* Pie de navegación */
.nv-pie{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:2rem 0 .5rem}
.nv-pie a,.nv-pie .nv-off{display:flex;flex-direction:column;gap:.2rem;padding:1rem 1.2rem;border:1.5px solid var(--border);border-radius:var(--radius);text-decoration:none;color:var(--nv-navy);background:#fff;transition:border-color .2s,box-shadow .2s}
.nv-pie a:hover{border-color:var(--nv-acero);box-shadow:var(--shadow-sm)}
.nv-pie span{display:inline-flex;align-items:center;gap:.3rem;font-size:.82rem;color:#475569}
.nv-pie strong{font-size:1.02rem}
.nv-pie-r{text-align:right;align-items:flex-end}
.nv-pie .nv-off{border-style:dashed;background:#f8fafc}
.nv-pie .nv-off span{color:#64748b}
.nv-pie .nv-off strong{color:#475569}
.nv-tecla{font-size:.8rem;color:#64748b;text-align:center;margin:.4rem 0 1.5rem}
.nv-cta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding:1.3rem 1.5rem;border-radius:var(--radius);background:#eef4fa;border-left:4px solid var(--nv-acero);margin:1.5rem 0}
.nv-cta p{margin:0;color:var(--slate);font-size:.93rem}
.nv-cta .nv-cta-t{color:var(--nv-navy);font-weight:700;font-size:1.02rem;margin-bottom:.15rem}
.nv-nota{font-size:.8rem;color:#64748b}

/* Índice */
.nv-destacado{display:flex;flex-direction:column;gap:.55rem;background:linear-gradient(135deg,var(--nv-navy),var(--nv-acero));color:#fff;border-radius:var(--radius);padding:1.8rem 2rem;text-decoration:none;margin:1.25rem 0 2rem;transition:transform .2s,box-shadow .2s}
.nv-destacado:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(31,56,100,.3)}
.nv-dest-t{font-family:'Fraunces',serif;font-size:1.9rem;font-weight:700}
.nv-dest-l{font-size:1.02rem;line-height:1.55;color:#eef3f9;max-width:720px}
.nv-dest-cats{display:flex;flex-wrap:wrap;gap:.4rem}
.nv-destacado .nv-mini{background:rgba(255,255,255,.92)}
.nv-dest-ir{display:inline-flex;align-items:center;gap:.3rem;font-weight:700;color:#F5B83D;margin-top:.2rem}
.nv-anio{font-family:'Fraunces',serif;font-size:1.3rem;color:var(--nv-navy);margin:1.5rem 0 .8rem}
.nv-cal{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.9rem;list-style:none;margin:0;padding:0}
.nv-cal a{display:flex;flex-direction:column;gap:.3rem;height:100%;box-sizing:border-box;padding:1.1rem 1.2rem;border:1.5px solid var(--border);border-radius:var(--radius);background:#fff;text-decoration:none;transition:border-color .2s,box-shadow .2s,transform .2s}
.nv-cal a:hover{border-color:var(--nv-acero);box-shadow:var(--shadow-md);transform:translateY(-2px)}
.nv-cal-m{font-family:'Fraunces',serif;font-weight:700;font-size:1.2rem;color:var(--nv-navy)}
.nv-cal-n{font-size:.8rem;font-weight:700;color:var(--nv-acero);text-transform:uppercase;letter-spacing:.04em}
.nv-cal-l{font-size:.9rem;color:var(--slate);line-height:1.5}

@media (max-width:640px){
  .nv-hero{padding:1.5rem 1.3rem}
  .nv-hero h1{font-size:1.75rem}
  .nv-grid{grid-template-columns:1fr}
  .nv-todos span{display:none}
  .nv-flecha span{max-width:9ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .nv-pie{grid-template-columns:1fr}
  .nv-pie-r{text-align:left;align-items:flex-start}
  .nv-destacado{padding:1.4rem 1.3rem}
}
@media (prefers-reduced-motion:reduce){.nv-card,.nv-flecha svg,.nv-cal a,.nv-destacado{transition:none!important;transform:none!important}}
