:root{
    --th-color-main: #DA3F29;
    --th-color-red2: #EB301F;
    --th-color-red-dark: #B5211F;
    --th-color-navy: #142261;
    --th-color-navy2: #14316B;
    --th-color-footer: #00275A;
    --th-color-blue: #375ACE;
    --th-color-blue-bg: #EDF3FF;
    --th-color-cream: #FDF5E6;
    --th-color-cream-border: #F1CE93;
    --th-color-gray: #7A8091;
    --th-color-line: #ECECEC;
    --th-color-dark: #1C1C1C;
    --th-font-main: 'Inter', sans-serif;
}

@media screen{

/*
* GENERAL.
*/
*{
    margin: 0px;
    padding: 0px;
}
body{
    font-family: var(--th-font-main);
    font-size: 16px;
    line-height: 1.5;
    color: var(--th-color-dark);
    background: #FFFFFF;
}
a{
    text-decoration: none;
    color: inherit;
    transition: all ease-in-out .25s;
}
img{
    max-width: 100%;
    display: block;
}
ul{
    list-style: none;
}
.container{
    width: 1200px;
    max-width: 100%;
    margin: 0px auto;
    padding: 0px 15px;
    box-sizing: border-box;
}
.container-lg{
    width: 1400px;
    max-width: 100%;
    margin: 0px auto;
    padding: 0px 15px;
    box-sizing: border-box;
}
.center{
    text-align: center;
}
.red{
    color: var(--th-color-main);
}
.stars{
    color: #FFB400;
    font-size: 15px;
    letter-spacing: 1px;
}
.section-title{
    font-size: 42px;
    font-weight: 700;
    color: var(--th-color-navy);
    text-align: center;
    line-height: 1.5;
}
.section-title>span{
    color: var(--th-color-main);
}
.section-sub{
    font-size: 16px;
    color: var(--th-color-gray);
    text-align: center;
    max-width: 900px;
    margin: 14px auto 0px;
    line-height: 1.6;
}

/*
* BUTTON.
*/
.btn{
    display: inline-block;
    font-family: var(--th-font-main);
    font-size: 15px;
    font-weight: 400;
    line-height: 1.2;
    padding: 15px 34px;
    border-radius: 40px;
    cursor: pointer;
    border: 1.5px solid transparent;
    text-align: center;
}
.btn i{
    margin-left: 8px;
    font-size: 13px;
}
.btn-main{
    background: var(--th-color-main);
    color: #FFFFFF;
}
.btn-main:hover{
    background: var(--th-color-red-dark);
}
.btn-outline{
    background: rgba(255,255,255,.7);
    color: var(--th-color-navy);
    border-color: #C9CEDB;
}
.btn-outline:hover{
    background: #FFFFFF;
}
.btn-block{
    display: block;
    width: 100%;
    box-sizing: border-box;
}
.btn-glow{
    padding: 16px 42px;
    box-shadow: 0px 0px 0px 6px rgba(218,63,41,.18);
}

/*
* FLIP CLOCK COUNTDOWN.
*/
.flip-clock{
    display: inline-flex;
    align-items: center;
}
.fc-box{
    position: relative;
    background: #1C1C1C;
    color: #FFFFFF;
    font-weight: 700;
    font-size: 22px;
    min-width: 46px;
    text-align: center;
    padding: 8px 4px;
    border-radius: 8px;
    box-sizing: border-box;
}
.fc-box:after{
    content: "";
    position: absolute;
    left: 0px;
    right: 0px;
    top: 50%;
    height: 1px;
    background: rgba(255,255,255,.14);
}
.fc-dot{
    font-weight: 800;
    color: #1C1C1C;
    margin: 0px 6px;
}
.flip-mini .fc-box{
    font-size: 15px;
    min-width: 30px;
    padding: 5px 3px;
    border-radius: 5px;
    font-weight: 400;
}
.flip-mini .fc-dot{
    color: #FFFFFF;
    margin: 0px 3px;
}

/*
* ANNOUNCE BAR.
*/
.announce-bar{
    background: var(--th-color-navy2);
    color: rgba(255,255,255,.85);
    padding: 8px 0px;
    text-align: center;
    font-size: 14px;
}
.announce-bar b{
    color: #FFFFFF;
    font-weight: 700;
}
.announce-bar .dot{
    margin: 0px 8px;
    opacity: .5;
}

/*
* HERO + HEADER.
*/
.block-hero{
    position: relative;
    background: url(../images/bg/bg-hero.png) no-repeat center top;
    background-size: cover;
    padding-bottom: 40px;
    padding-top: 22px;
}
.block-hero:after{
    position: absolute;
    content: '';
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    z-index: 1;
    transition: all ease-in-out .3s;
    background-image: linear-gradient(180deg, transparent 0%, #fff 60%, #fff 100%);
}
.block-hero .container{
    position: relative;
    z-index: 2;
}
.header{
    position: relative;
    background: #FFFFFF;
    border-radius: 50px;
    box-shadow: 0px 10px 30px rgba(20,34,97,.08);
    padding: 0px 28px;
    height: 64px;
}
.header-logo{
    position: absolute;
    display: inline-block;
    top: 0px;
    left: 15px;
    height: 64px;
}
.header-logo img{
    height: 100%;
}
.header-nav{
    margin-left: 180px;
    line-height: 64px;
}
.header-nav ul li{
    float: left;
    margin-right: 28px;
    position: relative;
}
.header-nav ul li a{
    font-size: 15px;
    font-weight: 600;
    color: var(--th-color-navy);
    text-transform: uppercase;
    letter-spacing: .2px;
}
.header-nav ul li a:hover,
.header-nav ul li a.active{
    color: var(--th-color-main);
}
.hot-badge{
    position: absolute;
    top: 8px;
    right: -25px;
    background: var(--th-color-main);
    color: #FFFFFF;
    font-size: 9px;
    font-weight: 400;
    padding: 2px 5px 2px;
    border-radius: 5px 0 5px 0px;
    line-height: 1;
}
.header-right{
    padding-top: 15px;
}
.header-hotline{
    float: left;
    display: flex;
    align-items: center;
    margin-right: 22px;
}
.header-hotline>i{
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: var(--th-color-main);
    color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    margin-right: 10px;
}
.header-hotline-info{
    display: flex;
    flex-direction: column;
}
.header-hotline-info small{
    font-size: 11px;
    font-weight: 600;
    color: var(--th-color-navy);
}
.header-hotline-info a{
    font-size: 16px;
    font-weight: 700;
    color: var(--th-color-main);
    line-height: 1.1;
}
.header-cart{
    float: left;
    position: relative;
    width: 34px;
    height: 34px;
    border-left: 1px dashed #e8e8e8;
    color: var(--th-color-navy);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    margin-top: 0px;
    padding-left: 10px;
}
.header-cart em{
    position: absolute;
    top: -4px;
    right: -4px;
    line-height: 1;
    background: var(--th-color-main);
    color: #FFFFFF;
    font-size: 10px;
    font-weight: 400;
    font-style: normal;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.hero-content{
    padding-top: 82px;
}
.hero-left{
    width: 50%;
    padding-right: 20px;
}
.hero-right{
    width: 50%;
    position: relative;
    text-align: right;
}
.hero-title{
    font-size: 46px;
    font-weight: 700;
    color: var(--th-color-navy);
    line-height: 1.15;
    letter-spacing: -1px;
    white-space: nowrap;
}
.hero-title span{
    color: var(--th-color-main);
}
.hero-sub{
    font-size: 19px;
    color: #33405C;
    margin: 8px 0px 14px;
}
.hero-card{
    position: relative;
    background: #FEFBF3;
    border: 1.5px solid var(--th-color-cream-border);
    border-radius: 16px;
    overflow: hidden;
    max-width: 548px;
    box-shadow: 0px 14px 34px rgba(20,34,97,.08);
}
.hero-card-ribbon{
    display: flex;
    align-items: center;
    background: #FBE9C4;
    padding: 9px 16px;
}
.ribbon-tag{
    background: linear-gradient(90deg,#F6902A,#E13C1E);
    color: #FFFFFF;
    font-style: italic;
    font-weight: 800;
    font-size: 13px;
    padding: 6px 16px;
    border-radius: 6px 14px 14px 6px;
    margin-right: 12px;
    white-space: nowrap;
}
.ribbon-tag i{
    margin-right: 4px;
}
.ribbon-note{
    display: flex;
    align-items: center;
    color: var(--th-color-red-dark);
    font-weight: 600;
    font-size: 14px;
}
.ribbon-note img{
    width: 16px;
    display: inline-block;
    margin-right: 6px;
}
.hero-card-body{
    padding: 14px 20px 16px;
}
.hero-card-price{
    width: 55%;
    padding-right: 18px;
    box-sizing: border-box;
}
.hero-price-label{
    display: block;
    font-size: 14px;
    color: var(--th-color-gray);
    margin-bottom: 2px;
}
.hero-price-new{
    font-size: 49px;
    font-weight: 800;
    color: var(--th-color-main);
    line-height: 1;
    letter-spacing: -1px;
}
.hero-price-sub{
    margin: 4px 0px 10px;
}
.hero-price-sub del{
    font-size: 15px;
    color: var(--th-color-navy);
    text-decoration: line-through;
}
.hero-price-off{
    font-size: 13px;
    font-weight: 700;
    color: var(--th-color-main);
    margin-left: 6px;
}
.hero-count-label{
    display: block;
    font-size: 13px;
    color: var(--th-color-gray);
    margin-bottom: 8px;
}
.hero-card-gift{
    width: 45%;
    border-left: 1.5px dashed #E5C994;
    padding-left: 18px;
    box-sizing: border-box;
    text-align: center;
}
.gift-label{
    display: inline-block;
    background: var(--th-color-main);
    color: #FFFFFF;
    font-size: 16px;
    font-weight: 800;
    padding: 6px 16px;
    border-radius: 8px;
    box-shadow: 0px 4px 10px rgba(218,63,41,.3);
}
.gift-desc{
    font-size: 13px;
    color: #33405C;
    margin: 10px 0px 6px;
    text-align: left;
}
.gift-desc b{
    color: var(--th-color-main);
}
.gift-value{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.gift-value span{
    font-size: 13px;
    color: #33405C;
    text-align: left;
    line-height: 1.2;
}
.gift-value strong{
    font-size: 22px;
    color: var(--th-color-main);
    font-weight: 800;
}
.gift-value img{
    width: 74px;
    height: auto;
}
.hero-actions{
    margin: 26px 0px 20px;
}
.hero-actions .btn{
    margin-right: 12px;
}
.hero-rating{
    font-size: 15px;
    color: var(--th-color-gray);
}
.hero-rating .stars{
    margin-right: 6px;
}
.hero-rating b{
    color: var(--th-color-main);
}
.rating-count{
    color: var(--th-color-gray);
}
.rating-line{
    margin: 0px 6px;
    color: #C9CEDB;
}
.hero-thumb{
    width: 100%;
    max-width: 620px;
    margin-left: auto;
    height: auto;
}
.hero-seal{
    position: absolute;
    top: -2px;
    left: 63%;
    width: 138px;
    height: auto;
    filter: drop-shadow(0px 8px 16px rgba(0,0,0,.18));
}

/*
* PRODUCT DETAIL.
*/
.block-item .container{
    padding: 80px 0;
}
.block-product{
    background: #FFFFFF;
    padding: 60px 0px;
}
.product-gallery{
    width: 52%;
    padding-right: 46px;
}
.product-gallery-main{
    border-radius: 18px;
    overflow: hidden;
    margin-bottom: 14px;
    position: relative;
}
.product-gallery-main-link{
    display: block;
    position: relative;
}
.product-gallery-main-link img{
    width: 100%;
    height: 500px;
    object-fit: cover;
    display: block;
}
.product-gallery-play{
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 84px;
    height: 84px;
    border-radius: 50%;
    background: rgba(0,0,0,.2);
    color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 36px;
    backdrop-filter: blur(3px);
}
.product-gallery-play i{
    padding-left: 4px;
}
.product-gallery-thumbs{
    display: flex;
    margin: 0px -6px;
}
.product-gallery-thumbs.slick-initialized{
    display: block;
    position: relative;
    padding-bottom: 26px;
}
.product-gallery-thumbs .slick-dots{
    bottom: 0px;
}
.product-gallery-thumbs .slick-dots li{
    width: 8px;
    height: 8px;
    margin: 0px 4px;
}
.product-gallery-thumbs .slick-dots li button{
    width: 8px;
    height: 8px;
}
.product-gallery-thumbs .slick-dots li button:before{
    width: 8px;
    height: 8px;
    line-height: 8px;
    font-size: 8px;
    color: var(--th-color-line);
    opacity: 1;
}
.product-gallery-thumbs .slick-dots li.slick-active button:before{
    color: var(--th-color-main);
}
.product-gallery-thumb{
    position: relative;
    width: calc(25% - 12px);
    margin: 0px 6px;
    padding: 6px;
    border: 1px solid var(--th-color-line);
    border-radius: 12px;
    overflow: hidden;
    cursor: pointer;
    height: 120px;
}
.product-gallery-thumb.active{
    border-color: var(--th-color-main);
}
.product-gallery-thumb img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
}
.product-gallery-thumb-play{
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: rgba(0,0,0,.3);
    color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
}
.product-gallery-thumb-play i{
    padding-left: 2px;
}
.product-info{
    width: 48%;
}
.product-title{
    font-size: 23px;
    font-weight: 600;
    color: var(--th-color-navy);
    line-height: 1.5;
    margin-bottom: 14px;
}
.product-sku{
    display: inline-block;
    font-size: 13px;
    color: var(--th-color-gray);
    border: 1px solid var(--th-color-line);
    padding: 4px 14px;
    border-radius: 20px;
    margin-bottom: 16px;
}
.product-meta{
    display: flex;
    align-items: center;
    font-size: 14px;
    color: var(--th-color-gray);
    margin-bottom: 20px;
}
.product-meta .stars{
    margin-right: 8px;
}
.product-meta b{
    color: var(--th-color-main);
    margin-right: 8px;
}
.product-gift{
    display: flex;
    align-items: center;
    background: linear-gradient(0deg, #ffffff, #FFF8EA);
    border-radius: 12px;
    padding: 14px 18px;
    margin-bottom: 24px;
}
.product-gift img{
    width: 66px;
    height: 66px;
    object-fit: contain;
    margin-right: 14px;
    flex-shrink: 0;
}
.product-gift p{
    font-size: 15px;
    color: #333333;
    line-height: 1.5;
}
.product-gift b{
    color: var(--th-color-main);
}
.product-gift .red{
    color: var(--th-color-main);
    font-weight: 700;
}
.product-specs{
    margin-bottom: 24px;
}
.product-spec-row{
    display: flex;
    padding: 13px 0px;
    border-bottom: 1px dashed #DDDDDD;
    font-size: 15px;
}
.spec-label{
    width: 175px;
    flex-shrink: 0;
    color: var(--th-color-gray);
}
.spec-value{
    color: #222222;
    line-height: 1.5;
}
.spec-value b{
    font-weight: 700;
}
.product-color{
    display: flex;
    align-items: center;
    margin-bottom: 26px;
}
.product-color-label{
    font-size: 13px;
    font-weight: 600;
    color: var(--th-color-gray);
    letter-spacing: .5px;
    margin-right: 18px;
}
.color-item{
    display: inline-flex;
    align-items: center;
    font-size: 14px;
    padding: 9px 18px;
    border: 1px solid var(--th-color-line);
    border-radius: 12px;
    margin-right: 12px;
    cursor: pointer;
    color: #444444;
}
.color-item.active{
    border-color: var(--th-color-main);
    background: #FDECEA;
    color: var(--th-color-main);
    font-weight: 600;
}
.color-dot{
    width: 14px;
    height: 14px;
    border-radius: 50%;
    display: inline-block;
    margin-right: 8px;
}
.color-red{ background: #DA3F29; }
.color-blue{ background: #22C4E6; }
.color-mint{ background: #62C6A8; }
.color-purple{ background: #A25AC9; }
.product-price-box{
    position: relative;
    display: flex;
    align-items: stretch;
    border-radius: 14px;
    /* overflow: hidden; */
    margin-bottom: 26px;
    background: linear-gradient(0deg, #ffffff, #FBEFD3);
}
.product-price-box:before{
    position: absolute;
    content: '';
    top: -5px;
    right: 207px;
    width: 70px;
    z-index: 2;
    height: calc(100% + 10px);
    background: url(../images/bg/icon-flash.png) no-repeat center center;
    background-size: auto 100%;
}
.product-price{
    width: 56%;
    padding: 18px 26px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.product-price-new{
    display: block;
    font-size: 36px;
    font-weight: 700;
    color: var(--th-color-main);
    line-height: 1;
}
.product-price-sub{
    display: block;
    margin-top: 2px;
}
.product-price-sub del{
    font-size: 15px;
    color: var(--th-color-navy);
}
.product-price-off{
    font-size: 13px;
    font-weight: 700;
    color: var(--th-color-main);
    margin-left: 6px;
}
.product-flash{
    width: 280px;
    background: var(--th-color-red2);
    color: #FFFFFF;
    padding: 14px 18px 14px 46px;
    box-sizing: border-box;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    clip-path: polygon(14% 0, 100% 0, 100% 100%, 0% 100%, 0 100%);
    overflow: hidden;
    position: relative;
    border-radius: 0px 14px 14px 0px;
}
.product-flash:after{
    position: absolute;
    content: '';
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    clip-path: polygon(0% 0%, 100% 0, 100% 100%, 0% 100%, 28% 100%);
    background: linear-gradient(145deg, #ff914d, var(--th-color-red2), var(--th-color-red2));
}
.product-flash-inner{
    position: relative;
    z-index: 2;
}
.flash-bolt{
    position: absolute;
    left: 55.5%;
    top: 50%;
    transform: translate(-52%,-50%);
    height: 86%;
    width: auto;
    z-index: 4;
    filter: drop-shadow(0px 3px 4px rgba(0,0,0,.18));
}
.flash-title{
    display: flex;
    align-items: center;
    font-style: italic;
    font-weight: 600;
    font-size: 14px;
    letter-spacing: -.2px;
    margin-bottom: 8px;
    white-space: nowrap;
    padding-left: 22px;
}
.flash-title i{
    margin-right: 6px;
    color: #ffcd2a;
}
.flash-alarm{
    height: 19px;
    width: auto;
    display: inline-block;
    margin-right: 6px;
}
.flash-count{
    display: flex;
    align-items: center;
    font-size: 13px;
    white-space: nowrap;
}
.flash-count .flip-mini{
    margin-left: 8px;
}
.product-buy{
    display: flex;
    align-items: center;
}
.btn-buy{
    flex: 1;
    height: 66px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0px 20px;
    margin-right: 14px;
}
.btn-buy small{
    display: block;
    font-size: 12px;
    font-weight: 400;
    opacity: .92;
    margin-top: 3px;
}
.btn-cart{
    width: 66px;
    height: 66px;
    border-radius: 50%;
    background: #1C1C1C;
    color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    flex-shrink: 0;
    border: 0px;
    padding: 0px;
    cursor: pointer;
    font-family: inherit;
}
.btn-cart:hover{
    background: var(--th-color-main);
}
.btn-cart.is-loading{
    pointer-events: none;
    opacity: .7;
}

/*
* CART TOAST.
*/
.cart-toast{
    position: fixed;
    left: 50%;
    bottom: 30px;
    transform: translate(-50%, 16px);
    background: var(--th-color-navy);
    color: #FFFFFF;
    padding: 13px 24px;
    border-radius: 40px;
    font-size: 14px;
    font-weight: 600;
    box-shadow: 0px 12px 30px rgba(20,34,97,.25);
    opacity: 0;
    z-index: 99999;
    transition: all ease .3s;
    pointer-events: none;
    display: flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}
.cart-toast i{
    color: #6BE38A;
}
.cart-toast.is-error i{
    color: #FFB4A8;
}
.cart-toast.show{
    opacity: 1;
    transform: translate(-50%, 0px);
}

/*
* TRUST BADGES.
*/
.block-trust{
    background: var(--th-color-blue-bg);
    padding: 72px 0px;
}
.trust-item{
    width: 25%;
    text-align: center;
    padding: 0px 15px;
}
.trust-icon{
    width: 60px;
    height: 60px;
    border-radius: 23px;
    background: #FFFFFF;
    /* box-shadow: 0px 8px 18px rgba(55,90,206,.14); */
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0px auto 16px;
    color: var(--th-color-blue);
    font-size: 24px;
}
.trust-item strong{
    display: block;
    font-size: 18px;
    font-weight: 600;
    color: var(--th-color-navy);
    margin-bottom: 4px;
}
.trust-sub{
    font-size: 14px;
    color: var(--th-color-gray);
}

/*
* DEAL SHOCK.
*/
.block-deal{
    position: relative;
    background-size: 100% auto;
    padding: 196px 0px 120px;
}
.block-deal:after{
    position: absolute;
    content: '';
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    z-index: 1;
    transition: all ease-in-out .3s;
    background-image: linear-gradient(0deg, transparent 0%, #fff 60%, #fff 100%);
}
.block-deal .container-lg{
    position: relative;
    z-index: 2;
}
.deal-frame{
    position: relative;
    background: url(../images/bg/bg-content-deal.png) no-repeat center center;
    background-size: 100% 100%;
    padding: 24px;
}
.deal-head{
    position: absolute;
    top: -75px;
    left: calc(50% - 381px);
    width: 762px;
    height: 76px;
    box-sizing: border-box;
    background: url(../images/bg/bg-head-deal.png) no-repeat center center;
    background-size: 100% 100%;
}
.deal-head:before{
    width: 174px;
    height: 174px;
    position: absolute;
    content: "";
    left: -25px;
    top: calc(50% - 87px);
    z-index: 2;
    background: url(../images/icons/icon-clock.png) no-repeat center center;
    background-size: 100%;
}
.deal-banner{
    height: 76px;
    display: inline-flex;
    align-items: center;
    position: relative;
}
.deal-banner-title{
    color: #fff0d1;
    font-size: 26px;
    font-weight: 700;
    margin-left: 130px;
    margin-right: 18px;
}
.deal-content{
    padding: 25px;
    background-color: #fff;
    border-radius: 20px;
}
.deal-slider{
    margin: 0px -12px;
}
.deal-item{
    background: #FFFFFF;
    border-radius: 14px;
    margin: 0px 12px;
    box-shadow: 0px 10px 26px rgba(20,34,97,.07);
    position: relative;
    box-sizing: border-box;
    border: 1px solid #e8e8e8;
    overflow: hidden;
}
.deal-item-sale{
    position: absolute;
    top: 16px;
    left: 16px;
    z-index: 2;
    background: var(--th-color-main);
    color: #FFFFFF;
    font-size: 13px;
    font-weight: 400;
    padding: 4px 10px;
    border-radius: 12px 12px 12px 0px;
}
.deal-item-thumb{
    height: 235px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: 1px solid #e8e8e8;
}
.deal-item-thumb img{
    max-height: 100%;
    width: auto;
    object-fit: contain;
}
.deal-item-content{
    padding: 16px;
    padding-bottom: 20px;
    background-color: rgb(249, 249, 249);
}
.deal-item-title{
    font-size: 23px;
    font-weight: 600;
    color: var(--th-color-navy);
    margin-bottom: 12px;
    line-height: 1.5;
    min-height: 52px;
}
.deal-item-desc{
    min-height: 172px;
    margin-bottom: 20px;
    font-size: 14px;
    color: var(--th-color-gray);
    line-height: 1.5;
}
.deal-item-desc p{
    margin-bottom: 12px;
}
.deal-item-opt{
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}
.opt-label{
    font-size: 12px;
    font-weight: 600;
    color: var(--th-color-gray);
    letter-spacing: .5px;
    margin-right: 14px;
    width: 62px;
}
.deal-item-opt .color-dot{
    width: 16px;
    height: 16px;
    margin-right: 12px;
    cursor: pointer;
    transition: box-shadow ease-in-out .15s;
}
.deal-item-opt .color-dot.active{
    box-shadow: 0px 0px 0px 2px #FFFFFF, 0px 0px 0px 3px var(--th-color-main);
}
.size-chip{
    display: inline-block;
    font-size: 13px;
    padding: 8px 16px;
    border: 1px solid var(--th-color-line);
    border-radius: 8px;
    margin-right: 10px;
    color: #555555;
    cursor: pointer;
    transition: all ease-in-out .15s;
}
.size-chip:hover{
    border-color: var(--th-color-main);
    color: var(--th-color-main);
}
.size-chip.active{
    border-color: var(--th-color-main);
    color: var(--th-color-main);
    font-weight: 600;
    background: #FDECEA;
}
.deal-item-price{
    /* display: flex; */
    align-items: baseline;
    margin: 15px 0px 20px;
}
.deal-item-price>span{
    display: block;
}
.deal-price-new{
    font-size: 30px;
    font-weight: 600;
    color: var(--th-color-main);
    margin-right: 12px;
}
.deal-price-sub del{
    font-size: 14px;
    color: var(--th-color-gray);
}
.deal-price-off{
    font-size: 13px;
    font-weight: 700;
    color: var(--th-color-main);
    background: #FDECEA;
    padding: 2px 7px;
    border-radius: 5px;
    margin-left: 4px;
}

/*
* KOL / KOC.
*/
.block-kol{
    background: #FFFFFF;
    padding: 100px 0px;
}
.kol-slider{
    margin: 40px -12px 34px;
}
.kol-item{
    margin: 0px 12px;
}
.kol-item-thumb{
    display: block;
    position: relative;
    height: 562px;
    border-radius: 18px;
    overflow: hidden;
}
.kol-item-thumb img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.kol-item-thumb:after{
    content: "";
    position: absolute;
    left: 0px;
    right: 0px;
    bottom: 0px;
    height: 42%;
    background: linear-gradient(to top, rgba(0,0,0,.6), rgba(0,0,0,0));
    z-index: 1;
}
.kol-item-play{
    position: absolute;
    top: 42%;
    left: 50%;
    transform: translate(-50%,-50%);
    z-index: 2;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: #FFFFFF;
    color: var(--th-color-main);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    box-shadow: 0px 6px 16px rgba(0,0,0,.25);
    transition: all ease-in-out .3s;
}
.kol-item:hover .kol-item-play{
    color: #fff;
    background-color: var(--th-color-main);
}
.kol-item-info{
    position: absolute;
    left: 18px;
    bottom: 20px;
    z-index: 3;
}
.kol-item-info strong{
    display: block;
    font-size: 17px;
    font-weight: 400;
    color: #FFFFFF;
}
.kol-item-info small{
    font-size: 12px;
    font-weight: 300;
    color: rgba(255,255,255,.9);
}
.kol-item-info small i{
    margin-right: 5px;
}

/*
* REVIEW.
*/
.block-review{
    padding: 100px 0px 100px;
    background: linear-gradient(180deg, #EDF3FF 0%, rgba(255, 255, 255, 0.00) 25.87%);
}
.review-bubble{
    display: inline-flex;
    width: 58px;
    height: 52px;
    border-radius: 16px 16px 16px 4px;
    background: #DCE7FB;
    color: var(--th-color-blue);
    align-items: center;
    justify-content: center;
    font-size: 22px;
    margin-bottom: 18px;
}
.review-head{
    margin-bottom: 36px;
}
.review-logo{
    height: 74px;
    margin: 0 auto;
}
.review-panel{
    background: #E9F0FB;
    border-radius: 24px;
    padding: 24px;
    border: 1px solid #BDD2FC;
}
.review-slider{
    margin: 0px -10px;
}
.review-item{
    margin: 0px 10px;
}
.review-item a{
    display: block;
    border-radius: 16px;
    overflow: hidden;
}
.review-item img{
    width: 100%;
    height: auto;
}

/*
* CERTIFICATE.
*/
.block-cert{
    background: #FFFFFF;
    padding: 100px 0px 100px;
}
.cert-head{
    margin-bottom: 40px;
}
.cert-logo{
    height: 74px;
    width: auto;
    margin: 0px auto 0px;
}
.cert-slider{
    margin: 0px -12px;
}
.cert-item{
    margin: 0px 12px;
    text-align: center;
}
.cert-item-thumb{
    display: block;
    background: #FFFFFF;
    border: 1px solid #D8D8D8;
    border-radius: 16px;
    overflow: hidden;
    height: 423px;
}
.cert-item-thumb img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
}
.cert-item-name{
    font-size: 16px;
    font-weight: 400;
    color: var(--th-color-navy);
    margin-top: 20px;
    line-height: 1.5;
    padding: 0 20px;
}

/*
* KIEM DINH BADGES.
*/
.block-badges{
    position: relative;
    background-size: cover;
    padding: 30px 0px 200px;
}
.block-badges .container{
    position: relative;
    z-index: 2;
}
.block-badges:after{
    position: absolute;
    content: '';
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    z-index: 1;
    transition: all ease-in-out .3s;
    background-image: linear-gradient(0deg, transparent 0%, #fff 100%);
}
.badge-item{
    width: 25%;
    text-align: center;
    padding: 0px 15px;
}
.badge-item img{
    height: 120px;
    width: auto;
    object-fit: contain;
    margin: 0px auto 18px;
}
.badge-item span{
    display: block;
    font-size: 16px;
    font-weight: 400;
    color: var(--th-color-navy);
}

/*
* FOOTER.
*/
.footer{
    position: relative;
    background-color: var(--th-color-footer);
    color: rgba(255,255,255,.75);
    padding-top: 55px;
}
.footer .container{
    position: relative;
    z-index: 2;
}
.footer:after{
    position: absolute;
    content: '';
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    z-index: 1;
    background: #fff url(../images/bg/bg-main-blue.png) center center;
    background-size: 700px auto;
    opacity: .1;
}
.footer-inner{
    padding-bottom: 34px;
}
.footer-col{
    padding-right: 40px;
}
.footer-about{
    width: 34%;
}
.footer-contact{
    width: 30%;
}
.footer-fanpage{
    width: 36%;
    padding-right: 0px;
}
.footer-logo{
    display: block;
    height: 74px;
    margin-bottom: 18px;
}
.footer-logo img{
    height: 100%;
    max-width: 100%;
    filter: brightness(0) invert(1);
}
.footer-about p{
    font-size: 14px;
    line-height: 1.7;
    margin-bottom: 20px;
}
.footer-social a{
    display: inline-flex;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    color: #FFFFFF;
    margin-right: 10px;
    font-size: 17px;
}
.soc-fb{ background: #1877F2; }
.soc-yt{ background: #FF0000; }
.soc-mess{ background: #0084FF; }
.soc-tt{ background: #111111; }
.footer-title{
    font-size: 15px;
    font-weight: 700;
    color: #FFFFFF;
    letter-spacing: .5px;
    margin-bottom: 20px;
}
.footer-contact ul li{
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 16px;
    display: flex;
}
.footer-contact ul li i{
    color: #9FB3D9;
    margin-right: 10px;
    margin-top: 4px;
    width: 16px;
    flex-shrink: 0;
}
.fanpage-card{
    background: #FFFFFF;
    border-radius: 12px;
    padding: 16px;
    color: #333333;
}
.fanpage-top{
    display: flex;
    align-items: center;
    margin-bottom: 12px;
}
.fanpage-avt{
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #EAF0FB;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    margin-right: 10px;
    flex-shrink: 0;
}
.fanpage-avt img{
    width: 32px;
    height: auto;
}
.fanpage-name{
    flex: 1;
}
.fanpage-name strong{
    display: block;
    font-size: 15px;
    color: #1C1C1C;
}
.fanpage-name small{
    font-size: 12px;
    color: #777777;
}
.fanpage-msg{
    font-size: 13px;
    color: #333333;
    border: 1px solid #DDDDDD;
    padding: 5px 14px;
    border-radius: 6px;
}
.fanpage-desc{
    font-size: 12.5px;
    color: #555555;
    line-height: 1.5;
    margin-bottom: 12px;
}
.fanpage-banner{
    width: 100%;
    border-radius: 8px;
}
.footer-bottom{
    border-top: 1px solid rgba(255,255,255,.1);
    padding: 20px 0px;
    font-size: 13px;
}

/*
* FIXED CONTACT.
*/
.fixed-contact{
    position: fixed;
    bottom: -110px;
    right: 16px;
    transform: translateY(-50%);
    z-index: 90;
}
.fixed-contact-item{
    display: flex;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    color: #FFFFFF;
    font-size: 20px;
    margin-bottom: 16px;
    box-shadow: 0px 6px 16px rgba(0,0,0,.2);
}
.fixed-contact-item img{
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.fixed-phone{ background: var(--th-color-main); animation: contactPulse 1.6s infinite; }
.fixed-zalo{ background: #FFFFFF; color: #0068FF; border: 1px solid #E1E7F0; }
.fixed-mess{ background: #0084FF; }
.fixed-wa{ background: #25D366; }
@keyframes contactPulse{
    0%{ box-shadow: 0px 0px 0px 0px rgba(218,63,41,.4); }
    70%{ box-shadow: 0px 0px 0px 12px rgba(218,63,41,0); }
    100%{ box-shadow: 0px 0px 0px 0px rgba(218,63,41,0); }
}

/*
* POPUP ORDER.
*/
.popup-order{
    width: 760px;
    max-width: calc(100vw - 24px);
    background: #FFFFFF;
    border-radius: 18px;
    overflow: hidden;
    box-sizing: border-box;
}
.popup-order-head{
    background: linear-gradient(135deg, var(--th-color-main), var(--th-color-red-dark));
    color: #FFFFFF;
    padding: 22px 28px;
    text-align: center;
}
.popup-order-head h3{
    font-size: 22px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
}
.popup-order-head h3 i{
    color: #FFD166;
    font-size: 19px;
}
.popup-order-head p{
    font-size: 13.5px;
    margin-top: 6px;
    line-height: 1.5;
    opacity: .92;
}
.popup-order-body{
    display: flex;
    align-items: stretch;
}
.popup-order-left{
    width: 260px;
    flex-shrink: 0;
    box-sizing: border-box;
    padding: 26px 22px;
    background: var(--th-color-cream);
    border-right: 1px solid var(--th-color-cream-border);
}
.popup-order-right{
    flex: 1;
    min-width: 0;
}
.popup-order-product{
    text-align: center;
    padding-bottom: 20px;
    border-bottom: 1px dashed var(--th-color-cream-border);
    margin-bottom: 18px;
}
.popup-order-product-img{
    width: 108px;
    height: 108px;
    border-radius: 14px;
    object-fit: cover;
    border: 1px solid var(--th-color-cream-border);
    background: #FFFFFF;
    display: block;
    margin: 0 auto 14px;
}
.popup-order-product-title{
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 14.5px;
    font-weight: 700;
    color: var(--th-color-navy);
    line-height: 1.35;
    margin-bottom: 6px;
}
.popup-order-product-color,
.popup-order-product-size{
    display: block;
    font-size: 12.5px;
    color: var(--th-color-gray);
    margin-top: 3px;
}
.popup-order-product-color b,
.popup-order-product-size b{
    color: var(--th-color-navy);
    font-weight: 700;
}
.popup-order-price{
    text-align: center;
    padding-bottom: 20px;
    border-bottom: 1px dashed var(--th-color-cream-border);
    margin-bottom: 18px;
}
.popup-order-price-new{
    display: block;
    font-size: 24px;
    font-weight: 800;
    color: var(--th-color-main);
}
.popup-order-price-old{
    font-size: 13px;
    color: var(--th-color-gray);
}
.popup-order-trust{
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.popup-order-trust span{
    font-size: 12px;
    font-weight: 600;
    color: var(--th-color-navy);
    display: flex;
    align-items: center;
    gap: 10px;
    text-align: left;
    line-height: 1.3;
}
.popup-order-trust i{
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: rgba(218,63,41,.1);
    color: var(--th-color-main);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    flex-shrink: 0;
}
.popup-order-form{
    padding: 26px 28px;
}
.form-row{
    margin-bottom: 14px;
}
.form-row input,
.form-row select{
    width: 100%;
    box-sizing: border-box;
    padding: 13px 16px;
    border: 1px solid var(--th-color-line);
    border-radius: 10px;
    font-family: var(--th-font-main);
    font-size: 15px;
    outline: none;
}
.form-row input:focus,
.form-row select:focus{
    border-color: var(--th-color-main);
}
.popup-order-form .wpcf7-form p{
    margin-bottom: 14px;
}
.popup-order-form input:not([type=submit]):not([type=checkbox]):not([type=radio]),
.popup-order-form textarea,
.popup-order-form select{
    width: 100%;
    box-sizing: border-box;
    padding: 13px 16px;
    border: 1px solid var(--th-color-line);
    border-radius: 10px;
    font-family: var(--th-font-main);
    font-size: 15px;
    outline: none;
    margin-top: 4px;
}
.popup-order-form input:focus,
.popup-order-form textarea:focus,
.popup-order-form select:focus{
    border-color: var(--th-color-main);
}
.popup-order-form .wpcf7-submit{
    width: 100%;
    background: var(--th-color-main);
    color: #FFFFFF;
    border: 0px;
    padding: 15px;
    border-radius: 40px;
    font-weight: 700;
    font-size: 16px;
    cursor: pointer;
    font-family: var(--th-font-main);
    margin-top: 4px;
}
.popup-order-form .wpcf7-submit:hover{
    background: var(--th-color-red-dark);
}
.popup-order-form .wpcf7-response-output{
    border-radius: 8px;
    margin: 10px 0px 0px;
    font-size: 14px;
    padding: 8px 12px;
}
.popup-order-form .wpcf7-spinner{
    margin: 6px auto 0px;
    display: block;
}

/*
* SLICK ARROWS.
*/
.slick-prev,
.slick-next{
    width: 46px;
    height: 46px;
    z-index: 10;
    background: #FFFFFF;
    border-radius: 50%;
    box-shadow: 0px 6px 16px rgba(20,34,97,.14);
}
.slick-prev:hover,
.slick-next:hover{
    background: var(--th-color-main);
}
.slick-prev:before,
.slick-next:before{
    font-family: "Font Awesome 5 Pro";
    font-weight: 300;
    color: var(--th-color-navy);
    opacity: 1;
    font-size: 16px;
}
.slick-prev:hover:before,
.slick-next:hover:before{
    color: #FFFFFF;
}
.slick-prev{ left: -20px; }
.slick-next{ right: -20px; }
.slick-prev:before{ content: "\f053"; }
.slick-next:before{ content: "\f054"; }

}
