/*
Theme Name: Hupuna
Author: hupuna.evill@gmail.com
Version: 1.1
Theme URI: https://hupuna.com
Description: Hupuna Theme for Wordpress.Speed up your website experience
Requires at least: 6.4
Tested up to: 6.4
Requires PHP: 7.4
*/
.space-wrap {
    margin-top: 48px;
}

.text-hover:hover {
    color: var(--primary-color);
}

/* --------------Header------------------ */
.header {
    background-image: linear-gradient(323deg, #125498 30%, rgb(12 154 209) 80%, #125498 100%);
    z-index: 100;
}

.home header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background: transparent !important;
}

.header .logo-header img {
    max-width: 140px;
}

.header .search-box {
    max-width: 300px;
    border-radius: 50px;
    height: 40px;
}

.header .search-box input[type="search"]::-webkit-search-cancel-button {
    display: none;
}

header .menu .menu-wrap {
    display: flex;
    gap: 30px;
}

header .menu ul li,
header .menu menu li {
    padding: 10px 0;
    margin: 0;
}

header .menu ul ul,
header .menu menu ul {
    padding: 0;
    box-shadow: rgba(0, 0, 0, 0.1) 11px 13px 12px;
}

header .menu ul li a,
header .menu menu li a {
    cursor: pointer;
    color: #FFF;
    font-size: 16px;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 3px;
    text-transform: uppercase;
}

.header .menu-btn {
    transform: skew(-10deg);
}

header .menu ul ul li,
header .menu menu ul li {
    min-width: 250px;
    padding: 15px 25px 15px 15px;
    position: relative;
}

header .menu ul ul li:not(:last-child),
header .menu menu ul li:not(:last-child) {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

header .menu menu li a img {
    width: 18px;
    height: 18px;
    margin: 0px 3px;
    border-radius: 100%;
}

header .menu menu {
    display: flex;
    gap: 30px;
}

header .menu ul ul a,
header .menu menu ul a {
    color: #3d3d3d;
    font-size: 14px;
}

header .menu menu ul a img {
    width: 25px;
    height: 25px;
    margin: 0px 5px;
}

header .menu menu ul li:hover {
    background: var(--third-color);
    transition: .3s;
}

.header .hidden-on-home {
    display: none;
}

.header.affix {
    width: 100%;
    top: 0;
    box-shadow: 1px 1px 10px rgba(0, 0, 0, .15);
    animation: stuckMoveDown .6s;
    background-image: linear-gradient(323deg, #17335f 30%, rgb(12 154 209) 80%, #031f71 100%) !important;
    z-index: 100000;
}

.header.affix .header-top {
    display: none;
}

.header.affix .hidden-on-home {
    display: block;
}

@keyframes stuckMoveDown {
    0% {
        transform: translateY(-100%);
    }

    100% {
        transform: translateY(0);
    }
}

.header .my-user .dropdown-my-user {
    background: #fff;
    z-index: 5;
    opacity: 0;
    visibility: hidden;
}

.header .my-user:hover .dropdown-my-user {
    opacity: 1;
    visibility: inherit;
}

.header .my-user li:hover {
    background: var(--third-color);
}

.header .cart .num-cart,
.menu-m .cart .num-cart {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    top: -8px;
    right: -8px;
}

.header .language img {
    transform: translateY(4px);
}

.skiptranslate {
    display: none !important;
}

.header .country-list img {
    width: 25px;
}

.header .country-list {
    box-shadow: 0px 4px 30px 0px #64646440;
}

.header .country-list .country:not(:last-child) {
    margin-bottom: 10px;
}

/* ---------Mega menu---------  */
.mega-menu .item {
    padding: 10px 0;
    font-size: 16px;
    position: relative;
}

.mega-menu .sub-menu .menu-item {
    position: unset;
}

header .mega-menu ul ul {
    transition: 0s !important;
}

header .mega-menu li:hover ul {
    animation: unset !important;
}

.mega-menu .sub-menu .menu-item:hover {
    background-color: var(--third-color);
}

.mega-menu .layout {
    position: absolute;
    width: calc(1296px - 250px);
    min-height: 400px;
    top: 0px;
    left: 100%;
    background-color: #FFF;
    padding: 5px 15px 15px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    z-index: 3;
}

.mega-menu .layout .title-category-child {
    border-bottom: 1px solid rgba(0, 0, 0, .3);
    font-weight: 500;
    padding: 10px 0px 5px;
    text-transform: uppercase;
    font-size: 13px;
}

.mega-menu .item-category-menu-name a {
    display: -webkit-box;
    font-size: 13px;
    color: #000;
    text-transform: capitalize;
}

.mega-menu .item-category-menu-name a:hover {
    color: var(--primary-color);
}

.mega-menu .item-category-menu .wrap-img {
    padding-bottom: 100%;
    border-radius: 10px;
    border: 1px solid rgba(0, 0, 0, .2);
}

.mega-menu .item-category-menu .item-category-menu-name {
    height: 40px;
}

.mega-menu .layout-2 .col-6:first-child .row {
    border-right: 1px dashed rgba(0, 0, 0, .1);
}

.mega-menu .layout-2 .col-6 .row {
    margin: 0 -24px;
    padding: 0 12px;
}

.mega-menu .layout-2 .col-3 {
    border-left: 1px solid rgba(0, 0, 0, .1);
}

.mega-menu .layout-2 .right:not(:last-child) {
    margin-bottom: 15px;
}

/* ----------End mega menu----------  */

/* -------------------End header---------------------  */

/* start custom-select */
.custom-select {
    user-select: none;
}

.custom-select .select-selected {
    padding: 8px;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, .1);
    border-radius: 6px;
}

.custom-select .select-items {
    background: #fff;
    border: 1px solid rgba(0, 0, 0, .1);
    display: none;
    z-index: 99;
}

.custom-select .select-items .option {
    padding: 8px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.custom-select .select-items .option:hover {
    background: var(--primary-color);
    color: #fff;
}

.custom-select.open .select-items {
    display: block;
}

.custom-select .img-icon-down {
    width: 20px;
    height: 20px;
}

/* end custom-select */


/* ----------Banner component--------  */
.banner-component .img-100 {
    padding-bottom: 42%;
}

.banner-component .title-banner-component {
    z-index: 100;
    top: 30%;
}

.banner-component .slick-next,
.banner-component .slick-prev {
    background: rgb(238 231 231 / 60%);
    border-radius: 50%;
    width: 40px;
    height: 40px;
}

.banner-component .slick-next {
    right: 11px;
}

.banner-component .slick-prev {
    left: 11px;
}

/* ---------End banner component--------  */

/* ------------Ceo component-----------  */
.ceo-component .img-ceo-component img {
    width: 120px;
    height: 120px;
    object-fit: cover;
}

.ceo-component .statement-info::before,
.ceo-component .statement-info::after {
    content: "\201C";
    font-family: 'Georgia';
    font-size: 35px;
    display: inline-block;
    height: 20px;
}

.ceo-component .statement-info::after {
    content: "\201D";
    bottom: 35px;
    position: absolute;
}

.ceo-component .statement-info::before {
    position: relative;
    top: 10px;
}

/* -----------End ceo component-----------  */

/* ------------Category component and all category component----------  */
.category-wrap-component {
    grid-template-columns: repeat(5, 1fr);
    gap: 20px;
}

.item-categories {
    border-radius: 8px;
    box-shadow: 0 0 20px 0.5px rgba(224, 224, 224, 1);
    background: #FFF;
}

.category-component {
    background-image: var(--wpr-bg-f4139ce5-69ac-4913-b9da-dacb1337f60b);
    background-repeat: no-repeat;
    background-size: contain;
}

.all-category-component .title-all-category-component {
    border-bottom: 1px solid rgba(0, 0, 0, .1);
}

.category-component .item-categories::before,
.all-category-component .item-categories::before {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 40px;
    height: 40px;
    background-color: var(--primary-color);
    clip-path: polygon(100% 0%, 0% 100%, 100% 100%);
    opacity: 0;
    visibility: hidden;
    transition: .3s ease-in-out;
}

.category-component .item-categories-img img {
    width: 80px;
    height: 80px;
    transition: 1s;
}

.all-category-component .item-categories-img img {
    width: 140px;
    height: 140px;
    transition: 1s;
}

.category-component .item-categories:hover a,
.all-category-component .item-categories:hover a {
    color: var(--primary-color);
}

.category-component .item-categories:hover::before,
.all-category-component .item-categories:hover::before {
    opacity: 1;
    visibility: visible;
}

.category-component .item-categories:hover img,
.all-category-component .item-categories:hover img {
    transform: rotateY(180deg);
}

/* ----------End cateogory component and all category component--------  */

/* -----------Design component----------  */
.content-title-heading .border-bottom {
    width: 10%;
    height: 3px;
    margin: 5px auto auto;
}

.design-component .item-category-design {
    margin: 0 10px;
    padding: 15px;
    border-radius: 10px;
    border: 1px solid rgba(0, 0, 0, 0.05);
    transition: all 0.2s;
}

.design-component .item-category-design:hover {
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
}

.design-component .item-category-design .wrap-img {
    padding-bottom: 80%;
}

.design-component .item-category-design .design-product-title {
    color: var(--primary-color);
}

.design-component .item-category-design:nth-child(odd) .design-product-title {
    color: var(--third-color);
}

.design-component .item-category-design .carousel-text {
    margin: 6px 0 15px;
}

.design-component .item-category-design .carousel-button {
    padding: 8px 16px;
    border: none;
    border-radius: 20px;
    background-color: var(--primary-color);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

.design-component .item-category-design:nth-child(odd) .carousel-button {
    background-color: var(--third-color);
    color: #333;
}

.design-component .slick-track {
    padding: 5px 0;
}

/* ----------End design component---------  */

/* ---------Best seller component----------  */
.best-seller-component.bg {
    background-image: var(--wpr-bg-0947b152-56c2-47ef-b414-fae7879811b5);
    background-repeat: no-repeat;
    background-size: contain;
}

.best-seller-component .nav-link {
    padding: 11px 20px;
}

.best-seller-component .nav-tabs .nav-link.active {
    color: var(--primary-color);
}

.best-seller-component .nav-tabs .nav-link.active::after {
    content: "";
    display: block;
    width: 50%;
    height: 3px;
    background-color: var(--primary-color);
    position: absolute;
    bottom: 1px;
    left: 50%;
    transform: translateX(-50%);
}

.best-seller-component .see-more {
    background-color: var(--third-color);
    padding: 10px 15px;
    transform: skew(-10deg);
}

.best-seller-component .product-banner-left-img {
    padding-bottom: 200%;
}

.best-seller-component .product-item {
    transition: all .3s ease-in-out;
    margin-top: 15px;
    border: 1px solid rgba(0, 0, 0, .1);
    border-radius: 8px;
}

.best-seller-component .product-item:hover {
    box-shadow: 0px 4px 8px rgba(0, 32, 92, 0.1);
    border-radius: 8px;
}

.best-seller-component .wrap-img {
    padding-bottom: 80%;
    border-radius: 8px;
}

.best-seller-component .wrap-img .hover-img {
    opacity: 0;
}

.best-seller-component .product-item:hover .hover-img {
    opacity: 1;
}

.best-seller-component .product-item .old-price {
    color: #8D8D8D;
}

.best-seller-component .product-item .title-product {
    margin: 10px 5px 3px;
    height: 40px;
}

.best-seller-component .pro-img-hight-right {
    padding-bottom: 100%;
}

.best-seller-component .product-item-library {
    grid-template-columns: repeat(5, 1fr);
    gap: 20px;
}

/* ----------End best seller component---------  */

/* ----------Banner slide component---------  */
.banner-slide-component .slide-left,
.banner-slide-component .slide-right {
    padding-bottom: 20%;
}

/* --------------End banner slide component--------  */

/* -----------Business component--------  */
.business-component .content-business {
    width: calc((100% - 60px) / 3);
    border: 1px solid var(--primary-color);
    padding: 30px 20px;
    border-radius: 8px;
}

.business-component .wrap-content-buisness {
    gap: 30px;
}

/* ---------End business component--------  */

/* -----------Operating time component------------  */
.operating-time-component .bg-banner img {
    z-index: -2;
    object-position: left;
}

.operating-time-component::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #003366;
    opacity: 0.7;
    z-index: -1;
}

.operating-time-component .brands-feedback .img-brand {
    margin: 0 10px;
    border-radius: 5px;
}

.operating-time-component .box-feedback {
    min-height: 170px;
    padding: 20px 30px;
    border-radius: 8px;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
    margin: 0 10px;
}

.operating-time-component .box-feedback .content-feedback::after {
    content: "\201C";
    font-family: 'Georgia';
    position: absolute;
    font-size: 80px;
    top: 48px;
    line-height: 0;
    left: 13px;
    transform: translate(0, -50%);
}

.operating-time-component .box-feedback .avt {
    border-radius: 50%;
}

/* ---------End operating time component------------  */

/* --------------Mission component----------  */
.mission-component .content-mission img {
    height: fit-content;
}

/* -----------End mission component---------  */

/* -------------Story component---------  */
.story-component .item-news .wrap-img img {
    height: 180px;
}

.story-component .fa-comment img,
.story-component .fa-eye img {
    width: 15px;
    height: auto;
}

.story-component .left-content .date {
    top: 10px;
    left: 10px;
    background: rgba(0, 0, 0, 0.7);
    padding: 5px 10px;
    border-radius: 5px;
    z-index: 99;
}

.story-component .left-content .title-news {
    height: 44px;
}

.story-component .item-description-news,
.story-component .item-meta-news {
    color: #555;
}

.story-component .left-content .item-meta-news {
    gap: 15px;
    padding: 10px 15px 10px;
    margin-bottom: 10px;
}

.story-component .item-news {
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin: 0 10px;
}

.story-component .slick-track {
    padding: 10px 0;
}

.story-component .item-meta-news {
    border-bottom: 1px dashed #0000004f;
}

.story-component .box-news-btn {
    padding: 8px 25px;
    color: var(--primary-color);
    text-decoration: none;
    border-radius: 30px;
    border: 1px solid var(--primary-color);
}

.story-component .list-news .box-news-btn {
    max-width: 300px;
}

.story-component .box-news-btn:hover {
    background: var(--primary-color);
    color: #fff;
}

.story-component .list-news {
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.story-component .list-content-news {
    min-height: 401px;
    padding: 20px 20px 20px 15px;
    flex-direction: column;
    margin-top: 10px;
}

/* --------End story component-----------  */

/* ------------Commit Component-------  */
.commit-component .item-commit-component {
    gap: 12px;
}

.commit-component .item-commit-component img {
    width: 40px;
    height: 40px;
}

.commit-component .banner-commit-component {
    line-height: 0;
}

/* ---------End commit component----------  */

/* -----------Cart sidebar------------- */
.cart-popup {
    width: 360px;
    z-index: 100002;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, .5);
    padding: 30px 15px 0;
    transition: all .4s ease-in-out;
    transform: translateX(100%);
}

.cart-popup.active {
    transform: translateX(0);
    opacity: 1;
    visibility: visible;
}

.cart-popup .close {
    top: 10px;
    right: 10px;
}

.cart-popup .widgettitle {
    margin-bottom: 40px;
}

.cart-popup .widgettitle::before {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    height: 1px;
    width: 50px;
    background-color: #000;
}

.cart-popup .back-to-shop {
    max-width: 220px;
    margin: 50px auto 0;
}

.cart-popup .woocommerce-mini-cart__empty-message {
    text-align: center;
}

.cart-popup .cart_list.product_list_widget {
    height: calc(100vh - 200px);
    overflow-y: auto;
    margin-right: -10px;
    padding-right: 10px;
}

.cart-popup .widget_shopping_cart .buttons {
    display: grid;
    grid-template-columns: calc(50% - 5px) calc(50% - 5px);
    gap: 10px;
}

.cart-popup .widget_shopping_cart .wc-forward {
    margin: 0;
    text-align: center;
}

.cart-popup .widget_shopping_cart .wc-forward.checkout {
    color: var(--second-color);
    background-color: var(--third-color);
}

.widget_shopping_cart a.remove {
    width: 28px;
    height: 28px;
    text-align: center;
}

.cart-popup .widget_shopping_cart .total {
    margin: 0 -27px 10px;
    padding: 8px 27px 0;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
}

/* -----------------End cart sidebar------------ */

/* -------------------Footer------------------  */
.footer address {
    font-style: normal;
}

.footer .logo-footer img {
    max-width: 150px;
}

.footer .footer-title {
    color: var(--third-color);
    margin: 0 0 10px 0;
}

.footer .footer-title::after {
    content: "";
    display: block;
    width: 50px;
    height: 2px;
    background: #FFF;
    margin-top: 5px;
}

.footer strong {
    color: var(--third-color);
    font-size: 16px;
    font-weight: 500;
}

.footer .company-location img {
    width: 15px;
    margin: 0 4px;
}

.social-icons a {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    transition: transform 0.3s ease-in-out;
}

.social-icons a:hover {
    transform: translateY(-5px);
}

.footer .row {
    border-bottom: 1px solid #f3f3f378;
}

.footer iframe {
    border-radius: 10px;
}

.footer .introduce-footer ul a {
    font-size: 16px;
    color: #FFF;
}

.footer .introduce-footer ul li {
    margin-bottom: 10px;
    display: flex;
    flex-direction: row-reverse;
    justify-content: start;
}

.footer .introduce-footer ul li img {
    width: 10px;
    margin: 0 4px;
}

/* End footer  */

/* ----------------Button fixed------------  */
.btn-fixed-wrap {
    right: 10px;
    bottom: 30px;
    z-index: 999;
}

.btn-fixed-wrap .phone,
.btn-fixed-wrap .zalo,
.btn-fixed-wrap .messenger,
.btn-fixed-wrap .cart {
    width: 85px;
    height: 85px;
    border-radius: 50px;
}

.btn-fixed-wrap .hotline-bg {
    background: #ed1b24;
    box-shadow: 0 0 0 20px #ed1b24;
    width: 60px;
    height: 60px;
    border-radius: 40px;
    opacity: 0.6;
    top: 10px;
    left: 10px;
    animation: zoom 1.2s infinite;
}

.btn-fixed-wrap .hotline-icon {
    width: 50px;
    height: 50px;
    top: 15px;
    left: 15px;
    z-index: 10;
    animation: hotline-icon 1s infinite ease-in-out;
}

.btn-fixed-wrap img {
    width: 50px;
    height: 50px;
}

.btn-fixed-wrap .messenger .hotline-bg {
    background: #0084ff;
    box-shadow: 0 0 0 15px #0084ff;
}

.btn-fixed-wrap .zalo .hotline-bg {
    background: #0080c7;
    box-shadow: 0 0 0 20px #0080c7;
}

.btn-fixed-wrap .cart .hotline-bg {
    background: #1a375e;
    box-shadow: 0 0 0 20px #1a375e;
}

.back-to-top.show {
    visibility: visible;
    opacity: 1;
}

@keyframes hotline-icon {
    0% {
        -webkit-transform: rotate(0) scale(1) skew(1deg);
    }

    10% {
        -webkit-transform: rotate(-25deg) scale(1) skew(1deg);
    }

    20% {
        -webkit-transform: rotate(25deg) scale(1) skew(1deg);
    }

    30% {
        -webkit-transform: rotate(-25deg) scale(1) skew(1deg);
    }

    40% {
        -webkit-transform: rotate(25deg) scale(1) skew(1deg);
    }

    50% {
        -webkit-transform: rotate(0) scale(1) skew(1deg);
    }

    100% {
        -webkit-transform: rotate(0) scale(1) skew(1deg);
    }
}

@keyframes zoom {
    0% {
        transform: scale(.8);
    }

    70% {
        transform: scale(1);
        box-shadow: 0 0 0 15px transparent;
    }

    100% {
        transform: scale(.8);
        box-shadow: 0 0 0 0 transparent;
    }
}

/* ------------------end button fixed---------------*/
/* start button fixed mobile */
.btn-fixed-wrap-mobile {
    bottom: 0;
    z-index: 99;
}

.btn-fixed-wrap-mobile .btn-fixed-grid {
    grid-template-columns: repeat(4, 1fr);
}

.btn-fixed-wrap-mobile .btn-fixed-grid .btn-fixed-item:not(:last-child) {
    border-right: 1px solid #fff;
}

/* end button fixed mobile */

/* -----------------Page contact--------------  */
.title-pagess::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgb(24 84 132 / 44%);
}

.contact-form-wrapper form {
    margin: 0 auto;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
    position: relative;
}

.contact-form-wrapper form input,
.contact-form-wrapper form textarea,
.contact-form-wrapper form select {
    width: 100%;
    padding: 10px;
    margin-top: 5px;
    margin-bottom: 8px;
    border: 1px solid #ddd;
    border-radius: 5px;
    font-size: 16px;
    transition: all 0.3s ease-in-out;
}

.contact-form-wrapper form textarea {
    height: 100px;
    max-height: 500px;
    min-height: 45px;
    resize: vertical;
}

.contact-form-wrapper form input:focus,
.contact-form-wrapper form textarea:focus,
.contact-form-wrapper form select:focus {
    border-color: var(--primary-color);
    box-shadow: 0px 0px 5px rgba(0, 115, 230, 0.3);
    outline: none;
}

.contact-form-wrapper form input[type="checkbox"],
.contact-form-wrapper form input[type="radio"] {
    width: auto;
    margin-right: 5px;
}

.contact-form-wrapper form label {
    font-weight: 600;
    display: block;
    color: #333;
    font-size: 16px;
}

.contact-form-wrapper form input[type="submit"],
.contact-form-wrapper form button {
    width: 100%;
    text-align: center;
    padding: 12px;
    background: var(--primary-color);
    color: white;
    font-size: 16px;
    font-weight: 600;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: 0.3s;
}

.contact-form-wrapper form input[type="submit"]:hover,
.contact-form-wrapper form button:hover {
    background: #104397;
}

.contact-form-wrapper form input[type="file"] {
    border: none;
    background: none;
}

.contact-form-wrapper form select {
    cursor: pointer;
}

.contact-form-wrapper form input[type="checkbox"]+label,
.contact-form-wrapper form input[type="radio"]+label {
    cursor: pointer;
}

.contact-form-wrapper form input:invalid,
.contact-form-wrapper form textarea:invalid,
.contact-form-wrapper form select:invalid,
.form-order form input:invalid {
    border-color: #d9534f;
    background: rgba(217, 83, 79, 0.1);
}

.contact-form-wrapper form input:invalid:focus,
.contact-form-wrapper form textarea:invalid:focus,
.contact-form-wrapper form select:invalid:focus,
.form-order form select:invalid:focus {
    box-shadow: 0px 0px 5px rgba(217, 83, 79, 0.5);
}

.contact-form-wrapper form ::placeholder {
    color: #aaa;
    font-size: 14px;
    font-weight: 300;
}

/* --------------End page contact------------  */

/* -----------Set riêng cho Contact-Form 7----------- */
.contact-form-wrapper form span,
.form-order form span {
    font-size: 12px;
}

.contact-form-wrapper form .wpcf7-response-output,
.form-order form .wpcf7-response-output {
    background: #fbeaea;
    border-left: 4px solid #e74c3c;
    padding: 10px;
    color: #e74c3c;
    margin-top: 10px;
    font-size: 12px;
}

.contact-form-wrapper form .contact-row {
    display: flex;
    gap: 10px;
}

.contact-form-wrapper form .contact-column {
    width: 50%;
}

.contact-form-wrapper form .wpcf7-spinner,
.form-order-wrap .wpcf7-spinner {
    position: absolute;
    top: 45%;
    left: 45%;
}

.wpcf7-spinner {
    display: none;
}

/* ------------END Set riêng cho Contact-Form 7----------- */

/* -----------------Form order---------------------  */
.form-order {
    max-width: 1000px !important;
    border-radius: 5px;
}

.form-order .close {
    right: 10px;
    top: 10px;
}

.form-order .close img {
    width: 30px;
    height: 30px;
}

.form-order .logo img {
    max-width: 110px;
}

.form-order .contact-phone {
    padding-top: 25px;
    margin-top: 45px;
    width: 350px;
}

.form-order .contact-phone::after {
    content: '';
    position: absolute;
    top: 0;
    width: 30%;
    right: 0;
    height: 3px;
    background-color: var(--third-color);
}

.form-order .contact-phone::before {
    content: '';
    position: absolute;
    top: 0;
    width: 70%;
    left: 0;
    height: 3px;
    background-color: var(--primary-color);
}

.form-order .contact-order .title-ds::before {
    content: '';
    position: absolute;
    left: -30px;
    top: 35px;
    border-width: 0 20px 20px 0;
    border-style: solid;
    border-color: var(--primary-color) transparent;
    transform: rotate(45deg);
}

.form-order .contact-social a,
.form-order .contact-call a {
    border-radius: 30px;
}

.form-order .input-wrap {
    padding: 0 70px;
}

.form-order .wpcf7-form-control-wrap input {
    padding: 10px 15px 10px 42px;
    border: 1px solid #ced4da;
    border-radius: 5px;
    height: 50px;
    line-height: 50px;
    font-size: 16px;
    margin-bottom: 5px;
    width: 100%;
}

.form-order .btn-submit .wpcf7-submit {
    padding: 12px 20px;
    background-color: var(--primary-color);
    border-radius: 5px;
    margin-top: 15px;
    color: #FFF;
    font-size: 18px;
    cursor: pointer;
    width: 100%;
}

.form-order .input-name .wpcf7-form-control-wrap::before,
.form-order .input-email .wpcf7-form-control-wrap::before,
.form-order .input-phone .wpcf7-form-control-wrap::before,
.form-order .input-des .wpcf7-form-control-wrap::before {
    position: absolute;
    content: "";
    background-image: var(--wpr-bg-29d6786c-8b44-4ee1-89ca-5394397450dc);
    background-repeat: no-repeat;
    background-size: cover;
    width: 20px;
    height: 20px;
    left: 15px;
    top: -4px;
}

.form-order .input-email .wpcf7-form-control-wrap::before {
    background-image: var(--wpr-bg-33fe4bdb-c982-4505-b9a6-4a4ca6b2b3d0);
}

.form-order .input-phone .wpcf7-form-control-wrap::before {
    background-image: var(--wpr-bg-9c4d9d6d-6ad2-407b-9b50-619e4d6f5a79);
}

.form-order .input-des .wpcf7-form-control-wrap::before {
    background-image: url(../../../../../../../themes/hupuna/icons/form-order/request-svgrepo-com.svg);
}

/* ---------------End form order-------------------  */

/* -----------------Category page--------------  */
.categories-page .border-bottom,
.product-category-page .border-bottom {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.categories-page .title-category,
.product-category-page .title-category {
    padding: 12px 50px 12px 15px;
    clip-path: polygon(0 0, 85% 0, 100% 100%, 0 100%);
    white-space: nowrap;
    text-overflow: ellipsis;
}

.categories-page a.see-more,
.product-category-page a.see-more {
    padding: 12px 20px;
    clip-path: polygon(0 100%, 90% 100%, 100% 0, 10% 0);
    margin-left: auto;
    white-space: nowrap;
}

.product-category-page .search-filter-mobile .bg-light {
    background: var(--primary-color);
}

.categories-page .image-category {
    padding-bottom: 91%;
}

.categories-page .item-category-page .img-100 {
    border-radius: 7px;
}

.categories-page .item-category-page {
    margin: 0px 10px;
}

.categories-page .banner-categories {
    padding-bottom: 15%;
    border-radius: 24px;
}

.categories-page .product-item-genaral {
    margin: 0 10px;
}

/* ---------------End category page------------  */

/* -----------Product item general-----------  */
.product-item-genaral .image-product-item {
    padding-bottom: 95%;
    border-radius: 7px;
}

.product-item-genaral .discount-product-item {
    padding: 2px 4px;
    background: #ff3636;
    border-radius: 3px;
}

.product-item-genaral .content-product-item .star-rating::before,
.product-detail-right .star-rating::before,
.best-seller-component .product-item .star-rating::before {
    content: "";
    color: #cfc8d8;
    top: 0;
    left: 0;
    position: absolute;
    font-size: 15px;
    letter-spacing: 0;
    text-align: left;
    height: 100%;
    width: calc(5 * 13px);
    background: var(--wpr-bg-9821e124-c84d-43a3-9c73-8c2348a0212b) repeat-x;
    background-size: 13px 13px;
}

.product-item-genaral .content-product-item .star-rating span::before,
.product-detail-right .star-rating span::before,
.best-seller-component .product-item .star-rating span::before {
    content: "";
    top: 0;
    left: 0;
    position: absolute;
    color: #FFD700;
    font-size: 15px;
    letter-spacing: 0;
    text-align: left;
    height: 100%;
    width: calc(5 * 13px);
    background: var(--wpr-bg-2ff56939-c4df-4c40-a502-d251e8122050) repeat-x;
    background-size: 13px 13px;
}

.product-item-genaral .content-product-item .star-rating span,
.product-detail-right .star-rating span,
.best-seller-component .product-item .star-rating span {
    overflow: hidden;
    top: 0;
    left: 0;
    position: absolute;
    padding-top: 1.5em;
}

.product-item-genaral .content-product-item .star-rating,
.product-detail-right .star-rating,
.best-seller-component .product-item .star-rating {
    margin: auto;
    overflow: hidden;
    position: relative;
    height: 18px;
    width: calc(5 * 13px);
    font-size: 15px;
    text-align: left;
}

.product-item-genaral .content-product-item a {
    height: 48px;
}

/* ------------End product item general---------  */

/* -----------Css button slick-------------  */
.slick-slide img {
    transition: .3s;
}

.slick-prev {
    left: 0px;
    box-shadow: 10px 0px 10px -5px #00000014;
}

.slick-next {
    right: 0px;
    box-shadow: -10px 0px 10px -5px #00000014;
}

.slick-prev,
.slick-next {
    z-index: 999;
    height: 100%;
    background: #FFF;
    opacity: 0;
    visibility: hidden;
    width: 30px;
    transition: .2s ease-in-out;
}

.slick-slider:hover .slick-prev,
.slick-slider:hover .slick-next {
    opacity: 1;
    visibility: visible;
}

.slick-next:before,
.slick-prev:before {
    position: absolute;
    content: "";
    top: 50%;
    width: 30px;
    height: 30px;
    left: 50%;
    transform: translate(-50%, -50%);
    background-repeat: no-repeat;
    background-size: cover;
}

.slick-next:before {
    background-image: var(--wpr-bg-9b74a314-a905-447e-87c7-c11e42a8cefe);
}

.slick-prev:before {
    background-image: url(../../../../../../../themes/hupuna/icons/left.svg);
}

.slick-dots li button:before {
    font-size: 35px;
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
    background: #FFF;
}

/* -------------End css button slick-----------------  */

/* ---------------Breadcrumb------------  */
.breadcrumb-wrap {
    background: #E9EEFF;
}


.breadcrumb ul {
    display: flex;
    flex-wrap: nowrap;
    overflow: hidden;
    align-items: center;
}

.breadcrumb li+li:before {
    padding: 8px 0px;
    content: "/\00a0";
}

.breadcrumb li {
    display: flex;
    align-items: center;
    white-space: nowrap;
    flex-shrink: 0;
}

.breadcrumb li a {
    color: #70757a;
}

.breadcrumb li:last-child {
    flex: 1;
    overflow: hidden;
}

.breadcrumb li:last-child span {
    display: inline-block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 80%;
}

.breadcrumb li a:hover {
    color: #01447e;
    text-decoration: underline;
}

/* -----------End breadcrumb------------- */

/* -----------Product Category page---------  */
.product-category-page .product-cat .img-product-cat {
    padding-bottom: 90%;
    border-radius: 7px;
}

.product-category-page .custom_slider .item {
    padding: 10px;
    border-radius: 7px;
    margin: 2px 10px;
    border: 1px solid rgba(0, 0, 0, 0.08);
}

.product-category-page .custom_slider .item:hover {
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
}

.product-category-page .name-product {
    height: 46px;
}

.product-category-page .product-cat .see-more-cat {
    padding: 7px 16px;
    border-radius: 20px;
}

.product-category-page .item:nth-child(even) .see-more-cat {
    background: var(--primary-color);
    color: #fff;
}

.product-category-page .item:nth-child(even) .name-product {
    color: var(--primary-color);
}

.filter-product-category .tabSort.active {
    color: #FFF;
    background-color: var(--primary-color);
}

.filter-product-category button {
    border-radius: 5px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    padding: 12px 10px;
}

.filterSearchDesktop .custom-select .select-selected {
    border: none;
    min-width: 140px;
}


.filter-product-category .filterSearchDesktop button {
    border: 0;
    background-color: #FFF;
}

.filter-product-category .button-select {
    margin: 0 -4px;
}

.filter-product-category .listProduct .product-item-category {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    transition: box-shadow 0.3s ease;
    border-radius: 7px;
    width: calc(20% - 6px);
    flex: 0 0 calc(20% - 6px);
    padding: 5px;
    margin: 3px;
}

.filter-product-category .listProduct .product-item-category:hover {
    transition: all .3s ease;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
    border-radius: 7px;
}

.filter-product-category .describeCategory .text-content {
    max-height: 100px;
    overflow: hidden;
    transition: max-height 0.3s ease-in-out;
}

.filter-product-category .describeCategory .toggle-text {
    background: #ffffff;
}

.filter-product-category .describeCategory .text-content::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 60px;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff);
}

.filter-product-category .describeCategory .text-content.expanded {
    max-height: 6000px;
}

.filter-product-category .describeCategory .text-content.expanded::after {
    display: none;
}

/* ----------End product category page----------  */

/* -------------Product detail---------  */
.product-detail .big-slide .wrap-img {
    padding-bottom: 74.9%;
    border-radius: 15px;
}

.product-detail .thumb-slide .wrap-img {
    padding-bottom: 100%;
    border-radius: 15px;
}

.product-detail .thumb-slide .slick-slide,
.product-detail .product-related-slide .slick-slide {
    margin: 0 10px;

}

.product-detail .product-related-slide .slick-slide {
    border: 1px solid rgba(0, 0, 0, 0.08);
    padding: 5px;
    border-radius: 5px;
}

.product-detail .product-related-slide .slick-slide:hover {
    box-shadow: 0px 2px 5px rgba(0, 0, 0, .1);
}

.product-detail .thumb-slide .slick-list {
    margin: 0 -10px;
}

.product-detail .name-product {
    margin-bottom: 10px;
}

.product-detail .rate {
    gap: 20px;
}

.product-detail .rating img {
    width: 15px;
}

.product-detail .promotion {
    color: #ED2C4F;
    border: 1px solid #ED2C4F;
    border-radius: 50px;
    padding: 1px 15px;
}

.product-detail .old-price {
    color: #8D8D8D;
}

.product-detail .new-price {
    color: #ED2C4F;
}

.product-detail .reduced {
    border-radius: 12px;
    padding: 3px 12px;
}

.product-detail .price-wrap {
    gap: 15px;
    margin: 15px 0;
}

.product-detail .region {
    border-radius: 5px;
    background-color: #ECF1FF;
    box-shadow: 0px 2.08px 4.16px 0px #CFE1FF;
    padding: 5px;
    margin: 0 -6px;
    text-align: center;
}

.product-detail .region:hover {
    background-color: #bdcfff;
}

.product-detail .region-active {
    border-radius: 5px;
    background-color: var(--primary-color);
    box-shadow: 0px 2.08px 4.16px 0px #CFE1FF;
    padding: 5px;
    margin: 0 -6px;
    text-align: center;
}

.product-detail .region:not(:last-child) {
    margin-right: 15px;
}

.product-detail .region img {
    width: 30px;
    height: 30px;
    margin-right: 10px;
}

.product-detail .size .region {
    margin-bottom: 10px;
}

.product-detail .all-size,
.product-detail .all-bulk {
    margin: 0 6px;
}

.product-detail .all-size .row {
    max-height: 500px;
    overflow-y: auto;
}

.product-detail .all-bulk .row {
    max-height: 75px;
}

.product-detail .all-size .row::-webkit-scrollbar {
    width: 5px;
}

.product-detail .all-size .row::-webkit-scrollbar-track {
    box-shadow: inset 0 0 5px grey;
    border-radius: 10px;
}

.product-detail .all-size .row::-webkit-scrollbar-thumb {
    background: #319CFF;
    border-radius: 10px;
}

.product-detail .area {
    margin-bottom: 30px;
}

.product-detail .description .row {
    margin-top: 5px;
}

.product-detail .description .contact {
    background-color: #ED2C4F;
    border-radius: 50px;
    padding: 6px 30px;
}

.product-detail .in-stock {
    margin-top: 25px;
    margin-bottom: 10px;
}

.product-detail .button-add {
    padding: 8px 25px;
    border-radius: 24px;
}

.product-detail .button-add.disabled,
.product-detail .button-add:disabled {
    cursor: not-allowed;
    opacity: .5;
}

.product-detail .buy-in-bulk {
    background-color: var(--primary-color);
}

.product-detail .add-cart {
    background-color: #ED2C4F;
}

.product-detail .buy-now {
    background-color: var(--primary-color);
}

.product-detail .button-quantity input {
    border: none;
    width: 50px;
}

.product-detail .button-quantity .button {
    background-color: #E5EEFC;
    width: 20px;
}

.product-detail .plus span {
    transform: translateY(-1px);
}

.product-detail .info-product-detail {
    margin-top: 30px;
    padding-top: 30px;
}

.product-detail .info-product-detail button {
    border: none;
    border-radius: 0px;
    padding: 10px 0px;
    background-color: transparent;
    flex: 1;
}

.product-detail .info-product-detail button:first-child {
    border-left: none;
}

.product-detail .tabs-info {
    white-space: nowrap;
    overflow-x: auto;
    position: sticky;
    top: 44px;
    z-index: 10;
    background: #fff;
    border-bottom: 1px solid rgba(0, 0, 0, .1);
}

.tabs-info-overflow {
    flex-wrap: nowrap;
    overflow-x: auto;
}

.product-detail .tabs-info .active {
    border-bottom: 3px solid var(--primary-color);
    color: var(--primary-color);
}

.product-detail .tab-content .tab-pane {
    padding: 40px 0;
}

.product-detail .tab-content .wp-caption {
    width: 100% !important;
    text-align: center;
    margin-top: 15px;
}

.product-detail .tab-content table {
    margin: 15px 0px;
}

.product-detail .tab-content ul {
    margin-bottom: 15px;
}

.product-detail .tab-content p:has(img),
.product-detail .tab-content p:has(em) {
    text-align: center;
}

.product-detail .tab-content p:has(img) img {
    margin: 20px 0px;
}

.product-detail .tab-content p:has(iframe) {
    margin: 20px 0px;
}

.product-detail .tab-pane {
    margin-bottom: 15px;
    font-size: 16px;
    line-height: 24px;
}

.product-detail .tab-pane img {
    max-width: 100%;
}

.product-detail .product-related .title {
    padding: 12px 50px 12px 20px;
    clip-path: polygon(0 0, 85% 0, 100% 100%, 0 100%);
}

.product-detail .product-related-wrap {
    padding: 10px 0;
}

.product-detail #custom-review-form,
.product-detail #review-container {
    max-width: 800px;
    margin: 0 auto 0 0;
}

.product-detail-right .star-rating,
.best-seller-component .product-item .star-rating {
    height: 25px;
    width: calc(5 * 13px);
    font-size: 15px;
}

.product-detail-right .product-linked {
    padding: 15px;
}

.product-detail-right .product-linked.active {
    border: 1px solid #ED2C4F;
}

.product-detail-right .product-linked .wrap-img {
    padding-bottom: 100%;
    border-radius: 10px;
}

.product-detail-right .product-linked .price {
    color: #ED2C4F;
}

.product-detail-right #product-results {
    color: #ED2C4F;
    margin-top: 20px;
}

.product-detail-right .attribute-button.selected {
    background-color: var(--primary-color);
    color: #FFF;
}

.product-detail-right .attribute-button.disabled {
    background-color: #e0e0e0;
    color: #aaa;
    border-color: #ccc;
    cursor: not-allowed;
}

/* --------End product detail-----------  */

/* --------------News list-------------  */
.news-list .des {
    opacity: .8;
}

.news-list .wrap-img {
    padding-bottom: 56%;
    border-radius: 8px;
}

.news-list .time-post {
    color: #999999;
    gap: 10px;
}

.news-list .post3,
.news-list .item-news {
    border-top: 1px solid #eee;
}

.news-list .name:hover {
    color: var(--primary-color);
}

.news-list .news-list-right .title-news {
    color: var(--primary-color);
    border-bottom: 1px solid #eee;
}

.news-list .lastest-news {
    margin-bottom: 30px;
}

/* ---------End News list----------  */

/* ---------Pagination--------- */
.pagination .page-numbers {
    padding: 7px 14px;
    border: 1px solid #ddd;
    border-radius: 7px;
    display: inline-block;
}

.pagination .page-numbers.current {
    background: var(--primary-color);
    color: #FFF;
}

.pagination .page-numbers:hover:not(.current) {
    background-color: #ddd;
}

/* -------End pagination-----------  */

/* --------------News detail--------------  */
.news-detail p {
    line-height: 1.7;
}

.news-detail .news-detail-inner {
    max-width: 800px;
    margin: 0 auto;
}

.news-detail .time-post {
    gap: 10px;
}

.news-detail .time-post .time {
    color: #999;
}

.news-detail .news-content {
    margin: 0 auto;
}

.news-detail .news-content figure {
    display: block;
    text-align: center;
    margin: 20px auto;
    max-width: 100%;
}

.news-detail .news-content .wp-caption {
    text-align: center;
    width: 100% !important;
    margin: 10px 0px;
}

.news-detail .news-content figure img {
    width: 100%;
    height: auto;
    border-radius: 8px;
}

.news-detail .news-content figure[style] {
    all: unset;
}

.news-detail .news-content video {
    text-align: center;
}

.news-detail .news-related .wrap-img {
    padding-bottom: 56%;
    border-radius: 8px;
}

.news-detail .news-related figure:hover a {
    color: var(--primary-color);
}

.news-detail .news-related .created {
    color: #999;
}

/* ---------------End news detail-----------  */
/* Start page-not-found */
.page-not-found .error-404 {
    font-size: 12rem;
    opacity: 0.3;
}

.page-not-found .button {
    padding: 9px 12px;
    border-radius: 4px;
}

.page-not-found .button:hover {
    opacity: 0.8;
}

/* End page-not-found */

/* Loading  */
#loading-screen {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.3);
    z-index: 9999;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    z-index: 100001;
    display: none;
}

.spinner {
    width: 50px;
    height: 50px;
    border: 6px solid #fff;
    border-top-color: #0073aa;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin-bottom: 16px;
}

.loading-text {
    font-size: 18px;
    color: #333;
    font-weight: 500;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

/* End loading  */

/* Start sidebar-product */
.list-all-category {
    box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, .1);
    padding: 12px 8px;
    border-radius: 4px;
}

.general-filter .icon-menu-cat,
.general-filter .button-select .icon-button-select {
    height: 18px;
    width: 18px;
}

.general-filter .filter-status .category-item {
    padding: 6px;
    box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, .1);
    border-radius: 4px;
    margin-top: 20px;
}

.general-filter .subcategory {
    padding-left: 15px;
}

.general-filter .title-filter {
    border-bottom: 1px solid rgba(0, 0, 0, .7);
}

.general-filter .icon-right {
    vertical-align: middle;
    height: 14px;
    width: 14px;
}

.general-filter .filter-content-cat .icon-right {
    border: 1px solid rgba(0, 0, 0, .2);
    border-radius: 100%;
    padding: 1px;
}

.general-filter button {
    border-radius: 5px;
    padding: 12px 10px;
}

/* End sidebar-product */
/* start search-filter-mobile */
.search-filter-mobile .bg-light {
    border-radius: 4px;
    padding: 7px 0px;
}

.search-filter-mobile .form-search input {
    border-radius: 5px;
}

/* end search-filter-mobile */

/* start search suggest */
.form-search .search-suggestions {
    border: 1px solid rgba(0, 0, 0, .1);
    z-index: 9999;
    top: 100%;
    background: #fff;
}

.form-search .suggestion-item {
    padding: 10px;
    border-bottom: 1px solid rgba(0, 0, 0, .1);
}

.form-search .suggestion-item:hover {
    background: var(--third-color);
}

/* end search suggest */