/*
 * Optional generic skin. The PageFlipOpen engine itself is in vendor/pageflipopen.css.
 * Override these variables in the host website; no brand-specific values are baked in.
 */
.pdf-flipbook {
  --pdf-flipbook-radius: 12px;
  --pdf-flipbook-background: transparent;
  --pdf-flipbook-shadow: 0 18px 48px rgba(0, 0, 0, 0.16);

  width: 100%;
  overflow: hidden;
  border-radius: var(--pdf-flipbook-radius);
  background: var(--pdf-flipbook-background);
  box-shadow: var(--pdf-flipbook-shadow);
}

.pdf-flipbook-focus-stage {
  position: absolute;
  inset: 0;
  overflow: visible;
  transform-origin: 0 0;
  will-change: transform;
}

.pdf-flipbook-mobile-controls {
  display: none;
}

/*
 * Minimal reader controls are overlays: they never reserve book height.
 * Portrait phones and coarse-pointer landscape phones use the same UI.
 */
@media (max-width: 600px) and (orientation: portrait),
       (max-height: 600px) and (orientation: landscape) and (pointer: coarse) {
  .pdf-flipbook[data-mobile-controls="minimal"] {
    --pfo-toolbar-height: 0px;
  }

  .pdf-flipbook[data-mobile-controls="minimal"] .pfo-toolbar {
    display: none !important;
  }

  .pdf-flipbook[data-mobile-controls="minimal"] .pdf-flipbook-mobile-controls {
    position: absolute;
    inset: 0;
    z-index: 30;
    display: block;
    pointer-events: none;
  }

  .pdf-flipbook[data-mobile-controls="minimal"] .pdf-flipbook-mobile-prev,
  .pdf-flipbook[data-mobile-controls="minimal"] .pdf-flipbook-mobile-next {
    position: absolute;
    bottom: 8px;
    width: 64px;
    height: 64px;
    padding: 8px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: rgba(255,255,255,.70);
    box-shadow: none;
    pointer-events: auto;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transition: opacity .18s ease, transform .18s ease;
  }

  .pdf-flipbook[data-mobile-controls="minimal"] .pdf-flipbook-mobile-prev {
    left: 4px;
  }

  .pdf-flipbook[data-mobile-controls="minimal"] .pdf-flipbook-mobile-next {
    right: 4px;
  }

  .pdf-flipbook[data-mobile-controls="minimal"] .pdf-flipbook-mobile-prev svg,
  .pdf-flipbook[data-mobile-controls="minimal"] .pdf-flipbook-mobile-next svg {
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
    filter: drop-shadow(0 1px 2px rgba(50,14,29,.35));
  }

  .pdf-flipbook[data-mobile-controls="minimal"] .pdf-flipbook-mobile-prev path,
  .pdf-flipbook[data-mobile-controls="minimal"] .pdf-flipbook-mobile-next path {
    fill: none;
    stroke: currentColor;
    stroke-width: 2.6;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .pdf-flipbook[data-mobile-controls="minimal"] .pdf-flipbook-mobile-download {
    position: absolute;
    top: 8px;
    left: max(8px, env(safe-area-inset-left));
    width: 42px;
    height: 42px;
    padding: 8px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 999px;
    background: rgba(50,14,29,.24);
    color: rgba(255,255,255,.82);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    pointer-events: auto;
    -webkit-tap-highlight-color: transparent;
  }

  .pdf-flipbook[data-mobile-controls="minimal"] .pdf-flipbook-mobile-download svg {
    display: block;
    width: 100%;
    height: 100%;
  }

  .pdf-flipbook[data-mobile-controls="minimal"] .pdf-flipbook-mobile-download path {
    fill: none;
    stroke: currentColor;
    stroke-width: 2.4;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .pdf-flipbook[data-mobile-controls="minimal"] .pdf-flipbook-mobile-prev:active,
  .pdf-flipbook[data-mobile-controls="minimal"] .pdf-flipbook-mobile-next:active {
    opacity: .55;
    transform: scale(.94);
  }

  .pdf-flipbook[data-mobile-controls="minimal"] .pdf-flipbook-mobile-page {
    position: absolute;
    left: 50%;
    bottom: 13px;
    min-width: 48px;
    padding: 4px 8px;
    border: 1px solid rgba(255,255,255,.24);
    border-radius: 999px;
    background: rgba(50,14,29,.28);
    color: rgba(255,255,255,.82);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    font: 600 11px/1.1 system-ui, sans-serif;
    letter-spacing: .02em;
    text-align: center;
    transform: translateX(-50%);
    pointer-events: none;
  }
}
