/* Vierte Welt – Flipbook-Bücherregal (Shortcodes vw_bookshelf / vw_shelf / vw_book) */

.vw-bookshelf{
  font-family:var(--vw-font, "Graphik LCG", Helvetica, Arial, sans-serif);
  color:#fff;
}
.vw-bookshelf__intro{
  /* wie die Archivliste auf /produktion/ */
  font-family:var(--vw-font, "Graphik LCG", Helvetica, Arial, sans-serif);
  font-weight:300; font-size:16px; line-height:1.4; letter-spacing:normal;
  margin:0 0 40px;
}

/* Regalbrett */
.vw-shelf{ margin:0 0 56px; }
.vw-shelf__title{
  /* wie die Jahreszahlen im Archiv */
  font-family:var(--vw-font-super, "Graphik LCG Super", sans-serif);
  font-weight:400; font-size:21px; line-height:1.4; letter-spacing:1.05px;
  color:var(--vw-red, #d82329);
  margin:0 0 20px; padding:0 0 10px;
  border-bottom:1px solid #333;
}
.vw-shelf__row{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(150px, 1fr));
  gap:32px 24px;
}
@media (min-width:768px){
  .vw-shelf__row{ grid-template-columns:repeat(auto-fill, minmax(180px, 1fr)); }
}

/* Buch */
.vw-book{
  display:flex; flex-direction:column; gap:10px;
  color:#fff; text-decoration:none;
  outline:none;
}
.vw-book__cover{
  display:block; position:relative;
  aspect-ratio:1 / 1.3; overflow:hidden;
  background:#111;
  box-shadow:0 10px 24px rgba(0,0,0,.6);
  transition:transform .2s ease, box-shadow .2s ease;
}
.vw-book__cover img{
  width:100%; height:100%; object-fit:cover; display:block;
}
.vw-book__cover-placeholder{
  display:flex; align-items:center; justify-content:center;
  height:100%; padding:12px; text-align:center;
  font-size:13px; color:#aaa;
}
.vw-book:hover .vw-book__cover,
.vw-book:focus-visible .vw-book__cover{
  transform:translateY(-6px);
  box-shadow:0 18px 32px rgba(0,0,0,.8), 0 0 0 2px var(--vw-red, #d82329);
}
.vw-book__title{
  /* wie die Kartentitel im Grid, etwas kleiner wegen der schmaleren Cover */
  font-family:var(--vw-font-super, "Graphik LCG Super", sans-serif);
  font-weight:400; font-size:18px; line-height:1.2; letter-spacing:normal;
}
.vw-book__meta{
  /* wie der Kartentext im Grid */
  font-family:"Open Sans", Open-sans, sans-serif;
  font-weight:400; font-size:14px; line-height:1.4; color:#fff; letter-spacing:normal;
}

/* Vollbild-Popup */
.vw-book-dialog{
  border:0; padding:0; margin:0;
  width:100vw; height:100dvh; max-width:none; max-height:none;
  background:#000; color:#fff;
  display:none; flex-direction:column;
  font-family:var(--vw-font, "Graphik LCG", Helvetica, Arial, sans-serif);
}
.vw-book-dialog[open]{ display:flex; }
.vw-book-dialog::backdrop{ background:#000; }

.vw-book-dialog__bar{
  flex:0 0 auto;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  height:52px; padding:0 12px 0 16px;
  background:#000; border-bottom:1px solid #222;
}
.vw-book-dialog__title{
  margin:0; font-family:var(--vw-font-super, "Graphik LCG Super", sans-serif); font-size:14px; letter-spacing:normal; line-height:1.2;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.vw-book-dialog__actions{ display:flex; align-items:center; gap:8px; flex:0 0 auto; }
.vw-book-dialog a.vw-book-dialog__btn,
.vw-book-dialog button.vw-book-dialog__btn{
  font-family:var(--vw-font, "Graphik LCG", Helvetica, Arial, sans-serif) !important;
  font-weight:400 !important; font-size:13px !important; letter-spacing:0 !important; line-height:1 !important;
  color:#fff !important; background:transparent !important; border:1px solid #444 !important;
  border-radius:0 !important; box-shadow:none !important;
  padding:8px 10px !important; cursor:pointer; text-decoration:none !important;
}
.vw-book-dialog a.vw-book-dialog__btn:hover,
.vw-book-dialog button.vw-book-dialog__btn:hover{ border-color:var(--vw-red, #d82329) !important; color:#fff !important; }
.vw-book-dialog__close{
  background:transparent; border:0; cursor:pointer;
  font:inherit; font-size:32px; line-height:1; color:var(--vw-red, #d82329);
  padding:0 4px;
}
.vw-book-dialog__frame{ flex:1 1 auto; min-height:0; background:#000; }
.vw-book-dialog__frame iframe{
  width:100%; height:100%; border:0; display:block; background:#000;
}
@media (max-width:600px){
  .vw-book-dialog__btn[data-vw-fullscreen]{ display:none; }
}

.vw-shelf__desc{ font-size:14px; color:#aaa; letter-spacing:0; margin:-10px 0 20px; }
