/* LoomSetu Flipbook */
.fb{position:relative;width:100%;height:100%;overflow:hidden;user-select:none;-webkit-user-select:none}
.fb.fb-zoomed{overflow:auto}
.fb-stage{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;perspective:2600px}
.fb.fb-zoomed .fb-stage{width:max-content;height:max-content;min-width:100%;min-height:100%;padding:20px}
.fb-book{position:relative;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.45,.05,.25,1);cursor:pointer;flex:none}
.fb-slot{position:absolute;top:0;background:#fff;overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.45)}
.fb-slot.fb-empty{background:transparent;box-shadow:none}
.fb-slot.fb-loading{background:#fff linear-gradient(90deg,#f1f3f6 0,#fafbfc 40%,#f1f3f6 80%) 0 0/200% 100%;animation:fbLoad 1.2s linear infinite}
@keyframes fbLoad{to{background-position:-200% 0}}
.fb-slot>*,.fb-face>*{display:block;width:100%;height:100%}
/* page curvature + inner shadow near the spine */
.fb-spread .fb-left::after,.fb-spread .fb-right::after{content:"";position:absolute;inset:0;pointer-events:none}
.fb-spread .fb-left::after{background:linear-gradient(to left,rgba(0,0,0,.22),rgba(0,0,0,.06) 6%,transparent 14%)}
.fb-spread .fb-right::after{background:linear-gradient(to right,rgba(0,0,0,.25),rgba(0,0,0,.07) 6%,transparent 14%)}
.fb-spread .fb-left.fb-empty::after,.fb-spread .fb-right.fb-empty::after{display:none}
/* page-edge stack */
.fb-spread .fb-left:not(.fb-empty){box-shadow:-3px 0 0 #e9e9e9,-6px 0 0 #dcdcdc,0 18px 50px rgba(0,0,0,.45)}
.fb-spread .fb-right:not(.fb-empty){box-shadow:3px 0 0 #e9e9e9,6px 0 0 #dcdcdc,0 18px 50px rgba(0,0,0,.45)}
.fb-spine{display:none}
/* turning leaf */
.fb-leaf{position:absolute;top:0;display:none;transform-style:preserve-3d;z-index:5;transition:transform .9s cubic-bezier(.45,.05,.3,1);will-change:transform}
.fb-face{position:absolute;inset:0;background:#fff;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.fb-back{transform:rotateY(180deg)}
.fb-back.fb-blank{background:#f4f1ea}
.fb-face::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0}
.fb-turning .fb-front::after{background:linear-gradient(to left,rgba(0,0,0,.35),rgba(255,255,255,.15) 35%,transparent 70%);animation:fbShade .9s ease forwards}
.fb-turning .fb-back::after{background:linear-gradient(to right,rgba(0,0,0,.35),rgba(255,255,255,.12) 35%,transparent 70%);animation:fbShade2 .9s ease forwards}
.fb-turning.fb-bwd .fb-front::after{background:linear-gradient(to right,rgba(0,0,0,.35),rgba(255,255,255,.15) 35%,transparent 70%)}
.fb-turning.fb-bwd .fb-back::after{background:linear-gradient(to left,rgba(0,0,0,.35),rgba(255,255,255,.12) 35%,transparent 70%)}
@keyframes fbShade{0%{opacity:0}50%{opacity:1}100%{opacity:0}}
@keyframes fbShade2{0%{opacity:1}60%{opacity:.6}100%{opacity:0}}
.fb-turning .fb-face{box-shadow:0 0 30px rgba(0,0,0,.25)}
/* corner curl hint */
.fb-spread .fb-right:not(.fb-empty)::before{content:"";position:absolute;right:0;bottom:0;width:0;height:0;z-index:2;background:linear-gradient(225deg,transparent 50%,rgba(0,0,0,.12) 50%,#f2f2f2 60%,#fff 100%);transition:width .2s,height .2s;box-shadow:-2px -2px 6px rgba(0,0,0,.15)}
.fb-book:hover .fb-right:not(.fb-empty)::before{width:46px;height:46px}
.fb-single .fb-right{box-shadow:4px 0 0 #e9e9e9,0 18px 50px rgba(0,0,0,.45)}
/* HTML pages (e-catalogue) scaled into the page box */
.fb-html{position:relative;width:100%;height:100%;overflow:hidden;background:#fff}
.fb-html>.fb-scale{position:absolute;top:0;left:0;transform-origin:0 0}
