/* V241: clean final-output typography and stable experience metadata. */
.preview-content .experience,
.print-pages .experience,
.pdf-render-stage .experience {
  /* Experiencias sao unidades completas e precisam de separacao propria.
     Empresa, Cargo e Responsabilidades permanecem agrupados internamente. */
  gap: 5.5mm !important;
}

/* A paginacao final distribui os itens diretamente nas folhas e pode remover
   o container .experience. A margem adjacente e, portanto, a regra efetiva. */
.preview-content .experience-block + .experience-block,
.print-pages .experience-block + .experience-block,
.pdf-render-stage .experience-block + .experience-block {
  margin-top: 5.5mm !important;
}

/* Regra padrao das saidas: o ritmo antes dos titulos permanece uniforme e o
   primeiro conteudo recebe uma folga propria de 4.5mm. Isso separa claramente
   cabecalho e dados sem modificar o documento editavel. */
.preview-content .section-heading-row,
.print-pages .section-heading-row,
.pdf-render-stage .section-heading-row {
  margin-bottom: 4.5mm !important;
}

/* O contraste vem tambem da reducao exata de 0.5mm nos itens compactos. As
   experiencias usam uma regra mais ampla porque carregam tres sub-blocos. */
.preview-content .formation-list,
.print-pages .formation-list,
.pdf-render-stage .formation-list {
  gap: 2.7mm !important;
}

.preview-content .formation + .formation,
.print-pages .formation + .formation,
.pdf-render-stage .formation + .formation {
  margin-top: 2.7mm !important;
}

.preview-content .course + .course,
.print-pages .course + .course,
.pdf-render-stage .course + .course {
  margin-top: max(4.5mm, 17px) !important;
}

.preview-content .experience-block,
.print-pages .experience-block,
.pdf-render-stage .experience-block {
  align-items: start !important;
  row-gap: 1.7mm !important;
}

.preview-content .experience-block .responsibilities,
.print-pages .experience-block .responsibilities,
.pdf-render-stage .experience-block .responsibilities {
  margin-top: 0 !important;
}

.preview-content .experience-block .responsibilities > strong,
.print-pages .experience-block .responsibilities > strong,
.pdf-render-stage .experience-block .responsibilities > strong {
  margin-bottom: 3px !important;
}

.preview-content .experience-block > .period-range,
.print-pages .experience-block > .period-range,
.pdf-render-stage .experience-block > .period-range {
  /* Regra definitiva: a data fica verticalmente no meio da linha formada por
     Empresa e Cargo. Nao substituir por alinhamento ao topo. */
  align-self: center !important;
  margin-top: 0 !important;
}

.preview-content .experience-block .line,
.print-pages .experience-block .line,
.pdf-render-stage .experience-block .line {
  align-items: flex-start !important;
}

.preview-content .experience-block .line strong,
.print-pages .experience-block .line strong,
.pdf-render-stage .experience-block .line strong,
.preview-content .experience-block .line .cv-output-field-value,
.print-pages .experience-block .line .cv-output-field-value,
.pdf-render-stage .experience-block .line .cv-output-field-value {
  line-height: 1.4 !important;
  text-align: left !important;
}

/* A custom title is an input only in Edit mode. Preview, print and PDF receive
   a heading with no field chrome or editable state. */
.preview-content .cv-output-custom-heading,
.print-pages .cv-output-custom-heading,
.pdf-render-stage .cv-output-custom-heading {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #000 !important;
  font: 700 14pt/1.2 Arial, Helvetica, sans-serif !important;
  text-align: left !important;
  text-transform: uppercase !important;
}

.preview-content .custom-section,
.print-pages .custom-section,
.pdf-render-stage .custom-section {
  gap: 4.5mm !important;
}
