/* HPB Class Lightbox 1.0.0 | GPL-2.0-or-later */
.hpbcl-scroll-lock { overflow: hidden !important; }
[data-hpbcl-trigger], [data-hpbcl-trigger] * { cursor: default !important; }
.hpbcl-wrap { display: inline-block; max-width: 100%; vertical-align: middle; }
.hpbcl-wrap > picture { display: block; }
.hpbcl-wrap img { max-width: 100%; }
[data-hpbcl-trigger].hpbcl-icon { position: relative; display: inline-block; max-width: 100%; }
[data-hpbcl-trigger].hpbcl-icon::after {
    content: '' !important; position: absolute !important;
    inset: auto !important; top: 50% !important; left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 58px !important; height: 58px !important; margin: 0 !important;
    padding: 0 !important; box-sizing: border-box; border-radius: 50%;
    border: 1px solid #fff; pointer-events: none; z-index: 2;
    background: #2d3339 url('../images/magnify.svg') center / 28px 28px no-repeat;
    box-shadow: 0 4px 16px #0004; opacity: 0; visibility: hidden;
    transition: opacity .18s ease;
}
[data-hpbcl-trigger].hpbcl-icon:hover::after,
[data-hpbcl-trigger].hpbcl-icon:focus-visible::after { opacity: 1; visibility: visible; }
[data-hpbcl-trigger]:focus-visible { outline: 3px solid #327eb8; outline-offset: 3px; }
#hpbcl-dialog {
    position: fixed; inset: 0; width: 100%; height: 100vh; height: 100dvh;
    max-width: none; max-height: none; margin: 0; padding: 70px 16px 24px;
    border: 0; box-sizing: border-box; background: rgba(10,12,14,.95); color: #fff;
    overflow: hidden;
}
#hpbcl-dialog:not([open]) { display: none; }
#hpbcl-dialog[open] { display: flex; align-items: center; justify-content: center; }
#hpbcl-dialog::backdrop { background: #000c; }
#hpbcl-dialog .hpbcl-large {
    display: block; width: auto; height: auto; max-width: 100%;
    max-height: 100%; object-fit: contain; margin: 0; padding: 0; border: 0;
}
#hpbcl-dialog .hpbcl-large[hidden], #hpbcl-dialog .hpbcl-status[hidden] { display: none; }
#hpbcl-dialog .hpbcl-close {
    position: absolute; top: 0; left: 50%; right: auto; bottom: auto;
    transform: translateX(-50%); margin: 10px 0 0; padding: 0;
    display: flex; align-items: center; justify-content: center;
    width: 46px; height: 46px; min-height: 46px; border: 1px solid #fff;
    border-radius: 50%; color: #fff; background: #2d3339;
    font: 36px/1 Arial,sans-serif; cursor: default; z-index: 2;
}
#hpbcl-dialog .hpbcl-close:hover { background: #454d55; }
#hpbcl-dialog .hpbcl-close:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
#hpbcl-dialog .hpbcl-status { color: #fff; font: 16px/1.5 system-ui,sans-serif; text-align: center; }
@media (prefers-reduced-motion: reduce) {
    [data-hpbcl-trigger].hpbcl-icon::after { transition: none; }
}
