/* Dokumentumok (2026-11-05, kérésre): korabeli iratok kártyái az előadás oldalán + a saját PDF-néző (documents.js).
   A kártyák a régi oldal stílusában (Source Sans Pro, fekete link, #999 hover); a néző a nagyítók sötét világa.
   z-index: a Lightbox2 (100000/100001) és a Fancybox (100002) fölött, az admin-sáv (99999) fölött is. */

/* ---- kártyák ---- */
.sz-docs h4 { margin-bottom: 12px; }
/* 2026-11-07, kérésre: asztalon is a mobil elrendezés – bélyegkép bal oldalt, mellette a szöveg (cím, dátum, lelőhely);
   soronként egy irat, hogy a hosszú lelőhely is 1–2 sorba férjen */
.sz-docs-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 0 15px 4px; }
.sz-doc { min-width: 0; }
.sz-doc-open { display: grid; grid-template-columns: 104px minmax(0, 1fr); gap: 16px; align-items: start; color: #000; }
.sz-doc-open:hover, .sz-doc-open:focus { color: #000; text-decoration: none; }
.sz-doc-open:focus-visible { outline: 2px solid #000; outline-offset: 3px; }
.sz-doc-thumb { position: relative; display: block; aspect-ratio: 595 / 842; overflow: hidden; background: #f4f4f4; border: 1px solid #ddd;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .08); }
.sz-doc-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top; transition: transform .25s ease; }
.sz-doc-thumb img:not([src]) { visibility: hidden; }
.sz-doc-open:hover .sz-doc-thumb img { transform: scale(1.03); }
.sz-doc-ext { position: absolute; right: 6px; bottom: 6px; padding: 4px 6px 3px; border-radius: 3px; background: rgba(0, 0, 0, .66);
  color: #fff; font-size: 11.5px; font-weight: 600; line-height: 1; letter-spacing: .03em; }
.sz-doc-kb { font-weight: 400; letter-spacing: 0; }
.sz-doc-txt { display: flex; flex-direction: column; gap: 3px; max-width: 560px; }
.sz-doc-src { margin-top: 2px; }
.sz-doc-title { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3;
  font-size: 16px; font-weight: 600; line-height: 1.25; }
.sz-doc-open:hover .sz-doc-title { color: #999; }
.sz-doc-meta { font-size: 14px; line-height: 1.3; color: #777; }
@media (max-width: 767px) {
  .sz-docs-list { gap: 16px; padding: 0; }
  .sz-doc-open { grid-template-columns: 84px minmax(0, 1fr); gap: 14px; }
  .sz-doc-title { font-size: 16.5px; }
}
@media (prefers-reduced-motion: reduce) { .sz-doc-thumb img { transition: none; } }

/* ---- néző ---- */
html.dv-lock, html.dv-lock body { overflow: hidden; }
.dv { position: fixed; inset: 0; z-index: 100003; display: grid; grid-template-rows: auto minmax(0, 1fr); background: rgba(14, 14, 16, .96);
  color: #eee; font-family: 'Source Sans Pro', Arial, sans-serif; -webkit-text-size-adjust: 100%; }
.dv[hidden] { display: none; }
.dv-bar { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 8px 10px; padding-top: max(8px, env(safe-area-inset-top, 0px));
  border-bottom: 1px solid rgba(255, 255, 255, .08); }
.dv-btn { flex: none; display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-width: 40px; height: 40px; padding: 0 10px;
  border: 0; border-radius: 8px; background: rgba(255, 255, 255, .08); color: #f4f4f4; font: inherit; font-size: 20px; line-height: 1; cursor: pointer; }
a.dv-btn, a.dv-btn:hover, a.dv-btn:focus { color: #f4f4f4; text-decoration: none; }
.dv-btn:hover { background: rgba(255, 255, 255, .18); }
.dv-btn:focus-visible { outline: 2px solid #fff; outline-offset: 1px; }
.dv-btn.dv-txt { font-size: 15px; font-weight: 600; }
.dv-btn[aria-pressed="true"] { background: #f4f4f4; color: #111; }
.dv-btn[disabled] { opacity: .35; cursor: default; }
.dv-btn[hidden] { display: none; }
.dv-t { flex: 1; display: flex; flex-direction: column; min-width: 0; line-height: 1.25; }
.dv-t b { overflow: hidden; font-size: 16.5px; font-weight: 600; white-space: nowrap; text-overflow: ellipsis; }
.dv-t span { overflow: hidden; font-size: 13.5px; color: #aaa; white-space: nowrap; text-overflow: ellipsis; }
.dv-pg { flex: none; padding: 9px 10px; border-radius: 6px; background: rgba(255, 255, 255, .08); color: #ddd; font-size: 14.5px; line-height: 1;
  font-variant-numeric: tabular-nums; }
.dv-pg:empty { display: none; }
.dv-tools { display: flex; flex: none; gap: 6px; }
.dv-body { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; min-height: 0; }
/* a függőleges sáv helye mindig megvan (különben az első lap után megjelenő sáv vízszintes görgetést okoz) */
.dv-scroll { min-height: 0; overflow-x: auto; overflow-y: scroll; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.dv-pages { display: flex; flex-direction: column; align-items: center; gap: 14px; box-sizing: border-box; width: max-content; min-width: 100%;
  padding: 16px 14px 48px; }
.dv-page { position: relative; flex: none; background: #fff; box-shadow: 0 2px 14px rgba(0, 0, 0, .5); }
.dv-page canvas, .dv-page img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.dv-msg { max-width: 420px; margin: 0 auto; padding: 48px 20px; color: #ccc; font-size: 16px; line-height: 1.5; text-align: center; }
.dv-msg a { color: #fff; text-decoration: underline; }
.dv-info { width: 340px; overflow: auto; box-sizing: border-box; padding: 20px 22px 32px; border-left: 1px solid rgba(255, 255, 255, .08);
  background: #1d1f24; color: #d8d8d8; font-size: 15.5px; line-height: 1.55; }
.dv-info[hidden] { display: none; }
.dv-info h3 { margin: 0 0 6px; color: #fff; font-family: inherit; font-size: 19px; font-weight: 600; line-height: 1.3; }
.dv-info .dv-meta { margin: 0 0 16px; color: #a8a8a8; font-size: 14.5px; }
.dv-info p { margin: 0 0 11px; }
@media (max-width: 767px) {
  .dv-bar { flex-wrap: wrap; row-gap: 8px; }
  .dv-t { order: 1; flex-basis: calc(100% - 56px); }
  .dv-close { order: 2; margin-left: auto; }
  .dv-pg { order: 3; }
  .dv-tools { order: 4; margin-left: auto; }
  .dv-body { grid-template-columns: minmax(0, 1fr); }
  .dv-pages { gap: 10px; padding: 10px 8px 40px; }
  .dv-info { position: absolute; left: 0; right: 0; bottom: 0; width: auto; max-height: 62%; padding-bottom: max(28px, env(safe-area-inset-bottom, 0px));
    border-top: 1px solid rgba(255, 255, 255, .12); border-left: 0; border-radius: 14px 14px 0 0; box-shadow: 0 -10px 30px rgba(0, 0, 0, .5); }
}
