@import url("document_tool_base.css");

/* Preview: stack company header so long addresses do not break layout */
.letterhead-page .letterhead-preview-header {
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  margin-bottom: 12px;
}

.letterhead-page .preview-company-block {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}

.letterhead-page .preview-doc-block {
  padding-top: 8px;
  border-top: 1px solid var(--doc-line);
  min-width: 0;
  max-width: 100%;
}

.letterhead-page .preview-company-meta,
.letterhead-page .preview-recipient-meta,
.letterhead-page .preview-pane .doc-preview .preview-meta {
  margin-bottom: 0;
  max-width: 100%;
  white-space: normal;
  word-break: break-word;
  overflow-wrap: anywhere;
  hyphens: auto;
}

.letterhead-page .preview-recipient-meta {
  margin-top: 8px;
}

/* Match preview typography to form inputs */
.letterhead-page .preview-pane .doc-preview h3,
.letterhead-page .preview-pane .doc-preview .preview-meta,
.letterhead-page .preview-pane .doc-preview .preview-badge,
.letterhead-page .preview-pane .letter-body-preview,
.letterhead-page .preview-pane .letter-signatory,
.letterhead-page .preview-pane .preview-footer {
  font-size: var(--tool-form-input-size, 0.6875rem) !important;
  line-height: 1.45 !important;
}

.letterhead-page .preview-pane .doc-preview h3 {
  font-weight: 800;
  color: var(--doc-ink);
  margin: 0 0 6px;
}

.letterhead-page .preview-pane .doc-preview .preview-meta strong {
  font-size: inherit !important;
}

.letterhead-page .preview-footer {
  margin-top: 16px;
  padding-top: 8px;
  border-top: 1px solid var(--doc-line);
  color: var(--doc-muted);
  white-space: pre-wrap;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.letterhead-page .signature-field input[type="file"] {
  height: auto;
  padding: 8px 10px;
  font-size: 0.55rem;
}

.letterhead-page .signature-preview {
  margin-top: 8px;
}

.letterhead-page .signature-preview img,
.letterhead-page .doc-signature {
  display: block;
  max-height: 56px;
  max-width: 160px;
  width: auto;
  height: auto;
  object-fit: contain;
}

.letterhead-page .letter-signatory {
  margin-top: 24px;
  max-width: 100%;
}

.letterhead-page .letter-signatory-closing {
  display: block;
  margin-bottom: 10px;
}

.letterhead-page .preview-signature {
  margin: 0 0 8px;
  min-height: 0;
  max-width: 100%;
}

.letterhead-page .preview-signature:not([hidden]) {
  min-height: 40px;
}

.letterhead-page .letter-signatory-details strong {
  display: block;
  margin-bottom: 2px;
}

.letterhead-page .letter-signatory-details span {
  display: block;
}

.letterhead-page .doc-preview {
  min-height: 420px;
  max-height: none;
  min-width: 0;
  max-width: 100%;
  overflow-x: hidden;
  overflow-y: visible;
  box-sizing: border-box;
}

.letterhead-page .doc-preview > * {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.letterhead-page .preview-pane {
  overflow: auto;
}

@media print {
  .letterhead-page .doc-preview {
    max-height: none;
    overflow: visible;
  }

  .letterhead-page .letter-body-preview {
    page-break-inside: auto;
    overflow: visible;
  }

  .letterhead-page .letter-signatory,
  .letterhead-page .preview-footer,
  .letterhead-page .preview-signature {
    page-break-inside: avoid;
  }

  .letterhead-page .doc-signature {
    max-height: 64px;
    max-width: 180px;
  }
}
