.fsl-wrap { position: relative; }
.fsl-nav { 
    display: flex;
    max-width: 1400px;
    margin: 0 auto;
    gap: 8px;
    padding: 0 15px 60px;
}
.fsl-nav--left   { justify-content: flex-start; }
.fsl-nav--center { justify-content: center; }
.fsl-nav--right  { justify-content: flex-end; }
.fsl-btn {
    display: inline-flex;
    align-items: center;
    height: 60px;
    width: 60px;
    justify-content: center;
    border: none;
    cursor: pointer;
    border-radius: 50%;
    padding: 0;
    flex-shrink: 0;
    transition: opacity 0.2s, transform 0.15s;
    line-height: 1;
    border: 1px solid white;
}
.fsl-btn:hover  { opacity: 0.75; transform: scale(1.1); }
.fsl-btn:active { transform: scale(0.93); }
.fsl-btn--prev.fsl-active,
.fsl-btn--next.fsl-active { 
    outline: 2px solid rgba(0,0,0,0.25);
    outline-offset: 2px; 
}
.fsl-viewport { overflow: hidden; }
.fsl-track { display: flex; flex-wrap: nowrap; width: max-content; position: relative; }
.fsl-track.fsl-grabbing { cursor: grabbing; }
.fsl-slide {
    flex-shrink: 0;
    will-change: transform;
    transition: box-shadow 0.2s;
    border-left: 1px solid rgba(255,255,255,0.4);
}
.fsl-slide h3 {
    transform: rotate(90deg);
    font-size: 24px;
    margin: -29px 0 0 -39px;
}
.fsl-slide:hover { box-shadow: 0 6px 20px rgba(0,0,0,0.10); }
