/* Equivalencias entre certificados de inglés · estilos propios (los comunes, en comun.css) */
:root { --lv-A:#fde7b0; --lv-B:#c9efdd; --lv-C:#2fae84; }

.wt-ejemplos { margin-top:16px; font-size:.88rem; color:rgba(255,255,255,.7); display:flex; flex-wrap:wrap; gap:6px 8px; align-items:center; }
.wt-ejemplos a { color:#fff; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.25); border-radius:100px; padding:3px 12px; font-weight:600; text-decoration:none; }
.wt-ejemplos a:hover { background:rgba(255,255,255,.22); }
.wt-ejemplos a:focus-visible { outline:2px solid #6ee7b7; outline-offset:2px; }

/* ─── La herramienta ─── */
.eq { margin-top:-32px; margin-bottom:56px; position:relative; scroll-margin-top:110px; }
.eq-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:22px; align-items:start; }
.eq-card { background:var(--bg-surface); border:1px solid var(--border); border-radius:var(--radius-lg); box-shadow:var(--shadow-md); padding:22px; min-width:0; }
.eq-card:focus { outline:none; }
.eq-card:focus-visible { outline:2px solid var(--mint); outline-offset:2px; }
.eq-campo { margin-bottom:16px; }
.eq-campo label { display:block; font-weight:700; color:var(--navy); font-size:.92rem; margin-bottom:6px; }
.eq-campo select, .eq-num input {
  width:100%; font-family:inherit; font-size:1rem; color:var(--navy); font-weight:600;
  padding:11px 12px; border:1px solid var(--border); border-radius:12px; background:var(--bg-body); min-width:0;
}
.eq-campo select:focus, .eq-num input:focus { outline:2px solid var(--mint); outline-offset:1px; background:#fff; }
.eq-num { display:flex; align-items:center; gap:10px; }
.eq-num input { max-width:140px; font-size:1.15rem; font-weight:700; text-align:center; font-variant-numeric:tabular-nums; }
.eq-num span { font-size:.85rem; color:var(--text-muted); font-weight:600; white-space:nowrap; }
.eq-err { font-size:.88rem; color:#b42318; font-weight:600; min-height:1px; }
.eq-err:empty { display:none; }

/* Resultado */
.eq-res { position:sticky; top:96px; }
.eq-label { display:block; font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--text-muted); }
.eq-top { display:flex; align-items:center; gap:16px; margin-top:10px; padding:16px 18px; border-radius:16px; background:#f3f4f6; }
.eq-top.lv-A { background:var(--lv-A); }
.eq-top.lv-B { background:var(--lv-B); }
.eq-top.lv-C { background:var(--lv-C); }
.eq-nivel { font-family:'Plus Jakarta Sans',sans-serif; font-weight:800; font-size:3rem; line-height:1; color:var(--navy); letter-spacing:-.04em; min-width:72px; }
.eq-txt { min-width:0; }
.eq-txt b { display:block; font-family:'Plus Jakarta Sans',sans-serif; font-size:1.2rem; color:var(--navy); line-height:1.2; }
.eq-txt span { display:block; font-weight:600; color:var(--dark-soft); font-size:.92rem; overflow-wrap:anywhere; }
.eq-top.lv-C .eq-nivel, .eq-top.lv-C .eq-txt b, .eq-top.lv-C .eq-txt span { color:#fff; }
.eq-vacio .eq-nivel { color:#9ca3af; }
.eq-explica { font-size:.93rem; color:var(--dark-soft); margin-top:10px; }
.eq-notas { list-style:none; margin-top:10px; display:flex; flex-direction:column; gap:6px; }
.eq-notas li { font-size:.86rem; color:#92591a; background:#fdf6e7; border-radius:10px; padding:8px 12px; }
.eq-info { font-size:.88rem; color:var(--dark-soft); margin-top:10px; }
.eq-directa { margin-top:14px; background:var(--navy-tint); border-radius:12px; padding:12px 14px; }
.eq-directa p { font-size:.9rem; color:var(--navy); margin-top:4px; }
.eq-otros { margin-top:18px; }
.eq-otros ul { list-style:none; margin-top:6px; }
.eq-otros li { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:4px 12px; padding:8px 0; border-top:1px solid var(--border); font-size:.9rem; }
.eq-otros li b { color:var(--navy); }
.eq-otros li span { color:var(--dark-soft); font-variant-numeric:tabular-nums; }
.eq-otros li.eq-no span { color:var(--text-muted); font-style:italic; }
.eq-uni { margin-top:14px; border-left:3px solid var(--mint); padding:4px 0 4px 12px; }
.eq-uni p { font-size:.88rem; color:var(--dark-soft); margin-top:4px; }
.eq-fuente { margin-top:14px; font-size:.8rem; color:var(--text-muted); }
.eq-fuente a, .eq-sec .fuente a, .eq-sec p a, .eq-sec li a { color:var(--mint-deep); font-weight:600; }
.eq-aviso { margin-top:12px; font-size:.78rem; color:var(--text-muted); line-height:1.5; }

/* ─── Secciones de texto: tabla general, universidad, FAQ ─── */
.eq-sec { max-width:900px; margin:0 auto 64px; }
.eq-sec h2 { font-size:1.5rem; letter-spacing:-.03em; margin-bottom:12px; }
.eq-sec h2:not(:first-child) { margin-top:40px; }
.eq-sec h3 { font-size:1.1rem; margin:22px 0 8px; }
.eq-sec p { font-size:.95rem; margin-bottom:10px; }
.eq-sec ul.eq-puntos { margin:0 0 12px 1.2em; font-size:.95rem; }
.eq-sec ul.eq-puntos li { margin-bottom:6px; }
.eq-sec .fuente { font-size:.82rem; color:var(--text-muted); margin-top:12px; }
.eq-recuerda { background:var(--navy-tint); border-radius:14px; padding:14px 18px; color:var(--navy); font-weight:600; font-size:.95rem; margin:18px 0; }
.eq-cta { display:flex; flex-wrap:wrap; gap:14px 22px; align-items:center; justify-content:space-between; background:var(--bg-surface); border:1px solid var(--border); border-radius:var(--radius-lg); box-shadow:var(--shadow-sm); padding:20px 22px; margin-top:28px; }
.eq-cta p { margin:0; color:var(--dark-soft); flex:1 1 280px; }
.eq-cta-links { display:flex; flex-wrap:wrap; gap:10px; }
.eq-btn { display:inline-block; text-decoration:none; font-weight:700; font-size:.9rem; padding:10px 18px; border-radius:100px; background:var(--navy); color:#fff; }
.eq-btn:hover { background:var(--navy-light); }
.eq-btn.sec { background:var(--mint-tint); color:var(--mint-deep); }
.eq-btn.sec:hover { background:#d6f5e8; }
.eq-btn:focus-visible { outline:2px solid var(--mint); outline-offset:2px; }

/* Tablas fijas, escritas en el HTML para que se lean sin JS */
.tabla-scroll { overflow-x:auto; background:var(--bg-surface); border:1px solid var(--border); border-radius:14px; }
.tabla-scroll:focus-visible { outline:2px solid var(--mint); outline-offset:2px; }
.tabla-eq { width:100%; border-collapse:collapse; font-size:.88rem; min-width:720px; }
.tabla-eq.estrecha { min-width:440px; }
.tabla-eq th, .tabla-eq td { padding:10px 12px; text-align:left; border-bottom:1px solid var(--border); vertical-align:top; }
.tabla-eq td { font-variant-numeric:tabular-nums; white-space:nowrap; }
.tabla-eq thead th { color:var(--text-muted); font-size:.76rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; white-space:nowrap; }
.tabla-eq thead th.nv { color:var(--navy); font-size:.9rem; letter-spacing:0; }
.tabla-eq tbody th { color:var(--navy); font-weight:700; min-width:150px; }
.tabla-eq tbody th small { display:block; font-weight:500; color:var(--text-muted); font-size:.76rem; }
.tabla-eq tbody tr:last-child th, .tabla-eq tbody tr:last-child td { border-bottom:0; }
.tabla-eq .no { color:#9ca3af; }
.tabla-notas { list-style:none; margin-top:10px; font-size:.82rem; color:var(--text-muted); }
.tabla-notas li { margin-bottom:4px; }

/* Preguntas frecuentes */
.eq-sec details { background:var(--bg-surface); border:1px solid var(--border); border-radius:14px; padding:14px 18px; margin-bottom:10px; }
.eq-sec summary { cursor:pointer; font-weight:700; color:var(--navy); list-style:none; display:flex; justify-content:space-between; gap:12px; }
.eq-sec summary::-webkit-details-marker { display:none; }
.eq-sec summary::after { content:'+'; color:var(--text-muted); font-weight:500; }
.eq-sec details[open] summary::after { content:'−'; }
.eq-sec summary:focus-visible { outline:2px solid var(--mint); outline-offset:4px; border-radius:6px; }
.eq-sec details p { margin:8px 0 0; font-size:.94rem; color:var(--text-main); }
.eq-fuentes { margin:8px 0 0 1.2em; font-size:.85rem; color:var(--text-muted); }
.eq-fuentes li { margin-bottom:5px; overflow-wrap:anywhere; }

@media (max-width:900px) {
  .eq-grid { grid-template-columns:1fr; }
  .eq-res { position:static; }
}
@media (max-width:520px) {
  .eq-card { padding:18px 16px; }
  .eq-nivel { font-size:2.4rem; min-width:56px; }
  .eq-otros li { grid-template-columns:1fr; gap:0; }
  .eq-sec h2 { font-size:1.3rem; }
}
