/* Shared carousel presentation; Works sizing is scoped below. */
.home-virtual-gallery { position: relative; padding-top: 3rem; }
.home-virtual-gallery .exhibition-rotation { --rotation-radius: 400px; margin-bottom: 0; }
.home-virtual-gallery .rotation-ring { transition: none; }
.home-virtual-gallery .rotation-stage { cursor: grab; }
.home-virtual-gallery .rotation-stage:active { cursor: grabbing; }
.home-virtual-gallery .rotation-artwork { user-select: none; }
.home-virtual-gallery .rotation-artwork img { pointer-events: none; }
.home-virtual-gallery .home-gallery-link { margin: 1.5rem 0 0; }
/* Both homepage languages share the same artwork scale, center, and controls. */
.homepage-virtual-gallery .rotation-stage { transform: scale(.95); transform-origin: center; }
@media (max-width: 600px) {
    .home-virtual-gallery { padding-top: 2rem; }
    .home-virtual-gallery .exhibition-rotation { --rotation-radius: 270px; }
}

/* Share the Works geometry with both homepage languages; keep surrounding spacing. */
.works-virtual-gallery { padding-top: 2rem; }
.works-virtual-gallery .exhibition-rotation { margin-bottom: 3rem; }
:is(.works-virtual-gallery, .homepage-virtual-gallery) .exhibition-rotation {
    --gallery-scale: 1;
    --rotation-radius: calc(540px * var(--gallery-scale));
}
:is(.works-virtual-gallery, .homepage-virtual-gallery) .rotation-stage { height: calc(635px * var(--gallery-scale)); perspective: calc(1485px * var(--gallery-scale)); }
:is(.works-virtual-gallery, .homepage-virtual-gallery) .rotation-ring { width: calc(324px * var(--gallery-scale)); height: calc(486px * var(--gallery-scale)); left: calc(50% - 162px * var(--gallery-scale)); top: calc(68px * var(--gallery-scale)); }
:is(.works-virtual-gallery, .homepage-virtual-gallery) .rotation-artwork { padding: calc(13.5px * var(--gallery-scale)); }
@media (min-width: 601px) and (max-width: 991px) {
    :is(.works-virtual-gallery, .homepage-virtual-gallery) .exhibition-rotation { --rotation-radius: 450px; }
    :is(.works-virtual-gallery, .homepage-virtual-gallery) .rotation-stage { height: 529px; perspective: 1238px; }
    :is(.works-virtual-gallery, .homepage-virtual-gallery) .rotation-ring { width: 270px; height: 405px; left: calc(50% - 135px); top: 56px; }
    :is(.works-virtual-gallery, .homepage-virtual-gallery) .rotation-artwork { padding: 11.25px; }
}
@media (max-width: 600px) {
    /* Keep the taller artwork while fitting the surrounding circle on small screens. */
    :is(.works-virtual-gallery, .homepage-virtual-gallery) .exhibition-rotation {
        --works-panel-width: min(221px, calc((100vw - 64px) * .38));
        --rotation-radius: calc(var(--works-panel-width) * 1.694);
    }
    :is(.works-virtual-gallery, .homepage-virtual-gallery) .rotation-stage { height: 500px; perspective: calc(var(--rotation-radius) * 1.667); }
    :is(.works-virtual-gallery, .homepage-virtual-gallery) .rotation-ring { width: var(--works-panel-width); height: 378px; left: calc(50% - var(--works-panel-width) / 2); top: 47px; }
}
@media (min-width: 1200px) {
    .homepage-virtual-gallery .exhibition-rotation { --gallery-scale: 1.1; }
}
