/* Shared modal: scoped to tzv, independent of the WordPress theme. */
.tzv-viewer,.tzv-viewer *{box-sizing:border-box}
.tzv-viewer{--v-bg:#10251f;--v-line:#4f6b60;--v-text:#fff;--v-muted:#d0ddd6;position:fixed;inset:0;width:100%;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;border:0;padding:0;background:var(--v-bg);color:var(--v-text);font:17px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;overflow:hidden;z-index:2147483000;overscroll-behavior:contain}
.tzv-viewer:not([open]),.tzv-viewer [hidden]{display:none!important}
.tzv-viewer::backdrop{background:#10251fee}
.tzv-viewer .tzv-shell{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:100%;height:100%;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}
.tzv-viewer .tzv-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 24px;border-bottom:1px solid #ffffff20}
.tzv-viewer .tzv-heading{min-width:0}
.tzv-viewer .tzv-eyebrow{font-size:11px;letter-spacing:.16em;color:var(--v-muted)}
.tzv-viewer h2{font:400 23px/1.2 Georgia,serif!important;color:white!important;margin:3px 0!important;letter-spacing:normal!important;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:70vw}
.tzv-viewer #tzv-scope{font:13px/1.45 inherit;margin:3px 0 0;color:var(--v-muted)}
.tzv-viewer .tzv-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#1c382f;border:1px solid #78958a;border-radius:10px;min-height:46px;padding:9px 16px;color:#fff!important;font:600 16px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;cursor:pointer;text-decoration:none;max-width:100%;white-space:normal}
.tzv-viewer .tzv-button:hover{background:#31584a}
.tzv-viewer .tzv-filled{background:#e6edde;color:#153c2e!important;border-color:#e6edde}
.tzv-viewer .tzv-filled:hover{background:#fff}
.tzv-viewer .tzv-close{flex-shrink:0}
.tzv-viewer .tzv-close span{font-size:26px;line-height:1}
.tzv-viewer button:disabled{opacity:.5;cursor:default}
.tzv-viewer :focus-visible{outline:3px solid #ffd381!important;outline-offset:3px}
.tzv-viewer .tzv-stage{min-height:0;position:relative;display:flex;align-items:center;justify-content:center;padding:14px 24px;overflow:hidden;touch-action:pan-y}
.tzv-viewer .tzv-media{width:100%;height:100%;min-height:0;display:flex;align-items:center;justify-content:center}
.tzv-viewer .tzv-media img,.tzv-viewer .tzv-media video{display:block;max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;margin:0;border-radius:0}
.tzv-viewer .tzv-media blockquote{max-width:860px;max-height:100%;margin:0;padding:24px;overflow:auto;background:#faf8f3;color:#1c4236;white-space:pre-wrap;border-radius:18px;font:clamp(21px,3vw,38px)/1.5 Georgia,serif;text-align:center;overflow-wrap:anywhere}
.tzv-viewer .tzv-loading{position:absolute;inset:auto 18px 16px;margin:0;padding:10px;background:#10251fee;color:#fff;border-radius:8px;text-align:center;font-size:15px;pointer-events:none}
.tzv-viewer .tzv-loading:empty{display:none}
.tzv-viewer .tzv-failure{max-width:650px;padding:24px;text-align:center;color:#fff;font-size:18px;line-height:1.6}
.tzv-viewer .tzv-controls{padding:10px 24px 12px;max-height:48vh;overflow:auto;border-top:1px solid #ffffff20;background:var(--v-bg)}
.tzv-viewer .tzv-caption{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:8px;font-size:16px;overflow-wrap:anywhere}
.tzv-viewer .tzv-state{font-size:12px;border:1px solid #78958a;border-radius:20px;padding:3px 10px}
.tzv-viewer .tzv-primary-controls,.tzv-viewer .tzv-secondary-controls{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px}
.tzv-viewer .tzv-secondary-controls{margin-top:8px}
.tzv-viewer .tzv-secondary-controls .tzv-button{font-size:14px!important;min-height:44px}
.tzv-viewer .tzv-counter{min-width:75px;text-align:center;font-size:16px;font-variant-numeric:tabular-nums}
.tzv-viewer label{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:var(--v-muted);font-size:14px}
.tzv-viewer select{width:auto!important;min-height:44px;background:#1c382f;color:#fff;border:1px solid #78958a;border-radius:8px;padding:7px;font:14px/1.4 inherit}
.tzv-viewer .tzv-notice{margin:8px 0 0;color:var(--v-muted);text-align:center;font-size:13px}
.tzv-viewer .tzv-notice:empty{display:none}
@media(max-width:600px){.tzv-viewer .tzv-header{padding:10px 12px;gap:8px}.tzv-viewer h2{font-size:19px!important;max-width:58vw}.tzv-viewer .tzv-eyebrow{font-size:10px}.tzv-viewer #tzv-scope{font-size:12px}.tzv-viewer .tzv-stage{padding:8px}.tzv-viewer .tzv-controls{padding:8px 10px;max-height:50vh}.tzv-viewer .tzv-button{padding:9px 12px;font-size:14px!important}.tzv-viewer .tzv-primary-controls{gap:6px}.tzv-viewer .tzv-primary-controls .tzv-button{padding:9px}.tzv-viewer .tzv-counter{min-width:56px;font-size:14px}.tzv-viewer .tzv-secondary-controls{gap:6px}.tzv-viewer .tzv-secondary-controls label{justify-content:center;width:100%}.tzv-viewer .tzv-caption{font-size:14px;margin-bottom:6px}.tzv-viewer .tzv-media blockquote{padding:18px}}
@media(max-height:520px){.tzv-viewer .tzv-eyebrow,.tzv-viewer #tzv-scope{display:none}.tzv-viewer .tzv-header{padding:6px 12px}.tzv-viewer .tzv-controls{padding:5px 10px;max-height:45vh}.tzv-viewer .tzv-secondary-controls{display:none}.tzv-viewer .tzv-caption{margin:0;font-size:13px}}
@media(prefers-reduced-motion:reduce){.tzv-viewer *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
