/* ══════════════════════════════════════════════════════════════
   PRESET actas_comunidad · Dossier Estratégico y Bancario A4
   Adquisición de Oficina de Farmacia por Tramos e IRPF
   Tipografía: 'Inter' (títulos, metadatos, tablas y cajas) + 'Merriweather' (cuerpo editorial Serif)
   Paleta: Azul institucional #1B3A5C, azul secundario #2B6CB0, esmeralda #0F766E, texto #1A202C
══════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Merriweather:ital,wght@0,300;0,400;0,700;1,300&display=swap');

*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

@page {
  size: A4 portrait;
  margin: 10.5mm 13.5mm 11.5mm 13.5mm;
  @top-left {
    content: "ADQUISICIÓN DE OFICINA DE FARMACIA · MODELO IRPF Y COMUNIDAD DE BIENES";
    font-family: 'Inter', sans-serif;
    font-size: 6.3pt;
    font-weight: 600;
    letter-spacing: 1pt;
    text-transform: uppercase;
    color: #718096;
    vertical-align: bottom;
    padding-bottom: 2mm;
  }
  @top-right {
    content: "PLAN FINANCIERO Y ESTRATEGIA DE COMPRA POR TRAMOS";
    font-family: 'Inter', sans-serif;
    font-size: 6.3pt;
    font-weight: 600;
    letter-spacing: 1pt;
    text-transform: uppercase;
    color: #1B3A5C;
    vertical-align: bottom;
    padding-bottom: 2mm;
  }
  @bottom-left {
    content: "Documento Ejecutivo Bancario · Estimación Directa IRPF (Ley 35/2006) & Fondo de Comercio ERD (Art. 12.2 y 103 LIS)";
    font-family: 'Inter', sans-serif;
    font-size: 6.3pt;
    color: #A0AEC0;
  }
  @bottom-right {
    content: "Página " counter(page) " de " counter(pages);
    font-family: 'Inter', sans-serif;
    font-size: 6.8pt;
    font-weight: 600;
    color: #4A5568;
  }
}

@page :first {
  @top-left  { content: none; }
  @top-right { content: none; }
}

body {
  font-family: 'Merriweather', Georgia, serif;
  font-size: 7.7pt;
  line-height: 1.34;
  color: #1A202C;
  background: #ffffff;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
  orphans: 2;
  widows: 2;
}

.page-container {
  max-width: 210mm;
  margin: 0 auto;
}
@media screen {
  .page-container { padding: 10.5mm 13.5mm; }
}

.nueva-pagina {
  page-break-before: always;
  break-before: always;
}

.keep-together {
  page-break-inside: avoid;
  break-inside: avoid;
}

.doc-header {
  text-align: center;
  border-bottom: 2px solid #1B3A5C;
  padding-bottom: 4pt;
  margin-bottom: 4.5pt;
}
.doc-header-subtitle {
  font-family: 'Inter', sans-serif;
  font-size: 6.3pt;
  font-weight: 700;
  letter-spacing: 1.8pt;
  text-transform: uppercase;
  color: #1B3A5C;
  margin-bottom: 1.5pt;
}
.doc-title {
  font-family: 'Inter', sans-serif;
  font-size: 11.8pt;
  font-weight: 800;
  color: #0D1F33;
  line-height: 1.15;
  text-transform: uppercase;
  letter-spacing: 0.3pt;
  margin-bottom: 1.5pt;
}
.doc-sublegal {
  font-family: 'Inter', sans-serif;
  font-size: 7.2pt;
  font-weight: 500;
  color: #4A5568;
  font-style: italic;
}

.metadata-card {
  background-color: #F8FAFC;
  border: 1px solid #CBD5E0;
  border-left: 3.5px solid #1B3A5C;
  padding: 3.8pt 7.5pt;
  margin-bottom: 4.5pt;
  border-radius: 0 3pt 3pt 0;
  font-family: 'Inter', sans-serif;
  font-size: 7pt;
  color: #2D3748;
  line-height: 1.3;
  page-break-inside: avoid;
  break-inside: avoid;
}
.metadata-card.grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2pt 10pt;
}
.metadata-card strong {
  color: #1B3A5C;
  font-weight: 700;
}

.kpi-strip {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 4pt;
  margin-bottom: 5pt;
  font-family: 'Inter', sans-serif;
  page-break-inside: avoid;
  break-inside: avoid;
}
.kpi-box {
  background: #F8FAFC;
  border: 1px solid #CBD5E0;
  border-top: 2.5px solid #1B3A5C;
  border-radius: 2.5pt;
  padding: 3pt 4pt;
  text-align: center;
}
.kpi-box.accent-emerald {
  border-top-color: #0F766E;
  background: #F0FDFA;
}
.kpi-box.accent-blue {
  border-top-color: #2B6CB0;
  background: #EFF6FF;
}
.kpi-lbl {
  font-size: 5.6pt;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.3pt;
  color: #4A5568;
  display: block;
}
.kpi-val {
  font-size: 8.6pt;
  font-weight: 800;
  color: #0D1F33;
  display: block;
  margin: 0.8pt 0;
}
.kpi-box.accent-emerald .kpi-val { color: #0F766E; }
.kpi-box.accent-blue .kpi-val { color: #1E40AF; }
.kpi-sub {
  font-size: 5.5pt;
  color: #718096;
  display: block;
}

.titulo-seccion {
  font-family: 'Inter', sans-serif;
  font-size: 8.2pt;
  font-weight: 800;
  color: #1B3A5C;
  text-transform: uppercase;
  letter-spacing: 0.45pt;
  border-bottom: 1.5px solid #1B3A5C;
  padding-bottom: 1.5pt;
  margin-top: 4.5pt;
  margin-bottom: 2.5pt;
  page-break-after: avoid;
  break-after: avoid;
}

p {
  text-align: justify;
  hyphens: auto;
  text-wrap: pretty;
  margin-bottom: 2.5pt;
  font-size: 7.6pt;
  line-height: 1.33;
  color: #2D3748;
  page-break-inside: avoid;
  break-inside: avoid;
}

.caja-resalte {
  background: #EFF6FF;
  border: 1px solid #BFDBFE;
  border-left: 3.5px solid #1B3A5C;
  padding: 3pt 6.5pt;
  margin: 2pt 0 3pt 0;
  border-radius: 0 2.5pt 2.5pt 0;
  font-family: 'Inter', sans-serif;
  page-break-inside: avoid;
  break-inside: avoid;
}
.caja-resalte p {
  font-family: 'Inter', sans-serif;
  color: #1E3A8A;
  font-size: 7.1pt;
  line-height: 1.3;
  margin-bottom: 0;
}

.caja-exito {
  background: #F0FDFA;
  border: 1px solid #99F6E4;
  border-left: 3.5px solid #0F766E;
  padding: 3pt 6.5pt;
  margin: 2pt 0 3pt 0;
  border-radius: 0 2.5pt 2.5pt 0;
  font-family: 'Inter', sans-serif;
  page-break-inside: avoid;
  break-inside: avoid;
}
.caja-exito p {
  font-family: 'Inter', sans-serif;
  color: #115E59;
  font-size: 7.1pt;
  line-height: 1.3;
  margin-bottom: 0;
}

.tabla-fincas {
  width: 100%;
  border-collapse: collapse;
  font-family: 'Inter', sans-serif;
  font-size: 6.4pt;
  margin: 2pt 0 3pt 0;
  page-break-inside: avoid;
  break-inside: avoid;
}
.tabla-fincas th {
  background: #1B3A5C;
  color: #ffffff;
  font-weight: 600;
  padding: 1.8pt 3pt;
  border: 1px solid #1B3A5C;
  text-transform: uppercase;
  letter-spacing: 0.1pt;
  text-align: center;
  white-space: nowrap;
}
.tabla-fincas td {
  padding: 1.5pt 3pt;
  border: 1px solid #CBD5E0;
  color: #2D3748;
  text-align: right;
  white-space: nowrap;
}
.tabla-fincas td.td-center { text-align: center; }
.tabla-fincas td.td-left { text-align: left; white-space: normal; }
.tabla-fincas tr:nth-child(even) { background: #F8FAFC; }
.tabla-fincas tr.fila-hito td {
  background: #ECFDF5;
  font-weight: 700;
  color: #065F46;
  border-top: 1.2px solid #059669;
  border-bottom: 1.2px solid #059669;
}
