/* Nexempleo — verificación pública e impresión del certificado.
   Colores y fuentes: solo tokens --nx-* del kit de marca, que se carga antes.
   La hoja del certificado es un documento de tamaño fijo (263 × 194 mm, cabe
   en Carta y en A4 horizontales): dentro de ella las medidas van en unidades
   del contenedor (cqw), para que la pantalla y el papel sean la misma hoja
   a distinta escala. 1cqw = 2,63 mm impreso. */

.nexb-cv{margin:0;background:var(--nx-fondo-suave);color:var(--nx-texto);font-family:var(--nx-font-text);font-size:var(--nx-fs-body);line-height:var(--nx-lh-body)}
.nexb-cv *,.nexb-cv *::before,.nexb-cv *::after{box-sizing:border-box}
.nexb-cv__pagina{max-width:72rem;margin-inline:auto;padding:var(--nx-5) var(--nx-4) var(--nx-7)}

.nexb-cv__cab{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--nx-3);margin-bottom:var(--nx-5)}
.nexb-cv__logo{display:inline-flex}
.nexb-cv__logo img{display:block;width:10rem;height:auto}
.nexb-cv__cab-t{font-size:var(--nx-fs-body-s);font-weight:600;color:var(--nx-texto-secundario)}

.nexb-cv__estado{
  display:flex;flex-direction:column;gap:var(--nx-1);margin-bottom:var(--nx-4);padding:var(--nx-3) var(--nx-4);
  border-radius:var(--nx-radio-m);border-inline-start:var(--nx-1) solid currentColor
}
.nexb-cv__estado strong{font-weight:800}
.nexb-cv__estado span{color:var(--nx-texto)}
.nexb-cv__estado--exito{background:var(--nx-exito-fondo);color:var(--nx-exito)}
.nexb-cv__estado--aviso{background:var(--nx-aviso-fondo);color:var(--nx-aviso)}
.nexb-cv__estado--error{background:var(--nx-error-fondo);color:var(--nx-error)}
.nexb-cv__estado--info{background:var(--nx-info-fondo);color:var(--nx-marino-700)}

/* ── Opciones de impresión ────────────────────────────── */
.nexb-cv__imprimir{
  display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--nx-3) var(--nx-5);margin-bottom:var(--nx-4);
  padding:var(--nx-4);background:var(--nx-fondo);border:1px solid var(--nx-borde);border-radius:var(--nx-radio-l)
}
.nexb-cv__grupo{display:flex;flex-direction:column;gap:var(--nx-2)}
.nexb-cv__grupo-t{font-size:var(--nx-fs-label);font-weight:var(--nx-fw-label)}
.nexb-cv__opciones{display:flex;flex-wrap:wrap;gap:var(--nx-2)}
.nexb-cv__imprimir label{
  position:relative;display:inline-flex;align-items:center;min-height:40px;padding:0 var(--nx-4);cursor:pointer;
  border:1.5px solid var(--nx-pizarra-300);border-radius:var(--nx-radio-m);background:var(--nx-fondo);font-weight:600
}
.nexb-cv__imprimir label input{position:absolute;opacity:0;width:1px;height:1px}
.nexb-cv__imprimir label:has(input:checked){border-color:var(--nx-accion);background:var(--nx-azul-50);color:var(--nx-azul-700)}
.nexb-cv__imprimir label:has(input:focus-visible){box-shadow:0 0 0 4px var(--nx-azul-100)}
.nexb-cv__imprimir .nx-btn{margin-inline-start:auto}
.nexb-cv__ayuda{flex-basis:100%;margin:0;font-size:var(--nx-fs-body-s);line-height:var(--nx-lh-body-s);color:var(--nx-texto-secundario)}

/* ── Hoja del certificado ─────────────────────────────── */
.nexb-cc-marco{container-type:inline-size;width:100%}
.nexb-cc{
  position:relative;display:grid;grid-template-columns:24% 1fr;width:100%;aspect-ratio:263/194;overflow:hidden;
  background:var(--nx-fondo);color:var(--nx-texto);border:1px solid var(--nx-borde);
  -webkit-print-color-adjust:exact;print-color-adjust:exact
}

.nexb-cc__banda{position:relative;overflow:hidden;background:var(--nx-marca);color:var(--nx-pizarra-0)}
.nexb-cc__patron{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.nexb-cc__banda-in{
  position:relative;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:space-between;
  padding:4cqw 2.4cqw 3.6cqw;text-align:center
}
.nexb-cc__logo{display:block;width:15cqw;height:auto}
.nexb-cc__sello{display:block;width:15.5cqw;height:auto}
.nexb-cc__banda-t{margin:0;font-family:var(--nx-font-display);font-size:1.15cqw;font-weight:800;letter-spacing:.24em;text-transform:uppercase}

.nexb-cc--ahorro-solo{display:none!important}
.nexb-cv--ahorro .nexb-cc--color-solo{display:none!important}
.nexb-cv--ahorro .nexb-cc--ahorro-solo{display:block!important}
.nexb-cv--ahorro .nexb-cc__banda{background:var(--nx-fondo-suave);color:var(--nx-marca);border-inline-end:1px solid var(--nx-borde)}

.nexb-cc__cuerpo{position:relative;display:flex;flex-direction:column;padding:4.2cqw 5cqw 2.8cqw 5cqw;min-width:0}
.nexb-cc__cuerpo::before{
  content:"";position:absolute;inset:1.6cqw;pointer-events:none;
  border:.12cqw solid var(--nx-pizarra-300);outline:.06cqw solid var(--nx-pizarra-200);outline-offset:.45cqw
}
.nexb-cc__sobre{
  margin:0 0 2.2cqw;font-family:var(--nx-font-display);font-size:1.2cqw;font-weight:800;letter-spacing:.26em;
  text-transform:uppercase;color:var(--nx-marino-700)
}
.nexb-cc__frase{margin:0;font-size:1.65cqw;line-height:1.4;color:var(--nx-texto-secundario)}
.nexb-cc__nombre{
  margin:1cqw 0 1.4cqw;font-family:var(--nx-font-display);font-size:5cqw;line-height:1.05;letter-spacing:-.02em;
  font-weight:800;color:var(--nx-marca);overflow-wrap:anywhere
}
.nexb-cc__nombre::after{content:"";display:block;width:9cqw;height:.32cqw;margin-top:1.4cqw;background:var(--nx-nexo)}
.nexb-cc__prof{margin:.6cqw 0 1.8cqw;font-size:3cqw;line-height:1.15;font-weight:800;color:var(--nx-marino-700)}
.nexb-cc__texto{margin:0;max-width:56cqw;font-size:1.6cqw;line-height:1.55;color:var(--nx-texto)}

.nexb-cc__datos{display:flex;flex-wrap:wrap;gap:1.2cqw 5cqw;margin:3cqw 0 0;padding-top:2cqw;border-top:.1cqw solid var(--nx-borde)}
.nexb-cc__datos dt{font-size:.95cqw;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--nx-texto-secundario)}
.nexb-cc__datos dd{margin:.4cqw 0 0;font-size:1.6cqw;font-weight:700;font-variant-numeric:tabular-nums}
.nexb-cc__codigo{letter-spacing:.04em}

.nexb-cc__pie{display:flex;align-items:flex-end;justify-content:space-between;gap:3cqw;margin-top:auto;padding-top:2cqw}
.nexb-cc__firma{display:flex;flex-direction:column;gap:.3cqw;font-size:1.05cqw;color:var(--nx-texto-secundario)}
.nexb-cc__firma-linea{display:block;width:22cqw;height:.1cqw;margin-bottom:.8cqw;background:var(--nx-texto)}
.nexb-cc__firma strong{font-size:1.3cqw;color:var(--nx-texto)}
.nexb-cc__verificar{display:flex;align-items:center;gap:1.4cqw;max-width:34cqw;font-size:1cqw;line-height:1.35;color:var(--nx-texto-secundario)}
.nexb-cc__verificar div:last-child{display:flex;flex-direction:column;min-width:0}
.nexb-cc__verificar strong{font-size:1.2cqw;color:var(--nx-texto)}
.nexb-cc__url{font-weight:700;color:var(--nx-texto);overflow-wrap:anywhere}
.nexb-cc__qr{flex:0 0 auto;width:10cqw;height:10cqw;color:var(--nx-marca)}
.nexb-cc__qr svg{display:block;width:100%;height:100%;fill:currentColor}
.nexb-cc__qr-fondo{fill:var(--nx-pizarra-0)}
.nexb-cc__legal{margin:1.6cqw 0 0;font-size:.88cqw;line-height:1.4;color:var(--nx-texto-secundario)}

/* Certificado que ya no vale: se ve, pero marcado y sin opción de imprimir. */
.nexb-cc--anulado .nexb-cc__banda,.nexb-cc--anulado .nexb-cc__cuerpo{filter:grayscale(1);opacity:.55}
.nexb-cc__anulado{
  position:absolute;top:50%;left:58%;margin:0;padding:.6cqw 2.4cqw;transform:translate(-50%,-50%) rotate(-14deg);
  border:.5cqw solid var(--nx-error);border-radius:1cqw;color:var(--nx-error);background:var(--nx-fondo);
  font-family:var(--nx-font-display);font-size:5cqw;font-weight:800;letter-spacing:.12em;text-transform:uppercase
}

.nexb-cv__codigo{margin:0 0 var(--nx-4);overflow-wrap:anywhere}
.nexb-cv__no-valido{display:none;margin:0;font-size:var(--nx-fs-body-l);line-height:var(--nx-lh-body-l)}
.nexb-cv__herramientas{display:flex;flex-wrap:wrap;gap:var(--nx-3);margin-top:var(--nx-5)}
.nexb-cv__herramientas .nx-btn{flex:1 1 12rem}

@media (min-width:48em){
  .nexb-cv__pagina{padding-top:var(--nx-7)}
  .nexb-cv__herramientas .nx-btn{flex:0 0 auto}
}

/* ── Impresión: solo la hoja, a tamaño real ───────────── */
@media print{
  html,body.nexb-cv{background:var(--nx-pizarra-0);height:auto}
  .nexb-cv__pagina{max-width:none;padding:0;margin:0}
  .nexb-cv__pagina>:not(.nexb-cc-marco){display:none!important}
  .nexb-cc-marco{width:263mm;margin:0 auto}
  .nexb-cv--carta .nexb-cc-marco{margin-top:2.9mm}
  .nexb-cc{border:0;break-inside:avoid;page-break-inside:avoid}
  /* Uno que ya no vale no se imprime como si valiera: solo el aviso. */
  .nexb-cc--anulado{display:none}
  .nexb-cv__no-valido{display:block}
}
