/* El diseño del convenio (vista previa y firmado). Ver convenio-texto.js */
.convenio { background: #fff; color: #2a3132; border: 1px solid #e4e1da; border-radius: 18px; padding: 32px; display: grid; gap: 22px; font: 14.5px/1.55 "DM Sans", system-ui, sans-serif }
.convenio h1 { font: 800 26px/1.15 Outfit, sans-serif; color: #001666; margin: 4px 0 0 }
.cv-marca { font: 800 13px Outfit, sans-serif; letter-spacing: .14em; color: #ff5900 }
.cv-sub { margin: 4px 0 0; color: #5f6566; font-size: 13px }
.cv-partes { display: grid; grid-template-columns: 1fr 1fr; gap: 12px }
.cv-partes > div { border: 1px solid #e4e1da; border-radius: 14px; padding: 14px 16px; display: grid; gap: 2px; align-content: start; overflow-wrap: anywhere }
.cv-partes span, .cv-resumen span { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #5f6566 }
.cv-partes b { font: 700 17px Outfit, sans-serif; color: #001666 }
.cv-partes small { color: #5f6566; font-size: 13px }
.cv-resumen { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; background: #f8f6f3; border-radius: 14px; padding: 16px }
.cv-resumen > div { display: grid; gap: 2px }
.cv-resumen b { color: #001666; font-weight: 700; overflow-wrap: anywhere; white-space: pre-line }
.cv-resumen .cv-desc { grid-column: 1 / -1 }
.cv-resumen .cv-desc b { font: 800 20px/1.25 Outfit, sans-serif; color: #ff5900 }
.cv-clausulas { margin: 0; padding-left: 22px; display: grid; gap: 10px }
.cv-clausulas li::marker { font-weight: 700; color: #001666 }
.cv-clausulas b { color: #001666 }
.cv-firmas { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; padding-top: 8px }
.cv-firma { display: grid; gap: 2px; align-content: start }
.cv-trazo { height: 90px; border-bottom: 1.5px solid #001666; display: flex; align-items: flex-end; justify-content: center; margin-bottom: 6px }
.cv-trazo img { max-height: 86px; max-width: 100% }
.cv-uni { font: 700 15px Outfit, sans-serif; color: #1b7a3d; padding-bottom: 10px }
.cv-firma b { color: #001666 }
.cv-firma small { color: #5f6566; font-size: 12.5px }
.cv-firma .cv-sello { font-size: 11.5px; margin-top: 4px }
@media (max-width: 560px) {
  .convenio { padding: 20px 16px; gap: 18px; border-radius: 14px }
  .convenio h1 { font-size: 22px }
  .cv-partes, .cv-resumen, .cv-firmas { grid-template-columns: 1fr }
}
@media print {
  .convenio { border: 0; border-radius: 0; padding: 0; font-size: 12.5px; gap: 14px }
  .cv-resumen { -webkit-print-color-adjust: exact; print-color-adjust: exact }
  .cv-partes, .cv-resumen, .cv-firmas { grid-template-columns: 1fr 1fr }
  .cv-resumen .cv-desc { grid-column: 1 / -1 }
  .cv-firmas { break-inside: avoid }
}
