.s-carousel {
    position: relative;
    overflow: hidden;
}

/* track */
.s-carousel .s-track {
    display: flex;
    transition: transform 0.4s ease;
}

/* item */
.s-carousel .s-item {
    min-width: 100%;
    display: flex;
    justify-content: center;
}

/* 左右按鈕 */
.s-carousel .s-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0,0,0,.5);
    color: #fff;
    border: none;
    font-size: 30px;
    width: 40px;
    height: 40px;
    cursor: pointer;
    z-index: 5;
}

.s-carousel .s-prev { left: 10px; }
.s-carousel .s-next { right: 10px; }

/* 圓點 */
.s-dots {
    display: flex;
    justify-content: center;
    margin-top: 12px;
}

.s-dots span {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #ccc;
    margin: 0 4px;
    cursor: pointer;
}

.s-dots span.active {
    background: #f00;
}

/* 手機隱藏箭頭 */
@media (max-width: 768px) {
    .s-carousel .s-btn {
        display: none;
    }
}



.s-carousel {
    width: 100%;
    overflow: hidden;
}

.s-item {
    min-width: 100%;
    max-width: 100%;
    flex-shrink: 0;
    box-sizing: border-box;
}

.s-item > div {
    max-width: 100%;
    box-sizing: border-box;
}

/* 防 flex 撐爆 */
.s-item * {
    min-width: 0;
}

/* 手機 padding 縮小 */
@media (max-width: 768px) {
    .s-item .f-padding-40 {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}