/* Ekran startowy zaprojektowany wyłącznie dla czterech książek. */
#public-view{height:calc(100dvh - 92px);display:grid;grid-template-columns:minmax(360px,38%) 1fr;overflow:hidden;background:#f5f0e7;position:relative;padding-bottom:48px}
#public-view .hero{min-height:0;height:100%;display:flex;align-items:center;padding:clamp(30px,5vh,70px) clamp(28px,4vw,74px);background:linear-gradient(145deg,rgba(7,42,32,.99),rgba(7,42,32,.9)),url('assets/zdjecie-glowne.jpg') center/cover}
#public-view .hero h1{font-size:clamp(40px,4vw,68px)}
#public-view .hero-book{display:none}
#public-view .library{height:100%;width:100%;padding:clamp(22px,3vh,42px) clamp(18px,3vw,48px);display:flex;flex-direction:column;overflow:hidden}
#public-view .section-head{text-align:left;margin:0 0 clamp(14px,2vh,26px);flex:0 0 auto}
#public-view .section-head h2{font-size:clamp(28px,2.5vw,42px);margin:5px 0}
#public-view .section-head>p:last-child{margin:5px 0;font-size:12px}
#public-books{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:clamp(10px,1.5vw,22px);min-height:0;flex:1}
#public-books .book-card{min-height:0;display:grid;grid-template-columns:minmax(105px,38%) 1fr}
#public-books .cover-wrap{padding:clamp(9px,1.2vw,18px);display:flex;align-items:center;justify-content:center}
#public-books .cover-wrap img{height:100%;width:100%;max-height:29vh;object-fit:contain}
#public-books .book-copy{min-width:0;padding:clamp(11px,1.4vw,20px)}
#public-books .book-copy h3{font-size:clamp(16px,1.35vw,23px);margin-bottom:7px}
#public-books .book-copy p{font-size:clamp(10px,.8vw,13px);min-height:0;margin:0 0 5px}
#public-books .book-copy .price{margin:auto 0 9px;font-size:10px}
#public-books .book-copy button{padding:11px 8px;font-size:9px}
.entry-footer{position:absolute;z-index:6;left:0;right:0;bottom:0;height:48px;display:flex;align-items:center;justify-content:center;padding:0 clamp(24px,3vw,54px);color:#12372d;background:#faf7f1;border-top:2px solid #c99245;box-shadow:0 -9px 24px #172c241a}
.entry-footer>div{display:flex;align-items:center;gap:10px;white-space:nowrap}
.entry-footer-mark{display:grid;place-items:center;width:27px;height:27px;border:1px solid #d4a157;border-radius:50%;color:#e6b76f;font:700 13px Georgia,serif}
.entry-footer strong{font:600 13px/1.2 Georgia,serif}
.entry-footer p{margin:0;text-align:center;color:#76582e;font-size:10px}
.entry-signature{display:flex;justify-content:center;align-items:center;gap:9px;letter-spacing:.14em}
.entry-signature span{font-size:8px;font-weight:700}
.entry-signature strong{color:#12372d;font:600 13px Georgia,serif;letter-spacing:.1em}
.entry-footer-login{padding:8px 15px;border:1px solid #12372d;border-radius:4px;background:#12372d;color:#fff;font-size:9px;font-weight:800;letter-spacing:.08em;cursor:pointer}
.entry-footer-login:hover{background:#c99245;border-color:#c99245;color:#082f24}
@media(max-height:760px) and (min-width:751px){.topbar{min-height:74px;height:74px}.brand strong{font-size:38px}#public-view{height:calc(100dvh - 74px)}#public-view .hero h1{font-size:45px;margin:12px 0}#public-view .hero>div>p:not(.eyebrow){font-size:14px}.actions{margin-top:18px}#public-view .library{padding-block:16px}#public-view .section-head h2{font-size:28px}}
@media(max-width:750px){.topbar{height:68px;min-height:68px}#public-view{height:calc(100dvh - 68px);grid-template-columns:1fr;grid-template-rows:minmax(145px,31%) 1fr}#public-view .hero{padding:18px 20px}#public-view .hero h1{font-size:clamp(29px,9vw,42px);margin:8px 0}#public-view .hero br{display:none}#public-view .hero>div>p:not(.eyebrow){font-size:12px;line-height:1.35;margin:5px 0}.actions{margin-top:11px}.actions .primary{display:none}.actions button{padding:9px 12px}#public-view .library{padding:10px}#public-view .section-head{margin-bottom:7px;display:flex;align-items:baseline;gap:10px}#public-view .section-head .eyebrow,#public-view .section-head>p:last-child{display:none}#public-view .section-head h2{font-size:22px;margin:0}#public-books{gap:7px}#public-books .book-card{display:flex;flex-direction:column}#public-books .cover-wrap{height:54%;padding:5px}#public-books .cover-wrap img{max-height:100%}#public-books .book-copy{height:46%;padding:7px}#public-books .book-copy h3{font-size:clamp(11px,3.4vw,15px);line-height:1.05;margin:0}#public-books .book-copy p,#public-books .book-copy .price{display:none}#public-books .book-copy button{margin-top:auto;padding:7px 3px;font-size:7px}}
@media(max-width:750px){#public-view{padding-bottom:40px}.entry-footer{height:40px;padding:0 10px}.entry-signature{display:flex}.entry-signature strong{font-size:11px}}

/* Pełnoekranowy czytnik demonstracyjny. */
#reader-dialog{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;border-radius:0}
#reader-dialog::backdrop{background:#0a211a}
.reader{--reader-scale:1;width:100vw;height:100dvh}
.reader>header{flex:0 0 72px}
.reader-tools{display:flex!important;align-items:center;gap:10px}
.reader-zoom{display:flex;align-items:center;border:1px solid #ffffff55;border-radius:30px;overflow:hidden}
.reader-zoom button{font-size:20px;padding:9px 14px}
.reader-zoom output{min-width:48px;text-align:center;font-size:12px;font-weight:700}
.reader-body{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:0;flex:1}
.reader-shelf{background:#f7f2e9;border-right:1px solid #cabfae;padding:22px 15px;overflow:auto}
.shelf-title h2{font-size:28px;margin:4px 0 18px}
.shelf-book{display:grid;grid-template-columns:52px 1fr;gap:11px;align-items:center;padding:10px 7px;margin-bottom:8px;border:1px solid #d8cfc0;border-radius:7px;background:#fff}
.shelf-book img{width:52px;height:68px;object-fit:contain;background:#eee7dc}
.shelf-book strong{display:block;font:14px/1.15 Georgia,serif}
.shelf-book span{display:block;font-size:10px;color:#777;margin-top:7px}
.shelf-book.active{border-color:#608a77;background:#eef5f0;box-shadow:inset 4px 0 #0b382c}
.shelf-book.active span{color:#0b6b47;font-weight:700}
.shelf-book.locked{opacity:.65}
.shelf-book[role=button]{cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}
.shelf-book[role=button]:hover,.shelf-book[role=button]:focus-visible{border-color:#608a77;background:#f2f7f3;transform:translateX(2px);outline:none}
.page-stage{min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;overflow:auto;padding:24px}
.page-stage .spread{transform:scale(var(--reader-scale));transform-origin:center center;transition:transform .18s ease}
.page-stage .spread article{font-size:calc(18px * var(--reader-scale))}
.reader>footer{flex:0 0 60px}
#shelf-toggle{display:none}
@media(max-width:800px){.reader>header{height:62px;flex-basis:62px;padding:0 8px}.reader>header>div:nth-child(2){display:none}.reader-tools{display:flex!important}.reader>header #reader-close{font-size:8px;padding:9px}.reader-zoom button{padding:7px 11px}.reader-body{display:block;position:relative}.reader-shelf{position:absolute;z-index:3;inset:0 auto 0 0;width:min(290px,85vw);transform:translateX(-101%);transition:transform .2s ease;box-shadow:15px 0 35px #0004}.reader-shelf.open{transform:translateX(0)}#shelf-toggle{display:block}.page-stage{height:100%;padding:12px}.reader>footer{height:52px;flex-basis:52px}.page-stage .spread{transform:scale(var(--reader-scale));transform-origin:center}.reader-zoom output{min-width:38px}}

/* Czytana strona dominuje, następna jest tylko zagiętą zapowiedzią. */
@media(min-width:801px){
  .reader-body{grid-template-columns:225px minmax(0,1fr)}
  .reader-shelf{padding-inline:11px}
  .shelf-book{grid-template-columns:44px 1fr;gap:8px;padding:8px 6px}
  .shelf-book img{width:44px;height:59px}
  .shelf-book strong{font-size:12px}
  .page-stage{padding:14px 24px;perspective:1800px}
  .page-stage .spread{width:min(1220px,96%);height:min(96%,860px);max-width:none;display:grid;grid-template-columns:minmax(0,3.2fr) minmax(190px,1fr);align-items:stretch;box-shadow:none;overflow:visible;perspective:1800px}
  .page-stage .spread article{height:100%;min-width:0;aspect-ratio:auto}
  .page-stage .spread article:first-child{z-index:2;padding:8% 10%;box-shadow:0 18px 40px #24342b2c,inset -20px 0 28px -30px #000}
  .page-stage .spread article:last-child{z-index:1;width:112%;padding:14% 12%;overflow:hidden;transform-origin:left center;transform:rotateY(-24deg) translateX(-2px) scaleY(.97);clip-path:polygon(0 0,96% 3%,100% 50%,94% 97%,0 100%);box-shadow:18px 18px 36px #24342b33,inset 28px 0 38px -36px #000;background:linear-gradient(90deg,#eee7dc 0,#fffdf8 13%,#fffdf8 84%,#e9dfcf 100%)}
  .page-stage .spread article:last-child::after{content:"";position:absolute;inset:0 0 0 auto;width:28%;pointer-events:none;background:linear-gradient(105deg,transparent,#c8bba72a 55%,#aa96754d);clip-path:polygon(55% 0,100% 3%,100% 97%,35% 100%,70% 53%)}
  .page-stage .spread article:first-child h2{font-size:calc(38px * var(--reader-scale));margin-top:26%}
  .page-stage .spread article:last-child h2{font-size:calc(25px * var(--reader-scale));margin-top:38%}
  .page-stage .spread article:last-child p:not(.watermark){font-size:calc(14px * var(--reader-scale))}
}

/* Telefon: prosta lista tytułów i pojedyncza strona książki bez ucinania tekstu. */
@media(max-width:800px){
  .topbar{padding:8px 14px}
  .brand strong{font-size:32px}
  .topbar nav{gap:0}
  .topbar .ghost{font-size:9px;padding:10px 12px;white-space:nowrap}
  #public-view{grid-template-rows:minmax(190px,36%) minmax(0,1fr)}
  #public-view .hero{padding:14px 24px;overflow:hidden}
  #public-view .hero h1{font-size:clamp(30px,9vw,45px);line-height:.98;margin:8px 0 12px}
  #public-view .hero br{display:block}
  #public-view .hero>div>p:not(.eyebrow){font-size:12px;line-height:1.35}
  #public-view .library{padding:10px 12px}
  #public-books{grid-template-columns:1fr;grid-template-rows:repeat(4,minmax(0,1fr));gap:7px}
  #public-books .book-card{display:block;min-height:0}
  #public-books .cover-wrap{display:none}
  #public-books .book-copy{height:100%;padding:9px 12px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}
  #public-books .book-copy h3{font-size:clamp(15px,4vw,19px);line-height:1.08;margin:0}
  #public-books .book-copy button{margin:0;min-width:128px;padding:9px 8px;font-size:7px}

  .reader>header{height:58px;flex-basis:58px}
  .reader-tools .reader-zoom{display:none}
  .page-stage{padding:8px;overflow-y:auto;overflow-x:hidden;justify-content:flex-start;align-items:flex-start;scrollbar-gutter:auto}
  .page-stage .spread{width:calc(100% - 16px);height:auto;max-width:none;margin:0 auto;box-shadow:0 8px 22px #24342b2b}
  .page-stage .spread article:first-child{display:block;width:100%;height:100%;aspect-ratio:auto}
  .page-stage .spread article:first-child>img{position:absolute;top:0;left:-18%;width:136%;height:100%;max-width:none;object-fit:fill;filter:contrast(1.68) brightness(.92)}
  .page-stage .current-page{cursor:default}
  .page-stage .spread article:last-child{display:none!important}
  .spread.turn-next,.spread.turn-prev{animation:none!important;transition:none!important}
  .spread.turn-next article,.spread.turn-prev article{animation:none!important;transition:none!important}
  .reader>footer{gap:10px;padding:0 10px}
  .reader>footer .reading-progress{flex:1;width:auto}
}

@media(max-width:430px){
  #public-view .hero h1{font-size:30px}
  #public-view .hero .eyebrow{font-size:9px}
  #public-books .book-copy h3{font-size:14px}
  #public-books .book-copy button{min-width:108px;font-size:6.5px}
}

/* Pasek książki mieści się nad regałem, a strona wykorzystuje całą wysokość czytnika. */
@media(min-width:801px){
  .reader{position:relative}
  .reader>header{position:absolute;z-index:12;left:0;top:0;width:225px;height:86px;padding:10px 12px;display:grid;grid-template-columns:1fr;grid-template-rows:auto auto;gap:2px;align-content:center;justify-items:start;box-shadow:0 8px 20px #061a1426}
  .reader>header #reader-close{padding:5px 4px;font-size:9px;white-space:nowrap}
  .reader>header>div:nth-child(2){width:100%;text-align:left;padding:0 4px}
  .reader>header>div:nth-child(2) strong{font:600 14px Georgia,serif}
  .reader>header>div:nth-child(2) span{font-size:9px;margin-top:2px}
  .reader>header .reader-tools{position:fixed;z-index:20;top:16px;right:24px;width:auto;display:block!important}
  .reader>header .reader-zoom{background:#0b382ce8;box-shadow:0 6px 18px #10291f35;backdrop-filter:blur(5px)}
  .reader-body{height:calc(100% - 60px);flex:1}
  .reader-shelf{padding-top:104px}
  .page-stage{padding-top:8px}
}
@media(max-width:800px){.page-stage .spread article:first-child{display:block;width:100%;height:100%;aspect-ratio:auto}.page-stage .spread article:last-child{display:block;position:absolute;width:36px;height:90%;right:-22px;top:5%;padding:0;overflow:hidden;transform:rotateY(-32deg);background:linear-gradient(90deg,#f7f1e7,#d9cbb8)}.page-stage .spread article:last-child>*{display:none}.page-stage .spread{position:relative;height:94%;width:min(92%,620px);display:block}}

.book-page{padding:0!important;overflow:hidden;background:#fffdf8;user-select:none;cursor:pointer}
.book-page>img{width:100%;height:100%;display:block;object-fit:contain;pointer-events:none;-webkit-user-drag:none}
.book-page .watermark{z-index:2;color:#294f3b1b;text-shadow:0 0 1px #fff}
.page-loading{position:absolute;inset:0;display:grid;place-items:center;background:#fffdf8;color:#695e50;font:16px Georgia,serif;z-index:3}
.page-loading[hidden]{display:none}
.reader>footer button:disabled{opacity:.3;cursor:not-allowed}
.reader>footer button{min-width:112px;padding-inline:14px}
.reading-progress{overflow:hidden;border-radius:8px}
.spread.turn-next{animation:bookTurnNext .23s ease-in}
.spread.turn-prev{animation:bookTurnPrev .23s ease-in}
@keyframes bookTurnNext{0%{filter:brightness(1)}55%{transform:scale(var(--reader-scale)) translateX(-12px);filter:brightness(.86)}100%{filter:brightness(1)}}
@keyframes bookTurnPrev{0%{filter:brightness(1)}55%{transform:scale(var(--reader-scale)) translateX(12px);filter:brightness(.9)}100%{filter:brightness(1)}}

/* Zoom zmienia rzeczywisty rozmiar strony i zachowuje ostre litery. */
.page-stage .spread{transform:none!important;transform-origin:center;max-width:none;aspect-ratio:auto;flex:0 0 auto}
.page-stage{align-items:flex-start;justify-content:center;scrollbar-gutter:stable both-edges}
.spread.turn-prev{animation:sharpPrevNudge .23s ease-in!important}
@keyframes sharpPrevNudge{0%,100%{filter:brightness(1)}50%{filter:brightness(.9)}}
@media(max-width:800px){.page-stage .spread{transform:none!important;max-width:none}.page-stage{align-items:flex-start;justify-content:flex-start}}
@media(max-width:800px){.reader>footer button{min-width:44px;width:44px;padding:9px 4px;font-size:0}.reader>footer #reader-prev::before{content:'←';font-size:14px}.reader>footer #reader-next::before{content:'→';font-size:14px}.reader>footer .reading-progress{width:min(42vw,180px)}}

/* Oryginalne okładki są osobnymi kartami poza numeracją książki. */
.spread.cover-view .current-page>img{object-fit:contain;filter:none}
.spread.cover-view .current-page .watermark{display:none}
@media(max-width:800px){
  .page-stage .spread.cover-view{height:calc(100% - 8px);width:calc(100% - 16px)}
  .page-stage .spread.cover-view article:first-child>img{left:0;width:100%;height:100%;object-fit:contain;filter:none;background:#fff}
}

/* Jedna duża strona; kolejna jest wyłącznie zagiętym skrawkiem przy krawędzi. */
@media(min-width:801px){
  .page-stage{overflow:auto;padding:10px 34px}
  .page-stage .spread{position:relative;display:block;width:auto;height:min(97%,880px);aspect-ratio:481.37/716.646;max-width:calc(100% - 105px);transform:scale(var(--reader-scale));transform-origin:center center;perspective:1900px;box-shadow:0 22px 48px #26382e30}
  .page-stage .spread article:first-child{position:absolute;inset:0;width:100%;height:100%;padding:0!important;box-shadow:inset -22px 0 30px -35px #000}
  .page-stage .spread article:last-child{position:absolute;z-index:4;left:calc(100% - 3px);top:4%;width:94px;height:92%;padding:0!important;opacity:.95;overflow:hidden;transform-origin:left center;transform:rotateY(-38deg) rotateZ(.4deg);clip-path:polygon(0 0,83% 2%,100% 12%,91% 49%,100% 88%,78% 98%,0 100%);box-shadow:18px 12px 28px #18291f42,inset 22px 0 28px -25px #000;background:#fffdf8;transition:width .18s ease,transform .18s ease}
  .page-stage .spread article:last-child>img{width:650%;height:100%;max-width:none;object-fit:cover;object-position:left center;filter:brightness(.97)}
  .page-stage .spread article:last-child::before{content:"";position:absolute;z-index:3;inset:0;background:linear-gradient(90deg,#8d80672e 0,transparent 20%,#fff8 58%,#9b866e42 100%);pointer-events:none}
  .page-stage .spread article:last-child::after{content:"";position:absolute;z-index:4;right:0;top:0;width:44%;height:100%;background:linear-gradient(100deg,transparent,#b7a68c38 55%,#8e795a52);clip-path:polygon(68% 0,100% 12%,82% 50%,100% 88%,58% 100%,78% 52%);pointer-events:none}
  .page-stage .spread article:last-child .watermark{display:none}
  .page-stage .spread:not(.turn-next) article:last-child:hover{width:122px;transform:rotateY(-29deg) rotateZ(.2deg)}
  .spread.turn-next{animation:none}
  .spread.turn-next article:last-child{animation:realPageTurn .42s cubic-bezier(.55,.08,.42,.95)}
  .spread.turn-prev{animation:bookTurnPrev .23s ease-in}
  @keyframes realPageTurn{0%{width:94px;transform:rotateY(-38deg)}45%{width:100%;transform:translateX(-1px) rotateY(-88deg);filter:brightness(.88)}100%{width:100%;transform:translateX(-100%) rotateY(-176deg);filter:brightness(.98)}}
}
