/* bv-zoom — full-screen deep zoom */
html.bvz-open, html.bvz-open body { overflow: hidden; }
.bvz { position: fixed; inset: 0; z-index: 100000; background: #0d0d0f; color: #e8e8e8; display: flex; flex-direction: column; font: 14px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; }
.bvz[hidden] { display: none; }
.bvz-bar { display: flex; align-items: center; gap: 12px; padding: 8px 12px; background: rgba(0,0,0,.55); flex-wrap: wrap; }
.bvz-title { font-weight: 600; }
.bvz-pct { color: #79b8d4; font-variant-numeric: tabular-nums; flex: 1; min-width: 10em; }
.bvz-btns { display: flex; gap: 6px; flex-wrap: wrap; }
.bvz-btns button { background: #2a2a30; color: #eee; border: 1px solid #44444c; border-radius: 4px; padding: 5px 10px; font: inherit; cursor: pointer; min-width: 34px; }
.bvz-btns button:hover, .bvz-btns button:focus-visible { background: #3a3a44; border-color: #79b8d4; outline: none; }
.bvz-close { font-size: 18px; line-height: 1; }
.bvz-stage { flex: 1; min-height: 0; position: relative; }
.bvz-navwrap { padding: 8px 12px 4px; text-align: center; }
.bvz-navwrap > div { text-align: center; }
.bvz-nav { background: #000; border: 1px solid #333; margin: 0 auto !important; }
.bvz-nav .displayregion { border-color: #79b8d4 !important; }
.bvz-hint { text-align: center; color: #888; font-size: 12px; padding: 0 12px 8px; }
@media (max-width: 600px) { .bvz-hint { display: none; } .bvz-title { width: 100%; } }
/* the button under a gallery picture (1.9.0) */
.bv-zoom-btn { display: inline-flex; align-items: center; gap: .45em; margin: .55rem 0 0; padding: .3em .8em; border: 1px solid rgba(121,184,212,.55); border-radius: 3px; color: #79b8d4; background: transparent; font-size: .85rem; line-height: 1.4; letter-spacing: .02em; cursor: pointer; text-decoration: none; }
/* hover: the site's link hover colour (site.css, copper) wins on gallery pages; the frame follows the text */
.bv-zoom-btn:hover, .bv-zoom-btn:focus-visible { border-color: currentColor; background: rgba(121,184,212,.08); outline: none; text-decoration: none; }
.bv-zoom-icon { width: .8em; height: .8em; border: 1.5px solid currentColor; border-radius: 50%; position: relative; flex: none; }
.bv-zoom-icon::after { content: ""; position: absolute; width: .45em; height: 1.5px; background: currentColor; right: -.4em; bottom: -.12em; transform: rotate(45deg); }
.bv-gallery-item .bv-zoom-btn + .bv-gallery-caption { margin-top: .45rem; }
