/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.0
*/
.absolute-footer {
    display: none !important;
}
.xc-menu-home.ux-menu--divider-solid .ux-menu-link:not(:last-of-type) .ux-menu-link__link,
.xc-menu-home .ux-menu-link__link {
    border-bottom: none !important;
}
.xc-menu-home {
    --stack-gap: 15px; 
}
.xc-menu-home .ux-menu-link__link {
    display: flex;
    justify-content: flex-start;
    padding: 8px 8px !important;
    background: #3493fa;
    border-radius: 6px;
    color: #fff !important;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: 0.2s all;
}
.xc-menu-home .ux-menu-link:nth-child(1) .ux-menu-link__link,
.xc-menu-home .ux-menu-link:nth-child(2) .ux-menu-link__link {
    background: #1e88e5 !important;
}
.xc-menu-home .ux-menu-link__link:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    opacity: 0.9;
    color: #fff !important;
}
.xc-menu-home .ux-menu-link__text {
    color: #fff !important;
}
@media only screen and (max-width: 48em) {
}
.xc-home-product .product .box,
.xc-home-product .product-small .box {
    background: #fff !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    transition: .3s !important;
    outline: 0 !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .04) !important;
}
.xc-home-product .product-small.box .box-image {
    aspect-ratio: 5/3 !important;
    overflow: hidden !important;
    display: block !important;
    position: relative !important;
    background: #fff !important;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
}
.xc-home-product .product-small.box .box-image img {
    object-fit: cover !important;
    object-position: center !important;
    height: 100% !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    transition: transform 0.3s;
}
.xc-home-product .product-small:hover .box-image img {
    transform: scale(1.02);
}
.xc-home-product .product-small .box-image::before {
    position: absolute;
    top: 0;
    left: -75%;
    z-index: 2;
    display: block;
    content: '';
    width: 50%;
    height: 100%;
    background: linear-gradient(to right, rgba(255,255,255,0) 0, rgba(255,255,255,.3) 100%);
    transform: skewX(-25deg);
    will-change: transform;
    pointer-events: none;
}
.xc-home-product .product-small:hover .box-image::before {
    animation: 0.75s ease-out shine;
}
@keyframes shine {
    100% {
        left: 125%;
    }
}
.xc-home-product .box-text {
    padding-left: 10px;
    padding-right: 10px;
    background: var(--color-bg, #fff);
    border-bottom-left-radius: 6px;
    border-bottom-right-radius: 6px;
}
.xc-home-product .product-small.box .woocommerce-loop-product__title,
.xc-home-product .product-small.box .product-title {
    font-size: 14px !important;
    font-weight: normal !important;
    line-height: 20px !important;
    color: #333;
    display: -webkit-box;
    -webkit-line-clamp: 2 !important; /* Chuẩn 2 dòng */
    -webkit-box-orient: vertical;
    overflow: hidden;
    height: 40px !important;
    min-height: 40px !important;
    transition: color 0.2s ease;
    margin-bottom: 7px;
    word-break: break-word;
    text-align: left;
}
.xc-home-product .product-small.box .product-title a,
.xc-home-product .product-small.box .woocommerce-loop-product__title a {
    color: #333;
    font-size: 14px !important;
    font-weight: normal !important;
    line-height: 20px !important;
}
.xc-home-product .product-small.box .product-title a:hover,
.xc-home-product .product-small.box .woocommerce-loop-product__title a:hover {
    color: #3d5a98;
}

@media (max-width: 549px) {
    .xc-home-product .product-small.box .woocommerce-loop-product__title,
    .xc-home-product .product-small.box .product-title {
        height: 38px !important; /* 2 dòng * 19px */
        min-height: 38px !important;
        line-height: 19px !important;
        margin-bottom: 5px !important;
    }
    .xc-home-product .product-small.box .product-title a,
    .xc-home-product .product-small.box .woocommerce-loop-product__title a {
        font-size: 13px !important;
        line-height: 19px !important;
    }
}
.xc-home-product .product-small.box .price {
    font-size: 16px;
    text-align: left;
    color: #999;
}
.xc-home-product .product-small.box .price del {
    text-decoration: none !important;
}
.xc-home-product .product-small.box .price del span.amount {
    font-size: 14px !important;
    font-weight: 400;
    text-decoration: none !important;
    display: inline;
    background-image: linear-gradient(currentColor, currentColor);
    background-size: 100% 1px;
    background-repeat: no-repeat;
    background-position: center;
}
.xc-home-product .product-small.box .price del span {
    color: #999;
    font-size: 14px;
}
.xc-home-product .product-small.box .price ins span,
.xc-home-product .product-small.box .price span.amount {
    font-size: 16px !important;
    font-weight: 700;
}
.xc-home-product ins .woocommerce-Price-amount {
    color: #ff5252;
}
.xc-home-product .flickity-page-dots {
    bottom: -30px;
}
.xc-home-product .flickity-page-dots .dot {
    width: 10px;
    height: 10px;
    background: #ccc;
    border: none;
    opacity: 0.6;
    border-radius: 5px;
    transition: all 0.3s ease;
}
.xc-home-product .flickity-page-dots .dot.is-selected {
    width: 24px;
    background: #ff6a00;
    opacity: 1;
}
.divine-section-header {
    text-align: left;
    margin-bottom: 20px;
    padding: 0 10px;
}
.divine-section-header .section-title {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 5px;
    text-transform: none;
}
.divine-section-header .highlight-orange {
    color: #ff6600; 
}
.divine-section-header .section-subtitle {
    font-size: 16px;
    color: #666;
    margin-bottom: 0;
}
@media (max-width: 549px) {
    .divine-section-header .section-title {
        font-size: 20px;
    }
    .divine-section-header .section-subtitle {
        font-size: 14px;
    }
}
.entry-content {
    padding-bottom: 0 !important;
    padding-top: 0 !important;
}
.header-bottom {
    background-image: linear-gradient(to right, #1e88e5, #3493fa) !important;
    border-top: 1px solid #f6f6f6 !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1) !important;
}
.header:not(.transparent) .header-bottom-nav.nav > li > a {
    color: #ffffff !important;
}
.header:not(.transparent) .header-bottom-nav.nav > li > a:hover {
    color: #ffffff !important;
}
.header-bottom-nav.nav-line-grow > li > a:before {
    background-color: #ffffff !important;
}
.single-product .page-title.product-page-title {
    display: none !important;
}
.single-product .product-info .price ins span.amount,
.single-product .product-info .price > span.amount {
    font-size: 23px !important;
    color: #0683ff !important;
    font-weight: 700 !important;
}
.single-product .product-info .price del span.amount {
    font-size: 14px !important;
    color: gray !important;
}
.single-product .product-info h1.product-title {
    font-size: 20px !important;
    line-height: 26px !important;
    margin-bottom: 5px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}
.single-product form.cart {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin-bottom: 0;
    gap: 3% !important;
}
.single-product form.cart .quantity,
.single-product form.cart .ux-quantity {
    display: none !important;
}
.single-product form.cart .single_add_to_cart_button {
    margin-bottom: 0;
    width: 48.5% !important;
    flex: 0 0 48.5% !important;
    float: none !important;
    border-radius: 4px;
    font-size: 16px;
    background-color: #3d5a98 !important;
    color: #fff !important;
    text-transform: none;
    letter-spacing: 0;
    padding: 10px 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.single-product form.cart .ux-buy-now-button {
    display: none !important;
}
.single-product form.cart .buy_now_button {
    padding: 10px 0;
    margin-bottom: 0 !important;
    margin-right: 0 !important;
    width: 48.5% !important;
    flex: 0 0 48.5% !important;
    display: flex;
    align-items: center;
    justify-content: center;
    float: none !important;
    border-radius: 4px;
    font-size: 16px;
    text-transform: none;
    letter-spacing: 0;
    color: #fff !important;
    background-color: #ff5252 !important; 
}
.single-product form.cart .buy_now_button:hover {
    background-color: #e53935 !important;
}
.thong-tin-ky-thuat {
    margin-bottom: 10px;
    border-top: none;
    display: flex !important;
    flex-direction: column;
    gap: 5px;
}
.thong-tin-ky-thuat .row-info {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 0;
    border-bottom: none;
    font-size: 14px;
    line-height: normal;
    margin-bottom: 0px;
}
.thong-tin-ky-thuat .row-info .left {
    flex: 1;
    padding-right: 10px;
}
.thong-tin-ky-thuat .row-info .right {
    text-align: center;
    padding: 3px 10px;
    background: #e4e4e4;
    border-radius: 4px;
    color: #292929;
    flex-shrink: 0;
    white-space: nowrap;
}
.thong-tin-ky-thuat .row-info .right:hover {
    background: #8bc34a;
    color: #fff;
}
.thong-tin-ky-thuat .row-info .right.ma-giam-gia {
    background: #ff5252 !important;
    color: #fff !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    letter-spacing: 1.5px !important;
    border: 1.5px dashed #fff !important;
    border-radius: 5px !important;
    padding: 2px 8px !important;
    height: auto !important;
    line-height: 25px !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 2px 8px rgba(255,82,82,.3) !important;
}
.code-coupon:hover {
    background: #e53935 !important;
    transform: scale(1.03);
    box-shadow: 0 3px 12px rgba(255, 82, 82, 0.4);
}
#product-sidebar .icon-box.featured-box,
.row-single-featured .icon-box.featured-box {
    background: #e8f5fd !important;
    padding: 12px 20px 15px !important;
    margin: 10px 0 !important;
    border-radius: 8px !important;
    border: none !important;
    border-left: 4px solid #3d5a98 !important;
    border-right: 4px solid #3d5a98 !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08) !important;
    position: relative;
    transition: 0.3s;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}
#product-sidebar .icon-box.featured-box:hover,
.row-single-featured .icon-box.featured-box:hover {
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.12) !important;
    transform: translateY(-2px);
}
#product-sidebar .icon-box.featured-box .icon-box-img,
.row-single-featured .icon-box.featured-box .icon-box-img {
    margin-bottom: 0 !important;
    flex-shrink: 0 !important;
}
#product-sidebar .icon-box.featured-box img,
.row-single-featured .icon-box.featured-box img {
    max-width: 45px !important;
    min-width: 45px !important;
    margin-bottom: 0 !important;
}
#product-sidebar .icon-box.featured-box .icon-box-text,
.row-single-featured .icon-box.featured-box .icon-box-text {
    flex: 1 !important;
    padding: 0 !important;
}
#product-sidebar .icon-box.featured-box h3,
.row-single-featured .icon-box.featured-box h3 {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #2f3542 !important;
    margin: 0 0 4px !important;
    line-height: 1.3 !important;
    text-transform: none;
}
#product-sidebar .icon-box.featured-box p,
.row-single-featured .icon-box.featured-box p {
    font-size: 13px !important;
    line-height: 1.5 !important;
    color: #555 !important;
    margin: 0 !important;
    padding: 0 !important;
}
#product-sidebar .widget_products .product_list_widget,
#product-sidebar .product_list_widget {
    border: 1px solid #ececec;
    border-radius: 5px;
    padding: 12px;
    box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.05);
    background: #fff;
    list-style: none;
    margin: 0;
}
#product-sidebar .product_list_widget li {
    line-height: 1.4;
    font-weight: 500;
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 1px dashed #eee;
    position: relative; 
    padding-left: 72px; 
    min-height: 75px; 
}
#product-sidebar .product_list_widget li:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}
#product-sidebar .product_list_widget li img {
    position: absolute;
    top: 5px; 
    left: 0;
    border-radius: 50% !important;
    background-image: linear-gradient(115deg, #4fcf70, #fad648, #a767e5, #12bcfe, #44ce7b) !important;
    padding: 2px !important;
    width: 60px !important;
    height: 60px !important;
    object-fit: cover !important;
    margin: 0 !important;
}
#product-sidebar .product_list_widget li a {
    font-size: 14px;
    color: #333;
    display: block;
    text-transform: none;
    line-height: 1.4;
    margin-bottom: 4px;
}
#product-sidebar .product_list_widget li a:hover {
    color: #0683ff;
}
#product-sidebar .product_list_widget li .product-title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
#product-sidebar .product_list_widget li del,
#product-sidebar .product_list_widget li ins,
#product-sidebar .product_list_widget li > .amount {
    display: inline-block;
    vertical-align: middle;
    white-space: nowrap !important;
    margin-left: 0;
}
#product-sidebar .product_list_widget li del span.amount {
    color: #999 !important;
    font-size: 13px !important;
    text-decoration: line-through;
    font-weight: normal;
}
#product-sidebar .product_list_widget li ins {
    text-decoration: none;
    margin-left: 6px;
}
#product-sidebar .product_list_widget li ins span.amount,
#product-sidebar .product_list_widget li > span.amount {
    color: #ff5252 !important; 
    font-size: 15px !important;
    font-weight: 700;
}
.woocommerce-tabs ul.tabs li.reviews_tab {
    display: none !important;
}
.product-footer .woocommerce-tabs {
    border-top: none !important;
}
.box-after-gallery {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    margin-top: 15px;
    clear: both;
}
.box-after-gallery .button {
    flex: 1;
    margin: 0 !important;
    text-align: center;
    border-radius: 4px;
    padding: 8px 10px;
    font-size: 15px;
    text-transform: none;
    line-height: normal;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    width: 100% !important;
    max-width: 100% !important;
}
.box-after-gallery .button.trao-doi {
    background-color: #f49801 !important;
    color: #fff !important;
    border: none;
}
.box-after-gallery .button.trao-doi:hover {
    background-color: #f48501 !important;
}
.box-after-gallery .button.hoc-thu {
    background-color: #71ab2e !important;
    color: #fff !important;
    border: none;
}
.box-after-gallery .button.hoc-thu:hover {
    background-color: #5d9220 !important;
}
.woocommerce-product-gallery {
    transition: opacity .25s ease-in-out;
    border: 6px solid transparent;
    border-radius: var(--radius-sm);
    margin: auto;
    box-sizing: border-box;
    padding: 0;
    display: block !important;
    background-image: linear-gradient(white, #fff), linear-gradient(115deg, #4fcf70, #fad648, #a767e5, #12bcfe, #44ce7b);
    background-repeat: no-repeat;
    background-size: 100% 100%, 100% 1000%;
    background-position: 0 0, 0 100%;
    background-origin: padding-box, border-box;
    animation: 2.6s infinite alternate highlight;
    aspect-ratio: 5 / 3 !important;
    width: 100% !important;
    contain: layout style paint;
}
@keyframes highlight {
    0% { background-position: 0 0, 0 100%; }
    100% { background-position: 0 0, 0 0; }
}
@media (max-width: 549px) {
    .box-after-gallery {
        margin-top: 10px;
    }
    .box-after-gallery .button {
        font-size: 14px;
        padding: 6px 8px;
    }
}
@media screen and (min-width: 850px) {
    .col-divided {
        border-right: none !important;
    }
}
.nav-tabs + .tab-panels, 
.product-footer .tab-panels {
    border: 1px solid #ececec;
    border-radius: 5px;
    padding: 12px;
    box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.05);
    background: #fff;
    list-style: none;
    margin: 0;
}
.voucher-button {
    animation: 1s steps(5,start) infinite blink-animation;
}
.voucher-button .icon-gift {
    color: #fc6067;
}
@keyframes blink-animation {
    to { visibility: hidden; }
}
.header-main { 
    height: 91px; 
    box-shadow: 2px 2px 10px #00000024; 
}
#masthead .container { 
    max-width: 1170px !important; 
}
#logo { 
    width: 306px; 
}
#logo img { 
    max-height: 91px; 
}
#logo a {
    position: relative;
    display: block;
    overflow: hidden;
}
#logo a::before {
    content: "";
    position: absolute;
    top: 0;
    left: -150%;
    width: 50%;
    height: 100%;
    background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.6) 50%, rgba(255,255,255,0) 100%);
    transform: skewX(-25deg);
    animation: shine-logo 4s infinite linear;
    z-index: 2;
}
@keyframes shine-logo {
    0%   { left: -150%; }
    15%  { left: 150%; }
    100% { left: 150%; } 
}
#masthead .search-form,
.header-bottom-nav .search-form { 
    width: 100%; 
    max-width: 600px;
}
#masthead .header-search-form-wrapper input[type="search"],
.mobile-nav .header-search-form-wrapper input[type="search"] {
    border-top-left-radius: 5px !important;
    border-bottom-left-radius: 5px !important;
    height: 43px !important;
    box-shadow: none !important;
    border: 2px solid var(--fs-color-primary, #0683ff) !important;
    background-color: #fff !important; 
}
#masthead .header-search-form-wrapper .searchform .button.icon,
.mobile-nav .header-search-form-wrapper .searchform .button.icon {
    height: 43px !important;
    width: 70px !important;
    background: var(--fs-color-primary, #0683ff) !important;
    border-top-right-radius: 5px !important;
    border-bottom-right-radius: 5px !important;
    color: #fff !important;
    border: none !important;
    min-height: 43px !important;
}
@media (min-width: 850px) {
    #masthead .account-item .header-button > a.button,
    #masthead .cart-item .header-button > a.button {
        height: 43px !important; 
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
}
#masthead .header-button .is-outline {
    color: #020202;
    text-transform: none;
    font-weight: 400;
    font-size: 14px;
    padding-top: 2px;
}
#masthead .header-button .is-outline:hover {
    color: #fff;
    border-color: #0683ff;
}
#masthead .nav-dropdown-default {
    border: none;
    padding: 0;
}
#masthead .nav-dropdown-default li a {
    font-size: 15px;
    color: #000;
}
#masthead .nav-dropdown-default li a:hover {
    color: #e11088;
}
#masthead .nav-dropdown.nav-dropdown-default { 
    display: none; 
}
.widget_shopping_cart_content { 
    padding: 15px; 
}
.widget_shopping_cart_content a.button {
    text-transform: none;
    border-radius: 5px;
    color: #fff;
}
@media (max-width: 549px) {
    .header-main { height: 70px !important; }
    #logo img { max-height: 70px !important; }
}
.xc-top-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 6px 30px 6px 10px;
    background: linear-gradient(90deg, #b8141f, #d92f31);
    color: #fff;
    font-size: 13px;
    line-height: 1.4;
    font-weight: 500;
    text-align: center;
    width: 100%;
    position: relative;
    z-index: 998;
}
.xc-top-bar-hook {
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: .3px;
}
.xc-top-bar-countdown {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 8px;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.18);
    font-weight: 600;
    white-space: nowrap;
}
.xc-top-bar-timer {
    font-family: "Roboto Mono", system-ui, -apple-system, sans-serif;
    font-size: 13px;
}
.xc-top-bar-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px 12px;
    border-radius: 999px;
    background: #ffd54b;
    color: #b8141f !important;
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    text-decoration: none !important;
    white-space: nowrap;
}
.xc-top-bar-cta:hover {
    background: #ffe071;
    color: #9b1019 !important;
}
.xc-top-bar-close {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: #fff;
    cursor: pointer;
    font-size: 18px;
    line-height: 1;
    opacity: 0.8;
}
.xc-top-bar-close:hover {
    opacity: 1;
}
@media (max-width: 768px) {
    .xc-top-bar {
        flex-wrap: wrap;
        gap: 8px;
        padding: 8px 30px 8px 10px;
    }
    .xc-top-bar-hook {
        font-size: 12px;
        flex: 1 1 100%;
    }
    .xc-top-bar-countdown {
        font-size: 11px;
        padding: 3px 6px;
        flex: 0 0 auto;
    }
    .xc-top-bar-timer {
        font-size: 11px;
    }
    .xc-top-bar-cta {
        font-size: 12px;
        padding: 4px 12px;
        flex: 1 1 auto;
    }
}
.widget-title + .is-divider,
.widget .is-divider,
.is-divider.small {
    display: none !important;
}
.widget_product_categories ul,
.xc-filter-widget ul {
    list-style: none !important;
    padding-left: 0;
    margin: 0;
}
.widget_product_categories ul li,
.xc-filter-widget ul li {
    line-height: 2;
    margin-bottom: 8px;
    display: flex !important;
    align-items: center;
}
.widget_product_categories ul li a,
.xc-filter-widget ul li a {
    color: #434343;
    text-decoration: none;
    display: flex;
    align-items: center;
    font-size: 15px;
    flex: 1; 
}
.widget_product_categories ul li:hover a,
.xc-filter-widget ul li:hover a {
    color: var(--fs-color-primary, #e11088);
}
.widget_product_categories ul li a::before,
.xc-filter-widget ul li a::before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 1px solid #ccc;
    border-radius: 3px;
    margin-right: 10px;
    background-color: #fff;
    transition: all 0.2s ease;
    flex-shrink: 0; 
}
.widget_product_categories ul li.current-cat > a::before,
.widget_product_categories ul li.active > a::before,
.xc-filter-widget ul li.current-cat > a::before,
.xc-filter-widget ul li.active > a::before {
    background-color: var(--fs-color-primary, #e11088);
    border-color: var(--fs-color-primary, #e11088);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
    background-size: 12px;
    background-position: center;
    background-repeat: no-repeat;
}
.widget_product_categories ul li.current-cat > a,
.widget_product_categories ul li.active > a,
.xc-filter-widget ul li.current-cat > a,
.xc-filter-widget ul li.active > a {
    color: var(--fs-color-primary, #e11088);
    font-weight: 600;
}
.widget_product_categories ul li .count,
.xc-filter-widget ul li .count {
    color: #B4B4B4;
    font-size: 13px;
    margin-left: auto; 
    padding-left: 5px;
}
.product-small.box {
    background-color: var(--color-bg, #fff);
    box-shadow: var(--shadow-md, 0 4px 6px -1px rgba(0,0,0,0.05));
    border-radius: var(--radius-sm, 8px);
    background-image: linear-gradient(115deg, #4fcf70, #fad648, #a767e5, #12bcfe, #44ce7b);
    padding: 2px !important;
    overflow: hidden;
    border: none;
    transition: all 0.3s ease-in-out;
    height: 100%;
    position: relative; 
}
.product-small.box:hover {
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
    transform: translateY(-4px);
}
.product-small.box .box-image::after {
    content: "";
    position: absolute;
    top: 0;
    left: -150%;
    width: 40%;
    height: 100%;
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0) 100%);
    transform: skewX(-25deg);
    z-index: 2; 
    pointer-events: none;
    transition: none; 
}
.product-small.box:hover .box-image::after {
    left: 150%;
    transition: left 0.7s ease-in-out; 
}
.product-small.box .box-text {
    height: auto !important;
    display: flex;
    flex-direction: column;
    padding: 10px;
    background: #fff; 
}
.product-small.box .box-image {
    border-radius: 0;
    overflow: hidden;
    position: relative;
    margin-bottom: 0;
    background: #fff;
    aspect-ratio: 4 / 3; 
    display: block;
}
.product-small.box .box-image .image-zoom,
.product-small.box .box-image a {
    display: block;
    width: 100%;
    height: 100%;
}
.product-small.box .box-image img {
    transition: transform 0.5s ease;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important; 
    object-position: top !important; 
}
.product-small.box:hover .box-image img {
    transform: scale(1.05);
}
.product-small.box .title-wrapper {
    margin-bottom: 8px;
}
.product-small.box .woocommerce-loop-product__title {
    font-size: 14px;
    font-weight: normal !important;
    line-height: 20px !important;
    color: #333;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    height: 40px !important; 
    min-height: 40px !important;
    transition: color 0.2s ease;
}
.product-small.box:hover .woocommerce-loop-product__title {
    color: #e11088;
}
.product-small.box .price-wrapper {
    height: auto !important;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: auto;
}
.product-small.box .price,
.product-small.box .price ins,
.product-small.box .price > .amount,
.product-small.box .price ins .amount {
    font-size: 17px !important;
    color: #d92f31 !important; 
    font-weight: 700;
    text-decoration: none;
}
.product-small.box .price del,
.product-small.box .price del .amount {
    font-size: 13px !important;
    color: #9ca3af !important; 
    font-weight: 400 !important;
}
.product-small.box .badge-container {
    top: 8px;
    left: 8px;
}
.product-small.box .badge-inner.on-sale {
    background: linear-gradient(90deg, #b8141f, #d92f31) !important;
    border-radius: 4px;
    padding: 2px 8px;
    font-size: 12px;
    font-weight: 700;
    box-shadow: 0 2px 4px rgba(217, 47, 49, 0.3);
}
.product-small.box .image-tools .add-to-cart-grid {
    background: var(--fs-color-primary, #0683ff);
    border-radius: 50%;
    color: #fff;
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 10px rgba(0,0,0,0.15);
    transition: all 0.3s ease;
}
.product-small.box .image-tools .add-to-cart-grid:hover {
    background: #0056b3;
    transform: scale(1.1);
}
.xc-menu-home {
    --stack-gap: 5px !important; 
}
.xc-menu-home .ux-menu-link__text {
    font-weight: 600 !important; 
}
.divine-section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-align: left;
    margin-bottom: 20px;
    padding: 0 10px;
    gap: 15px; 
    flex-wrap: nowrap; 
}
.divine-section-header .section-title {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 5px;
    text-transform: none;
    line-height: 1.3;
    justify-content: flex-start !important; 
}
.divine-section-header .section-subtitle {
    font-size: 16px;
    color: #666;
    margin-bottom: 0;
    line-height: 1.4;
}
.divine-section-header .highlight-purple,
.divine-section-header .highlight-blue,
.divine-section-header .highlight-emerald,
.divine-section-header span[class^="highlight"] {
    color: #9c27b0;
    padding: 0 8px;
    display: inline-block;
}
.divine-section-header .highlight-blue {
    color: #0683ff !important;
}
.divine-section-header .highlight-emerald {
    color: #10b981 !important;
}
.divine-section-header .view-more-btn {
    width: 40px;
    height: 40px;
    min-width: 40px;
    border-radius: 50%;
    border: 2px solid var(--fs-color-primary, #2196f3);
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--fs-color-primary, #2196f3);
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    flex-shrink: 0;
    margin-top: 0;
}
.divine-section-header .view-more-btn::after {
    content: "\f105"; 
    font-family: "fl-icons";
    font-size: 18px;
    font-weight: bold;
    line-height: 1;
}
.divine-section-header .view-more-btn:hover {
    background: var(--fs-color-primary, #2196f3);
    color: #fff;
    transform: translateX(4px);
}
.divine-section-header > p {
    margin: 0 !important;
    padding: 0 !important;
    display: flex;
    align-items: center;
    flex-shrink: 0;
}
.divine-section-header > p ~ p,
.divine-section-header > p ~ a.view-more-btn,
.divine-section-header > a.view-more-btn ~ a.view-more-btn {
    display: none !important;
}
@media (max-width: 549px) {
    .divine-section-header { gap: 8px; }
    .divine-section-header .section-title { font-size: 15px; }
    .divine-section-header span[class^="highlight"] { padding: 0 5px; }
    .divine-section-header .section-subtitle { font-size: 12px; }
    .divine-section-header .view-more-btn { 
        width: 30px; height: 30px; min-width: 30px; 
    }
    .divine-section-header .view-more-btn::after { font-size: 13px; }
}
.xc-footer-2 {
    padding: 10px 0 15px 0 !important;
    font-size: 14px;
    border-top: 1px solid #f0f0f0;
    background-color: #ffffff;
    color: rgba(0,0,0,.5);
}
.xc-footer-2 .section-content {
    padding: 0 !important;
}
.xc-footer-2 p {
    margin-bottom: 0 !important;
    line-height: 1.5;
}
.xc-footer-2 .col {
    padding-bottom: 0 !important; 
}
.xc-footer-2 strong {
    color: #2e2e2e;
    font-weight: 700;
}
@media (max-width: 849px) {
    .xc-footer-2 .col-inner {
        text-align: center !important;
    }
    .xc-footer-2 .col {
        padding-bottom: 15px !important; 
    }
}
.header-bottom {
    background-image: linear-gradient(to right, #1e88e5, #3493fa) !important;
    border-top: 1px solid #f6f6f6 !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;
}
@media (max-width: 849px) {
    .header-bottom {
        background-image: none !important;
        background-color: transparent !important;
        border-top: none !important;
        box-shadow: none !important;
    }
    #masthead .header-top,
    .kkh-deal-topbar {
        display: block !important;
    }
    #masthead .header-top .flex-row {
        display: flex !important;
    }
}
.xc-home-banner .img-inner {
    border-radius: 12px !important;
    overflow: hidden;
    transition: transform 0.4s ease;
    position: relative;
}
.xc-home-banner .img-inner::before {
    content: "";
    position: absolute;
    top: 0;
    left: -150%; 
    width: 60%;
    height: 100%;
    background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.4) 50%, rgba(255,255,255,0) 100%);
    transform: skewX(-25deg);
    z-index: 2;
    pointer-events: none; 
}
.xc-home-banner:hover .img-inner {
    transform: scale(1.02) !important;
}
.xc-home-banner:hover .img-inner::before {
    animation: shine-banner-sweep 0.8s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
@keyframes shine-banner-sweep {
    0%   { left: -100%; }
    100% { left: 150%; }
}
@media (max-width: 549px) {
    form.cart {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        gap: 6px !important;
    }
    form.cart button.button {
        font-size: 12px !important; 
        padding-left: 8px !important;
        padding-right: 8px !important;
        flex: 1 !important; 
        white-space: nowrap !important; 
        min-width: 0 !important; 
    }
    form.cart button.button i {
        margin-right: 3px !important; 
    }
    form.cart .ux-quantity {
        margin-right: 0 !important; 
        flex-shrink: 0 !important; 
        width: 100px !important; 
    }
}
.kkh-deal-topbar-wrapper {
    display: block; 
}
.kkh-deal-topbar {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 6px 30px 6px 10px; 
    background: linear-gradient(90deg, #b8141f, #d92f31);
    color: #fff;
    font-size: 13px;
    line-height: 1.4;
    font-weight: 500;
    text-align: center;
    width: 100%;
    position: relative;
    z-index: 998;
}
.kkh-deal-topbar-hook {
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: .3px;
}
.kkh-deal-topbar-countdown {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 8px;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.18);
    font-weight: 600;
    white-space: nowrap;
}
.kkh-deal-topbar-timer {
    font-family: "Roboto Mono", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 13px;
}
.kkh-deal-topbar-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px 12px;
    border-radius: 999px;
    background: #ffd54b;
    color: #b8141f !important;
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    text-decoration: none !important;
    white-space: nowrap;
}
.kkh-deal-topbar-cta:hover {
    background: #ffe071;
    color: #9b1019 !important;
}
.kkh-deal-topbar-close {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: rgba(255, 255, 255, 0.8);
    background: transparent;
    border: none;
    font-size: 18px;
    cursor: pointer;
    line-height: 1;
    padding: 0;
    transition: color 0.2s;
}
.kkh-deal-topbar-close:hover {
    color: #fff;
}
@media (max-width: 768px) {
    .kkh-deal-topbar {
        flex-wrap: wrap;
        gap: 8px;
        padding: 8px 30px 8px 10px;
    }
    .kkh-deal-topbar-hook {
        font-size: 12px;
        flex: 1 1 100%;
        margin-right: -20px; 
    }
    .kkh-deal-topbar-countdown {
        font-size: 11px;
        padding: 3px 6px;
        flex: 0 0 auto;
    }
    .kkh-deal-topbar-timer { font-size: 11px; }
    .kkh-deal-topbar-cta {
        font-size: 12px;
        padding: 4px 12px;
        flex: 1 1 auto;
    }
    .kkh-deal-topbar-close {
        top: 10px; 
        transform: none;
    }
}
.post-item .box-blog-post {
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 4px 15px rgba(0,0,0,0.06);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    overflow: hidden; 
    height: 100%;
}
.post-item .box-blog-post:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.12);
}
.post-item .box-image {
    position: relative;
    border-radius: 12px 12px 0 0;
    overflow: hidden;
}
.post-item .box-image:hover img {
    transform: scale(1.05); 
}
.post-item .box-image img {
    transition: transform 0.5s ease;
}
.post-item .box-image::before {
    position: absolute;
    top: 0;
    left: -75%;
    z-index: 2;
    display: block;
    content: '';
    width: 50%;
    height: 100%;
    background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.3) 100%);
    transform: skewX(-25deg);
    pointer-events: none;
}
.post-item:hover .box-image::before {
    animation: blog-shine-sweep 0.75s ease-out forwards;
}
@keyframes blog-shine-sweep {
    100% { left: 150%; }
}
.post-item .box-text {
    padding: 20px 15px 25px !important;
    background: #fff;
    text-align: left !important;
}
.post-item .post-title {
    font-size: 16px !important;
    line-height: 1.4 !important;
    font-weight: 700;
    margin-bottom: 12px !important;
    height: 44.8px !important; 
    text-align: left !important;
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: color 0.3s ease !important;
}
.post-item .post-title a {
    color: #1a202c !important;
    text-decoration: none !important;
}
.post-item:hover .post-title a {
    color: #e53e3e !important; 
}
.post-item .is-divider {
    display: none !important;
}
.post-item .from_the_blog_excerpt {
    font-size: 14px;
    color: #718096;
    line-height: 1.5;
    margin-bottom: 0;
    height: 42px !important; 
    text-align: left !important;
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
.post-item .badge.post-date {
    top: 15px !important;
    left: 15px !important;
    margin: 0;
}
.post-item .badge-inner {
    border-radius: 8px !important; 
    background: linear-gradient(135deg, #e53e3e 0%, #c53030 100%) !important;
    box-shadow: 0 4px 8px rgba(229, 62, 62, 0.4) !important;
    font-weight: 700;
    padding: 6px 8px !important;
    width: auto !important;
    height: auto !important;
    line-height: 1.2;
    border: none !important;
}
.post-item .badge-inner .post-date-day {
    font-size: 18px !important;
    display: block;
}
.post-item .badge-inner .post-date-month {
    font-size: 11px !important;
    text-transform: uppercase;
    opacity: 0.95;
}
@media (max-width: 849px) {
    .blog-archive .post-item {
        flex-basis: 50% !important;
        max-width: 50% !important;
        padding: 8px !important;
    }
    .post-item .box-text {
        padding: 12px 10px 15px !important;
    }
    .post-item .post-title {
        font-size: 14px !important;
        margin-bottom: 8px !important;
        -webkit-line-clamp: 2;
    }
    .post-item .from_the_blog_excerpt {
        font-size: 13px !important;
        -webkit-line-clamp: 2;
    }
    .post-item .badge.post-date {
        top: 10px !important;
        left: 10px !important;
        transform: scale(0.85); 
        transform-origin: top left;
    }
}
#secondary .widget.woocommerce .widget-title,
.widget.woocommerce .widget-title {
    display: block !important;
    font-size: 16px !important;
    font-weight: bold !important;
    margin-bottom: 15px !important;
    padding-bottom: 10px !important;
    border-bottom: 2px solid #e5e5e5 !important;
    text-transform: uppercase !important;
}
#secondary .widget.woocommerce .widget-title span,
.widget.woocommerce .widget-title span {
    border: none !important;
    padding: 0 !important;
}
#secondary .widget.woocommerce .is-divider,
.widget.woocommerce .is-divider {
    display: none !important;
}
.pricing-card {
    background: #ffffff;
    border-radius: 20px;
    padding: 35px 25px 30px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    border: 1px solid #f1f5f9;
    position: relative;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
    height: 100%;
    z-index: 1;
    overflow: visible;
}
.pricing-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12);
    border-color: #cbd5e1;
    z-index: 2;
}
.pricing-card .popular-badge {
    position: absolute;
    top: -15px;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
    color: #ffffff;
    padding: 6px 16px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.5px;
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.3);
    white-space: nowrap;
    z-index: 3;
}
.pricing-card.gold {
    background: linear-gradient(to bottom, #fffdf2 0%, #ffffff 100%);
    border: 2px solid #fcd34d;
    box-shadow: 0 12px 35px rgba(252, 211, 77, 0.15);
    transform: scale(1.03); 
}
.pricing-card.gold:hover {
    transform: scale(1.05) translateY(-8px);
    box-shadow: 0 25px 50px rgba(252, 211, 77, 0.25);
    border-color: #fbbf24;
}
.pricing-card.basic {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    box-shadow: none;
}
.pricing-card.basic:hover {
    background: #ffffff;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}
.pricing-card .card-header {
    text-align: center;
    padding-bottom: 25px;
    margin-bottom: 25px;
    border-bottom: 1px dashed #e2e8f0;
}
.pricing-card .card-title {
    font-size: 22px;
    font-weight: 800;
    color: #1e293b;
    margin-bottom: 15px;
}
.pricing-card .price-wrapper {
    margin-bottom: 15px;
}
.pricing-card .price {
    font-size: 42px;
    font-weight: 900;
    color: #0f172a;
    line-height: 1;
    display: inline-block;
}
.pricing-card .price sup {
    font-size: 24px;
    font-weight: 700;
    color: #64748b;
    top: -0.8em;
    margin-left: 4px;
}
.pricing-card .discount-badge {
    display: inline-block;
    background: #fee2e2;
    color: #ef4444;
    padding: 6px 14px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    margin: 0;
}
.pricing-card p {
    margin-bottom: 0px !important;
}
.pricing-card .features-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 35px 0 !important;
    flex-grow: 1;
}
.pricing-card .feature-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 16px;
    font-size: 15px;
    line-height: 1.5;
    color: #334155;
}
.pricing-card .feature-icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    background: #dcfce7;
    color: #16a34a; 
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 12px;
    font-weight: 900;
    font-size: 13px;
    margin-top: -1px;
}
.pricing-card .feature-icon:empty,
.pricing-card .feature-icon img.emoji {
    background: transparent !important; 
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
}
.pricing-card .feature-text strong {
    color: #0f172a;
    font-weight: 700;
}
.pricing-card .cta-button {
    display: block;
    width: 100%;
    text-align: center;
    padding: 16px 20px;
    background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
    color: #ffffff;
    font-size: 16px;
    font-weight: 700;
    border-radius: 12px;
    transition: all 0.3s ease;
    text-decoration: none !important;
    margin-top: auto;
}
.pricing-card .cta-button:hover {
    background: linear-gradient(135deg, #475569 0%, #1e293b 100%);
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.2);
    color: #ffffff;
}
.pricing-card.gold .cta-button {
    background: linear-gradient(135deg, #d4af37 0%, #b8901e 100%);
    color: #ffffff;
    box-shadow: 0 8px 20px rgba(212, 175, 55, 0.3);
}
.pricing-card.gold .cta-button:hover {
    background: linear-gradient(135deg, #e3c051 0%, #d4af37 100%);
    box-shadow: 0 12px 25px rgba(212, 175, 55, 0.4);
}
@media (max-width: 849px) {
    .pricing-card {
        padding: 30px 20px 25px;
    }
    .pricing-card.gold {
        transform: scale(1);
    }
    .pricing-card.gold:hover {
        transform: translateY(-5px);
    }
}
.widget_products ul.product_list_widget {
    margin-top: 15px !important;
}
.widget_products ul.product_list_widget li {
    position: relative;
    padding-left: 80px !important;
    padding-bottom: 20px !important;
    margin-bottom: 20px !important;
    border-bottom: 1px dashed #e2e8f0 !important;
    min-height: 75px; 
    list-style: none !important;
}
.widget_products ul.product_list_widget li:last-child {
    border-bottom: none !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
.widget_products ul.product_list_widget li img {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important; 
    width: 65px !important;
    height: 65px !important;
    border-radius: 50% !important; 
    object-fit: cover !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.06) !important;
    float: none !important;
    margin: 0 !important;
}
.widget_products ul.product_list_widget li .product-title {
    font-size: 14px !important;
    line-height: 1.4 !important;
    font-weight: 600 !important;
    color: #1e293b !important;
    display: -webkit-box;
    -webkit-line-clamp: 2 !important; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-bottom: 6px !important;
    white-space: normal !important;
}
.widget_products ul.product_list_widget li a {
    text-decoration: none !important;
    display: block !important;
}
.widget_products ul.product_list_widget li a:hover .product-title {
    color: #e53e3e !important;
}
.widget_products ul.product_list_widget li del {
    display: inline-block !important;
    margin-right: 8px !important;
    opacity: 1 !important;
}
.widget_products ul.product_list_widget li del .woocommerce-Price-amount {
    color: #94a3b8 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    text-decoration: line-through !important;
}
.widget_products ul.product_list_widget li ins {
    display: inline-block !important;
    text-decoration: none !important;
    background: transparent !important;
}
.widget_products ul.product_list_widget li ins .woocommerce-Price-amount {
    color: #e53e3e !important; 
    font-size: 15px !important;
    font-weight: 800 !important;
}