/* Окно просмотра PDF (библиотека). Основа - pdf.js. */
.pdfv{width:100%;max-width:100%;box-sizing:border-box;--pv-accent:var(--okay-button-second-color,#2f7171);position:relative;margin:24px 0;border:1px solid #dbdbdb;border-radius:6px;background:#e9ecea;overflow:hidden;display:flex;flex-direction:column;height:min(88vh,980px);min-height:420px;font-family:inherit}
.pdfv:fullscreen{height:100vh;border:0;border-radius:0;margin:0}
.pdfv__bar{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:8px 12px;background:#fff;border-bottom:1px solid #dbdbdb;font-size:15px;color:#222}
.pdfv__grp{display:flex;align-items:center;gap:6px}
.pdfv__btn{width:38px;height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid #cfd6d3;border-radius:5px;background:#fff;color:#222;font:inherit;font-size:20px;line-height:1;cursor:pointer;text-decoration:none}
.pdfv__btn:hover{border-color:var(--pv-accent);color:var(--pv-accent)}
.pdfv__btn:disabled{opacity:.4;cursor:default;border-color:#cfd6d3;color:#222}
.pdfv__btn svg{width:20px;height:20px}
.pdfv__btn--txt{width:auto;padding:0 12px;font-size:14px;gap:6px;white-space:nowrap}
.pdfv__ar{font-size:20px;line-height:1}
.pdfv__page{width:56px;height:36px;box-sizing:border-box;text-align:center;border:1px solid #cfd6d3;border-radius:5px;font:inherit;font-size:15px;padding:0 4px;background:#fff;color:#222;-moz-appearance:textfield}
.pdfv__page::-webkit-outer-spin-button,.pdfv__page::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.pdfv__total{white-space:nowrap}
.pdfv__zoom{min-width:48px;text-align:center}
.pdfv__sp{flex:1}
.pdfv__scroll{flex:1;min-width:0;overflow-x:auto;overflow-y:scroll;position:relative;padding:14px 0;outline:none;-webkit-overflow-scrolling:touch}
.pdfv.pdfv--fit .pdfv__scroll{overflow-x:hidden}
.pdfv__pages{display:flex;flex-direction:column;align-items:flex-start;box-sizing:border-box}
.pdfv__pg{position:relative;overflow:hidden;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.25);margin:0 auto 12px;flex:none}
.pdfv__pg canvas{display:block;position:absolute;left:0;top:0}
.pdfv__msg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;color:#555;font-size:16px;background:#e9ecea;z-index:5}
.pdfv__msg[hidden]{display:none}
.pdfv .textLayer{position:absolute;text-align:initial;inset:0;overflow:hidden;opacity:.25;line-height:1;-webkit-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2}
.pdfv .textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;transform-origin:0% 0%}
.pdfv .textLayer span.markedContent{top:0;height:0}
.pdfv .textLayer ::selection{background:#1a5fd0}
.pdfv .textLayer br::selection{background:transparent}
.pdfv .textLayer .endOfContent{display:block;position:absolute;inset:100% 0 0;z-index:-1;cursor:default;-webkit-user-select:none;user-select:none}
.pdfv .textLayer .endOfContent.active{top:0}
@media(max-width:575px){.pdfv{height:78vh;margin-left:-8px;margin-right:-8px;border-radius:0;border-left:0;border-right:0}.pdfv__bar{padding:6px 8px;gap:6px}.pdfv__btn--txt{padding:0 9px;font-size:13px;gap:5px}.pdfv__btn svg{width:18px;height:18px}}

/* отдельное окно просмотра (reader.html) */
.pdfv.pdfv--page,.pdfv.pdfv--page:fullscreen{height:100vh;min-height:0;margin:0;border:0;border-radius:0}
@media(max-width:575px){.pdfv.pdfv--page{height:100vh;margin:0}}
.pdfv--page [data-act="pop"]{display:none}

/* режим «book»: плашка, обложка, подсказка */
.pdfv__rib{flex:none;display:flex;align-items:center;gap:14px;padding:12px 16px;background:#2f7171;background:var(--pv-accent);color:#fff}
.pdfv__rib-ic{font-size:28px;line-height:1}
.pdfv__rib-tx b{display:block;font-size:17px}
.pdfv__rib-tx span{font-size:14px;opacity:.92}
.pdfv__rib-tx i{font-style:normal}
.pdfv__rib-btn{border:0;border-radius:6px;background:#fff;color:#2f7171;color:var(--pv-accent);padding:10px 16px;font:inherit;font-size:15px;font-weight:700;cursor:pointer;white-space:nowrap}
.pdfv__rib-btn:hover{background:#eef3f2}
.pdfv--book .pdfv__scroll{background:#d9dedb}
.pdfv--book .pdfv__pg{box-shadow:-5px 0 0 #b9c2bd,-10px 3px 0 #a9b3ae,0 14px 28px rgba(0,0,0,.32)}
.pdfv__hint{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);background:#2f7171;background:var(--pv-accent);color:#fff;padding:10px 20px;border-radius:24px;font-size:15px;pointer-events:none;box-shadow:0 4px 14px rgba(0,0,0,.3);transition:opacity .4s;white-space:nowrap}
.pdfv__hint--off{opacity:0}
.pdfv--page .pdfv__rib,.pdfv--page .pdfv__hint{display:none}
/* режим «card»: карточка книги */
.pdfv-card{display:flex;gap:32px;align-items:center;margin:24px 0;padding:24px;background:#fff;border:1px solid #dbdbdb;border-radius:8px;--pv-accent:var(--okay-button-second-color,#2f7171)}
.pdfv-card__cover{flex:none;width:200px;box-shadow:-5px 0 0 #b9c2bd,-10px 3px 0 #a9b3ae,0 14px 24px rgba(0,0,0,.3);background:#fff}
.pdfv-card__cover canvas{display:block;width:100%;height:auto}
.pdfv-card__title{margin:0 0 10px;font-size:22px;line-height:1.25}
.pdfv-card__meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px;font-size:13px}
.pdfv-card__meta span{background:#eef3f2;border-radius:14px;padding:5px 12px}
.pdfv-card__btns{display:flex;flex-wrap:wrap;gap:10px}
.pdfv-card__b1,.pdfv-card__b2{font:inherit;cursor:pointer;border-radius:6px}
.pdfv-card__b1{border:0;background:#2f7171;background:var(--pv-accent);color:#fff;padding:14px 26px;font-size:17px;font-weight:700}
.pdfv-card__b2{border:1px solid #2f7171;border:1px solid var(--pv-accent);background:#fff;color:#2f7171;color:var(--pv-accent);padding:13px 20px;font-size:15px}
.pdfv-card__b1:hover{opacity:.9}.pdfv-card__b2:hover{background:#eef3f2}
@media(max-width:575px){.pdfv-card{flex-direction:column;text-align:center;gap:20px;padding:18px}.pdfv-card__meta,.pdfv-card__btns{justify-content:center}.pdfv-card__cover{width:150px}.pdfv__rib{flex-wrap:wrap;padding:10px 12px}.pdfv__rib-btn{width:100%}.pdfv__hint{font-size:14px;padding:8px 14px}}
/* на телефоне зелёную плашку «Читать онлайн» не показываем */
@media(max-width:575px){.pdfv__rib{display:none}}
/* телефон: без «Назад/Вперёд» и «По ширине», масштаб только + и − */
@media(max-width:575px){.pdfv__btn[data-act="prev"],.pdfv__btn[data-act="next"],.pdfv__btn[data-act="fit"]{display:none}.pdfv__btn[data-act="in"] .pdfv__lbl,.pdfv__btn[data-act="out"] .pdfv__lbl{display:none}.pdfv__btn[data-act="in"],.pdfv__btn[data-act="out"]{width:40px;padding:0;font-size:22px}}
/* телефон: без поля «номер страницы / всего» */
@media(max-width:575px){.pdfv__page,.pdfv__total{display:none}}
