/* CasadeEmpleo — generador de cartas de presentación.
   Solo los estilos del DOCUMENTO (la hoja) y los pocos ajustes de editor que
   la carta no comparte con el CV. Todo lo demás (topbar, stepper, formulario,
   galería, panel de IA, impresión) viene de /cv/cv.css, que se carga antes. */

/* ============ Documento base ============ */
.ct {
  display: block;
  font-family: var(--font-doc);
  font-size: 11.5px;
  line-height: 1.75;
}
.ct .ct-date { font-size: 11px; color: #55595e; margin-bottom: 22px; }
.ct .ct-to { margin-bottom: 22px; font-size: 11px; line-height: 1.6; }
.ct .ct-to .ct-to-name { font-weight: 700; }
.ct .ct-subject { font-weight: 700; font-size: 11.5px; margin-bottom: 18px; }
.ct .ct-greet { font-size: 11.5px; margin-bottom: 14px; }
.ct .ct-body { font-size: 11.5px; line-height: 1.75; margin-top: 0; }
.ct .ct-body p { margin: 0 0 12px; }
.ct .ct-body p:last-child { margin-bottom: 0; }
.ct .ct-ghost { font-size: 11.5px; line-height: 1.75; }
.ct .ct-sign { margin-top: 26px; font-size: 11.5px; }
.ct .ct-sign-name { font-weight: 700; margin-top: 26px; }
.ct .ct-sign-name.ghost { opacity: .35; }

/* ============ Clásica ============ */
.ct-clasico {
  font-family: Georgia, "Times New Roman", serif;
  padding: 56px 64px;
}
.ct-clasico .ct-head { text-align: center; margin-bottom: 30px; }
.ct-clasico .ct-name { font-size: 24px; font-weight: 700; letter-spacing: .08em; }
.ct-clasico .ct-name.ghost { opacity: .35; }
.ct-clasico .ct-role { font-size: 12px; font-style: italic; margin-top: 5px; }
.ct-clasico .ct-contact { font-size: 10.5px; margin-top: 9px; color: #44484c; }
.ct-clasico .ct-rule { width: 100%; height: 2px; margin-top: 18px; }
.ct-clasico .ct-date { text-align: right; }

/* ============ Moderna ============ */
.ct-moderno .ct-band { padding: 40px 56px 30px; }
.ct-moderno .ct-band-name { font-size: 27px; font-weight: 700; letter-spacing: .04em; }
.ct-moderno .ct-band-name.ghost { opacity: .5; }
.ct-moderno .ct-band-role { font-size: 13px; margin-top: 5px; opacity: .92; }
.ct-moderno .ct-band-contact {
  display: flex; flex-wrap: wrap; gap: 6px 20px; margin-top: 14px; font-size: 10px; opacity: .92;
}
.ct-moderno .ct-band-contact span { display: inline-flex; align-items: center; gap: 6px; }
.ct-moderno .ct-band-body { padding: 34px 56px 56px; }

/* ============ Mínima ============ */
.ct-minimo { padding: 56px 60px; }
.ct-minimo .ct-head-left { margin-bottom: 30px; }
.ct-minimo .ct-name-lite { font-size: 30px; font-weight: 400; letter-spacing: -.01em; }
.ct-minimo .ct-name-lite.ghost { opacity: .35; }
.ct-minimo .ct-role-caps { font-size: 11px; font-weight: 700; letter-spacing: .2em; margin-top: 6px; }
.ct-minimo .ct-contact { font-size: 10px; color: #6b7075; margin-top: 10px; }

/* ============ Celestial ============ */
.ct-celestial { display: flex; }
.ct-celestial .ct-cel-main { padding: 56px 44px; }

/* ============ Ajustes del editor ============ */
/* La carta no tiene selector de plantillas de 6: el popup cabe en 2 columnas. */
.tplgrid-carta { grid-template-columns: repeat(2, 1fr); }
/* Tarjetas de estructura sugerida a una columna (los textos son párrafos). */
.struct-grid-carta { grid-template-columns: 1fr; }
