/* EDPP book presentation, scoped to the existing Siyasett book modal. */
#bookModal .modal{max-width:900px;border-radius:12px;overflow:hidden}
#bookModal .modal-header{padding:22px 24px;border-bottom:1px solid #e4e8ed}
#bookModal .modal-title{font-size:24px;line-height:1.35}
#bookModal .modal-body{max-height:68vh;overflow-y:auto;padding:26px 28px;overscroll-behavior:contain}
.book-card{border-radius:8px;box-shadow:none}
.book-info{min-height:126px;gap:7px}
.book-info-title{font-size:14px;font-weight:700;-webkit-line-clamp:3}
.book-info-author{font-size:12px}
.book-cover img{object-fit:contain;background:white}
.book-info-meta{gap:8px;align-items:flex-end}
.book-cat-badge{font-size:9px;border:1px solid #dce5ed;background:#f1f5f9}
.book-publisher{font-size:10px;min-width:0}
#bookModal .book-detail-cover{aspect-ratio:2/3;background:#eef2f6;display:flex;align-items:center;justify-content:center}
#bookModal .book-detail-cover img{display:block;width:100%;height:100%;object-fit:contain;background:white}
#bookModal .book-detail-cover>span{padding:18px;text-align:center}
.book-detail-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:30px;align-items:start}
.book-detail-cover{border:1px solid #dce1e8;border-radius:8px;overflow:hidden;box-shadow:0 8px 24px #08182d1f}
.book-detail-cover .book-cover{padding:0}
.book-detail-cover .cover-title{padding:18px}
.book-detail-info dl{display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px 16px;margin:0}
.book-detail-info dt{color:#708197;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.book-detail-info dd{margin:0;font-size:15px;line-height:1.5}
.book-detail-summary{margin:22px 0 0;padding-top:19px;border-top:1px solid #e5e8ec;white-space:pre-line;font-size:15px;line-height:1.75}
.book-purchase{margin-top:22px;padding-top:18px;border-top:1px solid #e5e8ec}
.book-purchase h3,.book-contents h3{margin:0 0 14px;font:600 18px/1.4 'Lora',serif;color:var(--navy)}
.book-purchase-links{display:flex;gap:8px;flex-wrap:wrap}
.book-purchase-links a{display:inline-flex;align-items:center;padding:8px 11px;border:1px solid #dbe4ec;border-radius:5px;background:#f4f7fa;color:#244d71;font:600 13px/1.4 'Source Sans 3',sans-serif}
.book-preview-status{font-size:14px;color:#708197}
.book-contents{margin-top:30px;padding-top:24px;border-top:1px solid #e1e6eb}
.book-toc-row{border-bottom:1px solid #e8edf1}
.book-toc-heading{display:flex;align-items:baseline;gap:12px;padding:12px 8px;list-style:none;font-size:15px;line-height:1.5}
summary.book-toc-heading{cursor:pointer;color:#24587a}
summary.book-toc-heading::-webkit-details-marker{display:none}
summary.book-toc-heading:hover{background:#f3f7fa}
.book-toc-title{flex:1;min-width:0}
.book-toc-read{font-size:12px;font-weight:700;color:#24587a}
.book-toc-page{flex:0 0 30px;text-align:right;color:#708197;font-size:13px}
.book-toc-row.is-section{margin-top:16px;background:#f1f5f8;font-weight:700}
.book-excerpt{padding:15px 16px 8px;font-size:17px;line-height:1.9;background:#fcfcfb}
.book-excerpt p{margin:0 0 1.1em}
.book-excerpt-author{text-align:right;font-weight:700}

@media(max-width:640px){#bookModal{padding:10px}#bookModal .modal-header{padding:18px}#bookModal .modal-title{font-size:21px}#bookModal .modal-body{padding:18px;max-height:65vh}.book-detail-layout{grid-template-columns:1fr;gap:22px}.book-detail-cover{width:150px;justify-self:center}.book-detail-info dl{grid-template-columns:100px minmax(0,1fr);gap:8px 12px}.book-toc-heading{padding:11px 4px;gap:7px}.book-excerpt{padding:12px 6px;font-size:16px}.book-info-meta{flex-wrap:wrap}}

#bookModal .modal{display:flex;flex-direction:column;max-height:calc(100vh - 40px)}
#bookModal .modal-header,#bookModal .book-dialog-foot{flex:0 0 auto}
#bookModal .modal-body{min-height:0;flex:1}
#bookModal .book-dialog-foot{padding:14px 24px;border-top:1px solid #e4e8ed}
@media(max-width:640px){#bookModal .modal{max-height:calc(100dvh - 20px)}}
@media(max-width:768px){#tablo-view{min-width:0}.tbl-wrap{overflow-x:auto;max-width:100%}.tbl{min-width:720px}}

/* Keep the dialog clear of viewport edges and above the fixed site navigation. */
#bookModal{z-index:1000;padding:24px}
#bookModal .modal{max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px)}
@media(max-width:640px){#bookModal{padding:12px}#bookModal .modal{max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px)}}
