/* DocFlip Flipbook */
.dfb-flipbook{
	--dfb-bg:#eceae6;
	--dfb-bar:#1f2328;
	--dfb-bar-fg:#f4f4f4;
	--dfb-accent:#c9a46a;
	--dfb-scale:1;
	position:relative;
	margin:1.5em auto;
	width:100%;
	box-sizing:border-box;
	background:var(--dfb-bg);
	border-radius:6px;
	overflow:hidden;
	outline:none;
}
.dfb-flipbook:focus-visible{box-shadow:0 0 0 3px var(--dfb-accent)}
.dfb-flipbook *,.dfb-flipbook *::before,.dfb-flipbook *::after{box-sizing:border-box}

.dfb-stage{position:relative;padding:20px 12px;min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.dfb-book-wrap{margin:0 auto;max-width:100%}
.dfb-book{margin:0 auto}

.dfb-status{padding:40px 16px;text-align:center;color:#555;font:15px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.dfb-status.dfb-error{color:#8a1f11}

/* Pages */
.dfb-page{background:#fff;overflow:hidden}
.dfb-page-inner{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.dfb-page-inner canvas{display:block;max-width:100%;max-height:100%;width:100%;height:auto}
.dfb-page[data-density="hard"]{background:#fafafa}

.dfb-spinner{width:28px;height:28px;border-radius:50%;border:3px solid #ddd;border-top-color:#999;animation:dfb-spin .9s linear infinite}
@keyframes dfb-spin{to{transform:rotate(360deg)}}

/* Word pages: laid out at base size then scaled to fit */
.dfb-docx-scaler{transform:scale(var(--dfb-scale));transform-origin:0 0}
.dfb-docx-measure{position:absolute;left:-100000px;top:0;visibility:hidden;pointer-events:none}
.dfb-docx-sheet{position:relative;background:#fff;overflow:hidden;color:#1d1d1d;
	font:14.67px/1.45 Calibri,Carlito,"Segoe UI",Helvetica,Arial,sans-serif;text-align:left;box-sizing:border-box}
.dfb-docx-content{display:flow-root}
.dfb-docx-sheet p{margin:0 0 .75em}
.dfb-docx-sheet h1,.dfb-docx-sheet h2,.dfb-docx-sheet h3,.dfb-docx-sheet h4,.dfb-docx-sheet h5,.dfb-docx-sheet h6{margin:.9em 0 .45em;line-height:1.2;color:#1a1a1a;font-weight:700}
.dfb-docx-sheet h1{font-size:2em}
.dfb-docx-sheet h1.dfb-title{font-size:2.6em;font-weight:400;margin:0 0 .5em;padding-bottom:.25em;border-bottom:1px solid #d9d9d9}
.dfb-docx-sheet .dfb-subtitle{font-size:1.3em;color:#666;margin-top:-.3em}
.dfb-docx-sheet h2{font-size:1.55em}
.dfb-docx-sheet h3{font-size:1.25em}
.dfb-docx-sheet h4{font-size:1.1em}
.dfb-docx-content > :first-child{margin-top:0}
.dfb-docx-sheet ul,.dfb-docx-sheet ol{margin:0 0 .75em;padding-left:1.6em}
.dfb-docx-sheet li{margin:0 0 .25em}
.dfb-docx-sheet img{max-width:100%;height:auto}
.dfb-docx-sheet .dfb-oversize img,.dfb-docx-sheet img.dfb-oversize{max-height:100%;object-fit:contain}
.dfb-docx-sheet table{border-collapse:collapse;width:100%;margin:0 0 .9em;font-size:.95em}
.dfb-docx-sheet td,.dfb-docx-sheet th{border:1px solid #c8c8c8;padding:4px 7px;vertical-align:top}
.dfb-docx-sheet td p,.dfb-docx-sheet th p{margin:0}
.dfb-docx-sheet a{color:#1a5fb4}
.dfb-docx-sheet blockquote{margin:0 0 .75em 1.2em;padding-left:.8em;border-left:3px solid #ddd;color:#444}
.dfb-docx-num{position:absolute;left:0;right:0;bottom:28px;text-align:center;font-size:12px;color:#8a8a8a}

/* Toolbar */
.dfb-toolbar{display:flex;align-items:center;gap:4px;padding:6px 10px;background:var(--dfb-bar);color:var(--dfb-bar-fg);
	font:14px/1 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.dfb-toolbar[hidden]{display:none}
.dfb-spacer{flex:1}
.dfb-label{min-width:92px;text-align:center;font-variant-numeric:tabular-nums;opacity:.9;padding:0 6px}
.dfb-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;margin:0;
	background:transparent;border:0;border-radius:4px;color:inherit;cursor:pointer;text-decoration:none;box-shadow:none}
.dfb-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.dfb-btn:hover:not(:disabled),.dfb-btn:focus-visible{background:rgba(255,255,255,.12);color:inherit}
.dfb-btn:focus-visible{outline:2px solid var(--dfb-accent);outline-offset:1px}
.dfb-btn:disabled{opacity:.35;cursor:default}

/* Full screen */
.dfb-flipbook.dfb-is-fullscreen{max-width:none!important;margin:0;border-radius:0;display:flex;flex-direction:column;height:100vh}
.dfb-flipbook.dfb-is-fullscreen .dfb-stage{flex:1;padding:16px}

.dfb-notice{padding:10px 14px;border-left:4px solid #d63638;background:#fff4f4}

@media (max-width:480px){
	.dfb-stage{padding:12px 6px}
	.dfb-btn-first,.dfb-btn-last{display:none}
}
