﻿:root {
    --HomePaddingInlineSpacing: 2em;
}

#HomePageContent {
    display: flex;
    flex-direction: column;
    gap: 2em;
}

    #HomePageContent .InnerContent {
        max-width: 120em;
        margin: 0 auto;
        padding-inline: 2em;
        box-sizing: border-box;
        overflow: hidden;
    }

@media only screen and (max-width: 480px) {
    #HomePageContent .InnerContent {
        padding-inline: 1.5em;
    }

    :root {
        --HomePaddingInlineSpacing: 1.5em
    }
}

#HomePageContent #BannerSliderSection {
    border-radius: 0 0 3.5em 3.5em;
    padding: 2em 3em 2em 3em;
}

#HomePageContent #HomeBannerSliderListWrapper {
    position: relative;
    overflow: hidden;
    touch-action: pan-y;
    border-radius: 1em;
    transform: translate3d(0, 0, 0);
}

    #HomePageContent #HomeBannerSliderListWrapper .swiper-wrapper {
        display: flex;
    }

        #HomePageContent #HomeBannerSliderListWrapper .swiper-wrapper .swiper-slide:not(.swiper-slide-active) {
            opacity: .25;
            filter: grayscale(1);
            pointer-events: none;
        }

        #HomePageContent #HomeBannerSliderListWrapper .swiper-wrapper .swiper-slide {
            display: block;
            width: 100%;
            max-width: 1000px;
            position: relative;
            overflow: hidden;
            background: #fff;
            border-radius: 1em;
            aspect-ratio: 1000 / 380;
            margin: 0 1em;
        }

            #HomePageContent #HomeBannerSliderListWrapper .swiper-wrapper .swiper-slide a img {
                position: absolute;
                inset: 0;
                z-index: 1;
                width: 100%;
                height: 100%;
            }

        #HomePageContent #HomeBannerSliderListWrapper .swiper-wrapper .swiper-slide-active img {
            transform: scale(1.03);
            transition: linear 6s
        }

#HomePageContent #BannerSliderSection .swiper-button {
    display: flex;
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
}

    #HomePageContent #BannerSliderSection .swiper-button .swiper-button-prev {
        order: -1;
    }

    #HomePageContent #BannerSliderSection .swiper-button .swiper-button-next {
        order: 1;
    }

    #HomePageContent #BannerSliderSection .swiper-button .swiper-button-next,
    #HomePageContent #BannerSliderSection .swiper-button .swiper-button-prev {
        flex: auto;
        pointer-events: initial;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
        display: flex;
        align-items: center;
        justify-content: center;
        height: 100%;
        top: 2em;
        width: 14em;
    }

        #HomePageContent #BannerSliderSection .swiper-button .swiper-button-next::after,
        #HomePageContent #BannerSliderSection .swiper-button .swiper-button-prev::after {
            content: '';
            display: none;
            flex: none;
            width: 100%;
            max-width: 1000px;
        }

        #HomePageContent #BannerSliderSection .swiper-button .swiper-button-next::before,
        #HomePageContent #BannerSliderSection .swiper-button .swiper-button-prev::before {
            font-family: "Font Awesome 6 Free";
            display: block;
            font-size: 3em;
            width: 1em;
            height: 1em;
            line-height: 1;
            overflow: hidden;
            opacity: 0;
            transition: opacity .3s;
            color: #fff;
        }

        #HomePageContent #BannerSliderSection .swiper-button .swiper-button-next::before {
            content: "\f054";
        }

        #HomePageContent #BannerSliderSection .swiper-button .swiper-button-prev::before {
            content: "\f053";
        }

        #HomePageContent #BannerSliderSection .swiper-button .swiper-button-next:hover::before,
        #HomePageContent #BannerSliderSection .swiper-button .swiper-button-prev:hover::before {
            opacity: 1
        }

#HomePageContent #BannerSliderSection .swiper-pagination {
    display: flex;
    align-items: end;
    justify-content: center;
    position: absolute;
    inset-inline: 0;
    inset-block-end: 1.5em;
    z-index: 1;
    height: 0;
    margin-inline: auto;
    width: calc(100% - 6em);
    max-width: 25em;
    box-sizing: border-box;
}

    #HomePageContent #BannerSliderSection .swiper-pagination .swiper-pagination-bullet {
        flex: 1;
        display: block;
        height: 5px;
        min-width: 1em;
        padding: 1px;
        box-sizing: border-box;
        border-radius: 1em;
        background: rgba(255 255 255 / 1);
        backdrop-filter: blur(1em);
        cursor: pointer;
        transition: width .3s;
    }

        #HomePageContent #BannerSliderSection .swiper-pagination .swiper-pagination-bullet::before {
            content: '';
            display: block;
            width: 0;
            height: 100%;
            border-radius: 1em;
            background-color: var( --theme-color-light);
        }

    #HomePageContent #BannerSliderSection .swiper-pagination .swiper-pagination-bullet-active {
        flex: 2;
        background: #fff;
    }

        #HomePageContent #BannerSliderSection .swiper-pagination .swiper-pagination-bullet-active::before {
            animation: pagination-animation 6s linear
        }

@media only screen and (max-width: 1480px) {

    #HomePageContent #BannerSliderSection .InnerContent {
        padding-inline: 0;
    }
}

@media only screen and (max-width: 1300px) {

    #HomePageContent #BannerSliderSection {
        padding-inline: 3em;
        border-radius: 0 0 2em 2em;
        padding-bottom: 3.3em;
    }
}

@media only screen and (max-width: 1000px) {
    #HomePageContent #BannerSliderSection .swiper-button {
        display: none
    }
}

@media only screen and (max-width: 480px) {

    #HomePageContent #BannerSliderSection {
        padding-inline: 2em;
        border-radius: 0 0 2em 2em;
        padding-bottom: 2.3em;
    }

    #HomePageContent #HomeBannerSliderListWrapper .swiper-wrapper .swiper-slide {
        height: 15em;
        border-radius: 0.8em;
    }

    #HomePageContent #HomeBannerSliderListWrapper img {
        transform: scale(1.05);
    }


    #HomePageContent #BannerSliderSection .swiper-pagination {
        pointer-events: none;
        inset-block-end: 1em
    }

        #HomePageContent #BannerSliderSection .swiper-pagination .swiper-pagination-bullet {
            flex: none;
            min-width: unset;
            width: 5px
        }

        #HomePageContent #BannerSliderSection .swiper-pagination .swiper-pagination-bullet-active {
            width: 2em
        }
}

@keyframes pagination-animation {
    100% {
        width: calc(100% - 2px)
    }
}

#HomePageContent #ProductDisplaySection .ProductDisplayListWrapper {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(38em, 1fr));
    gap: 2em;
}

#HomePageContent .ProductGroupWrapper {
    display: flex;
    flex-direction: column;
    gap: 2em;
    background: #ffffff1a;
    padding: 2em;
    border-radius: 1em;
    border-bottom: 2px solid var(--theme-color-light);
}

    #HomePageContent .ProductGroupWrapper .GroupProductList {
        margin-bottom: 0;
    }

    #HomePageContent .ProductGroupWrapper .GroupTitle {
        display: grid;
        grid-template-columns: 1fr auto;
        gap: 2em;
        align-items: center;
    }

        #HomePageContent .ProductGroupWrapper .GroupTitle h2 {
            font-size: 1.5em;
            font-weight: 800;
            text-transform: uppercase;
        }

        #HomePageContent .ProductGroupWrapper .GroupTitle a {
            font-weight: 600;
            text-transform: capitalize;
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 0.7em;
            height: 100%;
            color: rgba(255, 255, 255, 0.5);
        }

            #HomePageContent .ProductGroupWrapper .GroupTitle a::after {
                content: "\f101";
                font-family: "Font Awesome 6 Free";
                font-weight: 800;
                font-size: 1em;
                color: var(--theme-color-light);
                border: 2px solid var(--theme-color-light);
                display: flex;
                justify-content: center;
                align-items: center;
                border-radius: .5em;
                padding-inline: .5em;
                height: 100%;
            }

    #HomePageContent .ProductGroupWrapper .GroupProductList li {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(16em, 1fr));
        gap: 2em;
    }

    #HomePageContent .ProductGroupWrapper .GroupProductList > li > a {
        display: grid;
        grid-template-columns: auto 1fr;
        gap: 1em;
        align-items: center;
        color: currentColor;
        text-decoration: none;
    }

    #HomePageContent .ProductGroupWrapper .GroupProductList a .ProductImageIcon {
        width: 5em;
        height: 5em;
        background: rgba(0 0 0 / 5%);
        box-shadow: rgba(0 0 0 / 5%) 0 0 0 1px;
        border-radius: 25%;
        overflow: hidden;
        position: relative;
        align-self: start;
    }

        #HomePageContent .ProductGroupWrapper .GroupProductList a .ProductImageIcon img {
            width: 100%;
            height: 100%;
            vertical-align: top;
        }

    #HomePageContent .ProductGroupWrapper .GroupProductList a .T {
        display: flex;
        flex-direction: column;
        gap: .5em;
        align-items: start;
    }

        #HomePageContent .ProductGroupWrapper .GroupProductList a .T .ProductName {
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            text-overflow: ellipsis;
            overflow: hidden;
            word-break: break-word;
            font-weight: 800;
        }

        #HomePageContent .ProductGroupWrapper .GroupProductList a .T .ProductRegion {
            display: inline-flex;
            align-items: center;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            background-color: var(--theme-color);
            font-size: .8em;
            border-radius: .3em;
            padding: .2em .5em;
            color: #000;
        }

@media only screen and (max-width: 1000px) {
    #HomePageContent #ProductDisplaySection .ProductDisplayListWrapper {
        display: flex;
        position: relative;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        width: 100vw;
        margin-left: calc(50% - 50vw);
        gap: 1.3em;
        padding-inline: var(--HomePaddingInlineSpacing);
    }

        #HomePageContent #ProductDisplaySection .ProductDisplayListWrapper::-webkit-scrollbar {
            display: none;
        }

    #HomePageContent .ProductGroupWrapper .GroupTitle h2 {
        font-size: 1.25em;
    }

    #HomePageContent #ProductDisplaySection .ProductDisplayListWrapper .ProductGroupWrapper {
        flex: none;
        width: 46em;
    }

    #HomePageContent .ProductGroupWrapper .GroupProductList li {
        row-gap: 1em;
    }

        #HomePageContent .ProductGroupWrapper .GroupProductList li .ProductImageIcon {
            width: 4.5em;
            height: 4.5em;
        }
}

@media only screen and (max-width: 640px) {
    #HomePageContent #ProductDisplaySection .ProductDisplayListWrapper .ProductGroupWrapper {
        width: 22.5em;
    }

    #HomePageContent .ProductGroupWrapper .GroupTitle h2 {
        font-size: 1.166667em;
    }
}

@media only screen and (max-width: 480px) {
    #HomePageContent .ProductGroupWrapper .GroupTitle a {
        padding-inline: .4em;
    }
}

@media (any-hover) {
    #HomePageContent .ProductGroupWrapper .GroupProductList a:focus .ProductImageIcon,
    #HomePageContent .ProductGroupWrapper .GroupProductList a:hover .ProductImageIcon {
        transform: scale(1.06);
    }

    #HomePageContent #LatestNewsSection .SectionContent .NewItem a:hover .NewsCover img {
        transform: scale(1.04)
    }
}
