/* Integración (Claude, 24-sep-2026) sobre el diseño aprobado de Codex: contactos y reseñas reales.
   Usa los mismos tokens de landing.css; no cambia nada del diseño original. */
.contact-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px;min-width:min(100%,330px)}
.contact-actions .button{justify-content:center;text-align:center}
.contact-mail{color:#c9d6ea;text-align:center;font-size:15px;text-decoration:underline;text-underline-offset:3px}
.reviews .review-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:8px}

@media (max-width:600px){.reviews .review-grid{grid-template-columns:1fr}}
.review{margin:0;padding:24px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(150deg,#fff,#f4f8fe);display:flex;flex-direction:column;gap:12px}
.review .stars{color:#f5a623;letter-spacing:3px;font-size:17px}
.review blockquote{margin:0;color:var(--ink);font-size:16px;line-height:1.5;flex:1}
.review figcaption{font-weight:800;color:var(--ink)}
.review figcaption span{display:block;font-weight:600;color:var(--muted);font-size:13px;margin-top:2px}
.review-foot{color:var(--muted);font-size:13.5px;margin:18px 0 0}

/* Mario (24-sep): "el video tiene una ventana muy chiquita". Era de 240 px en la esquina.
   Ahora es una ventana de video de verdad (16:9) y el botón de play se ve a distancia. */
.hero-preview{width:min(44%,560px);aspect-ratio:16/9;bottom:auto;top:50%;transform:translateY(-50%);right:3%;
  border:2px solid #ffffff55;border-radius:14px;box-shadow:0 18px 50px #000a}
.hero-preview img{opacity:.92}
.hero-preview .preview-overlay{font-size:17px;font-weight:700}
.hero-preview .play-icon{width:74px;height:74px;font-size:26px;background:var(--red);border-color:var(--red)}
.hero-copy{max-width:min(52%,650px)}
@media(min-width:1600px){.hero-preview{bottom:auto}}
@media(max-width:1100px){.hero-preview{width:44%;right:0;bottom:auto}.hero-copy{max-width:52%}}
@media(max-width:800px){
  .hero-preview{position:relative;top:auto;transform:none;width:100%;max-width:none;aspect-ratio:16/9;margin-top:22px}
  .hero-copy{max-width:none}
  .hero-preview .play-icon{width:64px;height:64px}
}
.hero-preview .preview-overlay{align-items:center;justify-content:center;text-align:center;background:linear-gradient(0deg,#031b35cc,#031b3533)}

/* Probadita de cada curso (24-sep): botón en la tarjeta + diálogo con capítulos. */
.course-preview{display:inline-flex;align-items:center;gap:10px;margin:12px 0 4px;padding:10px 16px 10px 10px;border:0;border-radius:999px;
  background:var(--red);color:#fff;font:inherit;font-weight:800;font-size:14.5px;cursor:pointer;align-self:flex-start}
.course-preview:hover{filter:brightness(1.08)}
.course-preview .play-icon{width:30px;height:30px;font-size:11px;background:#ffffff26;border-color:#ffffff66}
#probaditaDialog{width:min(980px,94vw);max-height:94vh;overflow:auto;padding:22px;border:0;border-radius:14px;background:var(--deep);color:#fff}
#probaditaDialog::backdrop{background:#000c}
#probaditaDialog .dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px}
#probaditaDialog h2{margin:4px 0 0;font-size:clamp(20px,3vw,28px)}
.probadita-player{position:relative;aspect-ratio:16/9;background:#000;border-radius:10px;overflow:hidden}
.probadita-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.probadita-capitulos{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
@media(max-width:640px){.probadita-capitulos{grid-template-columns:1fr}}
.probadita-capitulos button{width:100%;display:flex;align-items:center;gap:10px;text-align:left;padding:11px 12px;border:1px solid #ffffff26;
  border-radius:10px;background:#ffffff0d;color:#fff;font:inherit;font-size:14px;cursor:pointer}
.probadita-capitulos button[aria-current="true"]{border-color:var(--red);background:#ed342b26}
.probadita-capitulos .n{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--blue);font-weight:800;font-size:13px}
.probadita-capitulos .t{flex:1}
.probadita-capitulos .d{color:#b9c5d8;font-variant-numeric:tabular-nums}
.probadita-nota{color:#b9c5d8;font-size:13px;margin:12px 0 0}

/* Trade Careers (Mario 24-sep): "no podemos usar la palabra colegio, pero sí trade careers…
   ya tenemos 3 carreras: HVAC, refrigeración, electrical". Mismas tarjetas con foto del diseño. */
.careers .careers-grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:800px){.careers .careers-grid{grid-template-columns:1fr}}
.careers .path-card{min-height:300px}
.careers-foot{color:var(--muted);font-size:14.5px;margin:18px 0 0}

/* Centro de certificación (Mario 24-sep): proctors de HVAC Excellence/ESCO, NATE y OSHA CareerSafe.
   Nombres en texto, sin logos de terceros (requieren permiso de cada organización). */
.cert-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:1100px){.cert-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.cert-grid{grid-template-columns:1fr}}
.cert{padding:24px;border-radius:12px;background:var(--navy);color:#fff;border-top:3px solid var(--blue)}
.cert:nth-child(2){border-top-color:var(--red)}
.cert-name{margin:0 0 8px;font-family:var(--display);font-size:24px;letter-spacing:.2px;text-transform:uppercase}
.cert-what{margin:0;color:#c6d3e4;font-size:15px;line-height:1.5}
.cert-note{margin:10px 0 0;color:#8fa3bd;font-size:12.5px}
.cert-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px;padding:20px 24px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
.cert-cta p{margin:0;color:var(--ink);font-size:16px;font-weight:600}
@media(max-width:800px){.cert-cta{flex-direction:column;align-items:flex-start}}
/* Logos oficiales (bajados de natex.org, escogroup.org, careersafeonline.com). La escuela es proctor.
   CareerSafe trae letras blancas: va directo sobre el navy; los demás sobre placa blanca. */
.cert-logos{display:flex;align-items:center;gap:16px;min-height:84px;margin:-4px 0 16px}
.cert-logos.plate{background:#fff;border-radius:10px;padding:10px 16px;justify-content:center}
.cert-logos img{width:auto;max-width:100%;object-fit:contain}
.cert-cta .button{white-space:nowrap;flex-shrink:0}

/* ═══ Maestro HVACR AI (asistente de admisiones) — logo original en aro luminoso azul/rojo ═══ */
.mhai-fab{position:fixed;right:18px;bottom:max(18px,env(safe-area-inset-bottom));z-index:60;display:flex;align-items:center;gap:12px;
  padding:7px 18px 7px 7px;border:1px solid #ffffff2a;border-radius:999px;background:#04162df2;color:#fff;cursor:pointer;
  font:inherit;box-shadow:0 12px 34px #0007;backdrop-filter:blur(10px)}
.mhai-fab-txt{display:flex;flex-direction:column;text-align:left;line-height:1.15}
.mhai-fab-txt b{font-size:14.5px}.mhai-fab-txt small{font-size:12px;color:#c6d3e4}
.mhai-ring{position:relative;flex:none;width:52px;height:52px;border-radius:50%;display:grid;place-items:center}
.mhai-ring::before{content:"";position:absolute;inset:-3px;border-radius:50%;background:conic-gradient(var(--blue),var(--red),var(--blue));
  animation:mhai-giro 3.2s linear infinite;filter:drop-shadow(0 0 8px #065cffaa)}
.mhai-ring::after{content:"";position:absolute;inset:1px;border-radius:50%;background:#04162d}
.mhai-ring img{position:relative;z-index:1;width:44px;height:44px;border-radius:50%}
.mhai-ring.sm{width:40px;height:40px}.mhai-ring.sm img{width:33px;height:33px}
@keyframes mhai-giro{to{transform:rotate(1turn)}}
@media(prefers-reduced-motion:reduce){.mhai-ring::before{animation:none}}
.mhai-fab.abierto .mhai-fab-txt{display:none}
.mhai-fab.abierto{padding:7px}
@media(max-width:520px){.mhai-fab{right:12px;padding:6px 14px 6px 6px}.mhai-fab-txt small{display:none}.mhai-ring{width:46px;height:46px}.mhai-ring img{width:38px;height:38px}}
.mhai-panel{position:fixed;right:18px;bottom:calc(max(18px,env(safe-area-inset-bottom)) + 76px);z-index:61;width:min(400px,calc(100vw - 24px));
  height:min(600px,calc(100dvh - 120px));display:flex;flex-direction:column;border-radius:16px;overflow:hidden;background:#fff;
  border:1px solid var(--line);box-shadow:0 24px 60px #0006}
.mhai-panel[hidden]{display:none}
@media(max-width:520px){.mhai-panel{right:12px;left:12px;width:auto;height:calc(100dvh - 110px)}}
.mhai-head{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--navy);color:#fff}
.mhai-head div{flex:1;line-height:1.2}.mhai-head b{font-size:15px}.mhai-head small{display:block;color:#c6d3e4;font-size:12px}
.mhai-x{width:36px;height:36px;border-radius:50%;border:1px solid #ffffff44;background:transparent;color:#fff;font-size:22px;cursor:pointer}
.mhai-log{flex:1;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:10px;background:var(--paper)}
.mhai-msg{max-width:86%;padding:10px 13px;border-radius:14px;font-size:14.5px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}
.mhai-msg.ia{align-self:flex-start;background:#fff;border:1px solid var(--line);color:var(--ink);border-bottom-left-radius:4px}
.mhai-msg.yo{align-self:flex-end;background:var(--blue);color:#fff;border-bottom-right-radius:4px}
.mhai-msg.pensando{color:var(--muted);font-style:italic}
.mhai-msg.error{border-color:#f3b6b2;background:#fdeceb;color:#7f1d1d}
.mhai-chips{display:flex;flex-wrap:wrap;gap:8px;padding:10px 14px 0;background:var(--paper)}
.mhai-chips[hidden]{display:none}
.mhai-chips button{border:1px solid var(--blue);background:#fff;color:var(--blue);border-radius:999px;padding:7px 12px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.mhai-form{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--line);background:#fff}
.mhai-form input{flex:1;min-width:0;border:1px solid var(--line);border-radius:999px;padding:11px 14px;font:inherit;font-size:16px}
.mhai-form button{width:44px;height:44px;border:0;border-radius:50%;background:var(--red);color:#fff;font-size:17px;cursor:pointer}
.mhai-legal{margin:0;padding:0 14px 10px;background:#fff;color:var(--muted);font-size:11.5px;line-height:1.4}
.mhai-legal a{color:var(--blue)}

/* "Entrar": lleva a la app web (/app) — cuenta, perfil, avances, exámenes, certificados, número de técnico. */
.header-login{color:#fff;font-weight:700;font-size:14px;text-decoration:none;padding:10px 16px;border-radius:999px;margin-right:10px;white-space:nowrap}
.header-login:hover{background:#ffffff14}
@media(max-width:800px){.header-login{display:none}}

/* Asistente que habla primero: burbuja de saludo (móvil) + puntos de "escribiendo…" */
.mhai-teaser{position:fixed;right:18px;bottom:calc(max(18px,env(safe-area-inset-bottom)) + 78px);z-index:60;max-width:min(300px,calc(100vw - 36px));
  background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:14px 14px 4px 14px;padding:12px 14px;font-size:14.5px;line-height:1.4;
  box-shadow:0 14px 36px #0005;cursor:pointer;animation:mhai-entra .35s ease-out}
.mhai-teaser b{display:block;color:var(--blue);font-size:12.5px;margin-bottom:3px}
.mhai-teaser .cerrar{position:absolute;top:4px;right:8px;border:0;background:none;color:var(--muted);font-size:18px;cursor:pointer}
@keyframes mhai-entra{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.mhai-dots{display:inline-flex;gap:4px}.mhai-dots i{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:mhai-dot 1s infinite}
.mhai-dots i:nth-child(2){animation-delay:.15s}.mhai-dots i:nth-child(3){animation-delay:.3s}
@keyframes mhai-dot{0%,80%,100%{opacity:.3}40%{opacity:1}}
@media(prefers-reduced-motion:reduce){.mhai-teaser,.mhai-dots i{animation:none}}
.curso-link{display:inline-block;margin-top:10px;font-weight:800;color:var(--blue);text-decoration:none}

/* ═══ Cuenta del alumno (iniciar sesión / crear cuenta / mi cuenta) — mismos tokens ═══ */
.cta-modal{width:min(440px,calc(100vw - 24px));border:0;border-radius:16px;padding:26px;background:#fff;color:var(--ink);box-shadow:0 30px 70px #0007}
.cta-modal::backdrop{background:#04162dcc}
.cta-modal .close-dialog{position:absolute;top:12px;right:12px;background:var(--paper);color:var(--ink);border-color:var(--line)}
.cta-modal h2{font-family:var(--display);text-transform:uppercase;font-size:26px;margin:0 36px 6px 0}
.cta-motivo{background:#eef4ff;color:#0b3a8c;border-radius:10px;padding:10px 12px;font-size:14px;margin:8px 0 0}
.cta-tabs{display:grid;grid-template-columns:1fr 1fr;margin:16px 0 12px;border:1px solid var(--line);border-radius:999px;padding:4px}
.cta-tabs button{border:0;background:none;border-radius:999px;padding:9px;font:inherit;font-weight:700;cursor:pointer;color:var(--muted)}
.cta-tabs button[aria-selected="true"]{background:var(--navy);color:#fff}
.cta-social{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:11px;font:inherit;font-weight:700;cursor:pointer}
.cta-apple{margin-top:10px;background:#000;color:#fff;border-color:#000}
.cta-social:disabled{opacity:.6;cursor:wait}
.cta-social:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.cta-google span{font-weight:900;color:#4285f4}
.cta-o{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12.5px;margin:12px 0}.cta-o:before,.cta-o:after{content:"";flex:1;height:1px;background:var(--line)}
.cta-form label{display:block;font-size:13.5px;font-weight:700;margin-bottom:10px}
.cta-form label[hidden]{display:none}
.cta-form input{display:block;width:100%;margin-top:5px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:16px}
.cta-enviar{width:100%;justify-content:center;margin-top:4px}
.cta-msg{border-radius:10px;padding:10px 12px;font-size:14px;margin:10px 0 0}.cta-msg.mal{background:#fdeceb;color:#7f1d1d}.cta-msg.bien{background:#e8f6ec;color:#14532d}
.cta-link{border:0;background:none;color:var(--blue);font:inherit;font-size:13.5px;cursor:pointer;margin-top:10px;padding:0}
.cta-nota{color:var(--muted);font-size:12.5px;margin:14px 0 0}
.cta-menu{position:absolute;z-index:70;width:290px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 20px 50px #0004;padding:8px}
.cta-menu[hidden]{display:none}
.cta-menu .cta-quien{margin:6px 10px 8px;line-height:1.2}.cta-menu .cta-quien small{display:block;color:var(--muted)}
.cta-menu a,.cta-menu button{display:block;width:100%;text-align:left;padding:10px;border:0;background:none;border-radius:8px;color:var(--ink);font:inherit;font-size:14px;text-decoration:none;cursor:pointer}
.cta-menu a:hover,.cta-menu button:hover{background:var(--paper)}
.compra-caja{max-width:640px;margin:10px auto 0;background:#fff;border:1px solid var(--line);border-radius:14px;padding:30px;text-align:center}
.compra-caja h1{font-family:var(--display);text-transform:uppercase;font-size:34px;margin:10px 0}
.compra-caja .icono{font-size:46px}
.compra-caja p{color:var(--muted);font-size:16px}
/* Planes mensuales dentro de la tarjeta "En línea" */
.planes{margin:4px 0 16px;border-top:1px solid var(--line);padding-top:12px}
.planes-tit{font-size:12.5px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--muted);margin:0 0 6px}
.plan{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px dashed var(--line);font-size:14px}
.plan b{color:var(--red);white-space:nowrap}
.plan-btn{flex:none;border:1px solid var(--blue);background:#fff;color:var(--blue);border-radius:999px;padding:6px 12px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.plan-btn:hover{background:var(--blue);color:#fff}
.plan-aviso{background:#fdeceb;color:#7f1d1d;border-radius:8px;padding:8px 10px;font-size:13.5px}

/* Registro contextual desde la muestra, visible durante la reproducción. */
.probadita-conversion{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:16px;margin-top:14px;background:#142c49;border:1px solid #52769c;border-radius:12px}
.probadita-conversion strong{font-size:20px}.probadita-conversion p{margin:6px 0;color:#d2e2f6}
.probadita-conversion .button{white-space:normal;text-align:center;min-height:48px}
.course-register{margin-top:14px;width:100%;white-space:normal;text-align:center;justify-content:center}
.probadita-intro{margin:12px 0 0;color:#d2e2f6;font-size:15px}
.probadita-falla{margin:10px 0 0;background:#fdeceb;color:#7f1d1d;border-radius:8px;padding:8px 10px;font-size:14px}
/* Teléfono: el botón del asistente queda solo como círculo con el logo para no tapar tarjetas. */
@media(max-width:520px){.mhai-fab .mhai-fab-txt{display:none}.mhai-fab{padding:6px}}

/* Información de credenciales: detalles nativos, accesibles sin JavaScript. */
.cert-grid{align-items:start}
.cert-detalle{margin-top:18px;border-top:1px solid #56708b;padding-top:10px}
.cert-detalle summary{cursor:pointer;color:#fff;font-weight:700;font-size:14px;line-height:1.55;padding:8px 0}
.cert-detalle summary:focus-visible,.cert-detalle a:focus-visible{outline:3px solid #73cfff;outline-offset:4px}
.cert-detalle h4{color:#fff;font:700 15px/1.5 var(--body, sans-serif);margin:18px 0 6px}
.cert-detalle p{font-size:14px;line-height:1.65;color:#d6e2ef;margin:0 0 12px}
.cert-detalle a{color:#91d5ff;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.cert-consulta{display:inline-block;font-weight:700;padding:10px 0}
.cert-archivo{margin-top:24px;padding:24px;background:var(--paper);border:1px solid var(--line);border-radius:12px;color:var(--ink)}
.cert-archivo h3{font-size:24px;margin:0 0 14px}.cert-archivo ol{padding-left:22px;line-height:1.7}.cert-archivo li{margin-bottom:12px}.cert-archivo p{line-height:1.6}
.cert-ejemplo{border-left:3px solid var(--blue);padding-left:14px}
.cert-detalle .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Consentimiento antes de cobrar */
.cta-cobro h2{margin:0 0 10px}.cobro-lista{margin:0 0 14px;padding-left:18px;font-size:15px}.cobro-lista li{margin:6px 0}
.cobro-acepto{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;background:#f1f5f9;border-radius:10px;padding:12px}.cobro-acepto input{margin-top:3px;width:18px;height:18px;flex:none}
.cobro-botones{display:flex;gap:10px;justify-content:flex-end;margin-top:14px;flex-wrap:wrap}
/* Especialidades (lista) */
.esp-intro{color:var(--muted);max-width:760px;margin:-6px 0 18px}
.esp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.esp-card{background:#fff;border:1px solid var(--line);border-top:3px solid var(--blue);border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:8px}
.esp-card:nth-child(even){border-top-color:var(--red)}
.esp-card h3{margin:0;font-size:19px;color:var(--ink)}.esp-card p{margin:0;color:var(--muted);font-size:14.5px}
.esp-horas{font-weight:800;color:var(--blue)!important;font-size:13.5px!important}
.esp-btn{margin-top:auto;align-self:flex-start;border:1px solid var(--blue);background:#fff;color:var(--blue);border-radius:999px;padding:8px 14px;font:inherit;font-size:13.5px;font-weight:700;cursor:pointer}
.esp-btn:hover{background:var(--blue);color:#fff}
/* Aviso: la cuenta de la app sirve en el sitio (Mario 25-sep-2026) */
.cta-anuncio{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;background:#065cff;color:#fff;font-size:14px;line-height:1.4;padding:9px 44px 9px 16px;position:relative;text-align:center}
.cta-anuncio[hidden]{display:none}
.cta-anuncio a{color:#fff;font-weight:800;text-decoration:underline;white-space:nowrap}
.cta-anuncio button{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:none;color:#fff;font-size:22px;line-height:1;cursor:pointer;padding:6px}
/* Especialidades: CTA "Suscríbete ahora" (orden 25-sep-2026): rojo, texto blanco, pulso suave SOLO de sombra */
.esp-precio{font-size:13px!important;color:var(--ink)!important;margin:6px 0 10px!important}
.esp-acciones{margin-top:auto;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.esp-sub{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border-radius:999px;background:#ed342b;color:#fff!important;font-weight:800;font-size:14.5px;text-decoration:none;box-shadow:0 0 0 0 rgba(237,52,43,.55);animation:esp-pulso 2.2s ease-out infinite}
.esp-sub:hover{background:#d1261e}
.esp-sub:focus-visible,.esp-temario:focus-visible{outline:3px solid #065cff;outline-offset:3px}
.esp-temario{display:inline-flex;align-items:center;min-height:44px;padding:0 6px;color:var(--blue)!important;font-weight:700;font-size:14px;text-decoration:underline}
@keyframes esp-pulso{0%{box-shadow:0 0 0 0 rgba(237,52,43,.55)}70%{box-shadow:0 0 0 12px rgba(237,52,43,0)}100%{box-shadow:0 0 0 0 rgba(237,52,43,0)}}
@media (prefers-reduced-motion:reduce){.esp-sub{animation:none}}
.prog-enlace{margin:4px 0 14px!important}.prog-enlace a{color:#fff;text-decoration:underline;font-size:14.5px}
.mhai-cta{margin-top:10px;min-height:40px;font-size:14px;animation:none}
