.epk-mozaik-gallery {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 8px;
    width: 100%;
    margin: 1.25em 0;
}
.epk-mozaik-gallery .epk-mozaik-item {
    display: block;
    flex: 0 0 auto;
    max-width: 100%;
    width: calc(50% - 4px);
    padding: 0;
    margin: 0;
    cursor: zoom-in;
}
.epk-mozaik-gallery .epk-mozaik-item img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
}
.epk-mozaik-gallery.epk-mozaik-masonry {
    position: relative;
    display: block;
}
.epk-mozaik-masonry .epk-mozaik-item {
    position: absolute;
}
.epk-mozaik-viewer {
    position: fixed;
    inset: 0;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    margin: 0;
    padding: 0;
    border: 0;
    color: white;
    background: transparent;
    overflow: hidden;
}
.epk-mozaik-viewer[open] {
    display: grid;
    place-items: center;
}
.epk-mozaik-viewer::backdrop { background: rgb(0 0 0 / 94%); }
.epk-mozaik-viewer img {
    max-width: calc(100% - 96px);
    max-height: calc(100% - 88px);
    width: auto;
    height: auto;
    object-fit: contain;
}
.epk-mozaik-viewer button {
    position: absolute;
    display: grid;
    place-items: center;
    min-width: 44px;
    min-height: 44px;
    padding: 0;
    border: 0;
    background: rgb(0 0 0 / 50%);
    color: white;
    font: 36px/1 Arial, sans-serif;
    cursor: pointer;
}
.epk-mozaik-viewer button[hidden] { display: none; }
.epk-mozaik-viewer [data-step] { top: 50%; transform: translateY(-50%); }
.epk-mozaik-viewer [data-step="-1"] { left: 2px; }
.epk-mozaik-viewer [data-step="1"] { right: 2px; }
.epk-mozaik-viewer .epk-mozaik-close { top: 10px; right: 10px; }
html:has(.epk-mozaik-viewer[open]) { overflow: hidden; }
