.sw--hero {
    border-radius: clamp(48px, 5vw, 64px);
    position: relative;
    z-index: 1;
    .hero--img,
    .hero--video,
    .hero--video-cover {
        width: 100%;
        height: 100%;
    }
    .hero-video {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover;
    }
    .hero--desc {
        display: flex;
        flex-direction: column;
        text-align: center;
        width: 100%;
        height: 100%;
        & .s-title {
            font-size: clamp(28px, 3vw, 32px);
            line-height: 34px;
        }
        .s-desc {
            font-family: var(--SemiBold);
            padding: 0;
            z-index: 1;
            margin-top: 24px;
        }
        .c-btn {
            margin-top: clamp(24px, 2vw, 32px);
        }
    }
    .swiper-pagination {
        bottom: clamp(24px, 2vw, 32px) !important;
        .swiper-pagination-bullet {
            background: #FFFFFF80;
        }
    }
    .swiper-pagination-bullet-active {
        border-color: #FFFFFF80;
        &:before {
            background: white;
        }
    }
}
@media only screen and (min-width: 768px) {
    .sw--hero {
        .hero--desc {
            padding: clamp(24px, 4vw, 48px);
            width: auto;
            height: auto;
            & .s-title,
            & .s-desc {
                max-width: 450px;
            }
            & .s-desc {
                margin-top: 24px;
            }
        }
        .sec-sale .sw--hero .swiper-slide {
            min-height: 455px;
        }
        .hero-x-right {
            position: absolute;
            right: 0;
            text-align: right !important;
            display: block;
            .c-btn {
                justify-content: flex-start;
            }
        }
        .hero-x-center {
            position: absolute;
            right: 50%;
            transform: translateX(50%);
            text-align: center !important;
        }
        .hero-x-left {
            position: absolute;
            left: 0;
            text-align: left !important;
            .c-btn {
                justify-content: flex-end;
            }
        }
        .hero-y-top {
            position: absolute;
            top: 0;
        }
        .hero-y-center {
            top: 50%;
            transform: translateY(-50%);
        }
        .hero-y-bottom {
            bottom: 0;
        }
        .hero-y-center.hero-x-center {
            transform: translate(50%, -50%);
        }
    }
}
@media only screen and (max-width: 768px) {
    .sw--hero .hero--desc {
        position: absolute;
        right: 50%;
        top: 50%;
        transform: translate(50%, -50%);
        width: calc(100% - 48px);
        height: calc(100% - 80px);
    }
}
