/* Book view (book.html): the A4 sections, scaled into StPageFlip pages. */
html,body{height:100%}
.book-body{margin:0;background:#e6e8ee;overflow:hidden;display:flex;flex-direction:column}
.book-bar{position:relative;z-index:10;display:flex;align-items:center;gap:18px;padding:10px 20px;background:#fff;border-bottom:1px solid #dfe3ec;font-size:14px;flex:0 0 auto}
.book-bar .tb-logo{font-size:15px}
.book-count{margin-left:auto;font-family:'Montserrat',sans-serif;font-weight:600;color:#5d6577;font-size:13px}
.book-nav{display:flex;gap:6px}
.book-nav button{width:36px;height:36px;border-radius:50%;border:1px solid #dfe3ec;background:#fff;font-size:20px;line-height:1;cursor:pointer}
.book-link,.topbar .book-link{font-size:14px;font-weight:600;color:var(--brand2);text-decoration:none;white-space:nowrap}
.stage{position:relative;z-index:1;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:16px;overflow:hidden}
/* the frame sets the size (two A4 pages side by side = 1.414 : 1); the library fills it */
.book-frame{width:min(94vw,calc((100vh - 110px) * 1.414))}
#book{width:100%}
@media (max-aspect-ratio:1/1){.book-frame{width:min(92vw,calc((100vh - 110px) * .707))}}
.page{background:#fff;overflow:hidden}
.page-inner{position:absolute;top:0;left:0;width:210mm;height:297mm;transform-origin:0 0}
.page-inner .sec{margin:0}
/* inside the book the cover keeps moving, like the original flipbook */
.book-body .cover .bg-video,.book-body .contact .bg-video{display:block!important}
.book-body .film-print{cursor:pointer}
.lightbox{position:fixed;inset:0;z-index:50;background:rgba(5,6,10,.86);display:flex;align-items:center;justify-content:center;padding:24px}
.lightbox[hidden]{display:none}
.lightbox video{width:min(92vw,1100px);aspect-ratio:16/9;background:#000;border-radius:12px}
.lb-close{position:absolute;top:16px;right:20px;background:none;border:0;color:#fff;font-size:15px;cursor:pointer}
.book-count,.book-bar .tb-logo{white-space:nowrap}
@media (max-width:520px){.book-count,.ctl.sound{display:none}.book-bar{gap:8px;padding:8px 10px}.book-bar .tb-logo{font-size:13px}.book-link{font-size:12px}.book-nav button{width:32px;height:32px}}

/* ── make it read as a printed book ── */
.book-body{background:radial-gradient(ellipse at 50% 40%,#f3f4f7 0%,#dcdfe6 60%,#c9cdd6 100%)}
.page{box-shadow:0 22px 44px -18px rgba(20,25,40,.45)}
.page::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:5}
/* the fold: darker towards the spine on both pages of a spread */
.page.--left::after{background:linear-gradient(to left,rgba(0,0,0,.22) 0,rgba(0,0,0,.06) 3.5%,rgba(0,0,0,0) 9%),linear-gradient(to right,rgba(255,255,255,.08),rgba(255,255,255,0) 6%)}
.page.--right::after{background:linear-gradient(to right,rgba(0,0,0,.22) 0,rgba(0,0,0,.06) 3.5%,rgba(0,0,0,0) 9%),linear-gradient(to left,rgba(255,255,255,.08),rgba(255,255,255,0) 6%)}
/* the stack of sheets under each page, on its outer edge */
.page.--left{box-shadow:-2px 1px 0 #f7f8fa,-4px 2px 0 #e3e6ec,-6px 3px 0 #f7f8fa,-8px 4px 0 #d9dde5,0 22px 44px -18px rgba(20,25,40,.45)}
.page.--right{box-shadow:2px 1px 0 #f7f8fa,4px 2px 0 #e3e6ec,6px 3px 0 #f7f8fa,8px 4px 0 #d9dde5,0 22px 44px -18px rgba(20,25,40,.45)}
/* the cover and back cover are hard boards: no fold shading */
.page[data-density="hard"]::after{background:linear-gradient(to right,rgba(255,255,255,.10),rgba(255,255,255,0) 3%)}

/* ── slideshows inside the book: one slide at a time, cross-fading ── */
.book-body .carousel .track.fade{display:block!important;position:relative;flex:1;min-height:0;border-radius:12px;overflow:hidden}
.book-body .carousel .track.fade figure{position:absolute;inset:0;opacity:0;transition:opacity .9s ease}
.book-body .carousel .track.fade figure.on{opacity:1}
.book-body .carousel .track.fade img{width:100%;height:100%;aspect-ratio:auto}
.book-body .carousel .cc{display:flex!important;margin-top:4mm}
.book-body .carousel .cc>button{width:9mm;height:9mm;font-size:1.6rem}
.book-body .dots button{width:2.6mm;height:2.6mm}.book-body .dots button[aria-current="true"]{width:7mm}
