.promotion-template {
    background: #F4FAFD;
    padding-block: 60px;
}

.head-promotion {
    display: flex;
    gap: 30px;
    padding-bottom: 30px;
    border-bottom: 1px solid #E3E5E5;
    align-items: center;
}

.head-promotion img {
    max-width: 108px;
}

.text-header {
    line-height: 26px;
}

    .text-header h2 {
        font-size: 25px;
        font-weight: 700;
        color: #0057A8;
        margin-bottom: 0;
    }

    .text-header p {
        font-size: 17px;
        color: #3C3D3E;
        margin-bottom: 0;
    }

        .text-header p span {
            white-space: nowrap;
        }

.category-group {
    padding-top: 30px;
}

    .category-group h2 {
        font-size: 25px;
        font-weight: 700;
        color: #0057A8;
        margin-bottom: 0;
    }

.promotions-container {
    display: flex;
    gap: 15px 10px;
    flex-wrap: wrap;
    padding-top: 30px;
}

.promotion-card {
    background: #fff;
    border-radius: 20px;
    width: calc(33.333% - 7px);
}

    .promotion-card .thumbnail {
        position: relative;
        margin-bottom: 40px;
    }

        .promotion-card .thumbnail .thumb-img {
            width: 100%;
            height: auto;
            border-radius: 4px;
            margin-bottom: 10px;
            border-radius: 20px 20px 0 0;
        }

        .promotion-card .thumbnail .card-promotion {
            position: absolute;
            bottom: -40px;
            left: 0;
        }

            .promotion-card .thumbnail .card-promotion.ptt-card {
                margin-left: 7px;
            }

    .promotion-card .card-content {
        padding: 15px;
    }

        .promotion-card .card-content .exd {
            display: flex;
            align-items: center;
            gap: 10px;
            margin-bottom: 10px;
        }

            .promotion-card .card-content .exd p {
                font-size: 14px;
                color: #3C3D3E;
                margin-bottom: 0;
            }

                .promotion-card .card-content .exd p.badge-free {
                    background-color: #BED630;
                    border-radius: 4px;
                    padding: 5px 8px;
                    color: #0057A8;
                    font-size: 18px;
                    font-weight: 500;
                }

        .promotion-card .card-content h3 {
            font-size: 22px;
            font-weight: 700;
            color: #0057A8;
            margin-bottom: 0;
        }

        .promotion-card .card-content p {
            font-size: 14px;
            color: #3C3D3E;
        }

            .promotion-card .card-content p.desc {
                font-size: 17px;
                font-weight: 500;
                color: #0057A8;
            }

            .promotion-card .card-content p.cate-product {
                font-weight: 500;
                color: #00B3F0;
                margin-bottom: 0;
            }

.promotion-detail {
    background: #F4FAFD;
}

    .promotion-detail .wrapper-breadcrumb {
        display: flex;
        justify-content: space-between;
        align-items: baseline;
        padding-inline: 30px;
    }

    .breadcrumb {
        margin-bottom: 0;
    }

.breadcrumb ol {
    padding-left: 0;
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    background-color: transparent;
    margin-top: 24px;
}

.breadcrumb-item {
    padding-left: 0.5rem;
}

    .breadcrumb-item + .breadcrumb-item::before,
    .breadcrumb-item::before {
        display: inline-block;
        padding-right: 0.5rem;
        color: #6c757d;
        content: "\203A";
    }

.breadcrumb ol li,
.breadcrumb a {
    font-size: 15px;
    color: #AAAAAA;
}

.header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

    .header h1 {
        font-size: 25px;
        font-weight: bold;
        color: #0057A8;
        margin-bottom: 0;
    }

    .header .icons {
        display: flex;
        gap: 20px;
    }

        .header .icons .icon {
            position: relative;
            display: inline-block;
            cursor: pointer;
        }

.tooltip {
    visibility: hidden;
    width: 100px;
    background-color: #ffffff;
    color: #AAAAAA;
    text-align: center;
    border-radius: 5px;
    padding: 5px;
    position: absolute;
    z-index: 1;
    top: 125%;
    left: 50%;
    margin-left: -60px;
    opacity: 0;
    transition: opacity 0.3s;
    font-family: "Noto Sans Thai", sans-serif !important;
    z-index: 99;
}

.icon:hover .tooltip,
.icon:focus .tooltip,
.icon:active .tooltip {
    visibility: visible;
    opacity: 1;
}

.btn-link {
    display: flex;
    justify-content: center;
    gap: 20px;
    text-decoration: none;
}

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;
    }


.swiper-pagination {
    position: absolute;
    text-align: center;
    transition: .3s opacity;
    transform: translate3d(0, 0, 0);
    z-index: 10;
}

.swiper-pagination-bullet {
    width: 16px;
    height: 4px;
    display: inline-block;
    border-radius: 40px;
    background: #000;
    opacity: 0.2;
}

.swiper-pagination-bullet-active {
    opacity: 1;
    background: #BED630;
}

@media (max-width: 991px) {
    .promotion-template .wrapper {
        padding-inline: 20px;
    }

    .text-header p span {
        white-space: normal;
    }

    .head-promotion {
        flex-wrap: wrap;
        padding-bottom: 30px;
    }

    .text-header h2 {
        font-size: 20px;
    }

    .text-header p {
        font-size: 16px;
    }

    .promotion-template {
        padding-top: 20px
    }

        .promotions-container-m {
            overflow: visible;
            padding-bottom: 50px;
        }

    .promotion-card {
        width: 290px;
    }

        .promotion-card .card-content .exd p.badge-free {
            font-size: 13px;
        }

        .promotion-card .card-content h3 {
            font-size: 20px;
        }

        .promotion-card .card-content p.desc {
            font-size: 16px;
        }

        .promotion-card .thumbnail {
            margin-bottom: 20px;
        }

            .promotion-card .thumbnail .card-promotion {
                width: 105px;
                bottom: -20px;
            }

                .promotion-card .thumbnail .card-promotion.ptt-card {
                    width: 63px;
                }

    .promotions-container-m .swiper-slide {
        height: auto;
    }

    .promotion-detail .wrapper-breadcrumb {
        display: none;
    }

    .category-group {
        padding-top: 40px;
    }
}

