/* =====================================================================
   HOJA DE VIDA EN CÓDIGO
   En pantalla es una página adaptable; al imprimir o "Guardar como PDF"
   se acomoda en formato A4 con marca de agua y protección contra cortes.
   Lo usan hoja-de-vida-artista.html y hoja-de-vida-ebanista.html.
   ===================================================================== */

@page {
  size: A4 portrait;
  margin: 10mm 12mm 12mm 12mm;
}

/* Marca de agua del artista en pantalla */
.cv {
  position: relative;
}
.marca-agua-cv {
  position: absolute;
  top: 38%;
  left: 55%;
  transform: translate(-50%, -50%) rotate(-8deg);
  width: min(420px, 60vw);
  height: 280px;
  background: url('../img/marca/firma-oscura.png') no-repeat center / contain;
  opacity: 0.045;
  pointer-events: none;
  z-index: 0;
}

@media print {
  html, body {
    background: #fff !important;
    font-size: 9.2pt;
    color: #2E2621 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .no-imprimir {
    display: none !important;
  }
  .cv {
    box-shadow: none !important;
    margin: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    background: transparent !important;
  }

  /* Marca de agua del artista repetida en cada página del PDF */
  .marca-agua-cv {
    display: block !important;
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) rotate(-8deg) !important;
    width: 140mm !important;
    height: 100mm !important;
    background: url('../img/marca/firma-oscura.png') no-repeat center / contain !important;
    opacity: 0.05 !important;
    pointer-events: none !important;
    z-index: 0 !important;
  }

  /* Evitar cortes indeseados a mitad de texto o bloques */
  .bloque,
  li.bloque,
  section.bloque,
  aside section.bloque,
  .cv header,
  .cv footer {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  /* Los títulos siempre quedan unidos a su contenido */
  h1, h2, h3, h4,
  .cv h2,
  .cv h3 {
    break-after: avoid !important;
    page-break-after: avoid !important;
  }

  /* Convertir li.bloque a bloque en impresión para que break-inside sea 100% respetado */
  li.bloque {
    display: block !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
    margin-top: 2.8mm !important;
    margin-bottom: 2.8mm !important;
  }
  li.bloque > span {
    display: inline-block !important;
    width: 4.8rem !important;
    vertical-align: top !important;
    font-size: 9.5pt !important;
  }
  li.bloque > div {
    display: inline-block !important;
    width: calc(100% - 5.2rem) !important;
    vertical-align: top !important;
  }

  .cv-grid {
    display: grid !important;
    grid-template-columns: 58mm 1fr !important;
    gap: 8mm !important;
  }
  .cv-grid > aside {
    padding: 3mm 5mm 3mm 0 !important;
    background: transparent !important;
    border-right: 1px solid rgba(46,38,33,0.12) !important;
  }
  .cv-grid > div {
    padding: 3mm 0 !important;
  }

  .det-expo {
    display: none;
  }

  .cv header {
    padding: 6mm 8mm !important;
    margin-bottom: 4mm !important;
  }
  .cv h1 {
    font-size: 24pt !important;
    line-height: 1.1 !important;
  }
  .cv h2.text-3xl {
    font-size: 13.5pt !important;
    border-bottom: 1px solid #B8914F;
    padding-bottom: 1.2mm;
    margin-bottom: 2.8mm;
  }
  .cv h3.text-xl {
    font-size: 10.5pt !important;
    line-height: 1.25 !important;
  }
  .cv p, .cv li {
    font-size: 8.2pt !important;
    line-height: 1.35 !important;
  }

  #secciones > section + section,
  .space-y-10 > * + * {
    margin-top: 4.5mm !important;
  }
  ol.space-y-5 > * + * {
    margin-top: 2.5mm !important;
  }
  .space-y-9 > * + * {
    margin-top: 3.5mm !important;
  }

  /* Evitar líneas huérfanas y viudas */
  p, li, h1, h2, h3 {
    orphans: 3 !important;
    widows: 3 !important;
  }

  * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
}
