/* ═══════════════════════════════════════════════════════════════════════════
   EL PDF PARA IMPRENTA · js/kora-pdf-imprenta.js                    7 oct 2026
   `#printRoot.imp` es el mismo #printRoot del PDF digital, así que hereda todas
   sus reglas (la escala del verso en cqw, lo que no se imprime). Aquí solo
   cambia el pliego: cada `.imp-hoja` es una página del PDF, y adentro el spread
   se mira por una ventana (ver el porqué en el .js).
   ═══════════════════════════════════════════════════════════════════════════ */
/* Va fuera de @media print a propósito: la revisión de resolución
   (`revisarResolucion`) maqueta el interior en pantalla, escondido, para medir
   cada imagen contra su tamaño en papel. En pantalla #printRoot no se ve,
   salvo con `.imp-medir`, y entonces fuera de la vista. */
#printRoot.imp-medir{ display:block !important; position:fixed; left:-40000px; top:0; visibility:hidden; pointer-events:none }
#printRoot.imp .imp-hoja{
  position:relative; overflow:hidden; contain:strict; background:#fff; margin:0;
  page-break-after:always; break-after:page; page-break-inside:avoid; break-inside:avoid;
}
#printRoot.imp .imp-hoja:last-child{ page-break-after:auto; break-after:auto }
/* El spread: mismas medidas que el PDF digital (las pone el .js en mm),
   sin saltos propios — el salto es de la hoja. */
#printRoot.imp .imp-hoja > .full-spread{
  position:absolute; margin:0 !important; display:flex; overflow:visible;
  page-break-after:auto; break-after:auto;
}
/* El spread llena su caja: el keepsake trae un tope de ancho del editor. */
#printRoot.imp .imp-hoja > .full-spread > .spread{ width:100% !important; max-width:none !important; height:100% !important; margin:0 !important }
#printRoot.imp button, #printRoot.imp .km-edit-btn{ display:none !important }

/* ── LO QUE SE MIDE CONTRA LA VENTANA ──────────────────────────────────────
   Unos cuantos textos de las hojas tienen el tamaño en `vw` (contra el ancho
   de la VENTANA). Al imprimir, la ventana es la hoja (~840 px) y caían al
   piso de su clamp: la dedicatoria del keepsake salía al 80 %, el título de
   la portada interior al 78 %. Aquí van al tamaño que tienen en «Ver libro
   completo» en una pantalla normal, que es el techo de cada clamp. La
   especificidad es baja a propósito: las reglas de #printRoot que ya los
   miden contra la hoja (cqw), como la dedicatoria de Kids, siguen ganando. */
#printRoot.imp .dedic-text{ font-size:20px }
#printRoot.imp .ci-title{ font-size:38px }
#printRoot.imp .ci-sub{ font-size:17px }
#printRoot.imp .ci-nombre{ font-size:33px }
#printRoot.imp .ci-nombre + .ci-title{ font-size:17px }
#printRoot.imp .kcover-interior .kcov-sub{ font-size:14.5px }
#printRoot.imp .kids-verse p{ font-size:23px }

/* ── la portada extendida ── */
#printRoot.imp .imp-forro{ background:#FAF6EF }
#printRoot.imp .imp-panel{ position:absolute; box-sizing:border-box }
#printRoot.imp .imp-frente{ overflow:hidden }
#printRoot.imp .imp-frente-caja{ position:absolute; left:0; top:0; transform-origin:0 0 }
#printRoot.imp .imp-frente-caja > .spread{
  width:100%; height:100%; display:block; margin:0 !important; box-shadow:none !important;
  border:0 !important; border-radius:0 !important; background:transparent !important;
}
#printRoot.imp .imp-frente-caja > .spread > .pg{ width:100% !important; height:100% !important; display:flex; align-items:stretch; justify-content:stretch; padding:0 !important; box-shadow:none !important; background:transparent }
#printRoot.imp .imp-frente .cover-sheet,
#printRoot.imp .imp-frente .kcover{
  width:100% !important; height:100% !important; max-width:none !important; aspect-ratio:auto !important;
  border:0 !important; border-radius:0 !important; box-shadow:none !important; margin:0 !important;
}
/* El lomo dibujado y el canto son del libro de muestra en pantalla: en el
   papel, el lomo es el de verdad. */
#printRoot.imp .imp-frente .cover-sheet::before, #printRoot.imp .imp-frente .cover-sheet::after,
#printRoot.imp .imp-frente .kcover::before, #printRoot.imp .imp-frente .kcover::after{ display:none !important }

#printRoot.imp .imp-contra{ display:flex; flex-direction:column; align-items:center; justify-content:flex-end; padding-bottom:16mm; color:var(--imp-tinta,#5C5246) }
#printRoot.imp .imp-contra-k{ font-family:var(--font-display); font-size:7mm; letter-spacing:.24em; text-transform:uppercase; opacity:.8 }
#printRoot.imp .imp-contra-w{ font-family:var(--font-body,inherit); font-size:2.6mm; letter-spacing:.18em; margin-top:2mm; opacity:.6 }
#printRoot.imp .imp-lomo{ display:flex; align-items:center; justify-content:center; color:var(--imp-tinta,#5C5246) }
#printRoot.imp .imp-lomo span{
  writing-mode:vertical-rl; white-space:nowrap; font-family:var(--font-display);
  letter-spacing:.14em; text-transform:uppercase; display:flex; align-items:center; gap:6mm;
}
#printRoot.imp .imp-lomo i{ font-style:normal; opacity:.7; letter-spacing:.24em }

/* Una acuarela vieja que todavía trae su papel blanco: sobre el color de la
   portada, el blanco se funde (multiplicar es lo que hace la tinta sobre un
   papel de color). Las de ahora ya vienen sin fondo, y a ésas no les cambia nada. */
#printRoot.imp .imp-frente img{ mix-blend-mode:multiply }

/* ── la portadilla y el colofón (primera y última página) ── */
#printRoot.imp .imp-portadilla, #printRoot.imp .imp-colofon{ display:flex; justify-content:center; text-align:center; color:#6B5F52 }
#printRoot.imp .imp-portadilla{ align-items:flex-start }
#printRoot.imp .imp-portadilla p{ margin:34% 0 0; font-family:var(--font-display); font-size:5.2mm; letter-spacing:.06em }
#printRoot.imp .imp-colofon{ align-items:flex-end }
#printRoot.imp .imp-colofon p{ margin:0 0 24mm; font-family:var(--font-display); font-size:3.4mm; letter-spacing:.12em; line-height:1.9 }
#printRoot.imp .imp-colofon span{ font-family:var(--font-body,inherit); font-size:2.4mm; letter-spacing:.16em; opacity:.75 }

/* La liga del equipo en «Ver libro completo» (fullImprentaHTML, app.js). */
.fw-imprenta{ font-size:12.5px; color:var(--taupe,#7A6E62); text-decoration:underline; text-underline-offset:3px; white-space:nowrap; margin-left:12px }

/* ── la pantalla de imprenta (/?imprenta=…), solo para Kora ── */
#impFondo{
  position:fixed; inset:0; z-index:900; overflow-y:auto; background:var(--cream,#F6F1E8);
  display:flex; justify-content:center; padding:40px 16px;
}
body.imp-abierta{ overflow:hidden }
.imp-cuerpo{ width:100%; max-width:720px }
.imp-k{ font-size:12px; letter-spacing:.22em; text-transform:uppercase; color:var(--sand,#A89A86); margin:0 0 .4rem }
.imp-h{ font-family:var(--font-display); font-weight:400; font-size:clamp(26px,3.4vw,36px); margin:0 0 1rem }
.imp-cargando{ font-size:16px; color:var(--taupe,#7A6E62); margin:2rem 0 1rem }
.imp-nota{ font-size:13.5px; color:var(--taupe,#7A6E62); background:#FBF8F2; border:1px solid #E8DFD0; border-radius:10px; padding:10px 14px; margin:0 0 1rem }
.imp-ojo{ border-color:#E2B9A6; background:#FBF1EC; color:#8A4A33 }
.imp-ficha{ width:100%; border-collapse:collapse; background:#FFFDF9; border:1px solid #E8DFD0; border-radius:12px; overflow:hidden; font-size:14.5px; margin:0 0 1.4rem }
.imp-ficha th, .imp-ficha td{ text-align:left; padding:10px 14px; border-bottom:1px solid #F0E9DD; vertical-align:top }
.imp-ficha th{ width:38%; font-weight:500; color:var(--taupe,#7A6E62) }
.imp-ficha small{ color:var(--sand,#A89A86) }
.imp-btns{ display:flex; gap:12px; flex-wrap:wrap; margin-bottom:1rem }
.imp-btn{ font:inherit; font-size:15px; padding:13px 22px; border-radius:12px; border:0; background:var(--clay,#6E6152); color:#fff; cursor:pointer }
.imp-btn[disabled]{ opacity:.4; cursor:default }
.imp-h3{ font-family:var(--font-display); font-weight:400; font-size:21px; margin:1.6rem 0 .7rem }
.imp-como{ font-size:13px; color:var(--taupe,#7A6E62) }
@media print{ #impFondo{ display:none !important } }


/* ═══ EL ARTE DEL RELIEVE ═════════════════════════════════════ 10 oct 2026
   Carolina: «¿cómo le hago para que me entregue el archivo de la letra?».
   Una tapa de lino no se imprime, se arma: la tela no lleva tinta, la acuarela
   sí, y las letras se GRABAN. El troquel del relieve se corta siguiendo el
   contorno de la letra, así que ese archivo lleva SOLO las letras, en negro
   sobre blanco, y nada más — ni la tela, ni la acuarela, ni el marco.
   Es el mismo forro, en la misma hoja y con la misma geometría: así la
   imprenta lo puede encimar sobre el de posición y todo cae en su lugar.
   Va en el PDF como TEXTO, no como imagen: el navegador escribe las letras en
   curvas y de ahí se corta el troquel. Por eso este archivo no se exporta como
   JPG nunca. */
#printRoot.imp-relieve .imp-forro,
#printRoot.imp-relieve .imp-forro *{
  background:#fff !important; background-image:none !important;
  box-shadow:none !important; text-shadow:none !important;
  border-color:transparent !important; filter:none !important;
}
/* Todo lo que se graba, en negro pleno: un gris le dice a la imprenta
   «medio tono», y un troquel no tiene medios tonos. */
#printRoot.imp-relieve .imp-forro,
#printRoot.imp-relieve .imp-forro *{ color:#000 !important; -webkit-text-fill-color:#000 !important }
/* Y lo que NO se graba desaparece: la acuarela, la textura de la tela, el moño
   de Navidad, cualquier imagen o dibujo.
   Con `visibility` y no con `display`: la caja de la acuarela tiene que SEGUIR
   OCUPANDO SU LUGAR aunque no se vea. Si se quitara, el título subiría y este
   archivo dejaría de calzar sobre el de posición — que es justo lo único que
   este archivo tiene que hacer bien. */
#printRoot.imp-relieve .cover-mat,
#printRoot.imp-relieve .cover-tela,
#printRoot.imp-relieve .kcov-art,
#printRoot.imp-relieve .kcov-mono,
#printRoot.imp-relieve img,
#printRoot.imp-relieve svg{ visibility:hidden !important }

/* Los dos botones de la tapa de lino, debajo de su rótulo. Van más discretos
   que los dos de arriba: el interior y el forro son de todos los libros; estos
   dos son de una tapa en particular. */
.imp-sub{ margin:1.4rem 0 .5rem; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--sand,#9B8E74) }
.imp-btn-2{ font-size:14px }
.imp-btn-2 small{ display:block; font-size:11px; opacity:.7; letter-spacing:.04em; margin-top:2px }
