:root {
--fss-indicator-w: 48px;
--fss-indicator-h: 3px;
--fss-indicator-gap: 8px;
--fss-indicator-color: rgba(255, 255, 255, 0.35);
--fss-indicator-active: #ffffff;
--fss-arrow-size: 48px;
--fss-arrow-offset: 0;
} .fss-wrapper {
position: relative;
width: 100%;
aspect-ratio: 16 / 9;
overflow: hidden;
background: #1a1612;
user-select: none;
-webkit-user-select: none;
}
.single-product .fss-wrapper {
aspect-ratio: 1 / 1;
} .fss-track {
width: 100%;
height: 100%;
position: relative;
} .fss-slide {
position: absolute;
inset: 0;
will-change: opacity, transform;
}
.fss-slide img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
pointer-events: none;
} .fss-wrapper::after {
content: '';
position: absolute;
inset: auto 0 0 0;
height: 30%;
background: linear-gradient(to top, rgba(0, 0, 0, 0.45) 0%, transparent 100%);
pointer-events: none;
z-index: 5;
} .fss-arrow {
position: absolute;
top: 50%;
transform: translateY(-50%);
z-index: 10;
display: flex;
align-items: center;
justify-content: center; background: transparent;
border: none;
cursor: pointer;
padding: 0;
opacity: 1;
transition: opacity 0.2s ease;
-webkit-tap-highlight-color: transparent;
width: 50%;
height: 100%;
}
.fss-arrow:hover,
.fss-arrow:focus-visible {
opacity: 1;
outline: none; }
.fss-arrow--prev {
left: var(--fss-arrow-offset);
transform: translateY(-50%) scaleX(-1);
}
.fss-arrow--next {
right: var(--fss-arrow-offset);
}
.fss-arrow__icon {
display: flex;
justify-content: end;
width: 100%;
height: 100%;
}
.fss-arrow__icon svg {
fill: var(--white);
max-width: 4vw;
display: none;
}
.fss-cursor {
position: fixed;
top: 0;
left: 0;
pointer-events: none;
z-index: 999;
transform: translate(-50%, -50%) scale(0);
}
.fss-cursor svg {
fill: var(--white);
width: 4vw;
height: auto;
transform-origin: center;
}
@media (max-width: 1000px) {
.fss-cursor {
display: none;
}
} .fss-indicators {
position: absolute;
bottom: 28px;
left: 50%;
transform: translateX(-50%);
z-index: 10;
display: flex;
align-items: center;
gap: var(--fss-indicator-gap);
}
.fss-indicator {
display: flex;
align-items: center;
justify-content: center;
background: transparent;
border: none;
cursor: pointer;
padding: 10px 0;
-webkit-tap-highlight-color: transparent;
}
.fss-indicator__bar {
display: block;
width: var(--fss-indicator-w);
height: var(--fss-indicator-h);
background: var(--fss-indicator-color);
border-radius: 2px;
transition:
background 0.3s ease,
width 0.3s ease;
}
.fss-indicator.is-active .fss-indicator__bar {
background: var(--fss-indicator-active);
width: calc(var(--fss-indicator-w) * 1.4);
}
.fss-indicator:hover .fss-indicator__bar {
background: rgba(255, 255, 255, 0.65);
}
.fss-indicator:focus-visible {
outline: none;
}
.fss-indicator:focus-visible .fss-indicator__bar {
outline: 2px solid #fff;
outline-offset: 3px;
} @media (max-width: 768px) {
:root {
--fss-arrow-offset: 16px;
--fss-arrow-size: 40px;
--fss-indicator-w: 32px;
--fss-indicator-gap: 6px;
}
.fss-indicators {
bottom: 5px;
}
} .no-js .fss-slide {
position: relative;
visibility: visible !important;
opacity: 1 !important;
}
.no-js .fss-indicators,
.no-js .fss-arrow {
display: none;
}