/* Franzosi PDF Viewer — visual institucional */
.frz-pdf-open { overflow: hidden !important; }

.frz-pdf-viewer {
  position: fixed;
  inset: 0;
  z-index: 12000;
  display: flex;
  flex-direction: column;
  background:
    radial-gradient(circle at top, rgba(27, 42, 74, .38), transparent 34%),
    rgba(6, 10, 18, .965);
  color: #fff;
}

.frz-pdf-viewer[hidden] { display: none; }

.frz-pdf-toolbar {
  min-height: 54px;
  display: flex;
  align-items: center;
  gap: .4rem;
  padding: .55rem .7rem;
  flex-wrap: wrap;
  border-bottom: 1px solid rgba(201, 168, 76, .32);
  background: rgba(27, 42, 74, .96);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .22);
}

.frz-pdf-brand {
  width: 31px;
  height: 31px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid rgba(201, 168, 76, .72);
  border-radius: 8px;
  background: rgba(201, 168, 76, .1);
  color: #C9A84C;
  font: 700 17px/1 Georgia, 'Times New Roman', serif;
}

.frz-pdf-title-wrap {
  flex: 1;
  min-width: 180px;
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.frz-pdf-title {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #fff;
  font: 600 13px/1.25 Inter, system-ui, sans-serif;
}

.frz-pdf-hint {
  color: #c7d0df;
  font: 400 10px/1.3 Inter, system-ui, sans-serif;
}

.frz-pdf-btn {
  height: 32px;
  min-width: 34px;
  padding: 0 .55rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 7px;
  background: rgba(255, 255, 255, .07);
  color: #fff;
  text-decoration: none;
  cursor: pointer;
  user-select: none;
  font: 500 12px/1 Inter, system-ui, sans-serif;
  transition: background .14s ease, border-color .14s ease, color .14s ease;
}

.frz-pdf-btn:hover {
  border-color: rgba(201, 168, 76, .72);
  background: rgba(201, 168, 76, .14);
  color: #f5e6b7;
}

.frz-pdf-btn:focus-visible {
  outline: 2px solid #C9A84C;
  outline-offset: 2px;
}

.frz-pdf-btn-text { min-width: auto; }
.frz-pdf-close { font-size: 20px; line-height: 1; padding-bottom: 2px; }

.frz-pdf-zoom {
  min-width: 54px;
  text-align: center;
  color: #f0d98e;
  font: 600 11px/1 Inter, system-ui, sans-serif;
}

.frz-pdf-stage {
  position: relative;
  flex: 1;
  min-height: 0;
  overflow: hidden;
  display: grid;
  place-items: center;
  touch-action: none;
  cursor: grab;
  background:
    linear-gradient(45deg, rgba(255,255,255,.018) 25%, transparent 25%, transparent 75%, rgba(255,255,255,.018) 75%),
    linear-gradient(45deg, rgba(255,255,255,.018) 25%, transparent 25%, transparent 75%, rgba(255,255,255,.018) 75%);
  background-position: 0 0, 12px 12px;
  background-size: 24px 24px;
}

.frz-pdf-stage.dragging { cursor: grabbing; }

.frz-pdf-canvas {
  transform-origin: center center;
  will-change: transform;
  line-height: 0;
  filter: drop-shadow(0 18px 42px rgba(0, 0, 0, .34));
}

.frz-pdf-canvas iframe {
  display: block;
  width: min(1120px, 92vw);
  height: calc(100dvh - 92px);
  min-height: 520px;
  border: 0;
  border-radius: 5px;
  background: #fff;
}

@media (max-width: 760px) {
  .frz-pdf-toolbar { gap: .3rem; padding: .45rem; }
  .frz-pdf-hint { display: none; }
  .frz-pdf-title-wrap { min-width: 135px; }
  .frz-pdf-btn { height: 30px; min-width: 32px; padding: 0 .45rem; }
  .frz-pdf-btn-text { font-size: 0; width: 32px; padding: 0; }
  .frz-pdf-btn-text[data-cmd='fit']::after { content: '↔'; font-size: 16px; }
  .frz-pdf-btn-text[data-cmd='newtab']::after { content: '↗'; font-size: 15px; }
  .frz-pdf-btn-text[data-cmd='download']::after { content: '↓'; font-size: 17px; }
  .frz-pdf-canvas iframe { width: 94vw; height: calc(100dvh - 105px); min-height: 0; }
}
