/*
  VERSIÓN PARA IMPRIMIR / PDF
  Se activa con ?print=1 (o al imprimir desde el navegador): cada sección
  ocupa una hoja A4 apaisada, todo queda a la vista y sin escenarios fijos.
  El PDF se genera con: npm run pdf
*/
@page {
  size: 297mm 210mm;
  margin: 0;
}
@media print {
  html,
  body {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}

.print {
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
  scroll-behavior: auto;
}
.print body {
  background: var(--bg-b);
}
.print .top,
.print .progress,
.print .rail,
.print .pager,
.print .skip,
.print .scene-loader,
.print .scene-wrap canvas,
.print .still-toggle,
.print .fx__skip,
.print .fx__bar,
.print .cue {
  display: none !important;
}

/* Una sección por hoja */
.print .slide {
  --top-h: 0rem;
  min-height: 0;
  height: 210mm;
  padding: 13mm 0 10mm;
  margin: 0 !important;
  border-radius: 0;
  box-shadow: none;
  overflow: hidden;
  break-after: page;
  break-inside: avoid;
  display: grid;
  align-content: center;
}
.print .slide:last-child {
  break-after: auto;
}
.print .wrap {
  width: calc(100% - 28mm);
}

/* Portada: los dispositivos planos en lugar del 3D */
.print .hero__copy {
  transform: none;
  opacity: 1;
}
.print .scene-wrap .flat {
  opacity: 1 !important;
  visibility: visible !important;
}
.print .hero__scene {
  height: 150mm;
}

/* Escenarios fijos: estáticos */
.print .slide#importa,
.print .slide#sanciones,
.print .slide#incluido {
  height: 210mm;
  padding: 13mm 0 10mm;
}
.print .obj__pin,
.print .sa__pin,
.print .fx__pin {
  position: static;
  min-height: 0;
  height: auto;
  padding: 0;
}
.print .obj__item,
.print .sa__step {
  --t: 1 !important;
}

/* Qué hace Daty: las seis en una sola hoja, en dos filas de tres */
.print .slide#incluido {
  align-content: start;
}
.print .fx__head h2 {
  font-size: 2.6rem;
  max-width: none;
}
.print .fx__intro {
  margin-top: 0.4rem;
}
.print .fx__seq {
  height: auto;
  margin-top: 4mm;
}
.print .fx {
  display: block;
}
.print .fx__list {
  display: none;
}
.print .fx__stage {
  height: auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5mm 7mm;
}
.print .fx__card {
  position: static;
  opacity: 1;
  visibility: visible;
  transform: none;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto;
  align-content: start;
  gap: 3mm;
}
.print .fx__media {
  order: 2;
  height: auto;
  display: block;
}
.print .viz {
  zoom: 0.58;
  width: 100%;
}
.print .viz::after {
  display: none;
}
.print .viz__chat,
.print .viz__where,
.print .viz__tabs {
  display: none;
}
.print .viz--time li:nth-child(2),
.print .viz--time li:nth-child(3),
.print .viz--time li:nth-child(4) {
  display: none;
}
.print .fx__num {
  display: none;
}
.print .fx__body h3 {
  margin-top: 0;
  font-size: 1.15rem;
  max-width: none;
}
.print .fx__ic {
  width: 1.8rem;
  height: 1.8rem;
  vertical-align: -0.45rem;
  margin-right: 0.5rem;
}
.print .fx__ic .ic {
  width: 1.05rem;
  height: 1.05rem;
}
.print .fx__text {
  margin-top: 0.3rem;
  font-size: 0.84rem;
  line-height: 1.4;
}

/* Sanciones y comparación, más compactas */
.print .sa__steps {
  height: 120mm;
}
.print .slide#comparacion {
  height: 210mm;
  padding: 13mm 0 8mm;
  display: grid;
}
.print .slide#alcance {
  height: 210mm;
  padding: 13mm 0 10mm;
  display: grid;
}
.print .ck__pin {
  position: static;
  min-height: 0;
  padding: 0;
}
.print .pr__pin {
  position: static;
  min-height: 0;
  padding: 0;
}
.print .pr__head h2 {
  font-size: 2.4rem;
  max-width: 24ch;
}
.print .pr__row > * {
  padding-block: 0.6rem;
}
.print .pr__hoy,
.print .pr__con {
  font-size: 0.92rem;
}

/* Verificación: la respuesta completa */
.print .ve__screen {
  min-height: 0;
}
.print .ve__msg {
  font-size: 0.86rem;
}

/* Respaldo, plan y cierre */
.print .rs__link i {
  display: none;
}
.print .rs__item:hover {
  transform: none;
}
.print .slide#cierre {
  align-content: center;
}
.print .foot {
  margin-top: 10mm;
}
.print .credits {
  font-size: 0.62rem;
}

/* Sin animaciones ni transiciones */
.print *,
.print *::before,
.print *::after {
  animation: none !important;
  transition: none !important;
}
.print .slide#importa,
.print .slide#sanciones {
  display: grid;
  align-content: center;
}
.print .ve__ask,
.print .ve__qs,
.print .ve__note {
  display: none;
}
.print .ve__screen {
  margin-top: 0;
}
