.flipbook-catalog-list { text-align: center; }
.flipbook-catalog-list__lead { margin-bottom: 24px; }
.flipbook-catalog-list__grid { display: grid; gap: 30px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); align-items: start; }
.flipbook-catalog-card { margin: 0 auto; max-width: 500px; }
.flipbook-catalog-card a { color: inherit; text-decoration: none; }
.flipbook-catalog-card img { display: block; width: 100%; height: auto; box-shadow: 0 8px 24px rgba(0,0,0,.16); transition: transform .2s ease; }
.flipbook-catalog-card a:hover img, .flipbook-catalog-card a:focus img { transform: translateY(-4px); }
.flipbook-catalog-card h2 { font-size: 2rem; margin-top: 15px; }
.flipbook-viewer { --flipbook-zoom: 1; background: #f7f7f7; box-sizing: border-box; min-height: 70vh; padding: 16px; }
.flipbook-viewer:fullscreen { background: #f7f7f7; overflow: auto; }
.flipbook-viewer__heading { align-items: center; display: flex; gap: 20px; justify-content: center; position: relative; }
.flipbook-viewer__heading .back { left: 0; position: absolute; }
.flipbook-viewer__heading h1 { margin: 0 0 15px; }
.flipbook-viewer__toolbar { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-bottom: 12px; }
.flipbook-viewer__toolbar button, .flipbook-viewer__toolbar .action { background: #fff; border: 1px solid #bbb; border-radius: 3px; box-sizing: border-box; color: #222; min-height: 38px; padding: 8px 12px; }
.flipbook-viewer__body { display: flex; gap: 14px; min-height: 520px; overflow: hidden; }
.flipbook-viewer__thumbnails { background: #eee; flex: 0 0 120px; max-height: 75vh; overflow: auto; padding: 8px; }
.flipbook-thumbnail { background: transparent; border: 0; cursor: pointer; display: block; margin: 0 0 12px; padding: 0; width: 100%; }
.flipbook-thumbnail canvas { background: white; box-shadow: 0 2px 6px rgba(0,0,0,.2); height: auto; max-width: 100%; }
.flipbook-thumbnail span { display: block; }
.flipbook-viewer__stage { align-items: center; display: flex; flex: 1; justify-content: center; overflow: auto; padding: 20px; }
.flipbook-viewer__stage > div { transform: scale(var(--flipbook-zoom)); transform-origin: center center; transition: transform .15s ease; }
.flipbook-page { background: white; }
.flipbook-page canvas { display: block; height: 100%; width: 100%; }
.flipbook-viewer__status { padding: 20px; text-align: center; }
@media (max-width: 767px) {
    .flipbook-viewer { padding: 8px; }
    .flipbook-viewer__heading { display: block; text-align: center; }
    .flipbook-viewer__heading .back { display: block; margin-bottom: 8px; position: static; }
    .flipbook-viewer__body { min-height: 430px; }
    .flipbook-viewer__thumbnails { flex-basis: 84px; }
    .flipbook-viewer__stage { padding: 5px; }
}
