/* Documento de contrato / carta responsiva (pantalla e impresión). Hoja blanca, tipografía sobria:
   es un documento legal, no lleva la estética arcade del sitio. */
.cv-doc{background:#fff;color:#1d2530;font-family:Arial,Helvetica,sans-serif;font-size:12.5px;line-height:1.5;max-width:816px;margin:0 auto;padding:44px 52px;border-top:5px solid #1f3a56;box-sizing:border-box;text-align:justify}
.cv-doc h1{font-size:20px;color:#1f3a56;text-align:center;margin:0 0 14px;letter-spacing:.3px;line-height:1.25}
.cv-doc h1 span{display:block;font-size:13px;font-weight:400;color:#3b4a5a;letter-spacing:.8px;margin-top:2px}
.cv-doc h2{font-size:13.5px;color:#1f3a56;margin:16px 0 6px;letter-spacing:.4px}
.cv-doc p{margin:0 0 8px}
.cv-doc b{color:#111}
.cv-grid{display:grid;gap:6px 18px;margin:4px 0 10px}
.cv-grid-2{grid-template-columns:1fr 1fr}
.cv-grid-3{grid-template-columns:1fr 1fr 1fr}
.cv-grid>div{border-bottom:1px solid #9aa6b2;min-height:34px;padding-bottom:2px;text-align:left}
.cv-grid small{display:block;font-size:9.5px;font-weight:700;color:#5b6b7b;text-transform:uppercase;letter-spacing:.3px}
.cv-grid .cv-linea{display:none}
.cv-dato{font-weight:700;color:#0b1a2a}
.cv-linea{display:inline-block;border-bottom:1px solid #4a5662;height:1em;vertical-align:baseline}
.cv-check{white-space:nowrap;margin-right:6px}
.cv-firmas{display:grid;grid-template-columns:1fr 1fr;gap:46px 60px;margin:46px 10px 18px;page-break-inside:avoid;break-inside:avoid}
.cv-firma{text-align:center}
.cv-firma span{display:block;border-top:1px solid #1d2530;margin-bottom:4px}
.cv-firma b{display:block;font-size:12px}
.cv-firma em{font-style:normal;font-size:11px;color:#5b6b7b}
.cv-aviso{font-size:10px;color:#6b7785;font-style:italic;text-align:center;margin-top:14px}
@media (max-width:640px){
  .cv-doc{padding:24px 16px;font-size:12px}
  .cv-grid-3{grid-template-columns:1fr 1fr}
  .cv-firmas{gap:36px 22px;margin:34px 0 14px}
}
@media print{
  @page{size:letter;margin:14mm 14mm 14mm 14mm}
  .cv-doc{max-width:none;padding:0;border-top:4px solid #1f3a56;padding-top:10px;font-size:11.5px}
  .cv-grid-3{grid-template-columns:1fr 1fr 1fr}
  .cv-grid>div{min-height:30px}
}
.cv-doc .cv-izq{text-align:left}

/* ---- Página de la herramienta (formulario) ---- */
.cv-descargas{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-top:16px;font-size:15px}
.cv-descargas span{color:var(--text-muted)}
.cv-descargas a{color:var(--green);text-decoration:underline}
.cv-form .form-step-title{margin-top:22px}
.cv-form .form-step-title:first-child{margin-top:0}
.cv-grid-form{display:grid;grid-template-columns:repeat(3,1fr);gap:0 16px}
.cv-nota{font-size:14px;color:var(--text-muted);margin:4px 0 12px}
.cv-docs{border:1px solid var(--border);border-radius:8px;padding:12px 14px;margin:10px 0 14px;display:flex;flex-wrap:wrap;gap:8px 18px}
.cv-docs legend{padding:0 6px;color:var(--text-dim)}
.cv-docs label{display:flex;gap:8px;align-items:center;font-size:16px}
.cv-docs .field{flex-basis:100%;margin:4px 0 0}
.cv-acciones{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:8px}
#cv-salida{margin:14px 0 24px;border-radius:6px;overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.08)}
.cv-cta{max-width:816px;margin:0 auto}
@media (max-width:760px){.cv-grid-form{grid-template-columns:1fr 1fr}}
@media (max-width:460px){.cv-grid-form{grid-template-columns:1fr}}
/* Respaldo si el navegador bloquea la ventana de impresión: imprime solo el documento. */
@media print{
  .site-header,.site-footer,footer,.hero,#cv-form,.cv-acciones,.cv-nota,.cv-cta,.blog-article,.bg,.amx-bc{display:none!important}
  #cv-salida{margin:0;box-shadow:none}
  body,html{background:#fff!important}
}
