/*Banner*/

.banner-section {
    padding-top: 30px;
    height: 400px;
    background-color: #F4FAFD;
}

.banner-section h1 {
    font-size: 28px;
    font-weight: bold;
    color: #0057A8;
    margin-bottom: 15px;
    text-align: center;
}

.banner-content {
    position: relative;
    padding-left: calc(50% - 544px + 6px);
}

.banner-slide-1,
.banner-style-1 {
    max-width: 360px;
    height: 480px;
    border-radius: 16px
}

.banner-style-1 {
    padding: 20px;
    background-size: cover;
}

    .banner-style-1 h3 {
        font-size: 25px;
        font-weight: bold;
        color: #0057A8;
    }

    .banner-style-1 p {
        font-size: 17px;
        font-weight: 500;
        color: #3C3D3E;
    }

.banner-slide-2,
.banner-style-2 {
    display: flex;
    flex-direction: column;
    gap: 20px;
    max-width: 384px;
    border-radius: 16px
}

.banner-style-2 {
    padding: 20px;
    background-size: cover;
    height: 230px;
}

    .banner-style-2 .banner-top h3,
    .banner-style-2 .banner-bottom h3 {
        font-size: 25px;
        font-weight: bold;
        color: #0057A8;
    }

    .banner-style-2 .banner-top p {
        font-size: 17px;
        font-weight: 500;
        color: #3C3D3E;
    }

        .banner-style-2 .banner-top p span {
            font-weight: 400;
        }

    .banner-style-2 .banner-bottom {
        height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }

        .banner-style-2 .banner-bottom p {
            font-size: 18px;
            font-weight: 500;
            color: #ffffff;
        }

            .banner-style-2 .banner-bottom p.value {
                font-size: 13px;
                margin-bottom: 0;
            }

        .banner-style-2 .banner-bottom a {
            font-size: 17px;
            font-weight: 500;
            color: #ffffff;
        }

.banner-slide-3,
.banner-style-3 {
    max-width: 480px;
    height: 480px;
    border-radius: 16px
}

.banner-style-3 {
    padding: 20px;
    background-size: cover;
}

    .banner-style-3 h3 {
        font-size: 25px;
        font-weight: bold;
        color: #0057A8;
    }

    .banner-style-3 p {
        font-size: 17px;
        color: #3C3D3E;
    }

a.banner-btn {
    font-size: 16px;
    font-weight: 500;
    width: 144px;
    height: 48px;
    background-color: #0057A8;
    color: #ffffff;
    border-radius: 24px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: 0.4s;
}

    a.banner-btn.btn-outline {
        background-color: transparent;
        border: 1px solid #0057A8;
        color: #0057A8;
    }


/*Product*/
.product-header {
    padding-top: 200px;
    background: linear-gradient(#ffffff, #F4FAFD);
}

    .product-header h2 {
        font-size: 25px;
        font-weight: bold;
        color: #0057A8;
        margin-bottom: 0;
    }

.categories {
    margin-top: 25px;
    border-bottom: 1px solid #E3E5E5;
}

    .categories .category.swiper-slide {
        max-width: 120px;
        text-align: center;
        cursor: pointer;
    }

        .categories .category.swiper-slide img {
            transition: .3s ease-in-out;
            width: 83px;
            aspect-ratio: 1/1;
        }

        .categories .category.swiper-slide:hover img {
            transform: scale(1.07);
        }

    .categories .category h3 {
        font-size: 15px;
        font-weight: 500;
        color: #414141;
    }

        .categories .category h3:before {
            content: "";
            position: absolute;
            width: 0;
            height: 3px;
            bottom: 0;
            left: 50%;
            transition: all 0.4s;
        }

    .categories .category.active h3:before {
        width: 100%;
        left: 0;
    }

    .categories .category h3:before {
        background-color: #00ADEE;
    }

    /*.categories .category-1 p:before {
        background-color: #00C191;
    }

    .categories .category-2 p:before {
        background-color: #DD62C6;
    }

    .categories .category-3 p:before {
        background-color: #B6B6FF;
    }

    .categories .category-4 p:before {
        background-color: #D23100;
    }

    .categories .category-5 p:before {
        background-color: #D6CC00;
    }

    .categories .category-6 p:before {
        background-color: #2E6B8D;
    }

    .categories .category-7 p:before {
        background-color: #00ADEE;
    }*/

.cards-products {
    padding-top: 36px;
    padding-bottom: 75px;
    background-color: #F4FAFD;
}

.card-wrapper {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(298px, 1fr));
    gap: 20px;
}

    .card-wrapper.less-than-3 {
        grid-template-columns: repeat(auto-fit, minmax(298px, 346px));
    }

.card-product {
    background-color: #ffffff;
    border-radius: 20px;
    position: relative;
}

    .card-product.less-than-3 {
        max-width: 346px;
    }

    .card-product img {
        width: 100%;
        height: auto;
        border-radius: 20px 20px 0 0;
    }

    .card-product .description-wrapper {
        padding-bottom: 48px;
    }

    .card-product h4 {
        font-size: 22px;
        font-weight: bold;
        color: #0057A8
    }

    .card-product p,
    .card-product ul li {
        font-size: 14px;
        color: #5A5755;
        margin-bottom: 0;
        line-height: 1.8;
    }

        .card-product p.head-description {
            font-size: 17px;
            font-weight: 500;
            color: #3C3D3E;
        }

    .card-product ul {
        padding-left: 20px;
        margin-bottom: 25px;
    }

.card-product-btn {
    position: absolute;
    bottom: 1.5rem;
    left: 1rem;
    right: 1rem;
}

a.product-button {
    font-size: 16px;
    font-weight: 500;
    width: 144px;
    height: 48px;
    background-color: #0057A8;
    color: #ffffff;
    border-radius: 24px;
    display: flex;
    justify-content: center;
    align-items: center;
    ;
    transition: 0.4s;
}

    a.product-button.btn-outline {
        background-color: transparent;
        border: 1px solid #0057A8;
        color: #0057A8;
    }

a.viewMore {
    cursor: pointer;
    font-size: 18px;
    font-weight: 500;
    color: #0057A8;
    margin-right: 5px;
}

/*Promotion*/

.promotion-section {
    padding-top: 60px;
    padding-bottom: 75px;
}

    .promotion-section h2 {
        font-size: 25px;
        font-weight: bold;
        color: #0057A8;
    }
    
    .promotion-section p {
        font-size: 18px;
        font-weight: 500;
        color: #0057A8;
    }

    .promotion-section .viewMore {
        margin-right: 0;
    }

.promotion-card-wrapper {
    position: relative;
    /*padding-left: calc(50% - 544px + 6px);*/
    margin-top: 30px;
}

.promotion-swiper {
    overflow: visible;
}

.promotion-slide,
.promotion-slide img {
    max-width: 350px;
}

/*Step to buy*/

.step-to-buy {
    padding-top: 60px;
    padding-bottom: 75px;
    background-color: #E2F6FF;
}

    .step-to-buy h2 {
        font-size: 25px;
        font-weight: bold;
        color: #0057A8;
    }

.steps {
    display: flex;
    gap: 50px 20px;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 35px;
    padding-left: 6px;
}

.step {
    display: flex;
    align-items: flex-start;
    flex: 1 1 calc(50% - 20px);
    gap: 10px;
}

    .step .step-icons {
        position: relative;
    }

    .step .step-icon {
        max-width: 108px;
    }

    .step .number-icon {
        max-width: 24px;
        position: absolute;
        left: -6px;
        top: -6px;
    }

    .step h3 {
        font-size: 17px;
        font-weight: 500;
        color: #0057A8;
    }

    .step ul {
        padding-left: 18px;
        margin-bottom: 0;
    }

        .step p,
        .step ul li {
            font-size: 14px;
            color: #3C3D3E;
            margin-bottom: 0;
            line-height: 1.8;
        }

/*FAQ*/

.faq-section {
    padding-top: 60px;
    padding-bottom: 75px;
    background-color: #F4FAFD;
}

    .faq-section h2 {
        font-size: 25px;
        font-weight: bold;
        color: #0057A8;
    }

.accordion-box {
    max-width: 1024px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 25px;
}

.accordion-card {
    width: 100%;
}

.accordion-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    transition: 0.4s;
    background: #ffffff;
    border-radius: 10px;
    gap: 20px;
}

    .accordion-toggle img {
        transition: 0.35s;
    }

    .accordion-toggle.active {
        border-radius: 10px 10px 0 0;
    }

        .accordion-toggle.active img {
            transform: rotate(180deg);
        }

    .accordion-toggle h3 {
        font-size: 17px;
        font-weight: 500;
        color: #0057A8;
        margin-bottom: 0;
    }

.accordion-collapse {
    visibility: hidden;
    transition: .35s ease-in-out;
    overflow: hidden;
    max-height: 0;
}

    .accordion-collapse.show {
        visibility: visible;
        max-height: 1000px;
        transition: 1s ease-in-out;
    }

.accordion-body {
    padding: 0 1.25rem 1rem 1.25rem;
    background: #ffffff;
}

    .accordion-body p,
    .accordion-body ul li {
        font-size: 14px;
        color: #3C3D3E;
        margin-bottom: 0;
        max-width: calc(100% - 32px);
    }

    .accordion-body a {
        font-size: 14px;
        color: #0057A8;
    }

    .accordion-body ul {
        padding-left: 19px;
    }

    .accordion-body .ps-19-px {
        padding-left: 19px;
    }

/*Article*/
.article-section {
    padding-top: 60px;
    padding-bottom: 75px;
}

    .article-section h2 {
        font-size: 25px;
        font-weight: bold;
        color: #0057A8;
    }

    .article-section p {
        font-size: 18px;
        font-weight: 500;
        color: #0057A8;
    }

    .article-section .article-swiper {
        overflow: visible;
    }

.article-card-wrapper {
    position: relative;
    /*padding-left: calc(50% - 544px + 6px);*/
    margin-top: 30px;
}

.card-article {
    border-radius: 16px;
}

    .article-slide,
    .card-article img {
        width: 350px;
    }

    .card-article img {
        border-radius: 16px 16px 0 0;
        height: 176px;
        object-fit: cover;
    }

.card-article-description {
    background: #F2F2F5;
    border-radius: 0 0 16px 16px;
}

    .card-article-description h3 {
        font-size: 17px;
        font-weight: 500;
        color: #0057A8;
        text-overflow: ellipsis;
        -webkit-line-clamp: 2;
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        height: 41px;
    }

    .card-article-description p {
        font-size: 14px;
        color: #242424;
        margin-bottom: 0;
        text-overflow: ellipsis;
        -webkit-line-clamp: 3;
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        line-height: 1.8;
        height: 76px;
    }

/*Swiper*/

.promotion-section .swiper-button-next:after,
.promotion-section .swiper-rtl .swiper-button-prev:after,
.promotion-section .swiper-button-prev:after,
.promotion-section .swiper-rtl .swiper-button-next:after,
.article-section .swiper-button-next:after,
.article-section .swiper-rtl .swiper-button-prev:after,
.article-section .swiper-button-prev:after,
.article-section .swiper-rtl .swiper-button-next:after {
    content: "";
}

.promotion-section .swiper-button-next.swiper-button-disabled,
.promotion-section .swiper-button-prev.swiper-button-disabled,
.article-section .swiper-button-next.swiper-button-disabled,
.article-section .swiper-button-prev.swiper-button-disabled {
    opacity: 0;
}

.promotion-section .swiper-button-prev,
.promotion-section .swiper-button-next,
.article-section .swiper-button-prev,
.article-section .swiper-button-next {
    width: 32px;
    height: 32px;
    background-size: cover;
}

.promotion-section .swiper-button-prev,
.article-section .swiper-button-prev {
    background-image: var(--icon);
    left: 0;
}

.promotion-section .swiper-button-next,
.article-section .swiper-button-next {
    background-image: var(--icon);
}

.promotion-section .swiper-pagination,
.article-section .swiper-pagination {
    position: absolute;
    text-align: center;
    transition: .3s opacity;
    transform: translate3d(0, 0, 0);
    z-index: 10;
}

.promotion-section .swiper-pagination-bullet,
.article-section .swiper-pagination-bullet {
    width: 16px;
    height: 4px;
    display: inline-block;
    border-radius: 40px;
    background: #000;
    opacity: 0.2;
}

.promotion-section .swiper-pagination-bullet-active,
.article-section .swiper-pagination-bullet-active {
    opacity: 1;
    background: #BED630;
}

.promotion-section .swiper-wrapper,
.article-section .swiper-wrapper {
    padding-bottom: 35px;
}

@media (max-width: 991px) {
    .banner-section h1 {
        font-size: 22px;
    }
    
    .categories .category.swiper-slide img {
        width: 60px;
    }

    .categories .category.swiper-slide {
        max-width: 90px;
    }

    .categories .category h3 {
        font-size: 12px;
    }

    .promotion-card-wrapper,
    .article-card-wrapper,
    .banner-wrapper {
        padding-left: calc(1.5rem * .5);
    }

    .promotion-slide,
    .promotion-slide img {
        max-width: 328px;
    }

    .step {
        flex: 1 1 100%;
    }

        .step .step-icon {
            max-width: 66px;
        }

        .step .number-icon {
            max-width: 20px;
        }

    .product-header h2,
    .promotion-section h2,
    .step-to-buy h2,
    .faq-section h2,
    .article-section h2 {
        font-size: 18px;
    }

    .card-product h4 {
        font-size: 20px;
    }

    .card-product p.head-description {
        font-size: 16px;
    }

    .article-slide,
    .card-article img {
        max-width: 310px;
    }

/*    .banner-slide-1, .banner-style-1 {
        width: 320px;
    }

    .banner-slide-2, .banner-style-2 {
        width: 340px;
    }*/

    .banner-slide-3, .banner-style-3 {
        width: 480px;
        height: 480px;
    }

    .banner-style-2 a.banner-btn.btn-outline {
        width: 128px;
    }

    a.banner-btn {
        width: 100px;
    }

    .banner-style-3 p {
        font-size: 16px;
    }

    .card-wrapper.less-than-3 {
        grid-template-columns: repeat(auto-fit, minmax(298px, 1fr));
    }
}

@media (max-width: 768px) {
    .card-product.less-than-3 {
        max-width: unset;
    }

    .cards-products {
        padding-bottom: 3rem;
    }

    .promotion-section,
    .step-to-buy,
    .faq-section,
    .article-section {
        padding-top: 40px;
        padding-bottom: 3rem;
    }
}
