.vs-section {
padding: 64px 24px 56px;
max-width: 1200px;
margin: 0 auto;
}
.vs-header {
text-align: center;
margin-bottom: 36px;
}
.vs-heading {
font-size: clamp(28px, 4vw, 40px);
font-weight: 600;
letter-spacing: -0.01em;
margin: 0 0 8px;
}
.vs-subheading {
font-size: 16px;
color: #6b6b6b;
margin: 0;
}
.vs-track-wrap {
position: relative;
display: flex;
align-items: center;
gap: 12px;
}
.vs-track {
display: flex;
gap: 18px;
overflow-x: auto;
scroll-snap-type: x mandatory;
scroll-behavior: smooth;
padding: 4px 8px 12px;
-webkit-overflow-scrolling: touch;
scrollbar-width: none;
}
.vs-track::-webkit-scrollbar {
display: none;
}
.vs-item {
flex: 0 0 auto;
width: min(280px, 72vw);
scroll-snap-align: center;
display: flex;
flex-direction: column;
gap: 10px;
}
.vs-video-frame {
position: relative;
width: 100%;
aspect-ratio: 9 / 16;
border-radius: 18px;
overflow: hidden;
background: #111;
}
.vs-video {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
.vs-sound {
position: absolute;
bottom: 12px;
right: 12px;
width: 34px;
height: 34px;
border-radius: 999px;
border: none;
background: rgba(255, 255, 255, 0.85);
color: #111;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
}
.vs-icon-sound { display: none; }
.vs-sound.is-unmuted .vs-icon-muted { display: none; }
.vs-sound.is-unmuted .vs-icon-sound { display: block; }
.vs-caption {
font-size: 14px;
text-align: center;
color: #333;
margin: 0;
}
.vs-arrow {
flex: 0 0 auto;
width: 40px;
height: 40px;
border-radius: 999px;
border: 1px solid #ddd;
background: #fff;
color: #111;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
}
.vs-arrow:hover {
background: #f5f5f5;
}
.vs-dots {
display: flex;
justify-content: center;
gap: 8px;
margin-top: 18px;
}
.vs-dot {
width: 7px;
height: 7px;
border-radius: 999px;
border: none;
background: #ddd;
cursor: pointer;
padding: 0;
}
.vs-dot.is-active {
background: #111;
width: 20px;
transition: width 0.2s ease;
}
@media (max-width: 640px) {
.vs-arrow {
display: none;
}
.vs-item {
width: 78vw;
}
}