/* Vartoma knyga (StPageFlip). Kompiuteryje atverstas atvartas, telefone po vieną puslapį. */
.fb { position: relative; max-width: 1080px; margin: 0 auto; outline: none; -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; }
.fb img { -webkit-user-drag: none; user-drag: none; pointer-events: none; }
.fb:focus-visible { outline: 3px solid var(--sun); outline-offset: 8px; border-radius: 12px; }
.fb-stage { position: relative; padding: 6px 0 26px; transition: transform .7s cubic-bezier(.4, .1, .2, 1); }
.fb-stage::after { content: ''; position: absolute; left: 8%; right: 8%; bottom: 8px; height: 26px; background: radial-gradient(ellipse at center, rgba(43, 35, 64, .28), transparent 70%); z-index: -1; transition: left .7s, right .7s; }
.fb-stage.at-cover { transform: translateX(-25%); }
.fb-stage.at-cover::after { left: 54%; right: 4%; }
.fb-stage.at-back { transform: translateX(25%); }
.fb-stage.at-back::after { left: 4%; right: 54%; }
.fb-book { width: 100%; margin: 0 auto; }
.fb-page { background: var(--paper); overflow: hidden; }
.fb-page > .pg { width: 100%; height: 100%; aspect-ratio: auto; }
.fb-page[data-density="hard"] { border-radius: 2px 6px 6px 2px; }
.fb-page[data-density="hard"] > .pg-cover::after { content: ''; position: absolute; top: 0; bottom: 0; left: 3%; width: 3%; background: linear-gradient(90deg, rgba(0,0,0,.16), rgba(255,255,255,.22), rgba(0,0,0,.06)); pointer-events: none; }
/* Kol biblioteka neįsijungė: rodome tik viršelį, kad puslapis nešokinėtų. */
.fb:not([data-ready]) .fb-page { display: none; }
.fb:not([data-ready]) .fb-page:first-child { display: block; width: min(100%, 520px); aspect-ratio: 1; margin: 0 auto; }
.fb.fb-static .fb-book { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
.fb.fb-static .fb-page { display: block !important; aspect-ratio: 1; }

.fb-nav { display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: 4px; }
.fb-btn { width: 54px; height: 54px; border-radius: 50%; border: 3px solid var(--ink); background: #FFFAF0; color: var(--ink); font-size: 24px; font-weight: 800; cursor: pointer; box-shadow: 3px 3px 0 var(--ink); transition: transform .12s, box-shadow .12s, opacity .2s; display: grid; place-items: center; line-height: 1; }
.fb-btn:hover:not(:disabled) { transform: translate(-1px, -2px); box-shadow: 4px 5px 0 var(--ink); background: var(--sun); }
.fb-btn:active:not(:disabled) { transform: translate(2px, 2px); box-shadow: 1px 1px 0 var(--ink); }
.fb-btn:disabled { opacity: .35; cursor: default; }
.fb-count { min-width: 120px; text-align: center; font-family: var(--display); font-weight: 700; font-size: 17px; color: var(--ink-soft); }

/* Puslapių tekstas telefone: minimalūs dydžiai ir platesnis teksto laukas. */
.fb .sp-text p { font-size: max(14px, 3.4cqi); }
.fb .sp-text.lvl-s p { font-size: max(16px, 3.9cqi); }
.fb .sp-text.lvl-d p { font-size: max(14px, 3.1cqi); }
@media (min-width: 1000px) { .fb .sp-text p { font-size: max(16px, 3.4cqi); } .fb .sp-text.lvl-d p { font-size: max(16px, 3.1cqi); } }
.fb.fb-portrait .sp-text { width: 80cqi; padding: 4cqi 5cqi; }
.fb.fb-portrait .sp-text-l { left: 10cqi; }
.fb.fb-portrait .sp-text-r { right: 10cqi; }
.fb .pg-num { font-size: max(10px, 2.6cqi); }

/* Forzacas, galinis viršelis ir pastabų puslapiai */
.pg-endpaper { background-color: var(--paper-2); background-image: radial-gradient(circle at 25% 25%, color-mix(in srgb, var(--sun) 55%, transparent) 0 2.2cqi, transparent 2.4cqi), radial-gradient(circle at 75% 75%, color-mix(in srgb, var(--tomato) 30%, transparent) 0 1.6cqi, transparent 1.8cqi); background-size: 18% 18%; }
.pg-back { background: var(--tomato); display: grid; place-items: center; }
.pg-back .back-in { text-align: center; color: #fff; display: flex; flex-direction: column; align-items: center; gap: 2cqi; }
.pg-back .back-star { font-size: 14cqi; color: var(--sun); -webkit-text-stroke: .5cqi var(--ink); line-height: 1; }
.pg-back b { font-family: var(--display); font-weight: 800; font-size: max(18px, 7cqi); }
.pg-back small { font-size: max(12px, 3.4cqi); opacity: .9; }
.pg-note { display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; padding: 12cqi; }
.pg-note h3 { font-size: max(18px, 6cqi); margin-bottom: 4cqi; }
.pg-note .note-text { font-family: var(--book, var(--body)); font-size: max(14px, 4.2cqi); line-height: 1.45; color: var(--ink); margin: 0; text-wrap: pretty; }
.pg-lock { background-color: #FFF1C9; }
.lock-ic { font-size: 12cqi; width: 22cqi; height: 22cqi; display: grid; place-items: center; border: .7cqi solid var(--ink); border-radius: 50%; background: #FFFAF0; margin-bottom: 4cqi; box-shadow: 1cqi 1cqi 0 var(--ink); }
.pg-cta .cta-page-t { font-family: var(--display); font-weight: 800; font-size: max(18px, 6.4cqi); line-height: 1.15; margin-bottom: 6cqi; }
.pg-cta .btn { font-size: max(15px, 4.4cqi); padding: 3.6cqi 5cqi; min-height: 0; }

/* Vardas viršelyje */
.cover-name { color: var(--tomato); }
.pg-endpaper { display: grid; place-items: center; }
.bookplate { width: 58cqi; padding: 6cqi 5cqi; text-align: center; background: #FFFAF0; border: .7cqi solid var(--ink); border-radius: 4cqi 5cqi 4cqi 6cqi; box-shadow: 1cqi 1.2cqi 0 var(--ink); transform: rotate(-2deg); display: flex; flex-direction: column; gap: 2cqi; }
.bookplate small { font-size: max(12px, 3.6cqi); color: var(--ink-soft); font-weight: 700; }
.bookplate b { font-family: var(--display); font-weight: 800; font-size: max(20px, 8cqi); line-height: 1.05; color: var(--tomato); word-break: break-word; }
.bookplate span { color: var(--sun); -webkit-text-stroke: .4cqi var(--ink); font-size: max(16px, 6cqi); line-height: 1; }

/* Teksto laukelis ant iliustracijos: aiškus popierius, be išplaukusio švytėjimo */
.fb .sp-text { background: rgba(255, 250, 240, .93); box-shadow: 0 .4cqi 1.6cqi rgba(43, 35, 64, .14); border-radius: 3cqi; }
.fb .pg-num { bottom: 3cqi; }
.fb .pg-sp .pg-num { left: auto; right: 4cqi; width: auto; padding: .4cqi 1.6cqi; background: rgba(255, 250, 240, .85); border-radius: 2cqi; color: var(--ink-soft); }
.fb .pg-sp .sp-half-l ~ .pg-num { right: auto; left: 4cqi; }
/* Viršelio paveikslas visada iki kraštų (kai kurie modelio viršeliai turi šviesius kraštus) */
/* Didiname 10 % ir apkerpame kraštus tame pačiame dydyje. */
.pg-cover-ai .pg-full { border-top: 0 !important; }
.cover-line { position: absolute; left: 0; right: 0; top: 30.6cqi; height: .8cqi; background: var(--ink); z-index: 1; }
.pg-cover-ai .cover-label { min-height: 26cqi; display: flex; flex-direction: column; justify-content: center; }
/* Vieno puslapio knyga (peržiūra): visas blokas ne platesnis už puslapį, kad nekabotų aukštame konteineryje. */
.fb[data-single] { max-width: 560px; }
.fb[data-single] .fb-stage.at-cover, .fb[data-single] .fb-stage.at-back { transform: none; }
.fb:not(.fb-portrait) .sp-text { width: 50cqi; padding: 3.6cqi 4.2cqi; }

/* Telefono skaitymas (public/js/flipbook.js strip): visa iliustracija per ekrano plotį, tekstas po ja. */
.fb-strip .fb-stage { padding: 0 0 14px; }
.fb-strip .fb-stage::after { display: none; }
.mr { display: flex; align-items: flex-start; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; transition: height .25s ease; border-radius: 6px; }
.mr::-webkit-scrollbar { display: none; }
.mr-slide { flex: 0 0 100%; scroll-snap-align: start; scroll-snap-stop: always; background: var(--paper); background-image: var(--grain); }
.mr-pg { container-type: inline-size; }
.mr-pg > .pg { width: 100%; }
.mr-art { margin: 0; aspect-ratio: 2 / 1; overflow: hidden; background: var(--paper-2); }
.mr-art img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mr-text { position: relative; padding: 18px 20px 34px; }
.mr-text p { white-space: pre-line; margin: 0; font-family: var(--book, var(--display)); font-weight: var(--book-w, 500); color: var(--ink); font-size: 18px; line-height: 1.45; text-wrap: pretty; }
.mr-text.lvl-s p { font-size: 21px; line-height: 1.4; }
.mr-text.lvl-d p { font-size: 17px; line-height: 1.5; }
.mr-num { display: none; }
.rd2-book.full .fb-strip .mr-slide { max-height: calc(100vh - 140px); overflow-y: auto; }

/* 5 ratas, išdėstymo tikrintojas */
.fb-hint { margin-top: 16px; }
/* Užverstos knygos viršelis: vienas rėmas (šešėlis ir nugarėlė per visą aukštį). */
.fb-page[data-density="hard"] { box-shadow: 0 10px 24px rgba(43, 35, 64, .22); }
.fb-page[data-density="hard"] > .pg-cover::after { z-index: 3; }
.pg-cover-ai { background-color: #FFF8EA; }
/* Galerijos dialoge abu puslapių numeriai su tuo pačiu ženkliuku. */
.fb .pg-sp .pg-num { left: auto; right: 4cqi; }
.fb .pg-sp:has(.sp-half-l) .pg-num { right: auto; left: 4cqi; }
/* Telefono skaitymas siauresniame stulpelyje (1024 px knygos puslapis): vienas puslapio rėmas. */
.fb-strip .mr { box-shadow: 0 8px 22px rgba(43, 35, 64, .18); border: 1.5px solid color-mix(in srgb, var(--ink) 12%, transparent); }
.mr-slide { display: flex; flex-direction: column; }
.mr-slide .mr-text { flex: 1; }
.mr-slide > .mr-pg { margin: auto 0; }
.fb .pg-sp .pg-num { border: 1px solid color-mix(in srgb, var(--ink) 18%, transparent); }
.fb { scroll-margin-top: 150px; }
.fb-page[data-density="hard"] > .pg-cover-ai::after { display: none; }

.pg-cta .price-n { justify-content: center; flex-wrap: wrap; row-gap: 8px; }
.pg-cta .btn { margin-top: 16px; }
