/*
 * documento.css — Caraíbas Portal
 *
 * Design System dos documentos gerados (Checklist, Proposta Comercial).
 * Referenciado como arquivo externo via <link> pelo base.js — necessário
 * para respeitar o CSP (style-src 'self') sem 'unsafe-inline'.
 *
 * Fontes: Cormorant Garamond e Manrope já são carregadas pela SPA do portal.
 * Não há necessidade de re-importar via @import aqui.
 */

/* ── Tokens do Design System ───────────────────────────────────── */
:root {
  --color-primary:      #183C34;
  --color-primary-dark: #102B26;
  --color-primary-mid:  #2D574E;
  --color-base:         #F4F0E7;
  --color-base-soft:    #FBF8F2;
  --color-accent:       #B59A67;
  --color-text:         #1D2A26;
  --color-text-muted:   #6E716A;
  --color-border:       #D9D2C6;

  --font-display: "Cormorant Garamond", Georgia, serif;
  --font-body:    "Manrope", Inter, sans-serif;

  --space-1: 8px;
  --space-2: 16px;
  --space-3: 24px;
  --space-4: 32px;
  --space-5: 48px;
}

/* ── Garantia de fidelidade de cores na impressão/canvas ────────── */
* {
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

/* ── Reset e dimensões A4 ──────────────────────────────────────── */
.documento-a4,
.documento-a4 * {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.documento-a4 {
  width: 210mm;
  background: var(--color-base);
  color: var(--color-text);
  font-family: var(--font-body);
  font-size: 11pt;
  line-height: 1.5;
}

/* ── Cabeçalho ─────────────────────────────────────────────────── */
.documento-a4 .cabecalho {
  background: var(--color-primary);
  color: var(--color-base);
  padding: 20px 28px 18px;
  display: flex;
  align-items: center;
  gap: 20px;
  border-bottom: 3px solid var(--color-accent);
}

.documento-a4 .cabecalho__logo {
  height: 48px;
  width: auto;
  flex-shrink: 0;
}

.documento-a4 .cabecalho__texto {
  flex: 1;
}

.documento-a4 .cabecalho__empresa {
  font-family: var(--font-display);
  font-size: 18pt;
  font-weight: 600;
  letter-spacing: 0.03em;
  color: var(--color-base);
  line-height: 1.1;
}

.documento-a4 .cabecalho__titulo {
  font-family: var(--font-body);
  font-size: 9.5pt;
  font-weight: 500;
  color: var(--color-accent);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-top: 3px;
}

/* ── Conteúdo ──────────────────────────────────────────────────── */
.documento-a4 .conteudo {
  padding: 24px 28px 20px;
}

/* ── Rodapé (fluxo normal — não fixo, para compatibilidade com html2canvas) */
.documento-a4 .rodape {
  background: var(--color-primary-dark);
  color: var(--color-text-muted);
  font-size: 7.5pt;
  padding: 7px 28px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid var(--color-accent);
  margin-top: 8px;
}

.documento-a4 .rodape__marca {
  font-family: var(--font-display);
  font-size: 8pt;
  color: var(--color-accent);
  font-weight: 600;
}

/* ── Metadados ─────────────────────────────────────────────────── */
.documento-a4 .metadados {
  background: var(--color-base-soft);
  border: 1px solid var(--color-border);
  border-left: 4px solid var(--color-accent);
  padding: 14px 18px;
  margin-bottom: var(--space-4);
  border-radius: 0 4px 4px 0;
}

.documento-a4 .metadados__linha {
  display: flex;
  gap: 32px;
  flex-wrap: wrap;
}

.documento-a4 .metadados__campo {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.documento-a4 .metadados__rotulo {
  font-size: 7.5pt;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-text-muted);
}

.documento-a4 .metadados__valor {
  font-size: 10pt;
  font-weight: 500;
  color: var(--color-text);
  word-wrap: break-word;
  overflow-wrap: break-word;
}

/* ── Seções ────────────────────────────────────────────────────── */
.documento-a4 .secao {
  display: block;           /* Sobrepõe .secao { display: none } do layout.css do portal */
  margin-bottom: var(--space-4);
  page-break-inside: avoid;
}

.documento-a4 .secao__titulo {
  font-family: var(--font-display);
  font-size: 13pt;
  font-weight: 600;
  color: var(--color-primary);
  border-left: 4px solid var(--color-accent);
  padding-left: 10px;
  margin-bottom: 6px;
  letter-spacing: 0.02em;
  page-break-after: avoid;
}

.documento-a4 .secao__descricao {
  font-size: 9pt;
  color: var(--color-text-muted);
  margin-bottom: 10px;
  padding-left: 14px;
}

/* ── Tabela de documentos ──────────────────────────────────────── */
.documento-a4 .tabela {
  width: 100%;
  border-collapse: collapse;
  font-size: 9.5pt;
}

.documento-a4 .tabela thead {
  background: var(--color-primary);
  color: var(--color-base);
}

.documento-a4 .tabela thead th {
  padding: 7px 10px;
  text-align: left;
  font-weight: 600;
  font-size: 8pt;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.documento-a4 .tabela tbody tr:nth-child(odd) {
  background: var(--color-base-soft);
}

.documento-a4 .tabela tbody tr:nth-child(even) {
  background: white;
}

.documento-a4 .tabela tbody td {
  padding: 7px 10px;
  border-bottom: 1px solid var(--color-border);
  vertical-align: top;
}

.documento-a4 .tabela__link {
  color: var(--color-primary-mid);
  text-decoration: none;
  font-size: 8.5pt;
}

/* ── Badges ────────────────────────────────────────────────────── */
.documento-a4 .badge {
  display: inline-block;
  font-size: 7.5pt;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 999px;
  background: var(--color-accent);
  color: var(--color-primary-dark);
  letter-spacing: 0.04em;
}

.documento-a4 .badge--opcional {
  background: var(--color-border);
  color: var(--color-text-muted);
}

/* ── Observação ────────────────────────────────────────────────── */
.documento-a4 .observacao {
  font-size: 8.5pt;
  color: var(--color-text-muted);
  font-style: italic;
  margin-top: 6px;
  padding-left: 14px;
}

/* ── Proposta: Precificação ────────────────────────────────────── */
.documento-a4 .precificacao {
  background: var(--color-base-soft);
  border: 1px solid var(--color-border);
  border-left: 4px solid var(--color-accent);
  border-radius: 0 4px 4px 0;
  padding: 14px 18px;
}

.documento-a4 .precificacao__linha {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 8px 0;
  border-bottom: 1px solid var(--color-border);
  gap: 16px;
}

.documento-a4 .precificacao__linha:last-child {
  border-bottom: none;
}

.documento-a4 .precificacao__linha--obs {
  align-items: flex-start;
}

.documento-a4 .precificacao__rotulo {
  font-size: 8.5pt;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-text-muted);
  flex-shrink: 0;
}

.documento-a4 .precificacao__valor {
  font-size: 10.5pt;
  font-weight: 500;
  color: var(--color-text);
  text-align: right;
}

.documento-a4 .precificacao__linha:first-child .precificacao__valor {
  font-family: var(--font-display);
  font-size: 14pt;
  font-weight: 600;
  color: var(--color-primary);
}
