/*
Theme Name: Mỹ phẩm
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.0
*/

/*************** ADD CUSTOM CSS HERE.   ***************/
#footer li a, #footer p {
    font-size: 14px;
}

.widget_shopping_cart .woocommerce-mini-cart__buttons .button {
	color:white;
}

.cot2 .wpcf7-email {
    width: 75%;
    float: left;
}

h3.title-footer {

    color: var(--primary-color);
    text-transform: uppercase;
}

#footer .img {
    background-color: #f5f5f5;
}

.title-thanh-tuu {
    background: #E3E3E3 !important;
}

.title-thanh-tuu:after {
    background: #E3E3E3 url(images/mui-ten.png) center no-repeat !important;
}

.section-du-an .box:hover .box-text {

    transition: all 0.5s ease 0s;
    opacity: 1;

}

.section-du-an .box-text {
    opacity: 0;
}

.section-du-an .box-text {
    background: rgba(0, 0, 0, 0.5);
    padding: 13px;
}

.title-du-an {
    background: #F5F5F5 !important;
}

.div-no-padding {
    padding-bottom: 0px !important;
}

.title-text.bg-grey.text-left:after {
    left: 0px;
    right: initial;
}

.title-text.bg-grey.text-left {
    text-align: left;
}

.title-text.bg-grey {
    background: #f5f5f5;
    text-align: center;
}

.title-text h2 a:hover {
    color: var(--primary-color);
}

.title-text.bg-grey:after {
    content: "";
    display: block;
    position: absolute;
    width: 125px;
    height: 7px;
    top: initial;
    bottom: -5px;
    left: 0px;
    right: 0px;
    margin: 0 auto;
}

.title-text.bg-grey:before {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 1px;
    top: initial;
    left: 0px;
    bottom: 0px;
    background: linear-gradient(90deg, #f5f5f5 0%, #e1e1e1 10%, #e1e1e1 10%, #e1e1e1 90%, #e1e1e1 90%, #f5f5f5 100%);
}

.title-text.bg-grey:after {
    background: #f5f5f5 url(images/mui-ten.png) center no-repeat;
}

.title-text.bg-white {
    background: #fff;
    text-align: center;
}

.title-text h2 a {
    color: var(--primary-color);
}

.title-text h2 {
    color: var(--primary-color);
    text-transform: uppercase;
    font-weight: 700;
    font-size: 30px;
    line-height: 38px;

    border-bottom: 1px solid #ccc;
    padding-bottom: 6px;
}

.title-text {
    position: relative;
}

.space-20 {
    margin-bottom: 20px;
}

.title-text:before {
    content: "";
    display: inline-block;
    width: 125px;
    height: 7px;
    position: absolute;
    bottom: -5px;
    left: 0px;
}

.title-text:before {
    content: "";
    display: inline-block;
    width: 125px;
    height: 7px;
    position: absolute;
    bottom: -5px;
    left: 0px;
}

.title-text:before {
    background: #fff url(images/mui-ten.png);
}

.section-anh .img-inner:after, .section-du-an .box-image:after {
    right: -1px;
    bottom: -1px;
    clip-path: polygon(100% 0, 0 100%, 100% 100%);
    content: "";
    display: inline-block;
    background: #fff;
    width: 40px;
    height: 40px;
    clip-path: polygon(100% 0, 0 100%, 100% 100%);
    position: absolute;
    /* left: -1px; */
    /* top: -1px; */
    z-index: 9;
}

.section-anh .img-inner:before, .section-du-an .box-image:before {
    content: "";
    display: inline-block;
    background: #fff;
    width: 40px;
    height: 40px;
    clip-path: polygon(100% 0, 0 0, 0 100%);
    position: absolute;
    left: -1px;
    top: -1px;
    z-index: 9;
}

.the_content p {
    font-size: 16px;
    line-height: 1.5;
    margin-bottom: 1rem;
}

blockquote:before {
    color: var(--primary-color);
    content: "\f10d";
    font-family: FontAwesome;
    font-size: 30px;
    font-weight: 700;
    left: 6px;
    position: absolute;
    top: 15px;
}


blockquote {
    background: #f3f3f3;
    color: #868686;
    display: block;
    font-size: 16px;
    line-height: 23px;
    font-weight: 600;

    margin: 0 0 20px;
    padding: 15px 20px 15px 45px;
    position: relative;
    text-align: justify;
}

#header.header #mega_menu {
    display: none;
}

#mega-menu-title {
    font-weight: 400;
    font-size: 15px;
    color: black
}

#mega-menu-wrap {
    background: white
}

#mega-menu-wrap {
    background: #f05a5e
}

#mega-menu-title {
    padding: 0;
    color: white
}

.banner-section .col {
    padding-bottom: 0
}

.banner-section img {
    border-radius: 10px;
    border: 2px solid #2ba24c
}

.header-nav-main .header-search-form-wrapper .icon-search:before {
    color: white;
}

.form-flat input:not([type="submit"]) {
    height: 40px;
    border-color: var(--primary-color);
}

.header-main .nav > li > a {
    line-height: 16px;
    font-size: 15px;
}

.button.icon.circle > span {
    margin: 0 8px;
    text-transform: none;
    font-weight: normal;
    font-size: 15px;
    color: black;
}

.nav .hotline-nav a {
    font-size: 18px !important
}

.nav-slider {
    margin: 0 auto;
    position: absolute;
    margin-top: -418px !important;
    max-width: 215px;
    left: 10%;
}

.nav-slider ul li {
    margin-left: 0
}

.nav-slider ul li + li {
    border-top: 0
}

.nav-slider ul li a {
    display: block;
    padding-top: 7px;
    padding-bottom: 7px;
    padding-left: 15px;
    font-size: 15px
}

.nav-slider .nav-slider-web {
    background: rgba(0, 0, 0, 0.4)
}

.nav-slider ul li a:hover {
    background: white;
    color: black !important
}

ul.menu > li.has-child:hover > .sub-menu {
    border-left: 0;
    display: block !important;
    position: absolute;
    left: 98%;
    top: 0;
    background: white;
    z-index: 999;
    height: 100% !important;

    padding-left: 0px;
}

ul.menu > li.has-child:hover > .sub-menu li {
    margin-left: 0
}

ul.menu > li.has-child:hover > .sub-menu li a:hover {
    padding-left: 15px;
    background: gray;
    color: white !important
}

#mega_menu > li.has-child > ul.sub-menu li a {
    padding-left: 15px;
    padding-top: 5px;
    padding-bottom: 5px
}

#mega_menu ul.sub-menu > li:hover > a {
    background: gray;
    color: white
}

#mega_menu > li > a {
    position: relative;
    font-weight: 500;
    color: black;
    font-size: 15px;
}

#mega_menu > li.has-child > ul.sub-menu {
    display: block;
    position: relative;
    left: 0;
    top: 0;
    min-height: auto;
    border-left: 0;
    border: 0;
    box-shadow: 0px 0px 0px gray;
    margin-top: 0 !important;
    margin-left: 0px
}

#mega_menu > li {
    border-top: 0;
    width: 25%;
    float: left
}

#header.header #mega_menu.active {
    width: 1050px;
    min-width: 600px;
    margin-top: 10px;
    padding: 15px;
    border: 2px solid black;
}

#mega_menu > li > a {
    padding: 7px 7px 7px 15px
}

ul.menu > li.has-child:hover > .sub-menu li a {
    padding-left: 15px;
    display: block;
    color: black;
    padding-top: 7px;
    padding-bottom: 7px;
    font-size: 15px;
}

.nav-slider .toggle {
    display: none
}

.flickity-page-dots {
    right: 2%;
    left: auto
}

/*.flickity-prev-next-button.next {*/
/*    right: 9%;*/
/*    bottom: 40%;*/
/*}*/

/*.flickity-prev-next-button.previous {*/
/*    bottom: 40%;*/
/*}*/

.slider-nav-circle .flickity-prev-next-button svg {
    border: 0px;
    background: var(--primary-color);
    color: white
}

.slider-nav-circle .flickity-prev-next-button:hover svg, .slider-nav-circle .flickity-prev-next-button:hover .arrow {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}

.sp-noi-bat .product-small .category {
    font-size: 15px;
    letter-spacing: 0;
    text-transform: uppercase;
    color: black
}

.product-small .price .amount {
    color: var(--primary-color);
    font-size: 17px;
    font-weight: bold;
}

.product-small .product-title a:hover {
    color: var(--primary-color)
}

.product-small .product-title a {
    font-size: 15px;
    color: #2d2d2d;
    margin-bottom: 0;
    height: 38px;
    overflow: hidden;
}

.product-small .price-wrapper ins span.amount {
    white-space: nowrap;
    color: #ff6900;
    font-weight: normal;
    font-size: 20px;
}

.product-small .price-wrapper del span.amount {
    font-size: 15px
}

.badge-inner {
    background-color: var(--primary-color);
    border-radius: 100%;
    background: white;
    border: 2px solid var(--primary-color);
    color: var(--primary-color);
    font-weight: normal;
}

.badge {
    width: 45px;
    height: 45px
}

.badge-container {
    margin: 10px
}

.product-small .box-image:hover::before {
    -webkit-animation: shine .75s;
    animation: shine .75s
}

@-webkit-keyframes shine {
    100% {
        left: 125%
    }
}

@keyframes shine {
    100% {
        left: 125%
    }
}

.product-small .box-image::before {
    position: absolute;
    top: 0;
    left: -75%;
    z-index: 2;
    display: block;
    content: '';
    width: 50%;
    height: 100%;
    background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, .3) 100%);
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, .3) 100%);
    -webkit-transform: skewX(-25deg);
    transform: skewX(-25deg)
}

.archive-list-custom {
    margin: 0;
    padding: 0;
    list-style: none;
}

.archive-item-custom {
    display: flex;
    border-bottom: 1px solid #e5e5e5;
    padding-bottom: 24px;
    margin-bottom: 24px;
}

.archive-thumb-custom {
    flex: 0 0 250px;
    max-width: 250px;
    margin-right: 24px;
    min-height: 140px;
    display: flex;
    align-items: flex-start;
    justify-content: center;
}

.archive-thumb-custom img {
    width: 100%;
    height: auto;
    border-radius: 4px;
    object-fit: cover;
    background: #fafafa;
    border: 1px solid #eee;
}

.archive-content-custom {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.archive-title-custom {
    font-size: 1.18rem;
    font-weight: 600;
    margin-bottom: 8px;
    color: #222;
    line-height: 1.3;
}

.archive-title-custom a {
    color: inherit;
    text-decoration: none;
    transition: color .2s;
}

.archive-title-custom a:hover {
    color: #0072bc;
}

.archive-date-custom {
    color: #888;
    font-size: 0.95rem;
    margin-bottom: 5px;
}

.archive-excerpt-custom {
    color: #444;
    font-size: 1rem;
    margin-bottom: 12px;
    max-height: 3.5em;
    overflow: hidden;
    text-overflow: ellipsis;
}

.read-more-button {
    margin-top: 20px !important;
}

.archive-readmore-custom {
    margin-top: auto !important;

}

.archive-readmore-custom, .read-more-button {
    display: inline-block;
    background: #eee;
    color: #222;
    border-radius: 4px;
    padding: 8px 16px;
    font-size: .98rem;
    align-self: start;
    text-decoration: none;
    transition: background .2s, color .2s;
}

.archive-readmore-custom:hover, .read-more-button:hover {
    background: #0072bc;
    color: #fff;
}

@media (max-width: 991px) {
    .archive-item-custom {
        flex-direction: column;
    }

    .archive-thumb-custom {
        max-width: 100%;
        margin-right: 0;
        margin-bottom: 10px;
    }
}

.product-small.box {
    background: white;
    border: 0;
    box-shadow: 2px 2px 20px #00000017;
    border-radius: 10px;
}

.flickity-page-dots .dot {
    border: 3px solid var(--primary-color);
}

.slider-nav-dots-simple .flickity-page-dots .dot {
    background-color: var(--primary-color);
}

.add-to-cart-button a {
    text-transform: none;
    font-weight: normal;
    font-size: 14px !important;
    letter-spacing: 0;
    border-radius: 99px;
    background: #66bf25;
    line-height: 32px;
}

.sp-noi-bat .flickity-page-dots {
    display: none
}

.sp-de-xuat .product-small.col {
    border-radius: 10px
}

.danh-muc-sp .row-cat {
    padding-bottom: 10px;
    background: #ffffff;
    padding-top: 30px;
    border-radius: 10px;
    box-shadow: 2px 2px 40px #00000026;
}

.danh-muc-sp .box-push .box-text {
    background: #ffffff;
    margin: -8% auto 0;
    box-shadow: 2px 2px 10px #00000024;
    border-radius: 10px;
    border-top: 5px solid var(--primary-color);
}

.danh-muc-sp .box-push .box-text .header-title {
    letter-spacing: 0;
    font-size: 15px;
    color: var(--primary-color);
    padding-bottom: 5px;
}

.danh-muc-sp .row-cat .col {
    padding-bottom: 0
}

.sp-noi-bat .col {
    padding-bottom: 20px
}

.section-title span {
    text-transform: none
}

.sp-de-xuat .product-small {
    border: 0
}

.sp-de-xuat .flickity-prev-next-button.next {
    right: -3%;
    bottom: 15%
}

/*.flickity-prev-next-button.previous {*/
/*    left: -4% !important;*/
/*}*/

.slider-nav-outside .flickity-prev-next-button.next {
    right: -4% !important;
    left: auto !important
}

.sp-noi-bat {
    padding-bottom: 0 !important
}

.sp-de-xuat .col {
    padding-bottom: 20px
}

.sp-de-xuat .cham-soc-toc .product .col-inner .box .box-text {
    background: white;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px
}

.thuong-hieu .tabbed-content .nav > li {
    margin-right: 0
}

.thuong-hieu .tabbed-content .nav > li > a {
    font-size: 15px;
    padding: 10px 30px;
}

.thuong-hieu .tabbed-content .nav > li .active > a {
    border: 2px solid #bebf49;
    color: #bebf49;
}

.thuong-hieu .section-title-container {
    margin-bottom: 10px
}

.footer-section img.size-full.alignnone {
    margin-bottom: 15px
}

.footer-section .button {
    font-weight: normal
}

.footer-section .col {
    padding-bottom: 0
}

.sp-de-xuat .flickity-prev-next-button.previous {
    bottom: 40%;
}

.footer-bottom .col {
    padding-bottom: 0
}

.footer-bottom .cot12 p {
    margin-bottom: 0
}

.footer-secondary {
    padding-top: 0
}

.absolute-footer {
    padding-bottom: 10px
}

.breadcrumbs a {
    text-transform: none
}

.product-main .product-title {
    font-weight: normal;
    color: black
}

.product-main .price-wrapper ins span.amount {
    color: red;
    font-weight: normal
}

.product-main .price-wrapper del {
    color: gray;
    font-size: 15px
}

.product-main .price-wrapper del span.amount {
    color: gray;
	
}

.product-main .product-short-description {
    font-size: 14px
}

.product-main {
    padding-top: 20px !important;
    padding-bottom: 0 !important
}

.contact-product .col {
    padding-bottom: 0
}

.contact-product .button {
    margin-bottom: 5px;
    font-weight: normal
}

.detailcall-1 {
    padding: 3px 20px;
    background: #f05a5e;
    box-shadow: 0px 0px 0px gray
}

.detailcall-1 span {
    font-size: 14px
}

.detailcall-1 h3 {
    margin-bottom: 0
}
.wpcf7-spinner {
    display: none;
}

.quantity + .button {
    margin-right: 0;
    font-size: 1em;
    text-transform: none;
    font-weight: normal;
    background: #ec1821;
    border-radius: 4px;
}

button.btn.btn-default {
    background: #f05a5e;
    border: 0px solid;
    padding: 5px 20px;
}

.product_meta {
    font-size: 14px
}

.product-footer p {
    font-size: 14px;
    color: #4a4a4a
}

.product-footer .product-tabs {
    background: #ffffff;
    margin-top: -8px !important;
    border-bottom: 2px solid var(--primary-color);
}

.product-footer .woocommerce-tabs {
    border-top: none !important
}

.product-footer .product-tabs li.active a {
    border: 0;
    color: #ffffff;
    background: var(--primary-color);
}

.product-footer .product-tabs li {
    margin: 0 2px
}

.product-info {

    padding-bottom: 0;
}

.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item:not(.radio-variable-item).selected, .woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item:not(.radio-variable-item).selected:hover {
    box-shadow: 0 0 0 2px rgb(43, 162, 76);
}

div#reviews.woocommerce-Reviews, .devvn_prod_cmt {
    max-width: 100%
}

.product_meta > span {

    border-top: 0;

}

.product-footer .product-tabs li a {
    font-family: "svn-poppins", sans-serif;
    background: whitesmoke;
    padding: 7px 15px;
    font-weight: normal;
    font-size: 16px;
    color: black;
    text-transform: none;
    letter-spacing: 0
}

.variations tr td label {
    margin-right: 10px
}

.variations tr td {
    display: inline-block
}

.nav-line-bottom > li > a:before, .nav-line-grow > li > a:before, .nav-line > li > a:before {
    height: 0
}

#reviews {
    margin-top: 20px !important
}

span.devvn_num_reviews {
    color: var(--primary-color);
}

#comments a.btn-reviews-now {
    background-color: var(--primary-color);
}

.devvn-popup-quickbuy, .product-main .khuyen-mai h4, .product-main .product-title, .woocommerce #reviews #comments h2 {
    font-family: "svn-poppins", sans-serif
}

a.devvn_buy_now_style, a.devvn_buy_now_style:hover, a.devvn_buy_now_style:focus {
    background: #2ba24c
}

.related-products-wrapper h3 {
    text-transform: uppercase;
    font-size: 20px;
    color: var(--primary-color);
    letter-spacing: 0;

    margin: 0;
}

.ProductDescription h2 {
    font-weight: normal;
    color: black
}

.related-products-wrapper .product-small, .category-page-row .product-small {
    border: 0
}

a.devvn_buy_now_style {
    margin: 0
}

.product-main .khuyen-mai {
    background: #F1F8E9;
    border-radius: 4px;
    border: 1px dashed var(--primary-color);
    padding: 10px;
    margin-bottom: 20px;
}

.product-main .khuyen-mai h4 {
    color: var(--primary-color)
}

.devvn-popup-title, .popup-customer-info-group .devvn-order-btn {
    background: var(--primary-color)
}

.product-main .khuyen-mai li {
    list-style: none;
    color: #3a3a3a;
    font-size: 14px;
    background: url(images/check@2x.png);
    background-repeat: no-repeat;
    background-size: 14px;
    background-position-y: 3px;
    padding-left: 23px;
}

.category-filtering strong {
    font-weight: normal
}

.shop-container .woof_sid_auto_shortcode.woof {
    display: none
}

.shop-container .off-canvas .sidebar-inner {
    padding: 8px
}

.woof label {
    font-weight: normal
}

.off-canvas-left .mfp-content {
    width: 280px
}

.gioi-thieu .cot3 {
    background: #f7f7f7;
    padding-top: 10px
}

.gioi-thieu .cot3 .button {
    font-weight: normal
}

.return-to-shop .button {
    font-weight: normal;
    text-transform: none;
    font-size: 14px
}

/*.slider-section .flickity-prev-next-button {*/
/*    display: none*/
/*}*/

.blog-archive .post-sidebar, .blog-single .post-sidebar {
    padding-left: 15px
}

.blog-archive .large-9, .blog-single .large-9 {
    padding-right: 15px
}

.flatsome_recent_posts ul li a {
    font-size: 14px;
    color: black
}

.flatsome_recent_posts ul li a:hover, .blog-archive .post-item .box-text .post-title:hover {
    text-decoration: underline;
    color: var(--primary-color);
}

.is-divider {
    height: 1px;
    max-width: 100%
}

.widget-title span {
    color: var(--primary-color);
    font-weight: normal;
    font-size: 18px;
    text-transform: none;
    letter-spacing: 0;
}

.widget .is-divider {
    margin-top: 5px;
}

.badge.post-date {
    top: 3%;
    left: 3%
}

.blog-archive .post-item .box-text .post-title {
    color: black;
    font-size: 19px;
    margin-bottom: 10px;
    font-weight: normal;
}

.blog-archive .post-item .box-image .image-cover {
    border-radius: 10px
}

#breadcrumbs {
    text-align: left;
    margin-bottom: 10px;
    font-size: 14px;
    padding: 0;
}

.blog-archive .archive-page-header .page-title {

    text-transform: uppercase;
    text-align: left;
    letter-spacing: 0;
    font-size: 25px;
    font-weight: 400;
    color: var(--primary-color);
}

.blog-single .entry-title {
    margin-bottom: 7px;
    font-weight: 500;
    color: var(--primary-color);
/*     font-size: 24px; */
}

.blog-single .thong-tin-them {
    font-size: 14px;
    display: block;
    border-bottom: 1px solid #ececec;
    padding-bottom: 10px;
}

.is-divider {
    display: none
}

.meta-related ul {
    background: #f7f7f7;
    padding: 10px;
    border-radius: 5px;
}

.meta-related ul li {
    list-style: square;
    font-size: 15px;
    margin-bottom: 5px;
}

.meta-related ul li a {
    color: var(--primary-color);
    text-transform: none;
}

.blog-single .blog-share {
    text-align: left !important;
}

.blog-single .danh-muc {
    margin-bottom: 8px;
}

.blog-single .danh-muc, .blog-single .the-tim-kiem {
    font-size: 15px;
}

.the-tim-kiem a {
    margin-bottom: 7px;
    margin-right: 7px;
    background: #ececec;
    padding: 2px 10px;
    color: gray;
}

.the-tim-kiem a:hover {
    background: #66b32f;
    color: white;
}

.meta-related ul li a:hover {
    text-decoration: underline;
}

.bai-viet-lien-quan h2 {
    color: var(--primary-color);

    text-transform: uppercase;
    font-size: 19px;
}

.bai-viet-lien-quan ul {
    margin-bottom: 0;
    display: inline-block;
    width: 100%;
}

.bai-viet-lien-quan ul li {
    list-style: none;
    width: 33.33%;
    float: left;
    padding-left: 4px;
    padding-right: 5px;
}

.bai-viet-lien-quan ul li .box-image img {
    height: 180px;
    border-radius: 6px;
    object-fit: cover;
    object-position: center;
}

.bai-viet-lien-quan ul li h3 {
    height: 60px;
    overflow: hidden;
    font-size: 16px;
    font-weight: 500;
    color: #000;
    margin-top: 7px;
    line-height: 20px;
}

.bai-viet-lien-quan {
    margin-top: 20px;
}

.blog-archive .large-12 {
    padding-bottom: 10px
}

.bai-viet-lien-quan ul li h3:hover {
    color: var(--primary-color);
    text-decoration: underline;
}

.fa-folder, .fa-eye {
    margin-left: 15px
}

.blog-archive .taxonomy-description p {
    margin-bottom: 7px
}

.blog-archive .taxonomy-description {
    font-size: 15px;
    text-align: left
}

.blog-archive .large-9 .badge {
    display: None
}

.blog-single .entry-image {
    display: none
}

.entry-content {
    padding-top: 0
}

.entry-content p {
    font-size: 15px
}

footer.entry-meta {
    font-size: 15px
}

.entry-content h2 {
/*     font-size: 1.25rem; */
}

.bai-viet-tin-tuc .post-item .box {
    background: white;
    padding: 8px
}

.bai-viet-tin-tuc .post-item .post-title:hover {
    text-decoration: underline;
    color: var(--primary-color)
}

.absolute-footer {
    font-size: 13px;
}

.thuong-hieu-section .ux-logo-link {
    padding: 0 !important
}

.thuong-hieu-section .ux-logo {
    padding: 7px
}

.product-info .price .amount {
    color: red;
    font-weight: normal
}

.product-info .cart {
    margin-bottom: 0
}

.thuong-hieu-section .col {
    padding-bottom: 0
}

a.back-to-top {
    background: var(--primary-color) !important;
    color: white;
    border: none !important
}

.bai-viet-tin-tuc .col.large-12 {
    padding-bottom: 0
}

.bai-viet-tin-tuc .post-item a:hover {
    color: #2f2f2f;
}

.accordion-inner p {
    display: block;
    font-size: 15px;
    color: #444444;
    margin-bottom: 10px
}

.accordion-item a {
    font-size: 15px
}

.accordion-title.active {
    background-color: rgba(0, 0, 0, .03);
    border-color: #0d6cbe;
    color: #0d6cbe;
    font-weight: 700;
}

.accordion-item {
    border-radius: 5px;
    box-shadow: 2px 2px 20px #00000014;
    margin-bottom: 15px;
    border-top: 1px solid #e6e6e6;
}

.bai-viet-tin-tuc .post-item .from_the_blog_excerpt {
    font-size: 13px !important;
    color: gray;
    font-weight: normal;
}

.footer-section {
    margin-top: -12px;

}

.footer-section .cot1 h3 {
    margin-bottom: 15px
}

.footer-section .list-item {
    padding: 25px 35px 25px;
    margin: 15px;
    background-color: var(--primary-color);
    color: #fff;
    border-radius: 6px;
}

.footer-section .cot2 .list-item {
    padding: 0;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.82);
    background: none;
}

.footer-section h3 {
    margin-bottom: 0
}

.bai-viet-tin-tuc .post-item .post-title {
    overflow: hidden;
    margin-bottom: 7px;
}

.product-small .box-image {
    padding: 8px;
}

.bai-viet-tin-tuc .flickity-prev-next-button.next {
    right: 1%
}

.bai-viet-tin-tuc .flickity-prev-next-button.previous, .bai-viet-tin-tuc .flickity-prev-next-button.next {
    right: -4%;
    bottom: 15%;
}

.widget_shopping_cart .button {
    font-weight: normal;
    text-transform: none;
}

ul.product_list_widget li a:not(.remove) {
    font-size: 14px
}

.widget_shopping_cart strong {
    font-weight: normal;
    font-size: 14px
}

.widget_shopping_cart .woocommerce-Price-amount {
    font-weight: normal;
    color: red
}

.button {
    font-weight: normal;
    text-transform: none
}

.woocommerce-cart-form .product-price span, .woocommerce-cart-form .product-subtotal span {
    font-weight: normal
}

form.checkout h3 {
    font-weight: normal;
    text-transform: none;
    letter-spacing: 0
}

.widget_shopping_cart_content p {
    font-size: 14px;
    color: black
}

.nav-dropdown-default {
    padding: 5px
}

.nav-dropdown > li > a {
    font-size: 15px
}

.gioi-thieu .cot3 .post-item .post-title {
    font-size: 14px;
    font-weight: normal
}

.gioi-thieu .cot3 .box-blog-post .is-divider {
    display: none
}

.gioi-thieu .cot3 .post-item .box-image, .gioi-thieu .cot3 .post-item .box-text {
    padding-bottom: 0
}

.gioi-thieu .cot3 .post-item {
    padding-bottom: 8px
}

a.added_to_cart {
    margin-top: 1em !important;
    color: white;
    margin-bottom: 0 !important;
    line-height: 12px !important
}

.header-bottom-nav li {
    margin: 0
}

.header-bottom-nav li a {
    font-size: 14px;
    font-weight: normal;
    padding-left: 14px;
    padding-right: 14px;
    line-height: 25px;
}

.return-to-shop a.button {
    background: var(--primary-color);
    color: white;
    font-weight: normal;
    text-transform: none;
    font-size: 14px;
    border-radius: 99px;
}

.header-bottom-nav li a:hover {
    border-radius: 99px;
}


#header-contact li a {
    padding: 5px 0
}

#header-contact {
    display: block !important
}

#header-contact li {
    display: block;
    margin: 0 !important;
}

#header-contact a:after {
    display: none
}

span.header-cart-title {
    line-height: 31px;
    letter-spacing: 0;
    color: white !important;
    font-size: 14px;
}

.header-button a {
    background-color: var(--primary-color) !important;
    line-height: 29px;
}

#header-contact a {
    font-weight: 500;
    letter-spacing: 0;
    color: #272727;
    font-size: 15px;
}

.icon-envelop:before, .icon-phone:before {
    color: var(--primary-color)
}

.form-flat input:not([type="submit"]), .form-flat select {
    border-radius: 10px
}

.box-blog-post .is-divider {
    display: None
}

.header-block .searchform-wrapper {
    padding-top: 19px;
    font-size: 15px
}

.header-block .icon-box {
    padding-top: 15px
}

.header-block .icon-box .icon-box-text {
    padding-left: 6px;
    font-size: 15px;
    padding-top: 7px;
    color: #292929;
    font-weight: 500;
    line-height: 20px;
}

.danh-muc-sp .section-title-center span {
    color: white !important
}

.section-title-container {
    margin-bottom: 0;
}

.product_list_widget .product-title {
    color: black
}

.product_list_widget span.amount {
    color: red;
    font-weight: normal
}

.section-title b {
    background-color: transparent;
}

.section-title-center span {
    margin: 0 15px;
    color: rgb(46, 148, 43) !important;
    font-weight: normal;
    text-transform: uppercase;
    letter-spacing: 0px;
    font-size: 28px !important;

}

.banner-section {
    padding-bottom: 0 !important
}

.product-category .count {
    text-transform: none !important;
    color: gray
}


.devvn-popup-content-desc .meta-related {
    display: none
}

.header-block-block-1 .large-3 {
    flex-basis: 27%;
    max-width: 27%
}

.header-block-block-1 .large-9 {
    flex-basis: 73%;
    max-width: 73%
}

.list-anh .box-text {
    padding: 0
}

.list-anh .col {
    padding-bottom: 5px !important
}

@media (max-width: 855px) {
    .title-text h2 {
        font-size: 20px;
    }

    .nav-slider {
        display: none
    }

    .sp-noi-bat .col {
        width: 50%;
        padding-bottom: 15px
    }

    .danh-muc-sp .row-cat .col {
        flex-basis: 100%;
        max-width: 100%
    }

    .sp-noi-bat .product-small .product-title a {
        font-size: 15px
    }

    .icon-menu:before {
        color: var(--primary-color);
    }

    .banner-section {
        display: none
    }

    .section-title-center span {
        font-size: 20px !important;
    }

    /*.slider-nav-outside .flickity-prev-next-button.next {*/
    /*    right: 0% !important;*/
    /*}*/

    /*.flickity-prev-next-button.previous {*/
    /*    left: 0% !important;*/
    /*}*/

    .box-push .box-text {
        padding: 5px
    }

    .sp-de-xuat .flickity-prev-next-button.next {
        right: 0%;
    }

    .bai-viet-tin-tuc .flickity-prev-next-button.previous, .bai-viet-tin-tuc .flickity-prev-next-button.next {
        right: 0%;
    }

    .blog-archive .post-item {
        padding-bottom: 10px;
        flex-basis: 50%;
        max-width: 50%
    }

    .blog-archive .post-item .box-text {
        padding-bottom: 0
    }

    .lightbox-content {
        max-width: 100%
    }

    .bai-viet-lien-quan ul li {
        width: 50%;
    }

    .bai-viet-lien-quan ul li .box-image img {
        height: 100px
    }

    .bai-viet-lien-quan ul li h3 {
        font-size: 14px
    }

    .blog-archive .post-item:nth-child(2n+1) {
        padding-right: 7px
    }

    .blog-archive .post-item .from_the_blog_excerpt {
        display: none
    }

    .blog-archive .post-item .box-text .post-title {
        font-size: 15px
    }

    .blog-archive .post-item:nth-child(2n+2) {
        padding-left: 7px
    }

    .danh-muc-sp .box-push .box-text {
        border-radius: 5px;
        border-top: 2px solid var(--primary-color);
    }

    .danh-muc-sp .flickity-prev-next-button {
        top: 0;
    }
}

.author.d-block {
    display: flex !important;
    gap: 1rem;
}

#content .nav-bar .date span {
    padding-right: 5px;
    font-size: 13px;
    color: #666;
}

#content .nav-bar {
    margin-bottom: 15px;
    padding: 10px 0px;
    border-top: 1px dashed #ccc;
    border-bottom: 1px dashed #ccc;
}

.date-post {
    padding-top: 1.5rem;
    border-top: 1px solid #ccc;
    margin-bottom: 3rem;
    font-style: italic;
}

.news-detail-wrapper .news-detail-content .news-title {
    font-size: 2rem;
    font-weight: 700;
}

.portfolio-single_detail .title {
    font-size: 18px;
    line-height: 1.3;
    margin-bottom: 5px;
    font-weight: bold;
}

.site-single .nav-bar {
    margin-bottom: 15px;
    padding: 10px 0px;
    border-top: 1px dashed #ccc;
    border-bottom: 1px dashed #ccc;
}

.portfolio-single_detail p {
    margin: 0;
}

.portfolio-single_detail td {
    width: 50%;
    margin-right: 10px;
    border: 0;
    box-shadow: 0 0 1px rgb(0 0 0 / 30%);
    padding: 1rem 1.5rem !important;
}

.portfolio-single_detail td {
    width: 50%;
    margin-right: 10px;
    border: 0;
    box-shadow: 0 0 1px rgb(0 0 0 / 30%);
    padding: 1rem 1.5rem !important;
}

.portfolio-single_detail {
    margin-bottom: 3rem;
    width: 100%;
    border-color: #ececec;
    border-spacing: 0;
}

.blog-box.vertical-blogs:last-child {
    border-bottom: unset;
    padding-bottom: unset;
    margin-bottom: unset;
}

.blog-box.vertical-blogs:last-child {
    border-bottom: unset;
}

.blog-box.vertical-blogs {
    display: flex;
    flex-wrap: wrap;
    border-bottom: 1px solid #f4f4f4;
    padding-bottom: 15px;
    margin-bottom: 15px;
}

.blog-box {
    margin-bottom: 20px;
}

.blog-box.vertical-blogs .box-images.single-height {
    height: 234px;
}

.blog-box.vertical-blogs .box-images {
    max-width: 100%;
    height: auto;
    overflow: hidden;
    flex: 0 0 35%;
}

.box-images a {
    height: 100%;
    display: block;
}

.blog-box.vertical-blogs .box-images.single-height img {
    height: 100%;
}

.blog-box.vertical-blogs .box-text {
    flex: 0 0 65%;
    padding-left: 20px;
}

.blog-box.vertical-blogs .box-text .date {
    padding-top: 13px;
}

.blog-box.vertical-blogs .box-text .title.bg-title a {
    font-size: 23px;
    line-height: 30px;
}

.date {
    padding-top: 13px;
}

.date span {
    font-size: 13px;
    color: #999999;
    font-weight: 300;
}

.blog-box.vertical-blogs .box-text .desc {
    padding-top: 13px;
}

.blog-box.vertical-blogs .box-text .desc span {
    font-size: 15px;
    color: #333333;
    font-weight: 400;
    line-height: 22px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    height: 63px;
}

.blog-box.vertical-blogs .box-text .blog-see-more {
    padding-top: 17px;
}

.blog-box.vertical-blogs .box-images img {
    width: 100%;
    height: auto;
    vertical-align: middle;
}

.blog-box.vertical-blogs .box-text .blog-see-more a {
    display: inline-block;
    padding: 10px 28px;
    font-size: 15px;
    color: #333333;
    background: #e4e4e4;
    transition: 0.3s ease-out;
}

.author-block {
    background: #eeeeee;
    padding: 15px;
    display: flex;
    align-items: center;
}

.author-block .author-img {
    flex: 1;
}

.author-block .author-info {
    flex: 7;
    margin-left: 2rem;
}

.author-block .author-info .name a {
    color: #007bff;
}

.author-block .author-info .name {
    font-size: 18px;

    font-weight: 700;
    margin-bottom: 0.8rem;
}

.contact-social ul {
    list-style: none;
}


.header-wrapper .html.custom #logo {
	display:none;
}

@media (min-width: 1023px) {

    #logo:after {
        background: red;
        content: "";
    }
	.header-wrapper.stuck .html.custom #logo {
	display:inline-block;
	}
    #logo img {
        max-height: 100px !important;
        background: white;
    }

    .header-main:before {
        content: "";
        display: inline-block;
        width: calc(50% - 570px);
        left: 0px;
        top: 0px;
        position: absolute;
        height: 120px;
        background: #fff;
    }

    .header-inner:before {
        content: "";
        display: inline-block;
        background: #fff;
        left: 0px;
        width: 200px;
        height: 120px;
        position: absolute;
        left: 0px;
        top: 0px;
        clip-path: polygon(0 0, 100% 0, 40% 100%, 0% 100%);
    }

    .header-wrapper:not(.stuck) #logo img {
        display: inline-block;
        float: left;
        min-width: auto;
        text-align: center;
        line-height: 0;
        position: absolute;
        margin-left: -40px;
        /* left: 0px; */
        top: 14px;
    }

    .header-wrapper:not(.stuck) #logo:before {
        pointer-events: none;
        content: "";
        display: inline-block;
        background: #fff;
        width: 167px;
        height: 120px;
        /*position: absolute;*/
        left: 0;
        top: 0;
        clip-path: polygon(0 0, 112% 0, 39% 100%, 0% 100%);
    }

    /*#logo:after {*/
    /*    pointer-events: none;*/
    /*    content: "";*/
    /*    display: inline-block;*/
    /*    background: #fff;*/
    /*    left: 0px;*/
    /*    width: 167px;*/
    /*    height: 120px;*/
    /*     position: absolute;*/
    /*    left: 0px;*/
    /*    top: 0px;*/
    /*    clip-path: polygon(0 0, 112% 0, 39% 100%, 0% 100%);*/
    /*}*/
    .header-wrapper:not(.stuck) .header-bottom .flex-row {
        padding-left: 140px;
    }
}

@media only screen and (max-width: 48em) {
    /*************** ADD MOBILE ONLY CSS HERE  ***************/


}

.recruitment__main-heading .recruitment-box-detail .title {
    line-height: 1.8;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 2rem;
    color: #049cd7;
}

.recruitment__main-heading .recruitment-desc p {
    font-size: 14px;
    line-height: 20px;
}

.recruitment__main-heading .recruitment-desc {
    font-size: 1.8rem;
    padding-top: 2rem;
    border-top: 1px solid #049cd7;
    color: #049cd7;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    font-weight: 400;
}

@media (min-width: 992px) {
    .recruitment__main-heading .recruitment-desc .box-right {
        transform: translateX(150%);
    }
}

.recruitment__main-heading .recruitment-desc .box-right {
    position: relative;
}

.recruitment__main-wrapper .title {
    line-height: 1.8;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 2rem;
    color: #049cd7;
}

.recruitment__main-list .recruitment-box {
    background: rgb(217 217 217 / 20%);
}

.recruitment-box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    padding: 2rem;
    border-bottom: 1px solid #049cd7;
}

.recruitment-box .recruitment-pos .pos {
    color: #049cd7;
    font-size: 18px;
}

.recruitment-box .recruitment-pos .salary {
    color: #000;
}

@media (min-width: 768px) {
    .d-md-none {
        display: none !important;
    }
}

.d-block {
    display: block !important;
}

.recruitment-box .recruitment-view {
    display: flex;
    justify-content: center;
    align-items: center;
}

.recruitment-box .recruitment-view .date {
    margin-right: 6rem;
}

.recruitment-box .recruitment-view .view-more {
    width: 170px;
    background: #049cd7;
    color: #fff;
    padding: 8px 0;
    text-align: center;
    border-radius: 6px;
    border: 1px solid transparent;
}

.recruitment-box .recruitment-view .view-more a {
    display: block;
    font-size: 15px;
    color: #fff;
}

.item-project {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}

.item-project .item-project__img .pa1 {
    padding-top: 66.55%;
    position: relative;
}

.item-project .item-project__img img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.item-project .item-project__content {
    padding: 1rem 1rem 1.2rem;
    background: #fff;
    border-bottom: 2px solid var(--primary-color);
    height: 100%;
}

.item-project .item-project__content h3 {
    font-size: 17px;
    font-weight: 600;
    margin-bottom: 0.5rem;
    text-transform: uppercase;
}

.item-project .item-project__content p {
    line-height: 1.4;
    margin-top: 5px;
    margin-bottom: 0;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.item-project .item-project__content svg {
    width: 20px;
    min-width: 20px;
    height: 20px;
}

.item-project .item-project__content p {
    line-height: 1.4;
    margin-top: 5px;
    margin-bottom: 0;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.wn-breadcrumbs {
    background: #f1f2f2;
    border-bottom: 1px solid #dcdcdc;
    padding: 1rem 0;
    margin-bottom: .75rem;
}

.wn-breadcrumbs .row {


    align-items: center;
}

.wn-breadcrumbs .row .col {
    padding: 0 15px;
    display: flex;
    align-items: center;
}

.wn-breadcrumbs .row p {
    margin-bottom: 0;
}

.staff-title {
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1.4;
    color: #049cd7;
    margin-bottom: 2.5rem;
    border-bottom: 1px solid #c4c4c4;
}

.staff-list .staff-item {
    margin-bottom: 3.5rem;
    display: flex;
}

.staff-list .staff-item .staff-img {
    flex: 1;
    padding-top: 30%;
}

.staff-img img {
    max-width: 185px;
}

.staff-list .staff-item .staff-desc {
    flex: 2;
    padding: 0 2rem;
}

.staff-name {
    text-transform: uppercase;
    font-size: 2rem;
    margin-bottom: 1rem;
    font-weight: 700;
}

.text-has-disc {
    font-weight: 700;
    position: relative;
    padding-left: 2rem;
    line-height: 1.7;
    display: block;
}

.text-has-disc::before {
    position: absolute;
    width: 5px;
    height: 5px;
    background: #000;
    content: "";
    top: 8px;
    left: 6px;
    border-radius: 50%;
}

@media (min-width: 992px) {
    .staff-list .staff-item .staff-social {
        margin-left: 2rem;
    }
}

.staff-social {
    margin: 1rem 0;
}

.staff-social ul {
    display: flex;
    list-style: none;
    align-items: center;
}

.main-title.main-other {
    text-align: left;
    border-bottom: 1px solid #1b75bb;
    padding-bottom: 10px;
    margin-bottom: 40px;
}

.main-title.main-other .title {
    font-size: 2.4em;
}

.baochi-item {
    overflow: hidden;
    box-shadow: 0 20px 20px rgb(0 0 0 / 5%);
    border: 1px solid #1b75bb;
    border-radius: 10px;
    height: 100%;
}

.baochi-item .post-header {
    display: flex;
    align-items: center;
    padding: 20px 10px;
    background: #f7f7f7;
}

.baochi-item .post-header .logo-bao {
    width: 30%;
    padding-right: 20px;
}

.baochi-item .post-title {
    font-weight: bold;
    font-size: 15px;
}

.baochi-item .post-thumbnail {
    position: relative;
    display: block;
}

.baochi-item .post-thumbnail:before {
    content: "";
    width: 100%;
    height: 100%;
    background-color: rgb(27 117 187 / 63%);
    position: absolute;
    top: 0;
    left: 0;
    transition: all .3s;
    opacity: 0;
    z-index: 1;
}

.baochi-item .post-thumbnail img {
    height: 280px;
    object-fit: cover;
    width: 100%;
    position: relative;
    height: 100%;
}

.baochi-item .post-thumbnail:after {
    content: "";
    background: url(/wp-content/uploads/2025/06/broken-link.png) no-repeat;
    background-size: 40px;
    color: #fff;
    width: 40px;
    height: 40px;
    position: absolute;
    top: 50%;
    transform: translateX(-50%);
    left: 50%;
    transition: all .3s;
    opacity: 0;
    z-index: 2;
}

.baochi-item .post-thumbnail:hover:before {
    opacity: 1;
}

.baochi-item .post-thumbnail:hover:after, .baochi-item .post-thumbnail:hover:before {
    opacity: 1;
}

.header-main .main-menu ul li.menu-item-has-children ul {
    position: absolute;
    z-index: 9999;
    min-width: 150px;
    width: max-content;
    margin: unset;
    transition: 0.3s ease-out;
    flex-direction: column;
    align-items: flex-start;
    background: #fff;
    -webkit-box-shadow: 0px 2px 12px 2px rgba(238, 238, 238, 0.34);
    box-shadow: 0px 2px 12px 2px rgba(238, 238, 238, 0.34);
    padding: 10px 12px 10px 15px;
    display: none;
}

.header-bottom-nav li a {
    color: var(--primary-color);
    padding: 4px 14px;
    line-height: 25px;
}

.nav.header-nav {
    gap: 10px;
}

@media (min-width: 850px) {
    header#header .nav-dropdown {
        display: block;
    }

    header#header .nav-dropdown ul.sub-menu {
        position: absolute;
        left: 100%;

        top: -1rem;
        background: #fff;
        width: 250px;
        padding: 20px 10px;
        display: none !important;
        border-radius: 5px;
        -webkit-box-shadow: 1px 1px 15px rgb(0 0 0 / 15%);
        box-shadow: 1px 1px 15px rgb(0 0 0 / 15%);
    }

    header#header .nav-dropdown ul.sub-menu a {
        white-space: normal;
        margin: 0;
        padding: 4px 5px 4px 10px;
        border: 0;
        font-weight: 400;
        font-size: 15px;
    }

    header#header .nav-dropdown li:hover > ul.sub-menu {
        display: block !important;
    }

    header#header .nav-dropdown li {
        border-right: 0;
        white-space: normal;
        width: 100%;
        display: block;
        position: relative;
    }

    header#header .nav-dropdown li.menu-item-has-children > a {
        color: var(--primary-color);
        display: flex;
        align-items: center;
        justify-content: space-between;
        font-weight: 400;
        text-transform: none;
        font-size: 15px;
    }

    header#header .nav-dropdown li.menu-item-has-children > a:after {
        display: block;
        color: var(--primary-color);

        content: '\f105';
        font-family: fl-icons !important;
        margin-right: .5rem;
        font-size: 1.2rem;
    }

    header#header .nav-dropdown li.menu-item-has-children > a:hover:after {
        color: white;


    }

    header#header .nav-dropdown li.active > a {
        background-color: var(--primary-color);
        border-radius: 99px;
        color: white;
    }
	
	.staff-col.large-3 {
        flex: 0 0 20%;
        max-width: 20%;
    }
}

#footer svg {
    width: 15px;
    height: 15px;
}

#footer .icon-box-left .icon-box-img + .icon-box-text {
    padding-left: 0;
}

#footer .img.img-no-bg {
    background-color: transparent;
}

#footer .cot1 {
    font-weight: 600;
}

#footer .cot1 a {
    color: var(--primary-color);
    font-weight: bold;
}

#guilienhe, #ws-sticky_dhn {
    margin-top: 1rem;
    display: block;
    font-size: 18px;
    background: #ec1821;
    color: #fff;
    font-weight: 600;
    text-transform: uppercase;
    cursor: pointer;
    border: none;
    border-radius: 5px;
    width: 100%;
    height: auto;
}

@media (max-width: 991px) {
    .staff-list .staff-item {
        display: block;
    }
}

/*.read-more-button {*/
/*    display: inline-block;*/
/*    font-size: 15px;*/
/*    color: #333333;*/
/*    background: #e4e4e4;*/
/*    transition: 0.3s ease-out;*/

/*}*/

/*.read-more-button:hover {*/
/*    background: var(--primary-color);*/
/*    color: #fff;*/
/*}*/
.section-customers .col-inner {
    height: 100%;
}
.section-customers .icon-box {
    border: 1px solid #d0d0d0;
    padding: 18px 10px;
    border-radius: 5px;
    background-color: white;
    align-items: center;
    height: 100%;
}

.product-small .price del .amount{
    color: #808285;
}
.product-small .price-wrapper .price ins .amount {
    color: #ec1821;
    background: unset;
    font-weight: 600;
    padding-left: 10px;
}
.section-customers .icon-box-img {
    border: 1px solid #d0d0d0;
    border-radius: 50%;
    overflow: hidden;
}

.section-customers .icon-box-img img {
    object-fit: fill;
    padding-top: 0;
}

.dark p,.dark {
    color: #fff;
}

.explore-box {
    background: #fff;
    border-radius: 10px;
    padding: 20px 15px 15px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    text-align: center;
}

.explore-box:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
}

.flickity-page-dots {
    left: 20%;
    right: 20%;
}

.slide-about .slider .flickity-slider > .img {
    width: 20% !important;
    box-sizing: border-box;
    padding: 5px;
	opacity: 1 !important;
}

@media (max-width: 549px) {
  .slide-about .slider .flickity-slider > .img {
    	width: 100% !important;
	   	padding: 5px;
	  	opacity: 1 !important;
	}
}

ul.product_list_widget li a:not(.remove):hover {
	border-radius: 0px;
}

ul.product_list_widget li a.remove {
    position: absolute;
    padding: 0;
    right: 0;
}

/***************************** Popup *****************************/
#wpcf7-f23955-o2 .wpcf7-submit {
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: fit-content;
}

.mfp-close {
    display: none !important;
}

#wrapper-scroll-popup {
    position: relative !important; /* Quan trọng để nút con căn theo khung này */
}

.custom-popup-close {
    position: absolute;
    top: 15px;        /* Cách mép trên */
    right: 15px;      /* Cách mép phải */
    z-index: 999;     /* Luôn nổi lên trên ảnh và text */
    
    width: 32px;
    height: 32px;
    background: rgba(255, 255, 255, 0.9); /* Nền trắng mờ nhẹ */
    border-radius: 50%;
    
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15); /* Đổ bóng */
    transition: all 0.3s ease;
}

.custom-popup-close svg {
    width: 20px;
    height: 20px;
    stroke: #333; 
}

.custom-popup-close:hover {
    background: #fff;
    transform: rotate(90deg);
    box-shadow: 0 4px 12px rgba(0,0,0,0.25);
}

/***************************** Hình bài viết tin tức dưới phần dự án *****************************/
/* Khung chứa ảnh */
.box-images.single-height {
    width: 100%;       /* Đảm bảo khung rộng hết cỡ */
    height: 200px;      /* Bạn có thể chỉnh lại chiều cao này cho vừa ý */
    overflow: hidden;   /* Cắt bỏ phần ảnh thừa ra ngoài */
    display: block;
}

/* Xử lý ảnh bên trong */
.box-images.single-height img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;    /* Quan trọng nhất: Giúp ảnh không bị bóp */
    object-position: center center;  /* Giữ tâm hình ảnh ở giữa khung */
    transition: transform 0.3s ease; /* Thêm hiệu ứng mượt mà khi rê chuột */
}

/*cuttom product*/
/* Container tổng */
.shop-custom-section {
    max-width: 850px;
    margin: 20px auto;
    line-height: 1.5;
}

/* Chia tỷ lệ nút 2:1 */
.button-row-pro {
    display: flex;
    gap: 12px;
    margin-bottom: 25px;
}

.btn-col-main { flex: 2; }
.btn-col-side { flex: 1; }

/* Chỉnh nút của Flatsome cho nhỏ lại một chút để chuyên nghiệp */
.btn-col-main button, 
.btn-col-main .button {
    font-size: 14px !important;
    letter-spacing: 0.05em;
    height: 42px;
    line-height: 42px;
}

/* Nút Email tùy chỉnh */
.custom-email-btn {
    display: block;
    background-color: #d2691e;
    color: #fff !important;
    text-align: center;
    height: 42px;
    line-height: 40px; /* Căn giữa chữ */
    border-radius: 10px;
    font-weight: bold;
    text-decoration: none;
    font-size: 13px;
    text-transform: uppercase;
    transition: all 0.3s;
    border: 1px solid rgba(0,0,0,0.1);
}

.custom-email-btn:hover {
    background-color: #a0522d;
    box-shadow: 0 3px 8px rgba(0,0,0,0.15);
}

/* Khung Khuyến mãi nét đứt mảnh hơn */
.promo-container {
    border: 1px dashed #666; /* Đổi thành 1px cho tinh tế */
    padding: 20px 15px 10px 15px;
    position: relative;
    margin-bottom: 20px;
    border-radius: 4px;
}

.promo-header {
    position: absolute;
    top: -11px;
    left: 20px;
    background: #fff;
    padding: 0 10px;
    font-weight: bold;
    font-size: 13px; /* Font nhỏ hơn */
    color: #444;
}

.promo-content {
    list-style: none;
    padding: 0;
    margin: 0;
}

.promo-content li {
    position: relative;
    padding-left: 20px;
    margin-bottom: 6px;
    font-size: 14px; /* Font nhỏ hơn */
    color: #555;
}

.promo-content li::before {
    content: "•";
    position: absolute;
    left: 5px;
    color: #d2691e;
    font-weight: bold;
}

/* Khung Footer Showroom */
.info-footer-box {
    border: 1px solid #ddd; /* Đường kẻ nhạt hơn */
    border-radius: 6px;
    padding: 12px;
    text-align: center;
}

.info-footer-box p {
    margin: 2px 0;
    font-size: 14px; /* Font nhỏ hơn */
    color: #333;
}

.highlight-text {
    color: #bc963e !important;
    font-weight: bold;
    text-decoration: none;
    font-size: 15px;
}

/* Mobile responsive */
@media (max-width: 600px) {
    .button-row-pro { flex-direction: column; gap: 10px; }
    .btn-col-main, .btn-col-side { width: 100%; }
    .promo-header { font-size: 12px; }
    .info-footer-box p { font-size: 13px; }
}

/* ============================================ */
/* TRANGTRI360 — CUSTOM CSS FOR FLATSOME       */
/* Prefix: .tt360- (tránh xung đột)            */
/* ============================================ */

/* ---------- Variables ---------- */
:root {
  --tt360-primary: #1d62ed;
  --tt360-primary-rgb: 29, 98, 237;
  --tt360-dark: #101622;
  --tt360-bg-light: #f6f6f8;
  --tt360-slate-900: #0f172a;
  --tt360-slate-700: #334155;
  --tt360-slate-500: #64748b;
  --tt360-slate-400: #94a3b8;
  --tt360-slate-300: #cbd5e1;
  --tt360-slate-200: #e2e8f0;
  --tt360-slate-100: #f1f5f9;
  --tt360-font: 'Space Grotesk', sans-serif;
}

body .page-wrapper {
  font-family: var(--tt360-font);
}

/* ============================================ */
/* HEADER                                       */
/* ============================================ */
.tt360-header .row { max-width: 1280px; margin: 0 auto; }

.tt360-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1280px;
  margin: 0 auto;
}

.tt360-logo {
  display: flex;
  align-items: center;
  gap: 12px;
}

.tt360-logo-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--tt360-primary);
  color: #fff;
  border-radius: 4px;
  padding: 6px;
}

.tt360-logo-text {
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--tt360-slate-900);
  margin: 0;
}

.tt360-nav {
  display: flex;
  align-items: center;
  gap: 32px;
}

.tt360-nav-link {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--tt360-slate-500);
  text-decoration: none;
  transition: color 0.2s;
}
.tt360-nav-link:hover,
.tt360-nav-link.active {
  color: var(--tt360-slate-900);
}

.tt360-header-actions { display: flex; align-items: center; gap: 16px; }

.tt360-btn-quote {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  padding: 0 20px;
  background: var(--tt360-primary);
  color: #fff;
  font-size: 0.875rem;
  font-weight: 700;
  border-radius: 4px;
  text-decoration: none;
  transition: background 0.2s;
}
.tt360-btn-quote:hover { background: #1854cc; color: #fff; }

@media (max-width: 768px) {
  .tt360-nav { display: none; }
  .tt360-btn-quote { display: none; }
}

/* ============================================ */
/* HERO BADGE                                   */
/* ============================================ */
.tt360-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  border-radius: 999px;
  background: rgba(var(--tt360-primary-rgb), 0.2);
  border: 1px solid rgba(var(--tt360-primary-rgb), 0.3);
  color: var(--tt360-primary);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 24px;
  backdrop-filter: blur(8px);
}

.tt360-pulse-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--tt360-primary);
  animation: tt360-pulse 2s ease-in-out infinite;
}

@keyframes tt360-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.5; transform: scale(1.3); }
}

/* ============================================ */
/* CATEGORY TABS                                */
/* ============================================ */
.tt360-category-tabs {
  display: flex;
  gap: 32px;
  justify-content: center;
  overflow-x: auto;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.tt360-category-tabs::-webkit-scrollbar { display: none; }

.tt360-tab {
  padding: 16px 0;
  font-size: 0.875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--tt360-slate-500);
  text-decoration: none;
  border-bottom: 3px solid transparent;
  white-space: nowrap;
  transition: color 0.2s, border-color 0.2s;
}
.tt360-tab:hover { color: var(--tt360-primary); }
.tt360-tab.active {
  color: var(--tt360-slate-900);
  border-bottom-color: var(--tt360-primary);
}

/* ============================================ */
/* SECTION HEADER                               */
/* ============================================ */
.tt360-section-header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  gap: 16px;
  margin-bottom: 32px;
}

.tt360-section-title {
  font-size: 1.875rem;
  font-weight: 700;
  color: var(--tt360-slate-900);
  margin: 0 0 8px;
}

.tt360-section-subtitle {
  color: var(--tt360-slate-500);
  margin: 0;
}

.tt360-view-all {
  color: var(--tt360-primary);
  font-weight: 700;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.tt360-view-all:hover { text-decoration: underline; color: var(--tt360-primary); }

/* ============================================ */
/* PROJECT CARDS                                */
/* ============================================ */
.tt360-project-card {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  background: #fff;
  border: 1px solid var(--tt360-slate-200);
  box-shadow: 0 1px 3px rgba(0,0,0,0.05);
  transition: box-shadow 0.3s, border-color 0.3s;
  margin-bottom: 20px;
}
.tt360-project-card:hover {
  box-shadow: 0 10px 30px rgba(0,0,0,0.1);
  border-color: rgba(var(--tt360-primary-rgb), 0.5);
}

.tt360-project-img {
  position: relative;
  width: 100%;
  padding-top: 56.25%; /* 16:9 */
  overflow: hidden;
}

.tt360-project-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transition: transform 0.7s ease;
}
.tt360-project-card:hover .tt360-project-bg {
  transform: scale(1.1);
}

.tt360-project-info { padding: 24px; }

.tt360-project-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 8px;
}

.tt360-project-name {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--tt360-slate-900);
  margin: 0;
  transition: color 0.2s;
}
.tt360-project-card:hover .tt360-project-name { color: var(--tt360-primary); }

.tt360-project-location {
  font-size: 0.875rem;
  color: var(--tt360-slate-500);
  margin: 4px 0 0;
}

/* Khung vòng tròn mũi tên mặc định */
.tt360-project-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--tt360-slate-100);
  transition: background 0.2s ease;
  flex-shrink: 0;
}

/* Kích thước ảnh icon bên trong vòng tròn */
.tt360-project-arrow img {
  width: 20px;  
  height: 20px;
  object-fit: contain;
  transition: filter 0.2s ease; /* Thêm cái này để lúc đổi sang trắng nó mượt, không bị chớp */
}

/* 1. Khi Hover: Đổi màu NỀN vòng tròn thành màu Xanh (Primary) */
.tt360-project-card:hover .tt360-project-arrow {
  background: var(--tt360-primary);
}

/* 2. Khi Hover: Đổi màu ẢNH mũi tên thành màu Trắng */
.tt360-project-card:hover .tt360-project-arrow img {
  filter: brightness(0) invert(1);
}

.tt360-project-meta {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--tt360-slate-100);
}

.tt360-meta-label {
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--tt360-slate-400);
  margin: 0 0 4px;
}

.tt360-meta-value {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--tt360-slate-700);
  margin: 0;
}

/* ============================================ */
/* STATS & MAP (TAILWIND STYLE CONVERSION)     */
/* ============================================ */

/* Box bọc ngoài cùng: Nền trắng, bo góc, chia 2 cột trên Desktop */
.tt360-stats-map-wrapper {
  display: grid;
  grid-template-columns: 1fr;
  gap: 48px;
  align-items: center;
  background-color: #ffffff;
  border-radius: 12px;
  padding: 32px;
  border: 1px solid var(--tt360-slate-200);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
}
@media (min-width: 1024px) {
  .tt360-stats-map-wrapper {
    grid-template-columns: 1fr 1fr;
    gap: 48px;
  }
}

/* Cột trái (Chữ & Thông số) */
.tt360-stats-content {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.tt360-stats-title {
  font-size: 1.875rem;
  font-weight: 700;
  color: var(--tt360-slate-900);
  margin-bottom: 16px;
  line-height: 1.2;
}
.tt360-stats-desc {
  color: var(--tt360-slate-500);
  margin-bottom: 0;
  line-height: 1.6;
}

/* Lưới 4 ô thông số */
.tt360-stats-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
.tt360-stat-card {
  background-color: var(--tt360-bg-light);
  padding: 24px;
  border-radius: 8px;
  border: 1px solid var(--tt360-slate-200);
}
.tt360-stat-icon {
  margin-bottom: 12px;
  display: flex;
  align-items: center;
}

.tt360-stat-icon img {
  width: 24px;
  height: 24px; 
  object-fit: contain;
}
.tt360-stat-number {
  font-size: 1.875rem;
  font-weight: 700;
  color: var(--tt360-slate-900);
  margin: 0;
}
.tt360-stat-label {
  font-size: 0.875rem;
  color: var(--tt360-slate-500);
  margin: 0;
}

/* Cột phải: Bản đồ (Đã khóa chặt tọa độ) */
.tt360-map-container {
  position: relative;
  width: 100%;
  height: auto !important;
  aspect-ratio: auto !important;
  background-color: var(--tt360-slate-100);
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--tt360-slate-200);
}

.tt360-map-image {
  width: 100%;
  height: auto;
  display: block;
}

/* Các điểm ghim trên bản đồ (Hover bung Tooltip) */
.tt360-map-pin {
  position: absolute;
  transform: translate(-50%, -50%); /* Cắm chặt tâm chấm bi */
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10;
}

.tt360-pin-dot {
  position: relative;
  background-color: var(--tt360-primary);
  border-radius: 50%;
  border: 2px solid #ffffff;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
  z-index: 2;
}
.tt360-pin-dot.tt360-pin-large { width: 16px; height: 16px; }
.tt360-pin-dot.tt360-pin-sm { width: 12px; height: 12px; }

.tt360-pin-ping {
  position: absolute;
  top: 0;
  width: 16px;
  height: 16px;
  background-color: var(--tt360-primary);
  border-radius: 50%;
  animation: tt360-ping 1.5s cubic-bezier(0, 0, 0.2, 1) infinite;
  z-index: 1;
}

@keyframes tt360-ping {
  75%, 100% { transform: scale(2.5); opacity: 0; }
}

.tt360-pin-label {
  position: absolute;
  top: 100%;
  margin-top: 8px;
  padding: 4px 8px;
  background-color: #ffffff;
  font-size: 0.75rem;
  font-weight: 700;
  border-radius: 4px;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
  color: var(--tt360-slate-900);
  opacity: 0;
  transition: opacity 0.3s ease;
  white-space: nowrap;
  z-index: 3;
  pointer-events: none;
}
.tt360-map-pin:hover .tt360-pin-label { opacity: 1; }

/* ============================================ */
/* MARQUEE                                      */
/* ============================================ */
.tt360-marquee-wrapper {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.tt360-marquee-track {
  display: flex;
  gap: 64px;
  min-width: 100%;
  animation: tt360-marquee 30s linear infinite;
}

.tt360-marquee-logo {
  font-size: 1.5rem;
  font-weight: 900;
  color: var(--tt360-slate-300);
  text-transform: uppercase;
  flex-shrink: 0;
  white-space: nowrap;
}

@keyframes tt360-marquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ============================================ */
/* CTA / CONTACT FORM                          */
/* ============================================ */
.tt360-cta-section {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
}

.tt360-cta-bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #0f172a 100%);
}

.tt360-cta-glow {
  position: absolute;
  top: -96px;
  right: -96px;
  width: 256px;
  height: 256px;
  background: rgba(var(--tt360-primary-rgb), 0.2);
  border-radius: 50%;
  filter: blur(60px);
}

.tt360-cta-inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  padding: 64px;
  max-width: 1280px;
  margin: 0 auto;
}

@media (max-width: 1023px) {
  .tt360-cta-inner {
    grid-template-columns: 1fr;
    padding: 40px 24px;
  }
}

.tt360-cta-info { display: flex; flex-direction: column; justify-content: center; }

.tt360-cta-title {
  font-size: 2rem;
  font-weight: 700;
  color: #fff;
  margin: 0 0 16px;
  line-height: 1.25;
}
@media (min-width: 768px) { .tt360-cta-title { font-size: 2.25rem; } }

.tt360-cta-desc {
  color: var(--tt360-slate-400);
  font-size: 1.125rem;
  margin: 0 0 32px;
}

.tt360-contact-items { display: flex; flex-direction: column; gap: 16px; }

.tt360-contact-item {
  display: flex;
  align-items: center;
  gap: 16px;
  color: #fff;
}

.tt360-contact-icon {
  background: rgba(var(--tt360-primary-rgb), 0.2);
  padding: 12px;
  border-radius: 8px;
  color: var(--tt360-primary);
  display: flex;
  align-items: center;
  justify-content: center;
}

.tt360-contact-label {
  font-size: 0.875rem;
  color: var(--tt360-slate-400);
  margin: 0;
}

.tt360-contact-value {
  font-size: 1.125rem;
  font-weight: 700;
  color: #fff;
  margin: 0;
}

/* Form */
.tt360-form-wrapper {
  background: #fff;
  padding: 32px;
  border-radius: 12px;
  border: 1px solid #334155;
  box-shadow: 0 25px 50px rgba(0,0,0,0.25);
}

.tt360-contact-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.tt360-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
@media (max-width: 767px) {
  .tt360-form-row { grid-template-columns: 1fr; }
}

.tt360-form-group {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.tt360-form-group label {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--tt360-slate-700);
}

.tt360-form-group input,
.tt360-form-group select,
.tt360-form-group textarea {
  width: 100%;
  padding: 10px 16px;
  border-radius: 4px;
  background: var(--tt360-slate-100);
  border: 1px solid var(--tt360-slate-200);
  color: var(--tt360-slate-900);
  font-family: var(--tt360-font);
  font-size: 0.9rem;
  transition: border-color 0.2s, box-shadow 0.2s;
  box-sizing: border-box;
}
.tt360-form-group input:focus,
.tt360-form-group select:focus,
.tt360-form-group textarea:focus {
  outline: none;
  border-color: var(--tt360-primary);
  box-shadow: 0 0 0 3px rgba(var(--tt360-primary-rgb), 0.15);
}

.tt360-submit-btn {
  margin-top: 8px;
  width: 100%;
  padding: 12px 24px;
  background: var(--tt360-primary);
  color: #fff;
  font-weight: 700;
  font-size: 1rem;
  font-family: var(--tt360-font);
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.2s;
  box-shadow: 0 8px 20px rgba(var(--tt360-primary-rgb), 0.3);
}
.tt360-submit-btn:hover { background: #1854cc; }

/* ============================================ */
/* FOOTER                                       */
/* ============================================ */
.tt360-footer-brand { }
.tt360-footer-logo {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}
.tt360-logo-icon-sm { padding: 4px; }

.tt360-footer-desc {
  font-size: 0.875rem;
  color: var(--tt360-slate-500);
  line-height: 1.7;
}

.tt360-footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.tt360-footer-links li a {
  font-size: 0.875rem;
  color: var(--tt360-slate-500);
  text-decoration: none;
  transition: color 0.2s;
}
.tt360-footer-links li a:hover { color: var(--tt360-primary); }

.tt360-social-links {
  display: flex;
  gap: 16px;
}

.tt360-social-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 4px;
  background: var(--tt360-slate-100);
  color: var(--tt360-slate-500);
  text-decoration: none;
  transition: background 0.2s, color 0.2s;
}
.tt360-social-icon:hover {
  background: var(--tt360-primary);
  color: #fff;
}
.tt360-social-icon .material-symbols-outlined { font-size: 20px; }

.tt360-footer-bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}
.tt360-footer-bottom p {
  font-size: 0.875rem;
  color: var(--tt360-slate-500);
  margin: 0;
}
.tt360-footer-legal {
  display: flex;
  gap: 24px;
}
.tt360-footer-legal a {
  font-size: 0.875rem;
  color: var(--tt360-slate-500);
  text-decoration: none;
}
.tt360-footer-legal a:hover { color: var(--tt360-primary); }

/* ============================================ */
/* ÉP CHIỀU CAO BẰNG NHAU (EQUAL HEIGHT)       */
/* ============================================ */

/* 1. Ép thẻ <a> bọc ngoài cùng giãn 100% chiều cao của cột */
#tt360-project-grid .col > a {
    height: 100%;
    display: flex; /* Dùng flex để phần tử con bên trong tự động stretch */
}

/* 2. Biến card thành dạng cột Flexbox và giãn 100% */
.tt360-project-card {
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
    margin-bottom: 0; /* Bỏ margin bottom cũ đi vì Flatsome đã có gap của row */
}

/* 3. Phần nội dung (chứa tiêu đề) giãn ra để chiếm hết không gian trống */
.tt360-project-info {
    display: flex;
    flex-direction: column;
    flex-grow: 1; /* Cực kỳ quan trọng: Lấp đầy khoảng trống */
}

/* 4. Đẩy phần meta (Hạng mục) xuống sát đáy card */
.tt360-project-meta {
    margin-top: auto; /* Tự động đẩy phần này xuống dưới cùng */
}

/* Phục hồi khoảng cách giữa các hàng do bị ép height 100% */
#tt360-project-grid .col {
    padding-bottom: 30px !important; 
}

/* Fix lỗi cắt chân chữ trong ô Select của CF7 trên Flatsome */
.tt360-form-group select.wpcf7-form-control,
.tt360-form-group input.wpcf7-form-control {
    height: auto !important;
    min-height: 46px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    line-height: 1.5 !important;
}

/* ============================================ */
/* KỸ THUẬT CSS MASK CHO ICON ĐUÔI SVG          */
/* ============================================ */
.tt360-mask-icon {
  width: 24px;
  height: 24px;
  background-color: var(--tt360-primary); /* Đổ màu xanh dương của bạn lên icon */
  -webkit-mask: var(--icon-url) no-repeat center / contain;
  mask: var(--icon-url) no-repeat center / contain;
}

/* ============================================ */
/* RESPONSIVE FINE-TUNING                       */
/* ============================================ */
@media (max-width: 549px) {
  .tt360-section-title { font-size: 1.5rem; }
  .tt360-stats-grid { grid-template-columns: 1fr; }
  .tt360-cta-title { font-size: 1.5rem; }
  .tt360-form-wrapper { padding: 20px; }
  .tt360-footer-bottom { flex-direction: column; text-align: center; }
  .tt360-footer-legal { justify-content: center; }
}


/***************************** POPUP BẢNG HIỆU *****************************/

/* === BÊN TRÁI — Ảnh nền + overlay === */
.popup-bh-left-bg {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 520px;
    background-size: cover;
    background-position: center top;
    display: flex;
    flex-direction: column;
}
.popup-bh-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(100,0,0,0.5) 0%,
        rgba(60,0,0,0.4) 30%,
        rgba(20,0,0,0.8) 60%,
        rgba(10,0,0,0.96) 100%
    );
    z-index: 1;
    pointer-events: none;
}
.popup-bh-left-content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex: 1;
    padding: 24px 22px;
    font-family: "Be Vietnam Pro", -apple-system, sans-serif;
}

/* Badge */
.popup-bh-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #ffd700;
    color: #7a0000;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: 6px 12px;
    border-radius: 3px;
    margin-bottom: 12px;
    width: fit-content;
    box-shadow: 0 3px 10px rgba(0,0,0,0.3);
}

/* Headline */
.popup-bh-headline {
    font-weight: 900 !important;
    font-size: 24px !important;
    line-height: 1.2 !important;
    color: #fff !important;
    text-transform: uppercase;
    margin-bottom: 10px !important;
    text-shadow: 0 2px 12px rgba(0,0,0,0.6);
}
.popup-bh-gold {
    color: #ffd700 !important;
    font-size: 30px;
    display: block;
    text-shadow: 0 0 20px rgba(255,215,0,0.5);
    line-height: 1.1;
}

/* Sub-copy */
.popup-bh-sub {
    font-size: 12px !important;
    color: rgba(255,255,255,0.8) !important;
    line-height: 1.65 !important;
    margin-bottom: 16px !important;
    text-shadow: 0 1px 6px rgba(0,0,0,0.6);
}
.popup-bh-sub strong {
    color: #ffd700 !important;
}

/* === SUẤT ƯU ĐÃI — Redesign đẹp === */
.popup-bh-slots {
    background: rgba(0,0,0,0.5);
    border: 1px solid rgba(255,215,0,0.25);
    backdrop-filter: blur(6px);
    border-radius: 8px;
    padding: 14px 16px 12px;
}

/* Header: icon + label */
.popup-bh-slots-header {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 10px;
}
.popup-bh-slots-icon {
    font-size: 14px;
    animation: popupBhFlame 1s ease-in-out infinite alternate;
}
@keyframes popupBhFlame {
    0%   { transform: scale(1); }
    100% { transform: scale(1.2); }
}
.popup-bh-slots-label {
    font-size: 10px;
    font-weight: 800;
    color: #ffd700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

/* Progress bar */
.popup-bh-progress-wrap {
    margin-bottom: 10px;
}
.popup-bh-progress-bar {
    position: relative;
    width: 100%;
    height: 8px;
    background: rgba(255,255,255,0.1);
    border-radius: 10px;
    overflow: hidden;
}
.popup-bh-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, #ff4d4d, #ffd700);
    border-radius: 10px;
    position: relative;
    transition: width 1.5s ease-out;
}
.popup-bh-progress-glow {
    position: absolute;
    top: 0;
    right: 0;
    width: 30px;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,215,0,0.6));
    border-radius: 10px;
    animation: popupBhGlow 2s ease-in-out infinite;
}
@keyframes popupBhGlow {
    0%, 100% { opacity: 0.4; }
    50%      { opacity: 1; }
}

/* Progress info text */
.popup-bh-progress-info {
    display: flex;
    justify-content: space-between;
    margin-top: 6px;
}
.popup-bh-taken {
    font-size: 10px;
    color: rgba(255,255,255,0.45);
    letter-spacing: 0.3px;
}
.popup-bh-taken b {
    color: rgba(255,255,255,0.6);
}
.popup-bh-remaining {
    font-size: 10px;
    color: #ffd700;
    font-weight: 700;
    letter-spacing: 0.3px;
}
.popup-bh-remaining b {
    font-size: 13px;
    color: #ffd700;
}

/* Slots grid — ô vuông nhỏ */
.popup-bh-slots-grid {
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
    align-items: center;
}
.popup-bh-slot {
    display: inline-block;
    width: 14px;
    height: 14px;
    border-radius: 3px;
    transition: all 0.3s;
}
.popup-bh-slot.used {
    background: rgba(255,255,255,0.12);
    border: 1px solid rgba(255,255,255,0.06);
}
.popup-bh-slot.free {
    background: linear-gradient(135deg, #ffd700, #ffaa00);
    border: 1px solid rgba(255,215,0,0.5);
    box-shadow: 0 0 6px rgba(255,215,0,0.3);
}
.popup-bh-slot.free.pulse {
    animation: popupBhPulse 1.8s ease-in-out infinite;
}
@keyframes popupBhPulse {
    0%, 100% { opacity: 1; box-shadow: 0 0 6px rgba(255,215,0,0.3); }
    50%      { opacity: 0.5; box-shadow: 0 0 12px rgba(255,215,0,0.6); }
}

/* === PHẦN PHẢI === */
.popup-bh-col-right {
    position: relative;
}

/* Form heading */
.popup-bh-form-hd {
    font-size: 13px;
    font-weight: 900;
    color: #1a1a1a;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 14px;
}

/* Form styling override trong popup */
.popup-bh-col-right .wpcf7 input[type="text"],
.popup-bh-col-right .wpcf7 input[type="tel"],
.popup-bh-col-right .wpcf7 input[type="email"],
.popup-bh-col-right .wpcf7 input[type="date"],
.popup-bh-col-right .wpcf7 select {
    border: 1.5px solid #e2e2e2 !important;
    border-radius: 3px !important;
    padding: 8px 10px !important;
    font-size: 13px !important;
    background: #fafafa !important;
    transition: border-color 0.18s;
}
.popup-bh-col-right .wpcf7 input:focus,
.popup-bh-col-right .wpcf7 select:focus {
    border-color: #b22222 !important;
    background: #fff !important;
}
.popup-bh-col-right .wpcf7 label {
    font-size: 10px !important;
    font-weight: 700;
    color: #555;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Countdown: ẩn chữ gốc (có "s"), thay bằng tiếng Việt đúng */
.popup-bh-col-right .ux-timer > span strong {
    font-size: 0 !important;
}
.popup-bh-col-right .ux-timer > span strong::after {
    font-size: 12px !important;
}
.popup-bh-col-right .ux-timer > span:nth-child(1) strong::after { content: "Tuần"; }
.popup-bh-col-right .ux-timer > span:nth-child(2) strong::after { content: "Ngày"; }
.popup-bh-col-right .ux-timer > span:nth-child(3) strong::after { content: "Giờ"; }
.popup-bh-col-right .ux-timer > span:nth-child(4) strong::after { content: "Phút"; }
.popup-bh-col-right .ux-timer > span:nth-child(5) strong::after { content: "Giây"; }

/* CTA button */
.popup-bh-col-right .wpcf7 input[type="submit"],
.popup-bh-col-right .wpcf7 .wpcf7-submit {
    width: 100% !important;
    background: linear-gradient(135deg, #e63030 0%, #b22222 50%, #7a0000 100%) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 3px !important;
    padding: 13px !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.2s;
}
.popup-bh-col-right .wpcf7 input[type="submit"]:hover,
.popup-bh-col-right .wpcf7 .wpcf7-submit:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 22px rgba(178,34,34,0.5);
}

/* Trust */
.popup-bh-trust {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    margin-top: 11px;
    padding-top: 10px;
    border-top: 1px solid #f0f0f0;
}
.popup-bh-trust-ico {
    font-size: 14px;
    flex-shrink: 0;
    margin-top: 1px;
}
.popup-bh-trust-txt {
    font-size: 11px;
    color: #666;
    line-height: 1.5;
}
.popup-bh-trust-txt strong {
    color: #b22222;
}

/* Nút mở Chatbot AI */
.popup-bh-chatbot-wrap {
    margin-top: 14px;
    text-align: center;
}
.popup-bh-chatbot-divider {
    display: block;
    font-size: 11px;
    color: #aaa;
    margin-bottom: 10px;
    position: relative;
}
.popup-bh-chatbot-divider::before,
.popup-bh-chatbot-divider::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 38%;
    height: 1px;
    background: #e5e5e5;
}
.popup-bh-chatbot-divider::before { left: 0; }
.popup-bh-chatbot-divider::after { right: 0; }
.popup-bh-chatbot-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 11px 16px;
    background: linear-gradient(135deg, #0066ff 0%, #0041a3 100%);
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.2s;
    font-family: inherit;
}
.popup-bh-chatbot-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(0,102,255,0.4);
}
.popup-bh-chatbot-icon {
    font-size: 18px;
}
.popup-bh-chatbot-text {
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.3px;
    text-transform: uppercase;
}

/* Responsive popup bảng hiệu */
@media (max-width: 849px) {
    .popup-bh-left-bg {
        min-height: 350px;
    }
    .popup-bh-left-content {
        padding: 20px 18px;
    }
    .popup-bh-headline {
        font-size: 20px !important;
    }
    .popup-bh-gold {
        font-size: 25px;
    }
}