/* Componentes comunes de las páginas de norteduc.cl (07-10-2026). Depende de styles.css y complementos.css (cx-*).
   Generado a mano; lo usan ne_ui.py / paginas_gen.py. Tarjetas: 3 por fila a todo el ancho, 2 en tablet, 1 en celular. */
.ne .wrap{max-width:1180px}
.ne [hidden]{display:none!important}
.ne-cards{display:flex;flex-wrap:wrap;gap:1.3rem}
.ne-cards>*{flex:1 1 calc(33.333% - .867rem);box-sizing:border-box;min-width:0}
@media(max-width:859px){.ne-cards>*{flex-basis:calc(50% - .65rem)}}
@media(max-width:640px){.ne-cards>*{flex-basis:100%}}
.ne-ico{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;margin-bottom:.9rem;color:#fff;
 background:linear-gradient(135deg,#2fa4ad,#1a6ea3);box-shadow:0 10px 22px -10px rgba(26,110,163,.7)}
.ne-ico svg{width:23px;height:23px}
.ne .cx-card ul{margin:.7rem 0 0;padding:0;list-style:none;display:grid;gap:.35rem}
.ne .cx-card li{display:flex;gap:.5rem;color:#2b3a53;line-height:1.45;font-size:.95rem}
.ne .cx-card li:before{content:"✓";color:#047857;font-weight:800}
.ne .cx-card .ne-lnk{display:inline-block;margin-top:.8rem;color:#0b5aa0;font-weight:700;text-decoration:underline;text-underline-offset:2px}
.ne-plan{position:relative;background:#fff;border:1px solid #d6e2ee;border-top:4px solid #2fa4ad;border-radius:18px;padding:1.5rem;
 display:flex;flex-direction:column;gap:.7rem;transition:transform .3s,box-shadow .3s}
.ne-plan:hover{transform:translateY(-4px);box-shadow:0 26px 50px -30px rgba(11,31,63,.5)}
.ne-plan.dest{border:2px solid #b84f0f;border-top-width:4px}
.ne-plan h3{margin:0;color:#0a2a44;font-size:1.25rem}
.ne-plan>p{margin:0;color:#4b5a6e;line-height:1.5}
.ne-precio{margin:0;font-size:1.9rem;font-weight:800;color:#0a2a44;line-height:1.1}
.ne-precio small{display:block;margin-top:.25rem;font-size:.86rem;font-weight:600;color:#4b5a6e}
.ne-plan ul{margin:0;padding:0;list-style:none;display:grid;gap:.4rem}
.ne-plan li{display:flex;gap:.5rem;color:#2b3a53;line-height:1.45;font-size:.96rem}
.ne-plan li:before{content:"✓";color:#047857;font-weight:800}
.ne-plan .btn{margin-top:auto;width:100%;font-family:inherit}
.ne-tag{align-self:flex-start;font-size:.78rem;font-weight:800;letter-spacing:.03em;border-radius:100px;padding:.25rem .7rem;background:#e6f1f9;color:#0b4a7a}
.ne-plan.dest .ne-tag{background:#fde8d8;color:#7a2e00}
.ne-nota{margin:1.3rem auto 0;max-width:54rem;text-align:center;color:#4b5a6e;font-size:.95rem;line-height:1.6}
.ne-nota a,.ne-enl{color:#0b5aa0;font-weight:700;text-decoration:underline;text-underline-offset:2px}
.ne-tab-w{margin-top:2rem;background:#fff;border:1px solid #d6e2ee;border-radius:16px;overflow-x:auto}
.ne-tab-w:focus-visible{outline:3px solid #f59e0b;outline-offset:3px}
.ne-tab{width:100%;min-width:640px;border-collapse:collapse;font-size:.95rem;line-height:1.45;color:#0a1a2b}
.ne-tab caption{text-align:left;padding:1rem 1.1rem .4rem;font-weight:800;color:#0a2a44;font-size:1.1rem}
.ne-tab th,.ne-tab td{padding:.7rem .9rem;border-top:1px solid #e4ebf3;text-align:center;vertical-align:middle}
.ne-tab thead th{background:#f5f8fb;color:#0a2a44;font-weight:800}
.ne-tab tbody th{text-align:left;font-weight:600;color:#1f2d3d}
.ne-desliza{font-weight:600;font-size:.85rem;color:#4b5a6e}
@media(min-width:861px){.ne-desliza{display:none}}
.ne-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.4rem,4vw,3rem);align-items:center;margin-top:2.6rem}
.ne-split.rev>figure{order:2}
.ne-split h3{margin:0 0 .7rem;color:#0a2a44;font-size:clamp(1.3rem,2.2vw,1.65rem)}
.ne-split p{margin:0 0 .8rem;color:#3d4b5e;line-height:1.65}
.ne-split figure{margin:0}
.ne-split img{display:block;width:100%;height:auto}
@media(max-width:860px){.ne-split{grid-template-columns:1fr}.ne-split.rev>figure{order:0}}
.ne-logos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
@media(max-width:640px){.ne-logos{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ne-logos li{background:#fff;border:1px solid #e4ebf3;border-radius:14px;display:grid;place-items:center;padding:1.1rem;min-height:104px}
.ne-logos img{max-width:100%;max-height:66px;width:auto;height:auto;object-fit:contain}
.ne .cx-pasos .cx-paso:last-child:nth-child(3n+1){grid-column:1/-1}
@media(min-width:861px){.ne .cx-flujo .cx-paso:nth-child(3n):after,.ne .cx-flujo .cx-paso:nth-child(3n):before{content:none}}
.ne-final-box{display:grid;gap:.7rem}.ne-final-box .btn{width:100%;font-family:inherit}
.ne-final-box p{margin:0;text-align:center;font-size:.9rem;color:#4b5a6e}
.ne-btn-wa{background:#17733f;color:#fff}.ne-btn-wa:hover{background:#115a31;color:#fff;transform:translateY(-2px)}
.ne-form{background:#fff;border:1px solid #d6e2ee;border-radius:18px;padding:clamp(1.2rem,3vw,2rem);display:grid;gap:1rem;box-shadow:0 24px 50px -34px rgba(11,31,63,.5)}
.ne-form label{display:block;font-weight:700;color:#0a2a44;margin-bottom:.3rem}
.ne-form input,.ne-form select,.ne-form textarea{width:100%;box-sizing:border-box;border:1px solid #94a3b8;border-radius:10px;padding:.7rem .8rem;font:inherit;font-size:1rem;background:#fff;color:#0f172a;min-height:46px}
.ne-form input:focus-visible,.ne-form select:focus-visible,.ne-form textarea:focus-visible{outline:3px solid #f59e0b;outline-offset:2px}
.ne-form .btn{justify-self:start;font-family:inherit}
.ne-g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
@media(max-width:640px){.ne-g2{grid-template-columns:minmax(0,1fr)}}
.ne-form-w{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:2rem;align-items:start}
@media(max-width:960px){.ne-form-w{grid-template-columns:minmax(0,1fr)}}
.ne-estado{margin:0;font-weight:600}
.ne-curso{background:#fff;border:1px solid #d6e2ee;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s}
.ne-curso:hover{transform:translateY(-4px);box-shadow:0 22px 44px -26px rgba(11,31,63,.45)}
.ne-curso img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;background:#e6f1f9}
.ne-curso div{padding:1rem 1.15rem 1.2rem;display:flex;flex-direction:column;gap:.4rem;flex:1}
.ne-curso .ne-area{font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#155a86}
.ne-curso h3{margin:0;font-size:1.05rem;line-height:1.35}.ne-curso h3 a{color:#0a2a44}
.ne-curso h3 a:hover{text-decoration:underline}
.ne-curso p{margin:0;color:#4b5a6e;font-size:.92rem}
.ne-curso .ne-pr{margin-top:auto;font-weight:800;color:#0a2a44;font-size:1.1rem}
.ne-curso .ne-pr small{font-weight:600;font-size:.8rem;color:#4b5a6e}
.ne-filtros{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin:0 0 1.6rem}
.ne-filtros button{font:inherit;font-weight:700;font-size:.9rem;min-height:42px;padding:.4rem 1rem;border-radius:999px;border:1.5px solid #c3cfdc;background:#fff;color:#0a2a44;cursor:pointer}
.ne-filtros button[aria-pressed="true"]{background:#0a2a44;border-color:#0a2a44;color:#fff}
.ne-filtros button:focus-visible{outline:3px solid #f59e0b;outline-offset:2px}
.ne-hero-c{text-align:center}
@media (prefers-reduced-motion:reduce){.ne-plan,.ne-curso{transition:none}.ne-plan:hover,.ne-curso:hover{transform:none}}
