div.magnifier-wrapper {
    position: relative;
}

div.magnifier {
    background-repeat: no-repeat;
    border: 3px solid #000;
    border-radius: 50%;
    cursor: none;
    display: none;
    height: 300px;
    position: absolute;
    width: 300px;
}

figcaption {
    height: var(--figcaption-height);
    line-height: var(--figcaption-height);
    text-align: center;

    h1 {
        display: inline;
        font: inherit;
        margin: 0;
    }
}

figure {
    all: unset;
    cursor: pointer;
}

img {
    background-color: #FFF;
    display: block;
    height: auto;
    margin: auto;
    max-height: calc(100vh - var(--header-height) - var(--figcaption-height) - 2 * var(--padding-main));
    max-width: calc(100vw - 2 * var(--padding-main));
    width: auto;
}

main {
    align-items: center;
    display: flex;
    height: calc(100vh - var(--header-height));
    justify-content: center;
    text-align: center;
}
