/* Biblioteca Viva | Reader layout refinement 1.0 | 2026-11-03
   Responsive only: original pagination and reader state remain authoritative. */
.reader-page.paged-reader{background:#e9e1d8;color:#352832}
.reader-page .reader-header{background:#291d29;border-bottom:1px solid #5b4051}
.reader-page .reader-header-inner{max-width:1240px;min-height:60px;padding:7px clamp(12px,3vw,30px);gap:12px}
.reader-page .reader-back{color:#f1d7b1;font-size:13px}
.reader-page .reader-bookname{font:normal clamp(15px,1.6vw,19px)/1.15 Georgia,serif;color:#f4e8dd}
.reader-page .reader-tools{gap:7px}
.reader-page .reader-tools button,.reader-page .reader-tools select{min-width:43px;min-height:43px;border-radius:9px}
.reader-page .reader-tools select{padding:0 12px;max-width:120px}
.reader-page .reader-tools .reader-focus-button{min-width:80px;padding:0 12px;border:1px solid #b78c8d;color:#f5e4d8;font-size:12px;font-weight:700}
.reader-page .reader-tools .reader-focus-button[aria-pressed="true"]{background:#785066;border-color:#bd9d9f}
.reader-page .reader-progress{height:3px}
.reader-page .reader-progress span{background:#caa77d}
.reader-page .reader-main.paged-main{width:min(100%,1230px);max-width:1230px;padding:clamp(13px,2.3vh,25px) clamp(12px,3vw,32px) 55px}
.reader-page .reader-intro{margin:0 auto 18px}
.reader-page .reader-intro h1{font-size:clamp(25px,3vw,39px);margin:6px auto}
.reader-page .reader-intro .reader-kicker{letter-spacing:2px}
.reader-page .reading-navigation{max-width:1060px;margin:0 auto 13px;gap:13px}
.reader-page .reading-navigation select{min-height:43px;border-radius:8px;border-color:#c8b5a3;background:#fdf9f4;max-width:100%}
.reader-page .reader-book-shell{background:#fffaf2;border:1px solid #d8c8b6;border-radius:9px;padding:15px clamp(22px,4vw,48px) 14px;box-shadow:0 3px 0 #d5c5b5,0 18px 34px #4e383a21}
.reader-page .reader-book-shell:before{background:linear-gradient(90deg,#b69c882b,transparent)}
.reader-page .reader-book-shell:after{background:linear-gradient(270deg,#b69c882b,transparent)}
.reader-page .paper-upper,.reader-page .paper-lower{color:#735649;font-size:9px;letter-spacing:1.2px}
.reader-page .paper-upper{padding-bottom:11px}
.reader-page .paper-lower{padding-top:11px}
.reader-page.paged-reader .page-viewport{height:clamp(270px,calc(100dvh - 255px),740px);margin:11px 0}
.reader-page.paged-reader .reading-text{color:#362b28;line-height:1.7;font-weight:400}
.reader-page .page-controls{gap:clamp(9px,3vw,25px);margin:17px auto 0}
.reader-page .page-turn{min-height:46px;min-width:130px;border-radius:10px;background:#563047;border-color:#563047;gap:9px}
.reader-page .page-turn:not(:disabled):hover{background:#71465b}
.reader-page .page-indicator{min-width:116px}
.reader-page .page-hint{margin-top:14px}
.reader-page .reader-source{margin-top:25px}
.reader-page.sepia{background:#e3d6c1}
.reader-page.sepia .reader-book-shell,.reader-page.sepia .page-loading{background:#f6e7cf;border-color:#cdb391}
.reader-page.sepia .reading-navigation select{background:#f8ebd5}
.reader-page.night{background:#19151d;color:#e6d7d4}
.reader-page.night .reader-book-shell,.reader-page.night .page-loading{background:#2b242b;border-color:#5c4b53}
.reader-page.night .reading-text{color:#e7dbd0}
.reader-page.night .reader-book-shell:before{background:linear-gradient(90deg,#0b080a55,transparent)}
.reader-page.night .reader-book-shell:after{background:linear-gradient(270deg,#0b080a55,transparent)}
.reader-page.night .paper-upper,.reader-page.night .paper-lower{color:#cab9ac;border-color:#52434a}
.reader-page.night .reading-navigation select{background:#332933;border-color:#6e5964;color:#f6eadd}
.reader-page.night .page-indicator{color:#ebddd8}
.reader-page.night .page-hint{color:#bfafb8}
.reader-page .reader-focus-button:focus-visible{outline:3px solid #dcb991;outline-offset:3px}
.reader-page.reading-focus .reader-intro,.reader-page.reading-focus #pageHint,.reader-page.reading-focus .reader-source{display:none}
.reader-page.reading-focus .reader-main.paged-main{padding-top:10px;padding-bottom:12px}
.reader-page.reading-focus .reader-header-inner{min-height:53px}
.reader-page.reading-focus .reading-navigation{margin-bottom:8px}
.reader-page.reading-focus .reader-book-shell{padding-block:10px}
.reader-page.reading-focus.paged-reader .page-viewport{height:clamp(280px,calc(100dvh - 190px),930px);margin:8px 0}
.reader-page.reading-focus .page-controls{margin-top:10px}
@media(max-width:850px){
 .reader-page .reader-header-inner{padding:6px 12px;gap:8px;min-height:57px}
 .reader-page .reader-bookname{display:none}
 .reader-page .reader-tools{margin-left:auto;gap:4px}
 .reader-page .reader-tools .reader-focus-button{min-width:52px;font-size:11px;padding:0 8px}
 .reader-page .reader-tools button,.reader-page .reader-tools select{min-width:42px;min-height:43px}
 .reader-page .reader-tools select{max-width:87px;padding:0 7px}
 .reader-page .reader-main.paged-main{padding:14px 10px 38px}
 .reader-page .reader-intro{margin-bottom:12px}
 .reader-page .reader-intro h1{font-size:clamp(24px,5vw,34px)}
 .reader-page .reading-navigation{margin:0 2px 10px;gap:8px}
 .reader-page .reader-book-shell{padding:12px clamp(17px,4vw,30px);border-radius:7px}
 .reader-page .paper-upper,.reader-page .paper-lower{font-size:8px}
 .reader-page.paged-reader .page-viewport{height:clamp(300px,calc(100dvh - 295px),750px);margin:10px 0}
 .reader-page .page-controls{gap:10px;margin-top:15px}
 .reader-page .page-turn{min-height:46px;min-width:92px;padding:5px 10px}
 .reader-page .page-indicator{min-width:84px;font-size:12px}
 .reader-page .page-hint{margin:10px auto 0;max-width:380px}
 .reader-page.reading-focus.paged-reader .page-viewport{height:clamp(300px,calc(100dvh - 200px),900px)}
}
@media(orientation:landscape) and (max-height:760px){
 .reader-page .reader-intro{display:none}
 .reader-page .reader-header-inner{min-height:48px;padding-block:4px}
 .reader-page .reader-main.paged-main{padding-top:8px;padding-bottom:17px}
 .reader-page .reading-navigation{margin-bottom:7px}
 .reader-page .reading-navigation select{min-height:39px}
 .reader-page .reader-book-shell{padding-block:9px}
 .reader-page .paper-upper{padding-bottom:6px}
 .reader-page .paper-lower{padding-top:6px}
 .reader-page.paged-reader .page-viewport{height:max(220px,calc(100dvh - 170px));margin:7px 0}
 .reader-page .page-controls{margin-top:9px}
 .reader-page .page-turn{min-height:41px}
 .reader-page .page-hint,.reader-page .reader-source{margin-top:10px}
 .reader-page.reading-focus.paged-reader .page-viewport{height:max(270px,calc(100dvh - 152px))}
}
@media(max-width:410px){
 .reader-page .reader-back{font-size:12px}
 .reader-page .reader-tools{gap:3px}
 .reader-page .reader-tools button,.reader-page .reader-tools select{min-width:37px;min-height:42px}
 .reader-page .reader-tools select{max-width:74px}
 .reader-page .reader-tools .reader-focus-button{min-width:48px;padding:0 5px;font-size:10px}
 .reader-page .reader-book-shell{padding-inline:16px}
 .reader-page .paper-upper,.reader-page .paper-lower{font-size:7px}
 .reader-page .page-turn{min-width:83px;font-size:11px}
}

/* Reading controls must stay reachable on small portrait screens. */
@media (min-width:650px) and (max-width:1100px){
 .reader-page .reader-book-shell{max-width:730px;margin-inline:auto}
 .reader-page .reading-navigation{max-width:730px}
}
@media (max-width:600px) and (orientation:portrait){
 .reader-page .reader-intro{margin-bottom:8px}
 .reader-page .reader-intro .reader-kicker{font-size:8px}
 .reader-page .reader-intro h1{margin:4px auto;font-size:27px}
 .reader-page .reader-intro .reader-author{font-size:14px}
 .reader-page .reader-main.paged-main{padding:10px 10px 28px}
 .reader-page .reading-navigation{margin-bottom:7px}
 .reader-page .reader-book-shell{padding-top:9px;padding-bottom:9px}
 .reader-page .paper-upper{padding-bottom:7px}
 .reader-page .paper-lower{padding-top:7px}
 .reader-page.paged-reader .page-viewport{height:clamp(245px,calc(100dvh - 390px),575px);margin:8px 0}
 .reader-page .page-controls{margin-top:11px}
 .reader-page .page-hint{font-size:10px}
 .reader-page.reading-focus.paged-reader .page-viewport{height:clamp(280px,calc(100dvh - 245px),680px)}
}
