/* QGFlipbook 1.1 · pairs with qg-flipbook.js. Colours follow the QG Playground site tokens; override the custom properties to theme. */
.qgfb{--qgfb-bg:#ECE9E4;--qgfb-ink:#141614;--qgfb-mute:#55524D;--qgfb-accent:#EF6C04;--qgfb-paper:#fff;--qgfb-radius:18px;
  position:relative;display:flex;flex-direction:column;gap:14px;outline:none;font:500 14px/1.2 Geist,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--qgfb-ink)}
.qgfb:focus-visible{box-shadow:0 0 0 3px var(--qgfb-accent);border-radius:var(--qgfb-radius)}
.qgfb-stage{background:var(--qgfb-bg);border-radius:var(--qgfb-radius);padding:28px 16px;display:flex;justify-content:center;align-items:center;overflow:hidden;
  touch-action:pan-y pinch-zoom}
.qgfb:fullscreen{background:var(--qgfb-bg);justify-content:center;padding:16px}
.qgfb:fullscreen .qgfb-stage{flex:1}
.qgfb-book{position:relative;perspective:2800px;user-select:none;-webkit-user-select:none;cursor:grab;contain:layout;
  aspect-ratio:auto;max-width:100%}
.qgfb-book:active{cursor:grabbing}
.qgfb-page{position:absolute;top:0;bottom:0;background:var(--qgfb-paper);overflow:hidden}
.qgfb-page img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}
.qgfb-page{box-shadow:0 22px 40px -22px rgba(20,22,20,.55),0 2px 6px -2px rgba(20,22,20,.18)}
.qgfb-empty{background:transparent!important;box-shadow:none!important}
.qgfb-spread .qgfb-l{left:0;width:50%;border-radius:4px 0 0 4px}
.qgfb-spread .qgfb-r{left:50%;width:50%;border-radius:0 4px 4px 0}
.qgfb-single .qgfb-l{display:none}
.qgfb-single .qgfb-r{left:0;width:100%;border-radius:4px}
.qgfb-under{display:none;z-index:1}
.qgfb-spread .qgfb-ur{left:50%;width:50%}.qgfb-spread .qgfb-ul{left:0;width:50%}
.qgfb-single .qgfb-ur{left:0;width:100%}
.qgfb-spine{position:absolute;top:0;bottom:0;left:calc(50% - 22px);width:44px;z-index:4;pointer-events:none;
  background:linear-gradient(90deg,rgba(0,0,0,0),rgba(0,0,0,.09) 44%,rgba(0,0,0,.2) 50%,rgba(0,0,0,.06) 56%,rgba(0,0,0,0))}
.qgfb-single .qgfb-spine{display:none}
/* the turning leaf: a chain of nested strips that bends like paper (built by qg-flipbook.js) */
.qgfb-leaf{position:absolute;top:0;bottom:0;display:none;z-index:5;transform-style:preserve-3d}
.qgfb-leaf-r{left:50%;width:50%}
.qgfb-leaf-l{left:0;width:50%}
.qgfb-leaf-single{left:0;width:100%}
.qgfb-strip{position:absolute;top:0;bottom:0;transform-style:preserve-3d;will-change:transform}
.qgfb-sf,.qgfb-sb{position:absolute;inset:0;background-color:var(--qgfb-paper);background-repeat:no-repeat;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.qgfb-sb{transform:rotateY(180deg)}
.qgfb-blank{background:#F4F2EE}
.qgfb-ss{position:absolute;inset:0;background:#000;opacity:0;pointer-events:none}
.qgfb-cast{position:absolute;top:0;bottom:0;left:0;right:0;display:none;z-index:3;pointer-events:none;opacity:0;
  background:radial-gradient(60% 90% at 50% 50%,rgba(0,0,0,.22),rgba(0,0,0,0) 70%)}
/* toolbar */
.qgfb-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.qgfb-nav{display:flex;align-items:center;gap:10px}
.qgfb-tools{display:flex;gap:8px}
.qgfb-btn{width:44px;height:44px;border:0;border-radius:999px;background:var(--qgfb-paper);color:var(--qgfb-ink);display:grid;place-items:center;cursor:pointer;
  box-shadow:inset 0 0 0 1px rgba(20,22,20,.14);transition:background-color .15s,transform .15s}
.qgfb-btn:hover{background:#F6F4F1}.qgfb-btn:active{transform:scale(.95)}
.qgfb-btn:disabled{opacity:.35;cursor:default}
.qgfb-btn.qgfb-sm{width:40px;height:40px}
.qgfb-btn svg,.qgfb-link svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.qgfb-count{min-width:72px;text-align:center;font-variant-numeric:tabular-nums;color:var(--qgfb-mute)}
.qgfb-actions{display:flex;gap:8px}
.qgfb-link{display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 14px;border:0;border-radius:999px;cursor:pointer;
  background:var(--qgfb-ink);color:#fff;text-decoration:none;font:600 13.5px/1 inherit}
.qgfb-link + .qgfb-link{background:var(--qgfb-paper);color:var(--qgfb-ink);box-shadow:inset 0 0 0 1px rgba(20,22,20,.14)}
@media (max-width:560px){.qgfb-stage{padding:14px 8px;border-radius:12px}.qgfb-bar{justify-content:center}.qgfb-btn.qgfb-sm:not(.qgfb-snd){display:none}}
@media (prefers-reduced-motion:reduce){.qgfb-btn{transition:none}}
