/* Detail-page PDF reader additions. Base card/button colours live in style.css. */
.pdf-js-toolbar {
  position: sticky;
  top: 0;
  z-index: 3;
  align-items: center;
}

.pdf-page-controls,
.pdf-zoom-controls,
.pdf-search-controls,
.pdf-page-jump {
  display: flex;
  align-items: center;
  gap: .45rem;
}

.pdf-page-controls,
.pdf-search-controls {
  flex-wrap: wrap;
}

.pdf-page-jump {
  color: var(--color-text-muted);
  font-size: .9rem;
  font-weight: 700;
  white-space: nowrap;
}

.pdf-page-input {
  width: 4.2rem;
  min-height: 2.25rem;
  padding: .25rem .4rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: #fff;
  color: var(--color-text);
  font: inherit;
  text-align: center;
}

.pdf-js-page-status {
  white-space: nowrap;
}

.pdf-search-controls {
  flex: 1 1 22rem;
}

.pdf-search-label {
  color: var(--color-text-muted);
  font-size: .9rem;
  font-weight: 700;
}

.pdf-search-input {
  flex: 1 1 11rem;
  min-width: 9rem;
  min-height: 2.25rem;
  padding: .25rem .6rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: #fff;
  color: var(--color-text);
  font: inherit;
}

.pdf-search-status {
  min-width: 7rem;
  color: var(--color-text-muted);
  font-size: .85rem;
  white-space: nowrap;
}

.pdf-js-canvas-wrap {
  overflow: auto;
  overscroll-behavior: contain;
}

.pdf-page-slot {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  contain: layout paint;
}

.pdf-page-slot[data-rendered="false"]::before {
  content: "";
  position: absolute;
  inset: .25rem 0;
  border: 1px solid rgba(148, 163, 184, .2);
  border-radius: .15rem;
  pointer-events: none;
}

.pdf-js-canvas {
  position: relative;
  z-index: 0;
  flex: 0 0 auto;
  max-width: none;
}

.pdf-text-layer {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 1;
  transform: translateX(-50%);
  overflow: hidden;
  line-height: 1;
  text-align: initial;
  transform-origin: 0 0;
  user-select: text;
}

.pdf-text-item {
  position: absolute;
  display: inline-block;
  margin: 0;
  padding: 0;
  color: transparent;
  cursor: text;
  line-height: 1;
  white-space: pre;
  transform-origin: 0 0;
  user-select: text;
}

.pdf-text-separator {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  overflow: hidden;
  color: transparent;
  white-space: pre;
  user-select: text;
}

.pdf-text-item mark.pdf-search-match {
  padding: 0;
  color: #1f2937;
  background: rgba(250, 204, 21, .72);
  box-shadow: 0 0 0 1px rgba(161, 98, 7, .18);
}

.pdf-text-item mark.pdf-search-match.is-current {
  background: #fb923c;
  box-shadow: 0 0 0 2px #9a3412;
}

@media (max-width: 760px) {
  .pdf-js-toolbar {
    align-items: stretch;
  }

  .pdf-js-divider {
    display: none;
  }

  .pdf-page-controls,
  .pdf-search-controls,
  .pdf-zoom-controls {
    width: 100%;
  }

  .pdf-js-page-status {
    order: -1;
  }

  .pdf-search-input {
    min-width: 0;
  }

  .pdf-search-status {
    flex-basis: 100%;
  }
}

@media (max-width: 420px) {
  .pdf-search-label {
    flex-basis: 100%;
  }

  .pdf-search-controls .pdf-js-button {
    flex: 1 1 auto;
  }

  .pdf-page-controls .pdf-js-button {
    flex: 1 1 auto;
  }
}
