/* curriculumvitaeonline.com — generador (formulario, vista previa, plantillas e impresión) */
.cv-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:22px;align-items:start}
.cv-col1,.cv-col2,.rejilla>*,.tarjeta>*{min-width:0}
.cv-col2{position:sticky;top:10px}
.cv-pestanas{display:none}
@media(max-width:920px){
  .cv-cols{grid-template-columns:minmax(0,1fr)}
  .cv-col2{position:static}
  .cv-pestanas{display:flex;gap:6px;position:sticky;top:0;z-index:5;background:#fff;padding:6px 0}
  .cv-pestanas button{flex:1;padding:10px;border:1px solid var(--borde);background:#f4f7fa;border-radius:8px;font:inherit;font-weight:600}
  .cv-pestanas button[aria-selected=true]{background:var(--azul);color:#fff;border-color:var(--azul)}
  #cv-app:not(.ver) .cv-col2{display:none}
  #cv-app.ver .cv-col1{display:none}
}
.bloque{border:1px solid var(--borde);border-radius:10px;margin:0 0 10px;background:#fff}
.bloque>summary{cursor:pointer;font-weight:700;padding:12px 14px;font-size:17px;list-style-position:inside}
.bloque[open]>summary{border-bottom:1px solid var(--borde)}
.bloque>.ayuda{margin:10px 14px 0}
.rejilla{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2px 12px;padding:8px 14px 12px}
.rejilla>*{grid-column:1/-1}
.rejilla>.campo:not(.ancho):not(.check){grid-column:auto}
@media(max-width:520px){.rejilla,.tarjeta{grid-template-columns:minmax(0,1fr)}.rejilla>.campo:not(.ancho){grid-column:1/-1}}
.ayuda{color:var(--gris);font-size:14px;margin:.6em 0}
.tarjeta{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2px 12px;border:1px dashed var(--borde);border-radius:8px;padding:10px;margin:8px 0}
.campo{display:flex;flex-direction:column;gap:2px;margin:6px 0;min-width:0}
.campo input[type=file]{max-width:100%;font-size:14px}
.campo.ancho{grid-column:1/-1}
.campo label{font-size:14px;font-weight:600;color:#33414f}
.campo small{color:var(--gris);font-size:13px}
.campo input[type=text],.campo input[type=email],.campo input[type=tel],.campo input[type=url],.campo input[type=month],.campo select,.campo textarea{
  font:inherit;font-size:16px;padding:8px 10px;border:1px solid #b9c5d0;border-radius:6px;width:100%;background:#fff}
.campo textarea{resize:vertical}
.campo input:focus,.campo textarea:focus,.campo select:focus{outline:2px solid #7fa8cf;border-color:var(--azul)}
.campo.check{flex-direction:row;align-items:center;gap:8px;grid-column:1/-1}
.campo.check input{width:20px;height:20px}
.campo.check label{font-weight:400}
.acciones{grid-column:1/-1;display:flex;gap:8px;justify-content:flex-end}
.mini{font:inherit;font-size:14px;padding:6px 10px;border:1px solid #b9c5d0;background:#f5f8fb;border-radius:6px;cursor:pointer;color:var(--texto);text-decoration:none;display:inline-block}
.mini:hover{background:#e9eff5}
.mini.peligro{color:var(--rojo);border-color:#e3b5b1}
.mas{font:inherit;font-weight:600;color:var(--azul);background:none;border:1px dashed var(--azul);border-radius:8px;padding:8px 12px;cursor:pointer;width:100%}
.botones{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.oculto{display:none}
.boton-label{cursor:pointer}
textarea.oculto+*{margin-top:0}
.cv-barra{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:6px}
.b-sel{font-size:14px;font-weight:600;display:flex;align-items:center;gap:6px}
.b-sel select{font:inherit;font-size:15px;padding:6px;border:1px solid #b9c5d0;border-radius:6px}

.aviso-pag{font-size:14px;color:var(--verde);margin:4px 0}
.aviso-pag.mal{color:var(--naranja)}
.cv-alerta{font-size:14px;color:var(--azul);min-height:1em;margin:0}
.revisor{list-style:none;padding:0;margin:0}
.revisor li{padding:6px 8px 6px 30px;position:relative;font-size:15px;border-bottom:1px solid #eef2f5}
.revisor li:before{position:absolute;left:6px;top:6px;font-weight:700}
.revisor .mal:before{content:"✕";color:var(--rojo)}
.revisor .ojo:before{content:"!";color:var(--naranja);left:11px}
.revisor .info:before{content:"i";color:var(--azul);left:11px;font-style:italic}
.revisor .bien:before{content:"✓";color:var(--verde)}
.rev-res{font-weight:700;margin:8px 0}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.chips span{font-size:14px;padding:3px 9px;border-radius:12px}
.chips.faltan span{background:#fff1e0;color:#7a3e00}
.chips.estan span{background:#e6f4ea;color:#1d5c36}

/* ---------- hoja A4 ---------- */
.hoja,.hoja *{box-sizing:border-box}
.hoja-env{overflow:hidden;border:1px solid var(--borde);border-radius:6px;background:#e9edf1;box-shadow:inset 0 0 0 1px #fff}
.hoja{--c:#1f4e79;--esc:1;width:210mm;min-height:297mm;background:#fff;color:#222;transform-origin:0 0;
  font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:calc(10.4pt*var(--esc));line-height:1.38;padding:calc(15mm*var(--esc)) calc(15mm*var(--esc));
  -webkit-print-color-adjust:exact;print-color-adjust:exact;overflow-wrap:anywhere}
.hoja h2,.hoja h3,.hoja p,.hoja ul{margin:0}
.hoja ul{padding-left:1.2em}
.hoja li{margin:.12em 0}
.h-nombre{font-size:calc(23pt*var(--esc));line-height:1.1;color:var(--c);font-weight:700}
.h-puesto{font-size:calc(12.5pt*var(--esc));color:#444;margin-top:.15em}
.h-contacto{font-size:calc(9.5pt*var(--esc));color:#333;margin-top:.5em}
.h-sec{margin-top:calc(10pt*var(--esc))}
.h-sec h3{font-size:calc(10.5pt*var(--esc));text-transform:uppercase;letter-spacing:.06em;color:var(--c);border-bottom:1.5px solid var(--c);padding-bottom:2px;margin-bottom:calc(5pt*var(--esc))}
.h-item{margin-bottom:calc(6pt*var(--esc));break-inside:avoid}
.h-item-cab{display:flex;justify-content:space-between;gap:10px}
.h-fecha{color:#555;white-space:nowrap;font-size:.92em}
.h-sub{color:#444;font-style:italic}
.h-cab{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.h-foto{width:30mm;height:30mm;object-fit:cover;border-radius:4px;flex:none}
.h-chips{display:flex;flex-wrap:wrap;gap:4px}
.h-chips span{border:1px solid currentColor;border-radius:10px;padding:0 7px;font-size:.92em}
/* clásica */
.t-clasica .h-cab{border-bottom:3px solid var(--c);padding-bottom:8pt}
.t-clasica .h-nombre{font-family:Georgia,"Times New Roman",serif}
.t-clasica .h-chips span{color:var(--c)}
/* moderna */
.t-moderna{display:grid;grid-template-columns:62mm 1fr;padding:0}
.t-moderna .h-lat{background:var(--c);color:#fff;padding:calc(14mm*var(--esc)) 7mm;min-height:297mm}
.t-moderna .h-lat .h-sec h3{color:#fff;border-color:rgba(255,255,255,.6)}
.t-moderna .h-lat ul{list-style:none;padding:0}
.t-moderna .h-lat li{margin:.3em 0}
.t-moderna .h-email{font-size:.8em;letter-spacing:-.01em;overflow-wrap:normal;word-break:break-all}
.t-moderna .h-foto{width:44mm;height:44mm;border-radius:50%;display:block;margin:0 auto 6mm;border:3px solid rgba(255,255,255,.7)}
.t-moderna .h-prin{padding:calc(14mm*var(--esc)) 11mm calc(12mm*var(--esc)) 9mm}
.t-moderna .h-chips span{color:#fff}
/* compacta */
.t-compacta{font-size:calc(9.6pt*var(--esc));padding:12mm 13mm}
.t-compacta .h-cab{background:#f3f5f7;margin:-12mm -13mm 0;padding:10mm 13mm 6mm;border-top:5px solid var(--c)}
.t-compacta .h-sec h3{border:0;background:var(--c);color:#fff;display:inline-block;padding:1px 8px;border-radius:3px}
.t-compacta .h-foto{width:24mm;height:24mm;border-radius:50%}
/* para filtros automáticos: una columna, sin color, sin foto, títulos estándar */
.t-ats{--c:#000;font-family:Arial,Helvetica,sans-serif}
.t-ats .h-nombre{font-size:calc(20pt*var(--esc))}
.t-ats .h-sec h3{letter-spacing:0;border-bottom-width:1px}
.t-ats .h-sub{font-style:normal}
/* carta */
.hoja.carta{font-size:11pt;line-height:1.55;padding:22mm 22mm}
.carta .c-cab{border-bottom:2px solid var(--c);padding-bottom:6pt;margin-bottom:14pt;display:flex;flex-direction:column}
.carta .c-cab b{font-size:15pt;color:var(--c)}
.carta .c-cab span{font-size:9.5pt;color:#444}
.carta .c-fecha{text-align:right;margin-bottom:14pt}
.carta p{margin:0 0 10pt;white-space:pre-line}

/* ---------- impresión: solo la hoja (también si se pulsa Ctrl+P), sin páginas en blanco ---------- */
@page{size:A4;margin:0}
@media print{
  html,body{margin:0;padding:0;background:#fff}
  body>*:not(main){display:none!important}
  main{padding:0!important;margin:0!important;max-width:none!important}
  main>*:not(article),article>*:not(.cv-app){display:none!important}
  .cv-pestanas,.cv-col1,.cv-barra,.aviso-pag,.cv-alerta,.cv-col2>p{display:none!important}
  .cv-cols{display:block!important}
  .cv-col2{display:block!important;position:static!important}
  .hoja-env{border:0;overflow:visible;height:auto!important;background:none;border-radius:0;box-shadow:none}
  .hoja{transform:none!important;margin:0}
  .t-moderna .h-lat{min-height:297mm}
}
.b-descargas{display:flex;gap:8px;margin-left:auto}
.btn-sec{background:#fff;color:var(--azul);border:1.5px solid var(--azul)}
.btn-sec:hover{background:var(--claro)}
@media print{.b-descargas{display:none!important}}
