/* AULA.LAB: estilos del sitio público de herramientas. Todo con prefijo a- para no chocar con las herramientas (h-*) ni con el kit.
   Marca JAIME.AI v3 (navy, crema, azul). Escala de 4 px. Elevación: solo borde. Generado a partir de dev/maqueta y luego editado a mano. */

.aula-on{
  --navy:#000050; --cream:#FAFAF0; --white:#fff; --dim:#F2F1E4; --line:#E4E2D2;
  --n70:#4D4D8F; --n55:#65659A; --n20:#CCCCDC; --n10:#E6E6EE;
  --blue:#2563EB; --blue-d:#1D4ED8; --blue-l:#60A5FA;
  /* identidad por familia: icono y fondo tenue (contraste del trazo sobre su fondo >= 3:1) */
  --f-pdf:#2563EB;     --f-pdf-bg:rgba(37,99,235,.09);
  --f-imagen:#BE123C;  --f-imagen-bg:rgba(190,18,60,.08);
  --f-av:#B45309;      --f-av-bg:rgba(180,83,9,.09);
  --f-estudio:#000050; --f-estudio-bg:rgba(0,0,80,.07);
  --f-trabajo:#0F7A5A; --f-trabajo-bg:rgba(15,122,90,.09);
  --ancho:1180px; --gutter:24px;
  --ease:cubic-bezier(.16,1,.3,1);
}
body.aula-on *,body.aula-on *::before,body.aula-on *::after{box-sizing:border-box}

body.aula-on{margin:0;background:var(--cream);color:var(--navy);font:400 16px/1.55 Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
body.aula-on ::selection{background:var(--blue);color:#fff}
.aula-on :focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:2px}
svg.a-i{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex:none}
.a-cont{max-width:var(--ancho);margin:0 auto;padding:0 var(--gutter)}
.a-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.a-saltar{position:absolute;left:12px;top:-60px;background:var(--navy);color:var(--cream);padding:12px 16px;z-index:100;font-weight:700}
.a-saltar:focus{top:12px}

/* ---------- barra superior ---------- */
.a-barra{position:sticky;top:0;z-index:30;background:rgba(250,250,240,.96);border-bottom:1px solid var(--line)}
.a-barra .a-cont{display:flex;align-items:center;gap:24px;min-height:68px}
.a-marca{font:900 24px/1 Inter;letter-spacing:-.045em;text-transform:uppercase;text-decoration:none;color:var(--navy);white-space:nowrap;display:flex;align-items:baseline}
.a-marca i{font-style:normal;color:var(--blue)}
.a-barra nav{display:flex;gap:4px;margin-left:12px}
.a-barra nav a{font:600 15px Inter;color:var(--n70);text-decoration:none;padding:10px 12px;min-height:44px;display:flex;align-items:center;border-radius:2px}
.a-barra nav a:hover{color:var(--navy);background:var(--dim)}
.a-barra .a-der{margin-left:auto;display:flex;gap:8px;align-items:center}
.a-btn{appearance:none;cursor:pointer;font:700 15px Inter;min-height:44px;padding:0 20px;border-radius:999px;border:1px solid var(--navy);background:transparent;color:var(--navy);display:inline-flex;align-items:center;gap:8px;text-decoration:none;transition:background .18s,color .18s,border-color .18s}
.a-btn:hover{background:var(--navy);color:var(--cream)}
.a-btn.a-solido{background:var(--blue);border-color:var(--blue);color:#fff}
.a-btn.a-solido:hover{background:var(--blue-d);border-color:var(--blue-d)}
.a-btn.a-navy{background:var(--navy);color:var(--cream)}
.a-btn.a-navy:hover{background:#1A1A63}
.a-btn.a-claro{background:var(--cream);border-color:var(--cream);color:var(--navy)}
.a-btn.a-claro:hover{background:#fff}

/* ---------- portada ---------- */
.a-hero{padding:72px 0 36px}
.a-hero h1{margin:0;font:900 clamp(34px,5.2vw,64px)/1 Inter;letter-spacing:-.045em;text-transform:uppercase;max-width:20ch}
.a-hero p.a-sub{margin:20px 0 0;font-size:19px;line-height:1.5;color:var(--n70);max-width:54ch}
.a-buscar{margin-top:32px;position:relative;max-width:640px}
.a-buscar .a-lupa{position:absolute;left:18px;top:50%;translate:0 -50%;font-size:22px;color:var(--n55);pointer-events:none}
.a-buscar input{width:100%;min-height:60px;border:1px solid var(--n20);background:#fff;font:500 18px Inter;color:var(--navy);padding:0 120px 0 54px;border-radius:2px}
.a-buscar input::placeholder{color:var(--n55)}
.a-buscar input:focus{outline:2px solid var(--blue);outline-offset:0;border-color:var(--blue)}
.a-buscar kbd{position:absolute;right:16px;top:50%;translate:0 -50%;font:600 13px 'JetBrains Mono',monospace;color:var(--n55);border:1px solid var(--n20);padding:4px 8px;border-radius:2px;background:var(--cream)}
.a-garantias{display:flex;flex-wrap:wrap;gap:8px 28px;margin:28px 0 0;padding:0;list-style:none;font:600 15px Inter;color:var(--n70)}
.a-garantias li{display:flex;align-items:center;gap:8px}
.a-garantias .a-i{color:var(--blue);font-size:18px}

/* ---------- pestañas de familia ---------- */
.a-tabs{position:sticky;top:68px;z-index:20;background:var(--cream);border-bottom:1px solid var(--line);margin-top:24px}
.a-tabs .a-cont{display:flex;gap:8px;overflow-x:auto;padding-top:12px;padding-bottom:12px;scrollbar-width:none}
.a-tabs .a-cont::-webkit-scrollbar{display:none}
.a-tab{appearance:none;cursor:pointer;flex:none;font:700 15px Inter;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--n20);background:#fff;color:var(--navy);display:flex;align-items:center;gap:8px;transition:background .15s,color .15s,border-color .15s}
.a-tab:hover{border-color:var(--navy)}
.a-tab b{font:600 13px 'JetBrains Mono',monospace;color:var(--n55)}
.a-leyenda{margin-left:auto;flex:none;display:flex;align-items:center;gap:8px;font:600 14px Inter;color:var(--n70);padding-left:16px;white-space:nowrap}
.a-leyenda .a-i{font-size:16px;color:var(--n55)}
.a-tab[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:var(--cream)}
.a-tab[aria-pressed=true] b{color:var(--ja-cream-70,#B9B9D6)}

/* ---------- secciones y tarjetas ---------- */
.a-catalogo{padding:40px 0 24px;min-height:60vh}
.a-grupo{margin-bottom:56px}
.a-grupo>header{display:flex;align-items:baseline;gap:16px;margin-bottom:20px;border-bottom:1px solid var(--line);padding-bottom:12px}
.a-grupo h2{margin:0;font:900 22px/1.1 Inter;letter-spacing:-.03em;text-transform:uppercase}
.a-grupo header span{font:600 14px Inter;color:var(--n55)}
.a-grupo header a{margin-left:auto;white-space:nowrap;font:700 14px Inter;color:var(--blue-d);text-decoration:none;display:flex;align-items:center;gap:6px;min-height:44px}
.a-grupo header a:hover{text-decoration:underline}
.a-subtit{margin:28px 0 14px;font:700 12px Inter;letter-spacing:.1em;text-transform:uppercase;color:var(--n55)}
.a-rejilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:16px}
.a-card{position:relative;display:grid;grid-template-columns:48px 1fr;gap:4px 16px;align-content:start;background:#fff;border:1px solid var(--line);padding:20px;text-decoration:none;color:inherit;transition:border-color .18s,transform .22s var(--ease);min-height:112px}
.a-card:hover{border-color:var(--navy);transform:translateY(-2px)}
.a-ico{grid-row:1 / span 2;width:48px;height:48px;display:grid;place-items:center;font-size:24px;border-radius:2px;color:var(--c);background:var(--cb)}
.a-f-pdf{--c:var(--f-pdf);--cb:var(--f-pdf-bg)} .a-f-imagen{--c:var(--f-imagen);--cb:var(--f-imagen-bg)} .a-f-av{--c:var(--f-av);--cb:var(--f-av-bg)} .a-f-estudio{--c:var(--f-estudio);--cb:var(--f-estudio-bg)} .a-f-trabajo{--c:var(--f-trabajo);--cb:var(--f-trabajo-bg)}
.a-card h3{margin:2px 0 0;font:800 16px/1.25 Inter;letter-spacing:-.01em;padding-right:28px}
.a-card p{margin:0;font-size:15px;line-height:1.45;color:var(--n70)}
.a-card .a-cand{position:absolute;right:14px;top:14px;color:var(--n55);font-size:16px;display:flex}
.a-card .a-nuevo{position:absolute;right:14px;top:14px;font:800 11px Inter;letter-spacing:.08em;text-transform:uppercase;background:var(--blue);color:#fff;padding:3px 7px;border-radius:2px}
.a-card.a-cuenta .a-cand{color:var(--n55)}
.a-vacio{padding:56px 0;color:var(--n70);font-size:18px}
.a-vacio b{color:var(--navy)}

/* ---------- lo que viene ---------- */
.a-pronto{margin-top:16px}
.a-pronto .a-lista{display:flex;flex-wrap:wrap;gap:10px}
.a-pill-p{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px 0 12px;border:1px dashed var(--n20);color:var(--n70);font:600 15px Inter;background:transparent}
.a-pill-p .a-i{font-size:18px;color:var(--c)}
.a-pill-p small{font:600 11px Inter;letter-spacing:.06em;text-transform:uppercase;color:var(--n55);border:1px solid var(--n20);padding:2px 6px;border-radius:2px}

/* ---------- ecosistema (llamada a registrarse) ---------- */
.a-eco{background:var(--navy);color:var(--cream);padding:72px 0;margin-top:24px}
.a-eco .a-cont{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.a-eco h2{color:var(--cream);margin:0;font:900 clamp(32px,4.4vw,52px)/1 Inter;letter-spacing:-.04em;text-transform:uppercase}
.a-eco h2 i{font-style:normal;color:var(--blue-l)}
.a-eco p{margin:20px 0 0;font-size:18px;line-height:1.55;color:#B9B9D6;max-width:50ch}
.a-eco .a-acc{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.a-eco ul{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid var(--ja-line-on-navy,rgba(250,250,240,.18))}
.a-eco li{display:grid;grid-template-columns:28px 1fr;gap:14px;padding:20px 0;border-bottom:1px solid rgba(250,250,240,.18)}
.a-eco li .a-i{font-size:22px;color:var(--blue-l);margin-top:2px}
.a-eco li b{display:block;font:800 17px Inter;letter-spacing:-.01em}
.a-eco li span{color:#B9B9D6;font-size:15px;line-height:1.5}

/* ---------- pie ---------- */
.a-pie{padding:56px 0 40px;background:var(--cream)}
.a-pie .a-cols{display:grid;grid-template-columns:1.3fr repeat(5,1fr);gap:28px}
.a-pie h4{margin:0 0 12px;font:700 12px Inter;letter-spacing:.1em;text-transform:uppercase;color:var(--n55)}
.a-pie ul{list-style:none;margin:0;padding:0;display:grid;gap:0}
.a-pie li a{display:flex;align-items:center;min-height:32px;font:500 14px Inter;color:var(--n70);text-decoration:none}
.a-pie li a:hover{color:var(--navy);text-decoration:underline}
.a-pie .a-abajo{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-top:40px;padding-top:20px;border-top:1px solid var(--line);font-size:14px;color:var(--n70)}
.a-pie .a-abajo img{height:14px}
.a-pie .a-marca{font-size:28px}
.a-pie .a-lema{margin:12px 0 0;font-size:14px;color:var(--n70);max-width:28ch;line-height:1.5}

/* ---------- ventana de ingreso ---------- */
dialog.a-dlgd{border:1px solid var(--navy);padding:0;background:var(--cream);color:var(--navy);width:min(440px,calc(100vw - 32px));border-radius:2px}
dialog.a-dlgd::backdrop{background:rgba(0,0,80,.55)}
.a-dlg{padding:32px}
.a-dlg h2{margin:0 0 6px;font:900 26px/1.05 Inter;letter-spacing:-.04em;text-transform:uppercase}
.a-dlg p.a-l{margin:0 0 20px;color:var(--n70);font-size:15px}
.a-dlg .a-tabs2{display:flex;gap:0;border:1px solid var(--n20);margin-bottom:20px}
.a-dlg .a-tabs2 button{flex:1;appearance:none;border:0;background:#fff;min-height:44px;font:700 15px Inter;color:var(--n70);cursor:pointer}
.a-dlg .a-tabs2 button[aria-pressed=true]{background:var(--navy);color:var(--cream)}
.a-dlg label{display:block;font:600 14px Inter;margin-bottom:14px}
.a-dlg input[type=email],.a-dlg input[type=password],.a-dlg input[type=text]{display:block;width:100%;margin-top:6px;min-height:48px;border:1px solid var(--n20);background:#fff;padding:0 14px;font:500 16px Inter;color:var(--navy);border-radius:2px}
.a-dlg .a-chk{display:flex;gap:10px;align-items:flex-start;font-weight:500;font-size:14px;color:var(--n70);line-height:1.45}
.a-dlg .a-chk input{margin-top:3px;width:18px;height:18px;accent-color:var(--blue)}
.a-dlg .a-btn{width:100%;justify-content:center;margin-top:8px}
.a-dlg .a-cerrar{position:absolute;right:8px;top:8px;appearance:none;border:0;background:none;font-size:22px;width:44px;height:44px;cursor:pointer;color:var(--n70);display:grid;place-items:center}
.a-dlg .a-nota{margin:16px 0 0;font-size:13px;color:var(--n55);text-align:center}

/* ---------- página de herramienta ---------- */
.a-migas{display:flex;gap:8px;align-items:center;font:500 14px Inter;color:var(--n70);padding-top:32px;flex-wrap:wrap}
.a-migas a{color:var(--n70);text-decoration:none;min-height:32px;display:flex;align-items:center}
.a-migas a:hover{color:var(--navy);text-decoration:underline}
.a-migas .a-i{font-size:14px;color:var(--n55)}
.a-h-cab{padding:20px 0 8px;text-align:center}
.a-h-cab h1{margin:0;font:900 clamp(36px,5.4vw,60px)/1 Inter;letter-spacing:-.045em;text-transform:uppercase}
.a-h-cab p{margin:16px auto 0;font-size:19px;line-height:1.5;color:var(--n70);max-width:52ch}
.a-tool-garantia{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 24px;margin:20px 0 0;padding:0;list-style:none;font:600 14px Inter;color:var(--n70)}
.a-tool-garantia li{display:flex;gap:8px;align-items:center}
.a-tool-garantia .a-i{color:var(--blue);font-size:16px}
.a-bloque{max-width:760px;margin:72px auto 0}
.a-bloque h2{margin:0 0 20px;font:900 22px/1.1 Inter;letter-spacing:-.03em;text-transform:uppercase}
.a-pasos{list-style:none;margin:0;padding:0;counter-reset:p;display:grid;gap:0;border-top:1px solid var(--line)}
.a-pasos li{counter-increment:p;display:grid;grid-template-columns:44px 1fr;gap:16px;padding:18px 0;border-bottom:1px solid var(--line);font-size:17px;line-height:1.5}
.a-pasos li::before{content:counter(p);font:800 15px 'JetBrains Mono',monospace;color:var(--blue-d);padding-top:2px}
.a-pasos b{font-weight:800}
.a-rel{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.a-rel .a-card{min-height:0;padding:16px;grid-template-columns:40px 1fr;align-items:center}
.a-rel .a-ico{grid-row:auto}
.a-rel .a-ico{width:40px;height:40px;font-size:20px}
.a-rel .a-card h3{font-size:15px}
.a-rel .a-card p{display:none}
.a-faq details{border-bottom:1px solid var(--line);padding:0}
.a-faq summary{cursor:pointer;list-style:none;font:700 17px/1.4 Inter;padding:18px 0;display:flex;justify-content:space-between;gap:16px;align-items:center;min-height:56px}
.a-faq summary::-webkit-details-marker{display:none}
.a-faq summary .a-i{font-size:20px;color:var(--n55);transition:rotate .2s var(--ease)}
.a-faq details[open] summary .a-i{rotate:180deg}
.a-faq p{margin:0 0 18px;color:var(--n70);font-size:16px;max-width:62ch}
.a-gate{max-width:760px;margin:36px auto 0;border:1px solid var(--navy);background:var(--navy);color:var(--cream);padding:32px;text-align:center}
.a-gate h2{color:var(--cream);margin:0;font:900 26px/1.05 Inter;letter-spacing:-.04em;text-transform:uppercase}
.a-gate p{margin:12px auto 20px;color:#B9B9D6;max-width:46ch}

/* ---------- celular ---------- */
@media (max-width:900px){
  .aula-on{--gutter:16px}
  .a-barra .a-marca{min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:21px}
  .a-barra .a-der{flex:none}
  .a-barra .a-der a.a-btn{display:none}
  .a-rel{grid-template-columns:1fr}
  .a-leyenda{display:none}
  .a-barra nav{display:none}
  .a-barra .a-cont{gap:12px;min-height:60px}
  .a-barra .a-btn{padding:0 14px;font-size:14px}
  .a-barra .a-btn.a-solido{display:none}
  .a-tabs{top:60px}
  .a-hero{padding:36px 0 20px}
  .a-hero p.a-sub{font-size:17px}
  .a-buscar kbd{display:none}
  .a-buscar input{padding-right:16px;font-size:17px}
  .a-rejilla{grid-template-columns:1fr;gap:10px}
  .a-card{padding:16px;min-height:0;grid-template-columns:44px 1fr}
  .a-ico{width:44px;height:44px;font-size:22px}
  .a-eco{padding:48px 0}
  .a-eco .a-cont{grid-template-columns:1fr;gap:32px}
  .a-pie .a-cols{grid-template-columns:1fr 1fr}
  .a-pie .a-cols>div:first-child{grid-column:1/-1}
  .a-pie .a-abajo{flex-direction:column;align-items:flex-start}
      .a-pasos li{grid-template-columns:32px 1fr}
  .a-grupo{margin-bottom:40px}
  .a-grupo header span{display:none}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}.a-card:hover{transform:none}}

/* ---------- agregados del sitio real ---------- */
.a-btn.a-oscuro{border-color:rgba(250,250,240,.4);color:var(--cream)}
.a-btn.a-oscuro:hover{background:var(--cream);color:var(--navy)}
.a-btn:disabled{opacity:.6;cursor:default}
.a-enlace{appearance:none;background:none;border:0;padding:0;margin-top:12px;color:var(--blue-d);font:700 14px Inter;text-decoration:underline;cursor:pointer;min-height:44px;width:100%}
.a-err{margin:0 0 8px;padding:10px 12px;border:1px solid var(--ja-danger,#B3241F);background:rgba(179,36,31,.08);color:var(--ja-danger,#B3241F);font:600 14px/1.4 Inter}
.a-hecho h3{margin:0 0 8px;font:800 20px Inter;letter-spacing:-.02em}
.a-hecho p{margin:0;color:var(--n70);font-size:15px}
.a-dlg select{display:block;width:100%;margin-top:6px;min-height:48px;border:1px solid var(--n20);background:#fff;padding:0 12px;font:500 16px Inter;color:var(--navy);border-radius:2px}
.a-dlg a{color:var(--blue-d)}
/* página de una herramienta dentro de AULA.LAB */
.aula-on .h-pagina{padding-top:0;max-width:var(--ancho)}
.a-pagina-cab{padding-top:8px}
.a-pagina-cab h1{margin:0 0 10px;font:900 clamp(30px,4.6vw,48px)/1 Inter;letter-spacing:-.045em;text-transform:uppercase}
.a-pagina-cab p{margin:0;max-width:64ch;font-size:17px;line-height:1.55;color:var(--n70)}
.a-migas{padding-top:24px}
.aula-on .h-zona{padding:44px 20px;background:#fff}
.a-grande{font-size:18px;min-height:60px;padding:0 32px;margin-top:4px}
.aula-on .a-bloque{margin:64px 0 0;max-width:760px}
.aula-on .a-tool-garantia{justify-content:flex-start}
.aula-on .a-gate{margin:0;max-width:none;text-align:left}
.aula-on .a-gate p{margin-left:0}
.aula-on .h-cuerpo{margin-top:24px}
.a-fin{height:56px}

.a-aviso{background:var(--ja-warning-10,rgba(178,106,0,.1));border-bottom:1px solid var(--line);padding:14px 0;font:600 15px/1.4 Inter;color:var(--navy)}
.a-aviso.a-bien{background:rgba(15,122,90,.1)}
