/* ============================================================
   Gästebuch als mittelalterliches Buch (StPageFlip, 3D-Umblättern)
   ============================================================ */
.gb-book-stage {
  --leather: #4a2c18;
  --leather-2: #36200f;
  max-width: 1040px;
  margin: 0 auto;
  padding: 1rem;
  perspective: 2200px;
}

/* Bedienleiste */
.gb-book-controls {
  display: flex; align-items: center; justify-content: center; gap: 1rem;
  margin-bottom: 1.2rem;
}
.gb-book-controls button {
  width: 3rem; height: 3rem; border-radius: 50%; cursor: pointer; line-height: 1;
  font-size: 1.5rem; color: var(--parchment);
  background: linear-gradient(180deg, var(--blood), var(--blood-dark));
  border: 1px solid var(--gold); box-shadow: 0 4px 12px rgba(94,20,20,.4);
  transition: transform .15s, box-shadow .2s, opacity .2s;
}
.gb-book-controls button:hover:not(:disabled) { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(94,20,20,.5); }
.gb-book-controls button:disabled { opacity: .35; cursor: default; }
.gb-pageinfo {
  font-family: var(--font-ui); letter-spacing: .08em; font-size: .85rem; color: var(--ink-soft);
  min-width: 8rem; text-align: center;
}
.gb-book-controls .gb-sound { font-size: 1.05rem; background: linear-gradient(180deg, var(--wood), var(--night)); }
.gb-hint { text-align: center; font-style: italic; color: var(--ink-soft); font-size: .85rem; margin-top: .8rem; }

/* Buch-Rahmen */
.gb-book {
  margin: 0 auto;
  --c-shadow: rgba(20,12,6,.45);
}
.gb-book .stf__parent { margin: 0 auto; }

/* Eine Seite */
.gb-page {
  background-color: var(--parchment);
  background-image: radial-gradient(ellipse at center, rgba(255,255,255,.25), transparent 70%), url("../img/parchment.svg");
  color: var(--ink);
  box-sizing: border-box;
  padding: 2.2rem 2rem 2.6rem;
  overflow: hidden;
  border: 1px solid var(--parchment-dark);
}
/* dezenter Falz zur Bundkante */
.gb-page--right { box-shadow: inset 14px 0 24px -16px var(--c-shadow); }
.gb-page--left  { box-shadow: inset -14px 0 24px -16px var(--c-shadow); }

.gb-page-head {
  display: flex; justify-content: space-between; align-items: baseline;
  border-bottom: 2px solid rgba(176,137,47,.45); padding-bottom: .4rem; margin-bottom: 1rem;
}
.gb-page-head .jahr { font-family: var(--font-display); color: var(--blood-dark); font-size: 1.2rem; }
.gb-page-head .nr { font-family: var(--font-ui); font-size: .75rem; color: var(--ink-soft); letter-spacing: .1em; }

/* Eintrag im Buch */
.gb-e { margin-bottom: 1rem; padding-bottom: .8rem; border-bottom: 1px dashed var(--parchment-dark); }
.gb-e:last-child { border-bottom: 0; }
.gb-e .h { display: flex; flex-wrap: wrap; gap: .4rem; align-items: baseline; }
.gb-e .nm { font-family: var(--font-display); color: var(--blood-dark); font-size: 1.05rem; }
.gb-e .meta { font-size: .78rem; color: var(--ink-soft); font-style: italic; }
.gb-e .meta::before { content: "· "; }
.gb-e .d { margin-left: auto; font-family: var(--font-ui); font-size: .72rem; color: var(--ink-soft); }
.gb-e .t {
  margin: .2rem 0 0; font-size: 1rem; line-height: 1.45;
  display: -webkit-box; -webkit-line-clamp: 4; line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden;
}

/* Deckel (Cover) – Leder + Gold */
.gb-page.cover {
  background: radial-gradient(circle at 35% 30%, #5a371f, var(--leather) 55%, var(--leather-2));
  color: var(--parchment);
  display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center;
  border: none; box-shadow: inset 0 0 0 3px rgba(176,137,47,.55), inset 0 0 0 10px rgba(0,0,0,.15);
  padding: 2rem;
}
.gb-page.cover .crest { font-size: 3.4rem; color: var(--gold-light); filter: drop-shadow(0 2px 4px rgba(0,0,0,.5)); }
.gb-page.cover h2 {
  font-family: 'Old London', var(--font-display), serif;
  color: var(--gold-light); font-size: clamp(2rem, 5vw, 3.2rem); margin: .6rem 0 .2rem; letter-spacing: .02em;
}
.gb-page.cover .sub { color: var(--parchment-2); font-style: italic; letter-spacing: .05em; }
.gb-page.cover .deco { margin-top: 1.4rem; color: var(--gold); letter-spacing: .4em; }
.gb-page.cover.cover-back .big { font-size: 2.6rem; color: var(--gold-light); }

/* Lade-/Fallback-Text */
#gb-book-status { text-align: center; }

/* Fallback-Liste (falls JS/Lib nicht greift): einfache Eintragsliste */
.gb-fallback .gb-e { max-width: 760px; margin: 0 auto 1rem; background: var(--parchment); border: 1px solid var(--parchment-dark); border-top: 3px solid var(--gold); border-radius: 3px; padding: 1rem 1.2rem; box-shadow: var(--shadow-deep); }
.gb-fallback .gb-e .t { -webkit-line-clamp: unset; line-clamp: unset; }
