/* On-screen viewer for booking files (doc.php) and the pop-up that opens it (docview.js). */

/* ---- pop-up over the schedule / bookings page ---- */
.dv-modal { position: fixed; inset: 0; z-index: 1000; display: flex; flex-direction: column; background: rgba(10, 30, 28, 0.62); padding: 2vh 2vw; }
.dv-modal[hidden] { display: none; }
.dv-modal-box { display: flex; flex-direction: column; flex: 1; min-height: 0; max-width: 1100px; width: 100%; margin: 0 auto; background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35); }
.dv-modal-head { display: flex; align-items: center; gap: 0.6rem; padding: 0.6rem 0.8rem 0.6rem 1rem; border-bottom: 1px solid #dfe7e6; background: #f6faf9; }
.dv-modal-head b { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #12302c; }
.dv-modal-frame { flex: 1; width: 100%; border: 0; background: #eef2f1; }
html.dv-lock, html.dv-lock body { overflow: hidden; }

.dv-btn { display: inline-block; padding: 0.4rem 0.8rem; border: 1px solid #0f6e6b; border-radius: 8px; background: #0f6e6b; color: #fff; font: inherit; font-size: 0.88rem; font-weight: 600; text-decoration: none; cursor: pointer; white-space: nowrap; }
.dv-btn.ghost { background: #fff; color: #0f6e6b; }
.dv-btn:hover { filter: brightness(1.08); }
.dv-btn:focus-visible { outline: 3px solid #8cc9c5; outline-offset: 2px; }

/* ---- doc.php ---- */
.dv-embed { margin: 0; min-height: 100vh; background: #eef2f1; font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; color: #1d2b2a; }
.dv-page { max-width: 1100px; margin: 0 auto; padding: 1.2rem 1rem 2rem; }
.dv-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem 1rem; margin-bottom: 0.8rem; }
.dv-bar h1 { flex: 1; min-width: 0; margin: 0; font-size: 1.25rem; overflow-wrap: anywhere; }
.dv-actions { display: flex; gap: 0.5rem; }

.dv-view { box-sizing: border-box; }
.dv-embed .dv-view { padding: 1rem; }
.dv-embed .dv-pdf { padding: 0; height: 100vh; }
.dv-frame { display: block; width: 100%; height: 80vh; border: 0; background: #fff; }
.dv-embed .dv-frame { height: 100%; }
.dv-imgwrap { text-align: center; }
.dv-imgwrap img { max-width: 100%; height: auto; background: #fff; box-shadow: 0 2px 12px rgba(0, 0, 0, 0.12); }
.dv-msg { max-width: 34rem; margin: 2rem auto; padding: 1.2rem 1.4rem; background: #fff; border-radius: 10px; box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08); line-height: 1.5; }
.dv-msg p { margin: 0 0 0.8rem; }
.dv-msg p:last-child { margin-bottom: 0; }
.dv-hint { max-width: 820px; margin: 0.6rem auto 0; font-size: 0.8rem; color: #5d6f6d; text-align: center; }

/* The converted Word document, laid out like a page */
.dv-paper { box-sizing: border-box; max-width: 820px; margin: 0 auto; padding: 56px 64px; background: #fff; color: #111; box-shadow: 0 2px 14px rgba(0, 0, 0, 0.14); font-family: Calibri, Carlito, "Segoe UI", Arial, sans-serif; font-size: 11pt; line-height: 1.4; overflow-wrap: break-word; }
@media (max-width: 640px) { .dv-paper { padding: 24px 18px; } }
.dv-paper .dx-header, .dv-paper .dx-footer { color: #555; font-size: 9.5pt; }
.dv-paper .dx-header { padding-bottom: 0.8rem; margin-bottom: 1.2rem; border-bottom: 1px solid #e3e3e3; }
.dv-paper .dx-footer { padding-top: 0.8rem; margin-top: 1.6rem; border-top: 1px solid #e3e3e3; }
.dv-paper .dx-p { margin: 0 0 0.55em; min-height: 1em; }
.dv-paper .dx-empty { height: 0.9em; margin: 0; }
.dv-paper h1.dx-p { font-size: 20pt; font-weight: 600; margin: 0.2em 0 0.5em; color: #17365d; }
.dv-paper h2.dx-p { font-size: 14pt; margin: 0.9em 0 0.35em; color: #1f4e79; }
.dv-paper h3.dx-p { font-size: 12.5pt; margin: 0.8em 0 0.3em; color: #1f4e79; }
.dv-paper h4.dx-p, .dv-paper h5.dx-p, .dv-paper h6.dx-p { font-size: 11pt; margin: 0.7em 0 0.3em; color: #1f4e79; }
.dv-paper .dx-c { text-align: center; }
.dv-paper .dx-r { text-align: right; }
.dv-paper .dx-j { text-align: justify; }
.dv-paper .dx-li { position: relative; padding-left: 1.6em; margin-bottom: 0.25em; }
.dv-paper .dx-l1 { margin-left: 1.6em; } .dv-paper .dx-l2 { margin-left: 3.2em; } .dv-paper .dx-l3 { margin-left: 4.8em; }
.dv-paper .dx-l4 { margin-left: 6.4em; } .dv-paper .dx-l5 { margin-left: 8em; } .dv-paper .dx-l6 { margin-left: 9.6em; }
.dv-paper .dx-l7 { margin-left: 11.2em; } .dv-paper .dx-l8 { margin-left: 12.8em; }
.dv-paper .dx-mark { position: absolute; left: 0; width: 1.4em; }
.dv-paper .dx-tab { display: inline-block; width: 2.5em; }
.dv-paper .dx-caps { text-transform: uppercase; }
.dv-paper .dx-img { max-width: 100%; height: auto; vertical-align: middle; }
.dv-paper .dx-textbox { display: block; margin: 0.4em 0; }
.dv-paper .dx-tablewrap { overflow-x: auto; margin: 0.4em 0 0.9em; }
.dv-paper .dx-table { border-collapse: collapse; min-width: 50%; }
.dv-paper .dx-table td { border: 1px solid #bfbfbf; padding: 0.3em 0.5em; vertical-align: top; }
.dv-paper .dx-table td .dx-p:last-child { margin-bottom: 0; }
.dv-paper .dx-table .dx-vm { border-top-color: transparent; }
.dv-paper a { color: #0563c1; }
