.wcvg-gallery {
width: 100%;
display: flex;
flex-direction: row;
gap: 12px;
align-items: flex-start;
user-select: none;
} .wcvg-carousel {
display: flex;
flex-direction: column;
align-items: center;
gap: 6px;
flex-shrink: 0;
width: 80px;
} .wcvg-arrow {
width: 80px;
height: 28px;
display: flex;
align-items: center;
justify-content: center;
background: none;
border: 1px solid #ddd;
border-radius: 3px;
cursor: pointer;
color: #555;
font-size: 12px;
transition: background 0.15s, border-color 0.15s;
flex-shrink: 0;
padding: 0;
line-height: 1;
}
.wcvg-arrow:hover {
background: #f5f5f5;
border-color: #aaa;
}
.wcvg-arrow:disabled {
opacity: 0.25;
cursor: default;
pointer-events: none;
} .wcvg-thumbs-viewport {
width: 80px;
overflow: hidden; height: calc(7 * 80px + 5 * 6px);
} .wcvg-thumbs-wrap {
display: flex;
flex-direction: column;
gap: 6px;
transition: transform 0.25s ease;
will-change: transform;
} .wcvg-thumb {
display: block;
width: 80px;
height: 80px;
flex-shrink: 0;
overflow: hidden;
border-radius: 3px;
border: 2px solid transparent;
cursor: pointer;
transition: border-color 0.15s;
background: #f5f5f5;
}
.wcvg-thumb img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
pointer-events: none;
transition: transform 0.2s ease;
}
.wcvg-thumb:hover {
border-color: #bbb;
}
.wcvg-thumb:hover img {
transform: scale(1.05);
}
.wcvg-thumb--active {
border-color: #222;
} .wcvg-main-wrap {
flex: 1;
min-width: 0;
overflow: hidden;
border-radius: 4px;
background: #f5f5f5;
}
.wcvg-main-img {
--zoom: 1;
--x: 50%;
--y: 50%;
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transform: scale(var(--zoom));
transform-origin: var(--x) var(--y);
clip-path: inset(
calc((1 - 1/var(--zoom)) * var(--y))
calc((1 - 1/var(--zoom)) * (100% - var(--x)))
calc((1 - 1/var(--zoom)) * (100% - var(--y)))
calc((1 - 1/var(--zoom)) * var(--x))
);
cursor: zoom-in;
transition: opacity 0.2s ease; }
.wcvg-main-img:hover {
--zoom: 2; cursor: crosshair;
}
.wcvg-main-wrap img.wcvg-main-img {
background-size: contain;
height: 650px;
}
.wcvg-main-img.wcvg-fading {
opacity: 0;
} @media (max-width: 1024px) {
.wcvg-main-wrap img.wcvg-main-img {
height: 500px;
}
.wcvg-carousel, .wcvg-arrow {
width: 50px;
}
.wcvg-thumbs-viewport {
height: calc(6 * 50px + 5 * 4px);
width: 50px;
}
.wcvg-thumb {
width: 50px;
height: 50px;
}
}
@media (max-width: 768px) {
.wcvg-main-img:hover {
--zoom: 1;
cursor: default;
}
}
@media (max-width: 480px) {
.wcvg-main-wrap img.wcvg-main-img {
height: auto;
}
}