/* DATAXA Flipbook — estilos (v1.1: contenedor transparente + barra flotante) */
.dataxa-flipbook {
  --df-accent: #2563eb;
  --df-paper-shadow: 0 8px 20px rgba(15, 23, 42, 0.15);
  --df-bar-bg: rgba(255, 255, 255, 0.72);
  --df-bar-border: rgba(15, 23, 42, 0.08);
  --df-bar-fg: #334155;
  --df-bar-fg-muted: #64748b;

  position: relative;
  width: 100%;
  margin: 0 auto;
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  /* sin fondo, sin borde: se integra con la página */
  background: transparent;
  border: 0;
  padding: 0;
  box-sizing: border-box;
}
.dataxa-flipbook *,
.dataxa-flipbook *::before,
.dataxa-flipbook *::after { box-sizing: border-box; }

/* ---- Barra flotante (pill) ---- */
.dataxa-flipbook .df-toolbar {
  width: fit-content;
  margin: 0 auto 18px;
  display: inline-flex;
  align-items: center;
  gap: 2px;
  padding: 6px;
  background: var(--df-bar-bg);
  border: 1px solid var(--df-bar-border);
  border-radius: 999px;
  box-shadow: 0 6px 20px rgba(15, 23, 42, 0.10);
  -webkit-backdrop-filter: blur(10px) saturate(140%);
  backdrop-filter: blur(10px) saturate(140%);
}
.dataxa-flipbook .df-btn {
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--df-bar-fg);
  width: 38px; height: 38px;
  border-radius: 999px;
  cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  transition: background .15s ease, color .15s ease, transform .06s ease;
}
.dataxa-flipbook .df-btn svg { width: 19px; height: 19px; display: block; }
.dataxa-flipbook .df-btn:hover { background: rgba(15, 23, 42, 0.06); color: var(--df-accent); }
.dataxa-flipbook .df-btn:active { transform: scale(0.94); }
.dataxa-flipbook .df-btn:focus-visible { outline: 2px solid var(--df-accent); outline-offset: 2px; }

.dataxa-flipbook .df-counter {
  min-width: 70px;
  text-align: center;
  font-variant-numeric: tabular-nums;
  font-size: 13px;
  font-weight: 500;
  color: var(--df-bar-fg-muted);
  letter-spacing: .02em;
  padding: 0 6px;
  user-select: none;
}
.dataxa-flipbook .df-divider {
  width: 1px;
  height: 22px;
  margin: 0 4px;
  background: var(--df-bar-border);
}

/* ---- Libro ---- */
.dataxa-flipbook .df-stage {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 320px;
  /* recorta el barrido del flip => sin scrollbars en el body, sin temblor */
  overflow: hidden;
  padding: 32px;            /* debe coincidir con STAGE_PAD del JS */
}
.dataxa-flipbook .df-book { margin: 0 auto; }

/* Durante la precarga, colapsa la pila de páginas (evita el PDF gigante vertical) */
.dataxa-flipbook.df-building .df-book {
  height: 0;
  overflow: hidden;
}

/* Sombra estable bajo el libro (no rota durante el flip) */
.dataxa-flipbook .stf__parent { margin: 0 auto; }
.dataxa-flipbook .stf__block { box-shadow: var(--df-paper-shadow); }

.dataxa-flipbook .df-page {
  background: #fff;
  overflow: hidden;
}
.dataxa-flipbook .df-page-inner {
  position: relative;
  width: 100%;
  height: 100%;
}
.dataxa-flipbook .df-canvas {
  display: block;
  width: 100%;
  height: 100%;
}

/* Placeholder mientras una página se renderiza (lazy) */
.dataxa-flipbook .df-ph {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(180deg, #fafafa 0%, #eef1f4 100%);
  color: #c4cad3;
  font-size: 13px;
  font-weight: 600;
  user-select: none;
}

/* Capa de enlaces: transparente a clics salvo en los <a> reales */
.dataxa-flipbook .df-link-layer {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.dataxa-flipbook .df-link {
  position: absolute;
  pointer-events: auto;
  cursor: pointer;
  background: transparent;
  border-radius: 2px;
  text-decoration: none;
  transition: background .12s ease;
}
.dataxa-flipbook .df-link:hover {
  background: rgba(37, 99, 235, 0.16);
}

.dataxa-flipbook .df-loader,
.dataxa-flipbook .df-error {
  color: var(--df-bar-fg-muted);
  font-size: 14px;
  padding: 28px 16px;
  text-align: center;
}
.dataxa-flipbook .df-error { color: #dc2626; }

/* Pantalla completa: fondo neutro (no negro) */
.dataxa-flipbook:fullscreen {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 24px;
  background: #eef1f5;
}
.dataxa-flipbook:fullscreen .df-stage { flex: 1; }

/* ---- Responsivo ---- */
.dataxa-flipbook { max-width: 100%; overflow: hidden; }      /* nunca desborda el ancho del contenedor padre */

@media (max-width: 768px) {
  .dataxa-flipbook .df-stage { padding: 16px; min-height: 240px; }
  .dataxa-flipbook .df-toolbar { margin-bottom: 14px; }
}
@media (max-width: 480px) {
  .dataxa-flipbook .df-stage { padding: 8px; min-height: 200px; }
  .dataxa-flipbook .df-btn { width: 36px; height: 36px; }
  .dataxa-flipbook .df-counter { min-width: 60px; font-size: 12px; }
}
