/* Flipbook Styles (Praxisfarben) */
:root{
  --bg: #111;
  --fg: #f5f5f5;
  --card: #1a1a1a;
  --accent: #ff8800;   /* Praxis Orange */
  --accent2:#f73429;   /* Praxis Rot */
  --gray: #555555;
}

*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Arial}

.wrap{max-width:980px;margin:0 auto;padding:16px}
.head{margin:0 0 14px 0}
.head .brandbar{
  height:6px;
  background: linear-gradient(90deg, var(--accent), var(--accent2));
  border-radius: 0 0 8px 8px;
  box-shadow: 0 6px 18px rgba(0,0,0,.35);
  margin-bottom:10px;
}
.head h1{margin:0 0 4px 0;font-size:24px;color:#fff}
.head .sub{color:#bbb;font-size:14px}

.flipbook{
  position:relative;
  background:var(--card);
  border:1px solid rgba(255,255,255,.06);
  border-radius:12px;
  box-shadow:0 12px 36px rgba(0,0,0,.35);
  overflow:hidden;
  min-height:60vh;
}
.flipbook .hint{ padding:24px;color:#bbb;text-align:center; }

.page{
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  transform-origin:left center;
  will-change:transform;
  backface-visibility:hidden;
  perspective:2000px;
  background:#000;
}
/* Kein Cropping – gesamter Inhalt sichtbar */
.page img{
  width:100%;
  height:100%;
  display:block;
  object-fit: contain;
}

/* Subtle page shading during flip */
.page .shade{
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:0;
  transition: opacity .2s ease;
  background:
    radial-gradient(120% 100% at 100% 50%, rgba(0,0,0,.3), rgba(0,0,0,0) 60%),
    linear-gradient(90deg, rgba(0,0,0,.15), rgba(0,0,0,0) 40%);
}

.page.hidden{ display:none; }
.page.animate{ transition: transform .35s ease; }

@media (max-width: 768px){
  .flipbook{ min-height: 70vh; }
}

.toolbar{
  display:flex; align-items:center; justify-content:center;
  gap:12px; margin:14px 0 0 0;
}
.btn{
  appearance:none; border:0; padding:10px 16px; border-radius:10px;
  background: linear-gradient(135deg, var(--accent), var(--accent2));
  color:#fff; cursor:pointer; font-weight:700;
  box-shadow: 0 6px 20px rgba(0,0,0,.25);
}
.btn:hover{ filter: brightness(1.05); }
.indicator{ color:#bbb; min-width:80px; text-align:center; display:inline-block; font-variant-numeric: tabular-nums; }

.fallback{ color:#bbb; font-size:14px; text-align:center; margin:12px 0 0 0 }
.fallback a{ color:var(--accent); text-decoration:none; border-bottom:1px dashed rgba(255,136,0,.5); }
.fallback a:hover{ color:var(--accent2); border-color: rgba(247,52,41,.6); }
